计算机网络学习--路由器浅谈(8)

来源:互联网 发布:中国的顶级域名是 编辑:程序博客网 时间:2024/05/16 00:34

路由器的任务是在转发分组。

路由器由输入端口,输出端口和路由选择处理机和交换机构组成。

路由器将输入端口接收到的数据报文,按照目的网络地址,经路由选择处理机处理后,由交换机构将接收的报文放到能够发送到目的网络的输出端口队列中等待转发。

路由器的结构图如下所示:

路由选择部分是主要部分,由路由选择处理机根据路由选择协议构造路由表,并经常或定期的更新路由表信息。

分组转发部分主要包含三个组成部分:输入端口,输出端口和交换机构。交换机构的作用是根据转发表对输入端口接收到的数据报文进行处理,从而使报文从一个合适的输出端口转发出去。

这里需要注意的是“转发”和“路由选择”是两个不同的概念。

转发,只涉及一个路由器,是路由器根据转发表将数据报从合适的输出端口转发出去。转发表是由路由表得来的。转发表中必须包含转发报文所需的必要信息,如目的网络地址到输出端口和下一跳MAC地址的映射等。转发表的数据结构的设计应该使得查找过程时间的最小化,以降低报文转发延时。

路由选择,设计到多个路由器,是多个路由器根据复杂的路由选择算法而得到的整个网络的拓扑结构情况。路由表一般只包含目的网络到下一跳的映射。

我们知道,如果从OSI模型层次来看,路由器实现了前三层,即物理层,数据链路层和网络层。物理层用于接收比特位,数据链路层按照链路层协议将接收的分组的帧,而这些帧去除首部和尾部之后将会被交给网络层进行处理。如果接收到的分组是交换路由信息的分组,那么这个分组将会被交给路由选择处理机,如果收到的是数据分组,那么则查找转发表,经转发机构将数据分组从合适的输出端口转发出去。

输入端口对接收到的报文的处理过程如下所示:


相应的,输出层的处理过程如下所示:


交换机构是路由器的重要组成部分,它实现了将数据报文准确转发出去的功能。交换机构的实现有三种方式:

(1)               使用普通的计算机作为路由选择处理机,采用存储器方式实现。输入端口将数据报文复制到存储器中,然后根据分组提取出目的网络地址,查找转发表,并从合适的输出端口转发出去。目的地址的查找和分组在存储器中的缓存都是在输入端口完成的。

(2)               采用总线方式。数据报从输入端口经过共享总线直接传送到合适的输出端口,而不经过路由选择处理机的干预。由于总线是共享的,所以在同一时间,只允许一个数据报在总线上传送,很明显这会影响到数据报的转发速率。

(3)               通过纵横交换结构进行交换。这种交换结构也称为交换网络。这种方式是有2N条总线组成,其中N跳总线与输入端口相连,N条总线与输出端口相连。某个时刻接收到数据报时就将其发送到与其相连的水平总线上,如果此时转发的输出端口相连的垂直总线也是空闲的,那么接通水平总线和垂直总线的连接点,将数据报从输出端口转发出去,如果与输出端口相连的垂直总线不是空闲的,那么数据报将会阻塞,需要在输入端口的队列中等待。