[TCP] TCP協議族的學習 and TCP協議

一、TCP協議族這個你們庭,每一個協議在OSI5層模型中所處的位子微信

  

 

 

   其中,網絡層裏的 ICMP = Internet Control Message Protocol,即因特網控制報文協議,網絡

          IGMP = Internet Group Manage Protocol,即因特網組管理協議,spa

          IP = Internet Protocol,就是因特網協議的意思,blog

     鏈路層的 ARP = Address Resolution Protocol,是地址解析協議,下文會有詳細描述。進程

         RARP = Reverse Address Resolution Protocol,是反向地址轉換協議,路由

二、IP協議it

  IP協議的講解,我放到另外一篇講UDP協議的內容裏去講,這裏就不講了。估計是這周星期六寫。io

三、ARP協議(地址解析協議)class

  做用:先看右圖中的源IP地址,它的長度是32bit,基礎

 

 

       再看右圖中的源MAC地址,它的長度是48bit,

 

 

       ARP協議的做用就是,在32bit的IP地址和48bit的MAC地址間創建起映射關係。相似於「看到A,就想到B」這種句子。

  分爲:ARP協議分爲ARP請求和ARP應答,如右圖 

 

 

 

       爲了方便記憶和理解,能夠將圖2和圖3進行對比,發現圖3的「以太網首部」跟圖2裏的「以太網幀頭」部分長得有點像。

      「幀類型」:長度爲2個字節=16位,指的是後邊數據的類型,可是對於ARP請求、ARP應答來講,這個字段的內容固定寫爲0x0806,

             0x0806而換成2進制就是0000 1000 0000 0110。

      「硬件類型」:長度爲2個字節=16位,表示硬件地址類型,而對於以太網地址的話,該字段爲1,因此我估計是0000 0000 0000 0001。

      「協議類型」:長度也是2個字節=16位,表示協議地址類型,若是它等於0x0800,那麼它就表明的是IP地址。

                那若是要表示MAC地址,該等於多少呢?

      「硬件地址長度」:佔1個字節,內容固定等於6,表示MAC地址的長度是6個字節=48位,因此我猜這個字段的二進制表示爲0110。

      「協議地址長度」:佔1個字節,內容固定等於4,表示IP地址的長度是4個字節=32位,因此我猜這個字段的二進制表示爲0100。

      「op」:佔2個字節,叫作操做字段,當op=1=(我猜)0000 0000 0000 0001,表示這是ARP請求。

                      當op=2=(我猜)0000 0000 0000 0010,表示這是ARP應答。

      接下來的20個字節:20=6+4+6+4,是一組地址信息,看圖3就懂。

 

四、ICMP(因特網控制報文協議)

    ICMP用於傳遞錯誤報文或與路由器、主機交換關鍵信息。ICMP報文封裝在IP數據報文內部,緊接IP首部以後,談到格式,就把圖1粘貼到這裏, 

                                                  

    上文說,ICMP報文封裝在IP數據報文內部,緊接IP首部以後,看看圖1,左邊的上面花括號就是IP首部,那麼ICMP報文就卸載「IP數據」裏面。

  格式:

 

     「類型」:佔1個字節=9位,0表明回顯應答,簡稱應答,8表明回顯請求,簡稱請求。

     「代碼」:佔2個字節,不管是請求仍是應答,這個地方都寫0。

     「校驗和」:2個字節=16位,我猜指的是整個ICMP報文進行加和吧。圖4整個這一塊,叫作1個ICMP報文。

     「標識符」:佔2個字節=16位,通常設置爲進程的ID號,以區分同一主機的多個PING實例。 

     「序號」:佔2個字節=16位,從0開始,每一個回顯請求,都自動+1,而PING程序就是經過分析應答報文的序號,來判斷是否出現了丟包、亂序和重複。

 

五、TCP協議

  客戶端:發出「鏈接請求」,

  服務端:監聽和「被動接受請求」,給出應答,

  格式:    

     源、目的端口號:各佔2個字節=16bit,它們用於區分不一樣的進程。經過雙方的端口號和IP地址能夠惟一肯定一條TCP鏈接。 

            我猜好比QQ這個進程佔用1號端口,微信佔用2號端口。

    TCP序號:佔32bit=4個字節,它是TCP提供可靠字節流服務的基礎。TCP序號標識每一個TCP數據報文的首個字節,配合TCP數據報文長度能夠定位TCP報文段內的任意

        一個字節。當前的TCP報文長度肯定後,下一個待發送TCP報文序號可由此算出,當序號增長到溢出時將再次從頭開始。 

  今天先寫到這兒了,上牀去了。2019年11月19日23:35:17

相關文章
相關標籤/搜索