计算机网络-概论

习题自测

1-01计算机网络向用户可以提供那些服务?

1-02简述分组交换的要点。

1-03试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。

1-04为什么说因特网是自印刷术以来人类通信方面最大的变革?

1-05因特网的发展大致分为哪几个阶段?请指出这几个阶段的主要特点。

1-06简述因特网标准制定的几个阶段?

1-07小写和大写开头的英文名internet和Internet在意思上有何重要区别?

1-08计算机网络都有哪些类别?各种类别的网络都有哪些特点?

1-09计算机网络中的主干网和本地接入网的主要区别是什么?

1-10试在下列条件下比较电路交换和分组交换。要传送的报文共x(bit)。从源点到终点共经过k段链路,每段链路的传播时延为d(s),数据率为b(b/s)。在电路交换时电路的建立时间为s(s)。在分组交换时分组长度为p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草图观察k段链路共有几个结点。)

1-11在上题的分组交换网中,设报文长度和分组长度分别为x和(p+h)(bit),其中p为分组的数据部分的长度,而h为每个分组所带的控制信息固定长度,与p的大小无关。通信的两端共经过k段链路。链路的数据率为b(b/s),但传播时延和结点的排队时间均可忽略不计。若打算使总的时延为最小,问分组的数据部分长度p应取为多大?

1-12因特网的两大组成部分(边缘部分与核心部分)的特点是什么?它们的工作方式各有什么特点?

1-13客户服务器方式与对等通信方式的主要区别是什么?有没有相同的地方?

1-14计算机网络有哪些常用的性能指标?

1-15假定网络利用率达到了90%。试估计一下现在的网络时延是它的最小值的多少倍?

1-16计算机通信网有哪些非性能特征?非性能特征与性能特征有什么区别?

1-17收发两端之间的传输距离为1000km,信号在媒体上的传播速率为2×108m/s。试计算以下两种情况的发送时延和传播时延:

(1)数据长度为107bit,数据发送速率为100kb/s。

(2)数据长度为103bit,数据发送速率为1Gb/s。

从上面的计算中可以得到什么样的结论?

1-18假设信号在媒体上的传播速度为2×108m/s.媒体长度L分别为:

(1)10cm(网络接口卡)(2)100m(局域网)

(3)100km(城域网)(4)5000km(广域网)

试计算出当数据率为1Mb/s和10Gb/s时在以上媒体中正在传播的比特数。

1-19长度为100字节的应用层数据交给传输层传送,需加上20字节的TCP首部。再交给网络层传送,需加上20字节的IP首部。最后交给数据链路层的以太网传送,加上首部和尾部工18字节。试求数据的传输效率。数据的传输效率是指发送的应用层数据除以所发送的总数据(即应用数据加上各种首部和尾部的额外开销)。若应用层数据长度为1000字节,数据的传输效率是多少?

1-20网络体系结构为什么要采用分层次的结构?试举出一些与分层体系结构的思想相似的日常生活。

1-21协议与服务有何区别?有何关系?

协议和服务的概念的区分:

1-22网络协议的三个要素是什么?各有什么含义?

1-23为什么一个网络协议必须把各种不利的情况都考虑到?

1-24论述具有五层协议的网络体系结构的要点,包括各层的主要功能。

1-25试举出日常生活中有关“透明”这种名词的例子。

1-26试解释以下名词:协议栈、实体、对等层、协议数据单元、服务访问点、客户、服务器、客户-服务器方式。

1-27试解释everythingoverIP和IPovereverthing的含义。

概论

互联网基础结构三个阶段

ARPANET

1969美国国防部建立的分组交换网,主机直接与就近的结点交换机相连

1983年TCP/IP协议成为ARPANET的标准协议,1990ARPANET关闭

RFC 1208文件说明internet和Internet的区别

internet,互联网,是一个通用名词,泛指多个计算机网络相互连接成的计算机网络,通信规则不一定是TCP/IP。

Internet,互联网/因特网,专用名词,全球最大的、开放的、众多网络相互连接成的特定互联网,TCP/IP协议族是必须的。

三级结构的互联网NSFNET

1985年,美国国家科学基金(NSF,National Science Foundation),NSFNET。分为主干网、地区网和校园网(企业网)。

1991年,除大学和研究机构外,允许公司接入,随后互联网主干网交给私人公司经营,且开始收费。1993年主干网速率提高到45 Mbit/s。

多层次ISP结构的互联网

在这里插入图片描述

1993年起,NSFNET逐渐被若干商用互联网主干网取代。**ISP(Internet Service Provider,互联网服务提供者)**出现,中国联通,中国电信,中国移动就是例子。

ISP可以从互联网管理机构申请到诸多IP地址,同时拥有通信线路(大ISP自行建造,小ISP向电信公司租用)及路由器等联网设备。任何个人只要向ISP缴纳费用,就可获得IP使用权,通过该ISP接入互联网。上网就是指通过ISP获得IP地址接入互联网。IP管理机构不会把单一IP分配给当个用户,而是把一批IP有偿租赁给ISP,现今的互联网由全世界大大小小的ISP共同拥有,因此互联网也被称为网络的网络

ISP也分为:主干ISP,地区ISP和本地ISP。主干ISP覆盖范围最大,速率最高,本地ISP面向用户(公司,大学等)。

随着互联网数据流量的剧烈增长,**IXP(Internet eXchange Point,互联网交换点)**产生,作用在地区IXP之间,这样减少分组转发的迟延时间和费用。典型的IXP由一个或多个网络交换机构成。IXP常采用工作在数据链路层的网络交换机,都用局域网连接起来。

