IP協議------網段划分


 IP地址

        在根據TCP/IP協議進行通信時,要用IP地址來標識主機或路由器。在IPv4中,IP地址是一個32位的整數。所以最多可以表示的數字IP地址是:2^32(大約是43億)。

        IP地址由網絡號和主機號兩部分來標識。處於不同網段內的主機必須有不同的網絡標識。而處於同一網段內的主機的網絡號表示相同,但主機號標識必須不同。所以,在某網段內新增一台主機后,該主機的網絡號與該網段的網絡號相同,但是主機號不能與該網段里的其他主機的主機號相同。

        通過合理設置網絡號和主機號,就可以保證在相互連接的網絡中,每台主機的IP地址都是唯一的。

        有一種DHCP技術,可以自動為網段內新增結點主機分配IP地址。一般的路由器都帶有DHCP功能,因此路由器可以看做一個DHCP服務器。

 

         通過將IP地址划分為網絡號和主機號來標識,可以有如下特點:

(1)IP地址管理機構在分配IP地址時只分配網絡號。剩下的主機號由得到該網絡號的單位自行分配,這樣就方便了管理就夠的管理;

(2)路由器在尋找目的主機的IP地址時,只需找到目的主機所在的局域網,再在該局域網內尋找目的主機。

(3)具有不同網絡號的局域網必須有路由器進行連接,所以路由器總是有兩個或兩個以上網絡號不同的IP地址

        那么該如何划分網絡號和主機號呢?

IP地址分類

        IP地址可以分為五類:A~E類。各類別的網絡號和主機號分別對應如下:

        各類地址的表示范圍是:

A類:0.0.0.0~127.255.255.255

B類:128.0.0.0~191.255.255.255

C類:192.0.0.0~223.255.255.255

D類:224.0.0.0~239.255.255.255

E類:240.0.0.0~247.255.255.255

        A類地址的網絡號占1個字節,只有7位可以使用。可以指派的A類網絡號為126(2^7-2)個。A類IP地址中網絡字段全0表示的是“本網絡(A類網絡)”的意思,不用於分配給具體的主機。IP地址中網絡號全1表示的是本地環回地址,用於測試本主機的進程之間的通信,即網絡號為127的IP地址。A類地址的主機號占3個字節,所以一個A類網絡中可以連接的最大主機數為:2^24-2。主機號全0表示該主機連接的單個網絡地址(某個A類網絡),主機號全1表示該網絡中的所有主機。

        B類地址的網絡號占2個字節,只有14位可以使用。可以指派的B類網絡號為2^14-1(128.0.0.0)不用,最小的網絡號為:128.1.0.0。每一個B類網路可以連接的最大主機數為:2^16-2=65534。(扣除主機號全0和全1的IP地址)。

        C類地址的網絡號占3個字節,只有21位可以使用。可以指派的C類網絡號為2^21(192.0.0.0不用),最小的網絡號為:192.0.1.0。每一個C類主機可以連接的最大主機數為:2^8-2=254(扣除主機號為全0和全1的IP地址)。

        在上述的分類中,存在以下問題:

(1)IP地址空間的利用率降低:一個B類網絡中最多可以表示的IP地址為65534個,而某些種類網絡由於鏈路的特點能夠連接的結點個數有限,所以就會造成大量的IP地址浪費;由於C類網絡能連接的結點個數有限。所以,單位會申請B類網絡,但一般又用不了這么多的IP地址,所以會造成IP地址的浪費。同理,A類網絡的IP地址也會造成大量的浪費;

(2)如果給每一個物理網絡都分配一個網絡號,就會導致路由表過大。此時就會造成路由表的管理成本增加,同時查詢的效率也會增加。

(3)當一個單位申請了一個網絡號。他想將該網絡能表示的IP地址再分給它下屬的幾個小單位時。如果在申請新的網絡就會造成浪費。

        為了解決上述的問題,引入子網划分的概念。

子網划分和子網掩碼

