IPV4基本知識介紹


轉自華為官網

1.1  介紹

 

定義

IPv4(Internet Protocol Version 4)協議族是TCP/IP協議族中最為核心的協議族。它工作在TCP/IP協議棧的網絡層,該層與OSI參考模型的網絡層相對應。網絡層提供了無連接數據傳輸服務,即網絡在發送分組時不需要先建立連接,每一個分組(也就是IP數據報文)獨立發送,與前后的分組無關。

 

目的

網絡層的IPv4協議族為數據鏈路層和傳輸層實現互通提供了保障。IPv4協議族可以屏蔽各鏈路層的差異,為傳輸層提供統一的網絡層傳輸標准。

 

1.2  原理描述

 

1.2.1  IPv4簡介

 

IPv4協議族

IPv4協議族是TCP/IP協議族中最為核心的協議族。IPv4協議族主要包括地址解析協議ARP(Address Resolution Protocol)、逆地址解析協議RARP(Reverse Address Resolution Protocol)、互聯網控制消息協議ICMP(Internet Control Message Protocol)、傳輸控制協議TCP(Transmission Contronl Protocol)和用戶數據報協議UDP(User Datagram Protocol)等協議。

圖1-1  IPv4協議族 

從圖1-1可以看出來,ARP和RARP的功能是地址解析,介於數據鏈路層和網絡層之間,所以常常被調用。ICMP協議的功能是為了更有效地轉發IP數據報文和提高數據報文交付成功的機會,是介於網絡層和傳輸層之間的協議。

 

ARP協議

ARP是用來將IP地址解析為MAC地址的協議,可以分為動態和靜態兩種類型。另外ARP還有擴展應用功能,包括Proxy ARP功能、免費ARP、ARP安全以及ARP-Ping。

 

RARP協議

RARP和ARP正好相反,是將主機的MAC地址解析為IP地址的協議。

 

ICMP協議

為了更有效地轉發IP數據報文和提高數據報文交付成功的機會,在網絡層使用ICMP協議。ICMP允許主機或路由器報告差錯情況和提供有關異常情況的報告。ICMP報文作為IP層數據報文的數據,加上數據報文的首部,組成IP數據報文發送出去。

 

1.2.2  IPv4地址

在IP網絡上,如果用戶要將一台計算機連接到Internet上,就需要向因特網服務提供方ISP(Internet Service Provider)申請一個IP地址。

IP地址是在計算機網絡中被用來唯一標識一台設備的一組數字。IPv4地址由32位二進制數值組成,但為了便於用戶識別和記憶,采用了“點分十進制表示法”。采用了這種表示法的IP地址由4個點分十進制整數來表示,每個十進制整數對應一個字節。例如,IPv4地址使用二進制的表示形式為00001010 00000001 00000001 00000010,采用點分十進制表示法表示為10.1.1.2。

IPv4地址由如下兩部分組成:

  • 網絡號碼字段(Net-id)。IP地址的網絡號碼字段用來標識一個網絡,網絡號碼字段的前幾位用來區分IP地址的類型。

  • 主機號碼字段(Host-id)。主機號碼字段用來區分一個網絡內的不同主機。對於網絡號相同的設備,無論實際所處的物理位置如何,它們都是處在同一個網絡中。

 

IPv4地址的特點

IPv4地址的主要特點有:

  • IP地址是一種非等級的地址結構,IP地址不能反映任何有關主機位置的地理信息,只能通過網絡號碼字段判斷出主機屬於哪個網絡。

  • 當一台主機同時連接到兩個網絡上時,該主機就必須同時具有兩個相應的IP地址,其網絡號碼Net-id是不同的,這種主機稱為多地址主機(Multihomed Host)。主機上的每個接口都對應着一個IP地址,因此多接口主機會有多個IP地址。

  • 在IP地址中,所有分配到網絡號碼Net-id的網絡都是平等的。

 

IPv4地址分類

為了方便IP地址的管理及組網,IP地址分成五類,如圖1-2所示。

圖1-2  五類IP地址 

