【1】经典网络协议-UDP介绍

1. UDP介绍

  • UDP是一个简单的面向数据报的传输层协议:进程的每个输出操作,都正好产生一个UDP数据报,并组装成一份待发送的IP数据包;
  • 这与面向流字符的协议不同,如TCP,应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么联系;
  • UDP不提供可靠性:它把应用程序传给IP层的数据发送出去,但是并不保证他们能到达目的地。
  • 应用程序必须关心IP数据报的长度。如果超过网络的MTU,那么就要对IP数据报进行分片

 

UDP:报,Datagram,APP将数据压给UDP。不管数据大小,直接封装头部。如果收到特别大的包如何,UDP->APP时,一般会有个API的大小,数据>API大小,直接切掉多余部分,剩下交给APP。

 

TCP:流,stream。与UDP区别,发送数据包的数量与应用程序产生的数据没有关系。因为TCP对于数据大小存在要求。对于较大的数据,存在最大传输单元,mss值。大于mss的,会被【TCP】分片。若数据较小,为防止

传输效率低,累计一定量后进行发送。

 

2. UDP首部

 

  •  端口号表示【发送进程】与【接收进程】
  • TCP端口号与UDP端口号是相互独立的。
  • 尽管相互独立,若TCP/UDP同时提供某种知名服务,两个协议通常选择相同的端口号。纯粹是为了使用方便
  • UDP长度字段,指的是UDP首部和UDP数据的字节长度。该字段最小值为8字节

3. SOCKET类型

 

posted @ 2020-11-21 18:58  BruceXue  阅读(454)  评论(0)    收藏  举报