VLAN的Hybrid和Trunk端口有何区别

有网友问这样一个问题:

vlan 1
vlan 2
vlan 3
vlan 4
vlan 5
interface Ethernet0/1
port link-type hybrid
port hybrid vlan 1 to 4 untagged
port hybrid pvid vlan 2
interface Ethernet0/2
port link-type hybrid
port hybrid vlan 3 to 5 untagged
port hybrid pvid vlan 3


  以上配置能不能传到另一台交换机? 也就是说和另一台交换机的同样的vlan Id 的端口能不能互通?也就是想知道什么时候用Hybrid,什么时候用Trunk?

  这个问题的答案为:端口有三种模式:access,hybrid,trunk。access就不说了,trunk可以属于多个vlan,可以接收和发送多个vlan的报文,一般用于交换机之间的连接;hybrid也可以属于多个vlan,可以接收和发送多个vlan的报文,可以用于交换机之间的连接也可以用于交换机和用户计算机之间的连接。trunk和hybrid的区别主要是,hybrid端口可以允许多个vlan的报文不打标签,而trunk端口只允许缺省vlan的报文不打标签,同一个交换机上不能hybrid和trunk并存。

  下边详细介绍一下三种端口:

  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的报文发送时不打标签。

  在这里先要向大家阐明端口的缺省VLAN这个概念

  Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;

  Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。缺省情况下,Hybrid端口和Trunk端口的缺省VLAN为VLAN 1

  当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN的端口(如果设置了端口的缺省VLAN ID)。当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。

  注:对于华三交换机缺省VLAN被称为“Pvid Vlan”,对于思科交换机缺省VLAN被称为“Native Vlan”交换机接口出入数据处理过程如下:

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

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

  (所以,Access端口可以实现同一交换机上相同VLAN下的主机通信;也可以实现交换机级连时的缺省VLAN1报文交换,但不能实现VLAN透传。)

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

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

  (所以,将交换机级连口统统设置为Trunk并允许所有VLAN通过后,VLAN2-VLAN4000直接透传,而VLAN1则因为和Trunk缺省PVID相同,需要通过剥离VLAN信息又添加VLAN信息实现了透传。而如果更改Trunk的缺省PVID,则可以实现某一交换机下的VLAN-X和另一交换机下的VLAN-Y通信。)

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

  如果没有则打上端口的PVID,并进行交换转发。

  hybrid端口发报文:

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

  (所以,Hybrid实现了不同VLAN下的主机的通信。)

  以下案例可以帮助大家深入理解华三交换机的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是不同的。
  以下以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

  再来分析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。

 

转载于:https://www.cnblogs.com/firadio/p/4279711.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【APICloud系列|35】小米应用商店版本更新

1.在小米应用商店后天重新上传一个更新加固已经签名的安装包。 链接地址:https://dev.mi.com 2.完善资料,只需要填写更新日志简单说明更新的缘由,再次选择相应的语言即可。原来的内容还是存在的。 3.提交审核就行。

Linux光盘检测,qpxtool

软件简介各位使用Linux系统的刻录发烧友有福了。不用再为了检测光碟品质而切换到Windows系统了。因为在Linux系统里也有支持光碟品质检测的软件!它的名字是QPxTool。虽说05年底QPxTool就诞生了,但最近才被以rpm包的形式提供给Fedora用户。首先看下它的界…

eclipse中tomcat能正常启动,在浏览器中不能打开问题

问题原因:没有在eclipse中tomcat的server location设置到tomcat的安装目录。 解决办法:1、选择server点击右键,选择Open选项,然后在server location栏设置tomcat的安装目录。 2、重新启动tomcat server。 3、在浏览器中输入&#…

存根类 测试代码 java_为旧版代码创建存根-测试技术6

存根类 测试代码 java任何阅读此博客的人都可能已经意识到,目前我正在开发一个项目,其中包含大量的旧代码,这些旧代码庞大,扩展且编写时从未进行过任何测试。 在使用此遗留代码时,有一个行为非常差的类非常普遍&#…

百度开发平台提交应用后进行官方认证审核失败?

昨晚收到一封来自百度的邮件 这里需要登录工业和信息化部查询后的ICP备案后的详细页面截图。(其实也可以在备案的平台查询相关信息,我的是在阿里云备案的,所以直接去阿里云比较方便快捷) 然后直接上传营业执照副本、ICP备案截图、…

linux字体如何删除不了,如何彻底替换Ubuntu下Chrome字体(清除楷体字)

