交换机Vlan基础知识总结

目录

  • 参考链接
  • 总结整理
    • 1. Vlan划分种类
      • 1.1 静态VLAN
      • 1.2 动态VLAN(常见三种)
    • 2. 交换机端口
      • 2.1 Access Link(访问链接)
      • 2.2 Trunk Link(汇聚链接)
      • 2.3 Hybrid Link(混合链接)
      • 2.4 端口状态(tagged port 和 untagged port)
    • 3. 常见附加VLAN信息的方法
    • 4. VLAN间路由
      • 4.1 同一VLAN内的通信
      • 4.2 不同VLAN间通信
      • 4.3 流

参考链接

  • VLAN小白介绍链接:https://blog.51cto.com/6930123/2115373
  • VLAN详细介绍链接:https://www.cnblogs.com/clover-toeic/p/3741115.html
  • Access端口与Trunk端口:https://blog.51cto.com/winda/555280
  • 三种Vlan划分具体情况:https://blog.csdn.net/weixin_37945631/article/details/79592695
  • Tagged和Untagged:https://wenku.baidu.com/view/83f561e8856a561252d36fd1.html

总结整理

1. Vlan划分种类

1.1 静态VLAN

  • 静态VLAN又被称为基于端口的VLAN(Port Based VLAN)
  • 静态VLAN不适合那些需要频繁改变拓补结构的网络

1.2 动态VLAN(常见三种)

  • 基于MAC地址的VLAN(MAC Based VLAN)

    • 通过查询并记录端口所连计算机上网卡的MAC地址来决定端口的所属
  • 基于子网的VLAN(Subnet Based VLAN)

    • 通过所连计算机的IP地址来决定端口所属VLAN的
    • 是一种在OSI的第三层设定访问链接的方法
    • 与基于MAC地址的VLAN相比,能够更为简便地改变网络结构
  • 基于用户的VLAN(User Based VLAN)

    • 根据交换机各端口所连的计算机上当前登录的用户,来决定该端口属于哪个VLAN
    • 用户识别信息,一般是计算机操作系统登录的用户,属于OSI第四层以上的信息
  • 决定端口所属VLAN时利用的信息在OSI中的层面越高,就越适于构建灵活多变的网络

  • 其中基于子网的VLAN和基于用户的VLAN有可能是网络设备厂商使用独有的协议实现的

种类 解说
静态VLAN
(基于端口的VLAN)
将交换机的各端口固定指派给VLAN
动态VLAN 基于MAC地址的VLAN 根据各端口所连计算机的MAC地址设定
基于子网的VLAN 根据各端口所连计算机的IP地址设定
基于用户的VLAN 根据端口所连计算机上登录用户设定

2. 交换机端口

  • 以下端口Access、Trunk和Hybrid都是厂家对某种端口的称谓,并非IEEE802.1Q协议标准定义

2.1 Access Link(访问链接)

  • 是指 “只属于一个VLAN,且仅向该VLAN转发数据帧” 的端口,在大多数情况下访问链接所连的是客户机
  • 报文收发规则
    • Access端口和客户端网卡不会发送带VLAN标记的报文
    • 发报文
      • 情况:向客户端发送信息;向同Vlan的Access端口发送信息
      • 先将报文中的VLAN信息去掉
      • 然后再直接发送
    • 收报文
      • 情况:从客户端接收信息;从非Access端口或非客户端接收信息
      • 先判断该报文中是否有VLAN标记信息
        • 如果没有VLAN标记,则打上该Access端口的PVID后继续转发
        • 一般如果有VLAN标记则默认直接丢弃(某些高端交换机在收帧的Vlan标记和端口PVID相等时转发,否则丢弃;或者不管是否相同均直接转发)

2.2 Trunk Link(汇聚链接)

  • 能够转发多个不同VLAN的通信的端口,跨越多台交换机的VLAN
  • 汇聚链路上流通的数据帧,都被附加了用于识别分属于哪个VLAN的特殊信息
  • 只有当数据帧是一个广播帧、多播帧或是目标不明的帧时,才会被转发到所有属于标记的vlan端口
  • 报文收发规则
    • 默认情况下Trunk端口配置的是VLAN 1(默认VLAN)
    • 发报文
      • 将要发送报文的VLAN标记与Trunk端口的PVID进行比较
        • 如果与PVID相等,则从报文中去掉VLAN标记再发送
        • 如果与PVID不相等,则直接发送
    • 收报文
      • 判断是否有VLAN信息:
        • 如果没有VLAN标记,则打上该Trunk端口的PVID(视同该帧是来自PVID所对应的VLAN转发到PVID所对应的VLAN接口上
        • 如果VLAN标记,则判断该Trunk端口是否允许该VLAN的报文进入:
          • 如果允许则直接转发
          • 否则丢弃
  • 通过汇聚链路时附加的VLAN识别信息,有可能支持标准的“IEEE 802.1Q”协议,也可能是Cisco产品独有的“ISL(Inter Switch Link)”协议
  • 由于汇聚链接中vlan数据较多,在设定汇聚链接时,最好支持100Mbps以上的传输速度

2.3 Hybrid Link(混合链接)

  • 该类型是华为和H3C交换机的一种端口模式
  • 交换机上既可连接用户主机又可连接其他交换机的端口,它既可连接接入链路又可连接汇聚链路
  • 报文收发规则
    • 发报文
      • 情况:从交换机内部发送信息
      • 先判断该报文中是否有VLAN标记信息
        • 如果没有VLAN标记,则从报文中去掉VLAN标记再发送
        • 如果有VLAN标记则直接发送
    • 收报文
      • 先判断该报文中是否有VLAN标记信息
        • 如果没有VLAN标记,则打上该端口的PVID后继续转发
        • 如果有VLAN标记,判断端口是否允许该VLAN帧进入:允许则转发,否则丢弃

2.4 端口状态(tagged port 和 untagged port)

  • 端口状态 tagged port 和 untagged port 并非是物理端口状态,而是指物理端口拥有某VID的状态
  • tagged帧即表示报文有某VLAN标记,untagged帧则表示没有
端口类型 帧类型 tagged 帧 untagged 帧
帧方向 in out in out
tagged 端口 保持不变 根据PVID进行标记
untagged 端口 丢弃 若VID=PVID则去掉标记
否则丢弃
根据PVID进行标记 保持不变

3. 常见附加VLAN信息的方法

  • IEEE802.1Q:被称作“标签型VLAN(Tagging VLAN)
    • 附加的VLAN识别信息位于数据帧中“发送源MAC地址”与“类别域(Type Field)”之间
    • 需从新计算校验值:附加后从新计算CRC校验值,同理去除时也需如此
  • ISL:被称为“封装型VLAN(Encapsulated VLAN)
    • 只能用于Cisco网络设备之间的互联
    • 每个数据帧头部都会被附加26字节的“ISL包头(ISL Header)”,并且在帧尾带上通过对包括ISL包头在内的整个数据帧进行计算后得到的4字节CRC值
    • 无需从新计算校验值:附加后直接去除帧头和帧尾即可

4. VLAN间路由

4.1 同一VLAN内的通信

  • 收发信双方同属一个VLAN之内的通信,一切处理均在交换机内完成

4.2 不同VLAN间通信

  • 交换机接路由器
    • 在路由器上定义对应各个VLAN的“子接口(Sub Interface)”
    • 步骤
      1. 客户端在发送数据帧之前,需要先用ARP获取路由器的MAC地址
      2. 得到路由器的MAC地址R后,发送往C去的数据帧(其中数据帧的目标MAC地址是路由器MAC地址)
      3. 交换机收到数据帧后检索MAC地址列表中与接收端口同属一个VLAN的表项(包括汇聚链接端口)
      4. 在送往汇聚链接端口前,附加上VLAN识别信息
      5. 路由器收到数据帧后,确认其VLAN识别信息,并交由负责相关VLAN的子接口接收
      6. 根据路由器内部的路由表,判断该向哪里中继
      7. 更改数据帧的目标MAC地址为最终目的的MAC地址,并附加了属于目的VLAN的识别信息
      8. 交换机收到数据帧后,根据VLAN标识信息从MAC地址列表中检索属于其标记VLAN的表项,并转发
  • 三层交换机
    • 本质上就是“带有路由功能的(二层)交换机”
    • 步骤
      1. 针对目标IP地址,计算机判断出通信对象不属于同一个网络,因此向默认网关发送数据
      2. 交换模块通过检索MAC地址列表后,判断需要通过内部汇聚链接
      3. 将数据帧附加属于发送VLAN的识别信息,并转发给路由模块
      4. 路由模块在收到数据帧时,先由数据帧附加的VLAN识别信息判断VLAN接口进行路由处理
      5. 在通过汇聚链路时,这次数据帧被附加上属于目的VLAN的识别信息
      6. 交换模块收到后检索目的VLAN的MAC地址列表,确认转发的端口
      7. 若是访问链接端口则转发前会先将VLAN识别信息除去
    • 发送方 → 交换机 / 交换模块 → 路由器 / 路由模块 → 交换机 / 交换模块 → 接收方
  • 注意
    • 加速VLAN间路由的手法多由各厂商独有的技术所实现,并且该功能的称谓也因厂商而异。例如,在Cisco的Catalyst系列交换机上,这种功能被称为“多层交换(Multi Layer Switching)”
    • 除了三层交换机的内部路由模块,外部路由器中的某些机型也支持类似的高速VLAN间路由机制

4.3 流

  • 对于相同起始和终止ip地址的数据流,后继的数据不再需要路由器进行路由处理;通过省略反复进行的路由操作,可以进一步提高VLAN间路由的速度
  • 通过在交换机上缓存路由结果,实现了以缆线速度(Wired Speed)接收发送方传输来数据的数据、并且能够全速路由、转发给接收方

你可能感兴趣的:(网络基础知识)