Tcp Udp發送包的大小限制問題

以太網(Ethernet)數據幀的長度必須在46-1500字節之間,這是由以太網的物理特性決定的
  這個1500字節被稱爲鏈路層的MTU(最大傳輸單元). 
  但這並非指鏈路層的長度被限制在1500字節,其實這這個MTU指的是鏈路層的數據區
  並不包括鏈路層的首部和尾部的18個字節.
編程

由於IP數據報的首部爲20字節,因此IP數據報的數據區長度最大爲1480字節tcp

又由於UDP數據報的首部8字節,因此UDP數據報的數據區最大長度爲1472字節spa

鑑於Internet上的標準MTU值爲576字節,因此我建議在進行InternetUDP編程時code

 

 

tcp每次發送的包大小  最大爲65535個字節,blog

udp給本機發送數據,單包的大小最大爲4000個字節,class

udp給其餘主機發送數據,單包的大小最大爲1500字節,udp

超過udp可能丟包,或者發不出去數據

#define MAX_TCP_SIZE 65536
#define IP_MTU_SIZE 1500
#define MAX_UDP_SIZE 4096
#define MIN_UDP_SIZE 576
相關文章
相關標籤/搜索