华为[ENSP]—— 实验二、三层交换和ARP的工作原理

华为[ENSP]—— 实验二、三层交换和ARP的工作原理,第1张

实验

二、三层交换和ARP的工作原理


目录

实验

二、三层交换和ARP的工作原理


一、背景知识

1.ARP的必要性

2.ARP表项及其作用

3.三层交换的基本流程


二、实验目的


三、实验拓扑结构和要求

 

四、实验配置思路


五、实验配置及实验结果验证

 相关命令解析:

port default vlan

命令功能

命令格式

参数说明

视图

缺省级别

使用指南

说明 

使用实例



一、背景知识

三层交换是指连接在同一台三层交换机上、不同IP网段、不同VLAN中用户通过VLANIF接口进行的数据交换过程。


三层交换仅可在三层以太网交换机上进行,主要是因为三层交换机有专门的三层交换芯片,可直接进行基于硬件的三层数据交换,而路由器没有三层交换芯片,都是通过CPU进行基于软件的IP路由转发。


三层交换机有两种三层交换方式:一种是传统的IP路由方式,另一种是三层交换方式。


三层交换功能依靠三层交换芯片完成,而IP路由三层转发功能主要依靠CPU进行,这就决定了两者在转发性能上的差别。


当然,三层交换机不能完全替代路由器,路由器具备丰富的接口类型、良好的流量服务等级控制、强大的路由器能力等,这些仍是三层交换所欠缺的。


三层交换的核心是三层交换机上专用的交换芯片,但在三层交换过程中要用到ARP。


ARP应用于三层交换机,且路由器也支持,因为它仅用来在以太网中通过IP地址解析对应设备的以太网MAC地址。


ARP与IP一样均位于网络层,但它正在网络层内部的子层次要低于IP,因此ARP数据包无须经过IP封装。


1.ARP的必要性

之所以需要ARP,是因为在以太网的IP数据包转发中,每经过一个IP网段都需要重新进行帧封装,对以太网头部中的源MAC地址和目的MAC地址进行重新封装。


源MAC地址通常为数据包发送接口的MAC地址,目的MAC地址要区分以下两种情形。


1如果目的设备与源设备在同一个IP网段,则目的MAC地址是目的设备的MAC地址。


2如果源设备与目的设备不在同一个IP网段,则目的MAC地址是转发路径中接收数据包的下一跳设备(即网关)接口的MAC地址。


在网络应用中,我们只知道目的设备的IP地址,而不知道其对应的MAC地址。


但IP数据包要通过以太网接口发送就必须经过以太网协议的帧封装,因此要经过ARP来获取目的设备(目的设备与源设备在同一个IP网段时)或IP数据包转发路径中下一跳设备(目的设备与源设备不在同一个网段时)的MAC地址。


ARP只能直接获取与源设备在同一个IP网段的设备的MAC地址,而不能也不需要直接获取与源设备不在同一个IP网段的目的设备的MAC地址。


因为在IP数据包的三层转发中,每一跳都需要重新以发送接口MAC地址作为源MAC地址,以同一个IP网段的接收接口(下一跳设备接口)MAC地址作为目的MAC地址进行帧封装。


2.ARP表项及其作用

在以太网中,主机或三层网络设备会维护一张ARP表,该表用于存储网络中各台设备的IP地址、MAC地址和出接口的对应关系,以便在进行帧封装时可以立即找到对应设备的MAC地址。


ARP表项包括动态ARP表项和静态ARP表项两种。


动态ARP表项是设备对接收的ARP数据包的源IP地址、源MAC地址和接收接口的学习而自动生成的。


静态ARP表项是由管理员手动静态配置的。


动态ARP表项保存在缓存中,当设备重启时将被清除,且有老化周期(华为设备中默认为1200秒),即在该周期中没有进行ARP表项更新(可以是内容完全无变化,也可以是除了IP地址之外的其他参数发生了变化)时被老化,删除原来的ARP表项;静态ARP表项保存在内存中,设备重启时不会被清除,也不会被老化,除非人为删除。


静态ARP表项的优先级高于动态ARP表项,即在同一个IP地址既有关联的动态ARP表项又有静态的ARP表项时,以静态的ARP表项为准,此时与之对应的动态ARP表项将会被覆盖,不会起到作用。


对于以下场景,用户可以配置静态ARP表项。


1对于网络中的重要设备,如各种服务器、网关等,用户可以在交换机上配置静态ARP表项,这样可以避免交换机上重要设备的IP地址对应的ARP地址表被ARP攻击报文错误更新。


2当网络中国用户设备的MAC地址为组播MAC地址时,用户可以在交换机上配置静态ARP表项。


因为在默认情况下,设备收到源MAC地址为组播MAC地址的ARP地址报文时不会进行ARP学习。


3当希望禁止某个IP地址访问设备时,用户可以在交换机上配置静态ARP表项,将该IP地址与一个网络中不存在的MAC地址进行绑定。


3.三层交换的基本流程

三层交换可用来实现不同IP网段设备间的三层通信,但权限于源设备和目的设备所在网段均直连在同一台三层交换机的情况下,否则要通过IP路由来实现。


三层交换的基本流程如下。


1.源设备和目的设备不在同一个IP网段,因此源设备需要先向网关接口(目的IP地址是网关接口IP地址,通常是一个VLANIF接口)以广播方式发送ARP请求报文,以获取网关接口的MAC地址,同时会生成网关接口的MAC地址,同时会生成网关接口的动态ARP表项。