目前大量使用的IP地址屬於A、B、C三類IP地址中的一種。D類地址是組播地址,E類地址保留。A、B、C、D、E類的類別字段分別是二進制數0、10、110、1110、1111,通過網絡號碼字段的前幾個比特就可以判斷IP地址屬於哪一類,這是區分各類地址最簡單的方法。在IETF(Internet Engineering Task Force)發布的RFC1166 Internet Numbers中詳細描述了各類IP地址。

在使用IP地址時要注意,一些IP地址是保留作為特殊用途的,一般的用戶不能使用。表1-1列出各類IP地址的范圍。

表1-1  IP地址分類及范圍

網絡類型

地址范圍

說明

A

0.0.0.0~127.255.255.255

全0的主機號碼表示該IP地址就是網絡的地址,用於網絡路由;全1的主機號碼表示廣播地址,即對該網絡上所有的主機進行廣播。

B

128.0.0.0~191.255.255.255

全0的主機號碼表示該IP地址就是網絡的地址,用於網絡路由;全1的主機號碼表示廣播地址,即對該網絡上所有的主機進行廣播。

C

192.0.0.0~223.255.255.255

全0的主機號碼表示該IP地址就是網絡的地址,用於網絡路由;全1的主機號碼表示廣播地址,即對該網絡上所有的主機進行廣播。

D

224.0.0.0~239.255.255.255

D類地址是一種組播地址。

E

240.0.0.0~255.255.255.255

保留。255.255.255.255用於局域網廣播地址。

 

特殊IPv4地址

表1-2  特殊情況的IP地址

IP地址網絡號

IP地址主機號

能否作為源端地址

能否作為目的端地址

描述

全0

全0

可以

不可以

用於本網絡上的本主機

全0

主機號

可以

不可以

用於網絡上的特定主機

127

非全0或全1的任何值

可以

可以

用於環回地址

全1

全1

不可以

可以

用於受限的廣播(永遠不被轉發)

Net-id

全1

不可以

可以

用於向以Net-id為目的的網絡廣播

 說明:

Net-id表示不全為0和不全為1的對應字段。

 

私有IPv4地址

為了解決IP地址短缺的問題,提出了私有地址的概念。私有地址是指內部網絡或主機地址,這些地址只能用於某個內部網絡,不能用於公共網絡。RFC1918描述了為私有網絡預留的3個IP地址段。

表1-3  私有IP地址

網絡類型

地址范圍

A

10.0.0.0~10.255.255.255

B

172.16.0.0~172.31.255.255

C

192.168.0.0~192.168.255.255

 

1.2.3  IPv4報文格式

IPv4報文格式如圖1-3所示。
圖1-3  IPv4報文格式 

一個IPv4數據報文由首部和數據兩部分組成。首部的前一部分是固定長度,共20個字節,是所有IPv4數據報必須具有的。在首部的固定部分的后面是一些可選字段,其長度是可變的。

主要字段的解釋如表1-4所示。

表1-4  IPv4報文各字段的含義

字段

長度

含義

版本

4比特

IP協議的版本號,分為IPv4和IPv6協議。

首部長度

4比特

IPv4的首部長度。

區分服務

8比特

用來獲得更好的服務。只有在使用區分服務時,這個字段才起作用。

總長度

16比特

指首部和數據之和的長度。

標識

16比特

IPv4軟件在存儲器中維持一個計數器,每產生一個數據報,計數器就加1,並將此值賦給標識字段。

標志

3比特

目前只有兩位有意義。最低位為1表示后面“還有分片”的數據報,為0表示這已經是最后一個數據片;中間一位為1表示“不能分片”,為0才允許分片。

片位移

13比特

指出較長的分組在分片后,該片在原分組中的相對位置。

生存時間

8比特

表示數據報在網絡中的壽命,英文縮寫是TTL(Time To Live),功能是“跳數限制”。

協議

8比特

指出此數據報攜帶的數據是使用何種協議。

首部檢驗和

16比特

數據報每經過一個路由器,路由器都要重新計算一下首部檢驗和,若首部未發生變化,則此結果必為0,於是就保留這個數據報。這個字段只檢驗數據報的首部,但不包括數據部分。

源地址

32比特

報文發送方的IPv4地址。

目的地址

32比特

