1、路由器的结构
-
路由器是具有多个
输入端口
和输出端口
的专用计算机 -
任务:转发分组
路由器从某个输入端口
接收到一个分组,由分组要去的目的网络,把该分组从路由器的某个的输出端口
转发给下一跳路由器;
下一跳路由器也按此法处理,直到该分组到达终点 -
路由器转发分组的工作也是网络层的主要工作
处理时延
和排队时延
均发生在路由器内部
路由器工作在三层即以下
-
如下图为路由器的构成框图
-
由上图,路由器由两大部分组成:
1、路由选择部分(控制部分)
2、分组转发部分 -
路由选择部分 / 控制部分
核心构件是路由选择处理机
路由选择处理机的任务:根据采用的路由选择协议
构造出路由表
,定期和相邻路由器交换路由信息,更新和维护路由表 -
分组转发部分由三部分组成:
1、交换结构
2、一组输入端口
3、一组输出端口 -
交换结构
交换结构是一种完全包含在路由器内部的网络,位于输入端口和输出端口之间
根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适的输出端口转发出去 -
转发和路由选择的区别
转发:路由器按转发表
把收到的ip数据报
从路由器合适的输出端口
转发出去,仅涉及到一个路由器
路由选择:涉及到多个路由器,路由表是各个路由器协同工作的结果,这些路由器通过复杂的路由算法,得出整个网络的拓补变化情况,能动态改变所选择的路由
路由表一般仅包含从目的网络到下一跳(用ip地址来表示)的映射,路由表负责对网络拓补变化的计算
最优化,路由表总是用软件
来实现。
转发表是从路由表得出的,必须包含完成转发功能所必需的信息,转发表的每一行必须包含从要到达的目的网络
到输出端口和某些mac地址信息(如下一跳的以太网地址)
的映射,转发表应当使查找过程最优化,转发表可以用软件
也可以使用特殊的硬件
来实现。 -
下图路由器的输入输出端口里面各有三个方框:
1,2,3
分别代表物理层、数据链路层和网络层的处理模块
物理层
负责进行比特的接收
数据链路层
按照链路层协议接收发送分组的帧
去除帧的首部和尾部,分组被送到网络层
的处理模块:- 若接收到的分组是
路由器之间交换路由信息的分组(如RIP、OSPF分组)
,则把这种分组送交路由器的路由选择部分中的路由选择处理机
- 若接收到的是
数据分组
,则按照分组首部中的目的地址
查找转发表
,根据查找结果,分组经过交换结构
到达合适的输出端口
- 若接收到的分组是
-
输入端口
包含查找
和转发功能
通常把复制的转发表副本
放在每一个输入端口
中,如上图的两根虚线
路由选择处理机
(路由选择部分)负责对各转发表的副本
进行更新
当一个分组在查找转发表时,后面又紧跟着从这个输入端口收到另一个分组。
此时这个分组就必须在队列中排队等待 -
输出端口
从交换结构
接收分组,然后把它们发送到路由器外面的线路上,如下图
在输出端口的网络层处理模块
中设有一个缓冲区(队列)
当交换结构传送过来的分组的速率
超过输出链路的发送速率
时,来不及发送的分组暂存在这个队列中
数据链路层把分组加上首部和尾部,交给物理层后发送到外部线路
当队列溢出时后面进入队列的分组由于没有存储空间而被丢弃
2、交换结构
- 交换结构功能
负责把分组从一个输入端口
转移到某个合适的输出端口
- 常用的交换结构有三种
1、存储器
2、总线
3、互连网络
- 1、存储器
目的地址的查找
、分组在存储器中的缓存
这两步都是在输入端口中进行的 - 2、总线
数据报从输入端口通过共享总线直接传送到合适的输出端口,不需要路由处理机的干预
总线的工作流程如下:输入端口给分组分配一个标签
,然后分组经由总线发送给所有的输出端口,每个输出端口都会判断标签中的端口和自己的是否匹配,如果匹配的话,那么这个输出端口就会把标签拆掉并把分组发送除去,这个标签只用于交换机内部跨越总线。如果同时有 多个 分组到达路由器的话,那么同一时刻只有一个分组能够被处理,其他分组需要再进入交换结构前等待。 - 3、互连网络 / 纵横交换结构
每条垂直的的总线
在交叉点与每条水平的总线
交叉,交叉点通过交换结构控制器
能够在任何时候开启和闭合。当分组到达输入端口 I1 时,如果需要转发到端口 O1,交换机控制器会闭合 I1 到 O1 交叉部分的交叉点,然后端口 I1 在总线上进行分组转发。这种网络互联式的交换结构是 非阻塞的(non-blocking)的,也就是说 I1 -> O1 的交叉点闭合不会影响 I1 -> O2 的链路。如果来自两个不同输入端口的两个分组其目的地为相同的输出端口的话,这种情况下只能有一个分组被交换,另外一个分组必须进行等待。