热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

交换机access和trunk的一些小结(转)

以太网端口有3种链路类型:access、trunk、hybirdAccess类型端口只能属于1个VLAN般用于连接计算机端口;Trunk类型端口可以允许多个VLAN通过,可以接收和
 以太网端口有 3种链路类型:access、trunk、hybird

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 并进行交换转发,如果有判断VLAND ID是否在该trunk的允许范围内,如果在范围内则转发,否则丢弃

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

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

hybrid端口发报文:

1、判断该VLAN在本端口属性(disp erface 即可看到该端口对哪些VLAN是untag 哪些VL
AN是tag)

2、如果是untag则剥离VLAN信息再发送如果是tag则直接发送

技术分享

交换机access和trunk的一些小结(转)


推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 自定义滚动条美化页面内容
    当页面内容超出显示范围时,为了提升用户体验和页面美观,通常会添加滚动条。如果默认的浏览器滚动条无法满足设计需求,我们可以自定义一个符合要求的滚动条。本文将详细介绍自定义滚动条的实现过程。 ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 本文介绍了如何使用 CMD 批处理脚本进行文件操作,包括将指定目录下的 PHP 文件重命名为 HTML 文件,并将这些文件复制到另一个目录。 ... [详细]
  • 两个条件,组合控制#if($query_string~*modviewthread&t(&extra(.*)))?$)#{#set$itid$1;#rewrite^ ... [详细]
  • 本文详细介绍了DMA控制器如何通过映射表处理来自外设的请求,包括映射表的设计和实现方法。 ... [详细]
  • 解决Win10下MySQL连接问题:Navicat 2003无法连接到本地MySQL服务器(10061)
    本文介绍如何在Windows 10环境下解决Navicat 2003无法连接到本地MySQL服务器的问题,包括启动MySQL服务和检查配置文件的方法。 ... [详细]
  • 本文详细介绍了如何利用Duilib界面库开发窗体动画效果,包括基本思路和技术细节。这些方法不仅适用于Duilib,还可以扩展到其他类似的界面开发工具。 ... [详细]
  • Spark中使用map或flatMap将DataSet[A]转换为DataSet[B]时Schema变为Binary的问题及解决方案
    本文探讨了在使用Spark的map或flatMap算子将一个数据集转换为另一个数据集时,遇到的Schema变为Binary的问题,并提供了详细的解决方案。 ... [详细]
  • 使用Jsoup解析并遍历HTML文档时,该库能够高效地生成一个清晰、规范的解析树,即使源HTML文档存在格式问题。Jsoup具备强大的容错能力,能够处理多种异常情况,如未闭合的标签等,确保解析结果的准确性和完整性。 ... [详细]
  • 在使用Eclipse进行调试时,如果遇到未解析的断点(unresolved breakpoint)并显示“未加载符号表,请使用‘file’命令加载目标文件以进行调试”的错误提示,这通常是因为调试器未能正确加载符号表。解决此问题的方法是通过GDB的`file`命令手动加载目标文件,以便调试器能够识别和解析断点。具体操作为在GDB命令行中输入 `(gdb) file `。这一步骤确保了调试环境能够正确访问和解析程序中的符号信息,从而实现有效的调试。 ... [详细]
  • 在 LeetCode 的“有效回文串 II”问题中,给定一个非空字符串 `s`,允许删除最多一个字符。本篇深入解析了如何判断删除一个字符后,字符串是否能成为回文串,并提出了高效的优化算法。通过详细的分析和代码实现,本文提供了多种解决方案,帮助读者更好地理解和应用这一算法。 ... [详细]
  • 系统数据实体验证异常:多个实体验证失败的错误处理与分析
    在使用MVC和EF框架进行数据保存时,遇到了 `System.Data.Entity.Validation.DbEntityValidationException` 错误,表明存在一个或多个实体验证失败的情况。本文详细分析了该错误的成因,并提出了有效的处理方法,包括检查实体属性的约束条件、调试日志的使用以及优化数据验证逻辑,以确保数据的一致性和完整性。 ... [详细]
author-avatar
贝贝2602932923
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有