首页 > 代码库 > 两级路由互访
两级路由互访
随着宽带接入的普及,很多家庭和小企业都组建了局域网来共享宽带接入。而且随着局域网规模的扩大,很多地方都涉及到2台或以上路由器的应用。当一个局域网内存在2台以上的路由器时,由于其下主机互访的需求,往往需要设置路由。由于网络规模较小且不经常变动,所以静态路由是最合适的选择。可是如果是多网段,又想实现不同网段电脑互访,设置静态路由就要掌握方法了。
路由就是把信息从源传输到目的地的行为。形象一点来说,信息包好比是一个要去某地点的人,路由就是这个人选择路径的过程。而路由表就像一张地图,标记着各种路线,信息包就依靠路由表中的路线指引来到达目的地,路由条目就好像是路标。在大多数宽带路由器中,未配置静态路由的情况下,内部就存在一条默认路由,这条路由将 LAN口下所有目的地不在自己局域网之内的信息包转发到WAN口的网关去。宽带路由器只需要进行简单的WAN口参数的配置,内网的主机就能访问外网,就是这条路由在起作用。
我的网络拓扑图:
如上图所示,LAN 1为192.168.0.0这个标准C类网段,路由器R1为原有路由器,它的WAN口接入宽带,LAN口(IP为192.168.0.1)挂着 192.168.0.0网段(子网掩码255.255.255.0的C类网)主机和路由器R2(新添加)的WAN口(IP为 192.168.0.100)。R2的LAN口(IP为192.168.5.1)下挂着新加入的LAN 2这个192.168.5.0的C类不同网段的主机。
如果按照共享 Internet的方式简单设置,此时应将192.168.0.0的主机网关都指向R1的LAN口(192.168.0.1),192.168.5.0网段的主机网关指向R2的LAN口(192.168.5.1),那么只要R2的WAN口网关指向192.168.0.1,192.168.5.0的主机就都能访问192.168.0.0网段的主机并能通过宽带连接上网。这是因为前面所说的宽带路由器中一条默认路由在起作用,它将所有非本网段的目的IP包都发到WAN口的网关(即路由器R1),再由R1来决定信息包应该转发到它自己连的内网还是发到外网去。
但是192.168.0.0网段的主机网关肯定要指向 192.168.0.1,而R1这时并不知道192.168.5.0这个LAN 2的正确位置,那么此时只能上网以及本网段内的互访,不能访问到192.168.5.0网段的主机。这时就需要在R1上指定一条静态路由,使目的IP为 192.168.5.0网段的信息包能转发到路由器R2去。
一条静态路由条目一般由3部分组成:1.目的IP地址或者叫信宿网络、子网;2.子网掩码;3.网关或叫下一跳。
R1上设定的静态路由条目就应该为:目的IP地址192.168.5.0(代表5.x这个网段),子网掩码255.255.255.0(因为是C 类网段),下一跳192.168.0.116。下图,此图为TP-LINK 中的静态路由表配置项,保存后即可生效。
R1设置完成了,还要设置R2,关闭路由器的NAT,R1的NAT则不能关闭,否则就无法连接到Internet。
设置完成,就可以实现不同网段互访,有时候设置好了,还是不能生效,在启用一次R2的NAT,然后在关闭NAT,就可以。
为什么R2的NAT要关闭呢?
NAT(Network Address Translation,网络地址转换)是将IP 数据包头中的IP 地址转换为另一个IP 地址的过程。在实际应用中,NAT 主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用IP地址空间的枯竭。
简单的说,NAT就是在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,就在网关(可以理解为出口,打个比方就像院子的门一样)处,将内部地址替换成公用地址,从而在外部公网(internet)上正常使用,NAT可以使多台计算机共享Internet连接,这一功能很好地解决了公共IP地址紧缺的问题。通过这种方法,您可以只申请一个合法IP地址,就把整个局域网中的计算机接入Internet中。这时,NAT屏蔽了内部网络,所有内部网计算机对于公共网络来说是不可见的,而内部网计算机用户通常不会意识到NAT的存在。
为什么关闭了R2的NAT,但是R2网络的设备还是能访问Internet?
因为在R1设置了静态路由。
多级路由之间的互访?
先看拓扑图
静态路由条目配置如下:
R1:目的IP地址192.168.1.0,子网掩码255.255.255.0,下一跳192.168.0.100。
目的IP地址172.16.0.0,子网掩码255.255.0.0,下一跳10.1.1.3。
R3:目的IP地址192.168.0.0,子网掩码255.255.255.0,下一跳10.1.1.2。
目的IP地址192.168.1.0,子网掩码255.255.255.0,下一跳10.1.1.2。
为何R3中第二条路由的下一跳不是直接指向R2,而是也指向R1呢?
就知道你会问这个,这个问题要从路由器间通信的原理来讲解。路由器是通过ARP解析协议来获得下一跳路由器的MAC地址,而ARP基于广播,在一般情况下路由器是不会转发广播,也就是广播包无法过路由。所以对于路由器R3来讲,R1和R3才是同等级的,它只能看到R1,不能看到R2,这就是为何在例一的注意中提到:“其中的网关IP必须是与WAN或LAN口属于同一个网段”的原因。而文中所说的静态路由条目组成的第3部分:网关又叫下一跳,而不叫下两跳、下三跳也是这个意思。总之,在一般情况下,下一跳路由的IP地址肯定要跟这个路由器的某个接口是在同一个网段的。
上面中R3上的静态路由条目,其实可以写成一条:目的IP地址192.168.0.0,子网掩码255.255.0.0(不再是C类子网的掩码),下一跳10.1.1.2。这时192.168.0.0,掩码255.255.0.0这个网段不能称为C类或B类的子网了,由于它超过了本身C类网段的范围,所以可以称它是一个超网。这个网段包含了192.168.0.0~192.168.255.0所有的子网。也就是说,这条静态路由会使所有目的IP在这个范围内的信息包,都发给10.1.1.2的路由器R1。将多条子路由条目汇总成一条都包含其内的总路由条目,这就是路由汇总或叫路由归纳。路由器在检查计算路由时是比较消耗资源的,路由条目越多,路由表越长,则这个过程耗时越多,所以通过路由汇总减少路由表的长度,对提高路由器工作效率是很有帮助的。虽然在举例中的这种只有几个路由器的小网络中起到的作用有限,但是如果是几十、几百甚至上千、上万个路由器的大型网络中,路由归纳起到的作用就非常明显了,可以说不使用路由归纳是不可想象的。
对等路由的互访?
静态路由条目配置如下:
R1上:目的IP地址172.16.0.0,子网掩码255.255.0.0(B类网段),下一跳10.1.1.3。
R3上:目的IP地址192.168.0.0,子网掩码255.255.255.0(C类网段),下一跳10.1.1.2。
注:有些使用了P-VLAN技术,这种网络的情况比较复杂,这样上面简单的静态路由设置有可能无法达到目的。
总结:
静态路由因为其设置简单明了,在不常变动的网络中稳定性好,排错也相对容易,所以在中小企业甚至一些大型的园区网中也都使用静态路由,它在实际应用中是很常见的,属于网络工作人员必会的基础知识。
如文中所述,静态路由的设置原理是比较简单的,但可以说它是学习各种路由协议的基础,属于学习路由知识时必学的部分。另外,在越复杂越大的网络中,汇总路由的效果就越显著,而能不能进行有效的路由汇总、汇总的效率如何,都跟网络结构中IP地址网段的分布有密切关系。IP地址的部署越连续而有条理,则路由汇总越容易也越有效,所以我们在部署网络时应该重视体系化编址。(注:在子网环境中,当网络地址是以2的指数形式的连续区块时,路由归纳是最有效的。)