刚刚升级到了Ubuntu 11.04,chrome也跟进到了11.0.696.57,让人纠结的依旧是Chrome内的字体,在首选项-->高级选项-->自定义字体并不能解决所有问题,还是有些网站看上去是令人纠结的楷体。在你的用户文件夹下(比如用户名为libai)选择显示所…

使用默认方法进行接口演化–第二部分:接口

引入了默认方法以启用接口演进。 如果向后兼容是不可替代的,则仅限于向接口添加新方法(这是它们在JDK中的唯一用法)。 但是,如果希望客户端更新其代码,则可以使用默认方法逐步演化接口而不会引起编译错误,从…

【APICloud系列|37】百度开放平台应用+,提升用户下载量操作步骤

进入百度应用开放平台后台,按图中步骤点击。 接入步骤 这个首先要准备和应用名称一致的百家号 链接地址: 进入官方号平台:http://gfh.baidu.com/ 填写官方的ID以及联系人的手机号即可,最后点击提交。

linux 命令 抛后台,Linux 后台执行命令

场景python 代码,打印1~3000,每秒打印一次## file_name: test.pyimport timei 0while 1:time.sleep(1)i i 1print(i)if i > 3000:break问题:直接在终端执行:python test.py, 需要在这个终端一直等,没法干别的事了…

【JSP】JSP与oracle数据库交互案例

************************************************************************ ****原文:blog.csdn.net/clark_xu 徐长亮的专栏 ************************************************************************ 本案例为咖啡销售情况录入查询系统 一、数据输入系统&…

【APICloud系列|34】上架华为应用市场缺少免责函?

针对华为应用市场,不管提交的是什么类型的应用,都应该提交免责函, 需要提前下载模板进行盖章后,转成图片上传。 免责函模板如下: 被拒绝的信息如下: 再次将免责函提交上去就没啥问题啦,因为其…

Property Animator 属性动画概述与示例

Property Animation 属性动画 属性动画是一个强大的框架,它几乎可以让你的所有东西做动画,你可以随着时间的推移通过更改他们的属性来定义动画,无论它是否绘制在屏幕上,一个属性动画是在指定的时间内去改变属性(一个对…

注册服务号、订阅号流程

进入微信公众平台,选择注册类型,订阅号/服务号 填写基本信息 选择类型 选择订阅号或者服务号

sql并发 锁 优化思路_并发优化–减少锁粒度

sql并发 锁 优化思路在高负载多线程应用程序中,性能非常重要。 开发人员必须意识到并发问题才能获得更好的性能。 当我们需要并发时,我们通常拥有必须由两个或更多线程共享的资源。 在这种情况下,我们处于竞争状态 ,其中只有一个线…

c语言 指针到字符串,C语言中的指针和字符串

前言务必理解指针与内存模型,不要死记硬背。内存里的字符串C语言中的字符串一般是char *类型的,这是怎样存在内存中的呢?cchar *s "NIHAO";| s:400 ||---|---|---|---||N|I|H|A|O| 0 ||---|---|---|---|---|---||400|401|402|403|…

【APICloud系列|33】移动应用软件加固步骤,适合所有的安卓应用市场

在腾讯开放平台下载应用加固工具legutools 下载安装打开 点击获取API密钥。链接: https://cloud.tencent.com/developer/article/1385239 一、登录腾讯云账号

Openjudge-计算概论(A)-放苹果

描述: 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入第一行是测试数据的数目…

c语言程序设计徐立辉答案,C语言程序设计 牛志成,徐立辉,刘冬莉著 清华大学出版社 9787302165620...

商品描述:【图书描述】:本书以2008年等级考试新需求为出发点,教学环境升级到了VC6.0平台。特别着重解决当前C语言教学中存在的一些问题和矛盾,在教学内容体系改革、教学过程组织、应对等级考试需要和素质教学实施等多个方面进行了…

怎么把图片内存变小尺寸保持不变呢。

在好多应用平台要求尺寸多少*多少&#xff0c;大小<50kb. 缩小图片的内存占用&#xff0c;但尺寸即分辨率不变&#xff0c;可以改变压缩的质量来实现。下面以PS为例&#xff1a; 1、用PS打开图片&#xff0c;然后选择文件菜单里的存储为&#xff0c;格式选择png。 2、选择…

C#vs Java哪一个更快? 将25k C#转换为Java(2)

在上一篇文章中&#xff0c;我描述了如何将25k行C&#xff03;转换为Java以及从该练习中学到的教训。 我收到以下问题&#xff1a; 顺便说一句很棒的文章。 迁移代码后&#xff0c;性能与C&#xff03;版本相比如何&#xff1f; 改写系统的动机之一是使系统变得更快&#xff…