1、udp的頭部8個位元組,源埠、目標埠、長度(以位元組為單位)校驗和
udp的校驗和要加上12b偽首部、偽首部5個字段、源ip(4b)、目標ip(4b)、全0欄位(1b)、ip首部協議欄位的值(1b)、udp使用者資料報的長度(2b)。
然後把16位作為一組,也就是2b作為一組,如果說udp使用者資料報+偽首部是奇數個位元組(也就是udp資料報的資料部分是奇數個位元組)那麼那補充乙個全0位元組(此位元組不傳送、偽首部也不傳送)。
使用二進位制反碼求和、這個求和不是一下子全部求得,是兩行兩行的求。
二進位制反碼求和和一般的求和也沒什麼區別,主要就是如果說高位溢位,就在最低位上加1即可。
在計算校驗和的時候,會先在校驗和字段寫入全0,最後是把二進位制反碼求和的結果取反碼放入校驗和字段。在接收方,也同樣加上偽首部以及填充位元組,計算校驗和,如果沒有出差錯的話,應該全部是1.否則就表示出差錯了。
接收方和傳送方的偽首部是一樣的。
tcp的校驗方式和udp是一樣的,校驗和字段也是2b,先寫全0,然後加上偽首部,
ip位址是32位 4b, ipv6的位址長度是128位
偽首部是12位元組,5個字段、源ip(4b)+目標ip(4b)+全0(1b)+協議(tcp是6)(1b)+tcp資料報的長度(首部+資料部分)
TCP協議和UDP協議
前面我們學習了網路的7層模型,其中談到傳輸層的相關協議有tcp transmission control protocol 傳輸控制協議 和udp user datagram protocol 使用者資料報協議 一 tcp協議 tcp transmission control protocol 是一...
TCP協議和UDP協議
tcp transfer control protocol 是面向連線的,所謂面向連線,就是當計算機雙方通訊時必需經過先建立連線,然後傳送資料,最後拆除連線三個過程。tcp在建立連線時又分三步走 第一步,是請求端 客戶端 傳送乙個包含syn即同步 synchronize 標誌的tcp報文,syn同步...
TCP協議和UDP協議
區別 面向連線vs無連線 tcp建立乙個連線需要3次握手ip資料報,斷開連線需要4次握手。另外斷開連線時發起方可能進入time wait狀態長達數分鐘 視系統設定,windows一般為120秒 在此狀態下連線 埠 無法被釋放。udp不需要建立連線,可以直接發起。可靠vs不可靠 tcp利用握手 ack...