本示例拓扑结构如图6-23所示。示例中互联的三层交换机SwitchA和SwitchB的下面都连接了一个VLAN 10的二层网络,要求SwitchA和SwitchB之间通过ospf路由协议实现两个VLAN 10二层网络中的用户PC的三层互通。

实现vlan之间通信的方法(vlanif接口实现跨越三层网络通信配置)(1)

1.配置思路分析

本示例与上一节介绍的示例在配置上的唯一区别就是要通过OSPF路由协议实现连接在不同网络中的不同VLAN间三层互通。但这里要特别注意的一点是,目前在华为交换机中仍不能直接在物理接口上配置IP地址,只能通过把物理接口放进一个VLAN中,然后为VLAN配置VLANIF接口IP地址来实现物理接口的三层化。

在图中已标识了各VLANIF接口的IP地址,这里要注意,虽然同为VLAN 10,但因为不是一个网段中的VLAN,所以是不同的,可以为它们的VLANIF接口配置不同网段的IP地址。通过OSPF协议对10.10.10.0/24、20.20.20.0/24和30.30.30.0/24三个子网的通告,就相当于通过OSPF协议实现这三个子网间的路由通信。

2.配置步骤

SwitchA上的配置:

(1)创建VLAN10和VLAN30。

  1. <HUAWEI>system-view
  2. [HUAWEI]sysname SwitchA
  3. [SwitchA]vlan batch 10 30

(2)把GE1/0/1和GE1/0/2端口均配置为Trunk类型,分别加入VLAN 10和VLAN 30中。

  1. [SwitchA]interfacegigabitethernet1/0/1
  2. [SwitchA-GigabitEthernet1/0/1]port link-type trunk
  3. [SwitchA-GigabitEthernet1/0/1]port trunk allow-pass vlan10!---允许VLAN10通过
  4. [SwitchA-GigabitEthernet1/0/1]quit
  5. [SwitchA]interfacegigabitethernet1/0/2
  6. [SwitchA-GigabitEthernet1/0/2]port link-type trunk
  7. [SwitchA-GigabitEthernet1/0/2]port trunk allow-pass vlan30!---允许VLAN30通过
  8. [SwitchA-GigabitEthernet1/0/2]quit

【经验之谈】如果你是一位细心的读者,你就可能在看到以上配置时产生一个疑问,为什么在Gigabitethernet 1/0/2端口上不需要同时允许VLAN 10呢?其实最根本的原因还是因为华为S系列交换机的物理端口不能直接配置IP地址,是二层接口,必须通过加入一个VLAN,然后通过对应的VLANIF接口来实现二层与三层之间的转换,配置IP地址,进行三层通信。这里的VLANIF接口其实就相当于路由器上的路由接口。至于接口类型,其实无所谓,因为在三层通信中,数据到达交换机后,三层模块会去掉数据链路层协议头,包括VLAN标签部分。另外要注意的是,在华为S系列交换机中同一交换机中各VLAN缺省都是三层互通的。

(3)配置VLANIF10和VLANIF30的IP地址分别为10.10.10.1/24和30.30.30.1/24。

  1. [SwitchA]interfacevlanif10
  2. [SwitchA-Vlanif10]ip address 10.10.10.124
  3. [SwitchA-Vlanif10]quit
  4. [SwitchA]interfacevlanif30
  5. [SwitchA-Vlanif30]ipaddress30.30.30.124
  6. [SwitchA-Vlanif30]quit

(4)配置OSPF路由,宣告VLAN 10和VLAN 30所对应的网段。

  1. [SwitchA]routerid1.1.1.1!----配置路由器ID(可随意,通常是三层设备的lookback0接口IP地址)
  2. [SwitchA]ospf
  3. [SwitchA-ospf-1]area0
  4. [SwitchA-ospf-1-area-0.0.0.0]network10.10.10.00.0.0.255!----宣告VLAN10所在的网段
  5. [SwitchA-ospf-1-area-0.0.0.0]network30.30.30.00.0.0.255!----宣告VLAN30所在的网段
  6. [SwitchA-ospf-1-area-0.0.0.0]quit

SwitchB上的配置:

(1)创建VLAN10和VLAN30。

  1. <HUAWEI>system-view
  2. [HUAWEI]sysnameSwitchB
  3. [SwitchB]vlanbatch1030

