一、IP地址
1、IP地址基本概念
IP地址在網(wǎng)絡(luò)層將不同的物理網(wǎng)絡(luò)地址統(tǒng)一到了全球唯一的IP地址上(屏蔽物理網(wǎng)絡(luò)差異),是唯一標(biāo)識(shí)互聯(lián)網(wǎng)上計(jì)算機(jī)的邏輯地址(相當(dāng)于手機(jī)號(hào)碼,可以通過(guò)唯一的手機(jī)號(hào)碼找到手機(jī)),所以IP地址也被稱為互聯(lián)網(wǎng)地址(可見(jiàn)其重要性)。
2、IP地址格式
我們目前常用的IPv4中規(guī)定,IP地址長(zhǎng)度為32位二進(jìn)制,在表示時(shí),一般將32位地址拆分為4個(gè)8位二進(jìn)制,再轉(zhuǎn)為4個(gè)十進(jìn)制數(shù)表示,每個(gè)數(shù)字之間用點(diǎn)隔開,如127.0.0.1(localhost),這種描述方式被稱為“點(diǎn)分十進(jìn)制”。
IP地址層次:分為網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)兩個(gè)層次。網(wǎng)絡(luò)號(hào)表示主機(jī)所屬網(wǎng)絡(luò),主機(jī)號(hào)表示主機(jī)本身。網(wǎng)絡(luò)號(hào)與主機(jī)號(hào)的位數(shù)與IP地址分類有關(guān)。
3、IP地址分配
IP地址分配的基本原則是:要為同一網(wǎng)絡(luò)(子網(wǎng)、網(wǎng)段)內(nèi)不同主機(jī)分配相同的網(wǎng)絡(luò)號(hào),不同的主機(jī)號(hào)。
4、IP地址常見(jiàn)分類