IXP在世界的发展很不均衡,主要集中在发达国家。

欧洲原子核研究组织CERN开发的万维网(World Wide Web)大大方便了非网络专业人员对网络的使用。

互联网标准

互联网所有的RFC文档都可以免费下载,且任何人都可以用电子邮件发表意见。

1992年,互联网协会(ISOC,Internet Society)成立,其中有一个互联网体系结构委员会(IAB,Internet Architecture Board),管理协议开发,IAB下有两个工程部。

互联网工程部(IETF,Internet Engineering Task Force):很多工作组(WG,Working Group)组成的论坛(forum),具体工作由互联网工程指导小组(IESG,Internet Engineering Steering Group)管理。工作划分若干领域(area),每个领域集中研究某一特定的短期中期工程问题,主要针对协议的开发和标准化。

互联网研究部(IRTF,Internet Research Task Force):研究组(RG,Research Group)组成的论坛,具体工作由互联网研究指导小组(IRSG,Internet Research Steering Group)管理。研究需要长期考虑的问题,协议、应用、体系结构等。

RFC(Request For Comments)文档不一定是标准,旧的RFC不会删除,只是在新RFC中指出更新。

RFC一般阶段:互联网草案(Internet Draft)→建议标准(Proposed Standard)→互联网标准(Internet Standard)

草案有效期只有6个月,此时不能算RFC文档,建议标准阶段才算。STD2021.8.2的最大编号是95。

2011.10以前,建议标准和互联网标准之间还有草案标准(RFC 6410),之后被简化。

RFC的索引文档RFC INDEX[W-RFCX]会说明标题、发表时间、类别,以及更新关系。

互联网组成

边缘部分:用户直接使用,通信和资源共享

核心部分:大量网络和连接他们的路由器,为边缘部分提供服务(连通性和交换)

边缘部分

连接在互联网上的所有主机,又称为端系统(end-system),可以是大型计算机,个人电脑、摄像头,端系统的拥有者可能是个人、单位、某个ISP。

主机与主机间的通信实际上是进程和进程间的通信,简称为“计算机之间通信”。

客户-服务器方式(C/S方式)

client客户是服务请求方,serve是服务提供方,双方都要使用网络核心部分提供的服务。

客户程序必须知道服务器程序的地址,不需要特殊的硬件和很复杂的操作系统。

服务器程序可同时处理多个远地或本地客户的请求,系统启动后即自动调用并一直不断运行,被动地等待并接受请求,不需要知道客户程序的地址,一般有强大的硬件和高级的操作系统支持。

对等连接方式(peer-to-peer,P2P)

不区分服务请求方和提供方,或者每台主机既是客户,又是服务器,这种方式可以支持大量对等用户同时工作。

核心部分

router路由器,实现分组交换(packet switching)

电路交换(circuit switching)

电话发明之初,要让所有电话两两相连,需要 N ( N − 1 ) 2 \frac{N(N-1)}{2} 2N(N1)​对电话线,不切实际。

拨号连接,被叫用户摘机以后,一条专用物理通道就被建立,需要经过“建立连接(占用通信资源)→通话(一直占用通信资源)→释放连接(归还通信资源)”,若资源不足,主叫用户会听到忙音

用户线是电话用户到所连接市话交换机的连接线路,是用户独占的传送模拟信号的专用通路,交换机之间有大量中继线,则是许多用户共享的。通话的时间内,通话的两个用户始终占用端到端的通信资源。

用电路交换来传送计算机数据,传输效率很低。因为计算机数据是突发产生,已被用户占用的通信线路资源绝大部分时间都是空闲的。(阅读屏幕信息、键盘输入、编辑文件、计算机处理数据但尚未返回结果)。

分组交换

分组交换采用储存转发技术,通常把要发送的整块数据称为一个报文(message)。预先确定数据段的长度,如1024bit。每个数据段面前,加上一些必要的控制信息组成的**首部(header)**后,就构成了一个分组(packet)。分组又称为“”,首部也称“包头”。

互联网核心部分的路由器之间一般都用高速链路相连接,网络边缘主机接入到核心部分则相对低速。

主机是为用户进行信息处理的,路由器则是用来转发分组,即分组交换的。讨论转发过程时,往往吧单个的网络简化为一条链路,路由器成为核心部分的结点
在这里插入图片描述

分组转发不会占用其他部分的网络资源,路由器查找转发表来转发。网络中同时有多台主机进行通信,同一网络中的不同进程也可以和多个主机交互(例如qq微信分别和不同用户交流)。

路由器暂时存储的只是一个个短分组,而不是长报文。短分组暂存在路由器的存储器(即内存)中,保证了较高的传输效率。

分组转换在数据传输前不必先占用一条端到端的链路的通信资源。

互联网采用了专门的措施保证数据的传送具有高可靠性,某些结点或链路发生故障时,路由器中的路由选择协议(protocol)能自动找到转发分组最合适的路径。

存储转发的分组交换实际上是采用了数据通信中断续(或动态)分配传输宽带的策略,对于传送突发式的计算机数据非常合适。

