中继器、集线器、网桥、交换机、路由器和网关

目录

  • 前言
  • 一、中继器、集线器
    • 1.1 中继器
    • 1.2 集线器
  • 二、网桥、交换机
    • 2.1 网桥
      • 2.1.1 认识网桥
      • 2.1.2 网桥的工作原理
      • 2.1.3 生成树网桥
    • 2.2 交换机
      • 2.2.1 交换机的特征
      • 2.2.2 交换机的交换模式
      • 2.2.3 交换机的功能
  • 三、路由器、网关
    • 3.1 路由器的介绍
    • 3.2 路由器的工作过程
      • 3.2.1 前置知识
      • 3.2.2 路由器的工作过程
  • 总结

前言

理解这些设备的关键是他们运行在不同的层次上。之所以存在不同层的问题,是因为不同的设备使用不同的信息来决定如何交换。在典型的场景中,用户生成某些数据,然后将这些数据发送给一台远程的机器。这些数据先被传输给传输层,传输层会加上一个头(比如TCP)头,然后将结果单元往下传递给网络层。网络层也会加上一个头,形成网络层数据包(比如,形成一个IP包)。然后,该分组再往下到达数据链路层,数据链路层加上它自己的头和校验和(CRC)并将结果帧交给物理层传送出去。
在这里插入图片描述

一、中继器、集线器

1.1 中继器

中继器是模拟设备,主要用来处理自己所连线缆上的信号。在一个线缆上的信号被清理、放大,然后在被放到另一个线缆上。中继器并不理解帧、数据包和帧头,它们只知道把比特编码成电压的符号。例如,在经典以太网中,为了将电缆的最大长度从500米扩展到2500米,以太网允许最多使用4个中继器来增强信号。

1.2 集线器

集线器有许多条输入线路,它将这些输入线路连接在一起。从任何一条线路上到达的帧都被发送到所有其他的线路上。如果两帧同时到达,它们将会冲突,就好像它们在同一根同轴电缆上遇到后发生碰撞一样。连接到同一个集线器上的所有线路必须以同样的速度运行。集线器与中继器不同,它们(通常)不会放大入境信号,并且可以有多个输入线路。但是,集线器与中继器一样,都属于物理层设备,因而不会检查链路层地址,也不任何方式使用该地址。

二、网桥、交换机

2.1 网桥

2.1.1 认识网桥

网桥是一种工作在数据链路层的网络设备,通过检查数据链路层地址来转发帧。
在这里插入图片描述

网桥连接两个或多个局域网。与集线器一样,一个现代网桥有多个端口,通常具有4~48条某个类型的输入线。与集线器不同的是,网桥的每个端口被隔离成它自己一个冲突域;如果端口是全双工的点到点线路,则需要用到CSMA/CD算法。
网桥比集线器提供了更好的性能,隔离网桥端口还意味着输入线路可以不同的速度运行,甚至可以是不同的网络类型。网桥具有连接到10、100、1000Mbps以太网的端口。从一个端口接受帧并从另一个端口发送出去,需要网桥内部进行缓冲。如果帧的速度大于网桥的重发速度,网桥就可能耗完缓冲空间而不得不丢弃帧。
例如,一个千兆以太网以最快的速度向一个10Mbps以太网倾斜比特流,网桥将不得不缓冲这些比特流,接受端的网桥将可能耗完缓冲空间。即使所有的端口都以相同的速度运行,这个问题还是会存在,因为有可能多个端口往相同的端口发送帧。
网桥最初被用来连接不同种类的局域网,但由于不同局域网之间的差异,比如802.11对服务质量和安全性的要求,而以太网却没有这些概念,网桥处理这些问题的能力不够好。
因此,现代网桥(交换机)通常工作在一种网络类型,用于连接同一种网络的不同设备,然后用路由器连接不同类型的网络。

两个局域网桥接在一起的拓扑情况分两种情况:

  1. 连接两个多点LAN的网桥
    在这里插入图片描述
图一
  1. 连接7个点到点站点的网桥(包括集线器)
    在这里插入图片描述
图二

2.1.2 网桥的工作原理

