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

news2025/1/11 23:50:07

路由器组成

路由器的结构概况

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

  • 路由:运行路由选择算法/协议 (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 ,和权重成正比
  • 每个类在每一个循环中获得不同权重的服务量
  • 现实例子

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1493451.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【风格迁移】对比度保持连贯性损失 CCPL:解决图像局部失真、视频帧间的连贯性和闪烁

对比度保持连贯性损失 CCPL:解决图像局部失真、视频帧间的连贯性和闪烁 提出背景解法:对比度保持连贯性损失(CCPL) 局部一致性假设 对比学习机制 邻域调节策略 互信息最大化对比学习:在无需标签的情况下有效学习区分…

Yolov8改进交流

YOLO v8改进 YOLOv8的改进,我接触的主要分为网络改进和代码改进,网络改进就是以注意力、主干为主,代码改进就是类似于Iou,类别权重等修改。 以下是yolov8的原始模型。 # Ultralytics YOLO 🚀, AGPL-3.0 license # YO…

防爆小型气象站

TH-FBCQX1(FB01)随着科技的进步和安全生产意识的提高,防爆小型气象站在危化品场所的应用越来越受到重视。这些气象站不仅能够实时监测和记录关键气象数据,还能够提供预警功能,确保危化品场所的安全运行。 一、防爆小型气象站的功能与特点 防爆…

STM32FreeRTOS消息队列(STM32Cube高效开发)

文章目录 一、队列(一)简介(二)FreeRTOS队列特点1、入队阻塞:队列满了,此时无法继续写入数据2、出队阻塞:队列为空,此时无法读出数据3、入队阻塞解除,有多个任务等待时&a…

史称GPT-4最强劲敌——Claude 3 大模型它来了【附体验教程】

Anthropic 的 Claude 3 Sonnet 模型现已在亚马逊云科技的 Amazon Bedrock 正式可用。 Amazon Bedrock 是目前 第一个 也是 唯一 一个提供 Claude 3 Sonnet 的托管服务 。 Claude 3 免费测试体验者福利🧧:https://mp.weixin.qq.com/s/hszLRa8B5zKsTDg2bmI…

missing_aware_prompts

MSA layers [1] 辅助信息 作者使用旧版pytorch_lightning,不建议复现 参考文献 [1] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advance…

python+java+node.js+php基于vue的大学生体质测试管理系统16z15

陕商院学生体测管理系统,需要先进行登录,登录后确定权限,进行操作。包括老师管理、学生管理、首页、体质测试、公告资讯、留言板、个人中心、成绩查询功能。陕商院学生体测管理系统利用nodejs语言开发的一款基于nodejs 管理系统,数…

Claude 3家族惊艳亮相:AI领域掀起新浪潮,GPT-4面临强劲挑战

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-agd7RSCGMblYxo85 {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

umi4 项目使用 keepalive 缓存页面(umi-plugin-keep-alive、react-activation)

umi4使用keepalive 配置文件config\config.ts export default defineConfig({plugins: [umi-plugin-keep-alive], });安装add umi-plugin-keep-alive yarn add umi-plugin-keep-alive页面 A import { KeepAlive, history, useAliveController } from umijs/max; const Page…

VSCode安装

前言 Visual Studio Code 是一个轻量级功能强大的源代码编辑器,支持语法高亮、代码自动补全(又称 IntelliSense)、代码重构、查看定义功能,并且内置了命令行工具和 Git 版本控制系统。适用于 Windows、macOS 和 Linux。它内置了对…

软件设计师软考题目解析20之英语题

想说的话:要准备软考了。0.0,其实我是不想考的,但是吧,由于本人已经学完所有知识了,只是被学校的课程给锁在那里了,不然早找工作去了。寻思着反正也无聊,就考个证玩玩。 本人github地址&#xf…

【JavaSE】面向对象——多态性

多态性 多态性的概念 所谓多态性,理解为一个事物的多种形态。具体点就是去完成某个动作时,不同的对象会产生不同的状态。 多态性的好处 多态在Java中指的是父类的引用指向子类的对象,或者可以说是子类的对象赋给父类的引用。这样在我们的…

【CSS】关于文字的换行问题

给固定宽度的div中写入一些文字&#xff0c;你会发现文字可能会超出&#xff0c;实例如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content&qu…

小白跟做江科大51单片机之AT24C02数据存储

1.导入Delay、key、LCD1602相关文件 2.控制逻辑 以I2C去写入&#xff0c;用AT24C02包装好&#xff0c;main调用即可 3.编写I2C代码 看着这六个状态编 图1 开和关 图2 发送一个字节 图3 接收一个字节 图4 接收和发送应答 #include <REGX52.H> sbit I2C_SCL P2^1; sbi…

2024年Java者未来的出路在哪里,java多线程面试

重要 大环境对于我们能力要求越来越高&#xff0c;医学专家又说今年冬天新冠肺炎将“席卷重来”。 如果疫情再次爆发&#xff0c;势必将再次影响企业的正常运作&#xff0c;一波裁员浪潮你又能否抗住&#xff1f; 不管如何&#xff0c;明年金三银四又是一波跳槽时机&#xf…

CUDA学习笔记04:向量之和

参考资料 CUDA编程模型系列二(向量操作)_哔哩哔哩_bilibili &#xff08;非常好的学习资料&#xff01;&#xff09; vs2019 随意新建一个空项目&#xff0c;按照之前的环境配置配好项目依赖&#xff1a; CUDA学习笔记02&#xff1a;测试程序hello world-CSDN博客 代码结构…

k倍区间c++

题目 输入样例&#xff1a; 5 2 1 2 3 4 5输出样例&#xff1a; 6 思路 本题默认所有读者已经理解了如何求前缀和。 可以利用双层循环分别枚举左端点和右端点即可枚举完所有区间&#xff0c;而对于每个区间&#xff0c;利用一维前缀和判断它是否是一个k倍区间&#xff0c;是…

必看内容!物联网ESP8266与阿里云物联网平台通信

一、硬件连接 wifi模块ESP8266-01S接线&#xff1a; TXD接RXD&#xff08;USB&#xff09; RXD接TXD (USB) VCC接3.3V GNDGPIO0接地 二、调试工具 三、烧录MQTT固件 购买的ESP8266一般没带MQTT固件&#xff0c;所以无法通过MQTT指令与云平台通信&#xff0c;需要烧录固件。 …

1、Linux-安装

一、Linux和Windows的一些区别 1、Linux严格区分大小写——【Windows创建文件夹时不区分大小写】 2、Linux中所有内容都以文件形式存储&#xff0c;包括硬件 3、Linux不靠拓展名区分文件类型&#xff0c;而是可以通过读取文件开头的一些字节来区分。 但是在实际使用中一般要…

C#,电话数字键盘问题(Mobile Numeric Keypad problem)的算法与源代码

1 电话数字键盘问题 提供移动数字键盘。您只能按向上、向左、向右或向下至当前按钮的按钮。不允许您按最下面一行的角点按钮&#xff08;即.*和#&#xff09;。 移动键盘 给定一个数N&#xff0c;找出给定长度的可能数。 示例&#xff1a; 对于N1&#xff0c;可能的数字数为…