计算机网络之概念解析

互联网、因特网与万维网

凡是由能彼此通信的设备组成的网络就叫互联网,即使仅有两台机器(计算机、手机等),不论用何种技术使其彼此通信,都叫互联网。国际标准的互联网写法是internet,字母i一定要小写!

 

因特网指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用TCP/IP协议族作为通信的规则,其前身是美国的ARPANET

因特网是互联网中的一种,它可不是仅有两台机器组成的网络,而是由上千万台设备组成的网络(该网络具备一定规模)。因特网使用TCP/IP协议让不同的设备可以彼此通信。但使用TCP/IP协议的网络并不一定是因特网,一个局域网也可以使用TCP/IP协议。判断自己是否接入的是因特网,首先是看自己电脑是否安装了TCP/IP协议,其次看是否拥有一个公网地址(所谓公网地址,就是所有私网地址以外的地址)。国际标准的因特网写法是Internet,字母I一定要大写!

因特网是基于TCP/IP协议实现的,TCP/IP协议由很多协议组成,不同类型的协议又被放在不同的层,其中,位于应用层的协议就有很多,比如FTP、SMTP、HTTP。所以,因特网提供的服务一般包括有:www(万维网)服务、电子邮件服务(outlook)、远程登录(QQ)服务、文件传输(FTP)服务、网络电话等等。

万维网(World Wide Web),又称环球网。万维网的历史很短,1989年CERN(欧洲粒子物理实验室)的研究人员为了研究的需要,希望能开发出一种共享资源的远程访问系统,这种系统能够提供统一的接口来访问各种不同类型的信息,包括文字、图像、音频、视频信息。1990年各种人员完成了最早期的浏览器产品,1991年开始在内部发行WWW,这就是万维网的开始。目前,大多数知名公司都在Internet上建立了自己的万维网站。

实际上,万维网是一种建立在Internet上的全球性的、交互的、动态、多平台、分布式、图形信息系统。它只是建立在Internet上的一种网络服务。它的开发最初是为了在科学家之间共享成果,科学家们可以将科研成果以图文形式方在网上进行共享。它的基础就是Hypertext(超文本)。

只要应用层使用的是HTTP协议,就称为万维网。之所以在浏览器里输入百度网址时,能看见百度网提供的网页,就是因为你的个人浏览器和百度网的服务器之间使用的是HTTP协议在交流。

在不少人看来,互联网、因特网、万维网没有大多的区别,其实这三者之间的关系应该是:互联网包含因特网,因特网包含万维网

目前,围绕互联网发展的业务主要有两类,分别是ISP(互联网服务提供商)与ICP(互联网内容提供商);前者是指向广大用户综合提供互联网接入业务、信息业务和增值业务的电信运营商(比如中国电信、移动、联通提供的宽度服务),后者是指向广大用户综合提供互联网信息和增值业务的企业(比如:新浪、搜狐、腾讯)。其实,我们说的ICP域名备案就是指互联网内容提供商向工信部提交经营审核。

ISP(Internet Service Provider,因特网服务提供者)拥有从因特网管理机构申请到的多个IP地址,同时拥有通信线路以及路由器等连网设备。中国的电信、网通等都是ISP,我们通常所说的上网就是指通过某个ISP接入到因特网,IP地址的管理机构不会把一个单个的IP地址分配给单个用户,而是把一批IP地址有偿地分配给经审查合格的ISP。现在的因特网是由全世界无数个大大小小的ISP所共同拥有的。

用户上网与ISP的关系:

其实,一旦某个用户接入因特网,他就能够通过添置路由器、调制解调器等设备而成为一个ISP。

我国目前有四个经营性国际Internet单位,即:中国公用计算机互联网(China-net,由中国电信经营)、中国金桥信息网(GB-net,由吉通公司经营)、中国联通计算机互联网(UNI-net,由联通公司经营)、中国网通计算机互联网(CNC-net,由中国网络通信有限公司经营)。此外,还有中国教育和科研计算机互联网(CER-net,由教育部管理)、中国科技网络(CST-net,由中科院管理)等专用互联网。上述骨干网均可通过国家关口局与国际Internet相连通。

C/S与P2P

因特网的拓扑结构虽然非常复杂,并且在地理上覆盖全球,单从工作方式上看,可以划分为以下两大块:

(1)边缘部分  由所连接在因特网上的主机组成。这部分是用户直接使用的,用来进行通信和资源共享。

(2)核心部分  由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的。

处在因特网边缘部分的主机又称为端系统(endsystem)。

端系统之间的通信方式通常可划分为两类:客户服务器方式(Client/Server, C/S方式)和对等方式(Peer-to-Peer, P2P方式)。还有一种被称为浏览器服务器的方式(B/S, Browser/Server方式),可以看作是客户服务器方式的特例。

