路由器是连接互联网的设备,本文主要描述路由器的结构组成。

如上所示,OSI(Open System Interconnect)开放系统互联参考模型是互联网架构的标准协议栈,由ISO标准组织制定。自底向上,互联网架构分为7层,操作系统或者网络设备的网络架构实现都是参考该模型,每一层在互联网的世界中担负着不同的角色与职责,每一层都向上层提供服务支撑,其中,7层网络架构中的应用层、表示层以及会话层可以合并成应用层,如a图中的5层网络架构。应用层主要是提供应用软件、组件、服务,表示层主要是提供应用层数据格式或者规则的定义,会话层主要是提供应用层端到端连接上下文服务,运输层主要是提供TCP或者UPD数据报的封装拆装服务,网络层主要是提供IP地址数据报封装拆装寻址服务,链路层主要是提供MAC地址数据帧封装拆装寻址服务,物理层主要是提供有线无线物理介质的通讯传输服务

如上所示,互联网包括有线互联以及无线互联,互联网中每个地区的网络是由路由器连接、路由器是工作在IP地址网络层、每个局域网的网络是由交换机连接、交换机是工作在MAC地址链路层

如上所示,本地路由器在控制面中使用路由选择算法计算IP地址数据报的分发路径、在数据面执行数据报转发

如上所示,SDN软件定义网络架构的路由器中,控制面与数据面分别对应北向与南向,每个路由器的控制面在远程数据中心中使用北向接口进行集中管理、远程为每个路由器的数据面计算转发路径、每个路由器的数据面在本地执行数据报转发

如上所示,路由器的内部结构分为控制面与数据面,其中,控制面包括路由选择处理器模块,数据面包括输入端口模块、交换结构模块、输出端口模块

如上所示,输入端口模块的数据处理流程,根据OSI网络架构自底向上包括物理层处理、链路层处理、网络层处理、交换结构模块处理

如上所示,路由器中的路由表是由控制面管理模块生成、路由表中提供路由器的端口号与IP地址范围的映射对应关系、匹配IP地址时使用前缀匹配、存在多个匹配记录时使用最长匹配原则

如上所示,交换结构模块使用三种模式的数据包运输与转发,内存模式是使用操作系统从内存中读写数据的方式、纵横模式是使用多链路运载的方式、总线模式是使用中心化负载的方式

如上所示,根据OSI网络架构,输出端口模块的数据处理流程是交换结构模块处理、网络层处理、链路层处理、物理层处理