每个网桥工作在混杂模式下,它接受隶属于每个端口的站发送的帧。网桥必须决定是否转发或丢弃收到的每一帧。
对于一个入境帧,它在网桥中的路由过程取决于这个入境帧从哪个端口来(源端口),以及它要往哪个目标地址去(目标端口)。整个转发过程如下:

  • 如果去往目标地址的端口与源端口相同,则丢弃该帧
    例如,
    在图一的拓扑结构中,站A往站B发送一个帧,网桥B1查询哈希表得知,该帧的去往目标地址的端口与源端口相同,则丢弃该帧。
    在图二的拓扑结构中,在点对点的链接中,用集线器把一组计算机连接到网桥,站E和站F都连接到集线器H1,进而在连接到网桥B2。如果站E发送一个帧给站F,根据集线器的工作方式,集线器会将收到的每一帧往其每一个端口发送帧,即集线器将中继该帧到B2以及F。该帧最终会从端口2到达网桥B2,网桥查询哈希表得知,发现该帧的目标地址的端口和源端口相同,网桥B2只需丢弃该帧。
  • 如果去往目标地址的端口与源端口不同,则转发该帧到目标端口
  • 如果目标端口未知,则使用泛洪法,将帧转发到所有的端口,除了入境帧的端口

那么,问题来了,网桥是如何找到目标地址和端口的对应关系呢?
执行这项工作的一个简单方法是为每个网桥配备一个大的哈希表。该表列出每个可能的目的地以及对应的输出端口。
在这里插入图片描述

当网桥第一接入网络时,哈希表为空。此时,网桥会采用一种泛洪算法(flooding algorithm):对于每个发送未知目的地址的入境帧,网桥会将该帧输出到所有的端口,该帧的输入端口除外。随着时间的推移,网桥将会学习到每个目标地址在哪里。一旦知道了一个目标地址,以后发给该地址的帧会被放到正确的端口,而不再使用泛洪。
网桥所用的算法是后向学习法(backward learning)。网桥工作在混杂模式下,它可以看到每个端口上发送的所有帧。通过检查这些帧的源地址,网桥就可获得通过那个端口能访问到哪些机器。
其工作流程如下:
在这里插入图片描述

当打开、关闭或者移动机器和网桥时,网络的拓扑结构会发生变化。为了处理这种动态的拓扑结构,一旦构造出了哈希表项后,帧的到达时间也被记录在相应的表项中。当一帧到达时,如果源地址已在表中,那么对应表项中的时间被更新为当前时间。因此,与每个表项相关联的时间值反映了网桥最后看到该机器发出一帧的时间。
在网桥中,有一个进程定期扫描哈希表,并且将时间值在几分钟以前的表项都清除。

2.1.3 生成树网桥

为了提高可靠性,网桥之间可使用冗余链路。比如可以在一对网桥之间并行设置两条链路。这种设计课确保一条链路宕掉后,网络不会被分成两组计算机,使得他们无法通信。拓扑结构如下图所示:
在这里插入图片描述

图2.1.3 具有两条平行链路的网桥

但是,这种冗余造成了拓扑环路。以图2.1.3举个例子。
假设站A给以前没有观察到的某个站发送帧,即网桥B1的哈希表上没有记录该帧的目标地址对应的端口。每个网桥遵循着常规的处理规则:对于未知目的地的帧,泛洪该帧到网桥所有的其他端口。把从站A到达网桥B1的帧称为F0。网桥B1把F0的副本F1和F2分别通过端口2和端口3发出。
当网桥B2收到帧F1和F2时,网桥B2不知道(也无法知道)这些帧是同一个帧的副本,则网桥B2把这两个帧当做不同的帧处理。因此网桥B2将F1副本发送到其他端口,同样把副本F2发往其他端口。则F1的副本F4被网桥B2通过端口2发出,F2的副本F3被网桥通过端口1发出。然后网桥B1又收到了两个未知目的地的帧,同样复制泛洪。
上面的结果造成了同一个帧被无限循环,导致链路拥塞。

解决方法:让网桥相互之间通信,然后用一颗可以到达每个网桥的生成树覆盖实际的拓扑结构。
为了建立生成树,网桥运行一个分布式算法。每个网桥周期性地从它的所有端口广播一个配置信息给邻居,同时处理来自其他网桥的消息,这些消息不被转发,因为它们的用途是构建树,这棵树被用于随后帧的转发。过程如下:

  1. 全体网桥必须首先选择一个网桥作为生成树的根。
    每个网桥在自己的配置信息中包含一个标识符并作为根网桥选择的标识符。网桥标识符基于mac地址,MAC地址有网卡制造商预先设置好,确保唯一性。全体网桥选择具有最低标识符的网桥作为生成树的根。经过足够的消息交换和扩散,最终所以网桥都同意这个根。
  2. 构造从根到每个网桥的最短路径树。
    为了找到从根到每个网桥的最短路径,网桥在它们的配置消息中包含于根的距离。每个网桥记住它找到的到根的最短路径。然后关闭那些不属于最短路径一部分的端口。
  3. 根据最短路径树转发每个帧,并自动检测拓扑结构的变化,从而更新生成树。

2.2 交换机

交换机是现代网桥的另一个称呼。它们的差异更多的体现在市场上而不是技术方面。
开发网桥时正是经典以太网被广泛使用之际,网桥倾向于连接相对数目较少的局域网,因而端口数也相对较少。现代交换机的安装都使用了点对点连接(例如双绞线),单个计算机通过双绞线直接插入到交换机端口,因此交换机的端口数往往比较多。
“交换机”也可作为一般术语使用。使用网桥,功能是明确的。另一方面,交换机可以指以太网交换机,也可以指一个完全不同的转发决策设备,例如电话交换机。
现在,交换机用来连接同一个网络的不同机器。

2.2.1 交换机的特征

  • 用于连接同一个网络的不同设备
  • 全双工,一个端口可以同时输入帧,也可以发送帧
  • 连接到每个端口的带宽可以不同,自适应。

2.2.2 交换机的交换模式

  1. 直通式交换
  • 交换机只要看到MAC地址就可决定如何转发帧,有可能一旦从入境线路输入帧的目的地址字段马上就可以转发,此时帧的其余部分可能还在输入。
  • 优点是延迟较小
  • 缺点是小于64字节的帧以及坏帧也一块转发,可能浪费带宽。
  1. 存储转发
  • 转发之前要收到完整的帧并进行CRC校验,确定目的地址
  • 交换机将整个帧存储在内存缓冲区中,直到获得有效资源才将其发往目的地
  • 好处是能够抛弃小于64字节的帧以及其他受损的帧,节约宽度
  • 缺点是延迟较大且不固定,因为在转发之前要收到并处理完整的帧
  1. 碎片隔离
  • 收到帧的前64个字节后立即进行转发
  • 当帧的大小小于64字节,则丢弃该帧,如果某个帧大于64字节,则不会进行校验,收到前64个字节后直接转发,即使这个帧是一个受损的帧

2.2.3 交换机的功能

  1. 地址学习
  2. 帧的转发和过滤
  3. 环路防止(生成树)

三、路由器、网关

3.1 路由器的介绍

路由器工作在网络层,用来跨网段通信,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备,因此路由器是互联网中必不可少的网络设备之一,主要分为本地路由器和远程路由器。
常见的家庭路由器包含LAN口和WAN口。LAN口用于连接家庭设备,WAN口用于接入运营商网络,以连接互联网。
在这里插入图片描述

3.2 路由器的工作过程

3.2.1 前置知识

当忽略路由器的WAN口,路由器就是一台交换机。当对WAN口进行讨论时,那么就涉及到两个不同网络的互联,两个互联的网络进行数据的交换需要通过网关才可以就行。此时,路由器就担任网关的角色。
在这里插入图片描述
那么网关到底是什么呢?在回答这个问题之前,先介绍如何判断一个IP属于哪个网段。
32位的IP地址由高位的可变长网络和低位的主机两部分数据组成。
把可变长网络全部设置为1,主机全置为0,则得到子网掩码。
在这里插入图片描述
IP地址&子网掩码 = 网络部分
根据网络部分判断两个IP地址是否属于同一子网。
在这里插入图片描述

3.2.2 路由器的工作过程

下面通过一个例子说明路由器的工作过程,并说明网关到底是什么,发挥怎样的作用。
先画出一个网络的拓扑结构。
在这里插入图片描述
当在PC0执行命令ping 192.168.2.10,执行过程如下:

  1. PC0通过比对网络位,判断PC5是否与其属于在同一个网段
    PC0的IP地址为192.168.1.10,子网掩码255.255.255.0,则PC0的子网:192.168.1.0
    PC5的IP地址为192.168.2.10,PC0用自己的子网掩码&PC5的IP地址,PC0发现自己和PC5不在同一个子网。
  2. PC0发现自己和PC5不在同一个子网,那么PC0会把数据包先发给网关2,即192.168.1.1/24
    PC0如何知道网关2呢?
    答案是,在配置PC0的IP地址时,会为PC0配置网关IP,这样当PC0发送的数据包的目标主机和自己不在同一个子网,那么就把数据包发给自己的网关。
  3. PC0通过使用ARP协议解析出网关2的MAC地址。PC0把数据包的目标MAC地址改为网关2的MAC地址,PC0的数据包就发送给网关。
  4. 网关收到数据包后,查看目标IP,根据目标IP查询路由表。路由表记录去往每个子网对应的端口,网关将数据包的MAC地址改为PC5的MAC地址。然后通过端口fa0/0发出。

