生活随笔
收集整理的這篇文章主要介紹了
2、以太网基础知识——IP协议
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
返回總目錄
上一篇
下一篇
1、簡介
IP 地址(Internet Protocol Address)是互聯網協議特有的一種地址,它是 IP 協議提供的一種統一的地址格式。IP 地址為互聯網上的每一個網絡和每一臺主機分配一個邏輯地址,以此來屏蔽物理地址的差異。
2、IP地址的基本構成
為了便于尋址,了解目標主機的位置,每個 IP 地址包括兩個標識碼(ID),即網絡 ID 和主機 ID。同一個物理網絡上的所有主機都使用同一個網絡 ID,網絡上的一個主機(包括網絡上的工作站、服務器和路由器等)有一個主機 ID 與其對應。
網絡 ID 和主機 ID 含義如下:
- 網絡 ID:用于識別主機所在的網絡,網絡 ID 的位數直接決定了可以分配的網絡數量。
- 主機 ID:用于識別該網絡中的主機,主機 ID 的位數則決定了網絡中最大的主機數量。
3、IP地址的分類和格式
IP 地址為 32 位地址,被分為 4 個 8 位段。為了方便對 IP 地址的管理,將 IP 地址基本分為三大類,每類地址的分類與含義如下:
- A 類:前 8 位表示網絡 ID,后 24 位表示主機 ID;該地址分配給政府機關單位使用。
- B 類:前 16 位表示網絡 ID,后 16 位表示主機 ID;該地址分配給中等規模的企業使用。
- C 類:前 24 位表示網絡 ID,后 8 位表示主機 ID;該地址分配給任何需要的人使用。
除了上述的 A、B、C 三類地址以外,還有兩類隱藏地址,即 D 類地址和E類地址:
- D 類:不分網絡 ID 和主機 ID;該地址用于多播。
- E 類:不分網絡 ID 和主機 ID;該地址用于實驗。
IP 地址被分類以后,如何判斷一個 IP 地址是 A 類、B 類還是 C 類地址呢?為了更好地進行區分,將每類地址的開頭部分設置為固定數值,如圖所示。
?
從上圖中可以看出,每類 IP 地址都是以 32 位的二進制格式顯示的,每類地址的區別如下:
- A類:網絡 ID 的第一位以 0 開始的地址。
- B類:網絡 ID 的第一位以 10 開始的地址。
- C類:網絡ID的第一位以 110 開始的地址。
- D類:地址以 1110 開始的地址。
- E類:地址以 11110 開始的地址。
由于每類地址的開頭是固定的,因此每類地址都有自己的范圍:
- A類:IP 地址范圍為 0.0.0.0~127.255.255.255。
- B類:IP 地址范圍為 128.0.0.0~191.255.255.255。
- C類:IP 地址范圍為 192.0.0.0~223.255.255.255。
- D類:IP 地址范圍為 224.0.0.0~239.255.255.255。
- E類:IP 地址范圍為 240.0.0.0~255.255.255.254。
?
4、IP地址工作方式
同網段
如果源地址主機和目標地址主機在同一網段,目標 IP 地址被 ARP 協議解析為 MAC 地址,然后根據 MAC 地址,源主機直接把數據包發給目標主機。
不同網段
如果源地址主機和目標地址主機在不同網段,數據包發送過程如下:
網關(一般為路由器)的 IP 地址被 ARP 協議解析為 MAC 地址。根據該 MAC 地址,源主機將數據包發送到網關。網關根據數據包中的網段 ID 尋找目標網絡。如果找到,將數據包發送到目標網段;如果沒找到,重復步驟(1)將數據包發送到上一級網關。數據包經過網關被發送到正確的網段中。目標IP地址被ARP協議解析為 MAC 地址。根據該 MAC 地址,數據包被發送給目標地址的主機。
5、數據幀格式
在 TCP/IP 協議中,使用 IP 協議傳輸數據的包被稱為 IP 數據包,每個數據包都包含 IP 協議規定的內容。IP 協議規定的這些內容被稱為?IP 數據報文(IP Datagram)或者?IP 數據報。
IP 數據報文由首部(稱為報頭)和數據兩部分組成。首部的前一部分是固定長度,共 20 字節,是所有 IP 數據報必須具有的。在首部的固定部分的后面是一些可選字段,其長度是可變的。
每個 IP 數據報都以一個 IP 報頭開始。源計算機構造這個 IP 報頭,而目的計算機利用 IP 報頭中封裝的信息處理數據。IP 報頭中包含大量的信息,如源 IP 地址、目的 IP 地址、數據報長度、IP 版本號等。每個信息都被稱為一個字段。
IP 數據報頭字段如圖所示。
IP 報頭的最小長度為 20 字節,上圖中每個字段的含義如下:
版本(version):占 4 位,表示 IP 協議的版本。通信雙方使用的 IP 協議版本必須一致。目前廣泛使用的IP協議版本號為 4,即 IPv4。首部長度(網際報頭長度IHL):占 4 位,可表示的最大十進制數值是 15。這個字段所表示數的單位是 32 位字長(1 個 32 位字長是 4 字節)。因此,當 IP 的首部長度為 1111 時(即十進制的 15),首部長度就達到 60 字節。當 IP 分組的首部長度不是 4 字節的整數倍時,必須利用最后的填充字段加以填充。數據部分永遠在 4 字節的整數倍開始,這樣在實現 IP 協議時較為方便。首部長度限制為 60 字節的缺點是,長度有時可能不夠用,之所以限制長度為 60 字節,是希望用戶盡量減少開銷。最常用的首部長度就是 20 字節(即首部長度為 0101),這時不使用任何選項。區分服務(tos):也被稱為服務類型,占 8 位,用來獲得更好的服務。這個字段在舊標準中叫做服務類型,但實際上一直沒有被使用過。1998 年 IETF 把這個字段改名為區分服務(Differentiated Services,DS)。只有在使用區分服務時,這個字段才起作用。總長度(totlen):首部和數據之和,單位為字節。總長度字段為 16 位,因此數據報的最大長度為 2^16-1=65535 字節。標識(identification):用來標識數據報,占 16 位。IP 協議在存儲器中維持一個計數器。每產生一個數據報,計數器就加 1,并將此值賦給標識字段。當數據報的長度超過網絡的 MTU,而必須分片時,這個標識字段的值就被復制到所有的數據報的標識字段中。具有相同的標識字段值的分片報文會被重組成原來的數據報。標志(flag):占 3 位。第一位未使用,其值為 0。第二位稱為 DF(不分片),表示是否允許分片。取值為 0 時,表示允許分片;取值為 1 時,表示不允許分片。第三位稱為 MF(更多分片),表示是否還有分片正在傳輸,設置為 0 時,表示沒有更多分片需要發送,或數據報沒有分片。片偏移(offsetfrag):占 13 位。當報文被分片后,該字段標記該分片在原報文中的相對位置。片偏移以 8 個字節為偏移單位。所以,除了最后一個分片,其他分片的偏移值都是 8 字節(64 位)的整數倍。生存時間(TTL):表示數據報在網絡中的壽命,占 8 位。該字段由發出數據報的源主機設置。其目的是防止無法交付的數據報無限制地在網絡中傳輸,從而消耗網絡資源。路由器在轉發數據報之前,先把 TTL 值減 1。若 TTL 值減少到 0,則丟棄這個數據報,不再轉發。因此,TTL 指明數據報在網絡中最多可經過多少個路由器。TTL 的最大數值為 255。若把 TTL 的初始值設為 1,則表示這個數據報只能在本局域網中傳送。?協議:表示該數據報文所攜帶的數據所使用的協議類型,占 8 位。該字段可以方便目的主機的 IP 層知道按照什么協議來處理數據部分。不同的協議有專門不同的協議號。例如,TCP 的協議號為 6,UDP 的協議號為 17,ICMP 的協議號為 1。首部檢驗和(checksum):用于校驗數據報的首部,占 16 位。數據報每經過一個路由器,首部的字段都可能發生變化(如TTL),所以需要重新校驗。而數據部分不發生變化,所以不用重新生成校驗值。源地址:表示數據報的源 IP 地址,占 32 位。?目的地址:表示數據報的目的 IP 地址,占 32 位。該字段用于校驗發送是否正確。?可選字段:該字段用于一些可選的報頭設置,主要用于測試、調試和安全的目的。這些選項包括嚴格源路由(數據報必須經過指定的路由)、網際時間戳(經過每個路由器時的時間戳記錄)和安全限制。填充:由于可選字段中的長度不是固定的,使用若干個 0 填充該字段,可以保證整個報頭的長度是 32 位的整數倍。?數據部分:表示傳輸層的數據,如保存 TCP、UDP、ICMP 或 IGMP 的數據。數據部分的長度不固定。
總結
以上是生活随笔為你收集整理的2、以太网基础知识——IP协议的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。