Thank For LYJ&...

目录

☀️| 一、实验目的

☀️| 二、实验环境

☀️| 三、实验原理

☀️| 四、实验内容

⭐️练习1——编辑并发送UDP数据报

⭐️练习2——UDP单播通信

⭐️练习3——UDP广播通信

☀️| 五、实验结果

❥练习1:

❥练习2:

❥练习3:

☀️| 六、思考题

1. UDP协议的“校验和”要包含伪首部?

2. 观察UDP报文,说明其首部包含哪些字段?


☀️| 一、实验目的

  1. 掌握UDP协议的报文格式
  2. 掌握UDP协议校验和的计算方法
  3. 理解UDP协议的优缺点

☀️| 二、实验环境

  1. 吉林中软计算机网络教学平台
  2. 每6台计算机为一个实验组。
  3. 使用网络拓扑一,如图6-1所示。

图6-1 网络拓扑一


☀️| 三、实验原理

UDP(用户数据报协议),主要用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都需要使用UDP协议。UDP协议从问世至今已经被使用了很多年,虽然其最初的光彩已经被一些类似的协议所掩盖,但是即使是在今天,UDP仍然不失为一项非常实用和可行的网络传输层协议。

UDP协议直接位于IP协议的上层。根据OSI参考模型,UDP和TCP都属于传输层协议。UDP协议不提供端到端的确认和重传功能,它不保证数据包一定能到达目的地,因此是不可靠协议。

UDP协议有以下特点:

●  UDP是面向事务的协议,它用最少的传输量为应用程序向其它程序发送报文提供了一个途径。

●  UDP是无连接的、不可靠的传输机制。在发送数据报前,UDP在发送和接收两者之间不建立连接。

●  UDP让应用程序能直接访问网络层的数据报服务,例如分段和重组等网络层所提供的数据报服务。

●  UDP使用IP协议作为数据传输机制的底层协议。

●  UDP报头和数据都以与最初传输时相同的形式被传送到最终目的地。

●  UDP不提供确认,也不对数据的到达顺序加以控制。因此UDP报文可能会丢失。

●  不实现数据包的传送和重复检测。

●  当数据包在传送过程中发生错误时,UDP不能报告错误。

●  吞吐量不受拥塞控制算法的调节,只受应用程序生成数据的速率、传输带宽、发送端和接收端主机性能的限制。

图6-2下图显示了UDP报文格式。每个UDP报文称为一个用户数据报(User Datagram),用户数据报分为两个部分:UDP首部和UDP数据。首部被分为四个16位的字段,分别代表源端口号﹑目的端口号﹑报文的长度以及UDP校验和。

图6-2  UDP报文格式

●  源端口:该字段表示发送端的端口号。如果源端口没有使用,那么此字段的值就被指定为0。这是一个可选的字段。不同的应用程序使用不同的端口号,UDP协议使用端口号为不同的应用程序保留其各自的数据传输通道,从而实现了同一时间段内多个应用程序可以一起使用网络进行数据的发送和接收。

●  目的端口:该字段表示数据包被发往的目的端的端口号。

●  有效负载长度:该字段表示包括UDP首部和UDP数据在内的整个用户数据报的长度。该字段的最小值是8。数据报的最大尺寸随操作系统的不同而不同。在两字节字段中,理论上数据报最多可达65535字节。然而,一些UDP实现将数据报的大小限制到了8192字节。

●  校验和:UDP的校验的校验范围包括伪首部(IP首部一部分字段)、UDP首部和UDP数据,该字段是可选的。如果该字段值为零就说明不进行校验。

当进程有报文要通过UDP发送时,它就把这个报文连同一对套接字地址以及数据的长度传递给UDP。UDP收到数据后就加上UDP首部。然后UDP就把这用户数据报连同套接字地址一起传递给IP。IP加上自己的首部,在高层协议类型字段使用值17,指出该数据是从UDP协议来的。这个IP数据报再传递给数据链路层。数据链路层接收到IP数据报后,加上自己的首部(可能还有尾部),再传给物理层。物理层把这些位编码为电信号或光信号,把它发送到远程的主机。如图6-3所示:

图6-3  UDP封装


☀️| 四、实验内容

