路由器的工作原理(计算机网络-网络层)

news2024/11/21 0:35:29

目录

路由器的构成

转发和路由选择的区别

典型的路由器结构

交换结构

输出端口

路由器与交换机的比较

两种基于存储转发的分组交换设备的比较

交换机和路由器各有的应用场合

三层交换机

三层交换机的应用


路由器的构成


路由器的任务

路由器是一种具有多个输入端口和多个输出端口专用计算机,其任务是转发分组

路由器将某个输入端口收到的分组,按照分组要去的目的地(即目的网络), 把该分组从路由器的某个合适的输出端口转发给下一跳路由器

下一跳路由器也按照这种方法处理分组,直到该分组到达终点为止


转发和路由选择的区别


转发:就是路由器根据转发表将用户的 IP 数据报从合适的端口转发出去

路由选择:则是按照路由选择算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由

路由表是根据路由选择算法得出的。而转发表是由路由表生成的

典型的路由器结构


         若分组的接收者是路由器自己,需要交给相应的  上层协议  去处理,如发送给路由器的RIP或 OSPF分组等需要    送交路由器的路由选择部分中的路由选择处理机。

        否则,网络层处理模块按照   分组首部   中的   目的地址   查找转发表,交给交换结构交换到合适的 输出端口

 

若交换结构处理分组的速率赶不上分组进入队列的速率,则会导致输入队列排队!

交换结构


最早的路由器就是多网络接口的计算机,收到一个分组时,将分组就从输入端口复制到存储器中,从    分组首部    提取   目的地址  ,查找路由表,再将分组复制到合适的  输出端口  的缓存中。

采用这种方式分组要两次经过系统的总线(一次写和 一次读),交换速度比较慢。

许多现代的低端路由器也通过存储器进行交换,与早期路由器的区别是   目的地址    的    查找   和    分组   在存储器中的缓存都是在    输入端口   中进行的。



分组从  输入端口  通过  共享的总线直  接传送到合适的  输出端口,不需要路由选择处理机的干预。

但是,由于   总线是共享的,因此在同一时间只能有一 个分组在总线上传送。

当分组到达输入端口时,若发 现总线忙,则被阻塞而不能通过交换结构,并在输入 端口排队等待。

路由器的转发带宽显然要   受到总线速率的限制;

要想 实现无阻塞交换,交换总线的速率   要大于所有输入端口速率的总和。

由于只经过一次总线,比通过存储器 交换要快。

 



这 种 交 换 结构 常 称 为互连 网 络(Interconnection Network),它有2N条纵横交叉的总线,通过控制相应的交叉结点使水平总线和垂直总线接通还是断开, 将分组转发到合适的输出端口。

当输入端口收到一个分组时,就将它发送到与该输入 端口相连的水平总线上。若通向所要转发的输出端口 的垂直总线是空闲的,则在这个结点将垂直总线与水 平总线接通,然后将该分组转发到这个输出端口。

但若该垂直总线已被占用(有另一个分组正在转发到 同一个输出端口),则后到达的分组就被阻塞,必须 在输入端口排队。



 输出端口


        把交换结构传送过来的分组先进行缓存。数据链路层处理模块将   分组加上链路层的首部和尾部,交给物理层后发送到外部线路。

        若从交换结构到达队列的分组速率超过链路的速率,则会导致输出队列排队!

 

路由器与交换机的比较


两种基于存储转发的分组交换设备的比较:


交换机工作在数据链路层     

优点是:即插即用,并具有相对高的   分组过滤    和   转发速度

缺点是:大型交换机网络要求交换机维护大的转发表,主机中维护大的ARP表,并可能产生广播风暴,逻辑拓扑被限制为树。


路由器工作在网络层

优点是:能提供更加智能的路由选择,并能隔离广播域。

缺点是:路由器不是即插即用的,对每个分组处理时间通常比交换机更长。

 

交换机和路由器各有的应用场合:


