天天看點

ip首部TCP首部

<a href="http://blog.51cto.com/attachment/201303/191225387.jpg" target="_blank"></a>

IP資料包的首部

 Version(版本号)          //如IPV4,IPV6

 IHL (Inernet Header Length, IP標頭的長度) 4位元組為1個機關來記錄

 Type of Service(服務類型)

       //D:若為0表示一般延遲,若為1表示為低延遲,

       //T:若為0表示一般傳輸量,若為1表示高傳輸量;

       //R:若為0表示一般可靠度,若為1表示高可靠度

       //UU:保留尚未被使用

       //PPP:表示此IP資料包的優先級,目前很少使用

 Total Length(總長度)

     //指這個IP資料包的總容量,包括報頭與資料DATA部分,最大可達65535bytes

 Identification(識别碼)

     //每個小IP分段是否來自同一個IP資料,那就是這個标示符的作用

 Flages(特殊标志)

     //這個地方的内容為“0DM”,其意義為:

      D:若為0表示可以分段,若為1表示不可分段。

      M:若為0表示此IP最後分段,若為1表示非最後分段、、

 Fragment Offset(分段偏移)

     //有點像是序号,有這個序号才能将所有的小IP分段組合成為原本的IP資料包大小。

 Time To Live (TTL,生存時間)

     //當這個IP資料包通過一個路由器時,TTL就會減1,當TTL為0時,這個資料包将會被直接丢棄。

 Protocol Number(協定代碼)

     //來自傳輸層與網絡層本身的其他資料都是放置在IP資料包中,序号對應相關的協定,如6代表TCP協定

 Header Checksum(報頭校驗碼)

     //用于檢查這個IP報頭是否存在錯誤

 Sourse Address(來源的IP位址)

     //從這裡我們也知道IP是32位的

 Destination Address

     //目标IP位址

 Options(其他參數)

     //提供包括安全處理機制、路由記錄、時間戳、嚴格與寬松的來源路由等。

 Padding(補齊項目)

     //若Options的資料不足32bits時,則由Padding自動補齊

TCP資料包的首部

<a href="http://blog.51cto.com/attachment/201303/191258154.jpg" target="_blank"></a>

 Source Port (源端口)

 Destination Port(目标端口)

 Sequence Number(資料包序列号)

      //TCP太大分段時,這個記錄每段的序列号,便于組合。

 Acknowledge Number(回應序号)

      //為了确定主機确實收到我們所發出的資料包,

 Data Offset(資料補償)

      //由于Options字段是非固定的們為了要确認整個TCP資料包的大小,就需要這個标志來說明整個資料包字段的起始位置。

 Reserver(保留)

      //未使用的字段

 Code (Control Flag,控制标志碼)

      //當我們進行網絡連接配接的時候,必須要說明這個連接配接的狀态,好讓接受端了解這個資料包的主要動作。共有6個bits,分别代表6個句柄,若為1則為啟動:

   URG(Urgent)

      //若為1則代表該資料包為緊急資料包,接受端應該緊急處理,此時Urgent Pointer會被啟用

   ACK(Acknowledge)

      //若為1則代表這個資料包為響應資料包,則與Acknowledge Number有關

   PSH(Push function)

      //若為1,代表要求對方立即傳送緩沖區内的其他對應資料包,而無需等待緩沖區滿了才發送

   RST(Reset)

      //若為1時,代表連接配接馬上結束,而無需等待終止确認手續,

   SYN(Synchronous)

      //若為1,代表發送端希望雙方建立同步處理,也就是要求建立連接配接,通常帶有SYN的資料包表示“主動”要連接配接到對方的意思

   FIN(Finish)

      /若為1,代表傳送結束,是以通知對方資料傳送完畢,是否同意斷線,知識發送者還在等待對方的響應而已。

 Window(滑動視窗)

      //控制資料包的流量,可以告訴對方目前本機的緩沖器還可以接收的資料包,當其為0時表示緩沖器已滿,是以應該要暫停傳送資料

 Checksum(确認校驗碼)

      //當資料送出前,會進行一個校驗動作,并将該動作标注在字段上,接收者接收到後,會再次驗證,相符就接收。

 Urgent Pointer(緊急資料)

      //同URG

本文轉自 陳延宗 51CTO部落格,原文連結:http://blog.51cto.com/407711169/1156581,如需轉載請自行聯系原作者

繼續閱讀