计网复习随笔(1)——题目复习
概述
1:简述分组交换的要点
答:①:主机是为用户进行信息处理的;
②:路由器是用来转发分组的(即进行分组交换)
③:单个分组(整个保温的一部分)传送到相邻结点,储存接下来后查找转发表,转发到下一个结点。
2:试从多个方面比较电路交换、报文交换和分组交换的主要优缺点
答:电路交换——整个报文的比特流连续地从源头直达终点,好像在一个管道中运输。对于连续、大量的数据效率高,端对端的通信质量得到可靠保障。
报文交换:无须预约传输带宽,动态逐段利用传输贷款对突发式数据通信效率高,通信迅速。
分组交换:具有报文交换的高效、迅速的特点,且各个分组小,路由灵活,网络生存性能好。
3:试在下列条件下比较电路交换和分组交换。要传送的报文共 x(bit)。从源点到终点共经过 k 段链路,每段链路的传播时延为 d(s),数据率为 b(b/s)。在电路交换时电路的建立时间为 s(s)。在分组交换时分组长度为 p(bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草图观察 k 段链路共有几个结点。)
答:线路交换时延:kd+x/b+s
分组交换时延:kd+(x/p)(p/b)+ (k-1)(p/b)
其中(k-1)(p/b)表示K段传输中,有(k-1)次的储存转发延迟,当s>(k-1)(p/b)时,分组交换的时延比电路交换的时延小,当x>>p,相反。
4:在上题的分组交换网中,设报文长度和分组长度分别为x和(p+h)(bit),其中p为分组的数据部分的长度,h为每个分组所添加的首部长度,与p的大小无关。通信的两端共经过k段链路。链路的数据率为b(bit/s),但传播时延和节点的排队时间均可忽略不计。若打算使总的时延为最小,问分组的数据部分长度p应取为多大?(提示:参考图1-11的分组交换部分,观察总的实验由哪几部分组成)
答:总时延D表达式,分组交换时延为:D= (x/p)((p+h)/b)+ (k-1)(p+h)/b ,D对p求导后,令其值等于0,求得p=[(xh)/(k-1)]^0.5
5:收发两端之间的传输距离为1000km,信号在媒体上的传播速率为2×10^8 m/s试计算以下两种情况的发送时延和传播时延:
(1) 数据长度为 10^7bit,数据发送速率为100kb/s。
(2) 数据长度为 10^3bit,数据发送速率为1Gb/s。
从上面的计算中可以得到什么样的结论?(可以参照第10题上面的计算公式)
答:(1)发送时延:ts=10^7/10^5=100s
传播时延tp=10^6/(2×10^8)=0.005s
(2)发送时延ts =10^3/10^9=1µs
传播时延:tp=10^6/(2×10^8)=0.005s
结论:若数据长度大而发送速率低,则在总的时延中,发送时延往往大于传播时延。但若数据长度短而发送速率高,则传播时延就可能是总时延中的主要成分。
6:假设信号在媒体上的传播速度为2.3×10^8m/s.媒体长度L分别为:
(1)10cm(网络接口卡)
(2)100m(局域网)
(3)100km(城域网)
(4)5000km(广域网)
试计算出当数据率为1Mb/s和10Gb/s时在以上媒体中正在传播的比特数。
答:
(1)传播时延= 0.1/(2.3×10^8)=4.35×10^{-10},
1Mb/s:比特数=4.35×10^{-10}×1×10^6=4.35×10^{-4}
10Gb/s:比特数=4.35×10^{-10}×1×10^{10}=4.35
(2)传播时延=100/(2.3×10^8)=4.35×10^{-7}
1Mb/s:比特数=4.5×10^{-7}×1×10^6=4.35×10^{-1}
10Gb/s:比特数=4.35×10^{-7}×1×10^10=4.35×10^3
(3) 传播时延=100000/(2.3×10^8)=4.35×10^{-4}
1Mb/s: 比特数=4.35×10^{-4}×1×10^6=4.35×10^2
10Gb/s: 比特数=4.35×10^{-4}×1×10^10=4.35×10^6
(4)传播时延=5000000/(2.3×10^8)=2.17×10^{-2}
1Mb/s: 比特数=2.17×10^{-2}×1×10^6=2.17×10^4
10Gb/s: 比特数=2.17×10^{-2}×1×10^10=2.17×10^8
7:长度为100字节的应用层数据交给传输层传送,需加上20字节的TCP首部。再交给网络层传送,需加上20字节的IP首部。最后交给数据链路层的以太网传送,加上首部和尾部工18字节。试求数据的传输效率。数据的传输效率是指发送的应用层数据除以所发送的总数据(即应用数据加上各种首部和尾部的额外开销)。若应用层数据长度为1000字节,数据的传输效率是多少?
答:
(1)100/(100+20+20+18)=63.3%
(2)1000/(1000+20+20+18)=94.5%
8:论述具有五层协议的网络体系结构的要点,包括各层的主要功能。
答:它综合了OSI 和TCP/IP 两种体系结构的优点,采用的一种原理体系结构。
各层的主要功能:
(1)物理层:物理层的任务就是透明地传送比特流。(注意:传递信息的物理媒体,如双绞线、同轴电缆、光缆等,是在物理层的下面,当做第0层。) 物理层还要确定连接电缆插头的定义及连接法。
(2)数据链路层:数据链路层的任务是在两个相邻结点间的线路上无差错地传送以帧(frame)为单位的数据。每一帧包括数据和必要的控制信息。
(3)网络层:网络层的任务就是要选择合适的路由,使 发送站的运输层所传下来的分组能够正确无误地按照地址找到目的站,并交付给目的站的运输层。
(4)运输层:运输层的任务是向上一层的进行通信的两个进程之间提供一个可靠的端到端服务,使它们看不见运输层以下的数据通信的细节。
(5)应用层:应用层直接为用户的应用进程提供服务。
9:假定要在网络上传送1.5MB的文件。设分组长度为1KB,往返时间RTT=80ms。传送数据之前还需要有建立TCP连接的时间,这时间时2*RTT=160ms。试计算在以下几种情况下接收方收完该文件的最后一个比特需要的时间。
(1)数据发送速率为10Mbit/s,数据分组可以连续发送。
(2)数据发送速率为10Mbit/s,但每发送完一个分组后要等待一个RTT时间才能在发送下一个分组。
(3)数据发送速率极快,可以不考虑发送数据所需要的时间。但规定在每一个RTT往返时间内只能发送20个分组。
(4)数据发送速率极快,可以不考虑发送数据所需要的时间。但在第一个RTT往返时间内只能发送一个分组,在第二个RTT内可以发送两个分组,在第三个RTT内可以发送四个分组。
答:题目的条件中的M=2^{20}==1048576约等于10^{6}B,K=2^{10}=1024约等于10^{3}B ,1B=1字节=8bit=8b
(1)发送这些比特所需时间=1.5×2^{20}×8bit/(10×10^6bit/s)=1.258(s)
最后一个分组传播到达目的地还需要0.5×RTT=40ms时间。总共需要的时间=2×RTT+1.258+0.5×RTT=0.16+1.258+0.04=1.458(s)
(2)需要划分的分组数=1.5MB/1KB=1536(组)
建立时间:2xRTT = 0.16(s)
总的发送时间:仍是1.258(s)
最后一个分组传播到达目的地需要:0.5×RTT=40(ms)=0.04(s)(二分之一往返时间)
从第一个分组最后一个比特到达直到最后一个分组第一个比特到达需要经历:1535×RTT=1535×0.08=122.8(s)
总共需要的时间=0.16+1.258+0.04+122.8=1.458+122.8=124.258(s)
(3)在每一个RTT往返时间内只能发送20个分组。1536个分组,需要76个整的RTT,76个RTT可以发送76×20=1520个分组,最后剩下16个分组,一次发送完。但最后一次发送的分组到达接收方也需要0.5×RTT。
因此,总共需要的时间=2×RTT+76×RTT+0.5×RTT=6.12+0.16=6.28(s)
(4)在两个RTT后就开始传送数据。共 1536个分组
经过n个RTT后就发送了1+2+4+…+2n=2^n-1个分组。
若n=10,那么只发送了 2^n-1=1023个分组。可见10个RTT不够。
若n=11,那么只发送了 2^n-1= 2047个分组。可见11个RTT足够了。
这样,考虑到建立TCP连接的时间和最后的分组传送到终点需要的时间,(最后一次,不考虑返回)现在总共需要的时间=(2+10+0.5)×RTT=12.5×0.08=1(s)
10:有一个对点链路,长度为50KM。若数据在此链路上的传播速率为 2×10^8m/s,试问链路的带宽为多少才能使传播时延和发送100字节的分组的发送时延一样大?如果发送的是512字节长的分组,结果又是如何?
答:传播时延=信道长度/传播速率= 5×10^4m/2×10^8m/s=2.5×10^{-4}s=2.5×10−4s
100字节:此时的带宽=时延带宽积/传播时延=100×8bit/2.5×10^{-4}=3.2M/bit此时需要带宽为3.2M/bit。
512字节:此时的带宽=时延带宽积/传播时延=512×8bit/2.5×10^{-4}=16.384M/bit=16.384M/bit;此时需要的带宽为16.384M/bit。
11:有一个点对点链路,长度为 20000 km。数据的发送速率是 1kbit/s。要发送的数据有100bit。数据在此链路上的传播速度为 2 × 1 0 8 m / s 2×10^8m/s 2×108m/s;假定我们可以看见在线路上传播的比特,试画出我们看到的线路上的比特(画两个图,一个在100 bit 刚刚发送完时,另一个是再经过 0.05 s 后)。
答:
发送时延=数据帧长度/发送速率=100bit/1kbit/s=0.1s
传播时延=信道长度/传播速率=2×10^7m/2×10^8m/s=0.1s
所以我们就可以清楚的知道当一个100bit刚刚发送完时,第一个bit刚好到终点,再经过0.05s后是信道上还有50bit
13. 主机A向主机B发送一个长度为10^7 比特的报文。中间要经过两个节点交换机,即一共经过三段链路。设每条链路的传输速率为2Mbit/s。忽略所有时延。
(1)如果采用报文交换,即整个报文不分段,每台节点交换机收到整个的报文后再转发。问从主机A把报文传送到第一个节点交换机需要多少时间?从主机A把报文传送到主机B需要多长时间?
答:第一节点时间=数据长度/传播速率=10^7bit/2×10^6bit/s=5s 107bit/2×106bit/s=5s
从A到B的总时间=3×节点时间=15s
(2)如果采用分组交换。报文被划分为1000个等长的分组,并连续发送。节点交换机能够边接受边发送。试问从主机A把第一个分组传送到第一个节点交换机需要的时间?从主机A把第一个分组传送到主机B需要多少时间?从主机A把1000个分组传送到主机B需要多少时间?
答:分成1000个分组,则每个分组有10^4个bit。
第一个分组到达第一个节点的时间=1×10^4bit/2×10^6/s=0.005s
第一个分组到达主机B的时间=3×0.005s=0.015s
1000个分组到达主机B的时间=0.005s×1000+0.01s=5.01s
(3)就一般情况而言,比较用整个报文来传送和用划分多个分组来传送的优缺点。
报文交换:报文是通信链路中一次要发送的数据,报文交换就是把整个报文完整的发送到链路中,在某个节点存储下来之后再发送到下一个节点。
优点:更加灵活。不需要事先建立连接之后再进行通信。
缺点:当每个报文的数据量较大时,每次在节点处转发再存储的话时延较大。
分组交换:分组交换采用转发存储技术,将一个完整的报文,分成若干个分组,再进行转发,而且每个分组之间经过哪一个节点,与上一个分组完全没有关系,这一点在某些网络节点发生网络阻塞时会显得尤其重要。
优点:发送数据更加灵活,时延更下。
缺点:发送设备和接收设备就更加复杂。
14.主机A向主机B连续传送一个600000bit的文件。A和B之间有一条带宽为1Mbit/s的链路相连,距离为5000KM,在此链路上的传播速率为 2.5 × 1 0 8 m / s 。 2.5×10^8m/s。 2.5×108m/s。
(1)链路上的比特数目的最大值是多少?
答:带宽时延积=带宽×(距离/传播速率)=1Mbit/s×5000KM/2.5×10^8m/s=2×10^4bits
则最大比特数目为2×10^4个。(区分于时延带宽积)
(2)链路上每比特的宽度是多少?
答:宽度=链路长度/带宽时延积=5×10^6m/2×10^4bits=250m
(3)若想把链路上每比特的宽度变为5000KM,这时应把发送速率调整到什么数值?
答:宽度=链路长度/时延带宽积=5×10^6m/带宽时延积=5×10^6m则时延带宽积=1bits。
时延带宽积=带宽×(距离/传播速率)=带宽×5000KM/ 2.5×10^8m/s =1bits;则带宽=50bit/s,即发送速率为50bit/s。
15.主机A到主机B的路径有三段路,其速率分别为2Mbit/s,1Mbit/s和500kbit/s。现在A向B发送一个文件。
(1)试计算该文件传送的吞吐量。
答:吞吐量为三段路中速率最小的那一个,所以吞吐量为500kbit。
(2)设文件长度为10MB,而网络上没有其他流量。试问该文件从A传送到B大约需要多少时间?为什么这里只是计算大约的时间?
答:文件大小为10×10^6×8bit=8×10^7bit
传送速率=吞吐量/单位时间=500kbit/s
时间=文件大小/吞吐量传送速率=8×10^7bit/5×10^5bit/s=160s
因为在计算机使用过程中不可能只有这一个文件进行传输,其他文件的传输也在占用传输通道,但无法知道有多少个文件进行传输,所以只能进行假设只有这一个文件进行传输,所以只能计算大约的时间。
物理层
1.物理层要解决哪些问题?物理层的主要特点是什么?
答:物理层要解决的主要问题:
(1)物理层要尽可能地屏蔽掉物理设备和传输媒体,通信手段的不同,使数据链路层感觉不到这些差异,只考虑完成本层的协议和服务。
(2)给其服务用户(数据链路层)在一条物理的传输媒体上传送和接收比特流(一般为串行按顺序传输的比特流)的能力,为此,物理层应该解决物理连接的建立、维持和释放问题。
(3)在两个相邻系统之间唯一地标识数据电路。
2.假定某信道受奈氏准则限制的最高码元速率为20000码元/秒。如果采用振幅调制,把码元的振幅划分为16个不同等级来传送,那么可以获得多高的数据率(b/s)?
解:C=Rlog2(16)=20000b/s×4=80000b/s.
3.用香农公式计算一下,假定信道带宽为3100Hz,最大信道传输速率为35Kb/s,那么若想使最大信道传输速率增加60%,问信噪比S/N应增大到多少倍?如果在刚才计算出的基础上将信噪比S/N再增大到十倍,问最大信息速率能否再增加20%?
解:C=Wlog2(1+S/N)
35000b/s=3100log2(1+S/N)
S/N= 2 35000 / 3100 2^{35000/3100} 235000/3100-1
则是信道传输速率变为35Kb/s(1+0.6)=56Kb/s
S/N1= 2 56000 / 3100 2^{56000/3100} 256000/3100-1
此时S/N扩大到原来的100倍
C1=Wlog2(1+10S/N1)
C1/56Kb/s=118.5%
此时信息速率只能提升18.5%
4.为什么要使用信道复用技术?常用的信道复用技术有哪些?
答:为了通过共享信道,最大限度提高信道利用率。
频分、时分、码分、波分。
5.码分多址CDMA为什么可以使所有用户在同样的时间使用同样的频带进行通信而不会互相干扰?这种复用方法有何优缺点?
答:各用户使用经过特殊挑选的相互正交的不同码型,因此彼此不会造成干扰。 这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。占用较大的带宽。
6.共有4个站进行码分多址通信。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
数据链路层
1.数据链路层的三个基本问题(封装成帧、透明传输和差错检测)为什么都必须加以解决?
答:封装成帧是分组交换的必然要求;
透明传输避免消息符号与帧定界符号相混淆;
差错检测防止合差错的无效数据帧浪费后续路由上的传输和处理资源。
2.要发送的数据为1101011011。采用CRC的生成多项式是P(X)= X 4 X^4 X4+X+1。试求应添加在数据后面的余数。
(1)数据在传输过程中最后一个1变成了0,问接收端能否发现?
(2)若数据在传输过程中最后两个1都变成了0,问接收端能否发现?
(3)采用CRC检验后,数据链路层的传输是否就变成了可靠的传输?(可以参考第七题上面的计算公式)
答:
(1)作二进制除法,被除数为11010110110000,除数为10011得余数1110
若最后一个变为0,则1101011010 1110/10011(模2除法)得余数为0011,余数不为0,故接收端可以发现。
(2)若最后两个成为0,则1101011000 1110/10011(模2除法) 得余 0101,余数不为0,故接收端可以发现。
(3)采用了CRC检验,缺重传机制,接收端不能发现,数据链路层的传输还不是可靠的传输。
3.一个PPP帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是什么(用十六进制写出)?
答:
(1)当信息字段中出现0x7E字节转变为2字节序列(0x7D,0x5E)
(2)当信息字段中出现一个0x7D字节转变为2字节序列(0x7D,0x5D)
那么这样就很好做了,那么实际的数据为7E FE 27 7D 7D 65 7E
4.PPP协议使用同步传输技术传送比特串0110111111111100。试问经过零比特填充后变成怎样的比特串?若接收端收到的PPP帧的数据部分是0001110111110111110110,问删除发送端加入的零比特后变成怎样的比特串?
答:0比特填充后:011011111011111000
删除零比特后:00011101111111111110
5.假定在使用CSMA/CD协议的10Mb/s以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数r=100。试问这个站需要等待多长时间后才能再次发送数据?如果是100Mb/s的以太网呢?
答:对于10Mb/s的以太网,以太网把争用期时间定为51.2微秒,要退后100个争用期,等待时间是51.2微妙×100=5.12ms
对于100Mb/s的以太网,以太网把争用期定为5.12微秒,要退后100个争用期,等待时间是5.12微秒×100=0.512ms
6.假定站点A和B在同一个10Mb/s以太网网段上。这两个站点之间的传播时延为225比特时间。现假定A开始发送一帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网所容许的最短的帧,那么A在检测到和B发生碰撞之前能否把自己的数据发送完毕?换言之,如果A在发送完毕之前并没有检测到碰撞,那么能否肯定A所发送的帧不会和B发送的帧发生碰撞?(提示:在计算时应当考虑到每一个以太网帧在发送到信道上时,在MAC帧前面还要增加若干字节的前同步码和帧定界符)
答:
设在t=0时A开始发送,在t=(64+8)×8=576比特时间,A应当发送完毕。
t=225比特时间,B就检测出A的信号。
只要B在t=224比特时间之前发送数据,A在发送完毕之前就一定检测到碰撞,就能够肯定以后也不会再发送碰撞了如果A在发送完毕之前并没有检测到碰撞,那么就能够肯定A所发送的帧不会和B发送的帧发生碰撞(当然也不会和其他站点发生碰撞)。
7.在上题中的站点A和B在t=0时同时发送了数据帧。当t=255比特时间,A和B同时检测到发生了碰撞,并且在t=255+48=273比特时间完成了干扰信号的传输。A和B在CSMA/CD算法中选择不同的r值退避。假定A和B选择的随机数分别是rA=0和rB=1。试问A和B各在什么时间开始重传其数据帧?A重传的数据帧在什么时间到达B?A重传的数据会不会和B重传的数据再次发生碰撞?B会不会在预定的重传时间停止发送数据?
答:
t=0时,A和B开始发送数据T1=225比特时间,A和B都检测到碰撞(tau)T2=273比特时间,A和B结束干扰信号的传输(T1+48)T3=594比特时间,A 开始发送(T2+Tau+rATau+96)T4=785比特时间,B再次检测信道。(T4+T2+Tau+RbTau)如空闲,则B在T5=881比特时间发送数据、否则再退避。(T5=T4+96)A重传的数据在819比特时间到达B,B先检测到信道忙,因此B在预定的881比特时间停止发送。
8.以太网上只有两个站,它们同时发送数据,产生了碰撞。于是按截断二进制指数退避算法进行重传。重传次数记为i,i=1,2,3,……。试计算第1次重传失败的概率、第2次重传的概率、第3次重传失败的概率,以及一个站成功发送数据之前的平均重传次数I。
答:
将第i次重传成功的概率记为Pi。
显然第一次重传失败的概率为0.5,第二次重传失败的概率为0.25,第三次重传失败的概率为0.125。
可得平均重传次数I=1.637
9.在图3-30 中,某学院的以太网交换机有三个接口分别和学院三个系的以太网相连,另外三个接口分别和电子邮件服务器、万维网服务器以及一个连接互联网的路由器相连。图中的A,B和C都是100Mbit/s以太网交换机。假定所有的链路的速率都是100Mbit/s,并且图中的9台主机中的任何一个都可以和任何–个服务器或主机通信。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?
答:因为通过交换机连接的局域网内主机可以并行发送数据,所以9台主机的吞吐量为900M,两个服务器吞吐量为200M,所以总吞吐量为1100M。
10.假定在图3-30中的所有链路的速率仍然为100 Mbit/s,但三个系的以太网交换机都换成为100Mbit/s的集线器。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?
答:如果把三台交换机换成集线器,由于集线器是总线型,同一集线器下同一时刻只能一台设备发送数据,所以图中9台主机其实只有三台在发送,吞吐量是300M,两个服务器吞吐量是200M,所以吞吐总量是500M。
11.假定在图3-30(上图)中的所有链路的速率仍然为100 Mbit/s,但所有的以太网交换机都换成为100Mbit/s的集线器。试计算这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?
答:一个网络中无论其中有多少台主机或者服务器,如果全部接在一个集线器上,那么该网络的最大总的吞吐量就是这个集线器的最大值,即100M。
12.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!