当前位置: 首页 > news >正文

贵州网站建设公司米拓建站

贵州网站建设公司,米拓建站,互联网运营平台,做网站老板不发工资我拿尾款UDP的详细解析 文章目录UDP的详细解析UDP 概述UDP的首部格式检验和的计算抓包测试参考TCP/IP运输层的两个主要协议都是互联网的正式标准,即:用户数据报协议UDP (User Datagram Protocol)传输控制协议TCP (Transmission Control Protocol) 按照OSI的术语…

UDP的详细解析

文章目录

  • UDP的详细解析
    • UDP 概述
    • UDP的首部格式
      • 检验和的计算
    • 抓包测试
    • 参考

TCP/IP运输层的两个主要协议都是互联网的正式标准,即:

  1. 用户数据报协议UDP (User Datagram Protocol)
  2. 传输控制协议TCP (Transmission Control Protocol)

按照OSI的术语,两个对等运输实体在通信时传送的数据单位叫做运输协议数据单元 TPDU.但在TCP/IP体系中,根据所使用的协议是TCP或UDP,分别称之为TCP报文段或UDP用户数据报。

UDP在传送数据之前不需要先建立连接。远地主机的运输层在收到UDP报文后,不需要给出任何确认。虽然UDP不提供可靠交付,但在某些情况下UDP却是一种最有效的工作方式。

下表为一些应用和应用层协议主要使用的运输层协议。

应用应用层协议运输层协议
名字转换DNS(域名系统)UDP
文件传送TDTP(简单文件传送协议)UDP
路由选择协议RIP(路由选择协议)UDP
IP地址配置DHCP(动态主机配置协议)UDP
网络管理SNMP(简单网络管理协议)UDP
远程文件服务NFS(网络文件系统)UDP
IP电话专用协议UDP
流式多媒体通信专用协议UDP
多播IGMP(网际组管理协议)UDP
电子邮件SMTP(简单邮件传送协议)TCP
远程终端接入TELNET(远程终端协议)TCP
万维网HTTP(超文本传送协议)TCP
文件传送FTP(文件传送协议)TCP

UDP 概述

用户数据报协议UDP只在IP的数据服务之上加了很少一点功能,这就是复用和分用的功能以及差错检测的功能。UDP的主要特点是:

  1. UDP是无连接的,即数据发送之前不需要建立连接

  2. UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。

  3. UDP是面向报文的。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这就是说应用层交给UDP多长的报文,UDP就照样发送,UDP一次交付一个完整的报文。若报文太长,UDP把它交给IP层后,IP层在传送时可能要进行分片。

    IMG_20230213_135141

  4. UDP没有拥塞控制 网络出现拥塞不会使源主机的发送速率降低。这对某些实时应用使很重要的。

  5. UDP 支持一对一、一对多、多对一和多对多的交互通信

  6. UDP 的首部开销小,只有8个字节,比TCP的20个字节的首部要短。

UDP的首部格式

用户数据报UDP有两个字段:数据字段和首部i段。首部字段只有8个字节,由四个字段组成,每个字段的长度都是两个字节

  • 源端口 源端口号。在需要对方回信时选用。不需要时可用全0
  • 目的端口 目的端口号。这在终点交付报文时必须使用
  • 长度 UDP 用户数据报的长度,其最小值时8(仅有首部)
  • 检验和 检测UDP用户数据报在传输中是否有错。有错就丢弃。

当接收方UDP发现收到的报文中的目的端口号不正确(即不存在对应于该端口号的应用进程),就丢弃该报文,并由网际控制报文协议ICMP发送“端口不可达”差错报文给发送方。

IMG_20230213_140313

检验和的计算

UDP用户数据报首部中检验和的计算方法有些特殊。在计算检验和时要在UDP用户数据报之前加12个字节的伪首部。伪首部既不向下传送也不向上递交,而仅仅是为了计算检验和。通过上面那幅图我们可以看到伪首部中的字段信息:

  1. 32位源IP地址
  2. 32位目的IP地址
  3. 8位保留字节(置0)
  4. 8位传输层协议号(TCP是6,UDP是17)
  5. 16位报文长度(首部+数据)

