vlan报文处理概述

摘要:
根据目的地址搜索MAC转发处理-独立:根据VLANID搜索转发表,找出具有相同VLANID的转发表条目的范围,并找出这些表条目中与MAC地址匹配的出站端口。

1. VLAN下交换机接口出入数据处理过程

1)Acess端口收报文:收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)

2)Acess端口发报文:将报文的VLAN信息剥离,直接发送出去

3)trunk端口收报文:收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃

4)trunk端口发报文:比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送

5)hybrid端口收报文:收到一个报文,判断是否有VLAN信息,如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid端口是否允许该VLAN的数据进入;如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只对发送报文时起作用)

6)hybrid端口发报文:1.判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag, 哪些VLAN是tag);2.如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送

2. VLAN下的二层转发流程

  支持VLAN的交换机,MAC地址学习方式分为2中:独立式(IVL)和共享式(SVL),对应的L2FDB表项内容有VLAN ID、MAC地址和所在端口。

  • 根据目的地址查MAC转发表(L2FDB)处理转发
    • -独立式:根据VLAN ID查找转发表,找出相同VLAN ID的转发表项范围,在这些表项中找出MAC地址相匹配的出端口。
    • -共享式:根据目的地址查转发表,找到对应的出接口,判断出接口的VLAN ID和报文中的VLAN ID是否一致,若匹配则通过该端口转发报文,否则丢弃。
  • 对于转发表中不包含的地址,通过广播方式转发
    • -独立式:查找不到目的MAC,则在该VLAN下的所有端口进行广播
    • -分享式:查找不到目的MAC,然后判断报文中的VLAN ID和端口的VLAN ID是否匹配,若匹配则在该VLAN中广播,否则丢弃。
  • MAC转发表的源地址学习
    • -独立式:以源MAC地址和VLAN创建表项,故存在MAC地址相同,VLAN ID不同的表项。
    • -共享式:以源MAC地址创建表项,若MAC转发表中存在MAC地址相同的表项,则覆盖原有表项。

免责声明:文章转载自《vlan报文处理概述》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MYSQL优化(2)小程序基础介绍下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

wifi物联网ESP8266开发板V3 ESP-12N F NodeMcu LuaCP2012 的环境搭建

近几天刚开始接触这块开发板,折腾了一天终于将环境搭建好。废话不多说,直接上搭建过程。(我这里使用的arduino的开发软件) 1、打开Arduino,选择“首选项”,在“附加开发板管理器网址”中填入http://arduino.esp8266.com/stable/package_esp8266com_index.json,然后点击确定保存这个地址。 2...

使用IP集创建基于主机名的iptables规则

IPTables是在Linux系统上创建防火墙的非常强大的工具。但是,所有规则均基于IP地址。例如,您可以打开一个到特定源IP地址的端口。如果您的客户端需要连接到没有静态IP地址的服务怎么办?客户端需要监视其IP地址的更改,向您发送新IP,然后您必须手动更新iptables规则以允许他们访问。一定有更好的方法。这是我想到的,当时我有一个客户需要从家里通过S...

macOS High Sierra 10.13.6(17G2112)webdriver 独立显卡驱动

前言:写这片文章是因为最近折腾黑苹果,从黑果小兵的网站下载了macOS High Sierra 10.13.6(17G2112)这个版本的镜像,劝你们千万不要去下载17G2112这个版本的镜像!!!当然你要是没下也不会点进来对吧。 (可能需要kexue上网) 这个版本的镜像找不到现成的webdriver版本!所以这就是独立显卡驱动的麻烦所在。当然也不是没有...

Linux安装Elasticsearch-head插件

首先需要下载以下内容:   我试验的对应版本:ES:elasticsearch-6.6.1.tar.gz  Node:node-v10.15.3-linux-x64.tar  JDK:jdk-8u201-linux-x64.tar.gz   1. node-v10.15.3-linux-x64.tar 下载地址:https://nodejs.org/en/...

Mac下的类似apt-get的包管理工具Homebrew(笔记)

对于一个习惯了在 Ubuntu 的终端上通过 apt-get 来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所需的一些依赖关系。很惊喜发现,Mac上也有类似的工具软件包管理器 --Homebrew。 Homebrew 并不是什么软件包都能装,它只是能装一些系统缺省的软...

内存地址与内存空间

概览 基本概念 进入误区 误区诊断 总结 基本概念 什么是位?     什么是字节? 位表示的是二进制位,一般称为比特,即0或1,是计算机存储的最小单位; 字节是计算机中数据处理的基本单位; 计算机中以字节为单位存储和解 释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特。 1Byte=8bit 地址总线? (1)CPU是通过地址总线来指...