Vlan的封装模式和端口讲解

描述

Vlan的作用(Vlan工作于OSI参考模型的第二层)

Vlan(Virtual Local Area Network)虚拟局域网,将一个物理的LAN在逻辑上划分为多个广播域,在交换机上实现广播域隔离(增强局域网的安全性、限制广播风暴、简化网络管理)

Vlan实现广播域隔离的原理——Vlan标签又称为tag

Vlan通过将二层数据帧打上Vlan标签(打上Vlan标签也就是封装Vlan),正常情况下,不同Vlan Tag的数据包是无法二层直接互访的,以此来实现广播域的隔离

可以理解为一个Vlan对应一个广播域,同一Vlan内的主机可以二层直接通信,不同Vlan间的主机无法二层直接通信

Vlan生成方式

静态Vlan :交换机上的端口以手动方式分配给Vlan(常用方式)

动态Vlan :配置VMPS服务器,可以根据连接到交换机端口的设备的源MAC地址,动态将端口分配给Vlan(即将MAC地址与Vlan绑定)

语音Vlan :将端口配置到语音模式,可以使端口支持连接到该端口的IP电话

Vlan的封装模式

Vlan有两种封装模式,一种是ISL协议(思科私有的协议),一种是802.1Q(业界标准协议)

两者能够执行相同的任务,只是两者的帧格式不一样

ISL协议

ISL 协议成为交换链路内协议,是通过使用ISL协议头和协议尾封装整个第2层的以太帧实现Vlan封装的;正因为此,ISL 被认为是一种能在交换机间传送第2层任何类型的帧或上层协议的独立协议(即 不仅可以为以太网数据帧打Vlan标签,还可以对ATM等数据帧打Vlan标签)

CRC表示循环冗余校算法,FEC表示帧校验序列(存放通过CRC校验得到的值 32位,4字节)

VLAN

DA:40位的目的地址,该地址是一个多播地址

为0x01-00-0C-00-00或0x03-00-0c-00-00(用于告诉对端此数据包采用ISL格式)

Type:帧类型,代表被封装的帧的类型

0000 以太网
0001 令牌环
0010 FDDI
0011 ATM

User:用户自定义的(默认为0000)

对于以太网数据帧而言,低二位代表数据包的优先级

XX00 一般优先级
XX01 第 1 优先级
XX10 优先级 2
XX11 最高优先级

SA:源地址

是ISL数据包的源地址,应设置为传输帧的交换机端口的 MAC地址(接收设备可能忽略帧的SA字段)

LEN:长度

存储原始数据包的实际大小,不包括DA、TYPE、USER、SA、LEN、FCS字段,总共18字节

所以LEN字段的值+18字节就是数据包的总长度

AAAA03(SNAP):子网访问协议SNAP和逻辑链路控制LLC

AAAA03字段为一个24位的常量值0xAAAA03

HSA:源地址的高位,可以知道交换机设备制造商

24位值,表示SA字段的前3个地址,必须包含值0x00-00-0C(思科私有协议)

Vlan:目标虚拟 LAN ID

数据包的Vlan,用于区分不同Vlan上的帧;是一个15位的值

BPDU:与STP联动

INDX:索引

显示数据包送出交换机时的源端口索引,只用于诊断目的

接收时会忽略

RES:保留用于令牌环和FDDI

802.1Q协议

IEEE802.1Q协议规定,通过在以太网帧的源目的MAC字段之后、协议类型之前加入4字节的802.1Q Tag实现Vlan封装的

由于以太网数据帧发生了变化,所以设备在进行数据帧发送时会对发送的数据帧重新计算FCS

VLAN

由于抓包软件的问题,封装顺序不明显;实际的Tag封装在源MAC和Type之间的

VLAN

Type:标识上层协议类型(0x0800标识上层协议为IPv4)

VLAN

PRI:表示数据帧的优先级

DEI:标识MAC地址的格式(0表示为规范格式)

VlD:Vlan标识符(0表示没有Vlan标签,但是设置了以太网帧的优先级,一般在QOS中出现)

注意事项

一个端口可以属于多个Vlan,但是只有一个PVID(PVID是华为的叫法,思科的叫法为本帧Vlan)

PVID:端口的Vlan ID号

二层接口类型

接口接收报文的方向指的是报文从接口进入交换机的方向

接口发送报文的方向指的是报文从交换机通过接口发送出去的方向

二层Vlan接口可以分为三种接口模式

Access接口:一般用于PC和交换机相连接口

Trunk接口:一般用于交换机之间互联接口、交换机单臂路由场景下与路由器连接的端口

