
?
输入端口
交换结构
将路由器的输入端口和输出端口连接到输出端口
从交换结构接收数据包,并通过执行必要的链路层和物理层功能在输出链路上传输这些数据包。路由处理器
实现路由协议,维护路由表和连接的链路状态信息,计算路由器的转发表。它还执行网络管理功能。
输入端口、输出端口和交换结构共同实现转发功能,始终由硬件实现。这些转发功能有时统称为路由器转发平面。
如果有一个 64 字节的 IP 数据报,具有 10Gbps 带宽的输入链路,在另一个数据报到达之前,它的输入端口将只有 51.2ns 来处理该数据报。如果在一个线路卡上组合了 N 个端口(在实践中很常见),则数据报处理管道必须以 N 倍的速率运行。这远远超过了软件时间。
转发平面运行在纳秒时间尺度上,路由器的控制功能运行在毫秒或秒时间尺度上。这些路由器控制平面通常在软件中实现并在路由处理器上执行。
一、输入端口

?
如图所示,最左边的线路终结函数和数据链路处理函数实现了每条输入链路的物理层和链路层。

输入端口的搜索功能对路由器的执行至关重要。转发表的影子副本通常存储在每个输入端口上,从而避免集中处理的瓶颈。
由于查找需要在纳秒级进行,因此不仅需要硬件来进行查找,对于大型查找表,还需要超越简单线性搜索的技术。同时要特别注意内存访问时间,采用DRAM和SRAM进行设计。
通过搜索和确定数据包的输出端口,数据包可以进入交换结构。在某些设计中,数据包在进入交换结构时可能会被暂时阻塞。此时,阻塞的数据包必须在输入端口排队等待被及时调度通过交换结构。
此外,还需要完成一些其他任务,包括但不限于:
检查数据包的版本号、校验和和生存期字段,并重写最后两个字段
更新用户网管计数器
二、 交换结构
交换结构位于路由器的核心。交换可以通过多种方式进行,如内存交换、总线交换、互联网交换等。
三、 输出端口

?
基本上对输入端口进行相反的操作
四、路由器将丢失数据包
可以在输入和输出端口形成数据包队列。随着这些队列的增加,路由器的缓冲区空间最终将被耗尽。这时,如果有新的数据包到达,就会造成丢包。
本文来自本站,转载请注明本文网址:
http://www.pc-fly.com/a/tongxingongju/article-379172-1.html
……