以太网交换基础

以太网交换基础

以太网协议

以太网是当今现有局域网采用的最通用的通信协议标准,定义了局域网中采用的电缆类型和信号处理方法

以太网是建立在CSMA/CD(载波监听多路访问/冲突检测)机制上的广播型网络

在这里插入图片描述

早期以太网是共享式以太网,所有人共享网络带宽,所有pc都在同一个冲突域内,在同一个时刻只能有一个pc发送数据,如果有两个及以上的pc同时发送数据的话,数据会发生重叠

为了避免信号重叠的过程会有一个CSMA/CD的机制,首先主机A想传递数据时会有载波监听来判断这条链路上是否有数据在传输,如果没有就不会有信号重叠,如果有就会有另一个冲突检测,一旦发生冲突,数据传输将会暂停,有一个随机等待恢复的时间

在这里插入图片描述

现在的组网技术会在以太网中使用交换机来进行组网叫做交换式以太网,而交换机是可以隔离冲突域的,终端想要同时发送数据是没有问题的,在交换式以太网中有一个没有解决的问题是无法隔离广播域

广播域:如果一个pc想外发出一个广播数据帧,在网络内能收到的pc组成的就是广播域,而广播域是没有办法解决问题,而隔离广播域的技术是VLAN技术
  • 早期的以太网:
    • 以太网是建立在CSMA/CD机制上的广播型网络。冲突的产生是限制以太网性能的重要因素,早期的以太网设备如集线器HUB是物理层设备,不能隔绝冲突扩散,限制了网络性能的提高。
  • 交换机组网:
    • 交换机做为一种能隔绝冲突的二层网络设备,极大提高了以太网性能,并替代HUB称为主流的以太网设备。但是交换机对网络中的广播数据流量不做任何限制,这也影响了网络的性能。
冲突域

冲突域是指连接在统一共享介质上的所有节点的集合,冲突域内所有节点竞争同一个带宽,一个节点发出的报文(无论是单播、组播、广播),其余节点都可以收到
在这里插入图片描述

  • 在传统的以太网中,同一介质上的多个节点共享链路宽带,争用链路的使用权,这样就会发生冲突
  • 同一介质上的节点越多,冲突发生的概率越大

在这里插入图片描述

  • 交换机不同接口发送和接收数据独立,各接口属于不同的冲突域,因此有效隔离了网络中物理层冲突域,使得它通过互联的主机(或网络)之间不必担心流量大小对于数据发生冲突的影响
  • 在共享网络,以太网使用CSMA/CD技术,避免冲突问题。CSMA/CD的基本工作过程
    • 终端设备不停的检测共享线路的状态
      • 如果线路空闲则发送数据
      • 如果线路不空闲则一直等待
    • 如果有另外一个设备同时发送数据,两个设备发送的数据必然产生冲突,导致线路上的信号不稳定
    • 终端设备检测到这种不稳定之后,马上停止发送自己的数据
    • 终端设备发送一连串干扰脉冲,然后等待一段时间之后再进行发送数据。发送干扰脉冲的目的是为了通知其他设备,特别是自己跟在同一个时刻发送数据的设备,线路上已经产生了冲突
  • CSMA/CD的工作原理可简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发
广播域

广播报文所能到达的整个访问范围称为二层广播域,简称广播域,同一广播域内都能收到广播报文
在这里插入图片描述
在这里插入图片描述

以太网卡

网络接口卡也成为网卡,是计算机、交换机、路由器等网络设备与外部网络世界相连的关键部件

在这里插入图片描述

以太网帧

以太网帧格式
  • 以太网技术所使用的帧称为以太网帧(Ethernet Frame)简称以太网帧
  • 以太网的格式有两个标准:Ethernet_II格式和IEEE 802.3格式

在这里插入图片描述

