3.子網(wǎng)掩碼
IP 地址的設(shè)計也有不夠合理的地方。例如,IP 地址中的 A 至 C 類地址,可供分配的網(wǎng)絡號超過 211 萬個,而這些網(wǎng)絡上可供使用的主機號的總數(shù)則超過 37.2 億個。初看起來,似乎IP 地址足夠全世界來使用。其實不然。第一,設(shè)計者沒有預計到微型計算機會普及得如此之快,使得各種局域網(wǎng)和網(wǎng)上的主機數(shù)急劇增長。第二,IP 地址在使用時有很大的浪費。便如,某個單位申請了一個 B 類地址。但該單位只有一萬臺主機。于是,在一個 B 類地址中的其八 5萬 5 千多個主機號就白白浪費了。因為其他單位的主機無法使用這些號碼。為此,設(shè)計者在IP 地址中又增加了一個“子網(wǎng)字段”。
大家知道,一個單位申請到的 IP 地址是這個 IP 地址的網(wǎng)絡號 net-id,而后面的主機號Host-id 則由本單位進行分配,本單位所有的主機都使用同一個網(wǎng)絡號。當一個單位的主機很多而且分布在很大的地理范圍時,往往需要用一些網(wǎng)橋(而不是路由器,因為路由器連接的主機具有不同的網(wǎng)絡號)將這些主機互連起來。網(wǎng)橋的缺點較多,例如容易引起廣播風暴,同時當網(wǎng)絡出現(xiàn)故障時也不太容易隔離和管理。為了使本單位的主機便于管理?梢詫⒈締挝凰鶎僦鳈C劃分為若干個子網(wǎng)(Subnet),用 IP 地址中的主機號字段中的前若干個比特作為“子網(wǎng)號字段”,后面剩下的仍為主機號字段。這樣做就可以在本單位的各子網(wǎng)之間用路由器來互聯(lián),因而便于管理。
注意:子網(wǎng)的劃分是屬于本單位內(nèi)部的事,在本單位以外看不見這樣的劃分。從外部看,這個單位仍只有一個網(wǎng)絡號。只有當外面的分組進入到本單位范圍后,本單位的路由器再根據(jù)子網(wǎng)號進行路由選擇,最后找到目的主機。若本單位按照主機所在的地理位置來劃分子網(wǎng),那么在管理方面就會方便得多。圖 1-25(a)以 B 類 IP 地址為例,說明了在劃分子網(wǎng)時用到的子網(wǎng)掩碼(Subnet Mask)的意義。
圖 1-25(b)表示將本地控制部分再增加一個子網(wǎng)號字段,子網(wǎng)號字段究竟選多長,由本單位根據(jù)情況確定。TCP/IP 體系規(guī)定用一個 32 比特的子網(wǎng)掩碼來表示子網(wǎng)號字段的長度。具體的做法是:子網(wǎng)掩碼由一連串的“1”和一連串的“0”組成,“1”對應于網(wǎng)絡號和子網(wǎng)號字段,而“0”對應于主機號字段,如圖 1-25(c)所示。該子網(wǎng)掩碼用點分十進制表示就是 255.255.240.0。
若不進行子網(wǎng)劃分,則其子網(wǎng)掩碼即為默認值,此時子網(wǎng)掩碼中“1”的長度就是網(wǎng)絡號的長度。因此,對于 A、B 和 C 類 IP 地址,其對應的子網(wǎng)掩碼默認值分別為 255.0.0.0、255.255.0.0 和 255.255.255.0。
采用子網(wǎng)掩碼相當于采用三級尋址。每一個路由器在收到一個分組時,首先檢查該分組的 IP 地址中的網(wǎng)絡號。若網(wǎng)絡號不是本網(wǎng)絡,則從路由表找出下一站地址將其轉(zhuǎn)發(fā)出去。若網(wǎng)絡號是本網(wǎng)絡,則再檢查 IP 地址中的子網(wǎng)號。若子網(wǎng)不是本子網(wǎng),則同樣地轉(zhuǎn)發(fā)此分組。若子網(wǎng)是本子網(wǎng),則根據(jù)主機號即可查出應從何端口將分組交給該主機。
那么如何判斷兩個 IP 地址是否是一個子網(wǎng)呢?具體方法是將兩個 IP 地址分別和子網(wǎng)掩碼做二進制“與”運算。如果得到的結(jié)果相同,則屬于同一個子網(wǎng),如果結(jié)果不同則不屬于同一個子網(wǎng)。
例如 129.47.16.254、129.47.17.01、129.47.31.454、129.47.33.01,這四個 B 類 IP 地址 如 果 在 默 認 子 網(wǎng) 掩 耳 盜 鈴 碼 的 情 況 下 是 屬 于 同 一 個 子 網(wǎng) 的 , 但 如 果 子 網(wǎng) 掩 碼 255.255.240.0,則29.47.16.254 和 129.47.17.01 是屬于同一個子網(wǎng)的,而 129.47.31.454、129.47.33.01 則屬于另一個子網(wǎng)。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |