VLAN的接口类型与TAG帧

     今天是博主第一次写博客,也是准备通过这种方式在IE考试前把自己平时学习的一些心得总结一下,也给大家分享一下。

     现在有一个词叫 Paper IE,因为当时无论是考华为还是考思科,LAB都有版本可以练,面试也有相应的题库,笔试更不用说,凭借中国人强大的考试基因,基本上背背题库就能过。但是想成为一个真正的数通大神不是一纸证书就可以证明的,要成为真正的大神谈何容易,希望可以通过面授的学习加自己课后的总结成为真正的数通大神。

    学习一门技术,比如今天要分享的VLAN的接口类型,首先在面授的时候一定要保证自己能听懂,课后一定要自己去想,去练习,直到非常熟练为止,最后是最重要的说,与别的工程师讨论问题的时候保证自己学的东西能说出来,而且特别是与客户在沟通的时候,能通过自己的表达让不懂这个技术的人也能听懂,那就算真正掌握了这门技术了。

  好了,话不多说,进入正题。

 

   首先在说VLAN接口类型的时候先说下什么是VLAN,因为以前找工作的时候,面试官经常会问些比较简单但是平时又不太注意的问题,博主曾经就被问过 “什么是VLAN”?当时博主还没系统学习NA的时候,就大致知道一些简单的配置,当时回答“VLAN就是把一个网络分成几个区域,让不同区域的人不能互访,然后怎么怎么配置啥的。”当然那个面试官很不满意。这也让我明白了学习一门技术就要方方面面学的透彻,哪怕是最基本的容易忽略的也要好好掌握。


一,VLAN的基本概念

VLAN :Virtual Local Area Network 虚拟局域网

VLAN技术就是将一个物理的网络在逻辑上划分成多个广播域的二层技术,即1 VLAN=1 广播域 =1 子网

VLAN的接口类型与TAG帧_第1张图片

至于为什么要划分VLAN,好处又是什么,总结起来以下四点:

1.限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。 


2.增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的,即一个VLAN
内的用户不能和其它VLAN内的用户直接通信。

3.提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其
他VLAN的正常工作。

4.灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组
的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。

二,VLAN帧格式

 

在说接口类型之前先来了解下VLAN帧的格式:

VLAN的接口类型与TAG帧_第2张图片

如图所示,没有携带TAG帧主要由6字节的DMAC,6字节的SMAC,2字节的Type,还有可变长的46-1500字节的DATA与4字节的FCS所组成。

而携带TAG的帧在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLAN Tag,简称Tag),

所以,在一个VLAN交换网络中,以太网帧有以下两种形式:

1.有标记帧(Tagged Frame) 加入了4字节VLAN标签的帧

2.无标记帧(Untagged Frame) 原始的、未加入4字节VLAN标签的帧

而在我们的日常生活中,不是所有的设备都能识别携带TAG的帧,但是在交换机内部处理的数据帧一律都是Tagged帧。

1.PC主机、服务器、Hub、傻瓜交换机只能收发Untagged帧。 
2.交换机、路由器、AC既能收发Tagged帧(路由器的单臂路由可以收发tagged帧),也能收发Untagged帧。 
3.语音终端、AP等设备可以同时收发一个Tagged帧和一个Untagged帧。

PS:在华为交换机和思科交换机对接时,需要改TAG帧里的2字节的TPID字段,华为设备里携带的是802.1Q的帧,如果不支持802.1Q的设备,帧会被丢弃,而思科设备的TPID是私有的,所以两台设备对接一定都要改成802.1Q

三,VLAN的链路类型与接口类型

VLAN的接口类型与TAG帧_第3张图片

VLAN链路类型分为两种:接入链路(access link)和干道链路(trunk link)

接入链路

       只可以承载1个VLAN的数据帧
      用于连接交换机和用户终端
      接入链路上传输的帧都是Untagged帧

干道链路

      可以承载多个不同VLAN的数据帧
     用于交换机间互连或连接交换机与路由器
     干道链路上传输的帧几乎都是Tagged帧用于两端识别。

