要計算路由器的彙總路由,需判斷這些地址最左邊的多少位相同的。網絡
路由選擇表中存儲了以下網絡:
172.16.12.0/24
172.16.13.0/24
172.16.14.0/24
172.16.15.0/24spa
要計算路由器的彙總路由,需判斷這些地址最左邊的多少位相同的。計算彙總路由的步驟以下:
第一步:將地址轉換爲二進制格式,並將它們對齊
第二步:找到全部地址中都相同的最後一位。在它後面劃一條豎線可能會有所幫助。
第三步:計算有多少位是相同的。(彙總路由爲第1個IP地址加上斜線可能會有所幫助)
172.16.12.0/24 = 172. 16. 000011 00.00000000
172.16.13.0/24 = 172. 16. 000011 01.00000000
172.16.14.0/24 = 172. 16. 000011 10.00000000
172.16.15.0/24 = 172. 16. 000011 11.00000000路由
......................
172.16.15.255/24 = 172. 16. 000011 11.11111111
IP地址172.16.12.0---172.16.15.255的前22位相同,所以最佳的彙總路由爲172.16.12.0/22。io
================================擴展
在已知子網的狀況下,怎樣肯定最佳的路由彙總策略?——這個問題在IP地址計算中十分常見。關於這個問題,有兩種考量方法:
1)包含彙總路由:單條彙總路由包含了全部已知子網,也可能包含其它不存在的子網。
2)排他彙總路由:使用盡量少的路由包含全部已知子網,不能包含其它不存在的子網。
這兩種狀況各有其存在的理由,好比說,當局域網中須要保留一些地址在將來使用時(擴展的須要),會考慮採用第1)種方法;而對於局域網間地址路由的彙總,可能不但願包含其它地址(由於這些地址可能已經被其餘網使用),這時會考慮採用第2)種方法。路由器
●計算包含彙總路由的方法
標準方法(二進制):
1)寫出每一個子網號的二進制形式;
2)找出這些子網號中連續且值相同的位,這些位數即前綴值x;
3)寫一個新的32位數,該數複製子網號的前x位數,剩餘位的值都爲0,這就是彙總的路由;
4)將該數轉換成10進制形式。
快速方法(10進制):
1)計算已知子網的個數,找到最小值x,使得2x >= 子網個數;
2)找到子網中最大的前綴值y,令y=y-x;
3)假定地址值最小的子網號爲一個IP地址,令其前綴爲y,計算出該假設地址所在的子網號;
4)假定地址值最大的子網號爲一個IP地址,令其前綴爲y,計算出該假設地址所在的子網號,若是所得子網號與3)所得同樣,那麼這就是彙總的路由;
5)若是4)所得子網號與3)所得不同,那麼再重複3)和4)的步驟,可是y=y-1。
舉例:已知子網168.34.12.0/2四、168.34.13.0/2四、168.34.14.0/2四、168.34.15.0/24和168.34.16.0/25,求其包含彙總路由。步驟以下:
1)子網個數爲5,因此求得x=3,使得23 = 8 > 5;
2)子網中最大的前綴值爲25,因此y=25-3=22;
3)地址值最小的子網號是168.34.12.0,假定其爲一個IP地址,前綴爲22,則計算出其所在子網爲168.34.12.0/22;
4)地址值最大的子網號是168.34.16.0,假定其爲一個IP地址,前綴爲22,則計算出其所在子網爲168.34.16.0/22;
5)地址值最小的子網號是168.34.12.0,假定其爲一個IP地址,前綴爲21,則計算出其所在子網爲168.34.8.0/21;
6)地址值最大的子網號是168.34.16.0,假定其爲一個IP地址,前綴爲21,則計算出其所在子網爲168.34.16.0/21;
7)地址值最小的子網號是168.34.12.0,假定其爲一個IP地址,前綴爲20,則計算出其所在子網爲168.34.0.0/20;
8)地址值最大的子網號是168.34.16.0,假定其爲一個IP地址,前綴爲20,則計算出其所在子網爲168.34.16.0/20;
9)地址值最小的子網號是168.34.12.0,假定其爲一個IP地址,前綴爲19,則計算出其所在子網爲168.34.0.0/19;
10)地址值最大的子網號是168.34.16.0,假定其爲一個IP地址,前綴爲19,則計算出其所在子網爲168.34.0.0/19;二進制
與第九步驟 9)所得相同,此即爲彙總的路由。方法
●計算排他彙總路由的方法(二分法、SLSM)
1)先找出包含彙總路由,稱爲候選排他彙總路由;
2)看該候選路由是否包含了不存在的子網,若是沒有包含,那麼該候選路由即所求的一部分;
3)若是候選路由包含了不存在的子網,則將其分割成兩半,造成兩條新的候選路由(前綴增1);
4)若是候選路由中的一條包含了不存在的子網,那麼再將其一分爲二,若是候選路由中的一條徹底不包含已知的子網,則丟棄此條路由;
5)重複2)和4)直到沒有新的可能的候選路由產生爲止。
舉例:已知子網168.34.20.0/2四、168.34.21.0/2四、168.34.22.0/2四、168.34.23.0/24和168.34.24.0/24,按前面的方法可獲得其包含彙總路由爲168.34.16.0/20,求排他彙總路由的步驟以下:
1)由於168.34.16.0/20包含了不存在的子網,因此將其一分爲二:168.34.16.0/21和168.34.24.0/21;
2)對於168.34.16.0/21,仍然包含不存在的子網,再將其一分爲二:168.34.16.0/22和168.34.20.0/22,此時168.34.20.0/22已經不包含不存在的子網,因此它是所求的一部分,而168.34.16.0/22徹底不包含已知子網,因此它被丟棄;
3)再看168.34.24.0/21,仍然包含不存在的子網,再將其一分爲二:168.34.24.0/22和168.34.28.0/22,此時168.34.28.0/22徹底不包含已知子網,因此它被丟棄;
4)對於168.34.24.0/22,仍然包含不存在的子網,再將其一分爲二:168.34.24.0/23和168.34.26.0/23,此時168.34.26.0/23徹底不包含已知子網,因此它被丟棄;
5)對於168.34.24.0/23,仍然包含不存在的子網,再將其一分爲二:168.34.24.0/24和168.34.25.0/24,此時168.34.25.0/24徹底不包含已知子網,因此它被丟棄,而168.34.24.0/24已經不包含不存在的子網,因此它是所求的一部分,此時已經沒有候選路由。
綜上所述,求得排他彙總路由爲:168.34.20.0/22和168.34.24.0/24。co