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

news/2024/7/3 13:01:13

以下内容摘自正在当当网、京东网、卓越网、互动出版网预售即将正式发售的《华为交换机学习指南一书(全书近千页)。本书是由华为官方授权,国内第一本,也是唯一一本华为交换机权威学习指南,是华为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信息。



http://www.niftyadmin.cn/n/1383227.html

相关文章

使用Formik轻松开发更高质量的React表单(三)Formik /解析

提醒和建议 根据我的粗浅经验,如果您对Formik感兴趣,并且想深入学习与使用这个库,我建议您还是先对redux-form的使用逻辑与有关概念有所了解,而且理解和使用方面也变得容易得多的多。因为Formik中许多概念与形式与redux-form极其类…

TP框架怎么打印SQL

TP框架(ThinkPHP框架)是一个使用PHP语言编写的开源Web应用框架,它提供了一系列快捷简单的方法,方便PHP开发人员快速构建Web应用程序。如果想要在TP框架中打印SQL语句,可以通过以下几种方式: 在数据库配置文…

String类的直接赋值和构造方法赋值的区别

直接赋值:只开辟一块堆内存空间,而且保存的字符串可以自动入池,以供其他内容相同的字符串对象使用。 构造方法:开辟两块堆内存空间,有一块成为垃圾,并且字符串的内容无法自动入池,但是可以使用S…

listen--监听数量

listen--监听数量 #include <sys/socket.h> int listen(int sockfd, int backlog); /* backlog指定了该套接口排队的最大连接个数 */ 调用listen导致套接口从CLOSED状态转换到LISTEN状态。 监听窗口维持两个队列(队列的大小与backlog有关)&#xff1a; 未完成队列&#x…

Spring Cloud 微服务框架使用快速掌握及源码分析

2019独角兽企业重金招聘Python工程师标准>>> 一.Spring Cloud 简介 SpringCloud是一个机遇SpringBoot实现的微服务框架开发工具,它为微服务架构中涉及的配置管理,服务治理,断路器,智能路由,微代理,控制总线,全局锁,决策竞选,分布式会话和集群状态管理等操作提供了一…

突破R内存限制的企业级大数据挖掘利器:Microsoft R Server 快速上手

R语言是一款非常优秀的数据挖掘工具&#xff0c;拥有顶尖的数据处理、数据挖掘课数据可视化。是数据从业者必备的一把利器。但是其基于内存的诟病也一直被人所嫌弃&#xff0c;虽然这几年很多优秀的扩展包极大提升了R语言的性能&#xff0c;但是在面对企业级大数据挖掘面前&…

081 关于微信支付的回调Notify_url

一、你一定要有毅力&#xff01;心平气和&#xff0c;慢慢来&#xff01;&#xff08;微信扫码支付PC端&#xff0c;模式二&#xff09; 二、ri&#xff0c;这个一点要仔细读一下&#xff0c;好不好&#xff0c;大胸弟&#xff01;&#xff01;&#xff01;https的改成http&am…

web性能优化指南

1、精简你的资源 构建高性能应用程序的有效方法是审核发送给用户的资源。虽然Chrome开发人员工具中的网络面板可以很好地总结给定页面上使用的所有资源&#xff0c;但如果您到目前为止尚未考虑性能&#xff0c;那么知道从哪里开始是很重要的。以下是一些建议&#xff1a; 如果您…