C/S方式是因特网上最常用的传统方式,我们在网上发送电子邮件或在网站上查找资料时,都是客户服务器方式。

客户和服务器都是指通信中所涉及到的两个应用进程。最主要的特征是:客户是服务请求方,服务器是服务提供方

P2P方式是指两个主机在通信时并不区分哪一个是服务请求者还是服务提供者,这要两个主机都运行了对等连接软件,他们就可以进行平等的、对等连接通信。这时,双方都可以下载对方已经存储在硬盘中的共享文档,因此这种工作方式也成为P2P文件共享

广域网、城域网与局域网

按照作用范围,可以讲计算机网络分为广域网、城域网与局域网:

广域网WAN(Wide Area Network)的作用范围通常为几十到几千公里,因而有时也称为远程网。广域网是因特网的核心部分,其任务是通过长距离运送主机所发送的数据,连接广域网各结点交换机的链路一般都是高速链路,具有较大的通信容量。

城域网MAN(Metropolitan Area Network)的作用范围一般是一个城市,可跨越几个街区甚至整个城市,其作用距离约为5-50公里。城域网可以为一个或几个单位所拥有,但也可以是一种公用设施。

局域网LAN(Local Area Network)一般用微型计算机或工作站通过高速通信线路相连,但地理上则局限在较小的范围内。现在局域网的应用已非常广泛,一个学校或企业大都拥有许多个互连的局域网(通常被称为校园网企业网)。

个人局域网PAN(Personal Area Network)就是把属于个人使用的电子设备用无线技术连接起来的网络,因此也常称为无线个人局域网WPAN(Wireless PAN)。

比特率与带宽

我们知道,计算机发送的信号都是数字形式的。比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位。bit来源于binary digit,意思是一个二进制数字,因此一个比特就是二进制数字中的一个1或0。网络技术中的速率指的是连接在计算机网络上的主机在数字信道上传送数据的速率,被称为数据率(data rate)或比特率(bit rate)。

速率的单位是b/s(比特每秒),有时候也写为bps,即bit persecond。

带宽(bandwidth)本来指某个信号具有的频带宽度。信号的带宽是指该信号所包含的各种不同频率成分所占据的频率范围。例如,在传统的通信线路上传送的电话信号的标准带宽是3.1kHz,这种意义上的带宽的单位是赫兹。

在计算机网络中,带宽用来表示网络的通信线路所能传送数据的能力,因此网络带宽表示在单位时间内从网络的某一点到另一点所能通过的最高数据率。就好象高速公路的车道一样,带宽越大,好比车道越多。这种意义的带宽单位为比特每秒,即b/s。

应特别注意数量单位K、M、G、T等英文缩写在具体环境中所代表的数值。在描述数据量大小时,往往使用字节(byte)作为度量单位。一个字节(记为大写的B)代表8个bit,“千字节”的“千”用大写的K表示,它等于210,即1024,而非103。同样,1MB或1GB表示的也不是106或109个字节,而是220或230个字节。

在实际上网应用中,下载软件时常常看到诸如下载速度显示为176KB/s,103KB/s等宽带速率大小字样,因为ISP提供的线路带宽使用的单位是比特(bit),而一般下载软件显示的是字节(Byte)(1Byte=8bit),所以要通过换算,才能得实际值。我们以1M宽带为例,按照换算公式换算一下:

1Mb/s=1024*1024b/s=1024Kb/s=1024/8KB/s=128KB/s

理论上:2M(即2Mb/s)宽带理论速率是:256KB/s,实际速率大约为150~240KB/s;(其原因是受用户计算机性能、网络设备质量、资源使用情况、网络高峰期、网站服务能力、线路衰耗,信号衰减等多因素的影响而造成的)。4M(即4Mb/s)的宽带理论速率是:512KB/s,实际速率大约为200~440KB/s 。

计算机网络体系结构

在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则,这些规则明确规定了所交换的数据的格式以及有关的同步问题。

这些为进行网络中的数据交换而建立的规则、标准或约定成为网络协议(networkprotocol)。

对于非常复杂的计算机网络协议,其结构应该是层次式的。例如,假定我们在主机1和主机2之间通过一个通信网络传送文件,我们可以将要做的工作划分为三类。

第一类工作与传送文件直接相关,如发送端的文件传送应用程序应当确信接收端的文件管理程序已做好接收和存储文件的准备,若两个主机所用的文件格式不一样,则至少其中的一个主机应完成文件格式转换。这两项工作可用一个文件传送模块来完成。这样,两个主机可将文件传送模块作为最高层。