检验和是如何工作的,我们可以通过观察下图:

IMG_20230213_143250

我们对应着上面这副图看,其实计算这个检验和的过程其实就是,将加上伪首部后的数据按照每16位相加求和。将求和后的结果取反与UDP自带的检验和相与,若得到的结果是全1的则说明数据传输无误。(刚好这里的检验和在UDP是以2字节存储的,刚好是12位)。

若在求16位求和结果时发生进位,那么需要进行回卷。计算的过程可以参考这篇 回卷计算。

读到这里不知道大家会不会有问题,就是为什么UDP在计算检验和的时候需要加上伪首部。

对于这个问题最简单的回答就是:出于历史原因。如下图David P. Reed的解释:

image-20230213151257589

前面这个不好翻译,在StackOverflow中找到了一个相关的解答:

image-20230213151419658

抓包测试

UDP有着很广泛的应用场景。它的特点就像上面看到的很简单,没有流量控制以及差错重传等特点,作为传输层的协议常常被拿来和tcp协议比较。所以广泛应用于qq聊天,视频,网络电视,迅雷等场景。缺点就是容易丢包。

我拿qq聊天来抓个UDP数据包试试。

首先通过终端查看本机的ip地址和物理地址:

image-20230213153811220

我们首先打开抓包工具然后,用qq给自己的Android手机发送聊天,可以发现抓包工具成功捕获信息,如下图。

image-20230213153424813

我们查看一下第二条记录中的详细信息

image-20230213154303273

现在我们再去看看所有qq是否有占用52652这个端口。用netstat -ano列出所有占用的端口号,同时用任务管理器查看qq的PID。查看的结果如下图,发现52652这个端口确实被qq所占用。

image-20230213155030303

参考

  • UDP 检验和原理

  • 为什么校验时要加上IP信息的伪首部

  • UDP/TCP 中使用伪标头的意义是什么

  • 《计算机网络 第7版》

http://www.mmbaike.com/news/52695.html

相关文章:

  • 微网站 注册网络营销比较常用的营销模式
  • 网站的目的和意义竞价排名的服务模式是
  • 制作网站的要素潍坊网站关键词推广
  • seo网站诊断报告湖北百度关键词排名软件
  • 医疗 企业 网站制作网页模板素材
  • 那些网站做批发北京seo排名外包
  • 如何创建一个免费网站百度快照搜索引擎
  • 建设摩托车优化网络培训
  • 网站做视频在线观看网址什么是网络推广工作
  • 扬州外贸网站建设公司北京seo营销公司
  • 提供建设服务的网络公司龙斗seo博客
  • 用vs2010做网站css长沙快速排名优化
  • 做论坛网站需要哪些前置审批潍坊网站建设seo
  • 如何做像淘宝一样的网站网站如何进行优化
  • 网站建设优化开发公司招商外包公司
  • 小城市网站建设业务如何做企业产品推广
  • 做营利网站的风险营销型网站设计
  • 深圳知名网站建设供应ciliba磁力猫
  • 淄博政府网站建设公司哪家专业淘宝权重查询入口
  • 张家界旅游网站网址导航哪个好
  • 做外贸面料的网站seo技术分享
  • 湖州外贸网站建设西安关键词排名软件
  • 知道内容怎样让别人做网站网站快速排名优化报价
  • 上市公司网站设计竞价恶意点击器
  • 做化验的网站网络营销的内涵
  • 网站建设所属行业新浪微博指数查询
  • php和java哪个做网站浩企业网站营销
  • 青岛专业网站开发公司上海网络营销有限公司
  • 我们做网站 出教材 办育心经如何创建自己的个人网站
  • 如何通过国外社交网站做外销营销网站搭建