Hybrid接口:根据实际需求使用(一般不用此接口)

注意事项

PC和路由器的物理接口无法接收带标签的数据包

Mac地址表也会有vlan信息(转发时也要看目的MAC和vlan tag的信息)

路由器的虚拟接口(物理子接口)只接收带对应Vlan标签的数据包

Access接口

在配置时只能配置PVID(华为说法,思科说法为本帧Vlan)

特点:只可以发送一个UnTag的帧

接口接收帧时处理动作

接口收到带Tag帧,如果该Tag与PVID一致则允许其进入交换机内部;如果该Tag与PVID不一致则丢弃

接口收到带UnTag帧;允许其进入交换机内部,并打上PVID

接口发送帧时处理动作

如果要发送的此帧带Tag,并且该Tag与PVID一致时,剥离掉此Tag,并允许此帧从交换机内部通过此接口发送出去;如果该Tag与PVID不一致,则禁止此帧从交换机内部通过此接口发送出去

如果要发送的此帧为UnTag,无此情况(进入到二层交换机的帧都带tag,默认tag1)

Trunk接口

在配置时可以配置接口所属Vlan(允许通过的Vlan),也可以配置PVID

特点:****只允许所属Vlan进入交换机和发出交换机

允许多个带Tag的帧从交换机发出,只允许一个Untag的帧从交换机发出

接口接收帧时处理动作

接口收到带Tag帧,如果此Tag在接口所属Vlan中则允许其进入交换机内部;如果此Tag不在接口所属Vlan中则丢弃(无论Tag是否与PVID相同,只要此Tag不在允许通过的Vlan中都丢弃)

接口收到带UnTag帧,当PVID在接口所属Vlan中时,允许其进入交换机内部,并打上PVID;当PVID不在接口所属Vlan中时则丢弃

接口发送帧时处理动作

要发送的此帧带Tag,此Tag不在接口所属Vlan中,则禁止此帧从交换机内部通过此接口发送出去

要发送的此帧带Tag,此Tag在接口所属Vlan中,并且该Tag与PVID一致,则剥离此Tag标签,并允许此帧从交换机内部通过此接口发送出去;此Tag在接口所属Vlan中,并且该Tag与PVID不一致,则允许此帧从交换机内部通过此接口发送出去

如果要发送的此帧为UnTag,无此情况(进入到二层交换机的帧都带tag,默认tag1)

Hybrid接口

可以配置PVID,也可以配置接口所属Vlan(包括Untag Vlan ID列表和Tag Vlan ID列表)

特点:只允许所属Vlan进入交换机和发出交换机

允许多个带Tag的帧从交换机发出,允许多个Untag的帧从交换机发出

接口接收帧时处理动作

同Trunk接口接收帧时的处理动作,只不过接口所属Vlan范围扩大了,只要在Untag Vlan ID列表或Tag Vlan ID列表中的任意一个都可以

接口收到带Tag帧,如果此Tag在接口所属Vlan中;则允许其进入交换机内部

接口收到带Tag帧,如果此Tag不在接口所属Vlan中;则丢弃(无论Tag是否与PVID相同,只要此Tag不在允许通过的Vlan中都丢弃)

接口收到带UnTag帧,当PVID在接口所属Vlan中时,允许其进入交换机内部,并打上PVID;当PVID不在接口所属Vlan中时则丢弃

接口发送帧时处理动作

要发送的此帧带Tag,此Tag不在接口所属Vlan中,则禁止此帧从交换机内部通过此接口发送出去

要发送的此帧带Tag,此Tag在接口所属Vlan中,如果是在Untag Vlan ID列表中时,则剥离此Tag标签,并允许此帧从交换机内部通过此接口发送出去

要发送的此帧带Tag,此Tag在接口所属Vlan中,如果是在Tag Vlan ID列表中,则允许此帧从交换机内部通过此接口发送出去

如果要发送的此帧为UnTag,无此情况(进入到二层交换机的帧都带tag,默认tag1)

不同Vlan之间的通信

一般来说,不同的Vlan为不同的网段,如果为不同网段不同Vlan下的通信,实现方式有以下三种

1、在交换机上配置三层Vlan接口(也就是Vlanif接口--是一个虚拟接口,与Vlan对应)

2、通过单臂路由实现,交换机只需要为二层交换机(通过在路由器上的某个物理接口创建多个虚拟的子接口,每个子接口都有对应的Vlan编号,该接口只能接受对应Vlan编号的数据)

3、为每一个Vlan使用一根网线来完成通信(不推荐)

如果不同的Vlan为相同网段,可以通过修改二层端口的接口类型来实现互通。





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分