1.为什么有些应用程序愿意采用不可靠的UDP,而不愿意采用可靠的TCP?当接收方收到有差错的UDP用户数据报时,会如何处理?
VOIP(Voice over Internet Protocol)即网络电话,将模拟的声音讯号经过压缩与封包之后,以数据封包的形式在IP网络进行语音讯号的传输,通俗来说也就是互联网电话或IP电话。
由于语音信息具有一定的冗余度,人耳对VOIP数据报损失有一定的承受度,但对传输时延的变化较敏感,有差错的UDP数据报在接收端被直接抛弃,TCP数据报出错则会引起重传,可能带来较大的时延扰动。因此VOIP宁可采用不可靠的UDP,而不愿意采用可靠的TCP。
接收方收到有差错的UDP用户数据报时应如何处理?
丢弃
2.试解释为什么ARP高速缓存每存入一个项目就要设置10~20分钟的超时计时器。这个时间设置的太大或太小会出现什么问题?
当网络中某个IP 地址和硬件地址的映射发生变化时,ARP 高速缓存中相应的项目就要改变。例如,更换以太网网卡就会发生这样的事件。因此ARP 高速缓存每存入⼀个项目就要设置10 ~ 20分钟的超时计时器,每10 -20 分钟更换⼀块网卡是合理的。
超时时间设置得太短会使ARP 请求和响应分组的通信量太频繁,而超时时间设置得太长会使更换网卡后的主机迟迟无法和网络上的其他主机通信。
3.一个UDP用户数据报的首部的十六进制表示是:06 32 00 45 00 1C E2 17。试求源端口、目的端口、用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给服务器还是服务器发送给客户?程序名又是什么。
UDP 用户数据报的首部十六进制表示是:06 32 00 45 00 1C E2 17,试求源端口、目的端口、 用户数据报的总长度、数据部分长度。这个用户数据报是从客户发送给服务器发送给客户?使用 UDP 的这个服务器程序是什么?
- 源端口:1586(前4个字节0632)
- 目的端口:69(00 45)
- 用户数据报总长度:28 字节(00 1C,其中首部占8字节)
- 数据部分长度:20 字节
- 这个用户数据报是:从客户发送给服务器
- 服务器程序:TFTP。
习题解析
UDP数据报由首部字段和数据字段组成,其中首部占8个字节(TCP数据报首部占20字节),格式如下
(其中伪首部仅仅是为了计算检验和,此题中先不看它)
以上求出的长度为UDP数据报的总长度28字节,由于UDP数据报的首部占8字节,所以数据字段长度占20字节
因为目的端口号 69 < 1023,是常用的服务端口,所以这个数据报是发往服务器端的
- 0~1023:常用的服务端口
- 1024~49151是被注册的端口,也成为“用户端口”
- 其中 1024~5000为临时端口
因为端口号为69,所以使用 UDP 的这个服务器程序是TFTP
- TFTP:是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。
注:第三题转载于csdn用户,在此注明地址:
https://www.csdn.net/tags/NtDaggwsODg4NzEtYmxvZwO0O0OO0O0O.html