IP地址是所有網(wǎng)絡(luò)初級課程里最先涉及到的技術(shù)點,對于IP地址的合理規(guī)劃是網(wǎng)絡(luò)設(shè)計的重要環(huán)節(jié),必須拿捏。
IP地址規(guī)劃的好壞,影響到網(wǎng)絡(luò)路由協(xié)議算法的效率,影響到網(wǎng)絡(luò)的性能,影響到網(wǎng)絡(luò)的擴展,影響到網(wǎng)絡(luò)的管理,也必將直接影響到網(wǎng)絡(luò)應(yīng)用的進(jìn)一步發(fā)展。
今天和你分享一篇文章,把IP地址相關(guān)的原理給你講透,基本盤搞扎實了,一切都好說了。
01
數(shù)據(jù)如何傳輸?shù)侥康牡兀?/strong>
有很多小白粉絲問過這么一個問題:為什么沒有配置 IP 地址就無法上網(wǎng)?IP 協(xié)議又是啥?
這要從 TCP/IP 協(xié)議說起,互聯(lián)網(wǎng)使用的是 TCP/IP 協(xié)議,其中 IP 協(xié)議又是最重要的協(xié)議之一。
IP 協(xié)議是基于 IP 地址將數(shù)據(jù)包發(fā)送給目的主機,能夠讓互聯(lián)網(wǎng)上任何兩臺主機進(jìn)行通信。
IP 協(xié)議位于 OSI 參考模型的第三層,即網(wǎng)絡(luò)層。
網(wǎng)絡(luò)層的主要作用是實現(xiàn)終端節(jié)點之間的通信。這種終端節(jié)點之間的通信,也叫點對點通信。
主機:配置有 IP 地址,不進(jìn)行路由控制的設(shè)備。
路由器:既有 IP 地址又具有路由控制功能的設(shè)備。
節(jié)點:主機和路由器的統(tǒng)稱。
數(shù)據(jù)如何傳輸?shù)侥康牡兀?/p>
數(shù)據(jù)鏈路層實現(xiàn)兩個直連設(shè)備之間的數(shù)據(jù)傳輸,網(wǎng)絡(luò)層的 IP 協(xié)議實現(xiàn)沒有直連的兩個網(wǎng)絡(luò)之間的數(shù)據(jù)傳輸。
以旅行為例,小美要去一個很遠(yuǎn)的地方旅行,先計劃要乘坐的高鐵、地鐵、公交車,并且購買相應(yīng)車票,再制定一個詳細(xì)行程表,記錄乘車時間。
高鐵票、地鐵票只能在一個區(qū)間內(nèi)移動,就像網(wǎng)絡(luò)上的數(shù)據(jù)鏈路。出發(fā)點就像源 MAC 地址,目的地就像目的 MAC 地址,整個行程表的作用就相當(dāng)于網(wǎng)絡(luò)層,出發(fā)點就像源 IP 地址,目的地就像目的 IP 地址。
小美如果只有行程表,沒有車票,就無法乘坐交通工具到達(dá)目的地。相反,小美只有車票,不知道坐什么車,在哪里換乘,恐怕也到不了目的地。
只有兩者兼?zhèn)洌扔心硞€區(qū)間的車票又有整個旅行的行程表,才能保證到達(dá)目的地。網(wǎng)絡(luò)中也需要數(shù)據(jù)鏈路層和網(wǎng)絡(luò)層協(xié)同工作,才能實現(xiàn)最終目的地址的通信。
02
IP 地址的基礎(chǔ)知識
在 TCP/IP 通信中使用 IP 地址識別主機和路由器。IP 地址是邏輯地址,需要手工配置或自動獲取,為了保證正常通信,每個設(shè)備必須配置 IP 地址。
01?IP 地址的定義
IP 地址由 32 位二進(jìn)制數(shù)組成。為了方便記錄,將 32 位的 IP 地址分為 4 組,每 8 位為一組,每組以“ . ”隔開,再將每組數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)。
IP 地址一共有多少個?
將 IP 地址的32位二進(jìn)制進(jìn)行計算,得出約 43 億個 IP 地址。
實際上,網(wǎng)絡(luò)的發(fā)展超乎想象,互聯(lián)網(wǎng)上的設(shè)備遠(yuǎn)超 43 億, 2019 年 11 月 25 日全球的 IPv4 地址已經(jīng)徹底耗盡,但是直到現(xiàn)在大家仍然還在用 IPv4 ,并沒有因為地址沒了而無法上網(wǎng)。是因為除了 IPv6 之外,我們使用 NAT 技術(shù)緩解了地址不足的問題。
02?IP 地址的組成
IP 地址由網(wǎng)絡(luò)號(網(wǎng)段地址)和主機號(主機地址)兩部分組成。
網(wǎng)絡(luò)號是設(shè)備所在區(qū)域的一種標(biāo)識,網(wǎng)絡(luò)號相同的設(shè)備位于同一個網(wǎng)段內(nèi),網(wǎng)絡(luò)號不同的設(shè)備通過路由器實現(xiàn)通信。主機號是在同一個網(wǎng)段中不同設(shè)備的標(biāo)識,不允許同一個網(wǎng)段內(nèi)出現(xiàn)重復(fù)的主機號。
路由器是根據(jù)目的 IP 地址的網(wǎng)絡(luò)號進(jìn)行路由。
那么 IP 地址哪幾位是網(wǎng)絡(luò)號?哪幾位是主機號?早期是以分類地址區(qū)分,現(xiàn)在是以子網(wǎng)掩碼區(qū)分。
03?IP 地址的分類
IP 地址分為四類,分別是 A 類、 B 類、 C 類、 D 類(還有一個保留的 E 類)。
A 類地址
A 類 IP 地址是首位以“ 0 ”開頭的地址。從第 1 位到第 8 位是它的網(wǎng)絡(luò)號,網(wǎng)絡(luò)號的范圍是?0 ~ 127 。其中 0 和 127 被保留,因此有 126 個可用的 A 類地址。
后 24 位是主機號,一個 A 類地址的主機地址數(shù)量就是 2 的 24 次方,即 16777216 個主機地址。
B 類地址
B 類 IP 地址是前兩位以“ 10 ”開頭的地址。從第 1 位到第 16 位是它的網(wǎng)絡(luò)號,網(wǎng)絡(luò)號的范圍是 128.0 ~ 191.255 。其中 128.0 和 191.255 屬于保留地址,因此有 16382 個可用的 B 類地址。
后 16 位是主機號,一個 B 類地址的主機地址的數(shù)量就是 2 的 16 次方,即 65536 個主機地址。
C 類地址
C 類 IP 地址是前三位以“ 110 ”開頭的地址。從第 1 位到第 24 位是它的網(wǎng)絡(luò)號,網(wǎng)絡(luò)號的范圍是 192.0.0 ~ 223.255.255 。
其中 192.0.0 和 223.255.255 屬于保留地址,因此有 2097150 個可用的 C 類地址。
后 8 位是主機號,一個 C 類地址的主機地址的數(shù)量就是 2 的 8 次方,即 256 個主機地址。
D 類地址
D 類 IP 地址是前四位以“ 1110 ”開頭的地址。從第 1 位到第 32 位是它的網(wǎng)絡(luò)號,網(wǎng)絡(luò)號的范圍是 224.0.0.0 ~ 239.255.255.255 。D 類地址沒有主機號,用于組播。
網(wǎng)段地址和廣播地址
當(dāng)主機號全為 0 時,表示的是網(wǎng)段信息,非主機地址。當(dāng)主機號全為 1 時是廣播地址,也不是主機地址。因此在分配 IP 地址過程中,需要排除這兩個地址。
例如一個 C 類地址 192.168.1.0/24 最多只有 254 個可用主機地址,而不是 256 個。
04?廣播地址
IP 地址中的主機號全部為 1 的就是廣播地址,它是向同一個網(wǎng)段中的所有主機發(fā)送數(shù)據(jù)包。例如一個 B 類主機地址 172.20.1.100?的廣播地址是 172.20.255.255 。
05?IP 組播
組播用于將包發(fā)送給特定組內(nèi)的所有主機。
組播使用 D 類地址。因此 IP 地址前四位是“ 1110 ”開頭的,就是組播地址。剩下的 28 位就是組播的組編號。
組播的地址范圍是 224.0.0.0 ~ 239.255.255.255 ,其中 224.0.0.0 ~ 224.0.0.255 既可以在同一個網(wǎng)段內(nèi)實現(xiàn)組播,又可以跨網(wǎng)段給全網(wǎng)所有組員發(fā)送組播包。
06?子網(wǎng)掩碼
早期網(wǎng)絡(luò)地址采用固定網(wǎng)絡(luò)位長度的方式,使 IPv4 地址遭到大量浪費。如今網(wǎng)段地址的長度可變,同時也需要一種標(biāo)識來獲取網(wǎng)段地址,以便路由器對數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā),這種識別碼就是子網(wǎng)掩碼。
子網(wǎng)掩碼用 32 位的二進(jìn)制表示, IP 地址的網(wǎng)段地址部分設(shè)置為 1 , IP 地址的主機地址部分設(shè)置為 0 。換句話說, IP 地址有多少位網(wǎng)段地址,子網(wǎng)掩碼就有多少位取 1 ,其余都取 0 。
為了方便記錄,每 8 位為一組,以“ . ”隔開,再轉(zhuǎn)換為十進(jìn)制數(shù)。
例如:201.20.100.25 的子網(wǎng)掩碼是 255.255.255.0?,算出它的網(wǎng)段地址。
將子網(wǎng)掩碼和 IP 地址進(jìn)行與( AND )運算,可得到這個 IP 地址的網(wǎng)段地址。
與( AND )運算
IP 地址和子網(wǎng)掩碼的二進(jìn)制數(shù),分別進(jìn)行計算。只有當(dāng) IP 地址和掩碼都是 1 時,運算結(jié)果為 1 。其余情況計算結(jié)果都為 0 。
IP 地址的另一種表示方式是在每個 IP 地址后面追加網(wǎng)絡(luò)號的位數(shù)用“?/?”隔開。例如:
201.20.100.25/255.255.255.0?可表示為 201.20.100.25/24 。
07?CIDR 與 VLSM
解決 IP 地址浪費問題,除了使用子網(wǎng)掩碼,還使用了 CIDR 和 VLSM 技術(shù)。
CIDR ,即無類域間路由,采用任意長度分割 IP 地址的網(wǎng)絡(luò)號和主機號。它有兩個作用:
把多個網(wǎng)段聚合到一起,生成一個更大的網(wǎng)段;
匯總路由表 IP 地址,分擔(dān)路由表壓力。
VLSM ,即可變長子網(wǎng)掩碼,它可以對 A 、 B 、 C 類地址再進(jìn)行子網(wǎng)劃分,以達(dá)到充分利用 IP 地址的目的。
假如一家企業(yè)有 100 臺電腦,按以前的辦法,只能分配一個 C 類地址 222.222.222.0?。但是 VLSM 可以在一個 C 類地址上劃分出多個子網(wǎng)地址,再分配其中一個容納主機數(shù)量與稍大于企業(yè)需求數(shù)量的子網(wǎng)地址給企業(yè),這樣就可以實現(xiàn) IP 地址的合理使用。
計算容納 100 臺電腦的子網(wǎng):使用主機號的位數(shù)計算出子網(wǎng)的主機地址數(shù)量。當(dāng)主機號有 7 位時,有 126 個可用主機地址,可容納 100 臺電腦。
計算子網(wǎng)地址:C 類地址 222.222.222.0?,網(wǎng)絡(luò)號長度為 32 - 7 = 25 位,子網(wǎng)掩碼為 255.255.255.128 。可分配 222.222.222.0/25 使用, 222.222.222.128/25 是節(jié)省出來的未分配的子網(wǎng)地址。
CIDR 和 VLSM 的區(qū)別
CIDR 是主機號向網(wǎng)絡(luò)號借位,目的是把幾個網(wǎng)絡(luò)匯總成一個大的網(wǎng)絡(luò),增加子網(wǎng)主機數(shù)量;
VLSM 是網(wǎng)絡(luò)號向主機號借位,目的是把一個標(biāo)準(zhǔn)的網(wǎng)絡(luò)劃分成幾個子網(wǎng),減少子網(wǎng)主機數(shù)量。
08?公網(wǎng)地址與私有地址
IP 地址分為公網(wǎng)地址和私有地址。公網(wǎng)地址是在互聯(lián)網(wǎng)上使用的,私有地址是在局域網(wǎng)中使用的。
公網(wǎng)地址由 Internet NIC 負(fù)責(zé)分配,通過它直接訪問互聯(lián)網(wǎng)。
私有地址是一段保留的 IP 地址。只在局域網(wǎng)中使用,無法在互聯(lián)網(wǎng)上使用。但是私有地址可以通過 NAT 技術(shù),將私有地址轉(zhuǎn)換為公網(wǎng)地址接入互聯(lián)網(wǎng)。
公網(wǎng) IP 地址在互聯(lián)網(wǎng)范圍內(nèi)是唯一的,私有 IP 地址只要在同一個局域網(wǎng)內(nèi)唯一即可。在不同局域網(wǎng)內(nèi)出現(xiàn)相同的私有 IP 不會影響使用。
編輯:黃飛
?
評論
查看更多