IP地址的格式及分類
1、IP地址的格式
在IP協(xié)議的報(bào)文中,可以得知IP地址是有32個(gè)比特,IP地址在計(jì)算機(jī)中是以二進(jìn)制的方式處理的,如果全部以二進(jìn)制的形式來(lái)表示,使用跟表達(dá)都非常的困難,所以為了人類方便記憶,采用了點(diǎn)分十進(jìn)制的方式,將32位的IP地址以8位為一組,分成四個(gè)部分,每組以【.】進(jìn)行隔開(kāi),再將每組轉(zhuǎn)換成十進(jìn)制。
?

可以發(fā)現(xiàn)二進(jìn)制里面0跟1的組合不一樣,得到的數(shù)值也不一樣,總共IP地址有多少個(gè)呢?

最大允許差不多43億的終端連接到網(wǎng)絡(luò)里面來(lái),看起來(lái)已經(jīng)非常多了!但是,如今的Internet網(wǎng)中,IP地址是枯竭的狀態(tài),這也是為什么推出了IPV6的原因。
? IP地址其實(shí)是由2個(gè)部分組成的,一個(gè)是網(wǎng)絡(luò)號(hào)(網(wǎng)段地址)和主機(jī)號(hào)(主機(jī)地址),這個(gè)兩個(gè)組成很關(guān)鍵,網(wǎng)絡(luò)號(hào)是設(shè)備所在區(qū)域的一種標(biāo)識(shí)區(qū)分,網(wǎng)絡(luò)號(hào)相同的設(shè)備處于同一個(gè)網(wǎng)段內(nèi),網(wǎng)絡(luò)號(hào)不同的設(shè)備處于不同網(wǎng)段,兩個(gè)之間通信需要依賴三層設(shè)備。?
可能我們?cè)L問(wèn)的目的就在一個(gè)區(qū)域,也可能在另外的區(qū)域,那運(yùn)行了TCP/IP協(xié)議的設(shè)備不管是PC、手機(jī)、路由器還是交換機(jī),都得有一個(gè)判斷規(guī)則,來(lái)對(duì)比要去的目的跟自己是不是一個(gè)網(wǎng)絡(luò)區(qū)域,那就是通過(guò)上面的網(wǎng)絡(luò)號(hào)來(lái)進(jìn)行區(qū)分。

像上面的圖,路由器左邊是家庭局域網(wǎng)網(wǎng),比如有三個(gè)終端,地址分別是192.168.255.1、192.168.255.2、192.168.255.240,不管是相互傳文件以及訪問(wèn)個(gè)人的服務(wù)器,直接輸入對(duì)方的地址就可以了,就算寬帶接入出現(xiàn)故障,互聯(lián)網(wǎng)訪問(wèn)不到了,但這些局域網(wǎng)之間的互訪是不影響的。

假設(shè)192.168.255相同的前綴為網(wǎng)絡(luò)號(hào),同一個(gè)網(wǎng)段,而最后一位1、2、240為主機(jī)號(hào),數(shù)字都不是重復(fù)的。

比如這里192.168.255.1訪問(wèn)192.168.255.240,這里192.168.255.1設(shè)備系統(tǒng)通過(guò)自己網(wǎng)卡的參數(shù)讀取到對(duì)應(yīng)的IP信息與目的的IP比較,發(fā)現(xiàn)網(wǎng)絡(luò)號(hào)相同,則在同一個(gè)網(wǎng)段內(nèi),直接發(fā)送給對(duì)方,并且二層封裝目的主機(jī)的MAC地址。

如圖 192.168.255.1去訪問(wèn)互聯(lián)網(wǎng)上的百度 181.55.6.6, 假設(shè)對(duì)比前三段,終端判斷目的與自己的網(wǎng)絡(luò)號(hào)不一致,那么它該怎么處理呢?