但是,我们并不想让文件传送模块完成全部工作的细节,这样会使文件传送模块过于复杂。可以再设立一个通信服务模块,用来保证文件和文件传送命令可靠地在两个系统之间交换。也就是说,让位于上面的文件传送模块利用下面的通信服务模块所提供的服务。可以发现,如果将位于上面的文件传送模块换成电子邮件模块,那么电子邮件模块同样可以利用它下面的通信服务模块所提供的可靠通信的服务,这就是分层的一个优势。

同样的道理,我们再构造一个网络接入模块,让这个模块负责做网络接口细节有关的工作,并向上层提供服务,使上面的通信服务模块能够完成可靠通信的任务。

从上述简单例子可以更好地理解分层带来的好处:各层之间是独立的,某一层并不知道它的下一层是如何实现的,而仅仅需要知道该层所提供的服务接口。当任何一层发生变化时,只要层间的接口关系保持不变,则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可以进行修改,乃至取消。各层都可以采用最合适的技术来实现。

我们把计算机的各层及其协议的集合称为网络的体系结构

国际标准组织提出过一个标准框架,就是著名的开放系统互连基本参考模型OSI/RM(Open Systems InterconnectionReference Model),只要遵循OSI标准,一个系统就可以和世界上任何地方的、也遵循统一标准的其他任何系统进行通信。

但是得到最广泛应用的不是法律上的国际标准OSI,而是非国际标准TCP/IP,TCP/IP常常被认为是事实上的国际标准。

OSI模型将计算机网络划分为七层,但它既复杂又不实用。TCP/IP是一个四层的体系结构,包含应用层、传输层、网际层和网际接口层。不过从实质上讲,TCP/IP只有最上面的三层,网际接口层并没有什么具体内容。因此学习计算机网络的原理时往往采取折中的办法,即总和OSI和TCP/IP的优点,采用一种五层协议的体系结构。

(1)应用层(applicationlayer)

应用层是体系结构中的最高层。应用层直接为用户的应用进程提供服务。在因特网中的应用层协议很多,如支持万维网的HTTP协议,支持电子邮件的SMTP协议,支持文件传送的FTP协议等等。

(2)传输层(transportlayer)

传输层的任务就是负责向两个主机中进程之间的通信提供服务。由于一个主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用则是运输层把收到的信息分别交付给上面应用层中的相应进程。

传输层主要使用以下两种协议:

传输控制协议TCP(Transmission Control Protocol)——面向连接的,数据传输的单位是报文段(segment),能够提供可靠的交付。

用户数据报协议UDP(User Datagram Protocol)——无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付(best-effort delivery)”。

(3)网络层(networklayer)

网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层会把传输层产生的报文段或用户数据报封装成分组(包)进行传送。在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫作IP数据报

网络层的另一个任务就是要选择合适的路由,使源主机运输层所传下来的分组,能够通过网络中的路由器找到目的主机。

(4)数据链路层(datalink layer)

我们知道,两个主机之间的数据传输,总是一段一段在链路上传送的,也就是说,在两个相邻结点之间(主机和路由器之间或两个路由器之间)传送数据是直接传送的。这就需要使用专门的链路层协议。数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻结点间的链路上透明地传送帧(frame)中的数据,每一帧包括数据和必要的控制信息。

所谓透明,是指无论什么样的比特组合都能通过这个数据链路层,因此,所传送的数据是“看不见”数据链路层的。

(5)物理层(physicallayer)

物理层的任务就是透明地传送比特流。也就是说,发送方发送1(或0)时,接收方应当收到1(或0)而不是0(或1)。因此物理层要考虑用多大的电压代表1或0,以及接收方如何识别出发送方发出的比特。具体使用什么样的传输媒介不在物理层的包含范围。

下图模拟了两个主机的通信数据在各层之间所经历的变化:

可以用一个简单例子来比喻上述过程:有一封信从最高层向下传,每经过一层就包上一个新的信封,写上必要的地址信息,包有多个信封的信件传送到目的站后,从第一层开始,每层拆开一个信封后就把信封中的信交给它的上一层,传到最高层后,取出发信人所发的信交给收信人。

虽然应用进程数据要经过上图所示的复杂过程才能送达终点的应用进程,但这些复杂过程对用户来说,都被屏蔽掉了,以致应用进程AP1觉得好像是直接把数据交给了应用进程AP2

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-08 04:37:18

计算机网络之概念解析的相关文章

mongodb基本概念解析

MongoDB 概念解析 不管我们学习什么数据库都应该学习其中的基础概念,在mongodb中基本的概念是文档.集合.数据库,下面我们挨个介绍. 下表将帮助您更容易理解Mongo中的一些概念: SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 column field 数据字段/域 index index 索引 table joins   表连接,Mong

