網絡層主要提供尋址,路由的功能。而 IP 協議就是爲了實現該功能而設計的。
IP 協議
IP 協議的特性
- 工作在網絡層
- 面向無連接的協議
- 具有單獨處理包的能力
- 分層的地址
- 不可靠,盡力而爲的傳送
- 獨立的介質(不關心物理層的實現)
- 多版本:IPV4 / IPV6
A 爲發送方,B 爲接受方
面向連接:A 先和 B 溝通,是否可以接受數據。
面向無連接:無論 B 是否能接受協議,都會發送給 B.
IP 協議的功能
查找 IP 地址,並根據地址轉發數據。
需要注意的是,在第一個路由器接受到的數據包大小超過 MTU 時,會將數據包拆分,之後在其他路由器上繼續傳遞,然後在終端上進行重新組裝。
IP 地址
每一個設備必須都有一個唯一的地址,並且該地址由兩部分組成 網絡地址 和 主機地址。對應可以理解成網絡位表示一個大致的局域,而主機位表示該區域下具體的設備。舉個現實的例子,在發送快遞時,網絡位表示的就是中國北京,而主機位表示的是具體哪個區,比如朝陽區等等更細緻的信息。
IP 地址的分類:
A 類
0xxxxxxx (0-126) | xxxxxxxx | xxxxxxxx | xxxxxxxx |
---|---|---|---|
網絡位 | 主機位 | 主機位 | 主機位 |
B 類
10xxxxxx (128 - 191) | xxxxxxxx | xxxxxxxx | xxxxxxxx |
---|---|---|---|
網絡位 | 網絡位 | 主機位 | 主機位 |
C 類
110xxxxx (192 - 223) | xxxxxxxx | xxxxxxxx | xxxxxxxx |
---|---|---|---|
網絡位 | 網絡位 | 網絡位 | 主機位 |
組播地址:
1110xxxx (224-239) | xxxxxxxx | xxxxxxxx | xxxxxxxx |
---|---|---|---|
無要求 | 無要求 | 無要求 | 無要求 |
保留地址(目的是科研等):
1111 xxxx(240-254)
不能給主機使用的地址,特殊 IP 地址
網絡號 | 主機號 | 含義 |
---|---|---|
全 0 | 主機號 ID | 本網絡上的某個主機 |
網絡號 ID | 全 1 | 定向廣播地址,向網絡號內的範圍發送廣播 |
網絡號 ID | 全 0 | 某個網絡的網絡號/網絡地址,用於表示範圍 |
全 1 | 全 1 | 本地網絡的廣播地址, 接受範圍是所有 IP |
全 0 | 全 0 | 本網絡上的某個主機 |
公有地址:絕大多數的 A,B,C 三類地址是公有地址。
私有地址:不需要申請直接使用,可作爲公司的內網地址
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255
公有地址是運營商擁有的IP地址。
私有地址是不屬於公有地址的,除本機環回口地址外的地址。
私有地址不可以訪問公有地址。
子網掩碼
子網掩碼是一個 32 比特的數字,與 IP 地址一一對應,用來標識 IP 地址中哪些是網絡位,哪些是主機位。
具體的方法:子網掩碼中的 1 對應 IP 地址中的網絡號和子網號,子網掩碼中的 0 對應 IP 地址中的主機號
子網劃分:借用主機位當成網絡位去劃分
爲什麼要進行子網劃分:
- 安全性難以保證(通過路由器隔離廣播)
- 浪費 IP 地址(通過路由器的端口自定義網絡空間)
- 大量的廣播幀浪費資源
交換機所連接的網絡在同一網段。
衝突域:交換機的每一個端口同時只能選擇接受或者發生數據,對應接口之間叫衝突域。
廣播域:交換機收到廣播幀或者未知的單播幀時會泛洪,廣播給對應的所有接口。但廣播幀不會過路由器,也就是跨網段。
例一: 某公司有四個部門,分別是 A,B,C,D,每個部門需要 20 個 IP 地址,該公司申請了一個 C 類地址塊, 192.168.1.0/24,請給出合理的子網劃分方案
按照主機位數劃分:一共四個部分,每個部分最多 20 臺主機
2^n - 2 >= 20, n = 5
原來的主機位爲 8 位,改變後的網絡只需要 5 位,所以剩下的 3 位爲子網絡位,劃分後的 8 個網絡爲:
11000000.10101000.00000001.000|00000:192.168.1.0/27
11000000.10101000.00000001.001|00000:192.168.1.32/27
11000000.10101000.00000001.010|00000:192.168.1.64/27
11000000.10101000.00000001.011|00000:192.168.1.96/27
11000000.10101000.00000001.100|00000:192.168.1.128/27
11000000.10101000.00000001.101|00000:192.168.1.160/27
11000000.10101000.00000001.110|00000:192.168.1.192/27
11000000.10101000.00000001.111|00000:192.168.1.224/27
對於第一個網絡來說:
網絡地址爲: 192.168.1.0/27
可用地址爲: 192.168.1.1/27 ~ 192.168.1.30/27
廣播地址爲: 192.168.1.31/27
例二:某公司,A,B,C,D 四個部門,A 部門需要 100 個 IP 地址,B 部門需要 50 個 IP 地址,C 和 D 部門需要 25 個 IP 地址,現在公司申請了一個 C 類地址塊,192.168.2.0/24.請給出合理的子網劃分方案?
C 類地址一共能劃分 126 主機 > 100 + 50 + 25 + 25, 可以劃分
原網絡如下:
192.168.2.0/24
11000000.10101000.00000010.00000000
11111111.11111111.11111111.00000000
第一次劃分:
根據主機數量進行劃分:A 需要 100 個 IP,2^n-2>100 ,n=7,劃分後的網絡如下:
11000000.10101000.00000010.0|0000000
11111111.11111111.11111111.1|0000000
剩下一個主機位,使該主機位成爲新的子網絡位
11000000.10101000.00000010.0|0000000:192.168.2.0/25
11000000.10101000.00000010.1|0000000:192.168.2.128/25
拿出第一個網絡分給 A,剩下的網絡 192.168.2.128/25,繼續分配
第二次劃分:
B 需要 50 個網絡,2^n-2>50 ,n=6,劃分後的網絡如下:
11000000.10101000.00000010.10|000000
11111111.11111111.11111111.11|000000
又剩下一個主機位,使該主機位成爲新的子網絡位
11000000.10101000.00000010.10|000000:192.168.2.128/26
11000000.10101000.00000010.11|000000:192.168.2.192/26
拿出第一個網絡分給 B,剩下的網絡 192.168.2.192/26
,繼續分配
第三次劃分:
B 需要 25 個網絡,2^n-2>25 ,n=5,劃分後的網絡如下:
11000000.10101000.00000010.110|00000
11000000.10101000.00000010.111|00000
又剩下一個主機位,使該主機位成爲新的子網絡位
11000000.10101000.00000010.110|00000:192.168.2.192/27
11000000.10101000.00000010.111|00000:192.168.2.224/27
將剩下的兩個網絡分給 C 和 D
例三:跨網段的劃分
![子網劃分](C:/Users/yuwzhang/Desktop/New folder (3)/bazingayi.github.io-pick_old_articles/assets/img/15105534808200.jpg)
首先確定共需要 8 個網絡。每臺路由器之間爲一個網絡(主機數爲 2),共 4 個。右邊的路由器單獨又有一個網絡,主機數爲 50
然後根據主機數量劃分,50 個 IP 地址,2^n-2>50 ,n=6。需要的網絡主機位爲 6
待劃分的網絡爲:
172.16.32.0/20
10101100.00010000.0010|0000.00000000
11111111.11111111.1111|0000.00000000
由於需要 6 個主機位,所以從原網絡中的 12 個主機位中使用 6 個當主機位,剩下的 6 個位置位網絡位
10101100.00010000.00100000.00|000000
11111111.11111111.11111111.11|000000
劃分後的新網絡爲:
10101100.00010000.00100000.00|000000:172.16.32.0/26
10101100.00010000.00100000.01|000000:172.16.32.64/26
10101100.00010000.00100000.10|000000:172.16.32.128/26
10101100.00010000.00100000.11|000000:172.16.32.192/26
10101100.00010000.00100001.00|000000:172.16.33.0/26
10101100.00010000.00100001.01|000000:172.16.33.64/26
10101100.00010000.00100001.10|000000:172.16.33.128/26
.....................................................
.....................................................
10101100.00010000.00101111.11|000000:172.16.47.192/26
劃分後的網絡總數爲 2^6 = 64 個網絡,每個網絡中有 2^6 -2 = 62 個IP
然後從 64 個網絡中拿出 4 個給需要 50 臺主機的網絡,然後再拿出一個網絡需要 2 個主機 的 4 個網絡
從 64 個網絡中拿出一個網絡:
10101100.00010000.00100001.00|000000:172.16.33.0/26
該網絡有 6 個主機位,而現在每個網絡中需要 2 個主機位,2^n-2>=2 ,n=2 所以主機位爲 2,新的子網絡位爲 4
再次劃分出的網絡爲:
10101100.00010000.00100001.000000|00:172.16.33.0/30
10101100.00010000.00100001.000001|00:172.16.33.4/30
10101100.00010000.00100001.000010|00:172.16.33.8/30
10101100.00010000.00100001.000011|00:172.16.33.12/30
10101100.00010000.00100001.000100|00:172.16.33.16/30
.....................................................
.....................................................
10101100.00010000.00100001.001111|00:172.16.33.60/30
共需要 4 個網絡,從劃分從 16 個網絡中取出 4 個
最後餘下 59 個 網絡,每個網絡中有 62 可用的 IP
和 12 個網絡,每個網絡中有 2 個可用的 IP