包含几百台主机的小网络,交换机就足够了,因为它们不需要任何IP地址的配置就可 以互连这些主机,并提供高性能的数据交换。

但是包含上千台主机的更大的网络,通常在网络中要使用路由器(除了交换机之外) 将整个网络划分成多个局域网并构成一个互连网络。这时,路由器提供更健壮的流量 隔离和对广播风暴的控制,并在网络的主机之间使用更“智能的”路由。

三层交换机


        由于三层交换机所处理的都是     封装在以太网帧中的IP数据报,可以对处理算法进 行很多特殊的优化并尽量用硬件来实现,因此比传统路由器转发分组的速度要快。

        虽然三层交换机的转发性能比普通路由器要高,但通常接口类型单一(一般就是以太网接口),支持的路由选择协议也较少。


        而路由器则不同,它的设计初衷就是为了互连不同类型的异构网络,如局域网与广域 网之间的连接、不同协议的网络之间的连接等。因此路由器的接口类型非常丰富。

 

三层交换机的应用


典型的做法是:

        处于同一个局域网中的各个子网的互连以及局域网中VLAN间的路由,用三层交换机来代替普通路由器,实现广播域的隔离。

        只有局域网与广域网互连,或广域网之间互连时才使用普通路由器。

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

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

相关文章

MT8385 Android AB分区系统升级(命令模式)

AB系统分区升级使用的是update_engine,RecoverySystem 只适用于单分区的系统升级 1.解压开update.zip 可以查看到palyload的属性 2.使用ADB命令update_engine_client即可对AB分区进行升级 使用adb shell 命令进行升级 update_engine_client --payload xxx --update --header…

【TypeScript】TS类型声明(二)

🐱个人主页:不叫猫先生 🙋‍♂️作者简介:前端领域新星创作者、华为云享专家、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀! 💫系列专栏&#xff…

k8s HPA升级 KEDA 基于prometheus的数据指标进行弹性伸缩

说明:KEDA有啥用,相对HPA有啥优势。HPA针对于cpu,内存来进行弹性伸缩,有点不太精确。KEDA可以接入prometheus,根据prometheus的数据指标进行弹性伸缩,相比更加的精准实用。 安装k8s环境部署prometheus 创建ns&#xf…

【软件测试】那些35岁以上的测试人哪去了?

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 先根据大体年龄阶段…

B+树详解,一次就懂

⭐注意:不会直接讲 B树的结构,会从最简单的二叉树开始讲起来。如果认真看完,我想你对树类型的数据结构的理解又上了一个新的台阶。 ⭐如果有误,请大家指出。下文均是在B站学习的过程中,总结的笔记和心得体会 索引结构 …

四、网络层(五)IP组播

目录 5.1 组播的概念 5.2 IP组播的地址 5.3 因特网组管理协议(IGMP) 5.4 组播路由算法 5.1 组播的概念 为了更好地支持像视频会议这类一对多的通信,需要源主机一次发送的单个分组,能抵达用一个组地址标识的若干台目的主…

【老保姆教程】:Tesseract-OCR图片文字识别

文章目录🌟介绍一波🌟小安装🌟配置环境变量⭐️tesseract-ocr配置⭐️tessdata语言配置⭐️检测环境变量是否安装成功🌟语言包的配置使用🌟CMD命令框中进行图片识别操作⭐️举例一:识别数字⭐️举例二&…

@PostConstruct(重点,初始化加载)和@PreDestroy 注解

PostConstruct和PreDestroy 注解 PostConstruct和PreDestroy都是属于Bean生命周期的一部分; PostConstruct:在bean创建完成并且属性赋值完成之后来执行初始化方法,常用于:项目启动完成后的初始化操作,比如不经常变的Redis缓存Pr…

二、LVS的安装部署

