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

news/2024/4/19 13:32:48/文章来源:https://blog.csdn.net/Aubyn11/article/details/136493307

路由器组成

路由器的结构概况

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

  • 路由:运行路由选择算法/协议 (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.luyixian.cn/news_show_999645.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

概要了解postman、jmeter 、loadRunner

postman还蛮好理解的,后续复习的话着重学习关联接口测试即可,感觉只要用几次就会记住: 1 从接口的响应结果当中提取需要的数据 2 设置成环境变量/全局变量(json value check 、set environment para 3写入到下一个接口的请求数据中…

Winform窗体随着屏幕的DPI缩放,会引起窗体变形及字体变形,superTabControl标签字体大小不匹配

一、前言 superTabControl做的浏览器标签(cefsharp)在缩放比例(125%,150%时字体不协调) 物联网浏览器,定制浏览器,多媒体浏览器(支持H264)参考栏目文章即可 二、配置参数 app.manifest参数 dpiAware =true <application xmlns="urn:schemas-microsoft-c…

消息队列及发布订阅

概述 消息的发布、订阅是应用进程进行数据交换的常用方式&#xff0c;对于进程没有角色限制&#xff0c;既可以扮演发布也可以扮演订阅角色&#xff1b;该模式是进程间通信的异步模式。 mq_send函数说明 函数 mq_send() 会将参数 msg_ptr 指向的内容发送给参数mqdes 指向的消…

2024年腾讯云2核4G5M轻量服务器性能评测,多维度测试

腾讯云轻量2核4G5M服务器&#xff1a;CPU内存流量带宽系统盘性能测评&#xff1a;轻量应用服务器2核4G5M带宽&#xff0c;免费500GB月流量&#xff0c;60GB系统盘SSD盘&#xff0c;5M带宽下载速度可达640KB/秒&#xff0c;流量超额按照0.8元每GB的价格支付流量费&#xff0c;轻…

深入浅出解析SSL:保障网络安全的加密技术

在数字信息时代&#xff0c;网络安全已成为人们关注的重点。为了在网络传输过程中保护数据的完整性和机密性&#xff0c;我们需要一种强大的安全协议——SSL&#xff08;安全套接层&#xff09;。今天德迅云安全就带大家来简单了解下SSL是什么&#xff0c;它的工作原理以及为何…

解决syslog服务器启动问题

Syslog 监控和管理对于每个组织来说都很重要&#xff0c;可以减少系统停机时间、提高网络性能并加强企业的安全策略。而在网络系统管理中&#xff0c;syslog服务用于收集、存储和管理系统和设备的日志信息。 然而&#xff0c;有时候我们可能会遇到syslog服务器无法启动的问题&…

端到端自动驾驶通用算法框架UniAD

端到端自动驾驶通用算法框架UniAD 引言 自动驾驶是一项高度复杂的技术&#xff0c;需要多个学科领域的知识和技能&#xff0c;包括传感器技术、机器学习、路径规划等方面。自动驾驶还需要适应不同的道路规则和交通文化&#xff0c;与其他车辆和行人进行良好的交互&#xff0c…

【SQL】550. 游戏玩法分析 IV (关键点:确定连续两次登录)

前述 常见函数用法示例&#xff1a; DATEDIFF(col1, col2) 1DATE_ADD(MIN(col), INTERVAL 1 DAY)ROUND(3.1415926,3) > 四舍五入得到 3.142 题目描述 leetcode原题&#xff1a;550. 游戏玩法分析 IV 思路 确定连续两次登录统计&#xff0c;保留两位小数 写法一 关键…

python基础9_序列类型

回顾: 什么是变量?,有什么用? 可以变化的量, 就是个容器,多次变化,方便后续使用, 前面介绍了哪些数据类型? bool, str, int, float 用什么函数查看数据的类型? a "hello" print(type(a)) 到了这一步,,我们认识了哪些数据类型呢? int 整型(整数), float…

如何选择阿里云的服务器地域?看这一篇就够了

阿里云服务器地域选择方法&#xff0c;如何选择速度更快、网络延迟更低的地域节点&#xff0c;地域指云服务器所在的地理位置区域&#xff0c;地域以城市划分&#xff0c;如北京、杭州、深圳及上海等&#xff0c;如何选择地域&#xff1f;建议根据用户所在地区就近选择地域&…

基于Spring Boot+Vue的论坛网站

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 目录 一、项目简介 二、开发技术与环…

三色标记过程

可达性分析 GC过程中需要对对象图遍历做可达性分析。使用了三色标记法进行分析。 什么三色&#xff1f; 白色&#xff1a;尚未访问过。 黑色&#xff1a;本对象已访问过&#xff0c;而且本对象 引用到 的其他对象 也全部访问过了。 灰色&#xff1a;本对象已访问过&#xff0…

http代理IP适合什么场景使用?HTTP代理IP的优势在哪里呢?

HTTP代理IP在多种场景下都能发挥重要作用&#xff0c;尤其是在网络请求处理、数据抓取、爬虫应用以及隐私保护等方面。下面&#xff0c;我们将详细探讨HTTP代理IP适用的场景以及其所具备的优势。 一、HTTP代理IP适合什么场景使用&#xff1f; 1. 网络请求处理&#xff1a;在进行…

#QT(网络编程-UDP)

1.IDE&#xff1a;QTCreator 2.实验&#xff1a;UDP 不分客户端和服务端 3.记录 &#xff08;1&#xff09;做一个UI界面 &#xff08;2&#xff09;编写open按钮代码进行测试&#xff08;用网络调试助手测试&#xff09; &#xff08;3&#xff09;完善其他功能测试 4.代码 …

Python快速入门系列-1

Python快速入门系列 第一章: Python简介1.1 Python的历史与发展1.2 Python的优势与特点1.2.1 易学易用1.2.2 动态类型1.2.3 丰富的标准库与第三方库1.2.4 面向对象与函数式编程1.2.5 广泛应用领域 1.3 Python的应用领域 第一章: Python简介 1.1 Python的历史与发展 Python是一…

three.js如何实现简易3D机房?(一)基础准备-上

目录 一、tips 二、功能说明 1.模型初始化 2.功能交互 三、初始化准备 1.目录结构 2.创建三要素 3.创建轨道控制器 4.初始化灯光 5.适配 6.循环渲染 一、tips 1.three.js入门的相关基础性知识就不在此过多赘述了&#xff0c;可以自行提前了解 three.js docs&…

Unity编辑器功能Inspector快捷自动填充数据和可视化调试

我们有时候可能需要在面板增加一些引用&#xff0c;可能添加脚本后要手动拖动&#xff0c;这样如果有大量的脚本拖动也是不小的工作量 实例 例如&#xff1a;我的脚本需要添加一个Bone的列表&#xff0c;一个个拖动很麻烦。 实现脚本 我们可以用这样的脚本来实现。 public…

Linux系统——Haproxy高性能负载均衡软件

目录 一、Haproxy介绍 1.Haproxy定义 2.Haproxy主要特性 二、安装Haproxy 1.yum安装 2.第三方rpm包安装 3.编译安装 3.1解决Lua环境 3.2编译安装Haproxy 三、配置文件详解 1.状态页 2.日志管理 2.1定义日志到其他主机站点 3.指定进程线程个数 4.cpu亲缘性 5.多进…

一文帮助快速入门Django

文章目录 创建django项目应用app配置pycharm虚拟环境打包依赖 路由传统路由include路由分发namenamespace 视图中间件orm关系对象映射操作表数据库配置model常见字段及参数orm基本操作 cookie和sessiondemo类视图 创建django项目 指定版本安装django&#xff1a;pip install dj…

【Photoshop2020版本】零基础笔记(一)

哈喽大家好~最近博客内容换方向了哈哈哈~换成“实用版”了。 今天给大家带来的是 PS 相关内容 其实我也是刚学PS&#xff0c;所以想着自己做笔记还不如发布出去&#xff0c;让大家都能看到&#xff0c;有兴趣的伙伴们&#xff0c;可以跟着我的笔记一块学习&#xff0c;这个专…