用经验诠释Access、Trunk和Hybird端口数据收发规则

2024-02-29 05:20

本文主要是介绍用经验诠释Access、Trunk和Hybird端口数据收发规则,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以下内容摘自正在当当网、京东网、卓越网、互动出版网预售即将正式发售的《华为交换机学习指南一书(全书近千页)。本书是由华为官方授权,国内第一本,也是唯一一本华为交换机权威学习指南,是华为ICT认证培训指定教材。

当当网链接:http://product.dangdang.com/23372225.html
京东网链接:http://item.jd.com/11355972.html

卓越网上的链接:http://www.amazon.cn/dp/B00GT743ME/ref=sr_1_1

互动出版网上的链接:http://product.china-pub.com/3768908#ml
在这里可以在线试读或下载本书两章完整的内容:http://wenku.it168.com/d_001324890.shtml

6.2.1 二层以太网端口

  在华为交换机中主要包括:Access(访问)、Trunk(干道)和Hybrid(混合)、QinQ这四种二层以太网端口。在本节介绍的基于端口VLAN划分方式中可以把前三种二层交换机以太网端口加入到特定的VLAN中,但是其它所有VLAN划分方式都只能添加Hybrid类型端口QinQ端口仅用于支持QinQ协议,不能用于VLAN划分。

1. 二层以太网端口类型

  下面具体介绍华为交换机的AccessTrunkHybridQinQ这四种二层以太网端口的基本特性和数据帧发、发规则。

l  Access端口

   Access端口主要是用来连接用户主机的二层以太网端口。它有一种最主要的特性就是:仅允许一个VLAN的帧通过,反过来也就是Access端口仅可以加入到一个VLAN中,且Access端口发送的以太网帧永远是Untagged(不带标签)的。

l  Trunk端口

  Trunk端口是用来连接与其他交换机的二层以太网端口。它的最主要特性就是允许多个VLAN的帧通过,并且所发送的以太网帧都是带标签的,除了发送VLAN IDPVIDPort Default VLAN ID,端口缺省VLAN ID)一致的VLAN帧。

l  Hybrid端口

  Hybrid端口可以说是以上Access端口和Trunk端口的混合体,具有它们共同的特等性,是一种特殊的二层以太网端口。正因如此,Hybrid端口既可以连接用户主机,又可以连接其他交换机、路由器设备。同时Hybrid端口又允许一个,或多个VLAN的帧通过,并可选择以带标签,或者不带标签的方式发送数据帧。

l  QinQ端口

  QinQ端口是专用于QinQ协议的二层以太网端口。它可以给数据帧加上双层VLAN标签,即在原来标签的基础上,给帧加上一个新的标签,从而可以支持多达4094×4094VLAN,满足企业用户网络对VLAN数量更高的需求。S1700S2700SI不支持QinQ类型端口。

【经验之谈】虽然理论上来讲交换机与交换机、交换机与路由器连接之间的链路也可以是Access类型的,但在实际的组网应用通常是带标签类型的,可以是Trunk类型,也可以是带标签的Hybird类型。一方面是因为不同网络设备间的通信通常是包含多个VLAN间的通信,而Access类型端口仅允许一个VLAN的数据通过,肯定不行;另一方面,Access类型和不带标签的Hybrid类型在发送数据时是不带标签的,这样一来,对端设备接口接收到来自本端设备任何VLAN的数据后都将打上该接口的PVID所对应的VLAN标签,并且被错误地转发到该VLAN中,这显然不符合实际需求,最终造成无法正常通信。

   另外,对于连接用户PC机、服务器主机或者傻瓜式二层交换机设备的端口仅可以是Access类型或者不带标签的Hybrid类型,因为这些设备不能识别带有VLAN标签的数据帧,而这两种类型端口在发送数据时正好是不带VLAN标签的。傻瓜式二层交换机设备所连接的所有设备都将加入到对端交换机端口所加入的一个VLAN中。

