路由器(Router)是连接两个不同类型网络的互连设备。它提供比网桥更高一层的局域网互联,即OSI模型的第三层(网络层)。它与高层协议有关,因此,智能性更强。不仅具有路径选择能力和传输能力,当网络系统中某一链路不通时,路由器会选择一条好的链路完成通信。此外,路由器还有选择最短路径的能力。适合于大型、复杂的网络互联。
路由器是一种具有多个输入端口和多个输出端口的专用计算机,它的任务是转发分组(数据包),选择出两结点间的最近、最快的传输路径,连接不同类型的网络,当网络中某条路径被拆除或拥挤阻塞时,路由器可提供一条新路径。
图3-68是路由器在网络互联中进行数据交换的过程。当主机A向另一个主机B发送报文或分组时,首先要检查目的主机B是否与源主机A连接在同一个网络上。如果是,就将数据包直接交付给目的主机B,而不需要通过路由器。但是,如果目的主机C或D与源主机不是连接在同一个网络上,则必须将数据包发送给本网络上的某个路由器,再由该路由器按照转发表指出的路由(路径)将数据包转发给下一个路由器,称为间接交付。数据报传输路径上的最后一个路由器就是目的主机C或D所在网络上直接交付的路由器。
路由器由路由选择(又称控制部分)和分组转发两部分组成。路由选择的核心部件是路由选择处理机。路由选择处理机的任务是根据选定的路由选择协议(如点到点协议、路由信息协议和最短路径协议等)构建出路由表,同时经常或定期地与相邻路由器交换路由信息,从而达到不断地更新和维护路由表。
分组转发由交换构件、输入端口和输出端口3部分组成,如图3-97所示。
图3-97 路由器的典型结构
交换构件(Switching fabric),它的任务是根据转发表(路由表)对分组数据进行处理,把某个输入端口输入的分组数据从一个合适的输出端口转发出去。(www.daowen.com)
路由表是根据路由选择算法得到的,而转发表是从路由表得出的。转发表的每一行必须包含从到达目的网络到输出端口和某些媒体访问控制(MAC)的地址信息。
图3-97是路由器的典型结构。路由器的输入端口和输出端口的方框中,1、2和3分别代表物理层、数据链路层和网络层的处理模块。物理层进行比特流接收;数据链路层则按照链路层协议接收传送分组的帧,把帧的首部和尾部剥去后,分组数据被送入网络层的处理模块。
当一个分组数据在查找转发表时,后面又紧跟着从这个输入端口收到另一个分组数据,这个后到的分组数据就必须在队列中排队等待查找转发表,因而会产生一定的延时。
发数据时,输出端口从交换构件接收分组数据,然后把它们发送到路由器外面的线路上。在网络层的处理模块中设有一个缓存,实际上它就是一个排队的队列。当交换构件传送过来的分组速率超过输出链路的发送速率时,来不及发送的分组数据就暂时存放在这个队列中。数据链路层处理模块将分组数据加上链路层的首部和尾部,交给物理层后发送到外部线路。
图3-98 使用网关访问IBM主机
在路由器的输入端口和输出端口都可能会造成分组数据排队。如果分组数据进入队列的速率太快会造成队列溢出,这时就会发生分组数据丢失。此外,路由器不能转换不同的网络层协议。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。