目录
VLAN间通信简介
VLAN间通信的两种方式
借助三层设备路由器进行VLAN间的通信(也就是单臂路由)
在端口上创建子接口之后为什么需要开启arp广播,是因为他是子接口吗?
拓扑图
交换机配置
路由器配置
查看路由器配置
测试能否实现不同VLAN之间的通信
通过抓包软件我们得到以下信息,我们可以看到在发送数据包时,先发送了一个ARP包,获取Mac地址,,呼应了开头我说的数据发送过程;
通过三层交换机的虚拟接口(vlanif)进行VLAN三层通信
实验拓扑图
交换机配置
抓包软件抓包
分析抓包结果
为什么需要知道目标地址的Mac地址?
花有重开日,朝暮皆为少年之时。
VLAN间通信简介
VLAN间三层通信是指在VLAN网络中,不同VLAN之间进行通信的过程。
我们知道VLAN是虚拟局域网,在一个局域网内我们是通过Mac地址进行通信,在局域网与局域网之间通过IP地址来通信,大致过程如下:
主机在发出数据包前,先会查看数据包中的目的IP地址,如果目的IP地址和本机IP地址在同一个网段上(也就是同一个局域网内,属于局域网内部通信),主机会直接发出一个ARP请求数据包来请求对方主机的MAC地址,封装数据包,继而发送该数据包。但如果目的IP地址与本机IP地址不在同一个网段(也就是局域网与局域网之间通信),那么主机也会发出一个ARP数据包请求网关的MAC地址,收到网关ARP回复后,继而封装数据包后发送给网关,让网关去处理数据(也就是路由器)。
VLAN(虚拟局域网)是一种逻辑上划分网络的技术,他将一个网络划分成一个个的小网络也就是逻辑网络,每个逻辑网络称为一个VLAN。VLAN会隔离广播域,提高网络的安全性和性能。
隔离广播域的意思就是说隔离广播帧,让广播帧只在虚拟局域网内部泛洪,这样有效的防止了广播风暴;
但是,由于VLAN是工作在第二层的,只能实现同一个VLAN内的主机之间的通信。为了实现不同VLAN之间的通信,需要借助三层设备通信,即通过路由器或三层交换机实现不同VLAN之间的通信。
原理就是:通过配置路由器或三层交换机的接口,使它们在不同的VLAN之间进行数据转发和路由选择,从而实现VLAN之间的通信。
实现不同VLAN之间的通信的确有多种方式,包括使用路由器进行路由、通过交换机端口连接、三层交换机实现VLAN间路由、使用VPN技术,以及VLAN的配置和管理等手段。这些方式提供了灵活的选择,使得网络管理员可以根据实际需求来进行合适的部署和配置。下面我们只记录两种常用的简单的方式;
VLAN间通信的两种方式
借助三层设备路由器进行VLAN间的通信(也就是单臂路由)
这种方式下,在路由器上为不同的VLAN划分不同的子接口,并将每个接口分配相应的网络地址。被配置用于接收来自不同VLAN的数据包,并将其路由到正确的目标VLAN。
主要配置命令如下:
[Huawei]interface g0/0/0.10
[Huawei-GigabitEthernet0/0/0.10]dot1q termination vid 10
[Huawei-GigabitEthernet0/0/0.10]ip add 192.168.10.254 24
[Huawei-GigabitEthernet0/0/0.10]arp broadcast enableinterface g0/0/0.20
dot1q termination vid 20
ip add 192.168.20.254 24
arp broadcast enable
这行命令是针对华为交换机的配置命令,它用于配置交换机端口的VLAN终结信息。具体解释如下:
dot1q
是IEEE 802.1Q标准中定义的一种虚拟局域网(VLAN)标记协议,该协议允许在以太网帧的帧头添加VLAN标记,用来标识数据包所属的VLAN。
termination
是终结的意思,这个命令告诉交换机对于接收到的带有VLAN 10标记的数据进行 VLAN 终结处理,也就是识别并处理携带 VLAN 10 标记的数据包。
vid 10
表示 VLAN ID 为 10,这就是将 VLAN 10 的标记应用到这个接口上,使得该接口能够处理属于 VLAN 10 的数据。
因此,这行命令的含义是,配置了接口GigabitEthernet0/0/0的子接口VLAN 10,使其能够接收和处理属于 VLAN 10 的数据包。
在端口上创建子接口之后为什么需要开启arp广播,是因为他是子接口吗?
是的,开启 ARP 广播是因为在子接口中,通常需要单独处理 ARP。在 VLAN 的子接口中,由于每个子接口代表一个不同的 VLAN,因此需要独立处理每个子接口的 ARP 广播。
当你在子接口上配置 IP 地址时,通常需要开启 ARP 广播。ARP(地址解析协议)用于将 IP 地址解析为物理 MAC 地址,在以太网中,这些解析请求和应答通常都是通过广播来完成的。
因此,在子接口上开启 ARP 广播可以保证该子接口能够正常地解析IP地址并将数据正确地发送到目标设备。
拓扑图
交换机配置
路由器配置
查看路由器配置
测试能否实现不同VLAN之间的通信
通过抓包软件我们得到以下信息,我们可以看到在发送数据包时,先发送了一个ARP包,获取Mac地址,,呼应了开头我说的数据发送过程;
通过三层交换机的虚拟接口(vlanif)进行VLAN三层通信
三层交换机具备网络层的功能,可以像路由器一样实现VLAN三层通信,在这种情况下,需要在三层交换机上配置虚拟接口来接受来自不同VLAN的数据包,并使用IP地址和路由表将它们转发到相应的目标VLAN。
为什么会有三层交换机?
我认为:为了解决局域网中VLAN之间必须依赖于路由器进行通信和管理的问题;
总之:三层交换机通过结合交换机和路由器功能,解决了网络中数据转发、VLAN通信、网络设计和复杂环境下的需求等多方面的问题,提高了网络性能和管理效率。
实现VLAN间通信的原理是:利用三层交换机的路由功能,通过识别数据包的IP地址,查找路由表进行路由转发。三层交换机给接口配置IP地址,采用SVI(交换虚,拟接口)的方式实现VLAN间互连。在交换机中为每个VLAN创建一个虚拟接口,并且配置IP地址,该IP地址会成为连接隶属于当前VLAN的终端的默认网关地址;
SVI是Switched Virtual Interface的缩写,表示交换虚拟接口。SVI是在交换机上创建的虚拟接口,用于与特定VLAN相关联。通过配置SVI,可以为每个VLAN提供一个虚拟接口,从而实现不同VLAN之间的通信和管理。SVI通常用于配置交换机上的Layer 3(三层)功能,如IP地址、路由、ACL等。
实验拓扑图
交换机配置
抓包软件抓包
分析抓包结果
当PC1需要与PC2通信时,首先会发送ARP(Address Resolution Protocol)包。ARP包的作用是将目标IP地址解析为对应的MAC地址,以便在数据链路层上进行通信。具体步骤如下:
- PC1知道PC2的IP地址,但不知道PC2的MAC地址。
- PC1发送ARP请求广播包到局域网中,询问“谁拥有IP地址为PC2的设备的MAC地址?”。
- PC2收到ARP请求后,会回复一个ARP响应包,包含自己的MAC地址。
- PC1收到PC2的MAC地址后,就可以构建ICMP包(ping包)并发送给PC2进行通信。
因此,ARP包在PC1与PC2通信时起到了解析目标MAC地址的作用,确保数据包能够正确地到达目标设备。只有获得了目标设备的MAC地址,PC1才能发送ICMP包进行通信。
为什么需要知道目标地址的Mac地址?
每个网络设备都有唯一的MAC地址,通过MAC地址可以准确地识别和定位网络中的设备。
在局域网中,数据包是通过MAC地址来识别目标设备的。数据帧中包含了源MAC地址和目标MAC地址,以确保数据包能够准确传输到目标设备。