PVID :Port VLAN ID 代表端口的缺省VLAN,默认每个接口PVID=1

交换机从对端设备收到的帧有可能是不带TAG的数据帧,但所有以太网帧在交换机中都是以TAG的形式来呗处理和转发的,因此交换机必须给端口收到的不带TAG的帧打上TAG,所以必须给交换机的端口配置缺省的VLAN,即PVID。当改端口收到了不带TAG的数据帧时,交换机给它加上PVID。

VLAN的接口类型与TAG帧_第4张图片

三种接口类型

1.access

VLAN的接口类型与TAG帧_第5张图片

用于和不能识别Tag的用户终端相连,或者不需要区分不同VLAN成员时使用。

2.trunk

VLAN的接口类型与TAG帧_第6张图片

用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。
允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥离Tag)。

3.hybrid

VLAN的接口类型与TAG帧_第7张图片

Hybrid接口和trunk接口的处理带TAG的帧和不带TAG的帧的方式一样,但是Hybrid接口可以通过的可以通过命令设置来确定发送时是否携带Tag。

hybird接口是交换机上既可以连接用户主机,又可以连接其他交换机的端口,可以连接接入链路也能连接干道链路,
hybird 接口允许多个VLAN帧通过,并且可以在出方向将某些VLAN帧的TAG剥离,使得出接口的帧可以部分打TAG部分
不打TAG,做到灵活控制

一张图来总结一下三种端口对于TAG帧的处理方式:

VLAN的接口类型与TAG帧_第8张图片

 

接下来我们用一些具体的例子和实验来分析和熟悉TAG和三种接口的使用

 


实验分析部分

 

首先从一个最经典的问题开始

VLAN的接口类型与TAG帧_第9张图片

图中连接主机的端口是access各自打上了缺省的VLAN,交换机互联为trunk,允许VLAN 10 20 通过,SW3的G0/0/1口PVID为10

SW4的G0/0/1口PVID为20.两台PC处于不同VLAN 但在同一网段,纯二层环境。问PC1能否PING通PC2?

 

这个问题当时是一个大佬在我们工程师群里提的一个问题,当时群里各种讨论,有人说“不能通,因为不在同一个VLAN,没有三层VLANIF所以不能通”,也有人说“能通,因为在同一网段。”等等各种各样的回答。

 

其实这个问题你只要熟练的掌握前文说过的PVID和两种端口对于TAG的不同的处理方式就很容易的分析出来了,具体流程如下:

1.access端口接收不带Tag的报文时接收该报文,并打上缺省的VLAN ID。所以PC1在PING PC2时在SW3的g0/0/2口打上了PVID为10的TAG帧。

2.trunk口接收带Tag的报文时,如果和端口PVID相同,则剥离TAG所以在通过SW3的G0/0/1时变成了Untagged帧。

3.在通过SW4的G0/0/1口时,打上了PVID为20的TAG帧,因为trunk口接收不带Tag的报文时,打上缺省的VLAN ID。

4.最后因为access端口对比VLAN ID和端口的PVID,相同时,接收该报文,并剥离TAG。

最后数据帧回程时和来时原理一样,实现两台PC的二层通信

以下是两台交换机的具体配置:

SW3:

VLAN的接口类型与TAG帧_第10张图片

SW4:

VLAN的接口类型与TAG帧_第11张图片

VLAN的接口类型与TAG帧_第12张图片

 

再来看一个例子

VLAN的接口类型与TAG帧_第13张图片

这个问题是博主在刚学OSPF的时候遇到的,一台交换机和路由器中间起OSPF,配置如上图所示,但是邻居就是起不来

查看路由器的邻居状态如下图所示:

VLAN的接口类型与TAG帧_第14张图片

可以看到ospf的邻居列表是空的,博主按照OSPF邻居关系建立的条件进行排障,发现两边的配置并没有什么问题,于是博主在交换机侧抓包测试,发现了原因:

VLAN的接口类型与TAG帧_第15张图片

由图可知交换机和路由器既能自己发送HELLO包也能收到对方发送的HELLO包,但是却无法建立邻居关系,

点开交换机发送的hello包就发现原因了:

VLAN的接口类型与TAG帧_第16张图片

交换机发出的数据帧是携带TAG的,而我上文也提到了,路由器只有在单臂路由的情况下才可以收发TAG帧,此时路由器并没有配置单臂路由,所以无法识别TAG帧,邻居关系自然无法建立,所以我们为了让双方建立邻居关系,必须要把TAG去掉。

这个时候就要用到TRUNK口的特性和PVID(具体见上文),当VLAN ID与缺省VLAN ID相同,且是该接口允许通过的VLAN ID时,去掉Tag,发送该报文。所以我们只要在交换机的G0/0/1口配置PVID为11就行

配置完我们在看下邻居状态:

VLAN的接口类型与TAG帧_第17张图片

两边已经建立起FULL的邻接关系。我们看下此时抓到的新的HELLO包

VLAN的接口类型与TAG帧_第18张图片

可以看到此时交换机发送的数据帧已经是不带TAG的帧了。

 

最后我们来看一个hybird 混杂端口 的使用方法

VLAN的接口类型与TAG帧_第19张图片

纯二层环境,配置见图,PC1-PC4以及服务器在同一网段但不在同一VLAN,服务器属于VLAN100

按图中的配置可以实现同一VLAN可以互访,不同VLAN无法通信,但是要求VLAN 10和VLAN 20都能访问服务器,应该怎么办呢?

按上文我们说到的方法,可以通过修改PVID实现不同VLAN间的互访,比如SW1 g0/0/1口的PVID修改为10,SW2的G0/0/1口的PVID修改为100,那么可以实现PC1与服务器的通信,其他三台主机无法与服务器通信,那么怎么实现四台主机都能与服务器通信呢?这就用到了hybird端口。

上文已经说到:Hybrid接口和trunk接口的处理带TAG的帧和不带TAG的帧的方式一样,但是Hybrid接口可以通过的可以通过命令设置来确定发送时是否携带Tag。

我们只要把交换机与主机和服务器相连的接口都改成hybird接口,并且设置吧VLAN 100的帧和自己所属VLAN的帧去掉TAG就可以实现四台主机均可访问服务器的需求

VLAN的接口类型与TAG帧_第20张图片

此时我们测试下连通性

VLAN的接口类型与TAG帧_第21张图片

VLAN的接口类型与TAG帧_第22张图片

VLAN的接口类型与TAG帧_第23张图片

VLAN的接口类型与TAG帧_第24张图片

具体VLAN的配置和每条命令的意思见附件PDF

 


 

补充

交换机除了这三种接口之外还有一种生产环境不太容易见到的接口QinQ

QinQ(802.1Q-in-802.1Q)技术是一项扩展VLAN空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来达到扩展VLAN空间的功能,可以使私网VLAN透传公网。由于在骨干网中传递的报文有两层802.1Q Tag(一层公网Tag,一层私网Tag),即802.1Q-in-802.1Q,所以称之为QinQ协议。

博主也没有见过QinQ的接口,如果有兴趣可以找找资料补充下知识

 

华为的交换机的默认配置也是有少许不同的,比如盒式交换机S5700和数据中心交换机CE12800

S5700的默认接口类型是hybird且端口都是默认打开的

VLAN的接口类型与TAG帧_第25张图片

VLAN的接口类型与TAG帧_第26张图片
我们来对比下CE12800的看下

VLAN的接口类型与TAG帧_第27张图片

VLAN的接口类型与TAG帧_第28张图片

可以看出CE12800的默认端口是ACCESS且端口都是默认关闭的,使用的话要手动打开。(配置完还要输入commit提交后命令才能生效)

 

 

你可能感兴趣的:(数通,网络,交换与路由技术)