分组交换的优点如下
 优点   所采用的手段   高效   在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用   灵活   为每一个分组独立地选择最合适的转发路由   迅速   以分组作为传送单位,可以不先建立连接就能向其他主机发送分组   可靠   保证可靠性的网络协议;分布式多路由的分组交换网, 使网络有很好的生存性  \begin{array}{|l|l|} \hline \text { 优点 } & \text { 所采用的手段 } \\ \hline \text { 高效 } & \text { 在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用 } \\ \hline \text { 灵活 } & \text { 为每一个分组独立地选择最合适的转发路由 } \\ \hline \text { 迅速 } & \text { 以分组作为传送单位,可以不先建立连接就能向其他主机发送分组 } \\ \hline \text { 可靠 } & \text { 保证可靠性的网络协议;分布式多路由的分组交换网, 使网络有很好的生存性 } \\ \hline \end{array}  优点  高效  灵活  迅速  可靠  所采用的手段  在分组传输的过程中动态分配传输带宽,对通信链路是逐段占用  为每一个分组独立地选择最合适的转发路由  以分组作为传送单位,可以不先建立连接就能向其他主机发送分组  保证可靠性的网络协议;分布式多路由的分组交换网使网络有很好的生存性 
分组交换也带来了新的问题,时延。没有端到端的链接,无法确保带宽需要。同时,header头部的控制信息也造成了一定的开销(overhead),整个分组交换网也需要专门的管理和控制机制。

报文交换(message switching)

电报,邮政通信就是这种方式。区别就是报文整个一次转发出去。

总结

电路交换:整个报文的比特流连续地从源点直达终点。

报文交换:整个报文先送达相邻结点,全部存储下来后查找转发表,转发到下一结点。

分组交换:单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转达下一结点。
在这里插入图片描述

若要传送大量数据,且传送时间远大于连接建立时间,电路交换传输速率较快。

报文交换和分组交换不需要预先分配传输带宽,在传送突发数据时可提高整个网络的信道利用率。由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,具有更好的灵活性。

我国状况

1989.11第一个公用分组交换网CNPAC

1994.4.20以64kbit/s专线接入互联网

中国最大规模

1.中国电信互联网CHINANET

2.中国联通互联网UNINET

3.中国移动互联网CMNET

4.中国教育和科研计算机网CERNET

5.中国科学技术网CSTNET

计算机网络的类别

定义

[PETE11]计算机网络主要是由一些通用的、可编程的硬件组成,这些硬件并非专用与某一特定目的(例如传送数据、视频信号)。这些可编程的硬件能用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。

作用范围

广域网WAN(Wide Area Network):有时也称远程网(long haul network),作用范围几十到几千公里,是互联网的核心部分,任务是长距离运送主机发送的数据,一般是高速链路,具有较大的通信容量。

城域网MAN(Metropolitan Area Network):一般是一个城市,作用距离5~50km。可以是一个或几个单位所有,也可以是共用设施,用来连接多个局域网。很多城域网采用以太网技术,因此也并入局域网来讨论。

局域网LAN(Local Area Network):一般用微型计算机或工作站通过高速通信线路相连(10Mbit/s以上)。学校、工厂都有。

个人区域网PAN(Personal Area Network):把个人电子设备用无线技术连接起来,因此也称为无线个人区域网WPAN(Wireless PAN),范围10米左右。

若中央处理器距离非常近,则称为多处理机系统

使用者

公用网(public network)和专用网(private network)

公用网就是电信公司(国有或私有)出资建造的大型网络,任何人缴纳规定费用都可以使用。专用网,例如电力、银行。

接入网AN(Access Network)

本地接入网或居民接入网,用户必须通过ISP接入互联网,但技术有多种。接入网本身不属于互联网核心部分,也不是边缘部分,是从某个用户端系统到互联网的第一个路由器之间的网络。

互联网性能

性能指标(performance characteristic)

速率

比特bit来源于binary digit,是一个二进制数字,信息论中的信息量的单位。

网络技术中的速率指的是数据的传送速率,也称数据率(data rate)或比特率(bit rate)。

单位bit/s(b/s,bps即bit per second),数据率较高时,就在前面加一个数字。

k ( k i l o ) = 1 0 3 = 千 , M ( M e g a ) = 1 0 6 =  兆,  G ( G i g a ) = 1 0 9 =  吉,  T (  Tera  ) = 1 0 12 =  太,  P ( Peta ⁡ ) = 1 0 15 =  拍,  E ( E x a ) = 1 0 18 =  艾,  Z ( Z e t t a ) = 1 0 21 =  泽,  Y (  Yotta  ) = 1 0 24 =  尧  \begin{aligned} & \mathrm{k}(\mathrm{kilo})=10^{3}=千, \mathrm{M}(\mathrm{Mega})=10^{6}=\text { 兆, } \mathrm{G}(\mathrm{Giga})=10^{9}=\text { 吉, }\\ & \mathrm{T}(\text { Tera })=10^{12}=\text { 太, } \mathrm{P}(\operatorname{Peta})=10^{15}=\text { 拍, } \mathrm{E}(\mathrm{Exa})=10^{18}=\text { 艾, }\\ & \mathrm{Z}(\mathrm{Zetta})=10^{21}=\text { 泽, } \mathrm{Y}(\text { Yotta })=10^{24}=\text { 尧 } \end{aligned} k(kilo)=103=,M(Mega)=106= G(Giga)=109= T( Tera )=1012= P(Peta)=1015= E(Exa)=1018= Z(Zetta)=1021= Y( Yotta )=1024=  

$ 4 \times 10^{10} \mathrm{bit} / \mathrm{s} \text { 的数据率就记为 } 40 \mathrm{Gbit} / \mathrm{s} $​

人们谈到数据率时,经常省略了bit/s,如“40G的速率”。

网络速率一般是额定速率或标称速率,而非网络实际运行速率。

计算机领域,数的计算使用二进制,如下,要注意结合上下语境区分十进制还是二进制。

