不同vlan之间通信(三层交换机)

本文详细介绍了三层交换技术,包括其如何实现不同VLAN间的通信,以及两种主要的工作方式——传统的MLS和基于CEF的MLS。通过配置命令示例展示了如何在华为交换机上进行设置,最终成功实现不同VLAN的通信。

目录

 一、三层交换技术

二、操作步骤及命令

三、总结


 一、三层交换技术

使用三层交换技术实现不同vlan之间的通信

三层交换=二层交换+三层转发   

 两种方式:

1、传统的MLS
一次路由多次交换
使用传统的MLS时,交换机将流中第一个数据包转发给第三层引擎,后者以软件交换的方式对数据包进行过处理,对数据流中的第一个包进行路由处理后,第三层引擎对硬件交换组织进行编程,使之为后续的数据包选择路由。这个过程被称为“一-次路由多次交换”,也就是说交换机的三层引擎只需要处理数据流中的第一个数据包,而后续的数据全部由硬件来执行转发。这样实现了三层交换的线速转发。
2、基于CEF的MLS
与传统MLS不同的是,CEF预先根据路由表学习路由信息后,直接储存在FIB (转发信息库)。REF预先根据ARP表生成邻接关系表,直接由硬件进行转发。传统MLS至少需要软件查询一次路由表后,建立转发条目,才能使用硬件进行转发。
FIB (转发信息库)
邻接关系表
工作原理:
第三层交换工作在OSI七层网络模型中的第三层即网络层,是利用第三层协议中的IP包的包头信息来对后续数据业务流进行标记,具有同一标记的业务流的后续报文被交换到第二层数据链路层 ,从而打通源IP地址和目的IP地址之间的一 条通路。这条通路经过第二层链路层。有了这条通路,三层交换机就没有必要每次将接收到的数据包进行拆包来判断路由,而是直接将数据包进行转发,将数据流进行交换。
当一个三层数据包进入三层交换机以后,会查看路由表,即“一次路由”,查找出接口和下一跳,之后会找到下一跳的MAC地址,进行二层封装的变换,和三层设备即路由器的本质是一样的(三层的本质:是把一个子网的MAC迁移到另外一个子网,不同子网的MAC不可能会出现在同一个包的源目MAC上,把原有的二层封装去掉,封装上新的MAC地址,源是出接口的MAC地址,目的是下一跳的MAC地址,此时新的二层封装形成,数据包转发出设备),完成一次“路由器”的工作
如果找不到下一跳的MAC地址,进行ARP洪范,再找不到就丢弃。在做二层封装的时候,因为有目标MAC的存在,所以也可以说是三层的目标IP最后会映射到目标MAC上,此时会形成一个目标IP和封装目标MAC的映射,而三层交换机具有二层交换机的功能,则此时就形成了三层到二层的一个映射,转发一定是要找到接口,通过IP找到MAC,通过MAC找到对应出接口,这就相当于形成了一个IP的MAC表,那么三层IP进来以后就直接会找到对应的出接口,数据包就不需要再查看数据表,只需要变换一次二层封装就可以了。
 

二、操作步骤及命令

 查看命令:

[sw1]display mac-address   //查看mac地址表

[sw1]display ip  routing-table  //查看路由表

[sw1-vlanif 2]display fip      //转发表

 sw1

 <Huawei>undo t    