(2)把GE1/0/2和GE1/0/1端口均配置为Trunk类型,分别加入VLAN 10和VLAN 30中。

  1. [SwitchB]interfacegigabitethernet1/0/2
  2. [SwitchB-GigabitEthernet1/0/2]portlink-typetrunk
  3. [SwitchB-GigabitEthernet1/0/2]porttrunkallow-passvlan10
  4. [SwitchB-GigabitEthernet1/0/2]quit
  5. [SwitchB]interfacegigabitethernet1/0/1
  6. [SwitchB-GigabitEthernet1/0/1]portlink-typetrunk
  7. [SwitchB-GigabitEthernet1/0/1]porttrunkallow-passvlan30
  8. [SwitchB-GigabitEthernet1/0/1]quit

(3)配置VLANIF10和VLANIF30的IP地址分别为20.20.20.1/24和30.30.30.2/24。

  1. [SwitchB]interfacevlanif10
  2. [SwitchB-Vlanif10]ipaddress20.20.20.124
  3. [SwitchB-Vlanif10]quit
  4. [SwitchB]interfacevlanif30
  5. [SwitchB-Vlanif30]ipaddress30.30.30.224
  6. [SwitchB-Vlanif30]quit

(4)配置OSPF路由,宣告VLAN 10和VLAN 30所对应的网段。

  1. [SwitchB]routerid2.2.2.2
  2. [SwitchB]ospf
  3. [SwitchB-ospf-1]area0
  4. [SwitchB-ospf-1-area-0.0.0.0]network20.20.20.00.0.0.255
  5. [SwitchB-ospf-1-area-0.0.0.0]network30.30.30.00.0.0.255
  6. [SwitchB-ospf-1-area-0.0.0.0]quit

另外,需要把SwitchA下挂的二层网络中PC上配置缺省网关为VLANIF10接口的IP地址10.10.10.1/24;把SwitchB下挂的二层网络中PC上配置缺省网关为VLANIF10接口的IP地址20.20.20.1/24。

配置完成后,两个二层网络的PC就可实现二层隔离,但三层互通。

-------------------------------------------------------------------------------

二层交换机的二层数据交换一般都是使用ASIC(Application Specific Integrated Circuit ,专用集成电路)的硬件芯片中的CAM表来实现的,因为是硬件转发,所以转发性能非常高。而三层交换机的三层转发也是依靠ASIC芯片完成的(路由器的路由功能主要依靠CPU软件进行的),但其中除了二层交换用的CAM表外,还保存有专门用于三层转发的三层硬件转发表。

实现vlan之间通信的方法(vlanif接口实现跨越三层网络通信配置)(2)

【说明】在三层交换机中,最关键的就是它有一个专门用于三层转发的“三层硬件转发表”,它和“ARP表”之间有联系,但也有区别。ARP表中只是IP地址和MAC地址的映射关系,不包括转发出口,也不包括对应的VLAN ID,而三层硬件转发表中则包括了全部这些,形成一个:目的IP地址、VLAN ID、端口和下一跳MAC地址的关系表项。因为在进行三层转发时,改变的是帧封装后的源和目的MAC地址这两个字段,原来输入IP包中的“目的MAC地址”作为转发的“下一跳MAC地址”,原来的“源MAC地址”改为三层交换机自身的MAC地址,源和目的IP地址都不变(因为这是封装在帧的“数据”部分)。另外,三层转发表是存储在ASCI硬件芯片上的,直接由ASIC芯片调用,而ARP表是存储在内在中,由CPU软件调用。但三层硬件转发表项还是由CPU提供的。

-------------------------------------------------------------

二层交换机(可管理)通常只有一个MAC,各端口一般无MAC地址,vlan-interface 的MAC地址是二层交换机本身的MAC地址,参与STP运算的MAC地址也是二层交换机本身MAC;

附:一台S3100上查看的实际结果:

<A>dis device manuinfo

DEVICE NAME : S3100-26TP-SI-UM-H3

DEVICE SERIAL NUMBER : 210235A0CRH102000444

MAC ADDRESS : 0023-89D8-7774

MANUFACTURED DATE : 2010-03-01

VENDOR NAME : H3C

<A>sys

System View: return to User View with Ctrl Z.

[A]dis int Vlan-interface 1

Vlan-interface1 current state :UP

Line protocol current state :UP

IP Sending Frames' Format is PKTFMT_ETHNT_2, Hardware address is 0023-89d8-777 //虚拟接口与交换机自身MAC一致

Internet Address is 10.x.x.x/24 Primary

Description : Vlan-interface1 Interface

The Maximum Transmit Unit is 1500

三层交换机是不是每个端口都有MAC,不统一。

---------------------------------------------------------------------------

对于二层交换机,在我们的专业术语中,自身内置的MAC地址叫做:Static mac address,而其所学习的mac table中的MAC称为:dynamic mac address.

,