為IP v6劃分子網

茶鄉浪子發表於2007-10-25
以下內容摘自筆者編著的《網管員必讀——超級網管經驗談》(第2版)一書。
3.8 IP v6劃分子網
在對IP v6地址空間進行子網劃分時,需要使用子網劃分技術,以一種允許將剩餘地址空間的摘要和委派路由到IP v6 Intranet的不同部分的方式,為48位全域性地址字首劃分16位子網ID欄位。不過,目前因為IP v6技術本身都沒有普及使用,加上IP v6地址數本身就非常龐大,所以對IP v6地址進行子網劃分,在目前來說可能還沒有得到實質應用,也沒有什麼需求。在此介紹這一新IP地址協議下的子網劃分方法,純是為了各位進行積累考慮的。
不需要以任何特定的方式進行子網劃分。此處介紹的子網劃分技術假定是通過使用子網ID欄位的高序位劃分其地址空間的可變部分來進行子網劃分的。雖然此方法有助於分層定址和路由,但此方法並不是非用不可。例如,在只有少數子網的小型組織中,可以通過為子網編號(從0開始),輕鬆地為全域性地址建立平面定址空間。
對於全域性地址,Internet編號分配機構(IANA)或ISP會分配一個前48位均為固定位的IP v6地址字首。若要對48位全域性地址字首的子網ID欄位進行子網劃分,需要執行一個包含兩步的過程:
1)確定用於子網劃分的位數。
2)列舉出新的子網網路字首。
3.8.1 確定用於子網劃分的位數
用於子網劃分的位數決定著可以分配給的網路各部分(基於地理區劃或部門分類)的新子網網路字首的可能的數量。在分層路由基礎結構中,必須確定在層次結構的各層需要的網路字首數,進而確定各層需要的位數。為層次結構的各層選擇的位越多,擁有的用於列舉層次結構最後一層中的單個子網的位越少。
例如,可以實施一個包含兩層的層次結構來反映地理/部門結構,4位用於地理層,6位用於部門層。這一方案允許16個地理區域,各個區域中的各個部門只佔剩餘的子網劃分空間的616 - 6 - 4)位,或者說每個部門只有64= 26)個子網。
在層次結構中任何給定的層上,許多位已被層次結構中的上一層固定了(f),許多位被用來在層次結構中的當前層進行子網劃分(s),還有許多位留給層次結構中的下一層使用(r)。下面這個等式始終成立:f+s+r = 16。圖3-6顯示了這種關係。
3-6 對全域性IP v6地址的子網ID欄位進行子網劃分
3.8.2 列舉子網網路字首
根據用於子網劃分的位數,必須列出新的子網網路字首,可以使用下面兩種主要方法之一:
l         使用子網ID和遞增值的十六進位制表示形式來列舉新的子網網路字首。
l         使用子網ID和遞增值的十進位制表示形式來列舉新的子網網路字首。
這兩種方法產生的結果相同,都會生成子網網路字首的一個列舉列表。
要使用十六進位制方法建立子網網路字首的列舉列表,請執行以下步驟:
1)根據為子網劃分選擇的位數s和進行子網劃分的網路字首的字首長度m,計算以下各值:
l         f = m-48f是子網ID中已固定的位的數目。
l         n = 2sn是將獲得的網路字首的數目。
l         I = 216-f+si是以十六進位制表示的各個連續子網ID之間的遞增值。
l         P = m+sP是新的子網網路字首的字首長度。
2)建立一個包含n行、兩列的表。第一列存放網路字首編號(從1開始),第二列存放新的子網網路字首。
3)將使用新的字首長度的原始網路字首放在第一行的第二列中。例如,根據進行子網劃分的子網ID的十六進位制值F,子網網路字首為[48位字首]:F::/P
4)將站點本地地址或全域性地址的子網ID部分中的值加上i,將結果放在下一行的第二列中。例如,在第二行中,子網字首為[48位字首]:F+i::/P
5)重複步驟4,直到完成該表。
【示例16】對全域性地址字首3FFE:FFFF:0:C000::/51進行3位子網劃分。
首先計算字首數量值、遞增值和新字首長度值。起始值是F=0xC000s=3m=51,因此f=51-48=3。字首的數量是8n=23)。遞增值是0x400i=216-3+3=1024=0x400)。新的字首長度是54P=51+3)。
接下來,構造一個包含8行的表,如表3-20所示。將3FFE:FFFF:0:C000::/54放在網路字首1所在的那一行的第二列,然後讓網路字首的子網ID部分依次遞增0x400,將結果分別填入後面的各行中。
3-20   使用十六進位制技術對3FFE:FFFF:0:C000::/51進行3位子網劃分
網路字首
子網網路字首
1
3FFE:FFFF:0:C000::/54
2
3FFE:FFFF:0:C400::/54
3
3FFE:FFFF:0:C800::/54
4
3FFE:FFFF:0:CC00::/54
5
3FFE:FFFF:0:D000::/54
6
3FFE:FFFF:0:D400::/54
7
3FFE:FFFF:0:D800::/54
8
3FFE:FFFF:0:DC00::/54
要使用十進位制方法建立子網網路字首的列舉列表,請執行以下步驟:
1)根據用於子網劃分的位數s、進行子網劃分的網路字首的字首長度m和進行子網劃分的子網ID的十六進位制值F,計算以下各值:
l         f = m-48f是子網ID中已固定的位的數目。
l         n = 2sn是將獲得的網路字首的數目。
l         I = 216-f+si是各個連續子網ID之間的遞增值。
l         P = m+sP是新的子網網路字首的字首長度。
l         D = F的十進位制表示形式
2)建立一個包含n行、三列的表。第一列存放網路字首編號(從1開始),第二列存放新的子網網路字首的子網ID部分的十進位制表示形式,第三列存放新的子網網路字首。
3)將子網ID的十進位制表示形式(D)放在第一行的第一列,將子網字首[48位字首]:F::/P放在第一行的第二列。
4)用子網ID十進位制表示形式的值加上i,將結果放在下一行的第二列。例如,第二行的子網ID的十進位制表示形式是D+i
5)在第三列中,將子網ID的十進位制表示形式轉換為十六進位制,並構造字首[48位字首]:[SubnetID]::/P。例如,在第二行中,子網網路字首為[48位字首]:[D+i(轉換為十六進位制)]::/P
6)重複步驟45,直到完成該表。
【示例17】對站點本地網路字首3FFE:FFFF:0:C000::/51進行3位子網劃分。
首先計算字首數量值、遞增值、新字首長度值和起始子網ID十進位制表示形式。我們的起始值是F=0xC000s=3m=51,這樣f=51-48=3。字首數量是8n=23)。遞增值是1024i=216-3+3)。新的字首長度是54P=51+3)。起始子網ID的十進位制表示形式是49152D=0xC000=49152)。
接下來,構造一個包含8行的表,如表1-20所示。將49192放在網路字首1所在的那一行的第一列,將3FFE:FFFF:0:C000::/54放在該行的第二列。讓網路字首的子網ID部分(第四個十六進位制塊)依次遞增1024,然後將結果轉換為十六進位制並分別填入後面的各行中。
3-21   使用十進位制技術對3FFE:FFFF:0:C000::/51進行3位子網劃分
網路字首
子網ID的十進位制表示形式
子網網路字首
1
49192
3FFE:FFFF:0:C000::/54
2
50176
3FFE:FFFF:0:C400::/54
3
51200
3FFE:FFFF:0:C800::/54
4
52224
3FFE:FFFF:0:CC00::/54
5
53248
3FFE:FFFF:0:D000::/54
6
54272
3FFE:FFFF:0:D400::/54
7
55296
3FFE:FFFF:0:D800::/54
8
56320
3FFE:FFFF:0:DC00::/54
 

相關文章