A類IP地址
一個(gè)A類IP地址由1字節(jié)的網(wǎng)絡(luò)地址和3字節(jié)主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“0”, 地址范圍從1.0.0.0 到126.0.0.0。可用的A類網(wǎng)絡(luò)有126個(gè),每個(gè)網(wǎng)絡(luò)能容納1億多個(gè)主機(jī)。
B類IP地址
一個(gè)B類IP地址由2個(gè)字節(jié)的網(wǎng)絡(luò)地址和2個(gè)字節(jié)的主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“10”,地址范圍從128.0.0.0到191.255.255.255。可用的B類網(wǎng)絡(luò)有16382個(gè),每個(gè)網(wǎng)絡(luò)能容納6萬(wàn)多個(gè)主機(jī) 。
C類IP地址
一個(gè)C類IP地址由3字節(jié)的網(wǎng)絡(luò)地址和1字節(jié)的主機(jī)地址組成,網(wǎng)絡(luò)地址的最高位必須是“110”。范圍從192.0.0.0到223.255.255.255。C類網(wǎng)絡(luò)可達(dá)209萬(wàn)余個(gè),每個(gè)網(wǎng)絡(luò)能容納254個(gè)主機(jī)。
D類地址用于多點(diǎn)廣播(Multicast)。
D類IP地址第一個(gè)字節(jié)以“1110”開始,它是一個(gè)專門保留的地址。它并不指向特定的網(wǎng)絡(luò),目前這一類地址被用在多點(diǎn)廣播(Multicast)中。多點(diǎn)廣播地址用來(lái)一次尋址一組計(jì)算機(jī),它標(biāo)識(shí)共享同一協(xié)議的一組計(jì)算機(jī)。
E類IP地址
以“l(fā)lll0”開始,為將來(lái)使用保留。
5、特殊的IP地址
**受限的廣播地址:**32位全“1”的IP地址,只能做目的地址,用于向本網(wǎng)內(nèi)部所有主機(jī)發(fā)送數(shù)據(jù)包(路由器拒絕向外網(wǎng)發(fā)送廣播,隔離數(shù)據(jù)包在本網(wǎng)內(nèi))。
直接廣播地址:網(wǎng)絡(luò)號(hào)全“1”,只能作目的地址,用于向目標(biāo)網(wǎng)內(nèi)所有主機(jī)發(fā)送數(shù)據(jù)包(路由器接受向外網(wǎng)轉(zhuǎn)發(fā)數(shù)據(jù)包,意為廣播在全網(wǎng)有效),如C類IP所有主機(jī)255.255.255.主機(jī)號(hào)、B類IP所有主機(jī)255.255.主機(jī)號(hào)。
**本網(wǎng)絡(luò)本主機(jī)地址:**32位全零的IP地址對(duì)應(yīng)于當(dāng)前主機(jī),只能做源地址。
本網(wǎng)特定主機(jī)地址:網(wǎng)絡(luò)號(hào)全零的IP地址表示本網(wǎng)絡(luò)內(nèi)的特定主機(jī)(路由器拒絕目的地址為本網(wǎng)特定主機(jī)的數(shù)據(jù)包,意為只能向本網(wǎng)內(nèi)特定主機(jī)發(fā)送數(shù)據(jù)包),只能做目的地址。
環(huán)回地址就是網(wǎng)絡(luò)ID為127的IP地址,用于一臺(tái)主機(jī)的客戶端與服務(wù)器端通過(guò)TCP\IP進(jìn)行通信或者本機(jī)進(jìn)程間通信,一般在自己的主機(jī)上進(jìn)行軟件開發(fā)測(cè)試時(shí)候會(huì)用到的localhost(127.0.0.1)就是環(huán)回地址。
在IP地址3種主要類型里,各保留了3個(gè)區(qū)域作為私有地址,其地址范圍如下:
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
二、子網(wǎng)掩碼
子網(wǎng)掩碼 又叫網(wǎng)絡(luò)掩碼、地址掩碼
上面我們說(shuō)到IP地址分為網(wǎng)絡(luò)號(hào)與主機(jī)號(hào),但是路由如何區(qū)分網(wǎng)絡(luò)號(hào)與主機(jī)號(hào)呢?就需要通過(guò)子網(wǎng)掩碼。子網(wǎng)掩碼必須與IP地址結(jié)合使用,A、B、C類的子網(wǎng)掩碼分別為255.0.0.0,255.255.0.0與255.255.255.0(網(wǎng)絡(luò)號(hào)字節(jié)為255,主機(jī)號(hào)字節(jié)為0)。
也就是說(shuō)給你一個(gè)IP地址,那么怎么知道它的網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)各是多少位呢?
如果不指定,就不知道哪些位是網(wǎng)絡(luò)號(hào)、哪些是主機(jī)號(hào),這就需要通過(guò)子網(wǎng)掩碼來(lái)實(shí)現(xiàn)
子網(wǎng)掩碼的重要作用:就是將某個(gè)IP地址劃分成網(wǎng)絡(luò)地址和主機(jī)地址兩部分。
子網(wǎng)掩碼的位數(shù)就是網(wǎng)絡(luò)的位數(shù)。A類網(wǎng)絡(luò)的網(wǎng)絡(luò)位數(shù)是8位,子網(wǎng)掩碼就是255.0.0.0,B類網(wǎng)絡(luò)的網(wǎng)絡(luò)位數(shù)是16位,子網(wǎng)掩碼是255.255.0.0,C類是24位,255.255.255.0。
以C類IP地址192.168.1.2為例使用子網(wǎng)掩碼劃分網(wǎng)絡(luò)號(hào)與主機(jī)號(hào)。

