常见填空题:
数据通信网络按照覆盖的物理范围分类可分为:LAN、WAN、MAN
计算机网络的两大主要功能是:数据通信和资源共享
计算机网络的主要性能指标:速率、带宽、吞吐量、时延、RTT 等
常见的有线传输介质主要有:双绞线、同轴电缆和光纤
模拟信号的数字化过程主要包括:抽样、量化和编码三个过程
带通信号的数字调制技术主要有:ASK、FSK、PSK、AQM 等
信道复用技术主要有:FDM、TDM、WDM、CDMA 等
TCP 采用 滑动窗口 实现流量控制。
URL 的中文含义是:统一资源定位符 。
发送和接收邮件通常采用的协议分别是:SMTP 和 POP3 。
DHCP 的作用是:用于给主机自动分配 IP 地址。
一个 TCP 连接的套接字由IP地址和端口号 构成。
1-15 假设信号在传输介质上的传播速率为200000m/s。介质长度分别为:①10cm(网卡) ②100m(局域网) ③100km(城域网) ④5000km(广域网)。试计算当数据信号速率为1Mb/s和10Gb/s时,在以上介质中正在传播的比特数。(此题目意思即求时延带宽积)
传播时延=信道长度(m)/ 电磁波在信道中的传播速率(m/s)
时延带宽积=传播时延×带宽
(1)传播时延=0.1m÷200000000m/s=5×10^(-10)s
1Mb/s:5×10^(-10)×10^6=5×10^(-4)b
10Gb/s:5×10^(-10)×10×10^9=5b
(2)传播时延=100m÷200000000m/s=5×10^(-7)s
1Mb/s:5×10^(-7)×10^6=0.5b
10Gb/s:5×10^(-7)×10×10^9=5000b
(3)传播时延=100km÷200000km/s=5×10^(-4)s
1Mb/s:5×10^(-4)×10^6=500b
10Gb/s:5×10^(-4)×10×10^9=5000000b
(4)传播时延=5000km÷200000km/s=0.025s
1Mb/s:0.025×10^6=2.5×10^4b
10Gb/s:0.025×10×10^9=2.5×10^8b
1-17 假设发送站与接收站之间采用同轴电缆,其距离为1000km,已知信号在同轴电缆上的传播速率为200000km/s。试计算以下两种情况的传输时延和传播时延:
①报文长度为10^7b,数据信号速率为100kb/s。
②报文长度为10^3b,数据信号速率为1Gb/s。
从以上计算结果可得出何种结论?
发送时延(传输时延)=数据帧长度(b) / 信道带宽(b/s)
传播时延=信道长度(m)/ 电磁波在信道中的传播速率(m/s)
(1)传输时延=10^7b÷100000b/s=100s
传播时延=1000km÷200000km/s=5ms
此时传输时延远大于传播时延。
(2)传输时延=10^3b÷10^9b/s=10^(-6)s
传播时延=1000km÷200000km/s=5ms
此时传输时延远小于传播时延。
1-18 一个客户/服务器系统使用卫星网络进行通信,若卫星高度为40000km。试问在响应一个请求时,在最佳情况下的延迟是多少?
v光=3×10^5km/s,从发送请求到响应请求的距离为d=4×40000km=160000km,延迟时间t=d/v光=533ms
1-19 若有一长度为100km的点对点的光缆链路,数据在此链路上的传播速率约为2×10^5km/s,试问链路的带宽为多少时才能使传播时延和100B分组的发送时延相同?如果分组长度改为512B,结果又是什么?
根据传播时延和发送时延的公式:
发送时延(传输时延)=数据帧长度(b) / 信道带宽(b/s)
传播时延=信道长度(m)/ 电磁波在信道中的传播速率(m/s)
则100km/(2×10^5km/s)=100×8b/带宽
即带宽=1.6Mb/s.
同理,若分组长度改为512B,可算得带宽=8.192Mb/s.
1-22 假设用户数据的长度为100B,交给应用层需加上20B的应用层首部。应用层交给传输层,还需加上20B的TCP首部。再加上20B的IP首部。接着交给数据链路层的以太网传送,加上首部和尾部共18B.最后再交给物理层发送出去之前,还需在数据链路层下交的帧前面还要加8B的前导码。试问:①此时的数据传输效率是多少?②如果应用层数据的长度为1000B,那么数据的传输效率又是多少?
①用户数据长度为100B时,以太网的帧长为178B,在物理层形成的比特流长度是186B,此时的数据传输效率为100/186=53.8%。
②用户数据长度为1000B时,以太网的帧长为1078B,在物理层形成的比特流长度是1086B,此时的数据传输效率为1000/1086=92.1%。
数据的传输效率=发送的应用层数据÷所发送的总数据
2-05 试求下列情况的传输速率。
(1)200波特2态调频线路的数据传输速率Rc为多少?(采用ASCII编码、串行起止同步方式)
(2)1200波特2态调频线路的数据信号速率Rb为多少?
(3)设传输方式为8路并行传输、采用2态调频,已知调频速率RB为75波特,那么每路一个单位调制信号波的时间长度Ti为多少?这种传输方式的数据信号速率Rb为多少?
调制率(波特率、码元率)与数据率的关系:
Rb=RB·log2(M),需是串行传输
Rb为数据率,单位为b/s;
数据信号速率定义如下:
n为并行传输的通路数;Ti为第i路一个单位调制信号波的时间长度(s);Mi为第i路调制信号波的状态数
RB为波特率,单位为波特(baud),意为每秒钟传输的信号码元个数,RB=1/T(s) (baud),T(s)为一个单位调制信号的时间长度
M为波形个数
(2)根据上述公式易得,Rb=1200×log2(2)=1200b/s。
(3)根据RB=1/T,则Ti=1/RB=1/75=0.013(s)
Rb=8×75=600b/s
2-08 如果一放大器的增益为30dB,试求这个放大器的电压放大倍数。若该放大器输出为20mW,用dBm表示,其输出是多少?
D=10lg(P2/P1)=20lg(V2/V1)=20lg(I2/I1) (dB)
P2:系统输出功率
P1:系统输入功率
Dm=10lgP/1mW(dBm)
30dB=10lg(V2/V1) 即电压放大倍数为:31.6
Dm=10lg(20mW/1mW)=13.010dbm
2-09 如果13dB衰减器的输入功率是2mW,试问该衰减器的输出功率为多少?
D=10lg(P2/P1)
P2:系统输出功率
P1:系统输入功率
-13dB=10lg(P2/2mW),即P2=0.1002mW
3-2 已知模拟话路信道的带宽为3.4kHz,试问:
(1)接收端信噪比S/N=30dB时的信道容量为多少?
(2)如要求该信道的传输为4800b/s,则接收端要求最小信噪比S/N为多少?
香农公式:C=Blb(1+Ps/Pn)
又S/N=10lgPs/Pn
C为信道容量,单位为b/s,B为带宽,单位为Hz
(1)可计算得C=33888.6b/s
(2)可计算得S/N=2.2db
3-3 假定要用3kHz带宽的电话信道传送64kb/s的数据(无差错传输),试问这个信道应有多大的信噪比(分别用比值和分贝来表示)?这个结果说明说明问题?
香农公式:C=Blb(1+Ps/Pn)
又S/N=10lgPs/Pn
可得S/N=64.113db,说明这是一个信噪比很高的信道。
3-5 设在某信道上实现传真传输。每幅图片约有2.55×10^6个像素,每个像素有12个等概率出现的亮度等级。设信道输出信噪比S/N为30dB.试求:
(1)若传送一幅图片需时1min,则此时的信道带宽应为多少?
(2)若在带宽为3.4kHz的信道上传送此幅图片,那么传送一幅图片所需的时间是多少?
(1) 为表示每个像素得12个亮度等级,所需要的信息量为lb2^4=4(b),8<12<16
则一幅图片需要传输的信息量:2.55×10^6×4=10200000(bit)
由于文件传输需要一分钟,所以图片信息的传输率为:R=10.2×10^6/60=170000bit/s
又由于香农公式:C=Blb(1+Ps/Pn),则B=0.17×10^6/lb(1+1000)=17KHz
(2)根据C=Blb(1+Ps/Pn),C=3400*3.32lg(1+1000)=33864bit/s
又R<=C,取R=C,则T=10.2×10^6/33865=301s
注:lbx=log2(x)=3.32lg(x)
3-6 若在一条光纤上传送若干幅计算机屏幕图像。屏幕的分辨率为480×640像素,每个像素24位。每秒钟产生60幅屏幕图像。试问光纤需有多少带宽?如在1.30μm波段需要多少微米的波长?
数据速率为480×640×24×60bps,即442Mbps
△f=4.42×10^8
f=c/λ df/dλ=c/(λ^2)
|△f|=λ2*△f/c=(1.3×10-6)2×4.42×108/3×108
=2.5×10-12m=2.5×10-6μm
需要442Mbps的带宽,对应的波长范围是2.5×10-6μm
4-08 已知码元速率为200波特,试求8PSK系统的数据信号速率。
若一个码元携带k bit的信息量,则“比特/秒”=“波特/秒”,
则M Baud的码元传输速率对应的信息传输速率为M*k bit/s。
M=2^k(由于M=8,则k=3,即一码元携带3bit信息量)
Rb=200*3 bit/s
4-18 有一通频带为100kHz的信道,假设每路信号的带宽为3.3kHz,保护频带为0.8kHz,若采用频分多路复用,试问能传输的最多路数?
频分多路复用:信道带宽和各子频带之间的关系:
B=Σbi(从i=1到n)+(n-1)Δb
bi为每一条子频带的带宽,n为被分割的子频带路数,Δb为相邻两条频带之间的保护频带。
n*3.3+(n-1)*0.8<=100,即n=24.
4-23 若有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)
现收到这样的码片序列:(-1+1-3+1-1-3+1+1)。问哪个站发送了数据?发送数据的站发送的是1还是0?
用站的码片序列与收到的信号求规格化内积。
若内积结果为+1,说明站发送1比特;若内积结果为-1,说明站发送比特0;若内积结果为0,说明站没有发送信息。
A·S=(-1-1-1+1+1-1+1+1)·(-1+1-3+1-1-3+1+1)/8=1
B·S=(-1-1+1-1+1+1+1-1)·(-1+1-3+1-1-3+1+1)/8=-1
C·S=(-1+1-1+1+1+1-1-1)·(-1+1-3+1-1-3+1+1)/8=0
D·S=(-1+1-1-1-1-1+1-1)·(-1+1-3+1-1-3+1+1)/8=1
即A、D站发送比特1,C未发送比特,B发送比特0.
4-29 假设交换网具有下列参数:从源站到目的站的中继站数为n,即需要经过k段链路(k=n+1);每段链路的传播时延为d(s);需要传送的报文长度为l(b);线路传输速率为b(b/s)。在电路交换时,电路的建立时间为s(s)。在分组交换时,分组长度为p(b),且各结点的排队时间可忽略不计。试问:
(1)对电路交换和分组交换,导出端到端时延的一般表达式。
电路交换:时延=建立时间+发送时延+传播时延+结束时间(其中发送时延+传播时间=数据传输时间)
分组交换:时延=发送时延+传播时延。由于分组交换是存储转发,即每到一个站点需要再次发送时延。计算分组交换的时延即计算最后一个分组到达的时间。
电路交换:s+l/b+kd(建立时间+发送时延+传播时延,此题没有结束时间)
分组交换:⌈l/p⌉p/b+kd+(k-1)p/b(发送时延:⌈l/p⌉p/b+(k-1)p/b,传播时延:kd)
⌈ ⌉表示大于它的最大整数,⌊ ⌋ 表示小于它的最大整数
(2) 在什么情况下,分组交换的时延小于电路交换的时延。
⌈l/p⌉p/b+kd+(k-1)p/b
即l>>p时,上述条件可表示为(k-1)p/b
(3)设n=4,d=0.001s,l=4800b,b=9600b/s,s=0.2s,p=1024b,计算它们端到端的时延。
4-33 设拟发送码组为10011101,使用CRC校验,生成多项式g(x)=x3+1.问实际传输的码组是什么?假设在发送时,拟发送的码组左边第三位变反(即为10111101),试问在接收端能检测出来吗?
①将多项式转换为二进制形式,即1001.
多项式作为除数,n=多项式的长度-1.即n=4-1=3
在拟发送码组后添n个0,得到的新码组为被除数。
②将除数和被除数进行模2运算(不考虑借位和进位),即10011101000÷1001,得到余数(取n位),易得余数为100
③实际发送的码组=原来的码组后添上余数的结果
即为10011101100.
假设拟发送的码组第三位取反了,即10111101100,现将10111101100除以1001仍得余数为100。因为余数不为零,说明这个错误被接收方检测出来而要求重传。
检测是否有传输差错:接收端真正收到的信息码组÷多项式,若余数为0,说明无差错,否则说明有差错。
6-04 若要传输包含下面4个字符的帧:
A B ESC FALG,其中:A=01000111;B=11100011;ESC=11100000;FLAG=01111110。假设分别采用(1)字节计数法,(2)字节填充法,(3)比特填充法,试问所发送的比特序列是什么?
(1)字节计数法:用一字节计数字段指明该帧所要求传输的字节数。
00000100 01000111 11100011 11100000 01111110
(2)字节填充法:发送端的数据链路层在出现标志字节前插入一个转义字符(ESC)。
01111110 01000111 11100011 11100000 11100000 11100000 01111110 01111110
(3)比特填充法:采用一特定的比特组合01111110来标志帧的边界。为避免传送信息中出现相同比特组合被误认为是帧的首、尾标志,必须对其进行比特填充,即采用“零比特插入、删除”技术,即遇到数据比特流中出现5个连续的“1”时,自动在输出比特流中插入一个“0”。
01111110 01000111 11(0)100011 111(0)00000 011111(0)10 01111110
6-05 一个数据流 中出现了这样的数据段:A B ESC C ESC FLAG FLAG D,假设采用字节填充算法,试问经过填充之后的输出是什么?
A B ESC ESC C ESC ESC ESC FLAG ESC FLAG D
即在标志字节(ESC/FLAG)前插入一个转义字符(ESC)。
6-11 一个ppp帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是什么(用十六进制写出)?
答案:7E FE 27 7D 7D 65 7E
ppp协议规定:同步传输时,通常用“零比特插入、删除”技术来实现透明传输。而使用异步传输时,则采用特殊的字节填充法。
字节填充法:
①将信息字段中出现的每一个0x7E字节转变为2字节序列(0x7D,0x5E)
②将信息字段中出现的每一个0x7D字节转变为2字节序列(0x7D,0x5D)
③若信息字段中出现ASCII码的控制字符(其数值小于0x20的字符)时,则在该控制字符前面要加入一个0x7D字节,起到“转义”的作用,且要改变该控制字符的编码。如:传输结束控制字符ETX的代码0x03要转换为2字节序列(0x23)
6-23 假定采用CSMA/CD协议的以太网,其长度为1km,数据信号速率为1Gb/s。设信号在网络上的传播速率为200000km/s。求能够使用此协议的最短帧长。
1km长的CSMA/CD网络的端到端的传播时延t=1/200000=5×10-6s=5μs,往返传播时延:2t=10μs。即争用期为10μs。在争用期内不得有其它帧在传输。
因此,为了按照CSMA/CD工作,最短帧的发送时延不能小于10μs。
以1Gbit/s速率工作,则1μs可以发送的比特数为:1Gbit/s×10μs=1×109bit×10×10-6=10000bit
所以最短帧长为10000bit或10000/8=1250B
6-27 一个由10个站组成的以太网,试计算以下3钟情况下每一个站所得到的带宽各是多少?
(1)10个站都连接到一个10Mb/s以太网集线器;
(2)10个站都连接到一个100Mb/s以太网集线器;
(3)10个站都连接到一个10Mb/s以太网交换机。
(1)10个站都连接到一个10Mb/s以太网集线器,此时每一个站所能得到的带宽是10Mb/s(即10个站共享10Mb/s带宽)。
(2)10个站都连接到一个100Mb/s以太网集线器,此时每一个站所能得到的带宽是100Mb/s(即10个站共享100Mb/s带宽)。
(3)10个站都连接到一个10Mb/s以太网交换机,此时每一个站独占10Mb/s带宽。
6-28 在图6-18中,某学院的以太网交换机有三个接口分别与学院3个系的以太网相连,另外3个接口分别与万维网服务器、电子邮件服务器以及一个连接因特网的路由器相连。图中的A、B、C都是100Mb/s以太网交换机。假设所有的链路的速率都是100Mb/s,并且图中的9台主机中的任何一台都可以和任何一个服务器或主机通信。试计算:
(1)这9台主机和两个服务器产生的总的吞吐量的最大值。为什么?
(2)若3个系的以太网交换机都换成为100Mb/s的集线器。试计算9台主机和两个服务器产生的总的吞吐量的最大值,为什么?
(3)若所有的以太网交换机都换成为100Mb/s的集线器。试计算这9台主机和两个服务器产生的总的吞吐量的最大值,为什么?
(1)三个系各有一台主机分别访问两个服务器和通过路由器上网,其他主机在系内通信。
最大吞吐量为1100Mb/s。
(2)若三个系的以太网交换机都换成为100Mb/s的集线器,每个系是一个碰撞域。最大吞吐量为500Mb/s。
(3)若所有的以太网交换机都换成为100Mb/s的集线器。整个系统是一个碰撞域。最大吞吐量为100Mb/s。
7-07 说明下列IP地址的网络类别:
(1)128.36.199.3
(2)21.12.240.17
(3)183.194.76.253
(4)192.12.69.248
(5)89.3.0.1
(6)200.3.6.2
辨别IP地址类别:
按第一字节:A类:0–127,B类:128–191,C类:192–223,D类:224–239,E类:240–255
(1)B类(2)A类(3)B类(4)C类(5)A类(6)C类
7-08 指出下列IP地址中的错误,如果有的话。
(1) 112.56.048.76
(2)211.35.240.17.20
(3)183.256.76.253
(4)192.10100111.69.248
(1)在点分十进制记法中不应有零开始的记法。
(2)在IP地址的记法中不能超过4个数字。
(3)在点分十进制记法中,每一个数必须≤255。
(4)不允许二进制记法和点分十进制记法混合使用。
7-10 回答下列问题:
(1)若子网掩码255.255.255.0,它的含义是什么?
(2)如一网络的子网掩码为255.255.255.248,该网络能够连接多少台主机?
(3)假如一A类网络和一B类网络的子网号分别为16位和8位的1,试问这两个网络的子网掩码有何不同?
(4)如一A类网络的子网掩码为255.255.0.255,它是一个有效的子网掩码吗?
(5)在B类网络中,可以使用掩码255.255.255.139吗?
子网掩码(32bit):网络号+子网号+主机号,由一串连续的“1”后面随一串连续的“0”组成,其中“1”对应IP地址的网络号和子网号字段,而“0”对应于IP地址的主机号字段。
A类地址的默认子网掩码是255.0.0.0
B类地址的默认子网掩码是255.255.0.0
C类地址的默认子网掩码是255.255.255.0
(IP地址)AND (默认子网掩码)=网络地址
(1)子网掩码为255.255.255.0是C类地址的默认子网掩码,但也可能是A类或B类地址的掩码,它们的主机号分别由最后的8bit来决定,而路由器则以前24b来寻找网络。
(2)248=11111000,可知最后3个0决定主机个数,即2^3=8,但全0和全1不可使用,因此实际能连接6台主机(除全0和全1外)。
(3)这两个网络的子网掩码是相同的,但子网数是不同的。
(4)它是一个有效的子网掩码,但不推荐使用。
(5)不可以。在进行IP子网划分时,原则上不限制使用任何位序列来表示一个子网掩码。但这需要地址管理员单独计算每个地址。并且在每个子网中地址序列也不连续。使用上面这种陌生的掩码将很容易引起子网划分的混淆和困难。
7-11 假设一段地址的首地址为148.110.28.0,末地址为148.110.32.255,求这个地址段的地址数。
地址数:(32-28+1)×256-5×2=1270
7-12 给出某个地址块中的一个地址为85.22.17.25.求该地址块的地址数及其首地址和末地址。
首地址:85.0.0.0/8
末地址:85.255.255.255
地址数:2^24=16777216
7-16说明下面4个子网掩码,哪个是不推荐使用的?
(1)176.0.0.0
(2)96.0.0.0
(3)127.192.0.0
(4)255.128.0.0
(1)176 二进制:10110000,1和0相间出现,不推荐使用。
(2)96 二进制:01100000,最高位是0,不推荐使用。
(3)127.192 二进制:01111111 11000000,最高位是0,不推荐使用。
(4)255.128 二进制 :11111111 10000000,被推荐使用。
7-22 假设有两台主机,主机A的IP地址为208.17.16.165,
主机B的IP地址为208.17.16.185,它们的子网掩码均为255.255.255.224,默认网关为208.17.16.160.试问:
(1)主机A能否与主机B直接通信?
(2)为什么主机B不能与IP地址为208.17.16.34的DNS服务器通信?
(3)若要排除此故障,需要做什么修改?
(1)将主机A和主机B的IP地址分别与子网掩码相与,得到的子网地址都是208.17.16.160,这说明它们在同一个子网内,可以直接通信。
(2)默认网关被错误地设置成子网地址,它不是一个有效的主机地址。
(3)若要排除此故障,只需要主机A和主机B的默认网关修改为208.17.16.161
7-27 若有下面4个/24地址块,试进行最大可能的地址聚合。
(1)212.56.132.0/24
(2)212.56.133.0/24
(3)212.56.134.0/24
(4)212.56.135.0/24
由于前两字节相同,因此从第三字节开始看,
132=10000100
133=10000101
134=10000110
135=10000111
则最大有6位相同,因此最大聚合为212.56.132.0/22
7-30 若某地址块中的一地址为146.120.86.26/20。试问:该地址块的最小地址和最大地址?该地址块有多少个地址?它相当于多少个C类地址?
最小地址:10010100 01111000 01010000 00000000,即146.120.95.255/20
最大地址:10010100 01111000 0101111 11111111,
该地址块共有4096个地址,相当于16个C类地址。
7-31 若收到一个分组,其目的地址D=11.1.2.5。要查找的路由表中有这样三项:
路由1 到达网络11.0.0.0/8
路由2 到达网络11.1.0.0/16
路由3 到达网络11.1.2.0/24
试问在转发这个分组时应当选择哪一个路由?
根据最长前缀匹配准则,应当选择路由3
7-44 试问下面4个地址前缀:(1)150.40/13;(2)150.15/12;(3)150.64/12;(4)153.40/9 中的哪一个与地址150.7.88.151和150.15.68.251相匹配?并说明理由。
将地址150.7.88.151和150.15.68.251的第二字节分别表示成二进制:00000111和00001111,可见只有前4位是相同的。将此与题中四种情况分别进行比较。可得只有地址150.15/12与地址150.7.88.151和150.15.68.251相匹配。
8-05 由主机上的SNMP客户(IP地址为123.45.16.8)向另一主机上的SNMP服务器(IP地址为202.114.36.80)发送报文。试问它们在通信时使用的这对套接字是什么?
传输连接套接字地址={socket1,socket2}={(IP1:port1),(IP2:port2)}=(123.45.16.8:161,202.114.36.80:161)
SNMP的端口为161.
8-11 一个应用程序运用传输层的UDP协议,而到了IP层将数据报再划分为4个数据报片发送出去。结果前两个数据报片丢失,后两个到达目的站。过了一段时间应用程序重发UDP,而IP层仍然划分为4个数据报片来传送。结果这次前两个到达目的站而后两个丢失。试问:若目的站第一次收到的后两个数据仍然保存在目的站的缓冲区中,那么目的站能否将这两次传输的4个数据报片组装成完整的数据报?
不可能将这两次传输的4个数据报片组成完整的数据报。因为IP数据报格式中有一标识字段,此字段是用来标识本次发送的IP数据报的,以便将本次分片的数据报片组装在一起。由于每一次发送的IP数据报的标识字段的值是不相同的,即前两个IP数据报片的标识符与后两个IP数据报片的标识符不同,因此两者不能组装成一个IP数据报。
8-12 一个UDP用户数据报的数据部分为8192B.在数据链路层是使用以太网来传送的。试问:应划分成几个IP数据报?并说明每个IP数据报的总长度字段和偏移字段的值。
UDP报文格式:首部(固定8B)+数据
则用户数据报UDP的实际长度为(8192+8)=8200B
根据以太网MAC帧的格式,其数据部分最大的长度为1500B
因此网络层的IP数据报的长度是1500B,如取掉IP首部的20B,则IP数据报的数据部分最多只有1480B,为此需对一个UDP用户数据报划分为6个IP数据报,前5个IP数据报分片的数据部分为1480B,最后一个IP数据报分片的数据部分是792B.各IP数据报分片中的片偏移值分别为:0、185、370、555、740和925.(片偏移以8B为单位,1480B÷8=185B)
分片如下图所示:
8-13 若有一份UDP用户数据报首部的十六进制表示为C0 88 00 19 00 1C E2 17.试求源端口、目的端口,用户数据报的长度和数据部分长度。这个用户数据报是从客户发送给服务器还是从服务器发送给客户的?使用UDP的服务器程序是什么?
UDP首部8B:
(源端口2B+目的端口2B+长度2B+检验和2B)
则源端口:(0xC088)49288,这是一个客户(或短暂)端口。
目的端口:(0x0019)25,这是一个SMTP熟知端口。
UDP用户数据报长度(0x0019)28,其中数据部分为20B.
此UDP数据报是从客户端发给服务器端的,服务器程序是SMTP。
8-14 某客户进程使用UDP把数据(16B)发送给一服务器。试计算:
(1)在传输层的传输效率(指有用字节与总字节之比)。
(2)在网络层的传输效率。假定IP首部无选项。
(3)在数据链路层的传输效率。在数据链路层使用以太网。
(4)在物理层的传输效率。假定在物理层采用以太网V2标准。
(1)在传输层,需增添UDP首部8B,故在传输层的传输效率=16/(16+8)=66.66%
(2)在网络层,需在UDP用户数据报前增添IP数据报20B(假定IP首部无选项,也无填充),故在网络层的传输效率=16/(16+8+20)=36.36%
(3)在数据链路层(使用以太网),需在IP数据报的基础构成MAC帧,此时需添加18B(即源地址6B,目的地址6B,类型2B和FCS帧检验序列4B),故传输效率为=16/(16+8+20+18)=25.8%
(4)在物理层(使用以太网V2标准),需在以太网MAC帧的基础上,增添前导码7B和帧开始定界符1B,故传输效率为16/(16+8+20+18+8)=22.85%
8-18 为什么要把TCP的端口号放在TCP首部中最开始的4个字节?
为了构建ICMP报文方便起见,而把TCP的端口号(源端口和目的端口)放在TCP首部的开始的4B.这样,当TCP收到ICMP从ICMP差错报文时需要用到这两个端口来确定是哪条连接出了差错就非常方便。ICMP报文的构成过程如下:
8-24 假定网络允许的最大报文长度为128B,序号用8位表示,报文段在网络中的寿命为30s.试求发送报文段的一方所能达到的最高数据率。
(1)因为序号字段是8位,故本题不使用TCP协议。因为TCP协议的序号字段是32位。
(2)报文段的首部有一个序号字段。
(3)序号字段是给每个报文编上一个序号。(TCP协议的序号字段才是给报文中的每一个字节编上序号)。
(4)报文段的传送应当使用滑动窗口协议(而不是停止等待协议),这样可得到较高的效率。在使用滑动窗口协议时,没有收到确认的情况下,8位的序号字段可连续发送255个报文段。则一共可发送的比特数是:255×128×8=261120b,由此算出,发送报文段的一方能达到的最高数据率是261120b/30s=8704b/s=8.704×kb/s。
8-30 主机A向主机B发送一个很长的文件,其长度为L字节。假定TCP使用的MSS为1460B.
(1)在TCP的序号不重复使用的条件下,L的最大值是多少?
(2)假定使用上面计算出的文件长度,而传输层、网络层和数据链路层所用的首部开销共66B,链路的数据传输率为10Mb/s,试求这个文件所需的最短传输时间。
(1)TCP的序号是32位表示,一个序号是一个字节,即能够传输的最大值为232。
(2)分片个数=232/1460B=N
总数据L=(N×66+232)B=(N×66+232)×8bit
最短传输时间:T=L/10Mb/s
8-33 若通信信道带宽为1Gb/s,端-端传播时延为10ms。TCP的发送窗口为65535B.试问:可能达到的最大吞吐量是多少?信道的利用率是多少?
发送时延=65535×8/109s=0.524ms,总时延=20ms(往返时延)+0.524ms=20.524ms。吞吐量=65535×8b/20.524ms=25.5Mbps。信道利用率=25.5Mbps/1Gbps=2.55%
8-34 假设TCP使用的最大窗口为65535B,而传输信道不会产生差错,带宽也不受限制。若报文段的平均往返时间为20ms,试问能得到的最大吞吐量是多少?
65535×8/20=26.2Mb/s
8-36 假设需要设计一个类似TCP的滑动窗口协议,该协议将运行于带宽为100Mb/s网络上,网络中线路的往返时间RTT为100ms,报文段最大生存时间为60s。试问,所设计的协议首部中的窗口字段和序号字段最少应有多少比特?
窗口的大小必须能够容纳的数据应该为RTT×带宽,序号大小至少为报文段最大生存时间×带宽。
RTT×带宽=100ms×100Mbit/s=10^7bit
而2^23<10000000,
且10000000<2^24
则窗口大小必须容纳2^24/8=2的21次方
即窗口字段最小21bit
序号字段:60s×100Mbit/s=6×10^9bit
又2的32次方<6×10^9<2的33次方,这样序号空间大小至少2的33次方/8=2的30次方,即序号字段最小应该为30b。
8-37 如果接收端主机的缓存大小是5000B,其中1000B用于存放收到而未处理的数据。试问发送端主机的接收窗口值(rwnd)是多少?
4000B
8-40 假设第一次测定TCP的往返时间RTT是30ms。接着收到了3个确认报文段,用它们测量出的往返时间样本RTT分别是:28ms,33ms和27ms。设a=0.1.试计算每一次的新的加权平均往返时间值RTTs。讨论所得出的结果。
每一次新的加权平均往返时间值公式:新的RTTs=(1-a)×旧的RTTs+a×新的RTT样本。
第一、二、三次测得的往返时间样本,分别为29.8ms,30.10ms和29.808ms。可见,当RTT样本值的变化达到(30-27)/30=3/30=10%时,加权平均往返时间RTTs的变化仅为(30-29.8)/30=0.67%
8-41 假定TCP在开始建立连接时,发送方设定超时重传时间RTO=6s。试计算在下面两种情况下的RTO值。
(1)当发送方收到对方的连接确认报文段时,测量出RTT样本值为1.5s。
(2)当发送方发送数据报文段并收到确认时,测量出RTT样本值为2.5s。
RTO=RTTs+4RTTd
(1)初次测量时,RTTs等于RTT的样本值;RTTd等于RTT样本值的一半。
RTTs=RTT=1.5s,RTTd=RTT/2=0.75s。
所以RTO=RTTs+4RTTd=1.5+4×0.75=4.5s
(2)第二次测量时,执行更新算法:
新的RTTs=(1-a)×(旧的RTTs)+a×新的RTT样本
新的RTTD=(1-b)×(旧的RTTD)+b×|RTTS-新的RTT样本|
这里a=0.125,b=0.25
则更新后的RTTs=13/8
更新后的RTTD=0.78125
则新的RTO=4.75s