千 = K = 2 10 = 1024 ,  兆  = M = 2 20 ,  吉  = G = 2 30 , 太 = T = 2 40 ,  拍  = P = 2 50 ,  艾  = E = 2 60 ,  泽  = Z = 2 70 ,  尧  = Y = 2 80 \begin{aligned} & 千=K=2^{10}=1024, \text { 兆 }=\mathrm{M}=2^{20}, \text { 吉 }=\mathrm{G}=2^{30}, \mathrm{太}=\mathrm{T}=2^{40},\\ & \text { 拍 }=\mathrm{P}=2^{50}, \quad \text { 艾 }=\mathrm{E}=2^{60}, \text { 泽 }=\mathrm{Z}=2^{70}, \text { 尧 }=\mathrm{Y}=2^{80}\end{aligned} =K=210=1024,  =M=220,  =G=230,=T=240  =P=250,  =E=260,  =Z=270,  =Y=280​​​

15   G B  的数据块以  10 G  的速率传送, 表明有  15 × 2 30 × 8  比特的数据块以  10 × 1 0 9 b i t / s  的速率传送。  15 \mathrm{~GB} \text { 的数据块以 } 10 \mathrm{G} \text { 的速率传送, 表明有 } 15 \times 2^{30} \times 8 \text { 比特的数据块以 } 10 \times 10^{9}\mathrm{bit} / \mathrm{s} \text { 的速率传送。 } 15 GB 的数据块以 10G 的速率传送表明有 15×230×8 比特的数据块以 10×109bit/s 的速率传送。 

带宽(bandwidth)

1.带宽原本指某个信号具有的频带宽度。例如传统电话信号标准带宽是3.1kHz(300Hz到3.4kHz,语音的主要频率范围),单位是赫兹(赫),千赫,兆赫,吉赫等。过去很长时间里,通信的主干线路传送的是模拟信号(连续变化的信号)。因此,表示某信道允许通过的信号频带范围就称为该信道的带宽(通频带)。

2.计算机网络中,带宽表示某通道传送数据的能力,单位时间内网络中的某信道能通过的“最高数据率”,带宽的单位就是数据率的单位bit/s。

前者是频域称谓,后者是时域称谓,本质相同。通信链路带宽越宽,“最高数据率”就越高。

吞吐量(throughput)

单位时间通过某个网络(信道、接口)的实际数据量。常用于现实世界网络的测量。受额定速率限制。有时也可以用每秒传送的字节数、帧数来表示。

时延(delay,latency)

也称延迟、迟延,数据(报文、分组、bit)从网络(链路)的一端传送到另一端所需要的时间。

发送时延(transmission delay)

 发送时延  =  数据帧长度  ( b i t )  发送速率  ( b i t / s ) \text { 发送时延 }=\frac{\text { 数据帧长度 }(\mathrm{bit})}{\text { 发送速率 }(\mathrm{bit} / \mathrm{s})}  发送时延 = 发送速率 (bit/s) 数据帧长度 (bit)

主机或路由器发送数据帧所需要的时间, 也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。 因此发送时延也叫做传输时延(我们尽量不采用传输时延这个名词,因为它很容易和下面要 讲到的传播时延弄混)。

传播时延(propagation delay)

电磁波在信道中传播一定的距离需要花费的时间。
 传播时延  =  信道长度  ( m )  电磁波在信道上的传播 速率  ( m / s ) \text { 传播时延 }=\frac{\text { 信道长度 }(\mathrm{m})}{\text { 电磁波在信道上的传播 速率 }(\mathrm{m} / \mathrm{s})}  传播时延 = 电磁波在信道上的传播 速率 (m/s) 信道长度 (m)
电磁波在自由空间的传播速率是光速,即 3.0 × 1 0 5   k m / s 3.0 \times 10^{5} \mathrm{~km} / \mathrm{s} 3.0×105 km/s​​ 。电磁波在网络传输媒体中的传播速率比在自由空间要略低一些: 在铜线电缆中的传播速率约为 2.3 × 1 0 5   k m / s 2.3 \times 10^{5} \mathrm{~km} / \mathrm{s} 2.3×105 km/s​​, 在光纤中的传播速率约为 2.0 × 1 0 5   k m / s 2.0 \times 10^{5} \mathrm{~km} / \mathrm{s} 2.0×105 km/s​​ 。例如, 1000   k m 1000 \mathrm{~km} 1000 km​​ 长的光纤线路产生的传播时延大约为 5   m s 5 \mathrm{~ms} 5 ms​​​​​​ 。

发送时延发生在机器内部(一般是网络适配器),与传输信道的长度(或信号传送的距离)没有任何关系。传播时延发生在机器外部的传输信道媒体上,与信号的发送速率无关。信号传送的距离越远,传播时延就越大。

处理时延

主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等,这就产生了处理时廷。

排队时延

分组在经过网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待处理。路由器确定了转发接口后,还要在输出队列中排队等待转发。这就产生了排队时延。排队时延的长短往往取决于网络当时的通信量。当网络的通信量很大时会发生队列溢出,使分组丢失,这相当于排队时延为无穷大。

总结

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

一般说来,小时延的网络要优于大时延的网络。某些情况下,一个低速率、小时延的网络很可能要优于一个高速率但大时延的网络。
在这里插入图片描述

