在互联网上,数据通过各种设备传输,最常见的是路由器和交换机。介绍了路由器的静态路由协议。先简单说一下路由条目和路由表(熟悉的可以跳过):
从源IP地址到目的IP地址的数据包可能会经过多个路由器,或者可能有多条路径到达目的IP地址。收到数据后,路由器如何知道哪个端口可以到达目的地址?如果多个端口可以到达目标地址,选择哪个端口为最佳路径?基于路由表。路由表是路由器的灵魂,是多个路由条目的集合。路由条目必须有五项:前缀、掩码、下一跳、管理距离AD和度量。
1.前缀和掩码
(请参考【IPv4协议和VLSM可变子网划分和CIDR无类域间路由】
第二步:下一次跳跃
路由器根据路由表将数据转发到下一个端口地址。
3.管理距离广告
路由器可能从多个来源获得相同的路由,如RIP或OSPF。通过不同路径获得的路由可能采用不同的路径到达目的网络。AD越小,路由的可靠性越高。直接路由的AD为0,静态路由的AD为1,RIP的AD为120,EIGRP的AD为90,OSPF的AD为110。收到所有协议提交的路由将比较它们的管理距离AD值,比较结果将被写入路由表。
4.尺寸
一种在同一路由协议中测量到达目的网络的最佳路径的方法。路由协议会为每条路径计算一个数值,这个数值就是度量值。通常,这个值没有单位。值越小,路径越好。最后,协议考虑的最佳路由将被选择并提交给路由表。
知道了路由条目的格式后,就可以生成路由表了。路由表的生成方式有三种:直接自动生成、静态路由协议和动态路由协议。路由表生成后,路由器可以根据路由表转发数据包。转发原则:有匹配的就转发;如果没有,丢弃它。匹配多个时遵循最长匹配原则。直接连接没什么好说的。动态路由协议将在后面介绍。首先介绍静态路由(配置静态路由、静态总结路由、静态默认路由、负载均衡、浮动静态路由)。
配置静态路由:
与交换机不同,新路由器必须配备IP和路由才能使用。首先,配置路由器每个端口和环回端口的IP,如下所示:
提供R1的配置命令(R2和R3可以配置相同)
匹配IP地址后,尝试ping:
可见路由器配置IP地址是不够的,还要配置路由,否则只能ping直连端口:
上面提到的路由条目的基本信息是:前缀、掩码、下一跳、AD、度量。暂时忽略AD和metric。如果R1想要ping通R2的环回端口,需要设置:22.1.1.0(前缀)255.255.255.0(掩码)12.1.1.2(下一跳)。所有配置如下:
(类似地配置R2和R3路由器的IP和路由)现在可以成对ping。
静态总结路由:
在上面的静态路由配置示例中,需要设置八条路由(三条用于R1,三条用于R3,两条用于R2)来实现成对ping。现在,为22.1.0.1/24,环回1:22.1.2.3/24,环回2:R2增加了两个环回端口,它们都与原来的环回0:22.1.1.1/24:在不同的网段
对于R1和R3来说,要ping R2上新增的两个环回端口,需要分别增加两条指向环回端口的新路由,非常麻烦。您可以配置总结路由:
(总结的思路是改变掩码的网络号长度。如果不了解,可以参考http://blog.csdn.net/hongse_zxl/article/details/50054817【IP v4协议和VLSM可变子网划分和CIDR无类域间路由】。)
(R3可以用同样的方法设置。)现在,R1和R3可以ping通R2上的三个环回端口。
静态路由:
默认路由为0.0.0.0/0,表示所有路由(先去掉刚刚设置的总结路由):
上面设置的默认路由意味着R1上的所有路由都由12.1.1.2港转发。但实际上,由于最长匹配原则,R1在ping R2的环回端口22.1.1.1/24时,仍然选择之前设置的静态路由,而不是默认路由。显然,上图中的22.1.1.0/24掩码比0.0.0.0/0掩码更长更准确,因此路由器会选择更准确的路由条目。可以考虑用默认路由保底,其他什么都比不上,所以选择默认路由。
负载平衡:
(基本配置请参考以上,不再赘述。)为R2配置两条到R1环回端口的路由,分别从R2的f0/0端口和f1/0端口出去。
如图中红色箭头所示,配置完成后,R2有两条路径可以访问R1。两条路径具有相同的前缀(都是11.1.1.0)、相同的掩码(255.255.255.0)和相同的AD值(两条静态路由都是1)。唯一的区别是下一跳(从R2的f0/0端口出来的下一跳是路由器不能通过最长匹配原则选择最佳路径。从路由器的角度来看,两条路径是相等的,因此通过负载均衡来平衡带宽:在R2上ping 11.1.1.1:
浮动路线:
线路图还是参考上图,除了IP地址,无关路由可以去掉。
当前缀和掩码相同时,AD值小的那个将被添加到路由表中。例如,只有当AD值不同时,将AD值较小的路由添加到路由表中,供路由器使用。但高AD值的路线并没有被丢弃,而是沉入水中等待时机。一旦路由表中的路由出现故障,它就会出现并被添加到路由表中。所以叫浮动静态路由。
PS:上述路由条目中提到的AD值和度量以及路由器的最长匹配原则可能有点混乱,需要说明一下:
测量的是同一路由协议中到达目的地代价最低的路径,并将该路径提交给路由表。请注意,此时它只是提交到路由表,而不是实际写入。是否需要写,要看广告价值。
AD值用于确认是否可以加入路由表。当前缀和掩码相同时,只有AD值小的才会添加到路由表中。当然,如果前缀和掩码不同,无论AD值如何,它们都会被添加到路由表中。
将条目写入路由表后,选择使用最长匹配原则的路由。
因此,它们之间的关系是:度量向路由表提供路由条目。AD值决定了哪些路由条目最终可以添加到路由表中。最长匹配原则决定了添加到路由表中的哪个路由条目最终会被路由器使用。