• 不同VLAN间的通信原理



    首先我们来看看什么是VLAN

    VLAN

    VLAN(Virtual Local Area Network)虚拟局域网,是将一个物理的局域网在逻辑上划分成多个广播域的技术。VLAN技术部署在数据链路层。

    VLAN能够隔离广播域
    广播域是指在网络中能够收到广播消息的范围

    每个VLAN都有自己的广播域,广播消息只会在同一个VLAN内传播,不会跨越到其他VLAN中,这样就可以减少广播流量

    VLAN通过tag来进行区分:
    请添加图片描述

    • VLAN ID 0 阻止任何携带了 VLAN tag 的数据包
    • VLAN ID 4095 允许通过携带任何 VLAN tag 的数据包(trunk)
    • VLAN ID 1~4094 仅允许携带指定 VLAN ID tag 的数据包

    交换机中的VLAN
    路由器是基于三层IP地址信息来选择路由和转发数据的,其连接两个网段时可以有效抑制广播报文的转发,但成本较高

    通过在交换机上配置VLAN,可以实现在同一个VLAN内的用户可以进行二层互访,而不同VLAN间的用户被二层隔离。这样既能够隔离广播域,又能够提升网络的安全性

    交换机的接口可以配置VLAN ID,通过配置对应的逻辑接口VLANIF(Virtual LAN Interface 虚拟局域网接口)可以实现不同VLAN间的通信,具体方法一般是把VLANIF的IP配置为对应的网关

    链路类型:用户主机和交换机之间的链路为接入链路access,交换机与交换机之间的链路为干道链路trunk

    干道链路上通过的帧一般为带Tag的VLAN帧

    PVID表示端口在缺省情况下所属的VLAN。缺省情况下,X7系列交换机每个端口的PVID都是1。

    access口

    Access端口是交换机上用来连接用户主机的端口,只能连接接入链路,只允许唯一的VLAN通过

    • 接收数据: 收到不带tag的标数据帧,加上PVID;收到带tag的数据帧,检查VLAN ID是否与PVID相同,相同则接收
    • 发送数据: 发送数据帧先剥离tag再发送,发送时端口PVID与VLAN ID不同,则连接该端口的主机不会受到该数据帧

    trunk口

    Trunk端口是交换机上用来和其他交换机连接的端口,它只能连接干道链路。Trunk端口允许多个VLAN的帧(带Tag标记)通过

    • 接收数据: 收到不带tag的数据帧,添加该端口的PVID,然后检查是否在允许通过的VLAN ID列表中,存在则接收;收到带tag的数据帧则直接检查
    • 发送数据: 发送数据帧时,VLAN ID与PVID相同,且是该端口允许通过的VLAN ID时,则去掉tag发送;不同且是该端口允许通过的VLAN ID时,保持原有tag发送

    不同VLAN间通信原理

    如图,Switch为交换机,PC 1和PC 2的IP地址是不同网段的,两台PC与交换机连接的接口为access口,PVID分别为10和20,交换机分别为其设置了对应的VLANIF,地址为两台PC对应的网关。

    在这里插入图片描述

    PC 1与PC 2通信的过程:

    1. PC 1发送数据包给Switch,PVID为10的access端口发现这个数据包是不带VLAN tag的,就给这个数据包加上自己的PVID 10的tag,接收
    2. 数据包传送到对应的VLANIF 10,VLANIF10接收到之后把MAC头和tag剥离
    3. 数据包由路由转发到下一跳,即VLANIF 20
    4. VLANIF 20接收到之后把数据包加上MAC头(目的MAC为PC 2的MAC,源MAC为自己的MAC)和VLAN ID为20的tag
    5. 数据包来到PVID为20的access端口,这个端口发现数据包携带的tag值与自己的PVID相同,剥离tag发送数据包
    6. PC 2接收到数据包
  • 相关阅读:
    一文看懂推荐系统:排序14:PNN模型(Product-based Neural Networks),和FNN一个作者,干掉FM,加上LR+Product
    2022 CVPR 三维人体重建相关论文汇总(3D Human Reconstruction)
    肝到头秃,阿里爆款的顶配版Spring Security笔记
    【运筹学】【如何使用Excel求解线性规划】
    08:STM32----DMA数据转运
    python趣味编程-5分钟实现一个F1 赛车公路游戏(含源码、步骤讲解)
    Ubuntu环境下基于libxl库文件使用C++实现对表格的操作
    IPv6 NAT-PT配置【下一代互联网03】
    93-Java的字符缓冲流、案例:出师表
    因特网的组成,边缘之间的通讯方式,数据交换的方式
  • 原文地址:https://blog.csdn.net/qq_45742976/article/details/134227978