网络层发送用户数据的信息下来到数据链路层,在数据链路层会添加有关数据链路层的相关信息,相关信息包括目的mac地址,源mac地址和相对应的一个类型字段,类型字段里包括网络层所使用的协议,对于IEEE802.3的格式有不同的是有一个长度字段,长度字段定义了用户数据字段所包含的字节数,最后面是FCS也就是帧校验,作用是收到数据报文之后来判断数据中间过程中有没有被篡改过,IEEE802.3包含LLC逻辑链路头和SNAP
  • 在以太网中,数据通信的基本单位是以太网帧 ( Frame )。以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式,因此协议规定以太网帧的数据格式如图所示。

  • Ethernet Ⅱ以太帧:

    • DMAC:6字节,目的MAC地址,6字节,该字段标识帧的接收者。
    • SMAC:6字节,源MAC地址,6字节,该字段标识帧的发送者。
    • Type:2字节,协议类型。常见值:
      • 0x0800:Internet Protocol Version 4 (IPv4) ;
      • 0x0806:Address Resolution Protocol (ARP) 。
  • IEEE 802.3 LLC以太帧:

    • 逻辑链路控制LLC(Logical Link Control)由目的服务访问点DSAP(DestinationService Access Point)、源服务访问点SSAP(Source Service Access Point)和Control字段组成。
      • DSAP:1字节,目的服务访问点,若后面类型为IP值设为0x06。服务访问点的功能类似于Ethernet II帧中的Type字段或TCP/UDP传输协议中的端口号。
      • SSAP:1字节,源服务访问点,若后面类型为IP值设为0x06。
      • Ctrl:1字节,该字段值通常设为0x03,表示无连接服务的IEEE 802.2无编号数据格式。
    • SNAP(Sub-network Access Protocol)由机构代码(Org Code)和类型(Type)字段组成。
      • Org Code三个字节都为0。
      • Type字段的含义与Ethernet_II帧中的Type字段相同。
  • 数据帧的总长度为64-1518字节,这样设计的原因是什么?(另外,以太网口的最大传输单元是1500字节,即MTU=1500B。)

    • 以太网中,最小帧长为64字节,这是由最大传输距离和CSMA/CD机制共同决定的。
      • 规定最小帧长是为了避免这种情况发生:A站点已经将一个数据包的最后一个Bit发送完毕,但这个报文的第一个Bit还没有传送到距离很远的B站点。B站点认为线路空闲继续发送数据,导致冲突。
      • 高层协议必须保证Data域至少包含46字节,这样加上以太网帧头的14字节和帧尾的4字节校验码正好满足64字节的最小帧长,如果实际数据不足46个字节,则高层协议必须填充一些数据单元。
    • 而出于对传输效率和传输可靠性的折中考虑,使得以太网帧的最大长度为1518字节,对应IP数据包就是1500字节。
      • 较大的帧长度,数据的有效传输效率会更高;但是数据帧过长,传输时会占用共享链路过多的时间,对时延敏感应用造成极大的影响。
      • 因此最终选择了一个折中的长度:1518字节的数据帧长,对应1500字节的IP数据包长度,这就是最大传输单元MTU的由来。
什么是MAC地址
  • MAC地址在网络中唯一标识一个网卡
  • 一块网卡的MAC地址是具有全球唯一性的

在这里插入图片描述

MAC地址是在IEEE 802标准中定义并规范的,凡是符合IEEE 802标准的以太网卡,都必须拥有一个MAC地址,用MAC地址来定义网络设备的位置。不同的网卡,MAC地址也不同。
IP地址 vs MAC地址

在这里插入图片描述

IP地址的特点

  • IP地址是唯一的在某一块范围内
  • IP地址是可变的
  • 基于网络拓扑进行IP地址分配

MAC地址的特点

  • MAC地址是唯一的
  • MAC地址是不可变的
  • 基于执照厂商进行MAC地址分配
每个以太网设备在出厂时都有一个唯一的MAC地址,那为什么还需要为每台主机再分配一个IP地址呢?或者说每台主机都分配唯一的IP地址了,为什么还要在网络设备 (如:网卡)生产时内嵌一个唯一的MAC地址呢?
主要原因有:
	1.IP地址是根据网络的拓朴结构分配的,MAC地址是根据制造商分配的,若路由选择建立在设备制造商的基础上,这种方案是不可行的。
	2.当存在两层地址寻址时,设备更灵活,易于移动和维修。
		例如,如果一个以太网卡坏了,可以被更换,而无须更换一个新的IP地址;如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。
总结:
	1.IP地址的作用是唯一标识网络中的一个节点,可以通过IP地址进行不同网段的数据访
问。
	2.MAC地址的作用是唯一标识一个网卡,可以通过MAC地址进行同网段的数据访问。
MAC地址表示
  • 一个MAC地址有48bit,6Btye

在现实生活中不会记住一串48位由0101组成的数字,所以基于人们的看懂与记忆会将MAC地址的6Byte转换成十六进制

在这里插入图片描述

MAC地址构成及分类
  • OUI:厂商代码,由IEEE分配,3Byte,24bit
  • 制造商分配3Byte,24bit

在这里插入图片描述
在这里插入图片描述

  • 一个制造商在生产制造网卡之前,必须先向IEEE注册,以获取一个长度为24bit (3字节)的厂商代码,也称为OUI。
  • 后24bit由厂商自行分派,是各个厂商制造的所有网卡的唯一编号。
  • MAC地址可以分为3种类型:
    • 单播MAC地址:也称物理MAC地址,这种类型的MAC地址唯一的标识了以太网上的一个终端,该地址为全球唯一的硬件地址。
      • 单播MAC地址用于标识链路上的一个单一节点。
      • 目的MAC地址为单播MAC地址的帧发往一个单一的节点。
      • 单播MAC地址可以作为源或目的地址。
      • 注意:单播MAC地址具有全球唯一性,当一个二层网络中接入了两台具有相同MAC地址的终端时(例如误操作等),将会引发通信故障(例如这两台终端无法相互通信),且其他设备与它们之间的通信也会存在问题。
    • 广播MAC地址:全1的MAC地址(FF-FF-FF-FF-FF-FF),用来表示局域网上的所有终端设备。
      • 广播MAC地址可以理解为一种特殊的组播MAC地址。
      • 其具体格式为:FFFF-FFFF-FFFF。
      • 目的MAC地址为广播MAC地址的帧发往链路上的所有节点。
    • 组播MAC地址:除广播地址外,第7bit为1的MAC地址为组播MAC地址(例如01-00-00-00-00-00),用来代表局域网上的一组终端。
      • 组播MAC地址用于标识链路上的一组节点。
      • 目的MAC地址为组播MAC地址的帧发往一组节点。
      • 组播MAC地址不能作为源地址,只能作为目的地址
单播以太网帧
  • 简称:单播帧
  • 目的MAC地址为单播地址的帧

在这里插入图片描述

当目的的MAC地址的第八位为0就是单播地址,单播意味着一对一通信,当单播的数据传输给主机B,也就是说在链路上主机C和主机D是收不到数据帧的信息的
  • 局域网上的帧可以通过三种方式发送。
  • 第一种是单播,指从单一的源端发送到单一的目的端。
    • 每个主机接口由一个MAC地址唯一标识,MAC地址的OUI中,第一字节第8个比特表示地址类型。对于主机MAC地址,这个比特固定为0,表示目的MAC地址为此MAC地址的帧都是发送到某个唯一的目的端。
广播以太网帧
  • 简称:广播帧
  • 目的MAC地址为广播MAC地址的帧

在这里插入图片描述

从目的MAC地址来判断,如果目的MAC地址全是F的广播帧,这种封装的帧叫做广播以太网帧,这样的话主机A在网络中发送的数据在网络上的主机都能接收到数据帧
  • 第二种发送方式是广播,表示帧从单一的源发送到共享以太网上的所有主机。
    • 广播帧的目的MAC地址为十六进制的FF-FF-FF-FF-FF-FF,所有收到该广播帧的主机都要接收并处理这个帧。
    • 广播方式会产生大量流量,导致带宽利用率降低,进而影响整个网络的性能。
    • 当需要网络中的所有主机都能接收到相同的信息并进行处理的情况下,通常会使用广播方式。
组播以太网帧
  • 简称:组播帧
  • 目的MAC地址为组播MAC地址的帧

在这里插入图片描述

当前目的MAC地址的第八位是1,证明这是一个组播的以太网帧,那么主机A在网络中发送的数据帧能被多人收到,不是指全部人,如果是全部人将会用广播数据帧
  • 第三种发送方式为组播,组播比广播更加高效。
    • 组播转发可以理解为选择性的广播,主机侦听特定组播地址,接收并处理目的MAC地址为该组播MAC地址的帧。
    • 组播MAC地址和单播MAC地址是通过第一字节中的第8个比特区分的。组播MAC地址的第8个比特为1。
    • 当需要网络上的一组主机(而不是全部主机)接收相同信息,并且其他主机不受影响的情况下通常会使用组播方式。

以太网交换机

交换机MAC地址学习
园区网的典型架构

在这里插入图片描述

一个典型的园区数据网络由路由器、交换机、防火墙等设备构成,通常会采用多层架构
包括:
    接入层
    汇聚层
    核心层
    出口层
以太网二层交换机

以太网二层交换机转发数据的端口都是以太网口,并且只能够针对数据的二层头部(以太网数据帧头)中的MAC地址进行寻址并转发数据

在这里插入图片描述

  • 以太网二层交换机

    • 在园区网络中,交换机一般来说是距离终端用户最近的设备,用于终端接入园区网接入层的交换机一般为二层交换机
    • 二层交换设备工作在TCP/IP对等模型的第二层,即数据链路层,她对数据包的转发是建立在MAC地址基础之上的
  • 以太网三层交换机

    • 不同局域网之间的网络互通需要由路由器来完成。随着数据通信网络的范围不断扩大,网络业务的不断丰富,网络间互访的需求越来越大,而路由器由于自身成本搞、转发性能低、接口数量少等特点无法很好的满足网络发展的需求。因此出现了三层交换机这样一种能实现高速三层转发的设备
交换机的工作原理

在这里插入图片描述

  • 二层交换机在数据链路层,它对数据帧的转发是建立在MAC地址基础之上的。交换机不同的接口发送和接收数据是独立的,各接口属于不同的冲突域,因此有效的隔离了网络中的冲突域。
  • 二层交换设备通过学习以太网数据帧的源MAC地址来维护MAC地址和接口的对应关系(保存MAC与接口对应关系的表称为MAC地址表),通过其目的MAC地址来查找MAC地址表决定向哪个接口转发
MAC地址表

每台交换机中都有一个MAC地址表,存放了MAC地址与交换机端口编号之间的映射关系

在这里插入图片描述

MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系。交换机在转发数据帧时,根据数据帧的目的MAC地址查询MAC地址表。如果MAC地址表中包含与该帧目的MAC地址相对应的表项,则直接通过该表项中的出接口转发该报文;如果MAC地址表中没有包含该帧目的MAC地址对应的表项时,交换机将采取泛洪方式在除接收接口外所有接口发送该报文
交换机的MAC地址学习

在这里插入图片描述

初始状态下,交换机并不知道所连接主机的MAC地址,所以MAC地址表为空

在这里插入图片描述

主机1想要发送数据给主机2(假设已知对端的IP地址和MAC地址)会封装数据帧,包含自己的源IP地址和MAC地址

交换机收到后会查自己的MAC地址表,发现没有对应表项,则收到的数据帧是未知单播帧

在这里插入图片描述

由于收到的数据帧是未知单播帧,因此交换机会泛洪该数据帧

同时交换机将收到的数据帧的源MAC地址和对应端口编号记录到MAC地址表中

在这里插入图片描述

广播网络中所有主机均会收到该数据帧,但是只有主机2会处理(因为MAC地址是主机2)

主机2会回复数据帧给主机1,也是单播数据帧

在这里插入图片描述

交换机收到该单播数据帧后,会查看自己的MAC地址表,发现有对应表项,则将数据从对应的端口转发出去

交换机将受到数据帧的源MAC地址和对应的端口号编号记录到MAC地址表中
交换机转发过程
交换机3种数据帧处理行为

交换机对于从传输介质进入某一端口的帧处理行为一共有三种

  1. 泛洪
  2. 转发
  3. 丢弃

在这里插入图片描述

  • 交换机会通过传输介质进入其端口的每一个帧都进行转发操作,交换机的作用就是用来转发数据帧
  • 交换机对帧的处理行为一共有三种:
    • 泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去(所有其他的端口是指除了这个帧进入交换机那个端口以外的所有端口)
    • 转发:交换机把从某一端口进来的帧通过另一个端口转发出去(另一个端口不能是这个帧进入交换机的那个端口)
    • 丢弃:交换机把从某一端口进来的帧直接丢弃
泛洪

在这里插入图片描述

  • 如果从传输介质进入交换机的某个端口的帧是一个单播帧,交换机会去MAC表查这个帧的目的MAC地址。如果查不到这个MAC地址,则交换机将对该单播帧执行泛洪操作。

  • 如果从传输介质进入交换机的某个端口的帧是一个广播帧,交换机不会去查MAC地址表,而是直接对该广播帧执行泛洪操作。

  • 如图所示:

    • 场景一:主机1想要访问主机2,发送单播数据帧,交换机收到后,若MAC地址表中查不到对应的表项,则会泛洪该数据帧。
    • 场景二:主机1想要访问主机2,但不知道对应的MAC地址,则会发送ARP请求报文,该报文为广播数据帧,交换机收到后,则会泛洪该数据帧。
  • 如果接收的是单播帧

    • 交换机在MAC地址表中查不到这个帧的目的MAC地址,则对交换机对该单播帧执行泛洪操作
  • 如果接收的是广播帧

    • 交换机不会去查MAC地址表,直接对该广播帧执行泛洪操作
转发

在这里插入图片描述

  • 如果从传输介质进入交换机的某个端口的帧是一个单播帧,则交换机会去MAC表查这个帧的目的MAC地址。如果查到了这个MAC地址表,则比较这个MAC地址在MAC地址表中对应的端口编号是不是这个帧从传输介质进入交换机的那个端口的端口编号。如果不是,则交换机执行转发操作(将该帧送至该帧目的MAC地址在MAC地址表中对应的那个端口,并从那个端口发送出去)。
  • 如图所示:
    • 主机1想要访问主机2,发送单播数据帧,交换机收到后,在MAC地址表中查到了对应的表项,则会点对点转发该数据帧。
丢弃

在这里插入图片描述

  • 如果从传输介质进入交换机的某个端口的帧是一个单播帧,则交换机会去MAC表查这个帧的目的MAC地址。如果查到了这个MAC地址表,则比较这个MAC地址在MAC地址表中对应的端口编号是不是这个帧从传输介质进入交换机的那个端口的端口编号。如果是,则交换
    机将对该帧执行丢弃操作。
  • 如图所示:
    • 主机1想要访问主机2,发送单播数据帧,交换机1收到后,若MAC地址表中查不到对应的表项,则会泛洪该数据帧。
    • 交换机2收到该数据帧后,发现目的MAC地址对应的端口就是接收数据帧的端口,则会丢弃该数据帧。

同网段数据通信全过程

  • 场景描述
    • 任务:主机1想要访问主机2
    • 主机:初始化状态,仅知道本机IP地址和MAC地址(假设已获取对端IP地址)
    • 交换机:刚上电,初始化状态

在这里插入图片描述

数据封装过程

在这里插入图片描述

主机1发送数据报文前,需要先进行报文封装,包括源目的IP地址,源MAC地址等
初始化状态

在这里插入图片描述

主机1为了进行报文封装,会查本地的ARP缓存表。初始化状态下,主机1的ARP缓存是空的。
而刚上电的交换机,初始状态下,交换机的MAC地址表也是空的
泛洪数据帧

在这里插入图片描述

主机1发送ARP请求报文,请求目的MAC地址
交换机收到的数据帧后查MAC地址表,发现没有对应表项,则向所有的非接收端口,泛洪该数据帧
学习MAC地址

在这里插入图片描述

交换机将收到的数据帧的源MAC地址和对应端口记录到MAC地址表中
目标主机回复

在这里插入图片描述

主机2收到ARP请求报文后,会进行相应的处理,并发送ARP响应报文,回复主机1
交换机收到的数据帧后查MAC地址表,发现有对应表项,则向对应端口转发该数据帧,并且交换机将收到的数据帧的源MAC地址和对应端口记录到MAC地址表中
最终,主机1收到主机2的ARP响应报文后,就会将对应的IP地址和MAC地址记录到自己的ARP缓存中,并封装自己的报文,访问主机2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值