當(dāng)然,在計(jì)算主機(jī)號(hào)時(shí),可不用取反子網(wǎng)掩碼二進(jìn)制,直接令其與IP地址異或即可。
例1 不同子網(wǎng)下的主機(jī)能否直接通信(是否在同一網(wǎng)絡(luò)/段下)
假設(shè)兩個(gè)IP地址分別是172.20.0.18和172.20.1.16,子網(wǎng)掩碼都是255.255.255.0。
我們可以知道兩者的網(wǎng)絡(luò)標(biāo)識(shí)分別是172.20.0和172.20.1,無(wú)法直接通信,也就無(wú)法PING通。要想能相互通信,需要將子網(wǎng)掩碼改成255.255.0.0
例2 如何理解172.20.1.0/26
上文中的26代表主機(jī)ID的掩碼地址長(zhǎng)度,從前往后有26位,即子網(wǎng)掩碼的地址是255.255.255.192。
子網(wǎng)掩碼還可以用來(lái)將網(wǎng)絡(luò)劃分為更小的子網(wǎng),將IP的兩極結(jié)構(gòu)擴(kuò)充成三級(jí)結(jié)構(gòu),節(jié)約地址空間,減輕路由器負(fù)擔(dān)。
子網(wǎng)掩碼的劃分
如果要將一個(gè)網(wǎng)絡(luò)劃分為多個(gè)子網(wǎng),如何確定子網(wǎng)掩碼?步驟如下:
第一步:將要?jiǎng)澐值淖泳W(wǎng)數(shù)目轉(zhuǎn)換為2的m次方。如果不是恰好是2的多少次方,則按照取大原則。
第二步:將上一步確定的冪m按照高序占用主機(jī)地址前m位,再轉(zhuǎn)化為十進(jìn)制。如m為3,表示主機(jī)位中有3位被劃分為網(wǎng)絡(luò)標(biāo)識(shí)號(hào)占用,因網(wǎng)絡(luò)標(biāo)識(shí)號(hào)都為1,故如是C類地址,主機(jī)號(hào)對(duì)應(yīng)的字節(jié)變?yōu)?1100000,轉(zhuǎn)化為十進(jìn)制后為224,故子網(wǎng)掩碼為255.255.255.224,如果是B類網(wǎng)絡(luò),則子網(wǎng)掩碼為255.255.224.0。
網(wǎng)關(guān)
網(wǎng)關(guān)(Gateway)又稱網(wǎng)間連接器,就是一個(gè)網(wǎng)絡(luò)連接到另一個(gè)網(wǎng)絡(luò)的“關(guān)口”。

網(wǎng)關(guān)實(shí)質(zhì)上是一個(gè)網(wǎng)絡(luò)通向其他網(wǎng)絡(luò)的IP地址。比如有網(wǎng)絡(luò)A和網(wǎng)絡(luò)B,網(wǎng)絡(luò)A的IP地址范圍為“192.168.1.1~192. 168.1.254”,子網(wǎng)掩碼為255.255.255.0;網(wǎng)絡(luò)B的IP地址范圍為“192.168.2.1~192.168.2.254”,子網(wǎng)掩碼為255.255.255.0。在沒(méi)有路由器的情況下,兩個(gè)網(wǎng)絡(luò)之間是不能進(jìn)行TCP/IP通信的,即使是兩個(gè)網(wǎng)絡(luò)連接在同一臺(tái)交換機(jī)(或集線器)上,TCP/IP協(xié)議也會(huì)根據(jù)子網(wǎng)掩碼(255.255.255.0)判定兩個(gè)網(wǎng)絡(luò)中的主機(jī)處在不同的網(wǎng)絡(luò)里。而要實(shí)現(xiàn)這兩個(gè)網(wǎng)絡(luò)之間的通信,則必須通過(guò)網(wǎng)關(guān)。如果網(wǎng)絡(luò)A中的主機(jī)發(fā)現(xiàn)數(shù)據(jù)包的目的主機(jī)不在本地網(wǎng)絡(luò)中,就把數(shù)據(jù)包轉(zhuǎn)發(fā)給它自己的網(wǎng)關(guān),再由網(wǎng)關(guān)轉(zhuǎn)發(fā)給網(wǎng)絡(luò)B的網(wǎng)關(guān),網(wǎng)絡(luò)B的網(wǎng)關(guān)再轉(zhuǎn)發(fā)給網(wǎng)絡(luò)B的某個(gè)主機(jī)(如附圖所示)。網(wǎng)絡(luò)B向網(wǎng)絡(luò)A轉(zhuǎn)發(fā)數(shù)據(jù)包的過(guò)程。
所以說(shuō),只有設(shè)置好網(wǎng)關(guān)的IP地址,TCP/IP協(xié)議才能實(shí)現(xiàn)不同網(wǎng)絡(luò)之間的相互通信。那么這個(gè)IP地址是哪臺(tái)機(jī)器的IP地址呢?網(wǎng)關(guān)的IP地址是具有路由功能的設(shè)備的IP地址,具有路由功能的設(shè)備有路由器、啟用了路由協(xié)議的服務(wù)器(實(shí)質(zhì)上相當(dāng)于一臺(tái)路由器)、代理服務(wù)器(也相當(dāng)于一臺(tái)路由器)。