计算机网络入门概念理解

计算机网络入门概念理解 下面我来讲解一些关于网络的基础知识,这些知识有利于帮助我们今后学习TCP/IP协议相关知识打好基础. 诞生背景 首先从网络的诞生背景讲起.一开始计算机的运作是独立存在的(独立模式),每个计算机有各自的业务,用户需要在不同的计算机上执行特定的业务逻辑.用户采用卡带的方式将程序和数据输入计算机让计算机进行运算.之后出现了分时系统,分时系统具有"多终端,一主机 "的特点,由于分时系统CPU时间片轮转的特性让用户有了"一人一机"的错觉.70年代后计算

MongoDB 概念解析

MongoDB 概念解析 不管我们学习什么数据库都应该学习其中的基础概念,在mongodb中基本的概念是文档.集合.数据库,下面我们挨个介绍. 下表将帮助您更容易理解Mongo中的一些概念: SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 column field 数据字段/域 index index 索引 table joins   表连接,Mong

Photoshop入门教程(一):文本新建与概念解析

写在开头 <Photoshop实用入门>系列教程可能对于一点都没有接触过Photoshop的人来说不太容易接受,因为本教程并没有细致到教你如何使用画笔工具等一系列很基础的东西,有些地方的讲解可能还会有一点点跨越.所以建议会基本操作的初学者学习,通过对本教程的学习,真正步入Photoshop奇妙的世界,真正入门. Photoshop简介 Photoshop是大名鼎鼎的图像处理软件,是由Adobe开发的,主要处理以像素所构成的数字图像. Photoshop版本 作为初学者,第一要面临的就是软件版本

SQL Server扩展事件(Extended Events)-- 扩展事件概念解析

SQL Server扩展事件(Extended Events)-- 扩展事件概念解析 下图描述了扩展事件中引入的几个新概念: 事件 事件是指代码中定义的点.此类示例包括:T-SQL 语句完成执行时的点或结束获取锁定时的点.每个事件都有一个定义的负载(该事件返回的列的集合),它是使用 ETW 模型(其中每个事件都返回一个通道和关键字作为负载的一部分)来定义的,以便能够与 ETW 集成.SQL Server 2008 最初提供 254 个定义的事件,预计在今后还会增加. 使用下列代码可以查看这些定义

New UI-屏幕分辨率,屏幕尺寸,像素,dpi概念解析

屏幕分辨率,屏幕尺寸,像素,dpi概念解析            --转载请注明出处:coder-pig,欢迎转载,请勿用于商业用途! 小猪Android开发交流群已建立,欢迎大家加入,无论是新手,菜鸟,大神都可以,小猪一个人的 力量毕竟是有限的,写出来的东西肯定会有很多纰漏不足,欢迎大家指出,集思广益,让小猪的博文 更加的详尽,帮到更多的人,O(∩_∩)O谢谢! 小猪Android开发交流群:小猪Android开发交流群群号:421858269 新Android UI实例大全目录:http:/

Android实习札记(4)---Fragment(碎片)基本概念解析

Android实习札记(4)---Fragment(碎片)基本概念解析 转载请注明出处:coder-pig Fragment相信大家都不会陌生吧,侧滑啦,抽屉效果啦,DialogFragment啊等等,一堆地方都会 用到Fragment,对于Fragment的基本概念在前面的文章中其实已经给出的了,这里回顾一遍, 温故而知新嘛,同时结合Google官方的api进行复习! 1)什么是Fragment以及它的生命周期: 核心要点: 1)3.0版本后引入,即minSdk要大于11 2)Fragment

Apache Flink 零基础入门(一):基础概念解析

作者:陈守元.戴资力 一.Apache Flink 的定义.架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速计算. 1. Flink Application 了解 Flink 应用开发需要先理解 Flink 的 Streams.State.Time 等基础处理语义以及 Flink 兼顾灵活性和方便性的多层次 API. Streams:流,分为有限数据流与无限数据流,unbou

高效 告别996,开启java高效编程之门 3-5 Stream流概念解析

3-4讲的没有意义,直接过了 1 重点 概念解析中的定义 Stream流的组成 Stream流和集合的区别 2 概念解析 定义: 从支持数据处理操作的源生成的元素序列. 解释: 元素序列:和集合一样,流也是一个接口,可以访问特定元素类型的一组有序值,有序值就是元素序列 源:为流提供数据的源头,比如集合,数组,都可以称之为源. 数据处理操作:流的数据处理操作支持类似与数据库的操作(map,sort,limit)以及函数式编程语言中的一些常用操作. 功能: ◆JDK1.8引入的新成员,以声明式方式处