小工具知识网

当前位置: 首页 > 行业知识 > 计算机网络——24路由器组成

行业知识

计算机网络——24路由器组成

2026-11-12 19:59:52 来源:互联网转载

路由器组成

路由器的结构概况

高层面(非常���化的)通用路由器体系架构

  • 路由:运行路由选择算法/协议 (RIP, OSPF, BGP) - 生成 路由表
  • 转发:从输入到输出链路交换数据报 - 根据路由表进行分组的转发

    输入端口功能

    分布式交换:

    • 根据数据报(网络层分组)头部的信息如:目的地址,在输入端口内存中的转发表中查找合适的输出端口(匹配+行动)
    • 基于目标的转发:仅仅依赖于IP数据报的目标IP地址(传统方法)
    • 通用转发:基于头部字段的任意集合进行转发

      功能如下:

      • 物理层:链路上的数字信号(比如电信号、光信号等)转换成bit(有的是bit,有的是word)
      • 数据链路层:将转换成的bit分成帧(判断哪里是帧头,哪里是帧尾),检查有无出错,判断帧的目标Mac和网卡的Mac是否一致(判断是否接受这个帧),然后取出帧中的数据部分(也就是IP的分组,数据链路层将IP的分组包装成帧了)
      • 数据链路层将IP分组交给网络层实体,网络层实体在链路当中排队,排到队头的按照路由表交给合适的端口输出
      • 传统的IP分组是根据分组头部的目标ip,根据路由表来转发
      • 如果是SDN,则会查头部的多个信息,匹配相应流表的字段,按照流标的操作

        输入端口缓存

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

            交换结构

            • 将分组从输入缓冲区传输到合适的输出端口
            • 交换速率:分组可以按照该速率从输入传输到输 出
              • 运行速度经常是输入/输出链路速率的若干倍 (因为输入端口和输出端口有多个)
              • N 个输入端口:交换机构的交换速度是输入线路速度的N倍比较理 想,才不会成为瓶颈

                三种典型的交换机构

                通过内存交换

                第一代路由器

                • 在CPU直接控制下的交换,采用传统的计算机(通过计算机的软件来实现)
                • 分组被拷贝到系统内存,CPU从分组的头部提取出目标地址,查找转发表,找到对应的输出端口,拷贝到输出端口
                • 分组要过系统总线两次(input→memory,memory→output),因此系统总线成为了速率的瓶颈(转发速率被内存的带宽限制)
                • 一次只能转发一个分组

                  通过总线交换

                  • 数据报通过共享总线,从输入端转发到输出端口
                  • 分组加上输出端口的地址被送往总线,分组通过bus的时候所有的输出分组都能够读到,如果是本输出端口的地址就拿到
                  • 总线竞争: 交换速度受限于总线带宽
                  • 1次处理一个分组,分组只经过一次bus
                  • 1 Gbps bus, Cisco 1900; 32 Gbps bus, Cisco 5600;
                  • 对于接 入或企业级路由器,速度足够( 但不适合区域或骨干网络)

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

                    • 同时并发转发多个分组,克服总线带宽限制
                    • Banyan(榕树〉网络,crossbar(纵横)和其它的互联网络被开发,将多个处理器连接成多处理器
                    • 当分组从端口A到达,转给端口Y;控制器短接相应的两个总线
                    • 高级设计:将数据报分片为固定长度的信元,通过交换网络交换
                    • Cisco12000:以60Gbps的交换速率通过互联网络

                      输出端口

                      • 当数据报从交换机构的到达速度比传输速率快就需要输出端口缓存(数据报(分组)可能会被丢弃,由于拥塞,缓冲区没有空间)
                      • 由调度规则选择排队的数据报进行传输

                        输出端口排队

                        • 假设交换速率 R s w i t c h R_{switch} Rswitch​是 R l i n e R_{line} Rline​的N倍(N:输入端口的数量)
                        • 当多个输入端口同时向输出端口发送时,缓冲该分组(当通 过交换网络到达的速率超过输出速率则缓存)
                        • 排队带来延迟,由于输出端口缓存溢出则丢弃数据报

                          调度机制

                          • 调度: 选择下一个要通过链路传输的分组
                            FIFO (first in first out) scheduling
                            • 按照分组到来的次序发送
                            • 丢弃策略: 如果分组到达一个满的队列,哪个分组将会 被抛弃?
                              • tail drop: 丢弃刚到达的分组
                              • priority: 根据优先权丢失/移除分组(分组是有优先权的,比如有VIP)
                              • random: 随机地丢弃/移除
                                优先权

                                优先权调度:发送最高优先权的分组

                                • 多类,不同类别有不同的 优先权
                                  • 类别可能依赖于标记或者其 他的头部字段, e.g. IP source/dest, port numbers, ds,etc.
                                  • 先传高优先级的队列中的分 组,除非没有
                                  • 高(低)优先权中的分组传 输次序:FIFO
                                    Round Robin (RR) scheduling
                                    • 多类
                                    • 循环扫描不同类型的队列, 发送完一类的一个分组 ,再发送下一个类的一个分组,循环所有类
                                      Weighted Fair Queuing (WFQ)
                                      • 一般化的Round Robin
                                      • 在一段时间内,每个队列得到的服务时间是: W i W_i Wi​ /(XIGMA( W i W_i Wi​ )) *t ,和权重成正比
                                      • 每个类在每一个循环中获得不同权重的服务量
                                      • 现实例子

上一篇:linux服务器怎么打印日志文件?

下一篇:如何在笔记本电脑上下载软件至桌面