tag和untag

合集下载

tagged和untagged

tagged和untagged

tagged和untagged tagged和untagged遵循以下五条原则1.Tagged数据帧Tagged数据帧Untagged数据帧Untagged数据帧in out in outTagged端⼝原样接收原样发送按端⼝的pvid打tag标记按端⼝的pvid打tag标记Untagged端⼝丢弃去掉tag标记发送按端⼝的pvid打tag标记发送2. 端⼝的tagged和untagged设置,并⾮对于物理端⼝的设置,⽽是对属于这个物理端⼝的vlan的设置,也就是说⼀个vlan可以在这个端⼝下是tag的,另⼀个vlan在这个端⼝下untagged的3. 每个端⼝只有⼀个pvid,⽽且和这个pvid相同tag的vid,在这个端⼝上⼀定是untagged的4. 端⼝的pvid参数,作⽤是当接收到没有标签的数据包时进⾏打标操作,不影响设备内部的数据转发5. 如果拥有和tag标记相同的vid的物理端⼝,不管这个vid在这个物理端⼝是untagged的还是tagged的,都可以接收来⾃内部的有这个tag标记的数据包6. 如果拥有和tag标记相同的vid的物理端⼝,只有当这个vid在这个物理端⼝是tagged的时候,才能够接收来⾃外部的有这个tag标记的数据包下⾯是实际情况,港湾6808下⾯连接了港湾24E第⼀种情况:1.港湾6808上的1/1端⼝连接港湾24E的25端⼝,在1/1端⼝上vlan 2是untagged的,vlan3是tagged的2.港湾24E的25端⼝上vlan3是tag的,vlan2047(默认vlan)是untagged的3.配置港湾24E的2,3,4,5为vlan3的untagged端⼝,其他端⼝不做配置Harbour_6808(config)# show running-config!VLAN configinterface vlan Test2 2add port 1/1 untaggedip address 192.168.2.1 255.255.255.0exitinterface vlan Test3 3add port 1/1 taggedip address 192.168.3.1 255.255.255.0exitHarbour_24E(config)# show running-config!Vlan configcreate vlan Test3 tag 3config vlan Test3 add port 25 taggedconfig vlan Test3 add port 2,3,4,5 untaggedconfig port 2 inputvlan Test3config port 3 inputvlan Test3config port 4 inputvlan Test3config port 5 inputvlan Test3config ipaddress 192.168.2.230 255.255.255.0Harbour_24E (config)# show vlanVLAN ID : 2047Name : defaultMac address : 00:05:3b:0a:62:23Tagged Ports :Untagged Ports : 1 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25Description : normalVLAN ID : 3Name : Test3Mac address : 00:05:3b:0a:62:23Tagged Ports : 25Untagged Ports : 2 3 4 5Description : normal做完上述配置后,在港湾24E上查看vlan相关信息,发现2,3,4,5端⼝是vlan3的untagged,其他端⼝是vlan2047(默认vlan)的untagged⼝PC2⾃动获取地址流程如下:1.DHCP⼯作流程是:DHCP Discover,DHCP Offer,DHCP request和DHCP Ack2.流程1,PC2使⽤DHCP获取地址时,会往端⼝2⼴播DHCP Discover报⽂,港湾24E上的端⼝2上vlan3是untagged的,所以从该端⼝接收数据时,会为该数据打上vlan3的vlan信息,这⾥遵循的是原则13.流程2,然后发送到本地的vlan3,同时也会发送到和vlan3有相同vid的物理端⼝,这⾥遵循的是原则5。

交换机端口untaged、taged、trunk、access 的区别

交换机端口untaged、taged、trunk、access 的区别

交换机端口untaged、taged、trunk、access 的区别分类:系统运维来源:网络首先,将交换机的类型进行划分,交换机分为低端(SOHO级)和高端(企业级)。

其两者的重要区别就是低端的交换机,每一个物理端口为一个逻辑端口,而高端交换机则是将多个物理端口捆绑成一个逻辑端口再进行的配置的。

cisco网络中,交换机在局域网中最终稳定状态的接口类型主要有四种:access/ trunk/ multi/ dot1q-tunnel。

1、access: 主要用来接入终端设备,如PC机、服务器、打印服务器等。

2、trunk: 主要用在连接其它交换机,以便在线路上承载多个vlan。

3、multi: 在一个线路中承载多个vlan,但不像trunk,它不对承载的数据打标签。

主要用于接入支持多vlan的服务器或者一些网络分析设备。

现在基本不使用此类接口,在cisco的网络设备中,也基本不支持此类接口了。

4、dot1q-tunnel: 用在Q-in-Q隧道配置中。

Cisco网络设备支持动态协商端口的工作状态,这为网络设备的实施提供了一定的方便(但不建议使用动态方式)。

cisco动态协商协议从最初的DISL(Cisco私有协议)发展到DTP(公有协议)。

根据动态协议的实现方式,Cisco网络设备接口主要分为下面几种模式:1、switchport mode access: 强制接口成为access接口,并且可以与对方主动进行协商,诱使对方成为access模式。

2、switchport mode dynamic desirable: 主动与对协商成为Trunk接口的可能性,如果邻居接口模式为Trunk/desirable/auto之一,则接口将变成trunk接口工作。

如果不能形成trunk 模式,则工作在access模式。

这种模式是现在交换机的默认模式。

3、switchport mode dynamic auto: 只有邻居交换机主动与自己协商时才会变成Trunk接口,所以它是一种被动模式,当邻居接口为Trunk/desirable之一时,才会成为Trunk。

tag untag和access trunk Hybrid知识梳理

tag untag和access trunk Hybrid知识梳理

注:1.Trunk叫native vlan,access叫端口vlan;2.tag与untag就相当于cisco的trunk与access;3.trunk的pvid相当于native vlan,access的pvid相当于端口vlan。

