如下图:两台cisco路由器相连接的两个端口不在同一个网络,如何实现两台路由器的互联?初看似乎绝对不可能,但是这是可行的,而且我已经把这个变成了现实。这里讲述配置的方法,以及解释原理。
这个就要讲到路由原理,路由器的作用其中之一是路由选择,但是路由选择的方法有两种,动态路由和静态路由。动态路由就是使用路由算法,智能化的算出路由,作出路由决策。静态路由相对就简单很多,一般几条命令就OK了。
让我们看一下A,如果有个数据包,要去往B,通过动态路由协议能做到么?显然不行。因为A认为,他直连着192.168.1.0/24以及10.10.10.1/24的网络,要去往B,如何去?路由器A不可能知道---除非管理员配置一条路由给他---但是,如何写这条路由呢?静态路由一般有2个写法。一个指出下一跳地址(直连的对端端口地址),一个指出本地出口端口。同样的,在这里我们不能简单的指出下一跳地址,因为即便你指定了也没有用---路由器不知道你指定的地址怎么走。
同样的,B的数据包去往A,也用这样的方法定义一条静态路由。
RA(config)#ip route 10.10.20.1 255.255.255.0 fa 0/0
RB(config)#ip route 10.10.10.1 255.255.255.0 fa 0/0
这样的两条静态路由配置好了后,这两台路由器就能相互传递数据包了。
可是---为什么呢?
我们知道,路由器是3层设备,作用就是读取ip包的目的地址,作出路由判断。但是数据包是如何来的,如何到达自己的并不重要。只要他拿到数据包,下面的任务就是路由判断。虽然路由器是3层设备,但是数据的传送还是要靠2层来实现。3层作出路由决策后交给2层处理。而上面的两个配置就能达到帮助路由器作出路由决策的目的。
这个实例佐证了一个事实:数据包的传送归根结底要靠数据链路层,而3层的主要作用就是实现路由器的路由决策。
本文转自 justiceplus 51CTO博客,原文链接:http://blog.51cto.com/johnwang/129069,如需转载请自行联系原作者