LVS的安装部署LVS的安装部署一、LVS的安装1、yum安装2、源码包安装二、ipvsadm命令详解LVS 相关软件ipvsadm 命令ipvsadm 工具用法:防火墙标记LVS 持久连接三、部署LVS NAT1、LVS NAT模式注意事项2、实验环境3、部署RS1和RS2的nginx4、将RS1和RS2的网关配置为DR的内…

maven私服

分模块开发时,被引用的模块不可能拷来拷去,应该放在单位内部的某一个服务器上,这就是私服。这里使用nexus作为私服软件。 Nexus ● Nexus是Sonatype公司的一款maven私服产品 ●下载地址 Nexus安装、启动与配置 ● 解压即安装 ● 修改基…

我国登山鞋行业参与者越发广泛带来广阔潜在需求 女性市场值得期待

登山鞋属于户外运动鞋,是专门为爬山和旅行而设计制造的鞋子,具有防水性、防滑性、足部保护功能、耐用性等功能,其中防水性是现代登山鞋的首要功能。 资料来源:中国登山鞋行业发展趋势研究与未来投资分析报告(2022-2029…

StarRocks Join Reorder 源码解析

导读:欢迎来到 StarRocks 源码解析系列文章,我们将为你全方位揭晓 StarRocks 背后的技术原理和实践细节,助你逐步了解这款明星开源数据库产品。 本期 StarRocks 技术内幕将介绍 Join Reorder 算法如何找到最优解的原理。 背景介绍 多表 Join…

vue之watchEffect

在Options API中,我们可以通过watch选项来侦听data或者props的数据变化,当数据变化时执行某一些操作。 在Composition API中,我们可以使用watchEffect和watch来完成响应式数据的侦听。 watchEffect用于自动收集响应式数据的依赖,需…

Jmeter实现websocket协议接口测试

一.为了方便使用,首先将jmeter设置成中文,有两种方法: 1.在Jmeter界面进行设置,Options ->Choose Language ->Chinese(Simplified),这种方法在关闭jmeter重启后又会恢复成默认的英文,如果…

学习Python编程好找工作吗?

说起编程语言,不少人都会推荐学习Python,但很多人对Python不太了解,所以比较好奇“学习Python编程是否好找工作”,关于这个问题,小编通过下文为大家详细解答一下。 从市场情况来讲,Python职位比较多&…

阿里内部进阶学习SpringBoot+Vue全栈开发实战文档

前言 Spring 作为一个轻量级的容器,在JavaEE开发中得到了广泛的应用,但是Spring 的配置烦琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能够快速上手Spring&#xff0…

105.(leaflet之家)leaflet态势标绘-聚集地修改

地图之家总目录(订阅之前请先查看该博客) 地图之家:cesium+leaflet+echart+地图数据+地图工具等相关内容的介绍 文章末尾处提供保证可运行完整代码包,运行如有问题,可“私信”博主。 效果如下所示: 下面献上完整代码,代码重要位置会做相应解释 <!DOCTYPE html>…

Python函数总结

在Python中&#xff0c;函数是一个带有名字的代码块&#xff0c;可以被反复调用。函数可以帮助你组织和重用代码&#xff0c;使你的程序更整洁&#xff0c;更易于维护。本文将会深入探索Python的秘密 目录 定义函数 自定义函数 内置函数 函数式方程 高阶函数 函数标注 …

Linux5.4.0内存分配器核心代码解析

理论 伙伴系统 核心代码解析 __rmqueue_smallest函数 在zone的free_list上进行搜索,找到符合migratetype的、大小为order的空闲页面块 static __always_inline struct page *__rmqueue_smallest(struct zone *zone, unsigned int order,int migratetype

【TypeScript】常用类型声明详情概述

目录 TypeScript常用类型 类型注解 TS类型概述 原始类型 数组类型 对象类型 函数类型 类型别名 接口 元组 字面量类型 枚举 any类型 typeof操作符 类型推论 类型断言 TypeScript常用类型 TypeScript是JS的超集&#xff0c;TS提供了JS的所有功能&#xff0c;并额…