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