通过上面的过程可以发现,网关是一个运行在路由器的一个转发进程,路由器担任网关这个角色,路由器从而把两个不同的网络互联起来。

总结

中继器和集线器属于物理层设备
网桥属于数据链路层设备,主要作用是实现数据帧的转发和过滤;现代网桥称作交换机。交换机在现代用于连接同一网络的不同设备。
路由器用于连接两个不同的网络,网关是一个运行在路由器上的转发进程。当两个不同网络的计算机通信时,路由器担任网关角色,以实现两个不同网络的计算机进行数据的交换。

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

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

相关文章

多客圈子论坛系统 httpGet 任意文件读取漏洞复现

0x01 产品简介 多客圈子论坛系统是一种面向特定人群或特定话题的社交网络,它提供了用户之间交流、分享、讨论的平台。在这个系统中,用户可以创建、加入不同的圈子,圈子可以是基于兴趣、地域、职业等不同主题的。用户可以在圈子中发帖、评论、…

17- Redis 中的 quicklist 数据结构

在 Redis 3.0 之前,List 对象的底层数据结构是双向链表或者压缩列表,然后在 Redis 3.2 的时候,List 对象的底层改由 quicklist 数据结构实现。 其实 quicklist 就是【双向链表 压缩列表】组合,因为一个 quicklist 就是一个链表&…

【产品研发】NPDP价值作用概述

导读:本文结合个人实践和思考对NPDP的价值和作用做了概述说明,对于产品经理而言掌握NPDP的知识体系并且应用到实际工作中,这是非常有必要的。走出以往狭隘的产品研发工作认知,以开放心态学习国际化产品创新开发流程将极大提升产品…

深度学习的舌象诊断:从舌头上了解系统性疾病!

首先 深度学习算法能否解决东方医学中依靠医生经验的诊断问题?而要实现这个目标,需要什么呢? 用舌头诊断被称为口腔健康的指标,但在东方医学中,舌头也被用来评估全身的状况。换句话说,通过分析舌头的图像…

Java学习-JDBC(一)

JDBC 概念 JDBC(Java Database Connectivity)Java数据库连接JDBC提供了一组独立于任何数据库管理系统的APIJava提供接口规范,由各个数据库厂商提供接口的实现,厂商提供的实现类封装成jar文件,也就是我们俗称的数据库驱动jar包JDBC充分体现了…

C#上位机开发

目录 一、上位机简介二、C#语法三、新建VS工程四、WinForm控件4.1 属性4.2 事件4.3 窗体方法4.4 常用控件4.5 布局 五、Serial上位机5.1 UI界面设计5.2 功能设计 六、项目打包成安装包6.1 前提准备6.2 打包步骤 一、上位机简介 在单片机项目开发中,上位机也是一个很…

SwiftUI六组合复杂用户界面

代码下载 应用的首页是一个纵向滚动的地标类别列表,每一个类别内部是一个横向滑动列表。随后将构建应用的页面导航,这个过程中可以学习到如果组合各种视图,并让它们适配不同的设备尺寸和设备方向。 下载起步项目并跟着本篇教程一步步实践&a…

【C语言训练题库】扫雷->简单小游戏!

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 目录 1. 题目 2. 解析 3. 代码 4. 小结 1. 题目 小sun上课的时候非常喜欢玩扫雷。他现小sun有一个初始的雷矩阵,他希望你帮他生成一个扫雷矩阵。 扫雷…

Vue3_对接腾讯云COS_大文件分片上传和下载

目录 一、腾讯云后台配置 二、安装SDK 1.script 引入方式 2.webpack 引入方式 三、文件上传 1.new COS 实例 2.上传文件 四、文件下载 腾讯云官方文档: 腾讯云官方文档https://cloud.tencent.com/document/product/436/11459 一、腾讯云后台配置 1.登录 对…

Codeforces Round 951 (Div. 2) F. Kostyanych‘s Theorem(思维题 交互好题)