⭐️练习1——编辑并发送UDP数据报

  1. 各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验。
  2. 本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。
  3. 主机A打开协议编辑器,编辑发送给主机B的UDP数据报。
        MAC层:
             目的MAC地址:接收方MAC地址
             源MAC地址:发送方MAC地址
             协议类型或数据长度:0800,即IP协议
        IP层:
             总长度:包括IP层、UDP层和数据长度
             高层协议类型:17,即UDP协议
             首部校验和:其它所有字段填充完毕后填充此字段
             源IP地址:发送方IP地址
             目的IP地址:接收方IP地址
        UDP层:
             源端口:1030
             目的端口:大于1024的端口号
             有效负载长度:UDP层及其上层协议长度
         其它字段默认,计算校验和。
         ●  UDP在计算校验和时包括哪些内容?
  4. 在主机B上启动协议分析器捕获数据,并设置过滤条件(提取UDP协议)。
  5. 主机A发送已编辑好的数据报。
  6. 主机B停止捕获数据,在捕获到的数据中查找主机A所发送的数据报。

⭐️练习2——UDP单播通信

  1. 本练习将主机A、B、C、D、E、F作为一组进行实验。
  2. 主机B、C、D、E、F上启动“实验平台工具栏中的UDP工具”,作为服务器端,监听端口设置为2483,“创建”成功。
  3. 主机C、E上启动协议分析器开始捕获数据,并设置过滤条件(提取UDP协议)。
  4. 主机A上启动“实验平台工具栏中的UDP工具”,作为客户端,以主机C的IP为目的IP地址,以2483为端口,填写数据并发送。
  5. 察看主机B、C、D、E、F上的“UDP工具”接收的信息。
         ●  哪台主机上的“UDP工具”能够接收到主机A发送的UDP报文?
  6. 察看主机C协议分析器上的UDP报文,并回答以下问题:
         ●  UDP是基于连接的协议吗?阐述此特性的优缺点。
         ●  UDP报文交互中含有确认报文吗?阐述此特性的优缺点。
  7. 主机A上使用协议编辑器向主机E发送UDP报文,其中:
         目的MAC地址:E的MAC地址
         目的IP地址:主机E的IP地址
         目的端口:2483
         校验和:0
         发送此报文,并回答以下问题:
         ●  主机E上的UDP通信程序是否接收到此数据包?UDP是否可以使用0作为校验和进行通信?
  8. 主机B、C、D、E、F关闭服务端,主机A关闭客户端。
        MAC层:
             目的MAC地址:C的MAC地址。
             源MAC地址:A的MAC地址。
             协议类型或数据长度:0800。
        IP层:
             总长度:包含IP层和ICMP层长度。
             高层协议类型:1。
             校验和:在其它字段填充完毕后计算并填充。
             源IP地址:A的IP地址。
             目的IP地址:C的IP地址。
        ICMP层:
             类型:13。
             代码字段:0。
             校验和:在ICMP层其它字段填充完毕后,计算并填充。
         其它字段使用默认值。
  9. 主机C启动协议分析器进行数据捕获,并设置过滤条件(提取ICMP协议)。
  10. 主机A发送已编辑好的数据帧。
  11. 主机C停止捕获数据。察看主机C捕获到的数据,并填写下表:

表6-1  实验结果

⭐️​​​​​​​练习3——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工具”接收的信息。
     ●  哪台主机能够接收到主机A发送的UDP报文?
5.  察看协议分析器上捕获的UDP报文,并回答以下问题:
     ●  主机A发送的报文的目的MAC地址和目的IP地址的含义是什么?


☀️| 五、实验结果

❥练习1:

UDP的校验和需要计算UDP首部加数据荷载部分,但也需要加上UDP伪首部。这个伪首部指,源地址、目的地址、UDP数据长度、协议类型(0x11),协议类型就一个字节,但需要补一个字节的0x0,构成12个字节。伪首部+UDP首部+数据一起计算校验和。

练习2:

UDP是基于连接的协议吗?阐述此特性的优缺点。

不是,优点:传输效率高,不需进行编码,不必进行连接建立和连接终止;缺点:使用UDP的进程不能向UDP发送数据流,也不能期望UDP将这个数据流分割成许多不同的相关联的用户数据报。相反,每个请求必须足够小,才能让其装入到用户数据报中。

UDP报文交互中含有确认报文吗?阐述此特性的优缺点。

无,优点: 提高传输效率;缺点: 在传输过程中可能有丢失、重复、乱序。

练习3:


 ☀️| 六、思考题

1. UDP协议的“校验和”要包含伪首部?

答:收到的UDP包只有源和目的的UDP端口号,并没有IP地址信息,所以要重新构造个伪头部,加上源IP和目的IP(从IP包中拿来),再计算校验和以确定数据包的正确性。

2. 观察UDP报文,说明其首部包含哪些字段?