1.1 端口接受发送数据总述1.1.1 端口的Tag和Untag端口接收数据时:如果端口是tag方式,当数据包本身不包含VLAN的话,输入的数据包就加上该缺省vlan;如果数据包本身已经包含了VLAN,那么就不再添加。

如果是untag方式,输入的数据包全部都要加上该缺省vlan,不管输入的数据包是否已经有VLAN标记。

端口发送数据时:如果端口是tag方式,如果端口缺省VLAN等于发送的数据包所含的VLAN,那么就会将VLAN标记从发送的数据包中去掉;如果不相等,则数据包将带着VLAN发送出去,实现VLAN 的透传(不同厂家设备的实现方式不一样,需要注意!)。

如果是untag方式,则不管端口缺省VLAN为多少,是否等于要输出的数据包的VLAN,都会将VLAN ID从数据包中去掉。

1.1.1.1 关于Tag和Untag一个故障实例的分析某网组网结构如下图所示,某路由器下挂S3526,S3526下挂S3026,S3026下面接了4个用户(两种路由器都和1.1.1描述一样):其中S3526的接口1上接路由器,打tag标记;接口2接S3026,打tag标记,PVID为1。

S3026的配置是这样的:S3026的接口1上接S3526,打tag标记,属于VLAN 2、3、4、5,PVID为2;接口2接用户2,属于VLAN 2,PVID为2;接口3接用户3,属于VLAN 3,PVID为3;接口4接用户4,属于VLAN 4,PVID为4;接口5接用户5,属于VLAN 5,PVID为5;故障现象为:用户2的用户无法上网,而其它的用户可以上网;如果将S3026的上连口的PVID值配置为3,那么用户3的用户无法上网,其它的用户可以上网;最后我们将S3026的上连口的PVID值设置为1,4个用户的用户就都可以上网了。

交换机端口的tag与untag

交换机端口的tag与untag

交换机端口的tag与untag一般来说,交换机的端口可以以tag的方式属于多个VLAN,但只能以untag的方式属于一个VLAN。

untag的方式属于的那个VLAN,称做端口的本征VLAN。

而以tag方式加入的那些VLAN,就是端口的关联VLAN了。

当一个端口收到一个不带802.1Q标记的以太网帧时,它会在该数据帧中插入该端口的本征vlan(default VID)的Tag标记值,并会在本征Vlan关联的端口根据FDB表转发。

如果根据FDB表查得的端口以tagged模式属于Vlan,交换机会保留以太网帧中的802.1Q标记并从该端口转发出去,如果是untag的,则去掉802.1Q标记并从该端口转发出去;当一个端口收到一个带802.1Q的以太网帧时,它会比较该以太网帧中的VLAN ID和所有本端口所关联VLAN的Tag标记值:A,如果有匹配的,就往该VLAN ID所标示的VLAN中转发,出端口处理方式同上B,如果都不匹配,则丢弃该数据注:FDB表,即MAC地址转发表,记录着各端口及下面端口各MAC地址的对应关系。

--------------------------------------------- 以太网端口有三种链路类型:Access、Hybrid和Trunk。

Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口;Trunk类型的端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;Hybrid 类型的端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。

Hybrid端口和Trunk端口的不同之处在于Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。

Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。

交换机中tag、untag的理解

交换机中tag、untag的理解

交换机中tag、untag的理解情况列举Switch收发Switch对标记的处理remarkAccess (接收) Tagged = PVID 不接收注:部分高端产品可能接收。

Access (接收) Tagged =/ PVID 不接收注:部分高端产品可能接收。

Access (接收) Untagged 接收增加tag=PVID 从PCAccess (发送) Tagged = PVID 转发删除tagAccess (发送) Tagged =/ PVID 不转发不处理Access (发送) Untagged 无此情况无此情况无此情况Trunk (接收) Tagged = PVID 接收不修改tagTrunk (接收) Tagged =/ PVID 接收不修改tagTrunk (接收) Untagged 接收增加tag=PVIDTrunk (发送) Tagged = PVID If Passing then 转发删除tagTrunk (发送) Tagged =/ PVID If Passing then 转发不修改tagTrunk (发送) Untagged 无此情况无此情况无此情况(注)Hybrid (接收) Tagged = PVID 接收不修改tag 对端是trunkHybrid (接收) Tagged =/ PVID 接收不修改tag 对端是trunkHybrid (接收) Untagged 接收增加tag=PVID 类TrunkHybrid (发送) Tagged = PVID Tag 和untag 中列出的vlan可以passing 看Tag项和untag项Hybrid (发送) Tagged =/ PVID Tag 和untag 中列出的vlan可以passing 看Tag项和untag项Hybrid (发送) Untagged 无此情况无此情况无此情况(注)我来解释一下收报文:Acess端口1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)发报文:Acess端口:1、将报文的VLAN信息剥离,直接发送出去收报文:trunk端口:1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃发报文:trunk端口:1、比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送收报文:hybrid端口:1、收到一个报文2、判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid 端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃发报文:hybrid端口:1、判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag,哪些VLAN是tag)2、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送================================以下是神码大学郑老师的讲解,更清楚直观先呈请一下上面的几个帖子的术语:Tag为IEEE802.1Q协议定义的VLAN的标记在数据帧中的标示;ACCESS端口,TRUNK端口是厂家对某一种端口的叫法,并非IEEE802.1Q协议的标准定义;这个数据交换的过程比较复杂,如果想解释的话,首先要了解一下几个IEEE802.1Q协议的定理;1、下面是定义的各种端口类型对各种数据帧的处理方法;2、所谓的Untagged Port和tagged Port不是讲述物理端口的状态,而是将是物理端口所拥有的某一个VID 的状态,所以一个物理端口可以在某一个VID上是Untagged Port,在另一个VID上是tagged Port;3、一个物理端口只能拥有一个PVID,当一个物理端口拥有了一个PVID的时候,必定会拥有和PVID的TAG等同的VID,而且在这个VID上,这个物理端口必定是Untagged Port;4、PVID的作用只是在交换机从外部接受到可以接受Untagged 数据帧的时候给数据帧添加TAG标记用的,在交换机内部转发数据的时候PVID不起任何作用;5、拥有和TAG标记一致的VID的物理端口,不论是否在这个VID上是Untagged Port或者tagged Port,都可以接受来自交换机内部的标记了这个TAG标记的tagged 数据帧;6、拥有和TAG标记一致的VID的物理端口,只有在这个VID上是tagged Port,才可以接受来自交换机外部的标记了这个TAG标记的tagged 数据帧;以下是神州数码对命令的定义(各个厂家对命令的定义可能不一定一致,但是都必须遵循上面的定理):1、Trunk端口就是在一个物理端口上增加这个交换机所有VLAN的VID标示,并且除了和这个物理端口PVID标示一致的VID标示为Untagged Port外,在其他的VID上都是Tagged Port;2、Access端口就是指拥有一个和PVID标记相同的VID的物理端口,在这个VID上,遵循定理一定为untagged Port;在了解了以上的基础理论之后,我们在来看一下楼主的问题:一个数据包从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机就收到了这个数据;。

