【IT168 技术】本文主要介绍局域网交换技术,也称为层2交换技术,内容主要包括层2交换的工作原理、网络环路、如何利用Spanning-Tree Protocol 来解决网络环路。在介绍交换技术之前不得不提一下传统的共享以太网的工作方式,了解一下冲突域,广播域以及网络分段是怎么回事,这些知识在网络基础里大家应该有所了解,在这里先简单介绍一下:

CSMA/CD机制:

大家都知道传统共享以太网使用的是CSMA/CD机制,即载波侦听多路访问/冲突检测。我们来详细分析一下:

▲CSMA/CD

CSMA/CD是一种分布式介质访问控制协议,网络中的各个节点都能独立地决定数据帧的发送与接收。每个节点在发送数据帧之前,首先要进行载波监听,只有介质空闲时,才允许发送帧。这时,如果两个以上的节点同时监听到介质空闲并发送帧,则会产生冲突现象,这使发送的帧都成为无效帧,发送随即宣告失败。每个节点必须有能力随时检测冲突是否发生,一旦发生冲突,则应停止发送,以免介质带宽因传送无效帧而被白白浪费,然后随机延时一段时间后,再重新争用介质,重发送帧。

最早由Inter,施乐,DEC三家公司提出以太网标准,后来IEEE组织制定了802.3标准规定了以太网的物理层和数据链路层的MAC子层,主要就是定义了10BASE-2、10BASE-5、10BASE-T、10BASE-F等,规定了介质,带宽,距离等。同时还定义了一个502.2标准,规定以太网数据链路层的LLC子层,即逻辑链路控制子层,主要是提供了一个数据链路层与网络层的接口,如图所示:

网络层有很多协议,数据链路层提供了很多协议之间的区分,使用网络层的哪一个协议,这就是为什么数据帧要封装一个LLC的头部信息。但传统以太2帧中不是使用LLC封装而是在数据帧中有一个2个字节的type来表明上网所使用的协议,如下图所使用的网络层协议是ARP。

冲突域:共享式以太网中的所有节点在需要与其他节点通讯时是可以发送数据的,但是CSMA/CD的机制却在确保在某个时刻只有一个节点可以发送数据,那如果肉个同时发送数据了,出现这种情况会导致冲突,那么在这个共享式网络中可能产生冲突的这么一个范围,我们就称为冲突域。

广播域:广播域是指在一个网络中广播包所能到达的范围。也就是说如果在一个网络上一个节点发送了一个广播包,这个广播包可以到达的范围,我们称为广播域,

作为一名专业的网络工作人员,具有识别冲突域和广播域的能力是所需要的一项重要技能。第一层设备的加入是扩大了冲突域,只有加入第二层设备或三层设备才可以分隔冲突域,也就是说如果加入了网桥、交换机和路由器可以将冲突域分割成较小的部分,从面降低对带宽的竞争,减少冲突。路由器还有一个好处,可以划分更小的广播域。这就叫网络分段。而用二层设备来减少冲突域的范围叫做“微分段”,也就是说不是正真意义的分段。真正意义的分段是网段号不同,不可能进行直接通讯。所以二层设备可以实现分段,但不能真正将网络进行分段,而路由器是可以实现真正网络分段的。

那么咱们的交换技术毫无疑问使用的就是交换机,我们来看一个交换机的功能:

交换机的三大功能:

MACA地址的学习

数据帧的转发或者是数据帧的过滤

利用生成树协议防止网络环路

首先我们来看第一个交换机MAC地址的学习功能,交换机是通过MAC表来进行交换转发工作的,所以MAC地址表是交换工作的核心,网络与交换机的不同之处就在于网桥使用软件来创建和管理MAC地址表的,而交换机使用ASIC来创建和管理MAC地址表。

交换机的MAC地址学习功能:

交换机初始化时,要学习进入交换机的数据帧的源地址,并且把源地址及其对应的交换机的端口号记录在MAC地址表。在MAC地地址表形成之后,交换机要学习进入交换机数据帧的目的地址,并且与MAC地址表中的条目进行比较,完成相应的转发。

交换机开机初始化时,MAC地址表是空的,因为MAC地址表是存储在内存中的。

如果计算机A发送数据帧到计算机C,此时交换机的E0口接收该数据帧,交换机记录下该数据帧的源地址C的对应关系及E0口的对应关系。如图所示:

由于交换机并不知道C的MAC地址,所以将此数据帧对除了E0口以外的其他端口进行转发。

如果是计算机D发送数据帧到计算机C,此时交换机的E3口接收该数据帧,交换机记录下该数据帧的源地址D的地址与端口的对应关系。此时交换机仍然不知道C的地址,所以还是要对除了E0口以外的其他端口上进行转发。

