yznu计算机网络实验报告4:lyf

  • 实验目的
  1. 掌握 UDP 协议的报文格式
  2. 掌握 UDP 协议校验和的计算方法
  3. 理解 UDP 协议的优缺点
  4. 理解协议栈对 UDP 协议的处理方法
  5. 理解 UDP 上层接口应满足的条件
  • 实验环境

该实验采用网络结构一

  • 实验内容

练习一:编辑并发送 UDP 数据报

各主机打开工具区的“拓扑验证工具”,选择相应的网络结构,配置网卡后,进行拓扑验证,如果通过拓扑验证,关闭工具继续进行实验,如果没有通过,请检查网络连接。 本练习将主机 A 和 B 作为一组,主机 C 和 D 作为一组,主机 E 和 F 作为一组。现仅以 主机 A、B 所在组为例,其它组的操作参考主机 A、B 所在组的操作。

  1. 主机 A 打开协议编辑器,编辑发送给主机 B 的 UDP 数据报。

MAC 层:

目的 MAC 地址:接收方 MAC 地址

源 MAC 地址:发送方 MAC 地址

协议类型或数据长度:0800,即 IP 协议

IP 层:

总长度:包括 IP 层、UDP 层和数据长度

高层协议类型:17,即 UDP 协议

首部校验和:其它所有字段填充完毕后填充此字段

源 IP 地址:发送方 IP 地址

目的 IP 地址:接收方 IP 地址

UDP 层:

源端口:1030

目的端口:大于 1024 的端口号

有效负载长度:UDP 层及其上层协议长度

其它字段默认,计算校验和。

  1. UDP 在计算校验和时包括哪些内容?
  • 包含伪首部(IP首部的一部分字段),UDP首部和UDP数据,该字段是可选的。如果该字段为零就说明不进行校验。

  1. 在主机 B 上启动协议分析器捕获数据,并设置过滤条件(提取 UDP 协议)。
  2. 主机 A 发送已编辑好的数据报。
  3. 主机 B 停止捕获数据,在捕获到的数据中查找主机 A 所发送的数据报。

思考问题:

  1. 为什么 UDP 协议的“校验和”要包含伪首部?
  • 伪首部是IP首部的一部分,其中有些字段要填入0。用户数据报封装在IP数据包中。若校验和不包括伪首部,用户数据报也可能是安全的和正确的。但是,若IP首部受到损伤,则它可能被交付到错误的主机。伪首部中包含高层协议类型字段是为了确保这个数据包是属于UDP而不是属于TCP的。使用UDP的进程和使用TCP的进程可以使用同一个端口号。UDP的高层协议类型字段是17。若在传输过程中这个值改变了,在接收端计算校验和时就可检测出来,UDP就可丢弃这个数据包。这样就不会交付给错误的协议

  1. 比较 UDP 和 IP 的不可靠程度?
  • 二者都是不可靠的。IP协议负责主机到主机的通信。作为一个网络层协议,IP协议只能把报文交付给目的主机。这是一种不完整的交付,因为这个报文还没有送交到正确的进程。像UDP这样的传输层协议负责进程到进程的通信。UDP协议负责把报文交付到正确的进程。

练习二:UDP 单播通信

本练习将主机 A、B、C、D、E、F 作为一组进行实验。

  1. 主机 B、C、D、E、F 上启动实验平台工具栏中的 UDP 工具”,作为服务器端,监听端口设置为 2483,“创建”成功。
  2. 主机 C、E 上启动协议分析器开始捕获数据,并设置过滤条件(提取 UDP 协议)。
  3. 主机 A 上启动“实验平台工具栏中的 UDP 工具”,作为客户端,以主机 C 的 IP 为目的 IP 地址,          以 2483 为端口,填写数据并发送。
  4. 察看主机 B、C、D、E、F 上的“UDP 工具”接收的信息。

  1. 哪台主机上的“UDP 工具”能够接收到主机 A 发送的 UDP 报文?
  • C能收到主机A发送的UDP报文

  1. 察看主机 C 协议分析器上的 UDP 报文,并回答以下问题:
  1. UDP 是基于连接的协议吗?阐述此特性的优缺点。
  • P不是基于连接的协议,是无连接的协议。优点:传输效率高,无需编码。无需创建以及断开连接。当某个程序的目标是尽快地传送尽可能多的信息(其中任意给定数据的重要性相对较低)时,可使用UDP协议。缺点:安全性低,它不能保证数据包以正确的顺序被接收,也不能保证数据会准确无误到达目的地。

  1. UDP 报文交互中含有确认报文吗?阐述此特性的优缺点。
  • UDP报文交互中不含有确认报文。提高了传输效率,但是在传输过程中可能有丢失,重复,乱序等现象。

  1. 主机 A 上使用协议编辑器向主机 E 发送 UDP 报文,其中:

目的 MAC 地址:E 的 MAC 地址

目的 IP 地址:主机 E 的 IP 地址

目的端口:2483

校验和:0

有效负载长度:UDP 层及其上层协议长度

首部校验和:其它所有字段填充完毕后填充此字段

总长度:包括 IP 层、UDP 层和数据长度

发送此报文,并回答以下问题:

  1. 主机 E 上的 UDP 通信程序是否接收到此数据包?UDP 是否可以使用 0 作为校验和进行通信?
  • 能收到。UDP可以使用0作为校验和进行通信。

  1. 主机 B、C、D、E、F 关闭服务端,主机 A 关闭客户端。

思考问题:

  1. 思考 UDP 的差错处理能力。
  • UDP使用端口来完成这种通信。另一种责任就是在传输层提供控制机制。UDP在一个非常低的水平上完成这个功能。UDP没有流量控制机制,在收到分组时也没有确认。但是,UDP提供了某种程度的差错控制。如果UDP检测出在收到的分组中有差错,即当校验和为0时,它就悄悄地丢弃这个分组,使报文不能发送成功,而当校验和计算正确时,报文就可以成功发送。

练习三:UDP 广播通信

本练习将主机 A、B、C、D、E、F 作为一组进行实验。

  1. 主机 B、C、D、E、F 上启动实验平台工具栏中的“UDP 工具”,作为服务器端,监听端口设为 2483。
  2. 主机 B、C、D、E、F 启动协议分析器捕获数据,并设置过滤条件(提取 UDP 协议)。
  3. 主机 A 上启动 UDP 工具,作为客户端,以 255.255.255.255 为目的地址,以 2483 为端口,填写数据并发送。
  4. 察看主机 B、C、D、E、F 上的“UDP 工具”接收的信息。

  1. 哪台主机能够接收到主机 A 发送的 UDP 报文?
  • BCDEF能够收到。

  1. 察看协议分析器上捕获的 UDP 报文,并回答以下问题:
  1. 主机 A 发送的报文的目的 MAC 地址和目的 IP 地址的含义是什么?
  • FFFFFF-FFFFFF为广播MAC地址,255.255.255.255为广播IP地址;以其作为地址是数据广播到网络上的所有主机。

思考问题:

  1. 如果将目的 MAC 地址换成某一个主机的 MAC 地址,是否所有主机还会收到这种报文?
  • 不会,不在一个共享模块的主机接收不到。

  1. 如果将目的 MAC 地址设成广播地址,目的 IP 设成某一主机的 IP 地址,结果怎样?
  • 所有主机都能够接收。

  1. 在可靠性不是最重要的情况下,UDP 可能是一个好的传输协议。试给出这种特定情况的一些示例。
  • 网络视频的播放。

  1. UDP 协议本身是否能确保数据报的发送和接收顺序?
  • 24
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值