tag 与 untag 详解

tag 与 untag 详解

再来分析pc2给pc1回包的过程,pc2所发出的数据,由inter0/2所在的pvid vlan20封装vlan20的标记后送入交换机,交换机发现inter e0/1允许vlan 20的数据通过,于是数据被转发到inter e0/1上,由于inter e0/1上vlan 20是untagged的,于是交换机此时去除数据包上vlan20的标记,以普通包的形式发给pc1,此时pc2->pc1走的是vlan20
发报文:
Acess端口: 1、将报文的VLAN信息剥离,直接发送出去
收报文:
trunk端口: 1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该 VLAN的数据进入:如果可以则转发,否则丢弃
发报文:
trunk端口: 1、比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送
另外需要注意的是:
(1)Trunk端口不能和isolate-user-vlan同时配置;Hybrid端口可以和isolate-user-vlan同时配置。但如果缺省VLAN是在isolate-user-vlan中建立了映射的VLAN,则不允许修改缺省VLAN ID,只有在解除映射后才能进行修改。
以下以inter e0/1下的所接的pc1访问inter e0/2下的所接的pc2为例进行说明
pc1所发出的数据,由inter0/1所在的pvid vlan10封装vlan10的标记后送入交换机,交换机发现inter e0/2允许vlan 10的数据通过,于是数据被转发到inter e0/2上,由于inter e0/2上vlan 10是untagged的,于是交换机此时去除数据包上vlan10的标记,以普通包的形式发给pc2,此时pc1->p2走的是vlan10

交换机中taguntag的理解.

交换机中taguntag的理解.

交换机中tag、untag的理解情况列举Switch收发Switch对标记的处理remarkAccess (接收) Tagged = PVID 不接收注:部分高端产品可能接收。

Access (接收) Tagged =/ PVID 不接收注:部分高端产品可能接收。

Access (接收) Untagged 接收增加tag=PVID 从PCAccess (发送) Tagged = PVID 转发删除tagAccess (发送) Tagged =/ PVID 不转发不处理Access (发送) Untagged 无此情况无此情况无此情况Trunk (接收) Tagged = PVID 接收不修改tagTrunk (接收) Tagged =/ PVID 接收不修改tagTrunk (接收) Untagged 接收增加tag=PVIDTrunk (发送) Tagged = PVID If Passing then 转发删除tagTrunk (发送) Tagged =/ PVID If Passing then 转发不修改tagTrunk (发送) Untagged 无此情况无此情况无此情况(注)Hybrid (接收) Tagged = PVID 接收不修改tag 对端是trunkHybrid (接收) Tagged =/ PVID 接收不修改tag 对端是trunkHybrid (接收) Untagged 接收增加tag=PVID 类TrunkHybrid (发送) Tagged = PVID Tag 和untag 中列出的vlan可以passing 看Tag项和untag项Hybrid (发送) Tagged =/ PVID Tag 和untag 中列出的vlan可以passing 看Tag项和untag项Hybrid (发送) Untagged 无此情况无此情况无此情况(注)我来解释一下收报文:Acess端口1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)发报文:Acess端口:1、将报文的VLAN信息剥离,直接发送出去收报文:trunk端口:1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃发报文:trunk端口:1、比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送收报文:hybrid端口:1、收到一个报文2、判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid 端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃发报文:hybrid端口:1、判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag,哪些VLAN是tag)2、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送================================以下是神码大学郑老师的讲解,更清楚直观先呈请一下上面的几个帖子的术语:Tag为IEEE802.1Q协议定义的VLAN的标记在数据帧中的标示;ACCESS端口,TRUNK端口是厂家对某一种端口的叫法,并非IEEE802.1Q协议的标准定义;这个数据交换的过程比较复杂,如果想解释的话,首先要了解一下几个IEEE802.1Q协议的定理;1、下面是定义的各种端口类型对各种数据帧的处理方法;————————Tagged数据帧Tagged数据帧Untagged数据帧Untagged数据帧————————in out in outTagged端口___原样接收原样发送按端口PVID打TAG标记按照PVID打TAG标记Untagged端口_丢弃去掉TAG标记按端口PVID打TAG标记原样发送2、所谓的Untagged Port和tagged Port不是讲述物理端口的状态,而是将是物理端口所拥有的某一个VID 的状态,所以一个物理端口可以在某一个VID上是Untagged Port,在另一个VID上是tagged Port;3、一个物理端口只能拥有一个PVID,当一个物理端口拥有了一个PVID的时候,必定会拥有和PVID的TAG等同的VID,而且在这个VID上,这个物理端口必定是Untagged Port;4、PVID的作用只是在交换机从外部接受到可以接受Untagged 数据帧的时候给数据帧添加TAG标记用的,在交换机内部转发数据的时候PVID不起任何作用;5、拥有和TAG标记一致的VID的物理端口,不论是否在这个VID上是Untagged Port或者tagged Port,都可以接受来自交换机内部的标记了这个TAG标记的tagged 数据帧;6、拥有和TAG标记一致的VID的物理端口,只有在这个VID上是tagged Port,才可以接受来自交换机外部的标记了这个TAG标记的tagged 数据帧;以下是神州数码对命令的定义(各个厂家对命令的定义可能不一定一致,但是都必须遵循上面的定理):1、Trunk端口就是在一个物理端口上增加这个交换机所有VLAN的VID标示,并且除了和这个物理端口PVID标示一致的VID标示为Untagged Port外,在其他的VID上都是Tagged Port;2、Access端口就是指拥有一个和PVID标记相同的VID的物理端口,在这个VID上,遵循定理一定为untagged Port;在了解了以上的基础理论之后,我们在来看一下楼主的问题:一个数据包从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机就收到了这个数据;。

