路由器的工作流程

来源:互联网 发布:nginx http2 配置 编辑:程序博客网 时间:2024/05/21 19:26

传统上路由器工作于网络7层协议的第三层,其主要任务是接收来自一个网络接口的分组,根据其中所含的目的地址,决定转发到哪一个下一个目的地址(可能是路由器也可能就是目的主机),并决定从哪个网络接口转发出去。这是路由器的最基本功能――分组转发功能。为了维护和使用路由器,路由器还需要有配置或者说控制功能。

根据TCP/IP协议,路由器的分组转发具体过程是:

1、网络接口接收分组。这一步是负责网络物理层处理,即把经编码调制后的数据信号还原为数据。不同的物理网络介质决定了不同的网络接口,如对应于10Base-T以太网,路由器有10Base-T以太网接口,对应于SDH,路由器有SDH接口。

2、根据网络物理接口,路由器调用相应的链路层(网络7层协议中的第二层)功能模块以解释处理此分组的链路层协议报头。这一步处理比较简单,主要是对数据完整性的验证,如CRC校验、帧长度检查。近年来,IP over something的趋势非常明显,IP(处于网络层――网络7层协议中的第三层)跳过链路层而被直接加载在物理层之上。

3、在链路层完成对数据帧的完整性验证后,路由器开始处理此数据帧的IP层。这一过程是路由器功能的核心。根据数据帧中IP包头的目的IP地址,路由器在路由表中查找下一跳(NextHop)的IP地址,IP分组头的TTL(TimetoLive)域开始减数,并计算新的校验和(checksum)。如果接收数据帧的网络接口类型与转发数据帧的网络接口类型不同,则IP分组还可能因为最大帧长度的规定而分段或重组。

4、根据在路由表中所查到的下一跳IP地址,IP数据包送往相应的输出链路层,被封装上相应的链路层帧头,最后经输出网络物理接口发送出去。