计算机网络note_路由器组成

本文详细探讨了路由器的内部工作原理,包括路由选择、分组转发过程,以及输入/输出端口的设计。特别关注了不同交换方式的发展,如内存交换、总线交换与交叉bar网络,以及输出缓存和调度策略的优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、通用路由器体系架构

路由:运行路由选择算法/协议(RIP,OSPF,BGP),生成路由表;

转发:根据路由表进行分组的转发,选择从输入到输出的链路;


2、输入端口

2.1、输入端口的功能

  • 物理层:bit级的接收,将物理信号转化为0/1的数字信号
  • 数据链路层:对比特流的数据解封装;
    • 判断帧头帧尾,CRC校验
    • 判断帧中的MAC地址和路由器的MAC是否一致,要不要接收;
    • 取出IP数据报交给网络层;
  • 网络层:排队,根据IP数据报头部的信息,在路由表中查找合适的输出端口进行转发
    • 基于目标的转发:仅依赖于IP数据报的IP地址(传统方法);
    • 通用转发:基于头部字段的任意集合进行转发;


2.2、输入端口缓存

当交换机构转发的速率小于输入端口的汇集速率时,在输入端口需要排队;

出现上述情况的就是Head of the Line(HOL)blocking:由于输出端口竞争,排在队头的数据报被阻塞了,同时也阻止了队列中其他数据报向前移动;

当排队逐渐变长,排队延时也逐渐增大,还可能出现缓存溢出,数据报丢失;


3、交换机构

功能:将分组从输入缓冲区传输到合适的输出端口;

交换速率:N个输入端口,交换机构的交换速率是输入线路速率的N倍以上;


3.1、通过内存交换(memory)

第一代路由器:

  • 采用通用计算机实现,在CPU直接控制下交换;
  • 分组被拷贝到系统内存,CPU从分组头部提取出目标地址,查找转发表,找到对应的输出端口,拷贝到输出端口;
  • 转发速率被计算机的内存带宽限制,而且要两次通过system bus;
  • 一次只能转发一个分组;


 3.2、通过总线交换(bus)

  • 数据报发送到共享总线,由对应的输出端取出数据报;
  • 总线竞争:交换速率受限于总线带宽
  • 一次只能转发一个分组;

Cisco 1900:1Gbps bus;    Cisco 5600:32Gbps bus;   

对于接入网或企业级路由器,速度足够,但不适合于区域或骨干网络; 


 3.3、通过互联网络的交换(crossbar等)

  • 多处理器:Banyan榕树网络,crossbar纵横和其他互联网络等;
  • 可同时并发转发多个分组,克服总线带宽的限制;(比如:短接AY交点和BZ交点)
  • 高级设计:将数据报分片为固定长度的信元,通过交换网络来交换;

Cisco12000:60Gbps


4、输出端口 

4.1、为什么需要输出缓存?

多个输入端口 通过 交换机构 向同一个输出端口转发数据,数据报从交换机构到达的速率 大于 输出速率,就需要输出缓存;


4.2、调度规则_如何选择下一个要传输的分组

FIFO:

  •  传输:按照分组到来的先后次序,选择下一个要传输的分组;
  •  丢弃策略:丢弃刚到达的分组、优先权低的分组、随机丢弃;

优先级 :

  • 传输:选择优先级最高的分组传输;优先级相同按FIFO;

                 优先级依赖于某些字段,比如IP source/dest,port等;

                若高优先级队列一直有数据要传输,低优先级是得不到传输的;

Round Robin(RR):

  •  传输:分类,循环输出A、B、C的分组;

                A、B、C三类队列得到运行的概率是平均的;

Weighted Fair Queuing(WFQ):(改进Round Robin)

  • 传输:分类,按照权重循环输出A、B、C的分组;

                每个类在每个循环中有不同的权重,比如A是50%,B是30%,C是20%;

                那么在一次循环中,服务A队列的时间是50%,服务B......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值