假定有一个长度为 100 M B 100 \mathrm{MB} 100MB​​ 的数据块(这里 的 M \mathrm{M} M​​ 显然不是指 1 0 6 10^{6} 106​​ 而是指 2 20 B 2^{20} \mathrm{B} 220B​​ 是字节, 1 字节 = 8 =8 =8​​ 比特 ) ) )​​ 。带宽为 1 M b i t / s 1 \mathrm{Mbit} / \mathrm{s} 1Mbit/s​​ 的信道上 (这里的 M 显然是 1 0 6 10^{6} 106​​ ) 连续发送(即发送速率为 1 M b i t / s 1 \mathrm{Mbit} / \mathrm{s} 1Mbit/s​​ ),其发送时延是
100 × 2 20 × 8 ÷ 1 0 6 = 838.9   s 100 \times 2^{20} \times 8 \div 10^{6}=838.9 \mathrm{~s} 100×220×8÷106=838.9 s
现在把这个数据块用光纤传送到 1000km 远的计算机上,约5ms。 1000 2 × 1 0 5 \frac{1000}{2\times10^5} 2×1051000

如果我们把发送速率提高到 100 倍, 即提高到 100 M b i t / s 100 \mathrm{Mbit} / \mathrm{s} 100Mbit/s, 那么总时延就变为 8.389 + 8.389+ 8.389+ 0.005 = 8.394   s 0.005=8.394 \mathrm{~s} 0.005=8.394 s, 缩小到原有数值的 1 / 100 1 / 100 1/100

要传送的数据仅有 1 个字节(如键盘上键入的一个字符,共 8 b i t 8 \mathrm{bit} 8bit​ )。 当发送速率为 1 M b i t / s 1 \mathrm{Mbit} / \mathrm{s} 1Mbit/s​ 时,发送时延是
8 ÷ 1 0 6 = 8 × 1 0 − 6   s = 8 μ s 8 \div 10^{6}=8 \times 10^{-6} \mathrm{~s}=8 \mu \mathrm{s} 8÷106=8×106 s=8μs
若传播时延仍为 5   m s 5 \mathrm{~ms} 5 ms, 则总时延为 5.008   m s 5.008 \mathrm{~ms} 5.008 ms 。在这种情况下,传播时延决定了总时间。即便发送速率提高1000倍也没用。

当计算机网络中的通信量过大时, 网络中的许多路由器的处理时延和排队时延将会大大增加,因为处理时延和排队时延有可能在总时延中占据主要成分。这时整个网络的性能就变差了。

如果上述概念没有弄清楚,就很容易产生这样错误的概念:“在高速链路(或高带宽链路)会传送得更快些”。但这是不对的。我们知道, 汽车在路面质量很好的高速公 路上可明显地提高行驶速率。但对于高速网络链路,我们提高的仅仅是数据的发送速率,不是比特在链路上的传播速率。荷载信息的电磁波在通信线路上的传播速率(这是光速的数量级)取决于通信线路的介质材料, 与数据的发送速率并无关系。提高数据的发送速率只是减小了数据的发送时延。还有一点也应当注意, 就是数据的发送速率的单位是每秒发送多少个比特,这是指在某个点某个接口上的发送速率。传播速率的单位是每秒传播多少公里, 是指在某一段传输线路上比特的传播速率。因此,通常所说的 “光纤信道的传输速率高”是指可以用很高的速率向光纤信道发送数据,光纤信道的传播速率实际上还要比铜线的传播速率略低一点。这是因为经过测量得知,光在光纤中的传播速率约为每秒 20.5 20.5 20.5 万公里,它比电磁波在铜线(如 5 类线)中的传播速率(每秒 23.1 23.1 23.1​​​​ 万公里)略低一些。

时延带宽积

时带宽积 = = = 传播时延 × \times ×​ 带宽

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0bv3S0KK-1628036976610)(image-20210802164654038.png)]

这是一个代表链路的圆柱形管道, 管道的长度是链路的传播时延(请注意,现在以时间作为单位来表示链路长度),管道的截面积是链路的带宽。因此时延带宽积就表示这个管道的体积, 表示这样的链路可容纳多少个比特。例如,设某段链路的传播时延为 20   m s 20 \mathrm{~ms} 20 ms​, 带宽为 10 M b i t / s 10 \mathrm{Mbit} / \mathrm{s} 10Mbit/s​​ 。算出
时 延 带 宽 积 = 20 × 1 0 − 3 × 10 × 1 0 6 = 2 × 1 0 5 b i t 时延带宽积=20 \times 10^{-3} \times 10 \times 10^{6}=2 \times 10^{5} \mathrm{bit} =20×103×10×106=2×105bit
这就表明,若发送端连续发送数据, 则在发送的第一个比特即将达到终点时,发送端就已经发送了 20 万个比特, 这 20 万个比特都正在链路上向前移动。因此, 链路的时延带宽积又称为以比特为单位的链路长度

不难看出, 管道中的比特数表示从发送端发出的但尚未到达接收端的比特。对于一条正在传送数据的链路,只有在代表链路的管道都充满比特时,链路才得到充分的利用。

往返时间RTT(Round-Trip Time)