首部字段很简单,只有8个字节,由4个字段组成,每个字段的长度都是2个字节。
UDP报头结构:携带数据大小长度 -8

  1. 源端口号:在需要对方回信时选用,不需要时可全用0
  2. 目的端口号:在终点交付时使用
  3. 长度:UDP用户数据报的长度,最小值是8
  4. 检验和:检测UDP用户数据报在传输中是否有错,有错就丢弃。

UDP协议全面实验分析详解相关推荐

  1. TCP协议全面实验分析详解

    目录 ☀️| 一.实验目的 ☀️| 二.实验环境 ☀️| 三.实验原理 ☀️| 四.实验内容 ⭐️练习1--页面访问 ⭐️练习2--页面提交 ⭐️练习3--获取页面信息 ☀️| 五.实验结果 ⭐️练习 ...

  2. wireshark抓包实验 分析 详解

    Wireshark(Formerly Ethereal) is an award-winning network protocol analyzer developed by an internati ...

  3. FTP(文件传输协议)及实验搭建详解(本地认证,虚拟用户,加密传输,限制登陆)

    文章目录 FTP传输协议及实验搭建详解 一.引子 二.FTP的原理和基本概念 三.FTP服务器实验构建(基础测试,本地认证,虚拟用户,加密传输,限制登陆) FTP传输协议及实验搭建详解 一.引子 终于 ...

  4. Memcache的使用和协议分析详解

    Memcache的使用和协议分析详解 作者:heiyeluren 博客:http://blog.csdn.net/heiyeshuwu 时间:2006-11-12 关键字:PHP Memcache L ...

  5. HTTP协议版本介绍以及使用Wireshark工具针对HTTP进行抓包分析详解

    一.http协议版本介绍 http:Hyper Text Transfer Protocol 超文本传输协议,是互联网应用最为广泛的一种网络协议,主要用于Web服务.通过计算机处理文本信息,格式为HT ...

  6. HTTP协议的头信息详解

    HTTP协议的头信息详解 http://blog.csdn.net/guoguo1980/archive/2008/07/14/2649658.aspx HTTP协议的头信息详解 HTTP(Hyper ...

  7. 《HTTP/2基础教程》协议、特性、详解

    文章目录 <HTTP/2基础教程>协议.特性.详解 前言 第一章 HTTP进化史 第二章 HTTP/2 快速入门 第三章 Web优化"黑魔法"的动机与方式 HTTP/1 ...

  8. IP协议相关技术终极详解

    IP协议相关技术终极详解 DNS域名解析协议 概述 域名的层级关系 域名的解析流程 ARP地址解析协议 概述 为什么需要ARP协议? ARP协议是属于哪一层呢? ARP协议和DNS协议的区别 ARP协 ...

  9. FTP协议及工作原理详解

    FTP协议及工作原理详解 1. FTP协议 什么是FTP呢?FTP 是 TCP/IP 协议组中的协议之一,是英文File Transfer Protocol的缩写. 该协议是Internet文件传送的 ...

最新文章

  1. ZZ:new/delete 和malloc/free 的区别
  2. Django框架(10.Django中的模型类的定义以及模型类字段属性和选项)
  3. Asp.Net Boilerplate微服务实战(一)概述
  4. tabel表格制作及操作
  5. matlab中图像处理的基本函数(2)
  6. Intellij IDEA更新SVN没有提示语
  7. 转载--Defunct僵尸进程
  8. VC2005项目属性配置
  9. python爬取网易云音乐数据
  10. sim7020c功耗_SIM7020C NB-IoT HAT教程
  11. 上班摸鱼的模拟经营文字游戏(管理后台页面,老板都看不出来)
  12. GSM sim900a mini模块详解
  13. xps13 9360黑苹果
  14. 小程序实时货币汇率计算
  15. MATLAB学习八(一):方差var
  16. 【非常重要】运行supervisorctl错误提示【FATAL或BACKOFF 】Exited too quickly (process log may have details)问题总结
  17. 阴阳师服务器维护结界卡,阴阳师近期结界卡断粮 详解原因及解决办法
  18. 视频禁止快进的解决方法
  19. 使用 Python 将 MP4视频 转换为GIF动画
  20. 读吕林根之《解析几何》

热门文章

  1. orm查询方式与优化
  2. 《拆掉思维里的墙》读书笔记
  3. ASP WebShell 后门脚本与免杀
  4. 打不开网页的DNS错误修复方法
  5. SqlDbx远程链接DB2数据库
  6. HTML经典绝对定位图片
  7. matlab怎么画map图,用MATLAB自带的worldmap及相关函数画地图
  8. 华为交换机S5720-EI堆叠
  9. java 去掉空行_java 去掉空行
  10. Android手势密码