题目 交互题&#xff0c;n&#xff08;n<1e5&#xff09;个点的完全图&#xff0c;无向的&#xff0c;初始恰好删了n-2条边 每次询问可以输入一个d&#xff1a;? d 交互器会输出一个当前度>d的点v&#xff0c; 如果有多个这样的点&#xff0c;输出度最小的&#xff…

【CS.CN】优化HTTP传输:揭示Transfer-Encoding: chunked的奥秘与应用

文章目录 0 序言0.1 由来0.2 使用场景 1 Transfer-Encoding: chunked的机制2 语法 && 通过设置Transfer-Encoding: chunked优化性能3 总结References 0 序言 0.1 由来 Transfer-Encoding头部字段在HTTP/1.1中被引入&#xff0c;用于指示数据传输过程中使用的编码方式…

InternLM-XComposer2-4KHD开拓性的4K高清视觉-语言模型

大型视觉-语言模型&#xff08;LVLM&#xff09;在图像字幕和视觉问答&#xff08;VQA&#xff09;等任务中表现出色。然而&#xff0c;受限于分辨率&#xff0c;这些模型在处理包含细微视觉内容的图像时面临挑战。 分辨率的限制严重阻碍了模型处理含有丰富细节的图像的能力。…

网络空间安全数学基础·多项式环与有限域

5.1 多项式环&#xff08;掌握&#xff09; 5.2 多项式剩余类环&#xff08;理解&#xff09; 5.3 有限域&#xff08;熟练&#xff09; 5.1 多项式环 定义&#xff1a;设F是一个域&#xff0c;称是F上的一元多项式&#xff0e; 首项&#xff1a;如果an≠0&#xff0c;则称 a…

【Python】认识 Python

一、计算机基础概念 1、什么是计算机 很多老一辈的人&#xff0c;管下面这个叫做计算机。然而&#xff0c;它只是 “计算器”&#xff0c;和计算机是有很大区别的。 现在我们所说的计算机&#xff0c;不光能进行算术运算&#xff0c;还能进行逻辑判断、数据存储、网络通信等…

Qt之QGraphicsView —— 笔记3:矩形图元连接(附完整源码)

效果 完整源码 注意:在ui文件中拖入一个QGraphicsView类窗口控件,然后用MyGraphicsView提升该类。 main.cpp #include "widget.h" #include <QApplication>int main(

【背包-BM70 兑换零钱(一)】

题目 BM70 兑换零钱(一) 描述 给定数组arr&#xff0c;arr中所有的值都为正整数且不重复。每个值代表一种面值的货币&#xff0c;每种面值的货币可以使用任意张&#xff0c;再给定一个aim&#xff0c;代表要找的钱数&#xff0c;求组成aim的最少货币数。 如果无解&#xff0c;…

《数据结构》

简答题 一、设散列函数H(key)=key MOD 11,用线性探测再散列法解决冲突。对关键字序列{ 13,28,72,5,16,18,7,11,24 }在地址空间为0-10的散列区中建散列表,画出此表,并求等概率情况下查找成功时的平均查找长度。 散列函数为 H(key)=key MOD 11,将关键字序列 {13,28,…

width: 100%和 width: 100vw这两种写法有什么区别

width: 100%; 和 width: 100vw; 是两种不同的 CSS 写法&#xff0c;它们在实际应用中会有不同的效果。以下是这两种写法的主要区别&#xff1a; width: 100%; 定义&#xff1a;将元素的宽度设置为其包含块&#xff08;通常是父元素&#xff09;宽度的 100%。效果&#xff1a;元…

计算机毕业设计hadoop+spark+hive知识图谱股票推荐系统 股票数据分析可视化大屏 股票基金爬虫 股票基金大数据 机器学习 大数据毕业设计

哈 尔 滨 理 工 大 学 毕业设计中期检查报告 题 目&#xff1a;基于Spark的股票大数据分析及可视化系统 院 系&#xff1a; 计算机科学与技术学院 数据科学与大数据技术 姓 名&#xff1a; 鲍方博 指导教师&…

品牌策划:不只是工作,是一场创意与学习的旅程

你是否认为只有那些经验丰富、手握无数成功案例的高手才能在品牌策划界崭露头角&#xff1f; 今天&#xff0c;我要悄悄告诉你一个行业内的秘密&#xff1a;在品牌策划的世界里&#xff0c;经验虽重要&#xff0c;但绝非唯一。 1️、无止境的学习欲望 品牌策划&#xff0c;这…