交换机内部的对vlan

tag的处理有以下几种情况:(按照数据包的转发方向)

1、从Access端口进入,然后从Access端口发出;则进入是带上vlan tag,发出时去掉vlan tag;

2、从Access端口进入,然后从Trunk端口发出;则进入时带上vlan tag,发出时保留vlan tag;

3、从Trunk端口进入,然后从Trunk端口发出;则vlan tag无变化,进来什么样出去还是什么样;

4、从Trunk端口进入,然后从Access端口发出;则进入时无变化,出去时去掉vlan tag;

其实很简单,总之记住从Access口出来都是不带tag的,从Trunk口出来,都是带tag的...

1.trunk的作用:可以让多个vlan通过

2.trunk的原理是对不同vlan打上不同的标签 以区分不同vlan的数据帧

3.trunk是交换机上的东西(交换机关心的是数据帧;路由器关心的是数据包)这点你弄混了!!!所以:trunk链路上只能对数据帧再封装和删封装 不能对数据包再封装或删封装

情况1:一般vlan a的数据进入一端trunk链路时 要传送到对端(trunk接口再交给)vlan a:

vlan a---------switch----------(trunk链路)-----------switch---------vlan a

本地交换机把vlan a的数据帧交给本端trunk接口

进入本端trunk接口前打上vlan a标签

进入对端truan后删除vlan a标签

对端交换机把该数据送给(对端)本地的vlan a

情况2:native vlan:(默认native vlan 是 vlan 1)

native vlan---------switch----------(trunk链路)-----------switch---------native vlan

native vlan的数据进入tunk trunk发现是native vlan的数据 就不加vlan标签直接发给对端tunk口

对端trunk收到native vlan的数据(因为没加vlan标签 所以不用删标签了)交给本地的native vlan

一个数据包从PC机发出经过ACCESS端口->TRUNK端口->TRunk->ACCESS->PC数据包发生了怎么样的变化?

我们先把上述的描述变换为IEEE802.1Q的标准描述:

一个数据包从PC机发出经过(Untagged 数据帧)

ACCESS端口(PVID定义为100,VID=100=Untagged Port)->
TRUNK端口(PVID定义为1〈出厂配置,没有更改〉,VID=1=Untagged Port,VID=100=tagged
Port)->
另一个交换机的TRunk端口(PVID定义为1〈出厂配置,没有更改〉,VID=1=Untagged
Port,VID=100=tagged Port)->
另一个交换机的ACCESS端口(PVID定义为100,VID=100=Untagged

Port)->

PC数据包发生了怎么样的变化?(Untagged 数据帧)

首先假设两台交换机刚刚开机(MAC地址表为空)从PC机发出的数据帧进入交换机的ACCESS端口以后,会按照这个端口的PVID打100的Tag标记,根据交换机的转发原理,交换机会把这个数据帧转发给VID=100的所有端口(除了进口以外),这个过程叫做VLAN

Flood;参照上面的定理1;

由于Trunk端口拥有VID=100,所以才可接受这个标记Tag为100的tagged数据帧;参照上面的定理5;

由于Trunk端口在VID=100上为tagged

Port,所以在发送数据帧出交换机的时候,不改变Tagged数据帧的结构;参照上面的定理1;

到了另一个交换机的Trunk端口的时候,由于Trunk端口拥有VID=100,所以才可接受这个标记Tag为100的tagged数据帧;参照上面的定理6;

另一个交换机的Trunk端口,接收到标记tag为100的tagged数据帧,并不作任何的更改;参照上面的定理1;

另一个交换机收到到标记tag为100的tagged数据帧,根据交换机的转发原理,交换机会把这个数据帧转发给VID=100的所有端口(除了进口以外);参照交换机交换原理(受到一个未知目的MAC数据帧);

这样另一个交换机的ACCESS端口就可以收到标记tag为100的tagged数据帧;参照上面的定理5;

另一个交换机的ACCESS端口在发出标记tag为100的tagged数据帧的时候,会去掉TAG标记,转发untagged数据帧给PC;参照上面的定理1;这样PC机就收到了这个数据.