VLAN、tag和untag

VLAN、tag和untag

另外需要注意的是:
(1)Trunk端口不能和isolate-user-vlan同时配置;Hybrid端口可以和isolate-user-vlan同时配置。但如果缺省VLAN是在isolate-user-vlan中建立了映射的VLAN,则不允许修改缺省VLAN ID,只有在解除映射后才能进行修改。
2、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送
交换机接口出入数据处理过程!
HCSE的教材上根本没有讲各种接口接收带TAG的FRAME时候的规则。所以以前老是以为是跟发送的规则一样。走了很多弯路废了好多脑细胞,痛苦啊。跟很多培训过的兄弟交流过都深有同感。
tag就是普通的ethernet报文,报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan tag头;untag就是普通的ethernet报文,比tag报文少了4 bytes字节。
Access (发送) Tagged = PVID 转发 删除tag
Access (发送) Tagged =/ PVID 不转发 不处理
Access (发送) Untagged 无此情况 无此情况 d = PVID 接收 不修改tag
Trunk (接收) Tagged =/ PVID 接收 不修改tag
Hybrid (发送) Tagged =/ PVID Tag 和 untag 中列出的vlan可以passing 看Tag项和untag项
Hybrid (发送) Untagged 无此情况 无此情况无此情况(注)
我来解释一下
收报文:
Acess端口1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)

tag 与 untag 详解

tag 与 untag 详解
[Switch-Ethernet0/2]port hybrid pvid vlan 20
[Switch-Ethernet0/2]port hybrid vlan 10 20 untagged
此时inter e0/1和inter e0/2下的所接的PC是可以互通的,但互通时数据所走的往返vlan是不同的。
Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;
Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。缺省情况下,Hybrid端口和Trunk端口的缺省VLAN为VLAN 1
如果设置了端口的缺省VLAN ID,当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN的端口;当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。
Access (发送) Tagged =/ PVID 不转发 不处理
Access (发送) Untagged 无此情况 无此情况 无此情况
Trunk (接收) Tagged = PVID 接收 不修改tag
Trunk (接收) Tagged =/ PVID 接收 不修改tag
Trunk (接收) Untagged 接收 增加tag=PVID
tag就是普通的ethernet报文,报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan tag头;untag就是普通的ethernet报文,比tag报文少了4 bytes字节。
情况列举 Switch收发 Switch对标记的处理 remark

Tag 和 untag

Tag 和 untag

T ag 和untaguntag 就是普通的Ethernet 报文,普通PC 机的网卡是可以识别这样的报文进行通讯;tag 报文结构的变化是在源mac 地址和目的mac 地址之后,加上了4bytes 的vlan 信息,也就是vlan tag 头;一般来说这样的报文普通PC 机的网卡是不能识别的。

带802.1Q 的帧是在标准以太网帧上插入了 4 个字节的标识。

其中包含:2 个字节的协议标识符(TPID) ,当前置0x8100 的固定值,表明该帧带有802.1Q 的标记信息。

2 个字节的标记控制信息(TCI ),包含了三个域。

Priority 域,占3bits ,表示报文的优先级,取值0 到7 ,7 为最高优先级,0 为最低优先级。

该域被802.1p 采用。

规范格式指示符(CFI) 域,占1bit ,0 表示规范格式,应用于以太网;1 表示非规范格式,应用于T oken Ring 。

VLAN ID 域,占12bit ,用于标示VLAN 的归属。

以太网端口有三种链路类型:Access 、Hybrid 和T runk 。

Access 类型的端口只能属于 1 个VLAN ,一般用于连接计算机的端口;Trunk 类型的端口可以允许多个VLAN 通过,可以接收和发送多个VLAN 的报文,一般用于交换机之间连接的端口;Hybrid 类型的端口可以允许多个VLAN 通过,可以接收和发送多个VLAN 的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。

Hybrid 端口和T runk 端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid 端口可以允许多个VLAN 的报文发送时不打标签,而T runk 端口只允许缺省VLAN 的报文发送时不打标签。

在这里先要向大家阐明端口的缺省VLAN 这个概念Access 端口只属于 1 个VLAN ,所以它的缺省VLAN 就是它所在的VLAN ,不用设置;Hybrid 端口和T runk 端口属于多个VLAN ,所以需要设置缺省VLAN ID 。

vlan三种模式的理解

vlan三种模式的理解

