<计算机网络自顶向下> 路由器组成

路由器结构概况

  • 路由:运行路由选择算法/协议(RIP, OSPF, BGP)生成路由表
  • 转发:从输入到输出链路交换数据包-根据路由表进行分组的转发
  • 中间的fabric是用来接收输入的分组交给输出端口的,完成局部的转发(根据路由处理器上的路由的实体算出的路由表,把路由表交到输入端口,就知道要往哪里转发)

 输入端口功能

 输入端口缓存

  • 当交换机构的速率小于输入端口的汇聚速率的时候在输入端口可能要排队
    • 排队延迟以及由于输入缓存溢出造成丢失
  • Head-of-theLine (HOL) blocking: 排在队头的数据报组织了队列中其他数据报向前移动

交换结构

  • 将分组从输入缓冲区传输到合适的输出端口
  • 交换速率:分组可以按照改速率从输入传输到输出
    • 运行速度冷藏室输入/输出链路速率的若干倍
    • N个输入端口:交换机构的交换速度是输入线路速度的N被比较理想,才不会成为瓶颈
  • 3种典型的交换机构

    • 内存交换:这是在CPU直接控制下的交换,采用传统的计算机。分组背靠背到系统内存,CPU从分组的头部提取出目标地址,查找转发表,找到对应的输出端口,拷贝到输出端口(缺点是转发速率被内存的带宽限制,数据报要通过总线两遍,一次只能转发一个分组)

    • 通过总线交换:数据报通过共享总线(中间总线的集合就是fabric的体现形式),从输入端口转发到输出端口(总线竞争:交换速度受限于总线带宽,一次只能处理一个分组)

    • 通过互联网络(crossbar等)的交换:同时并发转发多个分组,克服总线带宽限制

输出端口

  • 当数据报从交换机构的到达比传输速率快就需要输出端口缓存

  • 由调度规则选择排队的数据报进行传输

调度规则

  • FIFO

  • Priority

  • Round Robin

  • Weighted Fair Queuing
    • 这个是某个百分之多少优先级而不是绝对的优先级

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-25 00:46:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-25 00:46:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-25 00:46:05       82 阅读
  4. Python语言-面向对象

    2024-04-25 00:46:05       91 阅读

热门阅读

  1. ElasticSearch(3)

    2024-04-25 00:46:05       35 阅读
  2. ceph存储系统

    2024-04-25 00:46:05       28 阅读
  3. Android判断应用是否在前台运行

    2024-04-25 00:46:05       33 阅读
  4. 2024/4/24总结

    2024-04-25 00:46:05       32 阅读
  5. 手撕代码: C++实现数据的序列化和反序列化

    2024-04-25 00:46:05       29 阅读