什么是分层路由?
在分层路由中,路由器被划分成区域。每个路由器都拥有关于如何将数据包路由到其自身区域内目的地的完整信息。但它不知道其他区域的内部结构。
众所周知,在LS和DV算法中,每个路由器都需要保存一些关于其他路由器的信息。当网络规模增长时,网络中的路由器数量会增加。因此,路由表的大小也会增加,然后路由器无法有效地处理网络流量。为了克服这个问题,我们使用分层路由。
在分层路由中,路由器被分为称为区域的组。每个路由器都只有关于其自身区域内路由器的信息,而没有关于其他区域内路由器的信息。因此,路由器在其表中为每个其他区域保存一条记录。
对于大型网络,两级层次结构可能不足,因此可能需要将区域分组为集群,将集群分组为区域,将区域分组为组,依此类推。
示例
考虑一个包含五个区域的两级层次结构示例,如图所示:
让我们看看路由器1A的完整路由表,它有17个条目,如下所示:
1A的完整表
目的地 | 线路 | 跳数 |
---|---|---|
1A | - | - |
1B | 1B | 1 |
1C | 1C | 1 |
2A | 1B | 2 |
2B | 1B | 3 |
2C | 1B | 3 |
2D | 1B | 4 |
3A | 1C | 3 |
3B | 1C | 2 |
4A | 1C | 3 |
4B | 1C | 4 |
4C | 1C | 4 |
5A | 1C | 4 |
5B | 1C | 5 |
5C | 1B | 5 |
5D | 1C | 6 |
5E | 1C | 5 |
当路由分层进行时,将只有7个条目,如下所示:
1A的分层表
目的地 | 线路 | 跳数 |
---|---|---|
1A | - | - |
1B | 1B | 1 |
1C | 1C | 1 |
2 | 1B | 2 |
3 | 1C | 2 |
4 | 1C | 3 |
5 | 1C | 4 |
不幸的是,这种表空间的减少是以路径长度增加为代价的。
解释
步骤1 - 例如,从1A到5C的最佳路径是通过区域2,但是所有到区域5的流量的分层路由都通过区域3,因为它对区域5的大多数其他目的地来说更好。
步骤2 - 考虑一个由720个路由器组成的子网。如果未使用层次结构,则每个路由器在其路由表中将有720个条目。
步骤3 - 现在,如果将子网划分为24个区域,每个区域包含30个路由器,则每个路由器将需要30个本地条目和23个远程条目,总共53个条目。
示例
如果将相同的720个路由器的子网划分为8个集群,每个集群包含9个区域,每个区域包含10个路由器。那么每个路由器中的表条目总数是多少?
解决方案
10个本地条目 + 8个远程区域 + 7个集群 = 25个条目。
广告