2. 二层以太网端口的缺省VLAN

   以上AccessTrunkHybrid三种类型二层以太网端口都可以配置一个缺省VLAN,对应的VLAN IDPVID。但端口类型不同,其缺省VLAN的含义也有所不同。Aceess端口的缺省VLAN就是Access端口所加入的VLAN,因为Aceess端口只能加入一个VLAN。但TrunkHybrid端口的缺省VLAN需要通过命令配置指定,因为它们都相当于加入了多个VLAN,缺省都是VLAN1。有关缺省VLAN的具体配置方法将在本章后面介绍TrunkHybrid端口配置时会有所体现。

3. 二层以太网端口的数据收发规则

   以上AccessTrunkHybrid三种类型二层以太网端口在接收和发送数据帧时对帧的处理规则也是不同的,而这些规则直接影响着数据通信的成败,一定要记住。具体如表6-2所示。

【经验之谈】这里所说的数据帧指交换机端口接收从对端设备发来的数据帧,而不是接收从交换机内部的另一个端口发来的数据帧,因为在交换机内部中传输的数据帧都是带有VLAN标签的,无论是从哪种交换机端口发来的数据帧。同理,这里所说的数据帧指从交换机端口向对端设备发送数据帧,而不是指本地交换机中一个端口向另一个交换机端口发送数据帧。这一点要特别注意,否则很难理解这些端口的数据接收、发送规则。

表6-2  二层以太网端口数据帧处理规则

端口类型

收到不带VLAN标签的帧的处理规则

收到带VLAN标签的帧的处理规则

发送帧时的处理规则

用途

Access端口

接收该帧,并打上该端口所加入VLANVLAN标签

当帧中的VLAN ID与端口加入的VLANVLAN ID相同时接收该帧,否则丢弃该帧

当帧中的VLAN标签与该端口的PVID相同时,则去掉帧中的标签,然后发送该帧,否则丢弃该数据帧。Access端口所发送的帧总是不带VLAN标签的

端口只能属于1VLAN,用于设备与计算机直接连接

Trunk端口

在帧中打上该端口的缺省的VLAN标签,当此缺省VLAN ID在该端口允许通过的VLAN ID列表里时,接收该帧,否则丢弃该帧

当帧中的VLAN ID在该端口允许通过的VLAN ID列表里时,接收该帧,否则丢弃该帧

当帧中的VLAN ID与该端口的缺省VLAN ID相同,且是该端口允许通过的VLAN ID时,则去掉帧中的VLAN标签后再发送该帧

当帧中的VLAN ID与该端口的缺省VLAN ID不同,但仍是该端口允许通过的VLAN ID时,保留帧中原有VLAN标签并发送该帧

当帧中的VLAN ID不是该端口允许通过的VLAN ID时,不允许发送

端口允许多个VLAN通过,可以接收和发送多个VLAN的帧,一般用于网络设备之间的连接

Hybrid端口

