PromleeBlog
网站地图
关于博客
菜单
loading..🐩🐩🐩🐩
学习
Network
Data Plane
路由器的结构
路由器的结构
📅
路由器架构概述(Router Architecture Overview)
输入端口功能(Input Port Functions)
输入端口的其他功能(Other Input Port Functions)
交换结构(Switching Fabric)
交换结构类型
输入端口排队(Input Port Queuing)
输出端口(Output Ports)
输出端口排队与缓冲(Output Port Queuing/Bufferring)
输出端口调度(Output Port Scheduling)
路由器架构概述(Router Architecture Overview)
🔗
路由处理器(Routing Processor)
负责路由器控制平面的核心组件。
执行路由算法,管理路由表。
高速交换结构(High-Speed Switching Fabric)
在数据平面高速转发分组的核心组件。
转发表通过PCI等独立总线,从路由处理器复制到各个线路卡。
每张线路卡都有一份副本,因此输入端口可以在本地决定转发,无需调用中央路由处理器。
输入端口功能(Input Port Functions)
🔗
物理层
接收比特。
线路终端处理。
数据链路层
例如以太网。
接收并处理协议。
分散式交换(decentralized switching)
根据首部字段,查询输入端口内存中的转发表,确定输出端口,也就是
匹配加动作
。
基于目的地的转发:只根据目的IP地址决定转发,是传统方式。
通用转发:可以根据任意首部字段集合决定转发。
目标
:以线路速率完成输入端口处理。
排队
:数据报到达速度超过交换结构的转发速度时发生。
输入端口的其他功能(Other Input Port Functions)
🔗
物理层与链路层处理。
检查分组版本、校验和与TTL。
需要重写TTL与校验和。
更新用于网络管理的计数器。
交换结构(Switching Fabric)
🔗
将分组从输入缓冲区传送到适当的输出缓冲区。
交换速率是分组从输入到输出的传送速度。
通常以输入或输出线路速率的倍数表示。
对N个输入端口,合适的交换速率是线路速率的N倍。
交换结构类型
🔗
通过内存交换。
通过总线交换。
通过交叉开关交换。
输入端口排队(Input Port Queuing)
🔗
交换结构的速率低于所有输入端口总速率时,可能产生输入排队。
输入缓冲区溢出会造成排队延迟与丢包。
队头阻塞(Head-of-the-Line Blocking):队列第一个分组阻止后面的分组前进。
下方红色分组被阻塞。
下方绿色分组也被阻塞,因此绿色分组遭遇了HOL阻塞。
输出端口(Output Ports)
🔗
将交换结构送来的分组发送到输出链路。
数据报缓冲与排队(Datagram Buffering and Queuing)
分组从交换结构到达后,保存在输出缓冲区并排队。
到达速度超过输出端口速率时,会发生排队。
输出端口排队与缓冲(Output Port Queuing/Bufferring)
🔗
分组通过交换结构从输入传送到输出。
当到达速率超过输出线路速率时,需要缓冲。
输出缓冲区溢出会造成排队延迟与丢包。
输出端口调度(Output Port Scheduling)
🔗
决定从多个输入端口到达的分组中,先发送哪一个。
FIFO调度
按到达队列的顺序发送分组。
丢弃策略
尾部丢弃(Tail Drop):队列已满时,丢弃新分组。
优先级丢弃(Priority Drop):先丢弃优先级分组。
随机早期丢弃(Random Early Drop):在队列完全满之前,随机丢弃分组。
优先级调度
先发送优先级较高的分组。
轮询调度
在多个队列之间循环发送分组。
每个队列发送一个分组后,转到下一个队列。
加权调度
广义的轮询调度。
每个类别分配权重,权重较高的类别优先发送分组。
路由器的结构 | PromleeBlog