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


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

因為IP數據報的首部為20字節,所以IP數據報的數據區長度最大為1480字節

又因為UDP數據報的首部8字節,所以UDP數據報的數據區最大長度為1472字節

鑒於Internet上的標准MTU值為576字節,所以我建議在進行InternetUDP編程時

 

 

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

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

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

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

#define MAX_TCP_SIZE 65536
#define IP_MTU_SIZE 1500
#define MAX_UDP_SIZE 4096
#define MIN_UDP_SIZE 576

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM