作者: | 来源:互联网 | 2023-06-28 20:15
VLAN
VLAN的概念以及定义 使用VLAN的原因: vlan:
二层网络上的隔离技术
一个vlan代表一个广播域
跨VLAN通信:需要用到三层设备(如:三层交换、路由)
VLAN优点: 缩小广播域范围(泛洪小:减少泛洪占用的网络资源)
不同VLAN相互隔离(同部门、不同部门的访问)
VLAN标识 数据包中就有所带所属VLAN的标签
2^12 = 4096
交换机工作原理: 按照MAC地址表进行转发:VLAN与特定MAC地址相绑定(即交换机为每个VLAN都创建了一个MAC地址表项)
VLAN10发出的数据包只会发送到VLAN10所在网络
交换机的接口:
access: 通常连接PC、server等终端设备,只允许一个VLAN通过.(就是这个接口的PVID),相同则通过,不相同则丢弃。
通过这个接口发送数据时,则去掉该VLAN的标签
Trunk: 允许多个VLAN流量通过。
接收到没有标签的数据帧,则打上自己的PVID的标签
接收到携带标签的数据帧时:检查tag标签,若该标签在允许通过的列表中则通过,反之亦然。
通过Trunk接口向外发送数据时,同上检查tag, 查看允许通信列表来决定是否通过。
如果在允许通信列表中且这个tag标签与这个接口的PVID相同,则会把这个tag去掉 ,不一样则直接发送。
Hybrid:允许多个VLAN通信
VLAN 实施 (还有3种:MAC分配、子网分配、策略分配)
接口的VLAN分配:
华为VLAN实例:
略
思科VLAN实施:
tip:端口安全只能用access口
交换机与交换机之间的端口不能有任何一个端口为access,也不能两个端口同时为Auto,其它情况都可。 (如果需要允许让多个VLAN通信)
创建VLAN 查看VLAN (辅)更换VLAN名称进入vlan后(config-vlan) name stuff 分配VLAN进入端口后(config-if) swi mo acc swi acc vl 10 分配玩VLAN后,进行设备自己进行协议,当绿灯亮起时即可正常使用 交换机间的端口设置在华为中若想让多个VLAN通信,必须都设置为trunk 在思科中:由于上面提到的:只要交换机间的端口不能有任何一个端口为access,也不能两个端口为Auto,其它模式都可。 一般直接都设置为Trunk模式,不必搞复杂 设置完成后 do show int trunk
设置完成后即可VLAN内即可正常通信 端口组(批量对接口进行操作) s2(config)int range fa0/1-10 // 进入fa0/1 -- fa0/10的端口为一个端口组 s2(config-if-range) swi mod acc s2(config-if-range) swi access vlan 10 s2(config-if-range) do show vlan brief // 查看得这十个接口都被分配到了VLAN10
本征VLAN 中继接口的VLAN。
与华为的PVID类似:
收到或发送与本征VLAN相同时都不会打上标签
一个链路上的本征VLAN必须完全一致。 (不一致时,会报错误原因:Native VLAN mismatch.
设置本征VLAN的命令
MS1(config-if) int g0/1-2 MS1(config-if-range) swi tru native vlan 30 MS1(config-if-range) end // 输入end,可以回到特权命令视图下(#) MS1 # // 查看下本征VLAN MS1 # show interfaces tru
传统的VLAN间的通信
原理: PC1 ping PC2 , PC1会封装数据帧,到第二层时需要封装源目MAC地址,PC1封装时比较发现这是一个跨网段的通信。
发现是跨网通信,则会把数据发送到自己的网关 ,则会把目的MAC地址改为网关的MAC地址,本例网关就是AR1 g0/0/0。
交换机LSW2知道PC1这边发来的数据是设置为VLAN10的接口,于是打上了VLAN10的标签,然后会根据同VLAN特性(VLAN内部通信)自己发送到所要去的VLAN10内的网络,因为G0/0/0口也是VLAN10。
LSW2会发送携带标签VLAN10的数据发送给LSW1,然后发给AR1。AR1发现数据包里的MAC地址的确是自己,选择收下。收下后进行三层转发(通过查找路由表转发).
查找路由表后知道去往VLAN20网段的地址该往G0/0/1走。
发出不携带标记的标准以太网数据帧,源目MAC地址发生改变。(源MAC地址为AR1,目的MAC地址为PC2)
到达G0/0/2打上VLAN20的标签,再发送给属于VLAN20的PC2。
注意:各交换机需要设置默认网关,才能正常通信。
三层交换实现VLAN间通信 华为设备的三层交换功能(不同网络之间的互访)默认开启。
区别:
单臂路由实现原理
根据VLAN标签的特性,我们在接入层(二层交换机)与汇聚层(路由器的子接口上)都要对vlan 标签进行处理。 交换机的接口都会根据VLAN的标签以及接口类型的处理数据(发送或接受数据)的特性(在每个端口上打上标签或去掉标签), G0/0/1口设置接口类型为trunk,并允许VLAN通过,本征PVID为VLAN30。 如果准备发送的数据是带有vlan30标签的,则会去掉标签发送,则数据不带标签。 如果准备发送的数据带有的是非本征VLAN的标签且在允许通信列表中则带标签发送,如路由器没有对其进行拆相应标签的接口,则AR1会将其丢弃。 而单臂路由的实现是通过在真实物理接口上设置一个地址(本例设置本征VLAN30的地址),还在其上创建的逻辑的接口上创建地址,并开启广播功能以及设置要解封装VLAN的ID。
[AR2] int g0/0/1.10 进入子接口10作为VLAN10的网关 [AR2-GigabitEthernet0/0/1.10] dot1q termination vid 10 设置解封装的VLAN ID,否则无法拆标签则会丢弃数据 [AR2-GigabitEthernet0/0/1.10] arp broadcast enable 开启广播功能
如果没有对子接口进行解封装以及开启广播,则他们的 Protocol 为down 状态,此时无法正常通信。
正常子接口状态,敲完后:
思科注意事项
思科在用三层交换机做传统VLAN间互访时,需要开启路由功能:
[Switch] ip routing 开启路由功能 ,不然是无法跨网(当然无法跨VLAN )[Switch] no swithchport 三层交换机如要在某个接口上设置IP,必须 关闭交换功能
我们现在设置VLAN20的网关,并再次查看,现在应该可以ping通了。
在本案例中,我们只把LSW1当做三层路由使用,将LSW2当做二层不作为三层。此时,若我们要LSW2访问PC1该怎么办?
首先在LSW2进入vlan30设置ip地址,然后思考想要Ping通PC1,而PC1属于vlan10且跨网段,所以必须通过网关,交换机自己访问时只能通过自己的路由表,我们查看下:
LSW2不知道VLAN10在哪,自己不能直接访问,所以需要设置网关(通过静态路由):ip route-static 0.0.0.0 0 192.168.30.254 . 后再次查看路由表:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
ping pc 1 成功:
MAC地址 网络地址:网络地址(Network address)是互联网上的节点在网络中具有的逻辑地址。
互联网络是由互相连接的带有连接节点(称为主机和路由器)的LAN组成的。每个设备都有一个物理地址连接到具有MAC层地址的网络,每个节点都有一个逻辑互联网络地址。
MAC地址:MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。
在OSI模型中,第三层网络层负责 IP地址,第二层数据链路层则负责 MAC地址。因此一个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址。
MAC地址是网卡决定的,是固定的。