互联网信息有时是双向交互的,因此需要知道双向交互一次所需的时间。例如, A \mathrm{A} A​ 向 B \mathrm{B} B​ 发送数据。如果数据长度是 100 M B 100 \mathrm{MB} 100MB​, 发送速率是 100 M b i t / s 100 \mathrm{Mbit} / \mathrm{s} 100Mbit/s​​, 那么
发 送 时 间 =  数据长度   发送速率  = 100 × 2 20 × 8 100 × 1 0 6 ≈ 8.39   s 发送时间 =\frac{\text { 数据长度 }}{\text { 发送速率 }}=\frac{100 \times 2^{20} \times 8}{100 \times 10^{6}} \approx 8.39 \mathrm{~s} = 发送速率  数据长度 =100×106100×220×88.39 s
如果 B \mathrm{B} B 正确收完 100 M B 100 \mathrm{MB} 100MB 的数据后,就立即向 A \mathrm{A} A 发送确认。再假定 A \mathrm{A} A 只有在收到 B \mathrm{B} B 的 确认信息后,才能继续向 B \mathrm{B} B 发送数据。显然,这就需要等待一个往返时间 RTT(这里假定确认信息很短, 可忽略 B \mathrm{B} B 发送确认的时间)。如果 R T T = 2   s \mathrm{RTT}=2 \mathrm{~s} RTT=2 s, 那么可以算出 A \mathrm{A} A B \mathrm{B} B​ 发送数据 的有效数据率。
 有效数据率=   数据长度   发送时间+RTT  = 100 × 2 20 × 8 8.39 + 2 ≈ 80.7 × 1 0 6 b i t / s ≈ 80.7 M b i t / s \text { 有效数据率= } \frac{\text { 数据长度 }}{\text { 发送时间+RTT }}=\frac{100 \times 2^{20} \times 8}{8.39+2} \approx 80.7 \times 10^{6} \mathrm{bit} / \mathrm{s} \approx 80.7 \mathrm{Mbit} / \mathrm{s}  有效数据率 发送时间+RTT  数据长度 =8.39+2100×220×880.7×106bit/s80.7Mbit/s
比原来的数据率 100 M b i t / s 100 \mathrm{Mbit} / \mathrm{s} 100Mbit/s​ 小不少。 在互联网中, 往返时间还包括各中间结点的处理时延、排队时延以及转发数据时的发 送时延。当使用卫星通信时,往返时间 RTT 相对较长, 是很重要的一个性能指标。

利用率

利用率有信道利用率网络利用率两种。信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。网络利用率则是全网络的信道利用率的加权平均值。信道利用率并非越高越好。这是因为,根据排队论的理论,当某信道的
利用率增大时,该信道引起的时延也就迅速增加。

网络通信量不断增大的情况下,分组在网络结点(路由器或结点交换机)进行处理时需要排队等候,因此网络引起的时延就会增大。如果令 D 0 D_{0} D0​ 表示网络空闲时的时延 D D D​ 表示网络当前的时延,那么在适当的假定条件下,可以用下面的简单公式来表示 D , D 0 D, D_{0} D,D0​ 和利用率U​​ 之 间的关系:
D = D 0 1 − U D=\frac{D_{0}}{1-U} D=1UD0

在这里插入图片描述

信道或网络的利用率过高会产生非常大的时延,一些拥有较大主干网的 ISP 通常控制信道利用率不超过50%,否则就需要扩容。增加带宽。

非性能指标

费用、质量(和性能区分)、标准化、可靠性、可扩展性和可升级性、易于管理和维护。

计算机网络体系结构

概述

计算机网络是个非常复杂的系统。为了说明这一点,可以设想一种最简单的情况:连接在网络上的两台计算机要互相传送文件。 显然,在这两台计算机之间必须有一条传送数据的通路。但这还远远不够。至少还有以下几项工作雭要去完成:
(1) 发起通信的计算机必须将数据通信的通路进行激活(activate)。所谓“激活” 就是要发出一些信令, 保证要传送的计算机数据能在这条通路上正确发送和接收。
(2) 要告诉网络如何识别接收数据的计算机。
(3) 发起通信的计算机必须查明对方计算机是否已开机,并且与网络连接正常。
(4) 发起通信的计算机中的应用程序必须弄清楚, 在对方计算机中的文件管理程序是否已做好接收文件和存储文件的准备工作。
(5) 若计算机的文件格式不兼容, 则至少其中一台计算机应完成格式转换功能。
(6) 对出现的各种差错和意外事故,如数据传送错误、重复或丢失,网络中某个结点交 换机出现故障等,应当有可靠的措施保证对方计算机最终能够收到正确的文件。

1974 年,美国的 IBM 公司宣布了系统网络体系结构 SNA (System Network Architecture)。 这个著名的网络标准就是按照分层的方法制定的。现在用 IBM 大型机构建的专用网络仍在使 用 SNA 。不久后,其他一些公司也相继推出自己公司的具有不同名称的体系结构。

国际标准化组织 ISO 于 1977 年成立了专门机构 研究该问题。他们提出了一个试图使各种计算机在世界范围内互连成网的标准框架, 即著名 的开放系统互连基本参考模型 OSI/RM (Open Systems Interconnection Reference Model), 简称OSI。“开放” 是指非独家垄断的。 “系统”是指在现实的系统中与互连有关的各部分。ISO 7498是正式文件。

20 世纪 90 年代初期,虽然整套的 OSI 国际标准都已经 制定出来了, 但由于基于 T C P / I P \mathrm{TCP} / \mathrm{IP} TCP/IP​​ 的互联网已抢先在全球相当大的范围成功地运行了,OSI只是法律上的国际标准 OSI, TCP/IP 是事实上的国际标准。OSI推广失败原因如下:

(1) OSI 的专家们缺乏实际经验, 他们在完成 OSI 标准时缺乏商业驱动力;
(2) OSI 的协议实现起来过分复杂,且运行效率很低;
(3) OSI 标准的制定周期太长,使得按 OSI 标准生产的设备无法及时进入市场;
(4) OSI 的层次划分不太合理,有些功能在多个层次中重复出现。

协议与划分层次

