zoukankan      html  css  js  c++  java
  • 路由汇总计算示例

    要计算路由器的汇总路由,需判断这些地址最左边的多少位相同的。

    路由选择表中存储了如下网络:
    172.16.12.0/24
    172.16.13.0/24
    172.16.14.0/24
    172.16.15.0/24

    要计算路由器的汇总路由,需判断这些地址最左边的多少位相同的。计算汇总路由的步骤如下:
    第一步:将地址转换为二进制格式,并将它们对齐
    第二步:找到所有地址中都相同的最后一位。在它后面划一条竖线可能会有所帮助。
    第三步:计算有多少位是相同的。(汇总路由为第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。

    ================================

    在已知子网的情况下,怎样确定最佳的路由汇总策略?——这个问题在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/24、168.34.13.0/24、168.34.14.0/24、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/24、168.34.21.0/24、168.34.22.0/24、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。

  • 相关阅读:
    正则表达式
    cookie和session的区别(转载)
    Http协议
    10倍工程师
    10倍工程师
    HTML介绍
    HTML介绍
    网络基础之网络协议篇
    网络基础之网络协议篇
    计算机中的进制和编码
  • 原文地址:https://www.cnblogs.com/netlyf/p/6305643.html
Copyright © 2011-2022 走看看