路由器的组成
路由器的组成
通用路由器体系架构:
- 路由:运行路由选择算法/协议(RIP, OSPF, BGP)生成路由表
- 转发:从输入到输出链路交换数据报-根据路由表进行分组的转发
输入端:
- 接收物理层的Bit级数据
- 链路层协议动作、解封装
- 会进入队列(匹配瞬间的输入速率和输出速率的不一致性,但有可能遇到队头阻塞导致丢失),队头根据数据报头部的信息如:目的地址,在输入端口内存中的转发表中查找合适的输出端口
中间交换过程:
将分组从输入缓冲区传输到合适的输出端口,有三种典型的交换机构:
通过内存交换
在CPU直接控制下的交换,采用传统的计算机
- 转发速率被内存的带宽限制(数据报通过BUS两遍)
- 一次只能转发一个分组
通过总线交换
数据报通过共享总线,从输入端口转发到输出端口
- 交换速度受限于总线带宽
- 1次处理一个分组
通过互联网络(crossbar等)的交换
Banyan(榕树)网络,crossbar(纵横)和其它的互联网络被开发,将多个处理器连接成多处理器
- 同时并发转发多个分组,克服总线带宽限制
输出端:
- 接收输出端口转发过来的分组;(当数据报从交换机构的到达速度比传输速率快就需要输出端口缓存,但是数据报(分组)由于拥塞可能会被丢弃)
- 根据调度规则将不同分组交由下一层处理,并不一定完全按照先后顺序。
调度规则:
- FIFO (first in first out) scheduling:按照分组到来的次序发送
- 丢弃策略:
- tail drop: 丢弃刚到达的分组
- priority: 根据优先权丢失/移除分组
- random: 随机地丢弃/移除
- 优先权调度:发送最高优先权的分组
- Round Robin (RR) scheduling:循环扫描不同类型的队列, 发送完一类的一个分组,再发送下一个类的一个分组,循环所有类
- Weighted Fair Queuing (WFQ):一般化的Round Robin,给一类型的分组加上权重,让每个类在每一个循环中获得不同权重的服务量
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 goMars的学习随记!
评论