我是靠谱客的博主 大方小天鹅,最近开发中收集的这篇文章主要介绍TCP/IP详解学习笔记(8)-- UDP:用户数据报协议,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.UDP概述
  • UDP是一种无连接的, 即发送数据前不需要建立连接,因此减小的开销和发送数据的延迟。
  • UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
  • UDP是面向报文的,
  • UDP没有拥塞控制,因此网络出现的拥塞不会使主机的发送率降低。
  • UDP支持一对一,一对多,多对一和多对多的交互通信。
  • UDP首部开销小,只有8字节,比TCP的20个字节的首部要短。
  • UDP的封装如下所示:

  

2.UDP的首部格式
  • 源端口号:该项是任选项,默认值是0,可以被指定。
  • 目的端口号:该项必须指定,因为这个作为接收主机内特定应用进程相关联的地址。
  • UDP长度:该字段表示数据报文的长度(包含首部和数据部分),最小8个字节。
  • 检验和:该字段用于防止UDP用户数据报在传输中出错。当进行检验和计算时,要在UDP数据报之前增加临时的12个字节伪首部。如上图所示。
3.IP分片
     物理网络层一般要限制每次发送的数据帧的最大长度。所以,IP层接收到一份要发送的IP数据报时,它要判断向本地哪个接口发送数据(选路),并查询该接口在原始发送端主机上,也可以发送在中间路由器上。
     对于每一份IP数据报来说,其标识字段都包含一个唯一值。该值在数据报分片时候被复制到每个片中。当数据报分片之后,每个片的总长度要改为该片的长度。(任何运输层首部只出现在第一片数据报中)
4.ICMP不可达差错(需要分片)
     当路由器收到一份需要分片的数据报,而在IP首部又设置了不分片(DF)的标志比特。,就会长生ICMP不可达差错报文,如图所示。
 5.ICMP源站抑制差错
     当一个系统(路由器或者主机)接收数据报的速度比其处理速度快时,可能产生这个差错。报文格式如下:

转载于:https://www.cnblogs.com/newwy/p/3227767.html

最后

以上就是大方小天鹅为你收集整理的TCP/IP详解学习笔记(8)-- UDP:用户数据报协议的全部内容,希望文章能够帮你解决TCP/IP详解学习笔记(8)-- UDP:用户数据报协议所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部