相信大家一定听过路由器这个名称,但路由器是什么呢?路由又是什么意思?以下我们将详细介绍路由的技术以及相关的协议。
路由(路由)是决定网络封包要如何送往外部网络到达目的地的过程。而路由器(路由器)会取得达到路由所必须的信息,并加以维护,而为了取得并维护这样的路由信息,必须使用路由协议。
交换器(开关)虽然也可以把封包转发到目的地,但是路由器是运作于网络协议的第三层,而交换器则运作于网络协议的第二层,它们所分析的根据和运作的方式截然不同。
路由简介
路由器(路由器)最主要的工作就是决定要将网络封包送往何处,而为了要达到这样的目的,路由器至少必须做到以下这些事情:
1.知道目的端的地址在哪里。
2.标示出来源端的地址,并把它学习起来。
3.寻找这个封包可能要送往的路径有哪些。
4.从可能的路径中选出最佳路径。
5.维护并更新这些路由所需的数据。
一般网络架构中,免不了一定会有许多台路由器设备,如上图所示。
为了让图中的10.10.10.0与192.168.1.0能找到路径互相传递数据包,中间的路由器设备就必须互相「分享」所学习到的数据,加上可以得知本地端路由器设备所直接连接到的 终端设备,可以形成一个表格,称为Routing Table.Routing Table收集并整理出所有路由所需的信息。
假设Router_A与10.10.10.0这台计算机直接连接,而192.168.1.0若曾经传送封包经过Router_A, 则Router_A会知道192.168.1.0这台计算机位于Router_A右边的接口,假设Router_A右边的接口为S0,左边为E0,则Router_A的路由表如下所示:
在Router_A中,会把从其他路由器传过来的路由信息记录在自己的Routing Table中。针对那些直接连接于Router_A的计算机,Router_A已经可以确认每一台计算机可以透过哪些接口到达,因此Router_A会把所有直接连接到Router_A的计算机与接口的对应关系输入到Routing Table中,换句话说,那些没有直接连接到Router_A的计算机与接口的对应关系,一定要透过别台路由器设备来学习而得知,或是由管理人员手动输入。
路由器决定发送封包的方式
路由器设备会根据Routing Table的资料来决定如何转发数据包,刚才提到有两种方式可以得知其他计算机与这台路由器设备接口的对应关系,第一种方式是由管理人员手动输入,这种方式也称为静态路由(Static Route)。
而另一种方式是透过其他路由器设备来学习,学习的方式是透过路由协议 (Routing Protocol) 来交换信息。Routing Protocol也是学习路由器设备相关知识最重要的一环,不同的Routing Protocol有不同的使用时机,其运作方式也不尽相同,这种经过学习而建立出来的路由信息,就称为动态路由 (Dynamic Route)。
静态路由
静态路由 (Static Route) 必须由管理人员手动输入,好处是速度很快,不须要经过学习,但是缺点就是网络拓朴若有任何的改变,管理人员必须更新这些数据到路由器设备中,比较麻烦且耗费人力,也必须具备很好的维护能力才行。
这种方式比较适合几乎不会有变动的网络拓朴。
动态路由
动态路由 (Dynamic Route) 就不须要手动输入,较属于Worry-Free的类型,一切的工作都交给路由器设备之间去协调,互相交换并学习这些数据,管理人员只要做Routing Protocol的设定即可。
这种方式比较耗费系统资源,速度也稍微慢一些,因为系统需要时间去做学习的动作,也需要一点时间才能把Routing Table建立得比较完整。
不过,好处是一旦网络架构有任何的改变,网络管理人员不须要做太多事情来管理并且维护Routing Table。