当一台主机应用需要向位于不同网络的目的地发送数据包时,路由器从一个接口接受数据信息。网络层会检查这个数据包来决定预计发送的网络,然后,路由器会检查自己的路由表,并利用路由表的信息来判断预计要发送的端口。路由器再次把数据报按一定的规则进行封装,然后把数据包在某个端口转发出去。
路由器再转发任何一个数据包的时候,都会发生这个路由判断的过程。路由判断使得路由器能够选择最合适的接口来转发数据包。也就是说,路由器主要是靠路由表来工作的,若没有路由表或者路由表中的信息错误的话,则路由器将如同一堆废铁,没有任何价值。
根据路由表生成机制的不同,可以分为静态路由与动态路由。
动态路由是指路由器会根据一定的方法,自动更新路由表。因为在网络中,当添加某个路由器或者某条链路发生故障时,在网络上都会产生一些信息来告知对方。路由器就是根据这些信息来更新自己的路由表,并按照一些预定的规则,来调整相关的路由信息。可见,采用动态路由的话,可以方便我们的管理。但是,其也会带来一些问题。如动态路由会把网络中所有可见的路由都在查寻出来,也就是说,采用路由器的动态路由的话,只要数据链路不出现问题,一般来说,各个网络都是可达的,这就不利于网络管理员控制网络访问。
静态路由是由网络管理员手工更新路由表。当网络的拓扑结构发生变化或者路由器增加与减少等等,都需要网络管理员手工的去更新路由器的路由表,否则的话,网络通讯就会产生影响。不过,静态路由跟动态路由比较起来,最大的缺点就是需要网络管理员手工的更新路由表,无论企业的网络发生任何的改变。这对于网络管理员来说,是工作量非常大的一件工作。
不过,静态路由也有其好处,如:一方面不需要启用动态路由选择协议服务,因此可以减少路由器的运行资源开销。而且,在网络中,也不需要进行信息的发送与传递,可以减少由此带来的带宽的占用。要实现动态路由的话,必须要有一些协议的支持,如RIP等等。这些协议规定了路由器中路由表的生成规则。而运行这些协议的话,毕竟会占用路由器的资源,同时,这些协议会经常的跟相邻的路由器进行通信,以判断对方的运作状态是否正常。无疑,这会增加路由器以及企业网络带宽的负担。
但是,以上这个优点不是我们采用静态路由的主要原因。因为随着企业网络的改造升级,这些路由器资源或者网络带宽的限制,已经不再是企业网络组建过程中的瓶颈资源。决定让我们采用静态路由技术的,是其另外一个特点。网络管理员可以借助静态路由,实现对网络访问的控制。
如笔者所在的企业是一个大的集团公司,集团总公司跟下面一个三个子公司是采用同一个网络。现在在网络组建时,领导希望各个子公司、集团公司的网络能够相互独立,工作起来互不干扰。
当然实现这个需求的方法可以有很多,如可以为各个子公司都申请一个独立的上网帐号,但是,这种处理方式的话,就是有些浪费,因为集团公司已经有光钎网络,若再特意的为其他公司开通网络而不走集团的线路的话,那需要额外的支付不少的钱,而且,速度可能也没有光纤网络那么快,所以,是不怎么现实。
再者,若理由CISCO路由器的访问控制列表也可以实现相关的控制。但是,这个需要路由器能够支持这个功能,而且,配置起来也有一定的方法,维护起来也不是很方面。所以,根据笔者的了解,访问控制列表虽然是一个很不错的网络访问控制机制,但是,在实际应用中,用的企业比较少,因为其配置起来,还是有一定的难度的。
其实,我们可以利用静态路由技术,来实现网络路由的控制。
在路由器的路由表中,大致包含以下信息。目的网络地址、子网掩码、网关、接口等等信息。目的网络地址与子网掩码跟数据包的发送IP地址一起,可以判断出发送地址与目的地址是否属于同一个网络,若属于同一个网络的话,则路由器不会进行数据的转发或者按预定的规则进行处理。而若发送地址跟目的地址不是属于同一个子网的话,则路由器就会根据路由表中的信息进行路径的判断。若路由器找不到合适的路径的话,在该数据转发就会被终止而我们网络管理员就可以根据这个特性来作好路由访问的控制。
如笔者现在的集团公司,加上下面三个子公司的话,一共有四个子网,通过路由器对其进行连接,可以实现四网的相互通信。但是,此时不同公司之间的网络通信是相互允许的。但是,出于种种的考虑,他们之间的通信是没有必要的,同时也会给我们网络维护带来很大的干扰。如一个子网内中毒了,就可能影响到另一个网络的性能,其他网络也可能被感染上。同时,由于各个子网内的计算机可以相互访问,如此的话,也不利于各个企业数据的安全性。而从实际工作出发,由于各个公司之间是相互独立的,所以,彼此之间一般都不需要进行相互的访问。故,无论从哪一个理由出发,都没有必要对各个子网进行相互访问。为此,我们就可以利用上面谈到的静态路由,来实现网络访问的控制。
如现在公司的网络一共有五个路由器连接,四个路由器连接四个子网,再用一个路由器连接到外网上。现在我们就可以在四个连接子网的路由器上,进行静态路由的设置。如我们在连接集团总公司子网的路由器上,就可以设置静态路由。从集团子网的路由器中,向外的话只知道第五个路由器信息,而不知道其他三个连接子网的路由器路径。如此的话,这个路由器即使想把数据包发送给其他子网的话,也会以失败而告终。同时,其仍然可以正常的访问外网。
可见,利用静态路由的话,可以帮助网络管理员来加强对于网络访问的控制。虽然说静态路由的配置工作量比较大,但是,对于企业网络来说,还是一个简单的网络结构,实现起来比较容易。根据笔者的了解,其实一个比较复杂的企业,其路由器级连的话,也不会超过五级。所以,静态配置路由的话,也不会很复杂。
另外笔者在此再贡献一个手工配置静态路由的方法。我们在路由器上配置静态路由之前,可以先把路由器设置为动态路由表,然后,查看相关的路由信息,把不需要的路由信息找出来。然后再在路由器上进行相关的配置。如此的话,一方面可以防止漏掉有用的路由记录,另一方面,也可以禁止掉所有不用的路由信息,同时,我们在配置的时候,也可以省事很多,因为有了参考的依据。
在静态路由配置的时候,还需要注意以下几点:
1.尽量用交换机来代替路由器。若企业在网络部署中采用静态路由控制网络访问的话,则网络部署好之后,最好不要再采用其他的路由器来扩展网络应用,而最好利用交换机来代替路由器。也就是说,最好能够保障企业网络内部路由器数量与布局的稳定,如此的话,可以减少路由器配置的工作量。
2.在路由器上配置好静态路由的话,一般是保存在running-config文件中。而这个文件是临时文件,当路由器重新启动的时候,该文件中的信息就会消失。所以,当静态路由配置完成并测试没有问题的话,就需要利用COPY命令把静态路由表信息保存到startup-config中。并且,最好能够在异地进行备份。如此的话,当路由器出现故障时,不需要在后备路由器是进行额外的设置,就可以马上使用了。
3.根据企业对于网络安全性的要求不同,采取不同的管理策略。不同的企业有不同的网络安全需求,所以,对于静态路由表的需求也不同。若企业的规模很小,只有几十台电脑,没有不同子网的划分;或者企业对于网络安全的要求不是很高,此时,采用静态路由配置的话,那是自找苦吃,根本没有实际的作用。一般静态路由是用来那些对于网络安全要求比较高或者网络主机数比较过、有多个子网的情况下,才会使用。所以,不是什么技术都是适合企业的,要根据企业自身的情况,作出合理的选择。