<Huawei>undo terminal m    
<Huawei>undo terminal monitor 
Info: Current terminal monitor is off.
<Huawei>sys    
<Huawei>system-view 
Enter system view, return user view with Ctrl+Z.
[Huawei]sysna    
[Huawei]sysname sw1
[sw1]vlan ba    
[sw1]vlan batch 2 4
Info: This operation may take a few seconds. Please wait for a moment...done.
[sw1]int g0/0/1
[sw1-GigabitEthernet0/0/1]po    
[sw1-GigabitEthernet0/0/1]port li    
[sw1-GigabitEthernet0/0/1]port link-t    
[sw1-GigabitEthernet0/0/1]port link-type ac    
[sw1-GigabitEthernet0/0/1]port link-type access 
[sw1-GigabitEthernet0/0/1]po    
[sw1-GigabitEthernet0/0/1]port de    
[sw1-GigabitEthernet0/0/1]port default vl    
[sw1-GigabitEthernet0/0/1]port default vlan 2
[sw1-GigabitEthernet0/0/1]int g0/0/2
[sw1-GigabitEthernet0/0/2]po    
[sw1-GigabitEthernet0/0/2]port lin    
[sw1-GigabitEthernet0/0/2]port link-t    
[sw1-GigabitEthernet0/0/2]port link-type ac    
[sw1-GigabitEthernet0/0/2]port link-type access 
[sw1-GigabitEthernet0/0/2]po    
[sw1-GigabitEthernet0/0/2]port de    
[sw1-GigabitEthernet0/0/2]port default vl    
[sw1-GigabitEthernet0/0/2]port default vlan 4
[sw1-GigabitEthernet0/0/2]q
[sw1]int    
[sw1]interface vl    
[sw1]interface Vlanif 2
[sw1-Vlanif2]ip add    
[sw1-Vlanif2]ip address 192.168.2.1  24
[sw1-Vlanif2]inte    
[sw1-Vlanif2]interface vl    
[sw1-Vlanif2]interface vlanif 4
[sw1-Vlanif4]ip add    
[sw1-Vlanif4]ip address 192.168.4.1   24
[sw1-Vlanif4]q

 验证结果:

 结果;pc1能ping通pc2,不同vlan之间能通信

三、总结

     掌握三层交换机是由二层交换和三层转发来进行工作的。明白三层交换机两种工作原理:传统的MLS和基于CEF的MLS。熟记配置命令。

### 通过三层交换机实现VLAN通信的配置方法 为了使不同VLAN能够相互通信,可以通过三层交换机的路由功能来实现。以下是具体的配置方式: #### 创建并启用SVI接口 三层交换机会为每个VLAN创建一个虚拟接口(Switch Virtual Interface, SVI),并通过这些接口分配IP地址以便于路由。具体操作如下: - 使用 `interface Vlan-interface VLAN_ID` 命令进入指定VLAN对应的SVI接口。 - 配置该接口的IP地址以及子网掩码,例如: ```shell [SW] interface Vlan-interface 10 [SW-Vlan-interface10] ip address 192.168.1.1 255.255.255.0 ``` 此过程会为VLAN 10创建一个逻辑接口,并赋予其IP地址作为默认网关[^1]。 #### 设置Trunk端口允许所有VLAN流量通过 为了让连接到接入层设备的数据帧携带正确的VLAN标签,在物理端口上设置trunk模式非常重要。下面是一个例子展示如何让某个GigabitEthernet端口支持所有的VLAN传输: ```shell [SW] interface GigabitEthernet 0/0/1 [SW-GigabitEthernet0/0/1] port link-type trunk [SW-GigabitEthernet0/0/1] port trunk allow-pass vlan all ``` 上述命令将端口设为trunk类型,并开放全部VLAN数据流通行[^2]。 #### 添加静态路由条目 如果网络环境中存在多个子网,则可能还需要手动增加一些特定的目的地网络及其下一跳路由器的信息至三层交换机内部存储器里去。比如当目标网络位于另一台远程设备后面时可执行这样的指令序列: ```shell [SW] ip route-static 192.168.2.0 255.255.255.0 10.1.1.2 ``` 这里定义了一条通往192.168.2.x范围内的路径,其中下一站点设定成了10.1.1.2这个节点位置上的主机或者另一个中间环节装置[^3]。 完成以上几个方面的调整之后,理论上就可以达成跨VLAN通讯的效果了——即来自不同广播域下的终端彼此之间也具备可达性的条件。 ```python # Python伪代码表示流程概览 def configure_layer_3_switch(): create_svi_interfaces() assign_ip_addresses_to_svls() enable_trunk_ports_for_all_vlans() add_static_routes_if_needed() configure_layer_3_switch() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值