2.网关在收到源设备发送的ARP请求报文之后(ARP请求报文中的“目的IP地址”是网关的IP地址),会以ARP应答报文进行响应,其中的源MAC地址就是源设备需要获取的网关接口MAC地址。


同时,网关为源设备生成了一个动态ARP表项、一个动态MAC地址表项,利用生成的动态ARP表项中的信息在三层交换芯片中生成对应的一条三层转发表项。


3.源设备利用网关接口MAC地址对要向目的设备发送的数据帧进行封装,目的MAC地址是网关接口的MAC地址,目的IP地址是目的设备的IP地址。


4.网关收到源设备向目的设备发送的数据帧后,发现目的MAC地址是自己的一个三层接口(源设备网关接口),而目的IP地址不是该接口的IP地址,确定需要进行三层转发。


网关首先查找交换芯片中的三层转发表项,但由于是初次通信,在交换机芯片中没有找到所需的三层转发表项。


5.网关将数据(去掉帧头后的数据包)送到CPU进行软件处理,查找IP路由表。


由于采用三层交换的网段均连接在同一台三层交换机上,因此在网关上会找到目的设备所在网段的直连路由表项,然后根据该直连路由表项找到转发的出接口(目的设备的网关接口,通常也是以一个VLANIF接口),把发给目的设备的数据包转发到该接口上(不能立即向目的设备发送,因为还不知道目的设备的MAC地址,无法进行帧封装)。


6.网关在连接目的设备的接口上以广播方式发送一个ARP请求报文(报文中的源IP地址和源MAC地址均是该接口的),以获取目的设备的MAC地址。


目的设备收到该报文后以ARP应答报文进行响应,同时建立自己的网关接口(网关向目的设备发送ARP请求报文的接口)的动态ARP表项。


7.网关在收到目的设备的ARP应答报文之后,利用ARP应答报文中的源MAC地址对源设备发给目的设备的数据帧进行重新封装(作为帧中的目的MAC地址),最后发给目的设备。


同时,网关根据收到的ARP应答报文中的源MAC地址和源IP地址信息,在ARP表中添加目的设备的一条动态ARP表项和一条动态MAC地址表项,然后再利用生成的动态ARP表项中的信息在交换芯片中添加到达目的设备的一条三层转发表项。


 8.目的设备在收到由网关转发、来自源设备的数据包后,根据应用需求决定是否需要进行响应。


响应报文可根据此前网关在交换芯片中为源设备添加的三层转发表项,直接由交换芯片转发给源设备。




二、实验目的

通过本实验的学习达到以下目的:

1.理解ARP请求报文和ARP应答报文的封装格式;

2.理解ARP的MAC地址解析原理;

3.理解三层交换原理及其应用场景。




三、实验拓扑结构和要求

本实验的拓扑结构如下图所示,LSW1是一台三层交换机,PC1和PC2位于不同的IP网段和不同的VLAN(分别位于VLAN2和VLAN3中),但这两个VLAN网段都直接连接在三层交换机LSW2上。


本实验通过PC1与PC2的ICMP通信过程验证ARP MAC地址的解析原理和三层交换原理。



 

四、实验配置思路

本实验的基本配置思路如下。


1.LSW1三层交换机上创建VLAN2和VLAN3,并把连接在PC1和PC2的两个接口以Access类型加入对应的VLAN中。


同时配置PC1和PC2的IP地址和网关(对应的VLANIF接口的IP地址)。


2.PC1 Ping PC2的过程中验证ARP的MAC地址的解析原理和三层交换原理。



五、实验配置及实验结果验证

 相关命令解析:

[LSW1-GigabitEthernrt0/0/1]port link-type access //配置LSW1交换机
与PC1连接的端口为Access类型接口
port default vlan 命令功能

port default vlan命令用来配置接口的缺省VLAN并同时加入这个VLAN。


undo port default vlan命令用来删除接口的缺省VLAN并同时退出这个VLAN。


命令格式

port default vlan vlan-id

undo port default vlan

参数说明

参数

参数说明

取值

vlan-id

配置缺省VLAN的编号。


整数形式,取值范围是1~4094。


视图

GE接口视图、XGE接口视图、Eth-Trunk接口视图、端口组视图

缺省级别

2:配置级

使用指南

设备接口可能属于多个VLAN,所以需要使用port default vlan命令配置接口的缺省VLAN ID。


如果配置了接口的缺省VLAN ID:

  • 当接口接收到不带VLAN Tag的报文时,将该报文加上VLAN Tag标记,并将Tag中的VID字段的值设置为接口所属的缺省VLAN编号。


  • 当接口接收到带VLAN Tag的报文时,如果该报文的VLAN ID与接口缺省的VLAN ID相同,将转发该报文;如果该报文的VLAN ID与接口缺省的VLAN ID不相同,则丢弃该报文。


  • 当接口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与接口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。


本命令使用的条件是vlan-id所指的VLAN必须存在,且本接口不能使用port hybrid untagged vlan命令加入该VLAN。


本命令与port命令的执行效果是等同的。


说明 

本命令只对Access类型接口生效。


使用实例

# 配置接口GigabitEthernet0/0/1的缺省VLAN为VLAN3(VLAN3已经存在)。


 system-view

[Base] interface GigabitEthernet 0/0/1

[Base-GigabitEthernet0/0/1] port link-type access

[Base-GigabitEthernet0/0/1] port default vlan 3

 

 

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/577573.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存