1. 程式人生 > >UDP資料包一次傳送多大為好?

UDP資料包一次傳送多大為好?


當然,這個沒有唯一答案,相對於不同的系統,不同的要求,其得到的答案是不一樣的,我這裡僅對
像ICQ一類的傳送聊天訊息的情況作分析,對於其他情況,你或許也能得到一點幫助:
首先,我們知道,TCP/IP通常被認為是一個四層協議系統,包括鏈路層,網路層,運輸層,應用層.
UDP屬於運輸層,下面我們由下至上一步一步來看:
乙太網(Ethernet)資料幀的長度必須在46-1500位元組之間,這是由乙太網的物理特性決定的.
這個1500位元組被稱為鏈路層的MTU(最大傳輸單元).
但這並不是指鏈路層的長度被限制在1500位元組,其實這這個MTU指的是鏈路層的資料區.
並不包括鏈路層的首部和尾部的18個位元組.
所以,事實上,這個1500位元組就是網路層IP資料報的長度限制.
因為IP資料報的首部為20位元組,所以IP資料報的資料區長度最大為1480位元組.
而這個1480位元組就是用來放TCP傳來的TCP報文段或UDP傳來的UDP資料報的.
又因為UDP資料報的首部8位元組,所以UDP資料報的資料區最大長度為1472位元組.
這個1472位元組就是我們可以使用的位元組數。:)