华为:Access、Hybrid和Trunk三种模式的理解预备知识:Tag,untag以及交换机的各种端口模式是网络工程技术人员调试交换机时接触最多的概念了,然而笔者发现在实际工作中技术人员往往对这些概念似懂非懂,笔者根据自己的理解再结合一个案例,试图向大家阐明这些概念untag就是普通的ethernet报文,普通PC机的网卡是可以识别这样的报文进行通讯;tag报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan tag头;一般来说这样的报文普通PC机的网卡是不能识别的带802.1Q的帧是在标准以太网帧上插入了4个字节的标识。

其中包含:2个字节的协议标识符(TPID),当前置0x8100的固定值,表明该帧带有802.1Q的标记信息。

2个字节的标记控制信息(TCI),包含了三个域。

Priority域,占3bits,表示报文的优先级,取值0到7,7为最高优先级,0为最低优先级。

该域被802.1p采用。

规范格式指示符(CFI)域,占1bit,0表示规范格式,应用于以太网;1表示非规范格式,应用于Token Ring。

VLAN ID域,占12bit,用于标示VLAN的归属。

以太网端口的三种链路类型:Access、Hybrid和Trunk:Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口;Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。

Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。

在这里大家要理解端口的缺省VLAN这个概念Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。

hybrid在端口为tag和untag两种不同情况

hybrid在端口为tag和untag两种不同情况

hybrid在端口为tag和untag两种不同情况hybrid端口配置了:port hybrid tagged vlan 2 4port hybrid untagged vlan 3 5一、当交换机接收到一个来自其他设备的以太网帧时,首先查看该帧是否带了标签(即VLAN 信息),1. 如果不带标签(如来自PC,或者其他设备发送时剥离了标签)那么允许该标签进入交换机,同时打上该端口的PVID的VLAN号。

该帧从不带标签到带标签。

2. 如果带标签,那么首先查看该帧所带VLAN号是否在我上边两行命令行里出现了,比如3就出现了,6没有出现;那么对于带3的帧,会让该帧通过,不会对帧做任何更改。

而对于带6的帧,就不会让它通过而直接丢弃。

二、当交换机要发送一个以太帧出去时,(不会检查是否带标签,因为所有帧都是从CPU 过来的,肯定带了标签)对于tagged定义的帧,端口会直接发送,不会做任何更改,例如帧4。

而对于untagged定义的帧,会剥离掉该帧的标签,该帧从带标签到不带标签,如帧5 。

总结一句,对于tagged和untagged定义的帧,只有在发送时才会有剥离或不剥离的区别,而对于接收到帧的时候,只会起一个判断是否允许该帧通过的作用(定义了则允许通过,未定义则丢弃)。

VLAN之access,trunk,hybrid三种模式区别1.tag报文结构是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,普通的PC网卡是不能识别的。

2.Access端口只属于1个VLAN,一般用于连接计算机端口。

3.Trunk类型的端口可用于多VLAN通信。

4.Hybrid类型的端口允许多VLAN通过,可以接收发送多VLAN报文,可用于交换机与交换机的连接,也可用于交换机和计算机的连接。

5.Hybrid类型的端口和trunk端口在处理数据包时,方法是一样的。

唯一不同之处在于发送数据包时,hybrid端口可以允许多个VLAN的数据包发送时不打标签,而truck端口只允许缺省vlan(native vlan或者default vlan)的数据包发送时不打标签。

彻底搞懂交换机TAG和UNTAG

彻底搞懂交换机TAG和UNTAG

彻底搞懂交换机TAG和UNTAG实验环境:1、SW1上创建VLAN 10 20G1\G3⼝加⼊VLAN1,属于ACCESS,状态为UNTAGE,PVID为1G4⼝加⼊VLAN10,属于ACCESS,状态为UNTAGE,PVID为10G6⼝加⼊VLAN20,属于ACCESS,状态为UNTAGE,PVID为20G2⼝为TRUNK⼝,允许VLAN10,20及VLAN1数据通过,PVID为1 SW2上创建VLAN10 20 30 G1⼝加⼊VLAN1,属于ACCESS,状态为UNTAGE,PVID为1G4⼝加⼊VLAN10,属于ACCESS,状态为UNTAGE,PVID为10G6⼝加⼊VLAN20,属于ACCESS,状态为UNTAGE,PVID为20G3⼝为TRUNK⼝,允许VLAN10,20,30及VLAN1数据通过,PVID为1 SW1 VLAN配置如图:SW2VLAN配置如图实验1:在SW1上为G2配置⼀个没有的PVID看效果?失败实验2:SW1不变,在SW2上将G2⼝PVID由1改为20,在SW2的G2⼝抓包看效果?1.1.1.1⽆法PING通1.1.1.3,SW2上G2⼝抓包情况如上2图数据转发过程说明:当1.1.1.1数据包从SW1的G1⼝发出时,交换机发现是未打VLAN标签的数据,此时会为数据包打上VLAN1标签。

交换机检查与VLAN1关联的端⼝有G2/G3⼝,将会在2个⼝进⾏防洪,如下图:当SW1 G2⼝收到数据包时,拿数据包中的PVID 【VLAN1ID号】与⾃⼰的PVID相⽐较,发现相同,此时商品在VLAN1中的状态是UNTAGE,所以将剥离VLANID后进⾏转发,如下图:当数据包到达SW G2⼝,也就是G2⼝收到数据后,发现是未带标签的数据包,此时将对数据包打上PVID 20,也就是将数据转发⾄VLAN20中,SW2查询后发现与VLAN20关联端⼝有UT:G2 G6 G7 TG:G3,如下图:所以此时SW2会将此数据包在G2 G6 G7【UT】⼝去标签后转发,如下图:在G3【TG】⼝含标签转发,如下图:在G3⼝抓包,看数据包是否被打上PVID为20并转发到VLAN20关联【TAG】的G3⼝?是,如上图。

vlan接口TAG去除时机

vlan接口TAG去除时机

vlan, tag, untag(基本是转的)untag: 普通ethernet报文,普通PC机只能识别这种类型的报文进行通讯tag报文:在普通以太网帧结构的src addr之后加入了4bytes的vlan信息,即vlan tag头。

普通PC机一般不能识别这样的报文。

下图是802.1Q标准tag报文帧结构:以太网端口有三种链路类型:Access, Hybrid, TrunkAccess类型的端口只能属于1个VLAN,一般用于连接计算机的端口;Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。

Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN 的报文发送时不打标签。

在这里先要向大家阐明端口的缺省VLAN这个概念Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。

缺省情况下,Hybrid 端口和Trunk端口的缺省VLAN为VLAN 1如果设置了端口的缺省VLAN ID,当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN的端口;当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID 与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。

注:对于华为交换机缺省VLAN被称为“Pvid Vlan”,对于思科交换机缺省VLAN被称为“Native Vlan”交换机接口出入数据处理过程如下:Pvid Vlan=Native VlanAcess端口收报文:收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)Acess端口发报文:将报文的VLAN信息剥离,直接发送出去trunk端口收报文:收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃trunk端口发报文:比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送hybrid端口收报文:收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃(此时端口上的untag配置是不用考虑的,untag配置只对发送报文时起作用)hybrid端口发报文:1、判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag,哪些VLAN是tag)2、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送。

VL三种端口模式理解

VL三种端口模式理解

V L三种端口模式理解 Prepared on 22 November 2020Access、Hybrid和Trunk三种模式的理解Tag,untag以及交换机的各种端口模式是网络工程技术人员调试交换机时接触最多的概念了,然而笔者发现在实际工作中技术人员往往对这些概念似懂非懂,笔者根据自己的理解再结合一个案例,试图向大家阐明这些概念untag就是普通的Ethernet报文,普通PC机的网卡是可以识别这样的报文进行通讯;tag报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlantag头;一般来说这样的报文普通PC机的网卡是不能识别的下图说明了封装tag报文帧结构带的帧是在标准以太网帧上插入了4个字节的标识。

其中包含:2个字节的协议标识符(TPID),当前置0x8100的固定值,表明该帧带有的标记信息。

2个字节的标记控制信息(TCI),包含了三个域。

Priority域,占3bits,表示报文的优先级,取值0到7,7为最高优先级,0为最低优先级。

该域被采用。

规范格式指示符(CFI)域,占1bit,0表示规范格式,应用于以太网;1表示非规范格式,应用于TokenRing。

VLANID域,占12bit,用于标示VLAN的归属。

以太网端口有三种链路类型:Access、Hybrid和Trunk。

Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口;Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。

Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。

tag帧与untagged帧传输规则

tag帧与untagged帧传输规则

VLAN(虚拟局域网)功能的引入,可以使得交换机在不增加硬件的情况下,将它上面的所有端口逻辑地重新组合划分,形成多个更小的、相互独立的局域网,从而实现了不同端口组之间的信息的隔离。

不同厂家的交换设置存在一定的差别,但是其主要功能都是基本相同的,下面以“罗杰康”交换机为例对一般交换机的VLAN设置进行一些说明。

1)Tagged帧和Untagged帧的传输规则。

交换机将在其端口之间传输的信息分为两类,带tag的帧和不带tag的帧。

数字化变电站传送的大部分信息如GOOSE和采样值等都是tagged帧,而对时信息就是Untagged帧。

交换机的端口可以设置为Tagged类型,也可以设置为Untagged类型,不同端口类型对这两种帧的传入和传出规则是不同的。

●Untagged端口接收:收到UnTagged帧,识别确认UnTagged帧后以本端口默认的Vlan_ID为tag标签添加并转发;接收到Tagged帧,识别其所带的tag标签并向该VLAN域转发。

●Untagged端口发送:去掉所带的tag标签向所有端口转发。

●Tagged端口接收:收到Untagged帧,带上PVID转发;收到Tagged帧,识别其所带的tag标签并向该VLAN域转发。

●Tagged端口发送:保留所带的tag标签并向该VLAN域转发。

Tagged数据帧Tagged数据帧Untagged数据帧Untagged数据帧in out in outTagged端口原样接收原样发送按端口PVID打TAG标记按照PVID打TAG标记端口Untagged端口丢弃去掉TAG标记按端口PVID打TAG标记原样发送2)端口类型设置。

交换机的端口一般有两种类型:Trunk和Edge,Trunk(主干)类型用于两个交换机之间的连接,Edge(末端)类型用于连接IED等终端设备。

3)管理VLAN和一般VLAN。

每个交换机端口都保留了一个默认的VLAN(一般Vlan_ ID为1),通过它可以改变交换机的参数设置,叫做管理VLAN。

Vlan的tag和untagged

Vlan的tag和untagged

Vlan的tag和untagged
Vlan的 tag 和 untagged
和vlan相关的IEEE标准为IEEE802.1Q
基本以太⽹帧结构如下:
相对于普通以太⽹帧,扩展以太⽹帧多了4个字节,Vlan帧在源Mac地址后添加了⼀个2byte长的Tag字段。

这个字段具体⼜分为:TPID: tag protocal ID为固定值:0x8100
priority: 3bits长,有8个优先级
CFI: 规范为0,⾮规范为1
Vlan ID: 12bits长,取值1~4094
这个tag⾮常重要,⽬前虽然有很多种形式的Vlan,如:基于端⼝的Vlan,基于Mac的Vlan,基于协议的Vlan等等,但是最终都会转换到tag 上来。

最常⽤的是基于端⼝的Vlan,由此引出⼏种不同的端⼝类型:access/trunk/hybrid
Access端⼝只能属于⼀个Vlan,该端⼝接收到普通以太⽹帧就打上Tag,Vlan ID就是该端⼝所在Vlan的ID;该端⼝向外转发时会将Tag去掉。

⼀般⽤于连接PC等⾮Vlan知晓设备。

Trunk⼝可以属于多个Vlan,该端⼝转发帧时除了与其PVID⼀致的Vlan帧不打Tag,其他的在允许的vlan列表中均tag输出。

PVID就是该端⼝的默认Vlan的ID。

⼀般⽤于交换机直接的互连。

Hybrid⼝也可以属于多个Vlan,但是与Trunk⼝不同的是,它允许多个Vlan帧打tag转发,也允许多个Vlan帧不打tag转发。

使⽤⽐较灵活,基于协议的Vlan是⼀个例⼦。

hybrid在端口为tag和untag两种不同情况

hybrid在端口为tag和untag两种不同情况

hybrid在端口为tag和untag两种不同情况hybrid端口配置了:port hybrid tagged vlan 2 4port hybrid untagged vlan 3 5一、当交换机接收到一个来自其他设备的以太网帧时,首先查看该帧是否带了标签(即VLAN 信息),1. 如果不带标签(如来自PC,或者其他设备发送时剥离了标签)那么允许该标签进入交换机,同时打上该端口的PVID的VLAN号。

该帧从不带标签到带标签。

2. 如果带标签,那么首先查看该帧所带VLAN号是否在我上边两行命令行里出现了,比如3就出现了,6没有出现;那么对于带3的帧,会让该帧通过,不会对帧做任何更改。

而对于带6的帧,就不会让它通过而直接丢弃。

二、当交换机要发送一个以太帧出去时,(不会检查是否带标签,因为所有帧都是从CPU 过来的,肯定带了标签)对于tagged定义的帧,端口会直接发送,不会做任何更改,例如帧4。

而对于untagged定义的帧,会剥离掉该帧的标签,该帧从带标签到不带标签,如帧5 。

总结一句,对于tagged和untagged定义的帧,只有在发送时才会有剥离或不剥离的区别,而对于接收到帧的时候,只会起一个判断是否允许该帧通过的作用(定义了则允许通过,未定义则丢弃)。

VLAN之access,trunk,hybrid三种模式区别1.tag报文结构是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,普通的PC网卡是不能识别的。

2.Access端口只属于1个VLAN,一般用于连接计算机端口。

3.Trunk类型的端口可用于多VLAN通信。

4.Hybrid类型的端口允许多VLAN通过,可以接收发送多VLAN报文,可用于交换机与交换机的连接,也可用于交换机和计算机的连接。

5.Hybrid类型的端口和trunk端口在处理数据包时,方法是一样的。

唯一不同之处在于发送数据包时,hybrid端口可以允许多个VLAN的数据包发送时不打标签,而truck端口只允许缺省vlan(native vlan或者default vlan)的数据包发送时不打标签。

交换机中tag、untag的理解

交换机中tag、untag的理解

交换机中tag、untag的理解情况列举 Switch收发 Switch对标记的处理 remarkAccess (接收) Tagged = PVID 不接收注:部分高端产品可能接收。

Access (接收) Tagged =/ PVID 不接收注:部分高端产品可能接收。

Access (接收) Untagged 接收增加tag=PVID 从PCAccess (发送) Tagged = PVID 转发删除tagAccess (发送) Tagged =/ PVID 不转发不处理Access (发送) Untagged 无此情况无此情况无此情况Trunk (接收) Tagged = PVID 接收不修改tagTrunk (接收) Tagged =/ PVID 接收不修改tagTrunk (接收) Untagged 接收增加tag=PVIDTrunk (发送) Tagged = PVID If Passing then 转发删除tagTrunk (发送) Tagged =/ PVID If Passing then 转发不修改tag Trunk (发送) Untagged 无此情况无此情况无此情况(注)Hybrid (接收) Tagged = PVID 接收不修改tag 对端是trunkHybrid (接收) Tagged =/ PVID 接收不修改tag 对端是trunk Hybrid (接收) Untagged 接收增加tag=PVID 类TrunkHybrid (发送) Tagged = PVID Tag 和 untag 中列出的vlan可以passing 看Tag项和untag项Hybrid (发送) Tagged =/ PVID Tag 和 untag 中列出的vlan可以passing 看Tag项和untag项Hybrid (发送) Untagged 无此情况无此情况无此情况(注)我来解释一下收报文:Acess端口1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)发报文:Acess端口: 1、将报文的VLAN信息剥离,直接发送出去收报文:trunk端口: 1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该 VLAN的数据进入:如果可以则转发,否则丢弃发报文:trunk端口:1、比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送收报文:hybrid端口: 1、收到一个报文2、判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃发报文:hybrid端口:1、判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag,哪些VLAN是tag)2、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送================================以下是神码大学郑老师的讲解,更清楚直观先呈请一下上面的几个帖子的术语:Tag为IEEE802.1Q协议定义的VLAN的标记在数据帧中的标示;ACCESS端口,TRUNK端口是厂家对某一种端口的叫法,并非IEEE802.1Q协议的标准定义;这个数据交换的过程比较复杂,如果想解释的话,首先要了解一下几个IEEE802.1Q协议的定理;1、下面是定义的各种端口类型对各种数据帧的处理方法;————————Tagged数据帧 Tagged数据帧 Untagged数据帧 Untagged数据帧————————in out in out Tagged端口___原样接收原样发送按端口PVID打TAG标记按照PVID打TAG标记Untagged端口_丢弃去掉TAG标记按端口PVID打TAG标记原样发送2、所谓的Untagged Port和tagged Port不是讲述物理端口的状态,而是将是物理端口所拥有的某一个VID的状态,所以一个物理端口可以在某一个VID上是Untagged Port,在另一个VID上是tag ged Port;3、一个物理端口只能拥有一个PVID,当一个物理端口拥有了一个PVID的时候,必定会拥有和PVID的TAG等同的VID,而且在这个VID上,这个物理端口必定是Untagged Port;4、PVID的作用只是在交换机从外部接受到可以接受Untagged 数据帧的时候给数据帧添加TAG标记用的,在交换机内部转发数据的时候PVID不起任何作用;5、拥有和TAG标记一致的VID的物理端口,不论是否在这个VI D上是Untagged Port或者tagged Port,都可以接受来自交换机内部的标记了这个TAG标记的tagged 数据帧;6、拥有和TAG标记一致的VID的物理端口,只有在这个VID上是tagged Port,才可以接受来自交换机外部的标记了这个TAG标记的tagged 数据帧;以下是神州数码对命令的定义(各个厂家对命令的定义可能不一定一致,但是都必须遵循上面的定理):1、Trunk端口就是在一个物理端口上增加这个交换机所有VLAN 的VID标示,并且除了和这个物理端口PVID标示一致的VID标示为Untagged Port外,在其他的VID上都是Tagged Port;2、Access端口就是指拥有一个和PVID标记相同的VID的物理端口,在这个VID上,遵循定理一定为untagged Port;在了解了以上的基础理论之后,我们在来看一下楼主的问题:一个数据包从PC机发出经过ACCESS端口->TRUNK端口->TRu nk->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=U ntagged Port)->PC数据包发生了怎么样的变化?(Untagged 数据帧)首先假设两台交换机刚刚开机(MAC地址表为空)从PC机发出的数据帧进入交换机的ACCESS端口以后,会按照这个端口的PVID打100的Tag标记,根据交换机的转发原理,交换机会把这个数据帧转发给VID=100的所有端口(除了进口以外),这个过程叫做VLAN Fl ood;参照上面的定理1;由于Trunk端口拥有VID=100,所以才可接受这个标记T ag为1 00的tagged数据帧;参照上面的定理5;由于Trunk端口在VID=100上为tagged Port,所以在发送数据帧出交换机的时候,不改变Tagged数据帧的结构;参照上面的定理1;到了另一个交换机的Trunk端口的时候,由于Trunk端口拥有VI D=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机就收到了这个数据;。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

这里做了简化,假设一个报文从Port1入,从Port2出,期间可能经过的环节如上所示的1-5。

报文的Tag处理主要在1、5
环节1:如果报文的是Untag的,则报文被加上Port1的PVID的tag,然后送给2层转发引擎L2。

如果报文的Tag不是Port1所属的VLAN,则报文丢弃。

环节5:如果报文此时的Tag等于Port2的PVID,则报文去Tag,变为Untag的,如果报文的Tag在端口的Untag列表里,报文去掉Tag,变为Untag。

如果报文的Tag不是Port2的PVID,但在端口的Tag列表里,报文Tag不变。

对于任意端口来说,只能是三种类型的一种:Access,Trunk,Multi。

如果是Access,端口只能属于特定VLAN,只能有一个Untag的VLAN,且其等于PVID,没有Tag的VLAN。

因此Access端口只能接收Untag的报文或所属的VLAN,即等于PVID 的VLAN。

出去的报文都是Untag的。

如果是Trunk端口,端口只能有一个Untag的VLAN,且其等于PVID,有多个Tag的VLAN。

端口可以接收在所有允许的VLAN和Untag的报文,如果是Untag的报文,则在PVID所在的VLAN转发。

报文发送时,按上述规则转发,即可能是Tag的,也可能是Untag的。

Multi端口是一种特殊的端口,任何VLAN可能属于此端口的Untag的,也可以属于Tag的。

PVID可能等于Tag VLAN中的一个,也可能属于Untag VLAN中的一个。

因此这里就有矛盾的是,如果PVID是Tag VLAN中的一个,转发时仍按PVID来处理,也就是上述的规则,先进行报文的Tag与PVID的比较,只要相等就给Untag。

实际使用Multi端口,组网会出问题的,限制也比较多,这一两句也说不清,不过按上述转发规则,自己可以考虑一些有问题的应用。

一般来说,如果交换机有一个端口已经起了Trunk,则不能再启动Multi了。

可以再简要分析几种转发情况。

如果报文从Port1入,如果报文是Untag的,或者报文的Tag是Port1所属的VLAN,则报文是合法的。

如果报文的MAC地址不等于端口的VLAN的MAC地址,则进行二层转发。

如果L2引擎查找到目的MAC的表项,则按端口转发,否则在VLAN内广播。

如果报文的MAC地址等于端口的VLAN的MAC地址,且此VLAN的三层接口是UP的,则会进行三层转发。

报文通过环节3到三层转发引擎,如果三层转发引擎匹配到了目的IP,则硬件直接转发,从环节5出,此时Tag已经变成出接口VLAN的Tag,然后在按照端口转发原则进行转发。

因此,三层报文如果从Trunk端口出,可能是Tag的,也可能是Untag的,如果是Untag的,那肯定是报文出接口的PVID所对应的VLAN。

这里还有一个细节是交换机如何对协议报文的处理,最频繁的应该是ARP的请求报文,其余还有一些路由协议或其他协议报文。

ARP报文的目的MAC是广播的,不等于VLAN的目的MAC,因此会将此报文在VLAN内广播,对所有VLAN来说,CPU也是其的一个端口。

因此CPU是可以收到其他主机或网络设备对其IP的ARP请求,正确处理之后,其他主机或网络设备以后就可以使用此MAC进行三层通信了。

相关文档
最新文档