实验报告课程名称:计算机网络协议分析实验项目:用户数据报协议UDP(C端)姓名:专业:班级:学号:计算机科学与技术学院实验教学中心年月日成绩:哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告实验项目名称:用户数据报协议UDP(C端)(4学时)一、实验目的1.掌握UDP协议的报文格式2.掌握UDP协议校验和的计算方法3.理解UDP协议的优缺点二、实验内容一.UDP报文格式每个UDP报文称为一个用户数据报(UserDatagram)。用户数据报分为两个部分:UDP首部和UDP数据区。源端口目的端口报文长度校验和数据…二.UDP单播与广播在UDP单播通讯模式下,客户端和服务端之间建立一个单独的数据通道。从一台服务端传送出的数据包只能由一个客户端接收。众所周知,UDP协议是不可靠的,数据包可能在传输过程中丢失、重复、没有按照发送顺序到达,而且作为UDP数据包,其大小还受限于数据包的最大上限。在UDP广播通讯模式下,一个单独的数据包拷贝发送给网络上所有主机。当不能明确具体的服务器,而又要求该服务时,UDP广播提供了传输不区分种类的消息的便捷方式。在多数情况下UDP广播仅仅作为本地网络通信形式。受限的广播地址是255.255.255.255。该地址用于主机配置过程中IP数据报的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的IP地址也不知道。在任何情况下,路由器都不转发目的地址为受限广播地址的数据报,这样的数据报仅出现在本地网络中。已知网络主机的IP地址和子网掩码,可以算得指向主机所在子网的广播。子网广播地址=(主机IP)“或”(子网掩码取反)。哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告三.UDP校验和的计算下图给出了一个计算UDP校验和的例子。这里假定用户数据报的长度是15字节,因此要添加一个全0的字节。三、实验步骤练习一:编辑并发送UDP数据报本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A和B为例,说明实验步骤。1.主机A打开协议仿真编辑器。编辑发送给主机B的UDP数据报。MAC层:目的MAC地址:接收方MAC地址。源MAC地址:发送方MAC地址。协议类型或数据长度:0800,即IP协议。IP层:总长度:包括IP层、UDP层和数据长度。高层协议类型:17,即UDP协议。首部校验和:其他所有字段填充完毕后填充此字段。源IP地址:发送方IP地址。目的IP地址:接收方IP地址。UDP层:有效负载长度:UDP层及其上层协议长度。计算校验和,其他字段默认.哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告2.在主机B上启动协议分析器,并设置过滤条件(提取UDP协议)开始捕获数据。3.主机A发送已编辑好的数据报。4.主机B停止捕获数据,在捕获到的数据中查找主机A所发送的数据报。练习二:UDP单播通信1.主机B、C、D、E、F上启动“开始/程序/网络协议仿真教学系统通用版/工具/UDP工具”,作为服务器端,监听端口设置为2483。2.主机C、E上启动协议分析器开始捕获数据。3.主机A上启动“开始/程序/网络协议仿真教学系统通用版/工具/UDP工具”,作为客户端,以主机C的IP为目的IP地址,以2483为端口,填写数据并发送。4.察看主机B、C、D、E、F上的“UDP工具”接收的信息。5.察看主机C协议分析器上的UDP报文,并回答以下问题:UDP是基于连接的协议吗?阐述此特性的优缺点。UDP报文交互中含有确认报文吗?阐述此特性的优缺点。6.主机A上使用仿真编辑器向主机E发送UDP报文,其中:“目的IP地址”设置为主机E的IP地址。“目的端口”设置为2483。“校验和”设置为0。发送此报文,并回答以下问题:主机E上的UDP通信程序是否接收到此数据包?UDP是否可以使用0作为校验和进行通信?7.将第6步中编辑的数据包的校验和修改为一个错误值,并将其发送。8.察看主机E协议分析器上捕获的数据,并回答以下问题:简述UDP的差错处理能力。练习三:UDP广播通信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连接工具”接收的信息。哪台主机接收到主机A发送的UDP报文?5.察看协议分析器上捕获的UDP报文,并回答以下问题:主机A发送的报文的目的MAC地址和目的IP地址的含义是什么?若将主机A发送的报文的目的MAC地址改为某一主机的MAC地址,结果会怎样?为什么?若将主机A发送的报文的目的IP地址改为某一主机的IP地址,结果会怎样?为什么?四、实验结果练习一:编辑并发送UDP数据报1.UDP在计算校验和时包括那些内容?答:协议字段(IP层的高层协议类型)、源IP地址、目的IP地址、长度(UDP数据总长度)、UDP首部、UDP数据练习二:UDP单播通信哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告1.哪台主机上的“UDP工具”接收到主机A发送的UDP报文?答:主机C2.UDP是基于连接的协议吗?阐述此特性的优缺点。UDP报文交互中含有确认报文吗?阐述此特性的优缺点。答:不是,优点:传输效率高,不需进行编号,不必进行连接建立和连接终止;缺点:使用UDP的进程不能向UDP发送数据流,也不能期望UDP将这个数据流分割成为许多不同的相关联的用户数据报。相反,每个请求必须足够小,使其能够装入到用户数据报中。答:没有,优点:提高传输效率;缺点:在传输过程中可能有丢失、重复、乱序的现象。3.主机E上的UDP通信程序是否接收到此数据包?UDP是否可以使用0作为校验和进行通信?答:主机E可以收到数据包。UDP可以使用0作为校验和进行通信。4.简述UDP的差错处理能力。答:除校验和外,UDP没有差错控制机制。这就表示发送端并不知道报文是丢失了还是重复地交付了。当接收端使用校验和并检测出差错时,就悄悄地将这个用户数据报丢掉。哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告练习三:UDP广播通信1.哪台主机接收到主机A发送的UDP报文?哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告答:主机B、C、D、E、F都收到了主机A发送的UDP报文。2.主机A发送的报文的目的MAC地址和目的IP地址的含义是什么?若将主机A发送的报文的目的MAC地址改为某一主机的MAC地址,结果会怎样?为什么?若将主机A发送的报文的目的IP地址改为某一主机的IP地址,结果会怎样?为什么?答:目的MAC地址为FFFFFF-FFFFFF,是广播地址;目的IP地址为255.255.255.255,是受限广播地址。答:主机A发送的报文的目的MAC地址为某一主机的MAC地址,而目的IP地址无论是某一主机的IP地址,还是255.255.255.255,结果都是只有目的MAC地址所对应的主机可收到主机A发送的报文。因为目的MAC地址对应主机才是真正接收数据的主机(前提是目的IP是有效的)。答:有两种情况:如果目的MAC为广播地址,则结果为所有主机都可接收主机A的报文;如果目的MAC为某一主机的MAC,则主机A发送的数据只能被该主机接收。原因:目的MAC地址对应主机才是真正接收数据的主机(前提是目的IP是有效的)。哈尔滨理工大学计算机科学与技术学院实验教学中心实验报告