子網划分

        子網划分實際是在將原A類,B類,C類網絡中的主機號的部分作為子網號,將原來的ABC類網絡細化的過程,將原來的一個網絡分為多個網絡,但是在對外表現上,還是表現為原來的一個網絡。

        所以,此時,IP地址組成為:網絡號+子網號+主機號。

        在數據進行通信的過程中,首先根據目的IP地址找到目標主機所在的網絡(路由器),再根據目的IP地址的子網號找到目標主機所在的子網,最后找到目標主機。

        比如,一個B類IP地址為:192.168.0.0。先將該網絡划分多個子網,假定子網號占用了8位。由於原B類網絡中主機號一共占用了16位,子網絡拿走8位之后,一個子網中的主機號所占的位數就變成了8位。假定其中一個子網為192.168.5.0。在數據通信時,目的主機為該子網中的IP地址為192.168.5.8的主機。因此,在數據傳輸過程中,首先會根據目的IP地址找到該主機所在的網絡192.168.0.0(其實是找到該網絡上的路由器),再通過IP地址找到目的主機所在的子網192.168.5.0。最后在該子網內找到目的主機。

        此時,可以將網絡號和子網號統一為網絡標識。

子網掩碼

        當數據報到達目的主機所在網絡的路由器時,如何將它轉發到子網上呢?

        為了使目的主機所在網路的路由器能夠很方便的找到目的子網,引入“子網掩碼”的概念。子網掩碼也是一個32位的整數,它是由一串1和一串0構成,1對應於目的主機所在的網絡號和子網號,0對應於目的主機所在的主機號。對於沒有划分子網的網絡號,也有子網掩碼,此時子網掩碼中的1對應於網絡號,0對應於主機號。將網絡號和子網號統稱為網絡號后,子網掩碼中的1就對應於網絡號,0對應於主機號。

        將目的主機的IP地址與子網掩碼進行按位與操作,便可以確定目的主機所在的網絡號。

        如下圖:

        此時,將目的主機IP與子網掩碼按位與之后得到就是該目的主機所在的網絡地址IP。在本例中,該子網的主機IP的表示范圍是:145.13.3.0~145.13.3.255。能夠連接的主機個數為254台(去除主機號為全0和全1的IP地址)。

        上述中,子網掩碼與主機IP按位與之后得到網絡地址,然后主機號由全0到全1即表示該子網的地址范圍。

        子網掩碼除了上述的表示方法外,還有一種表示方法:在每個IP地址之后追加網絡地址的位數。如上例中:

 

145.13.3.10/24。表示的是IP地址為145.13.3.10的主機IP,子網掩碼的高24位為全1。因此網絡地址的高24位與該IP地址相同即145.13.3.0。

        所以,在路由表中既要有目的網絡地址,也要有該網絡的子網掩碼。才能判斷目的IP是否與目的網絡地址對應。

特殊的IP地址

        與上述的ABC類相同,主機號為全0的表示“該網絡”,主機號為全1的表示“所有主機”即廣播地址。127.開頭的為本機環回測試,一般為127.0.0.1。

CIDR

        由於A類的所能派發的網絡號有限,而C類網絡能連接的主機個數有相對較少,所以一般的單位在申請網絡時,都會申請B類網絡,這就導致了B類網絡的嚴重缺乏。

        所以,開始放棄IP地址的分類,采用任意長度分割IP地址的網絡標識和主機標識,它與ABC類的划分沒有任何關系。稱為CIDR。它可以不受IP地址分類的限制,自由進行分配。

        此時的IP地址可以表示為:網絡號+主機號(這個網絡號可以是任意長度的)。

        當申請到一個任意長度的網絡號之后,也可以在網絡內進行子網划分。所以對於任一個子網也對應一個子網掩碼。使用方法與上述相同。

        CIDR更有效的利用了當前的IPv4地址,同時也減輕了路由器的負擔。它可以將多個連續C類地址合並為一個網絡(和你寶貴的個數以2,4,8,...呈現)。例如:將兩個C類網絡:192.168.224.0和192.168.225.0合並為一個網絡。此時合並后的網絡中可以連接的主機數增加到2^9-2=510台。在未合並之前,需要在路由表中占用兩行來表示兩個C類網絡,合並后只需用一行就可以表示。

轉自

https://blog.csdn.net/sandmm112/article/details/80554053


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM