UDP

运输层协议为运行在不同主机上的应用进程之间提供了逻辑通信。
TCP(传输控制协议),为调用它的应用程序提供了一种可靠的、面向连接的服务。

将主机间交付扩展到进程间交付被称为运输层的多路复用与多路分解。
基本功能: 进程到进程到数据交付和差错检查。
TCP为应用程序提供了几种附加服务。

  1. 可靠数据传输: 通过使用流量控制、序号、确认和定时器,确保正确地、按序的将数据从发送进程交付给接受进程。
  2. 拥塞控制: 提供给整个因特网的服务。防止任何一条TCP连接用过多的流量来淹没通信主机之间的链路和交换设备。通过调节TCP连接的发送端发送进网络的流量速率来做到。

多路复用: 源主机从不同套接字中收集数据块,并为每个数据块封装上首部信息从而生成报文段,然后将报文段传递到网络层,所有这些工作称为多路复用
多路分解:将运输层报文段中的数据交付到正确的套接字的工作称为多路分解
运输层多路复用要求: 1. 套接字有唯一标识符。2.每个报文段有特殊字段来指示该报文段所要交付到的套接字。(源端口+目的端口)

有许多应用更适合用UDP:

  1. 关于发送什么数据以及何时发送的应用层控制更为精细。
  2. 无须建立连接。
  3. 无连接状态。
  4. 分组首部开销小。每个TCP报文段都有20字节的首部开销,而UDP仅有8字节的开销

UDP报文段结构

应用数据占用UDP报文段的数据字段。
对于DNS应用,数据字段要么包含一个查询报文,要么包含一个响应报文。
UDP首部只有4个字段,每个字段由两个字节组成。
源端口号(2B)+目的端口号(2B)+长度(2B)+检验和(2B)

只提供差错检测,不提供恢复机制。

posted @   CrazyShanShan  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示