設(shè)備終端,比如PC、手機(jī)、平板運(yùn)行了TCP/IP協(xié)議的,它都有判斷的功能,如果目的IP與我網(wǎng)絡(luò)號(hào)相同,判斷在一個(gè)網(wǎng)段內(nèi),直接在同一個(gè)區(qū)域內(nèi)完成通信;如果網(wǎng)絡(luò)號(hào)不同,則判斷為不同網(wǎng)段,這個(gè)時(shí)候直接交給網(wǎng)關(guān)處理,如果沒(méi)有網(wǎng)關(guān)信息,則通信失敗,數(shù)據(jù)包發(fā)送不出。
路由器這些三層設(shè)備在處理轉(zhuǎn)發(fā)這個(gè)數(shù)據(jù)包的時(shí)候,查詢路由表根據(jù)目的IP的網(wǎng)絡(luò)號(hào)進(jìn)行查詢轉(zhuǎn)發(fā),這樣的好處是能夠提高效率,不用具體到主機(jī)位,否則Internet這么龐大的網(wǎng)絡(luò),每個(gè)網(wǎng)路設(shè)備都存放在路由表中,對(duì)設(shè)備的壓力以及查詢的效率就非常低了。
終端設(shè)備訪問(wèn)不同網(wǎng)段依靠的是網(wǎng)關(guān),而路由器等三層設(shè)備轉(zhuǎn)發(fā)數(shù)據(jù)包去往不同目的地依靠的是路由表中的條目。
?

?
比如某個(gè)設(shè)備上不了網(wǎng),那我們知道了上網(wǎng)是得有網(wǎng)關(guān)的,是不是就先檢查網(wǎng)關(guān)設(shè)置了嗎,設(shè)置的對(duì)嗎。當(dāng)然這些會(huì)在后續(xù)中反復(fù)提到,數(shù)據(jù)包的通信離不開(kāi)這些“規(guī)則”。
明白了網(wǎng)絡(luò)號(hào)與主機(jī)號(hào)的概念,那在IP地址中,哪幾位是網(wǎng)絡(luò)號(hào)?哪幾位是主機(jī)號(hào)呢?下面就來(lái)了解下地址分類以及子網(wǎng)掩碼的概念。
2、IP地址分類
在internet誕生初期,IP地址是非常充裕的,計(jì)算機(jī)科學(xué)家們進(jìn)行了分類地址,把IP地址分為了5大類,分別是A類、B類、C類、D類、E類。

早期沿用的是地址分類的方法,A、B、C作為全局可用唯一地址進(jìn)行分配,每個(gè)列別定義了網(wǎng)絡(luò)號(hào)以及主機(jī)號(hào)的范圍大小,由于這種方式早就不在使用,只有考試以及很多書(shū)籍還在介紹,所以這里就簡(jiǎn)單介紹下。
?
(1)A類地址
A類IP地址以首位為“0”開(kāi)頭,前面8位是網(wǎng)絡(luò)號(hào),網(wǎng)絡(luò)號(hào)范圍是0~127(0和127屬于保留地址)。

算下來(lái)就2^(8-1)-2=126,其中8位中最開(kāi)始0是固定的,所以只有7個(gè)可以變化,0與127是保留需要-2,最終有126個(gè)網(wǎng)段。
?
后24位是主機(jī)號(hào),表示可容納的終端數(shù)量,2^24次方=16777216個(gè)地址。

(2)B類地址
B類IP地址前兩位以“10”固定開(kāi)頭,1~16位為網(wǎng)絡(luò)號(hào),網(wǎng)絡(luò)號(hào)的范圍128.0~191.255,其中169.254為保留地址,算下來(lái)2^(16-2)-1,有16383個(gè)可用網(wǎng)段。

后16位主機(jī)號(hào),表示可容納的終端數(shù)量,2^16次方=65536個(gè)地址。

