第一章:
2、试简述分组交换的要点。
答:分组交换最主要的特点就是采用存储转发技术。
我们把要发送的整块数据称为一个报文。在发送报文之前,先把较长的报文划分成为一个个更小的等长数据段,例如,每个数据段为1024bit。在每一个数据段前面,加上一些必要的控制信息组成的首部后,就构成了一个分组。分组又称为“包”,是在互联网中传送的数据单元。正是由于分组的首部包含了目的地址、源地址等重要控制信息,每一个分组才能在互联网中独立的选择传输路径。——分组的特点。
路由器是用来转发分组的,每收到一个分组,先临时存储下来,再检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把这个分组转交给下一个路由器。这样一步步的经过若干个或几十个不同的路由器,以存储转发的方式,把分组交付最终的目的主机。——路由器的转发。
3、试从多个方面比较电路交换、报文交换和分组交换的主要优缺点。
答:电路交换的优点:一旦连接建立,那么双方通信所需的传输带宽就已经分配好而不会再改变,这叫做静态分配传输带宽。通信双方占用的资源不受网络中的其他用户的影响。
电路交换的缺点:只要在整个连接中有一个环节出了故障,那么整个连接就不复存在,若要重新进行通信,必须重新建立连接。而且当通信网的业务量很大时,电路交换无法保证用户的每一个呼叫都能接通。
分组交换的优点:使用无连接的IP协议,以分组作为传输单位,采用存储转发技术。在数据传输过程中,动态分配传输带宽,合理有效的利用各链路的传输带宽。采用分布式的路由选择协议,当网络中的某个结点出现故障,分组传送的路由可以自适应地动态改变,使数据的传送能够继续下去。
分组交换的缺点:分组在各路由器存储转发时需要排队,会造成一定的时延。各分组必须携带控制信息,这也造成了一定的开销。
报文交换也采用存储转发技术,不同的是,报文交换不把报文分割,而是把整个报文在网络的结点中存储下来,然后再转发出去。这样好处是省时、简单,坏处是不灵活,而且传送数据的时延较大。现在很少使用。
12、互联网的两大组成部分的特点是什么?它们的工作方式各有什么特点?
答:边缘部分:由所有连接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信和资源共享。
核心部分:由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的。
在网络边缘的端系统之间的通信方式通常可划分为两大类:客户—服务器方式(C/S方式)和队等方式(p2p方式)。核心部分的工作方式也有两种:一种是路由器转发分组,另一种是路由器之间不断地交换路由信息。
17、收发两端之间的传输距离为1000KM,信息在媒体上的传播速率为2×108m/s。试计算以下两种情况的发送时延和传播时延:
(1)数据长度为107bit,数据发送速率为100kb/s。
(2)数据长度为103bit,数据发送速率为1Gb/s。
从上面的计算中可以得到什么样的结论?
答:(1)发送时延:ts=107bit /(100kb/s)=100s
传播时延:tp=1000KM /(2×108m/s)=0.005s
发送时延远大于传播时延。
(2)发送时延:ts=103bit /(1Gb/s)=1µs
传播时延:tp=1000KM /(2×108m/s)=0.005s
发送时延远小于传播时延。
结论:若数据长度大而发送速率低,则在总的时延中,发送时延往往大于传播时延。但若数据长度短而发送速率高,则传播时延又可能是总时延中的主要成分。
19、长度为100字节的应用层数据交给传输层传送,需加上20字节的TCP首部。再交给网络层传送,需加上20字节的IP首部。最后交给数据链路层的以太网传送,加上首部和尾部工18字节。试求数据的传输效率。数据的传输效率是指发送的应用层数据除以所发送的总数据(即应用数据加上各种首部和尾部的额外开销)。
若应用层数据长度为1000字节,数据的传输效率是多少?
解:(1)100/(100+20+20+18)=63.3%
(2)1000/(1000+20+20+18)=94.5%
传输效率明显提高了。
26、试解释以下名词:协议栈、实体、对等层、协议数据单元、服务访问点、客户、服务器、客户-服务器方式。
答:协议栈:由于计算机网络的体系结构采用了分层结构,这些一层层的协议画起来很像堆栈的结构。
实体:表示任何可发送或接收信息的硬件或软件进程。
对等层:在网络体系结构中,通信双方实现同样功能的层。
协议数据单元:通常记为PDU,对等层实体进行信息交换的数据单位。
服务访问点:通常记为SAP,在同一系统中相邻两层的实体进行交互(即交换信息)的地方,它是一个抽象的概念,它实体上就是一个逻辑接口。
客户:在计算机网络中进行通信的应用进程中的服务请求方。
服务器:在计算机网络中进行通信的应用进程中的服务提供方。
客户-服务器方式:这种方式所描述的是进程之间服务的请求方和服务的提供方的关系。
28、假定要在网络上传送1.5MB的文件。设分组长度为1KB,往返时间RTT=80ms。传送数据之前还需要有建立TCP连接的时间,这时间是2×RTT=160ms。试计算在以下几种情况下接收方收完该文件的最后一个比特所需的时间。
(1)数据发送速率为10Mb/s,数据分组可以连续发送。
(2)数据发送速率为10Mb/s,但每发送完一个分组后要等待一个RTT时间才能再发送一个分组。
(3)数据发送速率极快,可以不考虑发送数据所需的时间。但规定在每一个RTT往返时间内只能发送20个分组。
(4)数据发送速率极快,可以不考虑发送数据所需的时间。但在第一个RTT往返时间内只能发送一个分组,在第二个RTT内可发送两个分组,在第三个RTT内可发送四个分组(即23-1=22=4个分组)
解答:题目的已知条件中的M=220=1048576,K=210=1024。
(1)发送这些比特所需时间=1.5×220 ×8bit/(10×106bit/s)=1.258s。
最后一个分组的传播时间还需要0.5×RTT=40ms。
总共需要的时间=2×RTT+1.258+0.5×RTT=0.16+1.258+0.04=1.458s。
(2)需要划分的分组数=1.5MB/1KB=1536。
从第一个分组到达直到最后一个分组到达要经历1535×RTT=1535×0.08=122.8s。
总共需要的时间=1.458+122.8=124.258s。
(3)在每一个RTT往返时间内只能发送20个分组。1536个分组,需要76个RTT,76个RTT可以发送76×20=1520个分组,最后剩下16个分组,一次发送完。但最后一次发送的分组到达接收方也需要0.5×RTT。
因此,总共需要的时间=76.5×RTT+2×RTT=6.12+0.16=6.28s。
(4)在两个RTT后就开始传送数据。
经过n个RTT后就发送了1+2+4+…+2n=2n+1-1个分组。
若n=9,那么只发送了210-1=1023个分组。可见9个RTT不够。
若n=10,那么只发送了211-1=2047个分组。可见10个RTT足够了。
这样,考虑到建立TCP连接的时间和最后的分组传送到终点需要的时间,现在总共需要的时间=(2+10+0.5)×RTT=12.5×0.08=1s。
第二章:
4、试解释以下名词:数据,信号,模拟数据,模拟信号,基带信号,带通信号,数字数据,数字信号,码元,单工通信,半双工通信,全双工通信,串行传输,并行传输。
答:数据:是运送信息的实体。
信号:是数据的电气的或电磁的表现。
模拟数据:数据的变化是连续的。
模拟信号:连续变化的信号,其特点是代表消息的参数的取值是连续的。
数字信号:即离散信号,其特点是代表消息的参数的取值是离散的。
数字数据:数据的变化是不连续的。
码元(code):码是信号元素和字符之间的事先约定好的转换。码元就是码所包含的元素。采用最简单的二进制编码时,一个码元就是一个比特。在比较复杂的编码中,一个码元可以包含多个比特。
单工通信:又称单向通信,即只有一个方向的通信而没有反方向的交互。
半双工通信:又称双向交替通信,即通信和双方都可以发送信息,但不能双方同时发送(当然也不能同时接收)。这种通信方式是一方发送另一方接收,过一段时间再反过来。
全双工通信:又称双向同时通信,即通信的双方可以同时发送和接收信息。
基带信号(即基本频带信号)——来自信源的信号。像计算机输出的代表各种文字或图像文件的数据信号都属于基带信号。
带通信号——把基带信号经过载波调制后,把信号的频率范围搬移到较高的频段以便在信道中传输(即仅在一段频率范围内能够通过信道)。
串行传输——数据在传输时是逐个比特按照时间顺序依次传输的。
并行传输——数据在传输时采用了n个并行的信道。
14、试写出下列英文缩写的全文,并做简单的解释。
FDM,TDM,STDM,WDM,DWDM,CDMA,SONET,SDH,STM-1,OC-48.
答:FDM(frequency division multiplexing)频分复用:给每个信号分配唯一的载波频率并通过单一媒体来传输多个独立信号的方法。组合多个信号的硬件称为复用器;分离这些信号的硬件称为分用器。
TDM(Time Division Multiplexing)时分复用:把多个信号复用到单个硬件传输信道,它允许每个信号在一个很短的时间使用信道,接着再让下一个信号使用。
STDM(Statistic Time Division Multiplexing)统计时分复用:是一种改进的时分复用,它能明显提高信道的利用率。STDM帧不是固定分配时隙,而是按需动态地分配时隙。
WDM(Wave Division Multiplexing)波分复用:就是光的频分复用。
DWDM(Dense Wave Division Multiplexing)密集波分复用:可以把几十路甚至一百多路的光载波信号复用到一根光纤中来传输。
CDMA(Code Wave Division Multiplexing)码分多址:即码分复用。每一个用户可以在同样的时间使用同样的频带进行通信。
SONET(Synchronous Optical Network)同步光纤网:一种数字传输标准。整个同步网络的各级时钟都来自一个非常精确的主时钟。
SDH(Synchronous Digital Hierarchy)同步数字系列:以美国标准SONET为基础制定出的国际标准。
STM-1(Synchronous Transfer Module)第1级同步传递模块:通过光纤传输数据的一系列标准。
OC-48(Optical Carrier)第48级光载波:OC就是光载波,48就是48倍的OC-1速率。
16、共有4个站进行码分多址CDMA通信。4个站的码片序列为:
A:(-1-1-1+1+1-1+1+1) B:(-1-1+1-1+1+1+1-1)
C:(-1+1-1+1+1+1-1-1) D:(-1+1-1-1-1-1+1-1)
现收到这样的码片序列S:(-1+1-3+1-1-3+1+1)。问哪个站发送数据了?发送数据的站发送的是0还是1?
解:S·A=(+1-1+3+1-1+3+1+1)/8=1, A发送1
S·B=(+1-1-3-1-1-3+1-1)/8=-1, B发送0
S·C=(+1+1+3+1-1-3-1-1)/8=0, C无发送
S·D=(+1+1+3-1+1+3+1-1)/8=1, D发送1
17、试比较xDSL、HFC以及FTTx接入技术的优缺点?
答:使用xDSL技术最大的好处就是可以利用现有电话网中的用户线,不需要重新布线。成本低,易实现。缺点就是对用户线的质量有较高的要求,如果用户住宅距离电话交换局较远,或线路的噪声较大,那么宽带接入的速率就会适当地降低。
HFC网的最大的优点具有很宽的频带,并且能够利用已经有相当大的覆盖面的有线电视网。缺点是必须对现有的单向传输的有线电缆进行改造,变为可双向通信的电缆。
FTTx(光纤到……)光纤接入是解决宽带接入最理想的方案,可提供最好的带宽和质量、但现阶段线路和工程成本太大。
18、为什么在ASDL技术中,在不到1MHz的带宽中却可以传送速率高达每秒几个兆比特?
答:靠先进的DMT编码、频分多载波并行传输,使得每秒传送一个码元就相当于每秒传送多个比特。将上行数据信道划分为25个子信道,将下行数据信道划分为249个子信道。每个子信道都占据4KHZ的带宽,使用不同的载波进行数字调制。这种做法相当于在一对用户线上使用许多小的调制解调器并行地传送数据。
第三章:
1、数据链路(即逻辑链路)与链路(即物理链路)有何区别? “电路接通了”与”数据链路接通了”的区别何在?
答:数据链路与链路的区别在于数据链路除了链路外,还必须有一些必要的通信协议来控制数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
“电路接通了”表示链路两端的结点交换机已经开机,物理连接已经能够传送比特流了,但是,数据传输并不可靠,在物理连接基础上,再建立数据链路连接,才是“数据链路接通了”,此后,由于数据链路连接具有检测、确认和重传功能,才使不太可靠的物理链路变成可靠的数据链路,进行可靠的数据传输。当数据链路断开连接时,物理电路连接不一定跟着断开连接。
2、数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。
答:链路控制的主要功能有三:封装成帧;透明传输;差错检测。
可靠的链路层的优点:可以使网络中的某个结点及早发现传输中出了差错,因而可以通过数据链路层的重传来纠正这个差错。对于干扰严重的信道,可靠的链路层可以将重传范围约束在局部链路,防止全网络的传输效率受损。缺点:有时高层协议使用的是不可靠的传输协议UDP。UDP并不要求重传有差错的数据,在这种情况下,如果做成可靠地数据链路层,那么并不会带来更多的好处。反而会增大资源开销,影响传输效率。
3、网络适配器的作用是什么?网络适配器工作在哪一层?
答:网络适配器(即网卡)用来实现数据链路层和物理层这两层的协议的硬件和软件。能进行数据的串并转换,有存储芯片,能实现以太网协议。
网络适配器工作在数据链路层和物理层。
4、如果在数据链路层不进行封装成帧,会发生什么问题?
答:如果在数据链路层不进行封装成帧,那么数据链路层在收到一些数据时,就无法知道对方传送的数据中哪些是数据,哪些是信息,甚至数据中有没有差错也不清楚(因为无法进行差错检测)。数据链路层也无法知道数据传送结束了没有,因此不知道应当什么时候把收到的数据交给上一层。
5、 假定1km长的CSMA/CD网络的数据率为1Gb/s。设信号在网络上的传播速率为200000km/s。求能够使用此协议的最短帧长。
答:1km长的CSMA/CD网络的端到端传播时延τ=1/200000=5µs,2τ=10µs。在此时间内要发送(1Gbit/s)10µs=10000bit。
只有经过这样一段时间后发送端才能收到碰撞的信息,也才能检测到碰撞的发生。
因此,最短帧是10000 bit位或1250字节。
6、什么叫做比特时间?使用这种时间单位有什么好处?100比特时间是多少微秒?
答:比特时间就是发送1比特所需的时间,而不管数据率是多少。
好处就是方便,比特时间换算成微秒必须先知道数据率是多少,如数据率是10Mb/s,则100比特时间等于10微秒。否则无法回答。
7、某学院的以太网交换机有三个接口分别和学院三个系的以太网相连,另外三个接口分别和电子邮件服务器、万维网服务器以及一个连接互联网的路由器相连。图中的ABC都是100Mbit/s以太网交换机。假定所有的链路的速率都是100Mbit/s,并且图中的9台主机中的任何一个都可以和任何一个服务器或主机通信。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?
答:这里的9台主机和两个服务器都工作时的总吞吐量是900+200=1100Mbit/s。三个系各有一台主机分别访问两个服务器和通过路由器上网。其他主机在系内通信。
8、假定所有的链路的速率都是100Mbit/s,但三个系的以太网交换机都换成100Mbit/s的集线器。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?
答:这里的每个系是一个碰撞域,其最大吞吐量为100 Mbit/s,总吞吐量是300+200=500 Mbit/s。
9、假定所有的链路的速率都是100Mbit/s,但所有的以太网交换机都换成100Mbit/s的集线器。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?
答:现在整个系统是一个碰撞域,因此其最大吞吐量为100 Mbit/s。
10、以太网交换机有6个接口,分别接到5台主机和一个路由器。在下面表中的“动作”栏中,表示先后发送了4个帧。假定在开始时,以太网交换机的交换表是空的。试把该表中其他的栏目都填写完。
答:
动作 |
交换表的状态 |
向哪些接口转发帧 |
说明 |
A发送帧给D |
写入(A,1) |
所有的接口 |
开始时交换表是空的,交换机不知道应向何接口转发帧 |
D发送帧给A |
写入(D,4) |
A |
交换机已知道A连接在接口1 |
E发送帧给A |
写入(E,5) |
A |
交换机已知道A连接在接口1 |
A发送帧给E |
不变 |
E |
交换机已知道E连接在接口5 |
11、有两台主机A和B接在800m长的电缆线的两端,并在t=0时各自向对方发送一个帧,长度为1500bit(包括首部和前同步码)。假定在A和B之间有4个转发器,在转发帧时会产生20比特的时延。设传输速率为100 Mbit/s,而CSMA/CD的退避时间是随机数r倍的争用期,争用期为512bit,在发生第一次碰撞后,在退避时A选择r=0而B选择r=1。忽略发生碰撞后的人为干扰信号和帧间最小间隔。
(1)设信号的传播速率是2×108m/s。试计算从A到B(包括4个转发器)的传播时延。
(2)在什么时间(以秒为单位)B完全收到了A发送的帧?
(3)现在假定只有A发送帧,帧长仍为1500bit,但4个转发器都用交换机来代替。交换机在进行存储转发时还要产生额外的20bit的处理时延。在什么时间B完全收到了A发送的帧?
答:(1)从A到B(包括4个转发器)的传播时延
=(800m/2×108m/s)+4×(20bit/100×106bit/s)=4.8µs
(2)发送1帧需要的时间是1500/(100×106bit/s)=15µs,比从A到B传播一个比特所需的时间还要多。
在t=0时,A和B同时发送帧。
在t=4.8µs时,A和B都检测出碰撞。
在t=9.6µs时,B终止发送的帧的最后一个比特到达A。A立即重传。
在t=14.4µs时,A重传帧的第一个比特到达B。
A发送1500bit所需要的时间是1500/108=15µs。
在t=29.4µs时,A重传帧的最后一个比特到达B。
(3)整个传输链路被4个交换机分成5个网段。在主机和交换机之间或两个交换机之间的传播时延是:每一段电缆长度160m除以电磁波的传播速率2×108m/s,算出为0.8µs。因此总的传播时延是5×0.8=4µs。
主机A和4个交换机的发送时延一共是5×15=75µs。
4个交换机的处理时延是4×0.2=0.8µs。
因此,B收完A所发送的帧总共经历的时延=4+75+0.8=79.8µs。
第四章:
1、IP地址分为几类?各如何表示?IP地址的主要特点是什么?
答:在IPv4的地址中,所有的地址都是32位,并且可记为:
IP地址={<网络号>,<主机号>}
IP地址共分为ABCDE 5类。
每一类地址都由两个固定长度的字段组成,其中一个字段是网络号 net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。
各类地址的网络号字段net-id分别为1,2,3,0,0字节;主机号字段host-id分别为3字节、2字节、1字节、4字节、4字节。
A类地址最前面的1位是0;B类地址最前面的2位是10;C类地址最前面的3位是110。D类地址用于多播,最前面的4位是1110;E类地址保留今后使用,最前面的4位是1111。
特点:
(1)每一个IP地址都由网络号和主机号两部分组成。IP地址是一种分等级的地址结构。分两个等级的好处是:
第一,IP地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP地址的管理。
第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。
(2)实际上 IP地址是标志一个主机(或路由器)和一条链路的接口。换言之,IP地址并不仅仅指明一个主机,同时还指明了主机所连接到的网络。
由于一个路由器至少应当连接到两个网络(这样它才能将 IP数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的 IP地址。
(3) 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。
(4) 所有分配到网络号 net-id的网络(不管是范围很小的局域网,还是可能覆盖很大地理范围的广域网)都是平等的。
2、试说明IP地址与硬件地址的区别,为什么要使用这两种不同的地址?
答:从层次的角度来看,物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址。
由于全世界存在着各式各样的网络,它们使用不同的硬件地址。要使这些异构的网络能够互相通信就必须进行非常复杂的硬件地址转换工作,因此由用户或用户主机来完成这项工作几乎是不可能的事。但统一的IP地址把这个复杂的问题解决了,连接到互联网的主机只需要拥有统一的IP地址,它们之间的通信就像连接在同一个网络上那样方便。
并且IP地址只指明了目的网络主机地址,而数据在传输过程中要经过路由器的分组转发,那么就必须知道路由器的地址,这个地址由物理地址指明,这样数据才能从源主机到达目的主机。
3、(1)子网掩码为255.255.255.0代表什么意思?
答:有三种含义:
其一是一个A类网的子网掩码,对于A类网络的IP地址,前8位表示网络号,后24位表示主机号,使用子网掩码255.255.255.0表示前8位为网络号,中间16位用于子网段的划分,最后8位为主机号。
第二种情况为一个B类网,对于B类网络的IP地址,前16位表示网络号,后16位表示主机号,使用子网掩码255.255.255.0表示前16位为网络号,中间8位用于子网段的划分,最后8位为主机号。
第三种情况为一个C类网,这个子网掩码为C类网的默认子网掩码。
(2)一网络的现在掩码为255.255.255.248,问该网络能够连接多少个主机?
答:255.255.255.248即11111111.11111111.11111111.11111000。
掩码位数29,每一个子网上的主机为(2^3)=8台
理论上该网络能够连接8个主机,但是扣除全1和全0的情况后,该网络实际上能够连接6个主机。
(3)一A类网络和一B网络的子网号subnet-id分别为16个1和8个1,问这两个子网掩码有何不同?
答:A类网络:11111111 11111111 11111111 00000000
给定子网号(16位“1”)则子网掩码为255.255.255.0
B类网络:11111111 11111111 11111111 00000000
给定子网号(8位“1”)则子网掩码为255.255.255.0
可见这两个网络的子网掩码一样,但它们的子网数目不同。
(4)一个B类地址的子网掩码是255.255.240.0。试问在其中每一个子网上的主机数最多是多少?
答:IP地址的第3个字节是(240)10=(128+64+32+16)10=(11110000)2
B类地址的子网掩码是:11111111.11111111.11110000.00000000
主机号的位数为4+8=12,因此,最大主机数为:2^12-2=4096-2=4094个。
(5)一A类网络的子网掩码为255.255.0.255;它是否为一个有效的子网掩码?
答:A类网络的子网掩码为10111111 11111111 00000000 11111111
他是一个有效的子网掩码,但不推荐这样使用,因为子网中的1不是连续的。
(6)某个IP地址的十六进制表示C2.2F.14.81,试将其转化为点分十进制的形式。这个地址是哪一类IP地址?
答: C2 2F 14 81=(12*16+2).(2*16+15).(16+4).(8*16+1)=194.47.20.129
C2 2F 14 81=11000010.00101111.00010100.10000001
前3位是110,所以这个地址是C类地址。
(7)C类网络使用子网掩码有无实际意义?为什么?
答:有实际意义。C类子网IP地址的32位中,前24位用于确定网络号,后8位用于确定主机号。如果划分子网,可以选择后8位中的高位,这样做可以进一步划分网络,并且不增加路由表的内容,但是代价是主机数量减少。
4、设某路由器建立了如下路由表:
目的网络 子网掩码 下一跳
128.96.39.0 255.255.255.128 接口m0
128.96.39.128 255.255.255.128 接口m1
128.96.40.0 255.255.255.128 R2
192.4.153.0 255.255.255.192 R3
*(默认) —— R4
现共收到5个分组,其目的地址分别为:
(1)128.96.39.10
(2)128.96.40.12
(3)128.96.40.151
(4)192.4.153.17
(5)192.4.153.90
试分别计算其下一跳。
答:(1)分组的目的站IP地址为:128.96.39.10。先与子网掩码255.255.255.128相与,得128.96.39.0,可见该分组经接口m0转发。
(2)分组的目的IP地址为:128.96.40.12。
① 与子网掩码255.255.255.128相与得128.96.40.0,不等于128.96.39.0。
② 与子网掩码255.255.255.128相与得128.96.40.0,经查路由表可知,该项分组经R2转发。
(3)分组的目的IP地址为:128.96.40.151,与子网掩码255.255.255.128相与后得128.96.40.128,与子网掩码255.255.255.192相与后得128.96.40.128,经查路由表知,该分组转发选择默认路由,经R4转发。
(4)分组的目的IP地址为:192.4.153.17。与子网掩码255.255.255.128相与后得192.4.153.0。与子网掩码255.255.255.192相与后得192.4.153.0,经查路由表知,该分组经R3转发。
(5)分组的目的IP地址为:192.4.153.90,与子网掩码255.255.255.128相与后得192.4.153.0。与子网掩码255.255.255.192相与后得192.4.153.64,经查路由表知,该分组转发选择默认路由,经R4转发。
5、分两种情况(使用子网掩码和使用CIDR)写出互联网的IP层查找路由的算法。
答:第一种情况:使用子网掩码。
(1) 从收到的数据报的首部提取目的IP地址D。
(2) 先判断是否直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和D逐位相与,看结果是否和相应的网络地址匹配。若匹配,则把分组进行直接交付,转发任务结束。否则就是间接交付,执行(3)。
(3) 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
(4) 对路由表中的每一行(目的网络地址,子网掩码,下一条地址),用其中的子网掩码和D逐位相与,其结果为N。若N与改行的目的网络地址匹配,则把数据报传送给改行指明的下一跳路由器;否则,执行(5)。
(5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
(6) 报告转发分组出错。
第二种情况:使用CIDR。
使用CIDR时,互联网的IP层查找路由算法和上面的算法并无什么不同。但应注意的是,在使用CIDR时,我们使用地址掩码。它的前一部分是一连串的1,对应于CIDR中的网络前缀。而掩码中的后一部分是一连串的0,对应于CIDR中的网络后缀(即对应于主机号部分)。路由表中由“网络前缀”和“下一条地址”组成。但是在查找路由表时可能会得到不止一个匹配结果,这是应当从匹配结果中选择具有最长网络前缀的路由。如果在路由表中的各项目是按网络前缀的长度排序的,把最长的网络前缀放在最前面,那么当查找路由表找到匹配时,就是找到了正确的路由,因而结束了查找。但如果在路由表中的各项目不是按网络前缀的长度排序,那么就应当从匹配结果中选择具有最长网络前缀的路由。
6、有如下的4个/24地址块,试进行最大可能性的聚合。
212.56.132.0/24
212.56.133.0/24
212.56.134.0/24
212.56.135.0/24
答:这几个地址的前面2个字节都一样,因此只需要比较第3个字节。
212=(11010100)2,56=(00111000)2
132=(10000100)2,
133=(10000101)2
134=(10000110)2,
135=(10000111)2
所以共同的前缀有22位,即11010100 00111000100001,聚合的CIDR地址块是:212.56.132.0/22
32.以下地址中的哪一个地址2.52.90.140匹配?请说明理由。
(1)0/4;(2)32/4;(3)4/6(4)80/4
答:给出的四个地址的前缀有4位和6位两种,因此我们就观察地址2.52.90.140的第一字节。
2.52.90.140/4 是 0000 0010,2.52.90.140/6 是 0000 0010。
0/4 是 0000 0000;
32/4 是 0010 0000;
4/6 是 0000 0100;
80/4 是 0101 0000。
因此只有前缀(1)和地址2.52.90.140匹配。
33.下面的前缀中的哪一个和地址152.7.77.159及152.31.47.252都匹配?请说明理由。
(1)152.40/13;(2)153.40/9;(3)152.64/12;(4)152.0/11。
答:给出的四个地址的前缀是9位到12位,因此我们就观察这两个地址的第二字节。
这两个地址的前两个字节的二进制是:
10011000 0000 0111和10011000 00011111。
152.40/13的前缀是13位:10011000 00101000,与这两个地址不匹配;
153.40/9 的前缀是9位:10011001 00101000,与这两个地址不匹配;
152.64/12的前缀是12位:10011000 01000000,与这两个地址不匹配;
152.0/11的前缀是11位:10011000 00000000,与这两个地址都匹配。
35. 已知地址块中的一个地址是140.120.84.24/20。试求这个地址块中的最小地址和最大地址。地址掩码是什么?地址块中共有多少个地址?相当于多少个C类地址?
答:给定地址的前缀是20位,因此我们只要观察地址的第三字节,只把第三字节写成二进制。
140.120.84.24 是 140.120.(0101 0100).24,取前20位,后面全是0,即得出最小地址。取前20位,后面全是1,即得出最大地址。
最小地址是: 140.120.(0101 0000).0/20= 140.120.80.0/20;
最大地址是: 140.120.(0101 1111).255/20=140.120.95.255/20。
地址数是212=4096,相当于16个C类地址。
36.已知地址块中的一个地址是190.87.140.202/29。重新计算上题。
答:给定地址的前缀是29位,因此我们只要观察地址的第四字节,只把第四字节写成二进制。
190.87.140.202/29 是 190.87.140.(1100 1010)/29,取前29位,后面全是0,即得出最小地址。取前29位,后面全是1,即得出最大地址。
最小地址是 190.87.140.(11001000)/29 = 190.87.140.200/29;
最大地址是 190.87.140.(1100 1111)/29 = 190.87.140.207/29。
地址数是23=8,相当于1/32个C类地址。
37.某单位分配到一个地址块136.23.12.64/26。现在需要进一步划分为4个一样大的子网。试问:
(1)每一个子网的网络前缀有多长?
(2)每一个子网中有多少个地址?
(3)每一个子网的地址是什么?
(4)每一个子网可分配给主机使用的最小地址和最大地址是什么?
答:
(1)原来网络前缀是26位,需要再增加2位,才能划分4个一样大的子网,每个子网前缀28位。
(2)每个子网的地址中有4位留给主机用,因此共有16个地址。(可用的有14个地址)
(3)四个子网的地址块是:
第一个地址块136.23.12.64/28,可分配给主机使用的:
最小地址:136.23.12.0100 0001=136.23.12.65/28
最大地址:136.23.12.0100 1110=136.23.12.78/28
第二个地址块136.23.12.80/28,可分配给主机使用的:
最小地址:136.23.12.0101 0001=136.23.12.81/28
最大地址:136.23.12.0101 1110=136.23.12.94/28
第三个地址块136.23.12.96/28,可分配给主机使用的:
最小地址:136.23.12.0110 0001=136.23.12.97/28
最大地址:136.23.12.0110 1110=136.23.12.110/28
第四个地址块136.23.12.112/28,可分配给主机使用的:
最小地址:136.23.12.0111 0001=136.23.12.113/28
最大地址:136.23.12.0111 1110=136.23.12.126/28
39. 试简述RIP,OSPF和BGP路由选择协议的主要特点。
主要特点 |
RIP |
OSPF |
BGP |
网关协议 |
内部 |
内部 |
外部 |
路由表内容 |
目的网,下一站,距离 |
目的网,下一站,距离 |
目的网,完整路径 |
最优通路依据 |
跳数 |
费用 |
多种策略 |
算法 |
距离矢量 |
链路状态 |
距离矢量 |
传送方式 |
运输层UDP |
IP数据报 |
建立TCP连接 |
其他 |
简单、效率低、跳数为16不可达、好消息传的快,坏消息传的慢 |
效率高、路由器频繁交换信息,难维持一致性
|
规模大、统一度量为可达性 |
41. 假定网络中的路由器B的路由表有如下的项目(这三列分别表示“目的网络”、“距离”和“下一跳路由器”)
N1 7 A
N2 2 B
N6 8 F
N8 4 E
N9 4 F
现在B收到从C发来的路由信息(这两列分别表示“目的网络”“距离”):
N2 4
N3 8
N6 4
N8 3
N9 5
试求出路由器B更新后的路由表(详细说明每一个步骤)。
答:先把收到的路由信息中的“距离”加1:
N2 5
N3 9
N6 5
N8 4
N9 6
路由器B更新后的路由表如下:
N17A 无新信息,不改变
N25C 相同的下一跳,更新
N39C 新的项目,添加进来
N65C 不同的下一跳,距离更短,更新
N84E 不同的下一跳,距离一样,不改变
N94F 不同的下一跳,距离更大,不改变
42. 假定网络中的路由器A的路由表有如下的项目(格式同上题):
N1 4 B
N2 2 C
N3 1 F
N4 5 G
现将A收到从C发来的路由信息(格式同上题):
N1 2
N2 1
N3 3
N4 7
试求出路由器A更新后的路由表(详细说明每一个步骤)。
答:先把收到的路由信息中的“距离”加1:
N1 3
N2 2
N3 4
N4 8
路由器A更新后的路由表如下:
N13C 不同的下一跳,距离更短,改变
N22C 不同的下一跳,距离一样,不变
N31F 不同的下一跳,距离更大,不改变
N45G 不同的下一跳,距离更大,不改变
54、某单位分配到一个起始地址为14.24.74.0/24的地址块。该单位需要用到三个子网,它们的三个子地址块的具体要求是:子网N1需要120个地址,N2需要60个地址,N3需要10个地址。请给出地址块的分配方案。
答:这个单位的地址块的网络前缀是24位,因此主机号有8位,即一共有256个地址。可以拿总地址的一半(128个)分配给子网N1。这个地址块的网络前缀是25位。
再将剩下的一半(64个)分配给子网N2。这个地址块的网络前缀是26位。
还剩下的64个地址,可以拿出1/4(即16个地址)分配给子网N3。这个地址块的网络前缀是28位。
最后剩下的48个地址留给以后再用。
这样,分配给子网N1的首地址是14.24.74.0/25,末地址是14.24.74.127/25。
分配给子网N2的首地址是14.24.74.128/26,末地址是14.24.74.191/26。
分配给子网N3的首地址是14.24.74.192/28,末地址是14.24.74.207/28。
65、试把以下零压缩的IPV6地址写成原来的形式。
(1)0::0
(2)0:AA::0
(3)0:1234::3
(4)123::1:2
答:被恢复的零压缩用下划线的0表示。
1、0000:0000:0000:0000:0000:0000:0000:0000
2、0000:00AA:0000:0000:0000:0000:0000:0000
3、0000:1234:0000:0000:0000:0000:0000:0003
4、0123:0000:0000:0000:0000:0000:0001:0002
66、从IPV4过渡到IPV6的方法有哪些?
答:由于现在整个互联网上使用IPV4的路由器数量太大,向IPV6过渡只能采用逐步演进的办法,同时,还必须使新安装的IPV6系统能够向后兼容。
下面介绍两种向IPV6过渡的策略,即使用双协议栈和隧道技术。
双协议栈是指在完全过渡到IPV6之前,使一部分主机装有两个协议栈,因此双协议栈主机既能够和IPV6的系统通信,又能够和IPV4的系统通信。
隧道技术的要点是在IPV6数据报要进入IPV4网络时,把IPV6数据报封装成为IPV4数据报。然后,IPV6数据报就在IPV4网络的隧道中传输。当IPV4数据报离开IPV4网络中的隧道时再把数据部分交给主机的IPV6协议栈。
第五章:
8 、为什么说UDP是面向报文的,而TCP是面向字节流的?
答:发送方 UDP对应用程序交下来的报文,在添加首部后就向下交付 IP层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界,即一次发送一个报文。
接收方 UDP对 IP 层交上来的 UDP用户数据报,在去除首部后就原封不动地交付上层的应用进程,即一次交付一个完整的报文。
发送方TCP对应用程序交下来的报文数据块,视为无结构的字节流(无边界约束,可分拆/合并),但维持各字节。
11、某个应用进程使用运输层的用户数据报UDP,然而继续向下交给IP层后,又封装成IP数据报。既然都是数据报,可否跳过UDP而直接交给IP层?哪些功能UDP提供了但IP没有提供?
答:不可跳过UDP而直接交给IP层
IP数据报只能找到目的主机而无法找到目的进程。如果应用进程直接把数据交给下面的IP层,那么在传送到对方IP层后,就只能交付目的主机,但不知道应当交付哪一个应用进程。
UDP提供对应用进程的复用和分用功能,以及提供对数据差分的差错检验。这些功能IP层没有提供。
13、一个UDP用户数据的数据字段为8192字节。在数据链路层要使用以太网来传送。试问应当划分为几个IP数据报片?说明每一个IP数据报片的数据字段长度和片偏移字段的值。
答:UDP用户数据报的长度=8192+8=8200B
以太网数据字段最大长度是1500B。若IP首部为20B,则IP数据报的数据部分最多只能有1480B。8200=1480*5+800,因此划分的数据报片共6个。
数据字段的长度:前5个是1480字节,最后一个是800字节。
片偏移字节分别是:0,1480B,2960B,4440B,5920B和7400B。
把片偏移字节数除以8,就得出片偏移字段中应当写入的数值:0,185,370,555,740,925。
17、在停止等待协议中,如果收到重复的报文段时不予理睬(即悄悄地丢弃它而其他什么也没做)是否可行?试举出具体的例子说明理由。
答:不行。
A发送报文段M1,B收到后发送确认,但这个确认丢失了。
A超时重传报文段M1,B收到后不予理睬。这就导致A一直超时重传报文段M1。
31、通信信道带宽为1Gb/s,端到端时延为10ms。TCP的发送窗口为65535字节。试问:可能达到的最大吞吐量是多少?信道的利用率是多少?
答: 发送一个窗口的比特数为65535*8=524280bit
所需时间为524280bit / 109bit/s=0.524*0.001s=0.524ms
往返时间为20ms
最大吞吐量为(0.524280Mbit) /(20ms+0.524ms )=25.5Mb/s
信道利用率为(25.5Mb/s)/(1000Mb/s)=2.55%
37、在TCP的拥塞控制中,什么是慢开始、拥塞避免、快重传和快恢复算法?这里每一种算法各起什么作用? “乘法减小”和“加法增大”各用在什么情况下?
答:慢开始:
在主机刚刚开始发送报文段时可先将拥塞窗口cwnd设置为一个最大报文段MSS的数值。在每收到一个对新的报文段的确认后,将拥塞窗口增加至多一个MSS的数值。用这样的方法逐步增大发送端的拥塞窗口cwnd,可以分组注入到网络的速率更加合理。
拥塞避免:
当拥塞窗口值大于慢开始门限时,停止使用慢开始算法而改用拥塞避免算法。拥塞避免算法使发送的拥塞窗口每经过一个往返时延RTT就增加一个MSS的大小。
快重传算法规定:
发送端只要一连收到三个重复的ACK即可断定有分组丢失了,就应该立即重传丢手的报文段而不必继续等待为该报文段设置的重传计时器的超时。
快恢复算法:
当发送端收到连续三个重复的ACK时,就重新设置慢开始门限 ssthresh
与慢开始不同之处是拥塞窗口 cwnd不是设置为 1,而是设置为ssthresh
若收到的重复的AVK为n个(n>3),则将cwnd设置为ssthresh
若发送窗口值还容许发送报文段,就按拥塞避免算法继续发送报文段。
若收到了确认新的报文段的ACK,就将cwnd缩小到ssthresh
乘法减小:
是指不论在慢开始阶段还是拥塞避免阶段,只要出现一次超时(即出现一次网络拥塞),就把慢开始门限值 ssthresh设置为当前的拥塞窗口值乘以 0.5。
当网络频繁出现拥塞时,ssthresh值就下降得很快,以大大减少注入到网络中的分组数。
加法增大:
是指执行拥塞避免算法后,在收到对所有报文段的确认后(即经过一个往返时间),就把拥塞窗口 cwnd增加一个 MSS大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞。
54、某客户使用UDP将数据发送给一服务器,数据共16字节。试计算在运输层的传输效率。
答:UPD用户数据报的总长度=8+16=24字节。
因此,在运输层的传输效率=16/24=0.667。
55、重做54,但在IP层计算传输效率。假定IP首部无选项。
答:IP数据报的总长度=20+24=44字节。
因此,在IP层的传输效率=16/44=0.324。
56、重做54,但在数据链路层计算传输效率。假定IP首部无选项,在数据链路层使用以太网。
答;以太网有14字节的首部,4字节的尾部(FCS字段)。但其数据字段的最小长度是46字节,而我们的IP数据报仅有44字节,因此还必须加上2字节的填充。这样,以太网的总长度=14+4+2+44=64字节。
因此,在数据链路层的传输效率=16/64=0.25。
如果再考虑到发送以太网的帧之前还有8字节的前同步码。把这8字节计入后,在数据链路层的传输效率=16/72=0.222。
59、TCP连接使用1000字节的窗口值,而上一次的确认号是22001。它收到了一个报文段,确认了字节22401。试用图来说明在这之前与之后的窗口情况。
60、同上题,但在接收方收到的字节为22401的报文段时,其窗口字段变为1200字节。试用图来说明在这之前与之后的窗口情况。