交换机不断记录每个接口上接收到的数据帧的地址,一段时间以后所有的端口所连接的MAC地址都会记录到MAC地址表中。此时计算机A再向计算机C发送数据时,就直接查MAC地址表进行转发即可,不会再转发到其他端口上。

在这个图中计算机A和计算机B通过HUB连接到Switch的E0口上,所以在MAC地址表中记录两个MAC地址对应同一个端口,此时如果A与B通讯,则交换机不会转发该数据帧,因为源和标MAC都在同一个接口上。这就是交换机的地址学习功能以及数据包的转发过滤。

交换机的交换方式一般有三种:直通转发、片断转发和存储转发

直通转发:交换机检测到目录地址后即转发数据帧,也就是说只要读到目标地址以后就开始转发,大家分析一下数据帧的格式就知道了,加上前导位和目标地址也就是14个字节左右,不需要再往后分析了。这样减少延时,但是不适合高错误率的网络。因为有一些数据碰撞帧,是小于64字节的,也会一起转发!

片断转发:与直通转发相似,只是在转发的时候会检测帧的前64个字节,这前64个字节中会包含一小部分数据,好处是可以把可以把小于64字节的坏帧抛弃掉,以节约带宽。

存储转发:这是延时最大的一种转发,在进行数据转发之前要将收到的帧进行完整性校验,确认没有错误才进行转发,如果有错误就不转发。好处是可以丢弃任何小于64字节和受损的数据包,但是缺点是延迟大。

下面咱看一下网络环路及如何利用Spanning-Tree 协议来解决网络环路。

网络环路

大家看下面这个图:

在这个拓扑图中,交换机就成了一个单点故障,如果交换机坏了,此时的几个模块之间都无法进行正常的工作,客户机不能访问服务器,不能连接internet,不能访问打印机,反之都一样。所谓单点故障,也就是一点发生故障,则整网络无法正常工作。所以在一般的交换式网络中,我们都需要对交换机进行冗余,但是引入冗余又会发生一个问题,一个很严重的问题,就是网络环路。下面我们来看看环路对我们的网络到底造成了什么影响,影响主要有三点:

1 Broadcast storms 广播风暴

2 Multiple Frame Copies 多重复数据帧

3 MAC Database Instability MAC地址表不稳定

广播风暴:我们看一个图,大家就明白什么是广播风暴了:

分析:如果主机X希望跟网络上的其他主机通讯,将数据报传给交换机A,但交换机仍然会将此报再一次传给交换机A,依次类似,构成了一个环,而且这个环后面比较严重,为什么?我们在讲网络基础的时候,我们讲了数据帧的格式,大家可以回忆一下,但在这个格式中,没有类似于三层IP报头中TTL机制,所以数据帧在网络中将被无限次数的传递,从面造成了广播风暴,如果是单播的数据还要好一些,如果是广播或者组播数据在这样一个环路网络中传递则广播风暴更加明显。

多重数据帧:也称为重复数据帧

分析:主机X准备发一个单播帧给路由器Y,数据报发出后,发现有两条路可以到达路由器Y,一个是直接发过去,还有一条就是通过交换机A转给交换机B,然后再交给路由器Y,此时路由器Y就收到了两位一模一样的数据帧。

MAC地址表的不稳定:

分析:还是主机X发送数据帧给路由器Y,路由器的MAC地址表还没有被交换机学习到,数据帧沿链路发送到交换A和交换机B的端口0,那么交换机A和交换机B都将主机X的MAC地址记录在port 0。因为是通过port 0收到的数据帧,所以会通过两个交换机的port 1向外泛洪,交叉来到相互交换机的 port 1 口,又认为主机X的MAC地址所对应的端口是port1,即从交换机A发出来的数据帧来到了交换机B的port 1端口。然后交换机 B收到后又通过Port 0口再次泛洪,依次类推,数据帧在环路里重复执行上述过程,交换机A和交换机B重复的在port 1 以及 port0上不断的学习主机X的MAC地址,造成MAC地址表的不稳定。

那么大家可以看到网络环路的问题确实不小,那么解决方法就是利用生成树协议:

