天天看點

tcpip協定_淺談TCP IP協定棧(四)IP協定解析

通過之前的網絡層基礎知識,IP位址以及路由器的簡介,大家應該對于TCP/IP有一個大緻的了解,在腦海裡應該對于網絡的幾個基礎概念有個大概的了解,簡單點說整個協定棧就是在做一件事,規定網絡封包(網絡傳輸中的資料報)的發送和接收,而整個協定棧内的協定,也是可以分為之前介紹過的鍊路層-》網絡層-》傳輸層-》應用層,在這每一層中都有很多不同的協定,但是最常用的協定,每一層就是一到兩種,是以想學協定,先從每一層最常見,最常用的開始學起:

  • 鍊路層——以太網、VLAN
  • 網絡層——IP協定
  • 傳輸層——TCP/UDP協定
  • 應用層——HTTP協定

上面的幾種協定,如果都能熟練掌握,那基本上就是入門并且偏上的水準了,是以接下來我們就逐一介紹各個協定。

tcpip協定_淺談TCP IP協定棧(四)IP協定解析

上面就是IP封包的模闆,其中IP首部一般為20位元組,也就是圖中的第1行到第5行,第6行為可選字段,後續的就是封包所攜帶的資料。我們重點介紹IP首部,可以看到,每一行是4個位元組,也就是32位,而對于每一行我們又根據位數分為不同的字段,先來看看每個字段具體的含義:

第一段:

  • 4位版本号:取值為4時代表IPV4協定,取值為6時代表IPV6協定
  • 4位首部長度:機關是4位元組,一般取值為5
  • 8位ToS字段:這個字段比較特殊,它相當于是封包的優先級或者是封包的服務類型,用來區分封包的業務類型,對于裝置做QoS有着重大的意義。
  • 16位總長度:代表這一個IP封包總的長度,後面我們會介紹一個MTU時會介紹該字段。

第二段:

  • 16位标示符:用來唯一标記這一份IP封包

第三段:

  • 8位生存周期TTL字段:封包的生存周期,封包每經過一次轉發,該字段值減1,當減為0時,丢棄該封包。
  • 8位協定:代表着這份IP封包承載着何種上層傳輸協定或者網絡協定,常見的取值與對應關系如下:
  1. ICMP協定
  2. IGMP協定
  3. TCP協定
  4. UDP協定
  5. IGRP協定
  • 16位首部校驗和:用于檢驗收到的封包是否有差錯。

第四段:

  • 32位源IP位址:發送方IP位址

第五段:

  • 32位目的IP位址:接收方IP位址

介紹完IP封包的格式以後,我們再來說一下IP封包的特點,其主要特點有以下幾點:

  1. IP封包具有不可靠性,即不能發送方發送封包後,不保證接收方一定能收到該封包。
  2. IP封包的不保序性,既然IP封包是不靠靠的,那相應的,它也不保證發送出的封包的順序性,也許發包順序是1、2、3,但是收包順序可能就是3、2、1
  3. IP封包的分片,若發送封包資料過大,則涉及到封包分片。

綜上所述,我們對IP協定有一個大緻的了解,之後我們會陸陸續續介紹給多協定的,敬請期待!

繼續閱讀