扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
根据TCP/IP协议,路由器的数据包转发具体过程是:网络接口接收数据包,这一步由网络物理层处理,即把经编码调制后的数据信号还原为数据。根据网络物理接口,路由器调用相应的链路层功能模块,以解释处理此数据包的链路协议报头。这一步处理比较简单,主要是对完整性的验证,如CRC校验、帧长度检查。在链路导层完成对数据帧的完整性验证后,路由器开始处理此数据帧的IP层。这一过程是路由器功能的核心。根据数据帧IP包头的目的的IP地址,路由器在路由表中查找下一跳的IP地址,IP数据包头的TTL域开始减数,并计算新校验和(Check-sum)。根据路由表中所查到的下一跳IP地址,将IP数据包送往相应的输出链路层,封装上相应的链路层包头,最后经输出网络物理接口发送出去。
中低档路由器的体系结构。多个交换端口通过数据总线与共享内存、CPU相连。共享内存完成交换数据的存储转发功能,其中包缓冲用于存储最近发送到达的数据,而系统缓冲用于存储没有及时交换的数据包。CPU为交换数据包选择路径,具体选路的依据是路由表和快速缓存。快速缓存是路由表中使用频率很高的路由条目。
数据在由某个交换端口向目的端发送时,由于端口所连接的网络拓扑结构及其网络类型存在的差异,例如由以太网交换端口向FDDI交换端口进行数据发送,因此要求对数据包帧结构、长度进行重组。针对一个数据包由端口A向端口B转发,具体的数据包路由交换步骤如下:
1)数据包进入端口A,去掉数据包的前导码和物理层源、目的MAC地址,CRC校验码。
2)三层以上数据通过数据总线D-BUS进入共享内存中的数据包缓存。
3)共享式缓存取出数据包的目的网络地址,通过D-BUS送CPU进行选路处理。
4)由CPU在交换式缓存中检索匹配的网络/主机地址,如果检索到,进入第7步。
5)CPU在路由表中检索匹配的网络/主机地址,得到目的交换端口。
6)将检索到的信息追加入快速缓存,或者替换高速缓存中的原有数据。
7)检索到的目的交换端口经D-BUS传回共享内存。
8)共享内存通过交换技术将数据包发往目的端口,目的端口接到数据包后,重新按照目的网络的类型重写帧,加入相应的第二层地址,重新计算CRC数值。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者