TCP/IP通訊協定及網路架構研析
次級網路(Subnet)
IP位址分為兩部分,前半部是網路位址,後半部是主機在網路中的位置。IP利用位址的網路部分,在網路間為資料包選擇路徑。而主機部分則在資料包到達目的網路後,用來完成最後的傳送。一個大機構,如果分配到一組網路位址,管理者要負責管理整個網路中的主機位址。此時可以將整個大網路,分散成數個較小的網路,這些較小的內部網路,就叫做「次級網路」(subnet)。
次級網路的基本原理,是利用移動網路位址、和主機位址位元間的「分隔線」來產生新的網路,但減少了每一個網路,可有主機的數目。例如:一個class B的網路128.66.0.0,前16位元,是此網路的位址(128.26),而後16位元,則可用來指定此網路內部的主機位置,共可有約64,000台主機。
為了管理方便,我們可以將16位元的主機位址,切分出8位元,來做次級網路。如此一來,前24位元代表網路位址(128.64.1 - 128.64.254,有254個網路可供應用),而最後8個位元代表主機,也就是每一個次級網路中,可以有254台主機。如此一來,每一個部門可以擁有自己的次級網路,並且定義管理自己的主機位址。
次級網路只有當地知道,對Internet上的其它網路來說,並不在意,某個網路中有幾個次級網路,整個32位元的位址,仍然是被當作標準的IP位址來解讀,當資料包進入某區域網路時,我們用一個所謂的「次級網路遮罩」(Subnet Mask),來達到處理subnet的目的。如果此mask中的某位元是1,則IP位址中的相對位元,就被解讀成網路位元。如果是0,則這個位元,屬於主機位址部分。
例如,標準的class B的subnet mask,是255.255.0.0(代表IP位址的前16位元,是網路位址,後16位元是主機位址)但是如果使用Subnet Mask為255.255.255.0的話,就可代表我們上列的例子(前24位元是網路位址,後8位元是主機位址)。
此時,若某資料包上的目的IP位址,是128.66.12.1,進入此class B網路之後,和subnet mask 255.255.255.0作一運算,可得知目的地是subnet 128.66.12.0 上的第一台主機。
網路間Router介面
IP位址,通常被當作是主機位址,這在大部分的主機上沒有錯,但是正確的定義,應該是指某一主機上的某一網路介面的位址,因為在連接兩個(或以上)不同實質網路的路由器(router)上,必須給每一個網路介面一個IP位址,如此才能夠作為,兩個網路間傳送資料的橋樑。例如,在圖中Router X和Router Y,分別有兩個不同的IP的位址,以連接兩邊不同的網路。
網路間Router介面實例
Router X連接起128.66.12.0及128.66.1.0兩個網路。128.66.12.0中的主機(如主機A─128.66.12.2),認為Router X的位址,是128.66.12.3, 而128.66.1.0中的主機(如主機C─128.66.1.2)則認為Router X的位址是128.66.1.5。如此一來,從主機A要傳送到主機C的資料包,將先送到主機A所認得的Router X,位址為128.66.12.3的網路介面;再由Router X透過位址為128.66.1.5的網路介面,轉送到主機C上。
而主機A如何得知資料包,要透過Router X(而不是Router Y)才能到達主機C呢?這就有賴於所謂的「路由協定」(Routing Protocol)了。
參考資料
- "TCP/IP Network Administration" -- Craig Hunt , O'Reilly & Associates , INC.
- "Ipng and the TCP/IP Protocols" -- Stephen A. Thomas , Wiley Computer Publishing.
- "Internet Protocol Tutorial" - Charles Hedrick , Rutgers University.
- RFC 791 "Internet Protocol - Protocol Specification" -- Editor : Jon Postel, Information Sciences Institute University of Southern California, September 1981.
|