计算机网络中要做到有条不紊地交换数据, 就必须遵守一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。这里所说的同步不是狭义的 (即同频或同频同相)而是广义的,即在一定的条件下应当发生什么事件(例如,应当发送一个应答信息),同步含有时序的意思。这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(network protocol)。网络协议也可简称为协议。更进一步讲, 网络协议主要由以下三个要素组成:
(1) 语法,即数据与控制信息的结构或格式;
(2) 语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;
(3) 同步,即事件实现顺序的详细说明。

协议通常有两种不同的形式。一种是使用便于人来阅读和理解的文字描述。另一种是使用让计算机能够理解的程序代码。这两种不同形式的协议都必须能够对网络上的信息交换 过程做出精确的解释。

分层的好处
(1) 各层之间是独立的。某一层并不雴要知道它的下一层是如何实现的, 只需要知道该层通过层间的接口(即界面)所提供的服务。由于每一层只实现一种相对独立的功能,问题的复杂程度就下降了。
(2) 灵活性好。当任何一层发生变化时(例如由于技术的变化 ),只要层间接口关系保持不变, 则在这层以上或以下各层均不受影响。此外,对某一层提供的服务还可进行修改。 当某层提供的服务不再雭要时,甚至可以将这层取消。
(3) 结构上可分割开。各层都可以采用最合适的技术来实现。
(4) 易于实现和维护。这种结构使得实现和调试一个庞大页又复杂的系统变得易于处理,因为整个的系统已被分解为若干个相对独立的子系统。
(5) 能促进标准化工作。因为每一层的功能及其所提供的服务都已有了精确的说明。

分层时应注意使每一层的功能非常明确。若层数太少,就会使每一层的协议太复杂。 但层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难。通常各层所要完的功能主要有以下一些(可以只包括一种,也可以包括多种):
(1) 差错控制:使相应层次对等方的通信更加可靠。
(2) 流量控制:发送端的发送速率必须使接收端来得及接收,不要太快。
(3) 分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
(4) 复用和分用:发送端几个高层会话复用一条低层的连接, 在接收端再进行分用。
(5) 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。

计算机网络的各层及其协议的集合就是网络的体系结构(architecture)。换种说法, **计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义[GREE82]。**需要强调的是:这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种体系结构的实现 (implementation)的问题。体系结构的英文名词 architecture 的原意是建筑学或建筑的设计和风格。它和一个具体的建筑物的概念很不相同。例如,我们可以走进一个明代的建筑物中, 但却不能走进一个明代的建筑风格之中。同理,我们也不能把一个具体的计算机网络说成是个抽象的网络体系结构。总之, 体系结构是抽象的, 实现则是具体的,是真正在运行的计算机硬件和软件。

五层协议的体系结构

在这里插入图片描述

四层体系结构是实习应用,五层协议只是为了方便教学。

(1) 应用层(application layer)

应用层是体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。在互联网中的应用层协议很多, 如域名系统 DNS, 支持万维网应用的 HTTP 协议, 支持电子邮件的 SMTP 协议, 等等。我们把应用层交互的数据单元称为报文(message)

(2) 运输层(transport layer)

运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。所谓 “通用的”, 是指并不针对某个特定网络应用,而是1多种应用可以使用同一个运输层服务。由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程可同时使用下面运输层的服务,分用和复用相反,是运输层把收到的信息分别交付上面应用层中的相应进程。 运输层主要使用以下两种协议:

  • 传输控制协议 TCP (Transmission Control Protocol) - 提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文(segment)
  • 用户数据报协议 UDP (User Datagram Protocol) − - ​ 提供无连接的、尽最大努力 (best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报

(3) 网络层(network layer)

网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在 TCP/IP 体系中,由于网络层使用 IP 协议, 因此分组也叫做 IP 数据报, 或简称为数据报。本书把 “分组” 和 “数据报” 作为同义词使用。
请注意:不要将运输层的 “用户数据报 UDP” 和网络层的 “IP 数据报”弄混。此外, 无论在哪一层传送的数据单元,都可笼统地用 “分组” 来表示
网络层的另一个任务就是要选择合适的路由, 使源主机运输层所传下来的分组,能够 通过网络中的路由器找到目的主机。
这里要强调指出, 网络层中的 “网络”二字,已不是我们通常谈到的具体网络, 而是在计算机网络体系结构模型中的第 3 层的名称。
互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网 使用的网络层协议是无连接的网际协议 IP (Internet Protocol)和许多种路由选择协议, 因此互联网的网络层也叫做网际层或IP层。在本书中,网络层、网际层和 IP 层都是同义语。

(4) 数据链路层(data link layer)

数据链路层常简称为链路层。我们知道,两台主机之间的数据传输,总是在一段一段 的链路上传送的,这就需要使用专门的链路层的协议。在两个相邻结点之间传送数据时,数据链路层将网络层交下来的 IP 数据报组装成帧(framing), 在两个相邻结点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等 )。
在接收数据时,控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。这样,数据链路层在收到一个帧后,就可从中提取出数据部分,上交给网络层。
控制信息还使接收端能够检测到所收到的帧中有无差错。如发现有差错,数据链路层就简单地丢弃这个出了差错的帧,以免继续在网络中传送下去白白浪费网络资源。如果雭要 改正数据在数据链路层传输时出现的差错(这就是说,数据链路层不仅要检错,还要纠错 ),那么就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层的协议复杂些。

(5) 物理层(physical layer)

在物理层上所传数据的单位是比特。发送方发送 1(或 0 )时,接收方应当收到 1(或0)而不是 0 (或 1 )。因此物理层要考虑用多大的电压代表 “1”或 “0”, 以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的揷头应当有多少根引脚以及各引脚应如何连接。当然,解释比特代表的意思, 就不是物理层的任务。请注意, 传递信息所利用的理层协议的下面。因此也有人把物理层下面的物理媒体当作第 0 层。

