以太網(Ethernet)數據幀的長度必須在46-1500字節之間,這是由以太網的物理特性決定的.
這個1500字節被稱爲鏈路層的MTU(最大傳輸單元).
但這並非指鏈路層的長度被限制在1500字節,其實這這個MTU指的是鏈路層的數據區.
並不包括鏈路層的首部和尾部的18個字節. 編程
由於IP數據報的首部爲20字節,因此IP數據報的數據區長度最大爲1480字節. tcp
又由於UDP數據報的首部8字節,因此UDP數據報的數據區最大長度爲1472字節. spa
鑑於Internet上的標準MTU值爲576字節,因此我建議在進行Internet的UDP編程時. 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