第一章 计算机网络概述
本章最重要的内容是:
(1) 互联网边缘部分和核心部分的作用,其中包含分组交换的概念。
(2) 计算机网络的性能指标。
(3) 计算机网络分层次的体系结构,包含协议和服务的概念。这部分内容比较抽象。在
没有了解具体的计算机网络之前,很难完全掌握这些很抽象的概念。但这些抽象的概念又能
够指导后续的学习,因此也必须先从这些概念学起。
1.1计算机网络在信息时代的作用
1.21 世纪的一些重要特征就是数字化、网络化和信息化,它是一个以网络为核心的信息时代。
2.有三大类大家很熟悉的网络,即电信网络、有线电视网络和计算机网络,现今技术"三网融合"事实并不如此简单,因为这涉及到各方面的经济利益和行政管辖权的问题。
3.Intemet 的中文译名并不统一。现有的Intemet 译名有两种:
- (1)因特网,这个译名是全国科学技术名词审定委员会推荐的
- (2) 互联网,这是目前流行最广的、事实上的标准译名.Intemet 是由数量极大的各种计算机网
络互连起来的,采用互联网这个译名能够体现出Intemet 最主要的特征。对于仅在局部范围互连起来的计算机网络,只能称之为互连网,而不是互联网。
4.互联网具有两个重要基本特点,即连通性和共享。
-
所谓连通性就是互联网使上网用户之间,不管相距多远,都可以非常便捷、非常经济地交换各种信息。注意,互联网具有虚拟的特点,无法准确知道对方是谁,也无法知道对方的位置。
-
所谓共享就是指资源共享。资源共享的含义是多方面的。可以是信息共享、软件共事,也可以是硬件共享。
**5"互联网+**它的意思就是"互联网+各个传统行业",因此可以利用信息通信技术和互联网平台来创造新的发展生态
1.2 互联网概述
在本书中,为了方便,下面凡是"网络"就是"计算机网络"的简称,而不是表示电信网或有线电视网。
1.2.1 网络中的网络
1.计算机网络(网络):由若干结点和连接这些结点的链路组成。
2.结点:计算机,集线器,交换机,路由器等
3.互连网:网络的网络。网络之间通过路由器进行连接,形成一个覆盖范围更大的计算机网络。
4.互连网与互联网的差别
-
以小写字母 “i” 开始的 internet(互连网)是一个通用名词,它泛指由多个计算机网络互连而成的网络。 除 TCP/IP 外,还可以使用其他协议,并能够相互通信。
-
以大写字母 “I” 开始的的 Internet(互联网或因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定计算机网络,它采用 TCP/IP 协议族作为通信的规则,且其前身是美国的 ARPANET。
1.2.2 互联网基础结构发展的三个阶段
1.第一阶段:从单个网络 ARPANET 向互联网发展的过程。
- 1983 年,TCP/IP 协议成为 ARPANET 上的标准协议,使得所有使用 TCP/IP 协议的计算机都能利用互连网相互通信。
- 人们把 1983 年作为互联网的诞生时间。
- 1990年,ARPANET 正式宣布关闭。
2.第二阶段:建成了三级结构的互联网。
它是一个三级计算机网络,分为主干网、地区网和校园网(或企业网)。
3.第三阶段:逐渐形成了多层次 ISP 结构的互联网。
- 出现了互联网服务提供者 ISP (Internet Service Provider)。
- 任何机构和个人只要向某个 ISP 交纳规定的费用,就可从该 ISP 获取所需 IP 地址的使用权,并可通过该 ISP 接入到互联网。
- 根据提供服务的覆盖面积大小以及所拥有的IP地址数目的不同,ISP 也分成为不同层次的 ISP:主干 ISP、地区 ISP和本地 ISP。
关于ISP 与IXP的补充:
-
ISP 可以从互联网管理机构申请到很多IP 地址(互联网上的主机都必须有IP 地址才能上网) ,同时拥有通信线路(大ISP 自己建造通信线路,小ISP 则向电信公司租用通信线路)以及路由器等连网设备,因此任何机构和个人只要向某个ISP 交纳规定的费用,就可从该ISP 获取所需IP 地址的使用权,并可通过该ISP 接入到互联网。所谓"上网"就是指"(通过某ISP 获得的IP 地址)接入到互联网"
-
现在的互联网已不是某个单个组织所拥有而是全世界无数大大小小的ISP 所共同拥有的,这就是互联网也称为"网络的网络"的原因。
-
人们开始研究如何更快地转发分组,以及如何更加有效地利用网络资源。于是,互联网交换点IXP (IntemeteXchange Point)就应运而生了。
-
互联网交换点IXP 的主要作用就是允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组。
4.互联网的迅猛发展始于 20 世纪 90 年代。由欧洲原子核研究组织 CERN 开发的万维网 WWW (World Wide Web) 被广泛使用在互联网上,大大方便了广大非网络专业人员对网络的使用,成为互联网的这种指数级增长的主要驱动力。
1.2.3 互联网标准化工作
-
互联网的标准化工作对互联网的发展起到了非常重要的作用。
-
国际组织互连网协会ISOC[W-ISOC]-------技术组织:互联网体系结构委员会IAB(管理协议开发)---->两个工程部:互联网工程部IETF与互联网研究部IRTF.
-
所有互联网标准都以 RFC 的形式在互联网上发表。
-
制定互联网的正式标准要经过以下三个阶段:互联网草案—建议标准—互联网标准
-
现在简化为二个阶段:建议标准,互联网标准。
-
除了建议标准和互联网标准这两种 RFC 文档外,还有三种 RFC 文档:历史的、实验的和提供信息的 RFC 文档。
1.3 互联网的组成
从互联网的工作方式上看,可以划分为两大块:
-
边缘部分: 由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
-
核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供连通性和交换)。
1.3.1 互联网的边缘部分
1.处在互联网边缘的部分就是连接在互联网上的所有的主机。这些主机又称为**端系统 (**end system)。
2.端系统在功能上可能有很大的差别:
- 1.小的端系统可以是一台普通个人电脑,具有上网功能的智能手机,甚至是一个很小的网络摄像头。
- 2.大的端系统则可以是一台非常昂贵的大型计算机。
- 3.端系统的拥有者可以是个人,也可以是单位(如学校、企业、政府机关等),当然也可以是某个 ISP。
3.端系统之间通信的含义
“主机 A 和主机 B 进行通信”实际上是指:即“主机 A 的某个进程和主机B 上的另一个进程进行通信”。简称为“计算机之间通信”。
4.端系统之间的两种通信方式
1.客户-服务器方式(**C/S方式)**即 Client/Server 方式,简称为 C/S 方式。
(1).客户 (client) 和服务器 (server) 都是指通信中所涉及的两个应用进程。
(2).客户-服务器方式所描述的是进程之间服务和被服务的关系。
(3).客户是服务的请求方,服务器是服务的提供方。服务请求方和服务提供方都要使用网络核心部分所提供的服务。
(4).客户软件的特点
- 被用户调用后运行,在打算通信时主动向远地服务器发起通信(请求服务)。因此,客户程序必须知道服务器程序的地址。
- 不需要特殊的硬件和很复杂的操作系统。
(5).服务器软件的特点
- 一种专门用来提供某种服务的程序,可同时处理多个远地或本地客户的请求。
- 系统启动后即自动调用并一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此,服务器程序不需要知道客户程序的地址。
- 一般需要强大的硬件和高级的操作系统支持。
(6).客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接收数据。
2.对等方式**(P2P方式**)即 Peer-to-Peer 方式 ,简称为 P2P 方式。
(1)对等连接 (peer-to-peer,简写为 P2P ) 是指两个主机在通信时并不区分哪一个是服务请求方还是服务提供方。
(2)只要两个主机都运行了对等连接软件 ( P2P 软件) ,它们就可以进行平等的、对等连接通信。
l双方都可以下载对方已经存储在硬盘中的共享文档。
(3)对等连接方式的特点
- 对等连接方式从本质上看仍然是使用客户服务器方式,只是对等连接中的每一个主机既是客户又是服务器。
- 例如主机 C 请求 D 的服务时,C 是客户,D 是服务器。但如果 C 又同时向 F提供服务,那么 C 又同时起着服务器的作用。
(4)对等连接工作方式可支持大量对等用户(如上百万个)同时工作。
1.3.2 互联网的核心部分
1.网络核心部分是互联网中最复杂的部分。
2.网络中的核心部分要向网络边缘中的大量主机提供连通性,使边缘部分中的任何一个主机都能够向其他主机通信(即传送或接收各种形式的数据)。
3.在网络核心部分起特殊作用的是路由器 (router)。
4.路由器是实现分组交换 (packet switching) 的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。
5.典型交换技术包括:
电路交换,分组交换,报文交换等。互联网的核心部分采用了分组交换技术。
1.电路交换
(1)电路交换特点:
-
电路交换必定是面向连接的。
-
电路交换分为三个阶段:
建立连接:建立一条专用的物理通路,以保证双方通话时所需的通信资源在通信时不会被其他用户占用;
通信:主叫和被叫双方就能互相通电话;
.释放连接:释放刚才使用的这条专用的物理通路(释放刚才占用的所有通信资源)。
-
计算机数据具有突发性。这导致在传送计算机数据时,通信线路的利用率很低(用来传送数据的时间往往不到 10% 甚至不到 1% )。
-
电路交换的用户始终占用端到端的通信资源
(2)补充:电路交换通过交换机来完成交接任务。交换机之间的中继线,是用户共享的,拥有大量话路。
2.分组交换
(1)分组交换过程及特点:
过程:
- 在发送端,先把较长的报文划分成较短的、固定长度的数据段。
- 每一个数据段前面添加上首部(含有地址(诸如目的地址和源地址)等控制信息)构成分组。
- 分组交换网中的结点交换机根据收到的分组首部中的地址信息,把分组转发到下一个结点交换机。每个分组在互联网中独立地选择传输路径。
- 用这样的存储转发方式,最后分组就能到达最终目的地。
- 接收端收到分组后剥去首部还原成报文。
- 这里我们假定分组在传输过程中没有出现差错,在转发时也没有被丢弃。
特点:
-
分组交换则采用存储转发技术,实质上是采用了在数据通信的过程中断续(或动态)分配传输带宽的策略。
-
分组交换网以“**分组”**作为数据传输单元。依次把各分组发送到接收端。
-
分组交换在传送数据之前不必先占用一条端到端的链路的通信资源。分组在哪段链路上传送才占用这段链路的通信资源。传输效率高
(2)补充路由器
-
在路由器中的输入和输出端口之间没有直接连线。
-
路由器处理分组的过程是:
把收到的分组先放入缓存(暂时存储);
查找转发表,找出到某个目的地址应从哪个端口转发;
把分组送到适当的端口转发出去。
-
路由器与主机的作用:
主机是为用户进行信息处理的,并向网络发送分组,从网络接收分组。
路由器对分组进行存储转发,最后把分组交付目的主机。
3.报文交换(现在已经不用)
1.电报通信也采用了基于存储转发原理的报文交换。
2.报文交换时延较长,而且需要将整个数据报完全存储之后再进行发送。
4.三种交换的比较
- 若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快。
- 报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。
- 由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。
1.4 计算机网络在我国的发展
1.到目前为止,我国陆续建造了基于互联网技术的并能够和互联网互连的多个全国范围的公用计算机网络,其中规模最大的就是下面这五个:
1.中国电信互联网 CHINANET(也就是原来的中国公用计算机互联网)
2.中国联通互联网 UNINET
3.中国移动互联网 CMNET
4.中国教育和科研计算机网 CERNET
5.中国科学技术网 CSTNET
2.中国教育和科研计算机网 CERNET (China Education and Research NETwork) 始建于 1994 年,是我国第一个 IPv4 互联网主干网。
3.2004 年 2 月,我国的第一个下一代互联网 CNGI 的主干网 CERNET2 试验网正式开通,并提供服务。
4.中国互联网络信息中心 CNNIC (ChiNa Network Information Center) 每年两次公布我国互联网的发展情况。
1.5 计算机网络的类别
1.5.1 计算机网络的定义(重)
1.计算机网络的精确定义并未统一。较好的定义:
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。
2.根据这个定义:
- 计算机网络所连接的硬件,并不限于一般的计算机,而是包括了智能手机等。
- 计算机网络并非专门用来传送数据,而是能够支持很多种的应用(包括今后可能出现的各种应用)。
- 请注意,上述的“可编程的硬件”表明这种硬件一定包含有中央处理机
(CPU)。
1.5.2 几种不同类别的计算机网络
- l广域网 WAN (Wide Area Network):作用范围通常为几十到几千公里。
- l城域网 MAN (Metropolitan Area Network):作用距离约为 5~50 公里。
- l局域网 LAN (Local Area Network) :局限在较小的范围(如 1 公里左右)。但是计算机连的是高速线路。
- l个人区域网 (Wireless)PAN (Personal Area Network) :范围很小,大约在 10 米左右。
注意:若中央处理机之间的距离非常近(如仅 1 米的数量级甚至更小些),则一般就称之为多处理机系统,而不称它为计算机网络。
- l公用网 (public network) 按规定交纳费用的人都可以使用的网络。因此也可称为公众网。
- l专用网 (private network) 为特殊业务工作的需要而建造的网络。
- 公用网和专用网都可以提供多种服务。如传送的是计算机数据,则分别是公用计算机网络和专用计算机网络。
- l接入网 AN (Access Network),它又称为本地接入网或居民接入网。
- l接入网是一类比较特殊的计算机网络,用于将用户接入互联网。
- l接入网本身既不属于互联网的核心部分,也不属于互联网的边缘部分。
- l接入网是从某个用户端系统到互联网中的第一个路由器(也称为边缘路由器)之间的一种网络。
- l从覆盖的范围看,很多接入网还是属于局域网。
- l从作用上看,接入网只是起到让用户能够与互联网连接的“桥梁”作用。
1.6 计算机网络的性能
计算机网络的性能一般是指它的几个重要的性能指标主要包括:
l速率l 带宽 l吞吐率l 时延l 时延带宽积 ll往返时间 RTTl利用率
1.6.1 计算机网络的性能指标(计算)
1.速率
- l速率是计算机网络中最重要的一个性能指标,指的是数据的传送速率,它也称为数据率
(data rate) 或比特率 (bitrate)。 - 速率的单位是 bit/s,或 kbit/s、Mbit/s、 Gbit/s等
- 速率往往是指额定速率或标称速率,非实际运行速率
- l比特(bit)是计算机中数据量的单位,也是信息论中使用的信息量的单位。意思是一个“二进制数字”,因此一个比特就是二进制数字中的一个 1 或 0。
2.带宽:
两种不同意义:
- l“带宽”(bandwidth) 本来是指信号具有的频带宽度,其单位是赫(或千赫、兆赫、吉赫等)。
- l在计算机网络中,带宽用来表示网络中某通道传送数据的能力。表示在单位时间内网络中的某信道所能通过的**“最高数据率”**。**单位是 bit/s,**即 “比特每秒”。
- 在“带宽”的上述两种表述中,前者为频域称谓,而后者为时域称谓,其本质是相同的。也就是说,一条通信链路的“带宽”越宽,其所能传输的“最高数据率”也越高。
在时间轴上信号的宽度随带宽的增大而变窄。
3.吞吐量
- l吞吐量 (throughput) 表示在单位时间内通过某个网络(或信道、接口)的数据量。
- l吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。
- l吞吐量受网络的带宽或网络的额定速率的限制。
4.时延
- l时延 (delay 或 latency) 是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。有时也称为延迟或迟延。
- l网络中的时延由以下几个不同的部分组成:①发送时延②传播时延③处理时延④排队时延
(1)发送时延,又叫传输时延。发送数据时,数据帧从结点进入到传输媒体所需要的时间
(2)传播时延:l电磁波在信道中需要传播一定的距离而花费的时间。
(3)处理时延:主机或路由器在收到分组时,为处理分组(例如分析首部、提取数据、差错检验 或查找路由)所花费的时间。
(4)排队时延
- l分组在路由器输入输出队列中排队等待处理所经历的时延。
- l排队时延的长短往往取决于网络中当时的通信量。
(5)注意
l对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。
l提高链路带宽减小了数据的发送时延。
以下说法是错误的:
“在高速链路(或高带宽链路)上,比特会传送得更快些”。
5.时延带宽积
链路的时延带宽积又称为以比特为单位的链路长度。注意时延是传播时延。
6.往返时间RTT(round-trip time)
- l表示从发送方发送数据开始,到发送方收到来自接收方的确认,总共经历的时间。
- l在互联网中,往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发送时延。
- l当使用卫星通信时,往返时间 RTT 相对较长,是很重要的一个性能指标。
A 向B 发送数据。如果数据长度是100 MB ,发送速率是100 Mbit/s,但是如果要进行确认。
则有效数据率小于100Mbps.
7.利用率
(1)基本分类以及定义
l分为信道利用率和网络利用率。
l信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。
l完全空闲的信道的利用率是零。
l网络利用率则是全网络的信道利用率的加权平均值。
l信道利用率并非越高越好。当某信道的利用率增大时,该信道引起的时延也就迅速增加。
(2)计算—时延与利用率的关系
D0表示网络空闲时的时延,D表示网络当前时延,二者关系:
1.6.2 计算机网络的非性能特征
-
l费用
-
l质量
-
l标准化
-
l可靠性
-
l可扩展性和可升级性
-
l易于管理和维护
1.7 计算机网络体系结构
- l计算机网络是个非常复杂的系统。
- l相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。
- l“分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。
1.7.1 计算机网络体系结构
1.1974 年,美国的 IBM 公司宣布了系统网络体系结构SNA (System Network Architecture)。这个著名的网络标准就是按照分层的方法制定的。不久后,其他一些公司也相继推出自己公司的具有不同名称的体系结构。由于网络体系结构的不同,不同公司的设备很难互相连通。
2.国际标准化组织 ISO 提出了开放系统互连基本参考模型OSI/RM (OpenSystemsInterconnection Reference Model),简称为 OSI。遵循此标准的其他任何系统可以进行通信。
3.lOSI 只获得了一些理论研究的成果,在市场化方面却失败了。原因包括:
- 1.OSI 的专家们在完成 OSI 标准时没有商业驱动力;
- 2.OSI 的协议实现起来过分复杂,且运行效率很低;
- 3.OSI 标准的制定周期太长,因而使得按 OSI 标准生产的设备无法及时进入市场;
- 4.OSI 的层次划分也不太合理,有些功能在多个层次中重复出现。
4.法律上的 (de jure) 国际标准 OSI 并没有得到市场的认可。非国际标准 TCP/IP 却获得了最广泛的应用。TCP/IP 常被称为事实上的 (de facto) 国际标准。
1.7.2 协议与划分层次
1.l计算机网络中的数据交换必须遵守事先约定好的规则。
2.l这些规则明确规定了所交换的数据的格式以及有关的同步问题(同步含有时序的意思)。
3.l网络协议 (network protocol),简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。 网络协议三个组成要素如下。由此可见,网络协议是计算机网络的不可缺少的组成部分。
- 语法:数据与控制信息的结构或格式 。
- l语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
- l同步:事件实现顺序的详细说明。
4.协议的两种形式:文字描述和程序代码。这两种不同形式的协议都必须能够对网络上信息交换过程做出精确的解释
5.ARPANET 的研制经验表明,对于非常复杂的计算机网络协议,其结构应该是层次式的。
(1)分层好处:
- l各层之间是独立的。
- l灵活性好。
- l结构上可分割开。
- l易于实现和维护。
- l能促进标准化工作。
(2)分层缺点:
- l降低效率。
- l有些功能会在不同的层次中重复出现,因而产生了额外开销。
(3)各层完成的主要功能:
- l差错控制:使相应层次对等方的通信更加可靠。
- l流量控制:发送端的发送速率必须使接收端来得及接收,不要太快。
- l分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
- l复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
- l连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。
6.计算机网络体系结构
- l计算机网络的体系结构 (architecture) 是计算机网络的各层及其协议的集合。
- l体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。
- l实现 (implementation) 是遵循这种体系结构的前提下用何种硬件或软件完成这些功能的问题。
- l体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
1.7.3 具有五层协议的体系结构
- lOSI 的七层协议体系结构的概念清楚,理论也较完整,但它既复杂又不实用。
- lTCP/IP 是四层体系结构:应用层、运输层、网际层和网络接口层。但最下面的网络接口层并没有具体内容。
- l因此往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构
- lOSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU (Protocol Data Unit)。这个名词现已被许多非 OSI 标准采用。
- l任何两个同样的层次把数据(即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的**“对等层”(peer layers)之间的通信**。
- l各层协议实际上就是在各个对等层之间传递数据时的各项规定。
1.7.4 实体.协议.服务和服务访问点
1.l实体 (entity) 表示任何可发送或接收信息的硬件或软件进程。
2.l协议是控制两个对等实体进行通信的规则的集合。
3.l在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下层所提供的服务。
4.协议与服务关系:
- l协议的实现保证了能够向上一层提供服务。
- l本层的服务用户只能看见服务而无法看见下面的协议。即下面的协议对上面的服务用户是透明的。
- l协议是“水平的”,即协议是控制对等实体之间通信的规则。
- l服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
- l上层使用服务原语获得下层所提供的服务。
5.服务访问点
-
l同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP (Service Access Point)。
-
l服务访问点SAP是一个抽象的概念,它实际上就是一个逻辑接口。
-
lOSI把层与层之间交换的数据的单位称为服务数据单元 SDU (Service Data Unit)。
-
lSDU 可以与 PDU 不一样,例如,可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。
6.l协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。
7.看一个计算机网络协议是否正确,不能光看在正常情况下是否正确,还必须非常仔细地检查这个协议能否应付各种异常情况。
1.7.5 TCP/IP体系结构
TCP/IP协议族沙漏形状