文章目录
一. 初识交换机
1.1. 交换机的概述
二层交换设备工作在OSI模型的第二层,即数据链路层,它对数据包的转发是建立在Mac(媒体访问控制)地址基础之上的。
二层交换设备不同的接口发送和接收数据独立,各接口属于不同的冲突域,因此有效地隔离了网络中物理层冲突域,使得通过它互联的主机(或网络)之间不必再担心流量大对数据发送冲突的影响。
在网络中传输数据时需要遵循一些标准,以太网协议定义了数据帧在以太网中的传输标准。
- 了解以太网协议是充分理解数据链路层通信的基础;
- 以太网交换机是实现数据链路层通信的主要设备;
- 了解以太网交换机的工作原理也是十分必要的;
1.2. Ethernet_ll格式
格式名称 | 说明 |
---|---|
DMAC | 目的Mac地址,6B,该字段标识帧的接收者 |
SMAC | 源 Mac地址,6B,该字段标识帧的发送者 |
Type | 协议类型 |
Data | 数据字段,46~1500B。标识帧的负载 |
FCS | 帧校验序列,4B,是一种为接收者提供判断是否传输错误的方法,如果发现错误则丢弃此帧 |
1.3. MAC分类
名称 | 说明 |
---|---|
单播MAC地址 | 第8位为0,用于标识链路上的一个单一节点 |
组播MAC地址 | 第8位,为1,用来代表局域网上的一组终端 |
广播MAC地址 | 全1,用来表示局域网上的所有终端设备 |
1.4. 冲突域
冲突域是指连接在同一共享介质上的所有节点的集合
1.5. 广播域
广播域是指一个节点发送一个广播报文,其余节点都能够收到的节点的集合
1.6. 交换机的原理
- 基于源Mac地址学习
- 基于目的Mac地址转发
- 收到的是一个广播帧或者未知的广播帧,除源端口以外所有端口转发
1.7. 交换机的3种转发行为
行为方式 | 描述 |
---|---|
Flooding(泛洪) | 交换机把某一个接口接收的数据帧从除源端口以外所有的端口转发出去,是一种点到多点的转发行为。(包含3种情况:收到广播数据帧、收到组播数据帧、收到未知单播数据帧) |
Forwarding(转发) | 交换机从某一个接口收到的数据帧从另一个端口转发出去是一种点到点的行为 |
Discarding(丢弃) | 交换机把从某一端口进行的帧直接丢弃 |
二. 初识ARP
2.1. ARP概述
在局域网中,当主机或其他三层网络设备有数据要发送给另一台主机或三层网络设备时,它需要知道对方的网络层地址(即IP地址)
但是仅有IP地址是不够的,因为IP报文必须封装成帧才能通过物理网络发送。
因此发送方还需要知道接收方的物理地址(即MAC地址),这就需要从一个IP地址到Mac地址的映射。
ARP可以实现将IP地址解析为Mac地址。
主机或三层网络设备上会维护一张ARP表,用于存储IP地址和Mac地址的关系。一般ARP表项包括动态ARP表项和静态ARP表项
2.2. ARP报文格式
报文名称 | 描述 |
---|---|
Hardware Type | 硬件地址类型,一般为以太网 |
Protocal Type | 三层协议地址类型,一般为IP |
Hardware Length & Protocol Length | Mac地址和IP地址的长度,单位为字节 |
Operation Code | 指定ARP报文的类型,包括ARP Request和ARP Reply |
Source Hardware | 接收者的Mac地址,在ARP报文中,该字段值为0 |
Destination Protocol Address | 接收者的IP地址 |
2.3. ARP的分类
种类 | 描述 |
---|---|
动态ARP | 表项有ARP协议,通过ARP报文自动生成和维护,可以被老化,可以被新的ARP报文更新,可以被静态ARP表项覆盖。动态ARP适用于拓扑结构复杂、通信实时性要求高的网络 |
静态态ARP | 是由网络管理员手工建立的IP地址和Mac地址之间固定的映射关系。静态ARP表象不会被老化,不会被动态ARP表象覆盖 |
免费ARP | 设备主动使用自己的IP地址作为目的IP地址发送ARP请求,此种方式称为免费ARP |
2.4. 免费ARP的作用
用途 | 描述 |
---|---|
IP地址冲突检测 | 当设备接口协议状态变为up时,设备主动对外发送免费的ARP报文,正常情况下不会受到ARP应答,如果收到,则表明本网络中存在与自身IP地址重复的地址。如果检测到IP冲突,设备会周期性的广播发送免费ARP应答报文,直到冲突解除。 |
通告新的Mac地址 | 如:发送方更换了网卡,Mac地址发生了改变。为了能够在动态ARP表象老化前通告网络中其他设备,发送方可以发送一个免费ARP |
代理ARP | 如果ARP请求是从一个网络的主机发送同一个网站,但不同于物理网络上的另一台主机,那么连接这两个网络的设备就可以回答该网ARP请求,这个过程称为代理ARP |
三. 实验专题
3.1. 实验1:交换机的基本原理与配置
3.1.1. 实验目的
掌握交换机的基本原理
3.1.2. 实验拓扑图
3.1.3. 实验步骤
(1)配置IP地址
1)PC1的配置
在【IPV4配置】栏中选中【静态】单选按钮,输入对应的【IP地址】【子网掩码】和【网关】,然后点击应用按钮。PC2、PC3、PC4的配置步骤如图所示:
2)PC2的配置
3)PC3的配置
4)PC4的配置
(2)实验调试
① 查看交换机信息
#查看交换机的Mac地址表
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname LSW1
[LSW1]display mac-address #查看mac地址表
如图所示:
可以看到,交换机的Mac地址表为空,表示交换机设备没有开始转发数据时Mac地址默认是为空的
② 访问测试
#在PC1上访问PC4
PC>ping 192.168.1.4
如图所示:
③ 查看交换机信息
#查看交换机MAC地址表,命令如下:
[LSW1]display mac-address
如图所示:
以上输出结果显示了交换器的Mac的地址表
思考: PC访问PC4的数据转化过程是怎样的?
- PC1封装时没有PC4的Mac地址,要通过ARP知道PC4的Mac地址;
- PC1封装数据,把它从E0/0/1接口转发给交换机;
- 交换机收到数据后,查看数据帧,首先学习PC1的Mac地址,然后泛洪数据帧;
- PC2、PC3收到数据包以后不做处理,PC4是收到数据包后要回应PC1从G1/0/0/1接口转发出去,最后PC1收到数据包
3.2. 实验2:动态ARP的原理与配置
3.2.1. 实验目的
- 掌握ARP表项内容
- 掌握ARP动态获取MAC地址的过程
3.2.2. 实验目的
3.2.3. 实验目的
(1)配置PC机的IP地址
1)配置PC1的地址
在【IPV4配置】栏中选中【静态】单选按钮,输入对应的【IP地址】【子网掩码】和【网关】,然后点击应用按钮。PC1的配置步骤如图所示:
2)配置PC2的地址
如图所示:
(2)查看PC机的ARP缓存表
① 查看缓存表
#查看PC1的ARP缓存表,在PC1的命令行界面输入“arp -a”
PC>arp -a
#查看PC2的ARP缓存表,在PC1的命令行界面输入“arp -a”
PC>arp -a
如图所示:
ARP的参数信息
参数名 | 描述 |
---|---|
Internet Address | 代表IP地址 |
Physical Address | 代表MAC地址 |
Type | 代表ARP表项的形式方式 |
② 测试发送
#PC1访问PC2,并查看PC1的ARP缓存表
PC>ping 10.1.1.2
PC>arp -a
如图所示:
以上图可以看出PC1学习到了10.1.1.2,这个ip地址对应的mac地址为54-89-98-81-23-EE 。
③ 抓包结果
对刚刚圈出两个抓包数据,双击点击进去查看,如图所示:
技术要点:
PC1访问PC2时动态学习MAC地址的工作过程是怎样的?
- PC1访问PC2访问前,首先查看自己的ARP缓存表,若表项为空,则就无法封装数据帧的目的MAC地址字段;
- PC1以广播报文的形式发送ARP request报文请求PC2的MAC地址,ARP请求包中会还会携带PC1的ip地址以及MAC地址;
- PC2收到PC1发送
ARP request
报文后,会先把PC1的ip地址以及mac地址对应关系添加到自己的ARP缓存表中; - 交换机收到了单播报文后,将此报文转发给PC1;
- PC1收到报文后,将得知PC2的mac地址以及ip地址的对应关系并假如自己的缓存表中
3.3. 实验3:静态ARP的原理与配置
3.3.1. 实验目的
- 掌握静态ARP的配置方法
- 理解静态ARP的工作原理
3.3.2. 实验拓扑图
3.3.3. 实验步骤
(1)配置PC机的ip地址
1)PC1机的ip配置
2)PC2机的ip配置
(2)界面静态ARP绑定配置
1)PC1机静态ARP绑定配置
PC>arp -s 10.1.1.2 54-89-98-2E-6C-F1 #配置静态ARP绑定
PC>arp -a .
PC>arp -a
如图所示:
2)PC2机静态ARP绑定配置
PC>arp -s 10.1.1.1 54-89-98-F1-65-7C
PC>arp -a
如图所示:
3.4. 实验4:代理ARP的原理与配置
3.4.1. 实验目的
- 掌握代理ARP的配置方法
- 理解代理ARP的工作原理
3.4.2. 实验拓扑图
3.4.3. 实验步骤
(1)配置PC机的IP地址
1)PC1机的ip地址配置
2)PC2机的ip地址配置
(2)配置路由器的IP地址
<AR1>system-view
[AR1]undo info-center enable
[AR1]sysname AR1
[AR1]interface g0/0/0
[AR1-GigabitEthernet0/0/0]ip address 10.1.1.1 24
[AR1-GigabitEthernet0/0/0]interface g0/0/1
[AR1-GigabitEthernet0/0/1]ip address 10.1.2.1 24
[AR1-GigabitEthernet0/0/1]
如图所示:
(3)代理ARP测试(无配置代理ARP)
#这是没有配置代理ARP测试的结果
PC>ping 10.1.2.2
如图所示:
以上说明,没有配置代理ARP前,PC1是无法访问PC2的尽管IP分别是10.1.1.2/16、10.1.2.2/16
,且属于10.1.0.0/16
网段,但是对于相同网段设备互访会使用二层通信。
此时PC会发送ARP请求报文(广播包),请求PC2的Mac地址,而路由设备会隔离广播,不会将这个ARP报文转发给PC2。
因此PC1学习不到PC2的Mac地址,无法封装数据帧,导致无法互访。
(4)配置代理ARP
[AR1-GigabitEthernet0/0/0]quit
[AR1]interface g0/0/0
[AR1-GigabitEthernet0/0/0]arp-proxy enable #在g0/0/0接口开启代理ARP功能
[AR1-GigabitEthernet0/0/0]interface g0/0/1
[AR1-GigabitEthernet0/0/1]arp-proxy enable #在g0/0/1接口开启代理ARP功能
如图所示:
(5)代理ARP测试(配置代理ARP)
#PC1访问PC2
PC>ping 10.1.2.2
PC>arp -a
如图所示:
通过以上输出可以看到,PC1可以访问PC2,并且学习到了PCR的IP地址和Mac地址的对应关系。
接下来,了解一下代理ARP的工作过程
- PC1访问10.1.2.2,由于与本身配置的IP地址10.1.1.2属于相同网段,因此PC1会发送ARP请求报文到PC2的Mac地址;
- 由于路由器会隔离广播包,因此在没有配置代理ARP前,两台设备是无法互访的;
- 在路由器上配置了代理ARP后,路由器收到ARP请求报文后,路由器会查找路由表,由于PC2与路由直连,因此路由器存在PC2的直连路由表象,因此路由器使用自己的Mac的地址给PC1发送ARP应答报文;
- PC1收到了路由器的ARP应答报文,将路由器的。
G0/0/0/0
接口的Mac地址与PC2的IP地址进行ARP映射,下次使用路由器的Mac地址进行数据转发,此时路由器相当于PC2的代理
(6)查看路由表接口信息
[AR1]display interface g0/0/0
如图所示:
可以发现路由器的G0/0/0
接口的Mac地址为5489-9847-309b
与以PC1上学习到的10.1.2.2
的Mac地址一致验证了上面的说法。
可以将这种代理ARP
堪作一种欺骗,ARP路由器欺骗了PC1
,它传递的PC1
的信息是PC2
的Mac地址为路由器接口的Mac地址。
只不过这种欺骗是一种善意欺骗,可以让IP地址属于同一网站却不属于同一物理网络的主机间相互通信。
四. 交换机的基本原理命令汇总
命令 | 作用 |
---|---|
display mac-address | 查看交换机Mac的地址表 |
mac-address aging-time | 修改Mac地址表的老化时间 |
arp -a | 查看PC机的ARP缓存表 |
arp -s | 在PC机上绑定IP地址和Mac地址 |
arp proxy enable | 在路由器上开启ARP代理功能 |