(3)C類地址
?C類IP地址前三位“110”固定,從1~24位為它的網(wǎng)絡(luò)號(hào),范圍是192.0.0~223.255.255.255,其中192.0.0屬于保留地址,所以有2^(24-3)-1=2097151

后8位是主機(jī)號(hào),標(biāo)識(shí)可容納的終端數(shù)量,2^8=256個(gè)地址。

(4)D與E類地址
D類IP比較特殊,它屬于組播地址,不區(qū)分網(wǎng)絡(luò)號(hào)與主機(jī)號(hào),用于各種協(xié)議中以及某些特殊場(chǎng)景,后續(xù)會(huì)慢慢熟悉,范圍是224.0.0.0~239.255.255.255。而E類屬于科研方面等方面,不用于互聯(lián)網(wǎng)使用。
?
(5)了解網(wǎng)段地址、網(wǎng)段廣播地址、以及單播地址
當(dāng)主機(jī)號(hào)全為0時(shí),表示某個(gè)網(wǎng)段,叫做網(wǎng)段地址,比如192.168.255.0,表示192.168.255.1到192.168.255.254所有地址,這也是以后在項(xiàng)目中經(jīng)常遇到的表示方法,用于表示某個(gè)網(wǎng)段。
?
當(dāng)主機(jī)號(hào)全為1時(shí),它表示的網(wǎng)段廣播地址,發(fā)往這個(gè)地址的數(shù)據(jù)包,該網(wǎng)段內(nèi)所有主機(jī)都能收到,比如:網(wǎng)段192.168.255.0,廣播地址是192.168.255.255。

所以,在每個(gè)網(wǎng)段中,主機(jī)號(hào)全0的網(wǎng)段地址以及主機(jī)號(hào)全1的廣播地址是不能被使用,每個(gè)網(wǎng)段實(shí)際可用的地址是對(duì)應(yīng)的地址數(shù)-2。

那什么是單播地址呢?每個(gè)網(wǎng)段內(nèi)除去網(wǎng)段地址以及網(wǎng)段廣播地址以外,剩下的就是單播地址,單播地址也就我們終端PC、手機(jī)以及網(wǎng)絡(luò)設(shè)備路由器、交換機(jī)設(shè)備上使用的地址了,通信雙方就一個(gè)發(fā)送方與接收方,而廣播則是一個(gè)發(fā)送方,其余同網(wǎng)段的主機(jī)都為接收方,但是不會(huì)發(fā)往其他網(wǎng)段,中間三層設(shè)備會(huì)隔離廣播,不會(huì)進(jìn)行轉(zhuǎn)發(fā)。
?
(6)二進(jìn)制與十進(jìn)制轉(zhuǎn)換
上面介紹了一大堆地址范圍,可能很多朋友有點(diǎn)犯迷糊,怎么就計(jì)算出這么多的網(wǎng)段跟主機(jī)了,首先,要明白二進(jìn)制與十進(jìn)制的換算。

二進(jìn)制到十進(jìn)制的換算,可以參考上面表格,也可以借助計(jì)算器,采用程序員的模式,輸入對(duì)應(yīng)的數(shù)值即可,其中BIN表示二進(jìn)制,DEC表示十進(jìn)制,HEX表示十六進(jìn)制。

按照上面的表格,把每一段“置1”的數(shù)值相加就得了每一段的十進(jìn)制,最終就是192.168.255.4,這個(gè)是C類地址,因?yàn)榫W(wǎng)絡(luò)號(hào)前三位固定為110,同樣的A與B類的地址,都有前面固定的值,范圍都不一樣,只要知道了固定值的位置,然后就可以計(jì)算出每個(gè)類的范圍。
(7)IP地址分類的好處
判斷方便,網(wǎng)絡(luò)設(shè)備需要解析一個(gè)IP地址的時(shí)候,只需要判斷網(wǎng)絡(luò)位的前四位就可以知道是網(wǎng)絡(luò)號(hào)與主機(jī)地址的范圍。