当帧中的VLAN ID是该端口允许通过的VLAN ID时,则发送该帧(不管帧中的VLAN ID与该端口的缺省VLAN  ID是否相同),但可以通过命令配置发送时是否携带原有的VLAN标签(通常只有在与主机连接的链路不需要带VLAN标签

当帧中的VLAN ID不是该端口允许通过的VLAN ID时,丢弃该帧

端口允许多个VLAN通过,可以接收和发送多个VLAN的帧,且既可以用于网络设备之间的连接,也可以用于网络设备与用户设备之间的连接

【经验之谈】这里有一个大家争论得比较多的一个问题,那就是帧到达Access端口时交换机是否会为帧打上VLAN标签。因为许多认为既然Access端口所发送的帧都是不打VLAN标签的,所以有人认为Access端口在帧中打上标签是没有任何意义的,也就认为Access端口不会在帧中打上标签。其实这是错误的。

  虽然Access端口向对端设备发送数据时是不带VLAN标签的,但是数据到了交换机后还需要一个转发过程,在交换机内部传输中所有数据都是带有VLAN标签的(当然这要求交换机支持VLAN才行),而且也有许多时候数据不是直接转发到目的节点的,而是需要在交换机上进行一些处理(如基于VLAN的策略路由、基于VLANACL等),或者进行端口镜像等管理工作,这些都需要识别这些数据是来自哪个VLAN的用户,毕竟在一个交换机的这么多端口上可能分属于不同的VLAN

6.2.2 二层太网链路

  上节介绍的AccessTrunkHybrid这三种以太网端口所形成的链路又可归纳成两种以太网链路:接入链路(Access Link)和干道链路(Trunk Link)。它们是根据链路中需要允许通过的VLAN数据帧数量的不同来划分的。

l  接入链路(Access Link):这是交换机直接连接用户主机的链路。通常情况下,主机并不需要知道自己属于哪个VLAN,主机硬件通常也不能识别带有VLAN标签的帧,所以主机通过接入链路发送和接收的数据帧都是Untagged帧。但一定要注意,接入链路不一定只允许来自一个VLAN的数据帧通过,只是Access端口链路才仅允许一个VLAN数据帧通过,在连接用户主机的Hybrid端口链路上同样允许来自多个VLAN的数据帧(不带标签)通过。

l  干道链路(Trunk Link):这是用于交换机间的互连或交换机与路由器之间连接的链路。干道链路可以承载多个不同VLAN数据,数据帧在干道链路传输时,干道链路的两端设备需要能够识别数据帧属于哪个VLAN,所以在干道链路上传输的都是Tagged帧,除了该链路的PVID所属VLAN的帧(默认为VLAN1)。

    图6-6显示了以上两种链路类型及所传输的帧类型(带有Tag的帧和Untagged帧),从中可以发现,在交换机设备之间的链路都属于干道链路,传输的是带有Tag的帧;而在交换机与主机设备之间的可以是接入链路,也可以是干道链路,具体要视主机所连接的交换机端口类型而定,但传输的都是Untagged的帧。

10659021_13865498219NeR.jpg



图6-6 两种链路类型及可传输的帧类型

【经验之谈】交换机在接收到帧后,会根据对应端口类型采取相应的数据收、发处理。如果帧需要通过另一台交换机转发,则该帧必须通过干道链路透传到对端交换设备上。为了保证其它交换设备能够正确处理帧中的VLAN信息,在干道链路上传输的帧必须都打上了VLAN标签。

  当交换机最终确定帧出端口后,在将帧发送给主机前需要将VLAN标签从帧中删除,这样主机接收到的帧都是不带VLAN标签的以太网帧,也只有这样主机才可能识别。所以一般情况下,干道链路上传输的都是带VLAN标签的帧,接入链路上传送到的都是不带VLAN标签帧。这样处理的好处是:网络中配置的VLAN信息可以被所有交换设备正确处理,而主机不需要了解VLAN信息。

本文转自王达博客51CTO博客,原文链接http://blog.51cto.com/winda/1339614如需转载请自行联系原作者

茶乡浪子

这篇关于用经验诠释Access、Trunk和Hybird端口数据收发规则的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_33935505/article/details/90070902
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/757697

相关文章

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MyBatisPlus如何优化千万级数据的CRUD

《MyBatisPlus如何优化千万级数据的CRUD》最近负责的一个项目,数据库表量级破千万,每次执行CRUD都像走钢丝,稍有不慎就引起数据库报警,本文就结合这个项目的实战经验,聊聊MyBatisPl... 目录背景一、MyBATis Plus 简介二、千万级数据的挑战三、优化 CRUD 的关键策略1. 查

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

mysql中的数据目录用法及说明

《mysql中的数据目录用法及说明》:本文主要介绍mysql中的数据目录用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、版本3、数据目录4、总结1、背景安装mysql之后,在安装目录下会有一个data目录,我们创建的数据库、创建的表、插入的

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

SpringBoot中4种数据水平分片策略

《SpringBoot中4种数据水平分片策略》数据水平分片作为一种水平扩展策略,通过将数据分散到多个物理节点上,有效解决了存储容量和性能瓶颈问题,下面小编就来和大家分享4种数据分片策略吧... 目录一、前言二、哈希分片2.1 原理2.2 SpringBoot实现2.3 优缺点分析2.4 适用场景三、范围分片

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模

浅析如何保证MySQL与Redis数据一致性

《浅析如何保证MySQL与Redis数据一致性》在互联网应用中,MySQL作为持久化存储引擎,Redis作为高性能缓存层,两者的组合能有效提升系统性能,下面我们来看看如何保证两者的数据一致性吧... 目录一、数据不一致性的根源1.1 典型不一致场景1.2 关键矛盾点二、一致性保障策略2.1 基础策略:更新数

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指