设为首页 收藏本站
查看: 2368|回复: 0

[经验分享] VLAN之access,trunk,hybrid三种模式区别

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-17 09:28:59 | 显示全部楼层 |阅读模式
  • tag报文结构是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,普通的PC网卡是不能识别 的。

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

  • Hybrid类型的端口和trunk端口在处理数据包时,方法是一样的。唯一不同之处在于发送数据包时,hybrid端口可以允许多个VLAN的数据包发送时不打标签,而truck端口只允许缺省vlan(native vlan或者default vlan)的数据包发送时不打标签。
  • Access端口只属于一个vlan, 所以它的缺省VLAN就是它所在的VLAN, 不用设置。hybrid 端口 和trunk端口属于多个VLAN, 所以需要设置缺省VLAN, 默认情况下,它们的缺省VLAN是VLAN 1.
  • 如果设置了端口的缺省VLAN ID, 当端口接收到不带VLAN tag的数据包之后,则将数据包转发到缺省VLAN 所在的交换机端口;当端口发送带有VLAN tag的数据包时,如果该数据包的VLAN ID与端口缺省VLAN相同,则交换机将去掉数据包携带的VLAN tag, 然后转发到该端口。
  • 华为交换机的缺省VLAN 被称为PVID, 思科交换机则称为Native VLAN.
  • 交换机端口处理进出数据包过程如下:


  • Access 端口接收数据包:
    收到一个数据包,判断是否有VLAN信息,如果没有则打上端口的Native VLAN ID, 并进行交换转发。
    有人问了:如果有VLAN信息呢?一般情况下不应该将access端口与带有vlan的另一端口相连,因为access本来就是为接入普通计算机而设计的,而普通计算机的网卡发送数据包是不带vlan的。如果由于配置错误将其连到了对端trunk端口,或者现在有些计算机的网卡已经可以收发带有VLAN tag数据包,在这两种情况下,我的理解是,如果trunk端口发来的数据的VLAN ID与Access端口的native vlan相同,则交换机转发该数据包。如果trunk端口发来的数据包的VLAN ID与access端口的native vlan不同,则交换机丢弃该数据包。

  • Access 端口发送数据包:
    将数据包的VLAN信息剥离,直接发送出去。

  • Trunk端口接收数据包:
    收到一个数据包,判断是否有VLAN信息,如果没有则打上端口的Native VLAN ID,并进行交换转发。
    如果有VLAN信息,则判断该trunk端口是否允许该VLAN的数据包进入,如果允许则转发,否则丢弃。

  • Trunk端口发送数据包:
    比较端口的Native VLAN和发送数据包的VLAN信息,如果两者相等则剥离VLAN信息,然后发送。如果不相等,则直接发送。

  • Hybrid端口接收数据包:
    收到一个数据包,判断是否有VLAN信息, 如果没有则打上端口的Native VLAN ID, 并进行交换转发。
    如果有VLAN信息,则判断该hybrid端口是否允许该VLAN的数据包进入,如果允许则转发,否则丢弃。

  • Hybrid端口发送数据包:
    判断该VLAN在本端口配置的属性,如果属性是untag, 则剥离VLAN tag再进行转发。如果属性是tag, 则直接发送。


有一点必须清楚,就是交换机内部在处理数据包时,所有的数据包一定是打上VLAN tag的,知道了这一点,那么交换机处理VLAN的具体过程就很容易理解了。

举例1:
    两台交换机,一台端口配置trunk, native vlan为100, 另一台端口配置access, native vlan 为默认的1.
问: 连接到两台交换机的PC, 能互通吗? 为毛?

QQ截图20150717092916.png

    答案:通。 因为,trunk端口发出去的native vlan数据包中的vlan tag会被剥离,则另一交换机的access口收到的数据包是untag的,它当然能处理, 它收到后只在内部使用native vlan 1, 等一出交换机,由于是access端口,vlan tag就会被剥离掉,并送到trunk端口,而trunk端口再重新打上自己的native vlan 100进行转发。
    这个例子说明,中继端口发送native vlan数据包时是剥离tag的,即使两个链路配置了不同的native vlan, 也能互通。但是这时交换机的console口一般会报错:“Mismatched Native VLAN".  呵呵,是不是很神奇?

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-87522-1-1.html 上篇帖子: Cisco IOS XR在VMware环境下如何增加物理接口 下篇帖子: cisco1941 pppoe拨号上网client端配置 access hybrid
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表