報文接收方的IPv4地址。

選項字段(長度可變)

0~40字節

用來支持排錯、測量以及安全等措施。在必要的時候插入值為0的填充字節。

數據部分

可變

用來填充報文。

 

1.2.4  子網划分

通過將IP地址的網絡部分進一步划分為若干個子網,解決了IP地址空間利用率低和兩級IP地址不夠靈活的問題。

當一個單位的主機很多而且分布在很廣的地理范圍時,為了便於管理,可將單位內部的主機號碼再進一步划分為多個子網。通過子網划分,整個網絡地址可以划分成更多的小網絡。

子網的划分是網絡內部的行為,從外部看,這個單位只有一個網絡號碼。只有當外部的報文進入到本單位范圍后,本單位的路由設備才根據子網號碼再進行選路,找到目的主機。

如圖1-4所示,為一個B類IP地址子網划分情況,其中子網掩碼由一串連續的“1”和一串連續的“0”組成。“1”對應於網絡號碼和子網號碼字段,而“0”對應於主機號碼字段。
圖1-4  IP地址子網划分 

圖1-4中,把一個B類地址的Host-id的高位5bits用來划分子網,Subnet-id的范圍是從00000~11111,總共可以划分25(32)個子網出來。對應的子網掩碼也會相應的發生變化,比如Subnet-id為11111的子網掩碼就是255.255.248.0。將IP地址與其相應掩碼位執行與運算的結果就是網絡地址。

多划分出一個子網號碼字段是要付出代價的。舉例來說,本來一個B類IP地址可以容納65534個主機號碼。但划分出5bits長的子網字段后,最多可有32個子網,每個子網有11bit的主機號碼,即每個子網最多可有2046(211-2,去掉全1和全0的主機號碼)個主機號碼。因此主機號碼的總數是(32 x 2046 = 65472)個,比不划分子網時要少62個。

子網划分與IP地址規划時,通常需要綜合考慮以下原則,實現合理高效的網絡規划。

 

層次性

實現網絡的層次性划分,需要綜合考慮地域和業務因素,采用自頂向下的方法划分,達到有效管理網絡、簡化路由表的目標。一般情況下:

  • 對於大骨干網絡和大城域網絡相結合的網絡,采用層次性划分方式。
  • 對於行政區類型的網絡,采用多級網絡分配方式。

 

連續性

連續地址在層次結構的網絡中易於進行路由聚合,大大縮減路由表數量,提高路由查找的效率。

  • 盡量為每個區域分配連續的IP地址空間。
  • 盡量為具有相同業務和功能的設備分配連續的IP地址。

 

擴展性

分配地址時,在每一層次上都要留有余量。當網絡規模擴展時能保證地址分配的連續性,實現網絡的長遠規划。

骨干網絡應有足夠的連續地址組成獨立的自治域,並為今后的擴展留有余地。

 

高效性

划分子網時,要保證充分利用地址資源,使子網的划分滿足主機個數的要求。

  • 利用可變長子網掩碼VLSM(Variable Length Subnet Mask)技術分配IP地址,充分合理地利用地址資源。
  • 與網絡的路由機制設計相結合,合理使用已划分的地址空間,提高地址的利用率。

 

1.2.5  IP地址解析

一台路由設備用來連接多個網絡,具有多個網絡的IP地址。為保證用戶使用IP地址進行正常通信,需要滿足如下兩點:

  • IP地址只是主機在網絡層中的地址,若要將網絡層中傳送的數據報交給目的主機,必須知道該主機的物理地址,因此必須將IP地址解析為物理地址。

  • 用戶平時不願意使用難於記憶的IP地址,而更願意使用易於記憶的主機名,因此也需要將主機名解析為IP地址。

在以太網上,主機的物理地址就是指MAC地址。將主機名解析為IP地址的操作是由DNS服務器來完成,而將IP地址解析為MAC地址的操作是由ARP來完成的,詳細內容請參見DNS和ARP章節內容。

 

1.3  參考標准和協議

本特性的參考資料清單如下:

 

文檔

描述

備注

RFC1166

Internet Numbers

-

RFC1918

Address Allocation for Private Internets

-


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM