trunk端口都必须有pvid
交换机三种端口转发规则(原创)

首先第一点需要明白的是:在我们交换机上存在三种VLAN端口,它们分别是access端口、hybrid端口、以及trunk端口,它们各自都有自己的属性,以及在数据流处理过程中的转发规则。
一、access 端口的转发规则access端口收到一个数据帧时,作如下处理:首先第一步:当一个数据帧进入到access之前,首先判断这个帧中是否带有VLAN TAG的信息,那么判断的结果只有两种,要么有要么没有,那么接下来ACCESS端口,又会根据判断的不同的结果,分别作不同的处理呢?如果有VLANTAG,那么默认情况下,access端口是不接收带有VLAN TAG的数据帧,此时该数据帧会被ACCESS端口直接丢弃如果没有VLANTAG,那么ACCESS端口会接收该数据帧,并且会在该原始的以太网数据帧中插入ACCESS端口的PVID信息作为VLAN TAG标记,然后带有VLANTAG的数据帧会流入交换机内部(此时ACCESS端口的收的任务实际上已经完成啦,因为此时数据帧已经从access端口被接收进来啦),接下来的任务会交给交换机来处理,交换机会根据帧中的目的MAC地址,来查找自己MAC地址表所对应的表项,如果查到则从相应的端口转发出去,没有则广播。
在绝大部分情况下,ACEESS端接收到的数据帧是不带VLAN TAG的标记,因为通常情况下,ACCESS端口连接的是PC机,而一个PC机在不经过特殊处理的情况下,发出的原始的以太网数据帧,即我们平时所说的裸帧(不带VLANTAG)这里需要说明的是ACCESS端口PVID的概念:PVID:故名思意即为PORT VLAN ID的缩写,那么ACCESS端口的PVID是多少呢,它又是怎么知道的呢?实际上说直白一点:就是你在配置ACCESS 端口时,属于那个VLAN,那么它的PVID就是该端口所属的VLAN IDACCESS端口在发送数据帧之前,作如下处理:当ACCESS端口转发数据帧之前,根据MAC地址表项中目的地址所对应的表项,并取出该转发端口的VLAN ID 与接收进来的数据帧中所带的VLAN ID作比较,如果相同,则脱标,以原始数据帧的格式,从ACCESS端口转发出去,如果不同,则不转发直接丢弃,从这一点来说,这也就可以解释为什么在交换机内部同一VLAN数据能被转发,而不同VLAN的数据不能被转发的原因Access端口收发规则总结:1、ACCESS端口收规则:ACCESS端口收到一个数据帧以后判断是否带有VLANTAG 信息,如果有,那么ACCESS端口默认情况下,不予于转发,会直接丢弃该数据帧,如果没有,在进入该端口时,则会在原始数据帧的内部打上(插入)该access端口的PVID后接收进来,然后接下来把带有TAG的数据帧交给交换机作下一步数据转发处理2、ACCESS端口发规则:在收到一个带有TAG的数据帧后,ACCESS端口在转发出去之前,比较帧中的VLANID与自己的PVID是否相同,如果相同,则去掉帧中的VLAN TAG标记,然后转发出去,如果不相同,则直接丢弃3、请记住从ACCESS端口接收进来的一定是带有VLANTAG标记的帧,而从ACCESS端口发送出去的一定是原始的以太帧(即所谓的不带VLANTAG的裸帧)二、TRUNK端口的转发规则:1、trunk端口收规则Trunk端口收到数据帧后,作如下处理:首先判断帧中是否带有VLAN TAG标记,如果没有则打上Trunk端口的PVID,(默认这个TRUNK PVID是1,关于这一点稍后作更详细的解释说明),如果有则判断帧中的VLAN ID是否允许在该TRUNK端口中转发出去,如果允许则转发,如果不允许则丢弃2、trunk 端口发规则Trunk端口在转发数据帧之前,比较收到帧中的VLAN ID与TRUNK端口的PVID是否相同,如果相同,则剥离VLAN TAG标记,恢复成裸帧后转发出去。
交换机各个端口类型的概述

交换机各个端口类型的概述来源:网络首先,将交换机得类型进行划分,交换机分为低端(SOHO级)与高端(企业级)。
其两者得重要区别就就是低端得交换机,每一个物理端口为一个逻辑端口,而高端交换机则就是将多个物理端口捆绑成一个逻辑端口再进行得配置得。
cisco网络中,交换机在局域网中最终稳定状态得接口类型主要有四种:access/ trunk/ multi/ dot1qtunnel。
1、access: 主要用来接入终端设备,如PC机、服务器、打印服务器等。
2、trunk: 主要用在连接其它交换机,以便在线路上承载多个vlan。
3、multi: 在一个线路中承载多个vlan,但不像trunk,它不对承载得数据打标签。
主要用于接入支持多vlan得服务器或者一些网络分析设备。
现在基本不使用此类接口,在cisco得网络设备中,也基本不支持此类接口了。
4、dot1qtunnel: 用在QinQ隧道配置中。
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。
什么是pvid

什么是pvid Trunk(端⼝汇聚)的概念与设置pvid,就是指port vid。
并⾮单指华为设备。
⼀般来说,pvid和vid是同时应⽤的(只要是⽀持802.1q的交换机),pvid指的是帧进端⼝的策略,vid指的是帧出端⼝的策略。
进端⼝时如果帧没有vlan tag,就以pvid值给帧打上tag;如果有tag,就不改变其值。
Trunk(端⼝汇聚)的概念与设置在⼆层交换机的性能参数中,常常提到⼀个重要的指标:TRUNK,许多的⼆层交换机产品在介绍其性能时,都会提到能够⽀持TRUNK功能,从⽽可以为互连的交换机之间提供更好的传输性能。
那到底什么是TRUNK呢?使⽤TRUNK功能到底能给我们带来哪些应⽤⽅⾯的优势?还有在具体的交换机产品中怎样来配置TRUNK.下⾯我们来了解⼀下这些⽅⾯的知识。
⼀、什么是TRUNK? TRUNK是端⼝汇聚的意思,就是通过配置软件的设置,将2个或多个物理端⼝组合在⼀起成为⼀条逻辑的路径从⽽增加在交换机和⽹络节点之间的带宽,将属于这⼏个端⼝的带宽合并,给端⼝提供⼀个⼏倍于独⽴端⼝的独享的⾼带宽。
Trunk是⼀种封装技术,它是⼀条点到点的链路,链路的两端可以都是交换机,也可以是交换机和路由器,还可以是主机和交换机或路由器。
基于端⼝汇聚(Trunk)功能,允许交换机与交换机、交换机与路由器、主机与交换机或路由器之间通过两个或多个端⼝并⾏连接同时传输以提供更⾼带宽、更⼤吞吐量,⼤幅度提供整个⽹络能⼒。
⼀般情况下,在没有使⽤TRUNK时,⼤家都知道,百兆以太⽹的双绞线的这种传输介质特性决定在两个互连的普通10/100交换机的带宽仅为100M,如果是采⽤的全双⼯模式的话,则传输的最⼤带宽可以达到最⼤200M,这样就形成了⽹络主⼲和服务器瓶颈。
要达到更⾼的数据传输率,则需要更换传输媒介,使⽤千兆光纤或升级成为千兆以太⽹,这样虽能在带宽上能够达到千兆,但成本却⾮常昂贵(可能连交换机也需要⼀块换掉),更本不适合低成本的中⼩企业和学校使⽤。
Access、Hybrid和Trunk三种模式的理解

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

