以太网交换基础

以太网协议

以太网是当今现有局域网(Local Area Network, LAN)采用的最通用的通信协议标准,定义了局域网中采用的电缆类型和信号处理方法。 以太网是建立在CSMA/CD (Carrier Sense Multiple Access/Collision Detection,载波监听多路访问/冲突检测)机制上的广播型网络。

冲突域

冲突域是指连接在同一共享介质上的所有节点的集合。 在这里插入图片描述

广播域

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

以太网卡

网络接口卡 (Network Interface Card, NIC)也称为“网卡” 。 • 网络接口 ▫ 简称“网口”或“接口”或“端口”。 • 网卡 ▫ 每个网口都有一块网卡与之对应。 ▫ 计算机或交换机通过网卡来转发数据。 在这里插入图片描述

以太网帧格式

• 以太网技术所使用的帧称为以太网帧 (Ethernet Frame),或简称以太帧。 • 以太帧的格式有两个标准:Ethernet_II格式和IEEE 802.3格式。 在这里插入图片描述

MAC地址

• MAC (Media Access Control)地址在网络中唯一标识一个网卡。 • 一块网卡的MAC地址是具有全球唯一性的。

IP地址 vs MAC地址

IP地址的特点: ▫ IP地址是唯一的 ▫ IP地址可变 ▫ 基于网络拓扑进行IP地址分配 MAC地址的特点: ▫ MAC地址是唯一的 ▫ MAC地址不可变 ▫ 基于制造商进行MAC地址分配

MAC地址表示

• 一个MAC地址有48 bit,6 Byte。 在这里插入图片描述

MAC地址构成及分类

• OUI (Organizationally Unique Identifier):厂商代码,由IEEE分配,3Byte,24 bit。 • 制造商分配:3 Byte,24 bit 在这里插入图片描述 MAC地址分类: 单播MAC地址 举例00-1E-10-DD-DD-02 组播MAC地址 举例01-80-C2-00-00-01 广播MAC地址 举例FF-FF-FF-FF-FF-FF 在这里插入图片描述 单播以太帧 • 简称:单播帧 • 目的MAC地址为单播MAC地址的帧 在这里插入图片描述 广播以太帧 • 简称:广播帧 • 目的MAC地址为广播MAC地址的帧 在这里插入图片描述 组播以太帧 • 简称:组播帧 • 目的MAC地址为组播MAC地址的帧 在这里插入图片描述

园区网典型架构

在这里插入图片描述

以太网二层交换机

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

交换机的工作原理

在这里插入图片描述 在收到数据帧后,交换机学习帧的源MAC地址,然后在MAC地址表中查询该帧的目的MAC地址(本例中MAC2:0050-5600-0002),并将帧从对应的端口转发出去。

MAC地址表

每台交换机中都有一个MAC地址表,存放了MAC地址与交换机端口编号之间的映射关系。 在这里插入图片描述

交换机的MAC地址学习

在这里插入图片描述

初始情况,交换机的MAC地址表是空的。 在这里插入图片描述 • 主机1发送数据帧给主机2。 • 交换机GE0/0/1口接收到数据帧后,在MAC地址表中查询该帧的目的MAC地址,发现没有对应表项,则收到的数据帧是“未知单播帧” 。 • 交换机在MAC地址表中没有查到对应表项,则交换机对该单播帧执行泛洪操作。 • 同时,交换机学习该数据帧的源MAC地址,并创建对应的MAC地址表项,与接收口GE0/0/1关联。 在这里插入图片描述 • 交换机其他端口连接的主机,也会收到该数据帧,但是会丢弃。 • 主机2收到并处理该数据帧,向主机1回复,将数据帧发往交换机。 在这里插入图片描述 • 交换机在MAC地址表中查到了对应表项,则交换机对该单播帧执行转发操作,将数据帧从GE0/0/1口转发出去。 • 同时,交换机学习该数据帧的源MAC地址,并创建对应的MAC地址表项,与接收口GE0/0/2关联。 在这里插入图片描述

交换机的3种数据帧处理行为

交换机对于从传输介质进入某一端口的帧的处理行为一共有3种: 泛洪 在这里插入图片描述 1.主机1发出的数据帧 源MAC:MAC1 目的MAC:MAC2 或者 源MAC:MAC1 目的MAC:FF-FF-FF-FF-FF-FF 2.交换机查MAC地址表 在这里插入图片描述 3.交换机处理数据帧行为 • 未知单播帧: 1.查询MAC地址表 2.泛洪 • 如果接收的是广播帧: 1.泛洪 源MAC:MAC1 目的MAC:MAC2 源MAC:MAC1 目的MAC:FF-FF-FF-FF-FF-FF

转发 在这里插入图片描述 1.主机1发出的数据帧 源MAC:MAC1 目的MAC:MAC2 2.交换机查MAC地址表 在这里插入图片描述 3.交换机处理数据帧行为 • 如果接收的是单播帧: 1.查询MAC地址表 2.转发

丢弃 在这里插入图片描述 1.主机1发出的数据帧 源MAC:MAC1 目的MAC:MAC2 2.交换机2查MAC地址表 在这里插入图片描述 3.交换机处理数据帧行为 • 如果接收的是单播帧: 1.查询MAC地址表 2.丢弃

通信全过程

• 场景描述: ▫ 任务:主机1想要访问主机2 ▫ 主机:初始化状态,仅知道本机IP地址和MAC地址(假设已获取对端IP地址) ▫ 交换机:刚上电,初始化状态 在这里插入图片描述 初始状态 主机1的ARP缓存表

Host 1>arp -a
Internet Address Physical Address Type

交换机的MAC地址表

[Switch]display mac-address verbose
MAC address table of slot 0:
---------------------------------------------------
MAC Address Port Type
---------------------------------------------------
----------------------------------------------------

泛洪数据帧 主机1发出的ARP Request 交换机的MAC地址表 源MAC:MAC 1 目的MAC:FF-FF-FF-FF-FF-FF 源IP:IP 1 目的IP:IP 2 操作类型:ARP Request 发送端MAC: MAC 1 发送端IP:IP 1 目的端MAC:00-00-00-00-00-00 目的端IP:IP 2 交换机的MAC地址表

[Switch]display mac-address verbose
MAC address table of slot 0:
---------------------------------------------------
MAC Address Port Type
---------------------------------------------------
----------------------------------------------------

学习MAC地址 主机1发出的ARP Request 源MAC:MAC 1 目的MAC:FF-FF-FF-FF-FF-FF 源IP:IP 1 目的IP:IP 2 操作类型:ARP Request 发送端MAC: MAC 1 发送端IP:IP 1 目的端MAC:00-00-00-00-00-00 目的端IP:IP 2 交换机的MAC地址表

[Switch]display mac-address verbose
MAC address table of slot 0:
---------------------------------------------------
MAC Address Port Type
---------------------------------------------------
0050-5600-0001 GE0/0/1 dynamic 
----------------------------------------------------

目标主机回复 交换机的MAC地址表

[Switch]display mac-address verbose
MAC address table of slot 0:
---------------------------------------------------
MAC Address Port Type
---------------------------------------------------
0050-5600-0001 GE0/0/1 dynamic 
0050-5600-0002 GE0/0/2 dynamic
----------------------------------------------------

主机2发出的ARP Reply 源MAC:MAC 2 目的MAC:MAC 1 源IP:IP 2 目的IP:IP 1 操作类型:ARP Reply 发送端MAC: MAC 2 发送端IP:IP 2 目的端MAC:MAC 1 目的端IP:IP 1