内网环路怎么解决_利用生成树协议巧妙解决局域网二层环路相关推荐

  1. 游戏找不到服务器无法打开,mordhau雷霆一击无法加入服务器怎么解决_搜不到服务器解决方法...

    mordhau雷霆一击无法加入服务器怎么解决_搜不到服务器解决方法 时间:2020-08-05 11:44:25 责任编辑:花泽香菇 mordhau雷霆一击无法加入服务器-搜不到服务器怎么办-这个游戏 ...

  2. linux 内网文件传输工具_不管你是新手PHP程序员还是大佬都要知道的PHP十大必备工具...

    1.Notepad++ 总结来说就是小而精,7.4版本的软件包只有2.9M,比一般的IDE小数十倍,但是Notepad++的功能确是很全面的,代码高亮,语法折叠,宏功能,内置支持27种编程语言,基本上 ...

  3. 内网渗透攻击技术的利用

    DCSync 是什么 在域环境中,不同域控制器(DC)之间,每 15 分钟都会有一次域数据的同步.当一个域控制器(DC 1)想从其他域控制器(DC 2)获取数据时,DC 1 会向 DC 2 发起一个 ...

  4. cs linux内网渗透,记一次利用cs进行内网渗透的过程

    记一次利用cs进行内网渗透的过程 ​首先搭建好cs的服务端和客户端连接,下面正式进行渗透 环境 kali:192.168.0.226 域控机:192.168.0.138 成员机:192.168.0.2 ...

  5. 内网ssl证书颁发_使用SSL和开放源证书颁发机构消除垃圾邮件

    内网ssl证书颁发 MailCleaner是功能丰富的开源反垃圾邮件解决方案. 它的可分发虚拟设备(VM)开箱即用,带有针对Web界面和MTA服务的自签名证书. 这要求您提供自己的有效的,公共信任的证 ...

  6. 内网终端计算机违规外联检测,一种违规外联内网终端监管方法专利_专利申请于2018-06-20_专利查询 - 天眼查...

    1. 一种违规外联内网终端监管方法,其特征在于,包括以下步骤: 步骤S1.为监管终端配置私有IP地址,所述私有IP地址的校验位与内网IP地址的校验 位不同: 步骤S2.扫描在线的内网终端,并获取所述内 ...

  7. 内网渗透(二十四)之Windows协议认证和密码抓取-Mimikatz读取sam和lsass获取密码

    系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内 ...

  8. 【内网穿透】使用神卓互联和Nginx搭建局域网应用反向代理

    使用神卓互联的内网穿透服务,可以将内部应用映射到外网上,方便外部用户访问.而Nginx则是一款高性能的反向代理服务器,可以将外部请求代理到内部的应用服务上,使得内部应用可以通过外部访问.本文将介绍如何 ...

  9. 利用VmWare_在本地内网IP地址段_搭建Centos7测试MyCat集群_亲测---Linux工作笔记044

    最近在搭建Mycat集群,碰到了机器不够用的情况: 如果你跟我一样,没有这么多的机器,来搭建集群,你可以像我这样,假如你一共有3台机器,你可以一台机器,装上Centos系统,上面安装上MyCat. 另 ...

最新文章

  1. Spring MVC-表单(Form)标签-单选按钮集合(RadioButtons)示例(转载实践)
  2. Hook技术之4 在自己的进程中注入一个Dll到别人的进程
  3. ElGamal加密、签名算法笔记
  4. 删除文件夹右键下的部分目录
  5. Python实现顺序表
  6. WebService系列之使用Axis获取天气预报数据
  7. 数据结构选择题(c语言)
  8. 敏捷个人A1组第二次讨论纪要 你在事业上打算何去何从?
  9. Tornado之异步authenticated
  10. Allied Vision相机
  11. MySQL DELETE语句和TRUNCATE TABLE语句的区别
  12. 白帽子讲web安全(精写含思维导图)
  13. 基于ASP.NET的网络购物系统设计与实现
  14. 编码应该运筹帷幄之中,决胜千里之外
  15. iOS对sqlite3进行封装
  16. 《一封来自日本的信——2018年日本社会和生活水平现状》 摘要
  17. 基于字典的中文分词算法RMM,MM实现
  18. c语言switch不可以用枚举,化解一个误区,其实switch和enum是能够很方便配合使用的...
  19. 曾被疑为有血缘关系的明星
  20. 搜索引擎shodan

热门文章

  1. 极简椭圆曲线密码学入门
  2. 华硕AC86U路由器最佳设置(解决5G信号断流和米家设备掉线的问题)
  3. 移动端:js判断苹果ios各类机型
  4. 高数笔记基础篇(更完)
  5. c语言实现乘法口诀表的打印函数
  6. 网易云web安全工程师第一天
  7. android 音乐文件删除,如何从华为手机恢复已删除的音频或音乐文件
  8. 嵌入式驱动工程师学习路线【建议收藏】
  9. 让人眼花缭乱的视错觉,太酷炫了!
  10. 地球形状与重力场模型