access和trunk和hybird端口的区别以太网端口的三种链路类型: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端口和Trunk 端口的缺省VLAN为VLAN 1如果设置了端口的缺省VLAN ID,当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN 的端口;当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。
注:对于华为交换机缺省VLAN被称为“Pvid Vlan”,对于思科交换机缺省VLAN被称为“Native Vlan”交换机接口出入数据处理过程:Acess端口收报文:收到一个报文,判断是否有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则直接发送以下案例可以帮助大家深入理解华为交换机的hybrid端口模式[Switch-Ethernet0/1]int e0/1[Switch-Ethernet0/1]port link-type hybrid[Switch-Ethernet0/1]port hybrid pvid vlan 10[Switch-Ethernet0/1]port hybrid vlan 10 20 untagged[Switch-Ethernet0/1] int e0/2[Switch-Ethernet0/2]port link-type hybrid[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、Hybrid和Trunk的理解

交换机三种端口模式Access、Hybrid和Trunk的理解交换机的主要功能包括物理编址、网络拓扑结构、错误校验、帧序列以及流控。
交换机还具备了一些新的功能,如对VLAN(虚拟局域网)的支持、对链路汇聚的支持,甚至有的还具有防火墙的功能。
其中主要的三种端口模式为Access、Hybrid和Trunk,具体有什么特点呢?这篇文章主要介绍了交换机三种端口模式Access、Hybrid和Trunk的理解,需要的朋友可以参考下详细介绍TRUNK是端口汇聚的意思,允许交换机与交换机、交换机与路由器、主机与交换机或路由器之间通过两个或多个端口并行连接同时传输以提供更高带宽、更大吞吐量,大幅度提供整个网络能力。
VLAN TRUNK一般是你设置了多个VLAN后,想通过一个端口传输多个VLAN,这个后需要把该端口设置为TRUNK了。
在技术领域中把TRUNK翻译为中文是“主干、干线、中继线、长途线” ,不过一般不翻译,直接用原文。
而且这个词在不同场合也有不同的解释:1、在网络的分层结构和宽带的合理分配方面,TRUNK被解释为“端口汇聚”,是带宽扩展和链路备份的一个重要途径。
TRUNK把多个物理端口捆绑在一起当作一个逻辑端口使用,可以把多组端口的宽带叠加起来使用。
TRUNK技术可以实现TRUNK内部多条链路互为备份的功能,即当一条链路出现故障时,不影响其他链路的工作,同时多链路之间还能实现流量均衡,就像我们熟悉的打印机池和MODEM 池一样。
2、在电信网络的语音级的线路中,Trunk指“主干网络、电话干线”,即两个交换局或交换机之间的连接电路或信道,它能够在两端之间进行转接,并提供必要的信令和终端设备。
3、但是在最普遍的路由与交换领域,VLAN的端口聚合也有的叫TRUNK,不过大多数都叫TRUNKING ,如CISCO公司。
所谓的TRUNKING是用来在不同的交换机之间进行连接,以保证在跨越多个交换机上建立的同一个VLAN的成员能够相互通讯。
trunk端口都必须有pvid

默认情况下,简单的理解为:
access 端口接PC,VID=PVID
trunk 端口级联,VID=全部,PVID=1
从trunk口转发出去的数据帧一定是已封装VLAN标识的数据帧。802.1q数据帧发出trunk口,端口对数据不做任何动作,因为数据帧从交换机的任何端口进入都将被打上封装802.1q数据帧,因此在交换机需要转发出一个数据时,这个数据一定是802.1q帧。普通数据进入trunk口时,根据trunk端口本身的pvid值对数据进行802.1q封装。从access端口转发出去的数据帧一定是已经去掉封装的数据帧。普通数据帧进入access端口,端口会根据本身的pvid对数据进行802.1q封装。当端口要转发数据时,它将转发到VID与该端口pvid相同的端口,然后再s根据目的mac地址选择是否要拆封装(如果要转发到其他交换机则不用拆封装,否则拆封装发送到目的主机[该主机接到交base vlan 是基于端口的vlan id. 1.pvid 不是加在帧头的标记,而是端口的属性。怎么理解呢,加在帧头的标记叫VLAN identifier(802.1q术语),只是常常加在帧头的标识值和pvid 值一样而已。所以pvid只是端口的属性,就象端口的speed一样。 2。pvid 是 用来标识端口接收到的未标记的帧。也就是说,当端口收到一个未标记的帧时,就把该帧打上vlan id,这个id值等于pvid的值,然后转发到VID和PVID相等的VLAN 中。 3.帧从端口出去时,如果帧头中的VID和端口的PVID值相同,就把这个标识去掉,再送出去。下面是交换机接各种口收到和发送数据帧采取的动作 Access (接收) Tagged = PVID 不接收 注:部分高端产品可能接收。 Access (接收) Tagged =/ PVID 不接收 注:部分高端产品可能接收。 Access (接收) Untagged 接收 增加tag=PVID 从PC Access (发送) Tagged = PVID 转发 删除tag Access (发送) Tagged =/ PVID 不转发 不处理 Access (发送) Untagged 无此情况 无此情况 无此情况 Trunk (接收) Tagged = PVID 接收 不修改tag Trunk (接收) Tagged =/ PVID 接收 不修改tag Trunk (接收) Untagged 接收 增加tag=PVID Trunk (发送) Tagged = PVID If Passing then 转发 删除tag Trunk (发送) Tagged =/ PVID If Passing then 转发 不修改tag Trunk (发送) Untagged 无此情况 无此情况 无此情况(注) Hybrid (接收) Tagged = PVID 接收 不修改tag 对端是trunk Hybrid (接收) Tagged =/ PVID 接收 不修改tag 对端是trunk Hybrid (接收) Untagged 接收 增加tag=PVID 类Trunk Hyb
h3c交换机配置命令有哪些

h3c交换机配置命令有哪些交换机的主要功能包括物理编址、网络拓扑结构、错误校验、帧序列以及流控。
交换机还具备了一些新的功能,如对VLAN(虚拟局域网)的支持、对链路汇聚的支持,甚至有的还具有防火墙的功能。
那么具体怎么配置呢?h3c交换机配置命令整理分享,需要的朋友可以参考下,希望可以得到帮助华为3COM交换机配置命令详解1、配置文件相关命令[Quidway]display current-configuration ;显示当前生效的配置[Quidway]display saved-configuration ;显示flash中配置文件,即下次上电启动时所用的配置文件reset saved-configuration ;檫除旧的配置文件reboot ;交换机重启display version ;显示系统版本信息2、基本配置[Quidway]super password ;修改特权用户密码[Quidway]sysname ;交换机命名[Quidway]interface ethernet 0/1 ;进入接口视图[Quidway]interface vlan x ;进入接口视图[Quidway-Vlan-interfacex]ip address 10.65.1.1 255.255.0.0 ;配置VLAN的IP地址[Quidway]ip route-static 0.0.0.0 0.0.0.0 10.65.1.2 ;静态路由=网关3、telnet配置[Quidway]user-interface vty 0 4 ;进入虚拟终端[S3026-ui-vty0-4]authentication-mode password ;设置口令模式[S3026-ui-vty0-4]set authentication-mode password simple 222 ;设置口令[S3026-ui-vty0-4]user privilege level 3 ;用户级别4、端口配置[Quidway-Ethernet0/1]duplex {half|full|auto} ;配置端口工作状态[Quidway-Ethernet0/1]speed {10|100|auto} ;配置端口工作速率[Quidway-Ethernet0/1]flow-control ;配置端口流控[Quidway-Ethernet0/1]mdi {across|auto|normal} ;配置端口平接扭接[Quidway-Ethernet0/1]port link-type {trunk|access|hybrid} ;设置端口工作模式[Quidway-Ethernet0/1]undo shutdown ;激活端口[Quidway-Ethernet0/2]quit ;退出系统视图5、链路聚合配置[DeviceA] link-aggregation group 1 mode manual ;创建手工聚合组1[DeviceA] interface ethernet 1/0/1 ;将以太网端口Ethernet1/0/1加入聚合组1[DeviceA-Ethernet1/0/1] port link-aggregation group 1[DeviceA-Ethernet1/0/1] interface ethernet 1/0/2 ;将以太网端口Ethernet1/0/1加入聚合组1[DeviceA-Ethernet1/0/2] port link-aggregation group 1[DeviceA] link-aggregation group 1 service-type tunnel # 在手工聚合组的基础上创建Tunnel业务环回组。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
trunk端口都必须有pvidpvid是什么(2009-03-16 21:34:39)无论什么时候交换机trunk端口都必须有pvid,因为trunk链路可以发送和接收被802.1q标记过的帧和未标记的帧。
如果trunk端口接到了标记过的帧则会读出标记里的vlan id并发送到相应的vlan 端口;如果收到了没有标记过的帧,trunk端口认为此帧的vlan id就是该trunk端口配置的pvid,因此该帧被发送到与此trunk端口pvid号码一致的vlan端口。
举个例子,如果trunk的pvid是vlan 10,trunk 接受到没有标记过的帧就将此帧转发到vlan 10的端口。
另外如果一个帧进入交换机准备发送到下个交换机时,交换机trunk端口检查此帧是从该交换机哪个vlan接收的,如果和trunk端口的pvid不匹配则打上802.1q标记发送,如果就是从该pvid所属的vlan接受的,则不打标记发送。
举个例子,过一台交换机从vlan 5接受到一个数据帧并要发送到下个交换机,而此交换机的trunk端口的pvid为vlan 10,于是该交换机的trunk端口给此帧打上vlan id为5的802.1q标记并发送,而从该交换机vlan 10接受的帧则在发送时不会打标记。
首先有一点要说明,所有的以太网帧在交换机内部的时候都是带有tag标记的。
pvid主要在下面几个情况下起作用。
当交换机受到一个空白的以太网帧的时候,交换机会给这个以太网帧加上该端口的pvid,如果这个以太网帧有802.1q的tag标记,这个tag又和接收端口的pvid不同那么交换机不会做任何动作。
当一个带有tag标记的以太网帧从一个端口发出的时候,如果tag 和该端口的pvid不同的时候交换机依旧不做任何动作直接放行,如果相同则会脱掉tag标记。
那么什么时候pvid会改变呢?就是在把端口设置为access端口的时候pvid会发生改变。
pvid英文解析为port-base vlan id(一些资料解析为port vlan id 我认为不准),是基于端口的vlan id.1.pvid 不是加在帧头的标记,而是端口的属性。
怎么理解呢,加在帧头的标记叫VLAN identifier(802.1q术语),只是常常加在帧头的标识值和pvid 值一样而已。
所以pvid只是端口的属性,就象端口的speed一样。
2。
pvid 是用来标识端口接收到的未标记的帧。
也就是说,当端口收到一个未标记的帧时,就把该帧打上vlan id,这个id值等于pvid的值,然后转发到VID和PVID相等的VLAN 中。
3.帧从端口出去时,如果帧头中的VID和端口的PVID值相同,就把这个标识去掉,再送出去。
4.如果端口为access类型,并加入了一个vlan ,那么这端口的PVID属性值变成和VID值一样,如果不一样就会把帧送到错误的vlan 中,导致通行中断。
但在trunk型的端口里,pvid的值是默认的1,注意交换机默认的vid也是1,所以交换机vlan id 为1的端口向trunk 端口转发数据包时,trunk端口的把帧头的标识去掉再发出去,到了对方交换机trunk口时,由于帧没有带标识,所以会加上个vid,其值为1(因为trunk端口默认的pvid为1),这样数据包就会被正确的送到vlan id为1的端口中。
所以没有划分vlan的端口发出的数据包也能通过trunk端口发出去,可以正常通行。
而不是不能通过trunk口。
默认情况下,简单的理解为:access 端口接PC,VID=PVIDtrunk 端口级联,VID=全部,PVID=1从trunk口转发出去的数据帧一定是已封装VLAN标识的数据帧。
802.1q数据帧发出trunk口,端口对数据不做任何动作,因为数据帧从交换机的任何端口进入都将被打上封装802.1q数据帧,因此在交换机需要转发出一个数据时,这个数据一定是802.1q帧。
普通数据进入trunk口时,根据trunk端口本身的pvid值对数据进行802.1q封装。
从access端口转发出去的数据帧一定是已经去掉封装的数据帧。
普通数据帧进入access端口,端口会根据本身的pvid对数据进行802.1q 封装。
当端口要转发数据时,它将转发到VID与该端口pvid相同的端口,然后再s根据目的mac地址选择是否要拆封装(如果要转发到其他交换机则不用拆封装,否则拆封装发送到目的主机[该主机接到交换机的access端口])pvid英文解析为port-base vlan 是基于端口的vlan id. 1.pvid 不是加在帧头的标记,而是端口的属性。
怎么理解呢,加在帧头的标记叫VLAN identifier(802.1q术语),只是常常加在帧头的标识值和pvid 值一样而已。
所以pvid只是端口的属性,就象端口的speed一样。
2。
pvid 是用来标识端口接收到的未标记的帧。
也就是说,当端口收到一个未标记的帧时,就把该帧打上vlan id,这个id值等于pvid 的值,然后转发到VID和PVID相等的VLAN 中。
3.帧从端口出去时,如果帧头中的VID和端口的PVID值相同,就把这个标识去掉,再送出去。
下面是交换机接各种口收到和发送数据帧采取的动作Access (接收) Tagged = PVID 不接收注:部分高端产品可能接收。
Access (接收) Tagged =/ PVID 不接收注:部分高端产品可能接收。
Access (接收) Untagged 接收增加tag=PVID 从PC Access (发送) Tagged = PVID 转发删除tag Access (发送) Tagged =/ PVID 不转发不处理Access (发送) Untagged 无此情况无此情况无此情况 Trunk (接收) Tagged = PVID 接收不修改tag Trunk (接收) Tagged =/ PVID 接收不修改tag Trunk (接收) Untagged 接收增加tag=PVID Trunk (发送) Tagged = PVID If Passing then 转发删除tag Trunk (发送) Tagged =/ PVID If Passing then 转发不修改tag Trunk (发送)Untagged 无此情况无此情况无此情况(注) Hybrid (接收) Tagged = PVID 接收不修改tag 对端是trunk Hybrid (接收) Tagged =/ PVID 接收不修改tag 对端是trunk Hybrid (接收) Untagged 接收增加tag =PVID 类Trunk Hybrid (发送) Tagged = PVID Tag 和untag 中列出的vlan可以passing 看Tag项和untag项 Hybrid (发送) Tagged =/ PVID Tag 和untag 中列出的vlan可以passing 看T ag项和untag项 Hybrid (发送) Untagged 无此情况无此情况无此情况(注)注:数据帧在交换机内部转发过程中不会改变数据中的tag也不会删除数据帧中的tag; 改变数据帧中的tag只发生在数据帧进入或离开端口时。
下面来解释上面的几种状态。
1,Access (接收) Tagged = PVID 不接收注:部分高端产品可能接收。
2,Access (接收) Tagged =/ PVID 不接收注:部分高端产品可能接收。
3,Access (接收) Untagged 接收增加tag=PVID 从PC (1),这种状态一般不会发生,在如下的情况会发生accsess端口收到带tag=pvid的情况。
pc1-----access(switch)trunk----------access(switch2)access------pc2 所有taccess端口都处于同一个vlan中。
pc发送给switch1的数据帧将增加tag=pid然后转发到switch的trunk口参照“Trunk (发送) Tagged =/ PVID If Passing then 转发不修改tag”数据帧将会原样转发到swi tch2的access端口。
在这里就出现了我们的第一种情况,Access (接收) Tagged = PVID 不接收. 第2个很容易明白access当然不会接收tagg 不等于pvid的数据帧,不然我们划分vlan就没有任何意义。
(无法隔离广播域) 第三种情况是我们最常用的access端口收到pc发送的untag数据帧会增加tag=pvid 下面来看看access发送数据帧的三种情况。
Access (发送) Tagged = PVID 转发删除tag Access (发送) Tagged =/ PVID 不转发不处理 Access (发送) Untagged 无此情况无此情况无此情况第一种情况比较常见在如下拓扑中pc1-------access1(switch)access2-----pc2 过程大致如下, pc1的untag包到达access1打上Pvid转发到access2发现发送过来的数据帧tag=pvid 会删除tag转发。
第二种情况一般不会发生(还真想不出来哪种情况下会发生) 第三种情况无此情况无此情况下面来看看trunk口的情况Trunk (接收) Tagged = PVID 接收不修改tag Trunk (接收) Tagged =/ PVID 接收不修改tag Trunk (接收) Untagged 接收增加tag=PVID Trunk (发送) Tagged = PVID If Passing then 转发删除tag Trunk (发送) Tagged =/ PVID If Passing then 转发不修改tag Trunk (发送) Untagged 无此情况无此情况无此情况(注) Trunk口的情况比较容易比较容易理解就不一一解释了。
用几个例子来说明上面遇到的几种情况。
pc1-----fa0/1(switch1)fa0/2------fa0/3(switch2)fa0/4-------pc2 switch上每个端口都是access端口,switch1的端口都加入vlan 10 switch2的端口都加入vlan 20;pc1和pc二的IP地址在同一网段。
经测试pc1可以正常访问pc2下面我们来看看数据转发的过程。
fa0/1 :Access (接收) Untagged 接收增加tag=10 然后转发到fa0/2 fa0/2 :Access (发送) Tagged = 10转发删除tag fa0/3 :Access (接收) Untagged 接收增加tag=20 然后转发到fa0/4 fa0/4 : Access (发送) Tagged = 20 转发删除tag PC: 收到untagged包可以正常接收。