網路層 IP協議及IP位址總結

2021-10-09 14:01:14 字數 4043 閱讀 9591

在複雜的網路環境中確定乙個合適的路徑

節點:主機和路由器的統稱

ip協議的功能

定址和路由(根據對方的ip位址,尋找出最佳的路徑傳輸資訊)

傳遞服務

不可靠 (ip協議只是盡最大努力去交付,可靠由上層tcp協議提供)

無連線 (事先不建立會話)

資料報的分片和重組

解包:4位首部長度

分用:8位協議

以ipv4為例:4個8位位元組

4位版本號:指定ip協議的版本,對於ipv4來講,就是4

4位首部長度:ip首部長度是多少各32bit,是length*4 的位元組數,ip頭部最大長度是60位元組

8位服務型別:

3位優先權字段(已經棄用)

4位tos欄位:最小延時,最大吞吐量,最高可靠性,最小成本(這四者衝突,只能選擇乙個)

1位保留字段,必須為0

16位總長度:ip資料報整體佔多少個位元組

16位標識:是乙個標識,唯一標識主機傳送的報文,如果ip報文在資料鏈路層被分片了(ip報文長度大於mtu),則每一片裡的這個標識(id)都是一樣的

3位標誌:

第一位:保留

第二位:是否允許分片(置0:允許,置1:不允許),如果置1,但是ip報文長度超過mtu則被丟棄

第三位:結束標誌(最後一片置1,表示已經完了,其餘的置0)

13位片偏移:分片相對於原始ip報文的偏移(其實就是表示當前分片在原報文中處在哪個位置)

8位生存時間(ttl):資料報到達目的地的最大報文跳數,一般是64,每次經過乙個路由,ttl-=1;一直減到0,還沒到達就丟棄。主要用來防止出現路由迴圈

8位協議:上層協議型別

16位首部校驗和:使用crc來進行校驗,鑑別頭部是否損壞

ip位址分為兩個部分,網路號和主機號

網路號:保證相互連線的兩個網段具有不同的標識

主機號:同一網段內,主機號之間具有相同的網路號,但是必須有不同的主機號

1、不同的子網就是把網路號相同的主機放在一起

2、如果子網中新增一台主機,則這台主機的網路號和這個子網的網路號一直,但是主機號必須不能和子網中的其他主機重複

通過合理的設定主機號和網路號就可以保證在相互連線的網路中,每台主機ip位址都不相同。

手動管理子網內的ip,非常麻煩,

有一種技術叫做dhcp, 能夠自動的給子網內新增主機節點分配ip位址, 避免了手動管理ip的不便.

一般的路由器都帶有dhcp功能. 因此路由器也可以看做乙個dhcp伺服器.

ip位址劃分

該種分法將ip位址分為五類:a,b,c,d,e類

a類:0.0

.0.0到127.255

.255

.255

b類:128.0

.0.0到191.255

.255

.255

c類:192.0

.0.0到223.255

.255

.255

d類:224.0

.0.0到239.255

.255

.255

e類:240.0

.0.0到247.255

.255

.255

根據子網掩碼劃分

隨著internet的飛速發展,這種劃分方案的侷限性很快顯現出來,大多數組織都申請b類網路位址, 導致b類位址很快就分配完了, 而a類卻浪費了大量位址

例如, 申請了乙個b類位址, 理論上乙個子網內能允許6萬5千多個主機. a類位址的子網內的主機數更多.然而實際網路架設中, 不會存在乙個子網內有這麼多的情況. 因此大量的ip位址都被浪費掉
針對這種情況提出了新的劃分方案, 稱為cidr(classless interdomain routing無類域間路由):

將一組位址聚合為乙個網路

例如:應用cidr技術將203.183.224.1到203.183.225.254的位址何為同乙個網路(他們本來是2個c類位址)

有關cird

1、引入乙個額外的子網掩碼(subnet mask)來區分網路號和主機號

2、子網掩碼也是乙個32 位正整數,通常使用一串「0」來結尾

3、將ip位址和子網掩碼進行「按位與」操作,得到的結果就是網路號

4、網路號的劃分與這個ip位址是a類、b類還是c類無關

例如:

ip位址

140.252.20.68

子網掩碼

255.255.255.0

網路號140.252.20.0

子網位址範圍

140.252.20.0~140.252.20.255

可見,ip位址與子網掩碼做與運算可以得到網路號, 主機號從全0到全1就是子網的位址範圍;

ip位址和子網掩碼還有一種更簡潔的表示方法,例如140.252

.20.68/24

,表示ip位址為140.252

.20.68

, 子網掩碼的高24位是1

,

ip位址的數量限制

我們知道, ip位址(ipv4)是乙個4位元組32位的正整數. 那麼一共只有2的32次方個ip位址, 大概是43億左右. 而tcp/ip協議規定, 每個主機都需要有乙個ip位址。

這意味著, 一共只有43億台主機能接入網路麼?

實際上, 由於一些特殊的ip位址的存在, 數量遠不足43億; 另外ip位址並非是按照主機台數來配置的, 而是每乙個網絡卡都需要配置乙個或多個ip位址。

方式1:動態分配ip位址,只給接入網路的裝置分配ip位址。因此同乙個mac位址的裝置,每次接入網際網路中,得到的ip位址不一定是相同的。

方式2:nat技術

方式3:ipv6,ipv6並不是ipv4的簡單公升級版,這是互不相干的兩個協議,彼此並不相容;ipv6用8個16位元組128位來表示乙個ip位址;但是目前ipv6還沒有普及。

特殊ip位址
1、將ip位址中的主機位址全部設為0,就成為了網路號,代表區域網

2、將ip位址中的主機位址全部設為1,就成了廣播位址,用於給同乙個鏈路中相互連線的所有主機傳送資料報。

3、127

.*的ip位址用於本機環迴位址(loop back),測試通常是127.0

.0.1

## 私有ip位址和公網ip位址

如果乙個組織內部組建區域網,ip位址只用於區域網內的通訊,而不直接連到internet上,理論上 使用任意的ip位址都可以,但是rfc 1918規定了用於組建區域網的私有ip位址。

1、10.*

,前8位是網路號,共16

,777

,216個位址

2、172.16

.到172.31

.,前12位是網路號,共1

,048

,576個位址

3、192.168.*

,前16位是網路號,共65

,536個位址

包含在這個範圍中的, 都成為私有ip, 其餘的則稱為全域性ip(或公網ip)

;

網路層 IP協議

定址和路由 傳遞服務 資料報分段和重組 固定部分為20位元組 一行4位元組,5行 可變部分最大為40位元組 則首部最大60位元組。下圖為真實抓包所得結果 version對應版本 佔4bit,指ip協議的版本。如果為ipv6則版本號為6,即0110。header length對應首部長度 佔4bit,...

網路層(IP協議)

功能 ip功能 將資料從 a 主機經過路徑選擇送至 b 主機 tcp ip功能 將資料從 a 主機經過路徑選擇可靠的送至 b 主機 先到達b主機的區域網,找到目標網路 找到目標主機 協議頭格式 接下來我們討論幾個問題 1.ip 報文丟失 tcp 是怎麼知道的?答 ip 報文中封裝的是 tcp 的內容...

網路層IP協議

節點 主機和路由器的統稱 底層mac楨層的mtu規定的mtu 1500。ip層分片,組裝。接收方 是否分片 三位標誌的第三位,片偏移是否為0 第乙個片偏移是0,長度是100,第二個片偏移就是100。分片會導致丟包率高。盡量保證不分片。ip層給的資料不能太大1480 ip 20 報頭,其實是tcp決定...