TCP UDP 傳送資料的資料長度單位

2021-05-24 00:09:34 字數 813 閱讀 8202

基於訊息的socket最大的傳送包大小為so_max_msg_size(預設為65535, 即64k), 超過此值,sendto函式將傳送失敗,失敗資訊為 wsaemsgsize

.但報文段大於mtu而沒有大於so_max_msg_size時,需要進行ip分片傳輸,同樣這樣在接收方,ip層需要組合包操作,並耗記憶體,一般來說要控制報文大小在小於或等於mtu的範圍內,避開拆包和組包過程.

在tcp協議中,大的資料實際上可能經過兩次分割:第一次是tcp協議會把資料分段已裝入乙個tcp報文中,由於tcp報文將要被放入ip包中,所以每個分段mtu

,那麼ip協議會將該ip包切片;

由於udp是無連線協議,且執行在ip之上,udp每次送的資料各種網路環境對mtu的設定:

internet, 路由器可能會將mtu設為不同的值路由器可能會將mtu設為不同的值;

pppoe/adsl:1492 dial up/modem:576

乙太網(ethernet)資料幀的長度必須在46-1500位元組之間,這是由乙太網的物理特性決定的.   這 個1500位元組被稱為鏈路層的mtu(最大傳輸單元).    根據四層網路拓撲結構, 扣除ip層中的包裝字段(ip資料報的首部為20位元組),所以ip資料報的資料區長度最大為1480位元組, 而這個1480位元組就是用來放tcp傳來的tcp報文段或udp傳來的udp資料報的;另外考慮傳輸層udp的首部占用8個位元組,所以udp資料報的資料 區最大長度為1472位元組.

資料的傳遞 TCP UDP資料格式

udp和tcp最基本的任務是,將兩個端系統間ip的交付服務擴充套件為執行在兩個端系統上的程序之間的交付服務。將運輸層報文段中的資料交付到正確的套接字,被稱為多路分解 從源主機的不同套接字收集資料塊,並為每個資料塊封裝上首部資訊從而生成報文段,然後將報文段傳遞到網路層,這一工作被稱為多路復用。多路復用...

tcp的資料報傳送與網路佇列長度

假設tcp的擁塞控制演算法為tcp reno,ssthresh 20,擁塞視窗的初始值為1.假設網路鏈路為n0 b1,d1 n1 b1,d2 n2,其中 b,d 分別代表頻寬和時延,b1 b2。假設這條鏈路僅有乙個tcp session。現在,從理論上分析下這條鏈路的丟包情況。根據之前的分析 1 t...

ASIHttpRequest 傳送資料

傳送資料 request addrequestheader referer value 檔案中的資料是需要時才從磁碟載入,所以只要web server能處理,那麼上傳大檔案是沒有問題的。asiformdatarequest request asiformdatarequest requestwith...