在互联网所使用的各种协议中,最重要的和最著名的就是 TCP 和 IP 两个协议。现在人们经常提到的 TCP/IP 并不一定是单指 TCP 和 IP 这两个具体的协议, 而往往是表示互联网 所使用的整个 TCP/IP 协议族(protocol suite)
在这里插入图片描述

假定主机 1 的应用进程 A P 1 \mathrm{AP}_{1} AP1​ 向主机 2 的应用进程 A P 2 \mathrm{AP}_{2} AP2​ 传送数据。 A P 1 \mathrm{AP}_{1} AP1​ 先将其数据交给本主机的第 5 层(应用层)。第 5 层加上必要的控制信息 H 5 \mathrm{H}_{5} H5​ 就变成了下一层的数据单元。第 4 层(运输层)收到这个数据单元后,加上本层的控制信息 H 4 \mathrm{H}_{4} H4​, 再交给第 3 层(网络层), 成 为第 3 层的数据单元。依此类推。不过到了第 2 层(数据链路层)后,控制信息被分成两部分,分别加到本层数据单元的首部 ( H 2 ) \left(\mathrm{H}_{2}\right) (H2)​ 和尾部 ( T 2 ) \left(\mathrm{T}_{2}\right) (T2)​​; 第 1 层 (物理层)是比特流的传送,所以不再加上控制信息。请注意,传送比特流时应从首部开始传送

OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU (Protocol Data Unit)。这个名词现已被许多非 OSI 标准采用。

当这一串的比特流离开主机 1 经网络的物理媒体传送到路由器时, 就从路由器的第1层依次上升到第 3 层。每一层都根据控制信息进行必要的操作,然后将控制信息剥去,将该层剩下的数据单元上交给更高的一层。当分组上升到了第 3 层时,就根据首部中的目的地址查找路由器中的转发表,找出转发分组的接口,然后往下传送到第 2 层,加上新的首部和尾 部后,再到最下面的第 1 层,然后在物理媒体上把每一个比特发送出去。

当这一串的比特流离开路由器到达目的站主机 2 时,就从主机 2 的第 1 层按照上面讲 过的方式, 依次上升到第 5 层。最后,把应用进程 A P 1 \mathrm{AP}_{1} AP1 发送的数据交给目的站的应用进程 A P 2 \mathrm{AP}_{2} AP2

虽然应用进程数据要经过复杂过程才能送到终点的应用进程,但这些复杂过程对用户来说, 都被屏蔽掉了,应用进程 A P 1 \mathrm{AP}_{1} AP1 好像是直接把数据交给 应用进程 A P 2 \mathrm{AP}_{2} AP2​​ 。同理, 任何两个同样的层次(例如在两个系统的第 4 层)之间,也好像如同图中水平虛线所示的那样,把数据(即数据单元加上控制信息)通过水平虛线直接传递给对方。这就是所谓的 “对等层” (peer layers)之间的通信。我们以前经常提到的各层协议,实际上就是在各个对等层之间传递数据时的各项规定

在文献中也还可以见到术语 “协议栈” (protocol stack)。这是因为几个层次画在一起很像一个栈(stack)的结构。

实体、协议、服务和服务访问点

当研究开放系统中的信息交换时,往往使用实体(entity)这一较为抽象的名词表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。

协议是控制两个对等实体(或多个实体)进行通信的规则的集合。协议的语法方面规则定义了所交换的信息的格式, 语义方面的规则就定义了发送者或接收者所要完成的操作,例如, 在何种条件下,数据必须重传或丢弃。

在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现 层协议,还要使用下面一层所提供的服务

协议和服务在概念上是很不一样的。

首先, 协议的实现保证了能够向上一层提供服务。使用本层服务的实体只能看见服务,无法看见下面的协议。也就是说, 下面的协议对上面的实体是透明的。

其次,协议是 “水平的", 即协议是控制对等实体之间通信的规则。但服务是 “垂直的”, 即服务是由下层向上层通过层间接口提供的。另外,并非在一个层内完成的全部功能都称为服务。只有那些能够被高一层实体 “看得见”的功能才能称之为“服务”。上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令在 OSI 中称为服务原语

在同一系统中相邻两层的实体进行交互 (即交换信息) 的地方,通常称为服务访问点 SAP (Service Access Point)。服务访问点 SAP 是一个抽象的概念, 它实际上就是一个逻辑接口,有点像邮政信箱(可以把邮件放入信箱和从信箱中取走邮件 ,但这种层间接口和两个设备之间的硬件接口(并行的或串行的)并不一样。OSI 把层与层之间交换的数据的单位称为服务数据单元 SDU (Service Data Unit), 它可以与 PDU 不一样。例如,可以是多个 SDU 合成为一个 PDU,也可以是一个SDU划分为几个 PDU 。相邻两层关系如下:
在这里插入图片描述

计算机网络的协议还有一个很重要的特点, 就是协议必须把所有不利的条件事先都估计到, 不能假定一切都是正常的和非常理想的

TCP/IP的体系结构

在这里插入图片描述

某些应用程序可以直接使用 IP层,或网络接口层[PETE11]。
在这里插入图片描述

“子网”是指一些局域网和某些广域网(如 ATM ⁡ \operatorname{ATM} ATM 网)
在这里插入图片描述

TCP/IP 协议可以为各式各样的应用提供服务(所谓的 everything over IP ), 同时 TCP/IP 协议也 允许 IP 协议在各式各样的网络构成的互联网上运行(所谓的 IP over everything )。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值