当用户主机Host_1发送报文给用户主机Host_2时,报文的发送过程如下(假设Router_1和Router_2上还未建立任何转发表项)。

链路类型和接口类型

设备内部处理的数据帧一律都带有VLAN标签,而现网中的设备有些只会收发Untagged帧,要与这些设备交互,就需要接口能够识别Untagged帧并在收发时给帧添加、剥除VLAN标签。同时,现网中属于同一个VLAN的用户可能会被连接在不同的设备上,且跨越设备的VLAN可能不止一个,如果需要用户间的互通,就需要设备间的接口能够同时识别和发送多个VLAN的数据帧。

为了适应不同的连接和组网,设备定义了Access接口、Trunk接口和Hybrid接口3种接口类型,以及接入链路(Access Link)和干道链路(Trunk Link)两种链路类型。

链路类型

根据链路中需要承载的VLAN数目的不同,以太网链路分为:

  • 接入链路
    接入链路只可以承载1个VLAN的数据帧,用于连接设备和用户终端(如用户主机、服务器等)。通常情况下,用户终端并不需要知道自己属于哪个VLAN,也不能识别带有Tag的帧,所以在接入链路上传输的帧都是Untagged帧。
  • 干道链路
    干道链路可以承载多个不同VLAN的数据帧,用于设备间互连。为了保证其它网络设备能够正确识别数据帧中的VLAN信息,在干道链路上传输的数据帧必须都打上Tag。

接口类型

根据接口连接对象以及对收发数据帧处理的不同,以太网接口分为:

  • Access接口
    Access接口一般用于和不能识别Tag的用户终端(如用户主机、服务器等)相连,或者不需要区分不同VLAN成员时使用。它只能收发Untagged帧,且只能为Untagged帧添加唯一VLAN的Tag。
  • Trunk接口
    Trunk接口一般用于连接交换机、路由器、AP以及可同时收发Tagged帧和Untagged帧的语音终端。它可以允许多个VLAN的帧带Tag通过,但只允许一个VLAN的帧从该类接口上发出时不带Tag(即剥除Tag)。
  • Hybrid接口
    Hybrid接口既可以用于连接不能识别Tag的用户终端(如用户主机、服务器等)和网络设备(如Hub),也可以用于连接交换机路由器以及可同时收发Tagged帧和Untagged帧的语音终端、AP。它可以允许多个VLAN的帧带Tag通过,且允许从该类接口发出的帧根据需要配置某些VLAN的帧带Tag(即不剥除Tag)、某些VLAN的帧不带Tag(即剥除Tag)。

Hybrid接口和Trunk接口在很多应用场景下可以通用,但在某些应用场景下,必须使用Hybrid接口。比如一个接口连接不同VLAN网段的场景中,因为一个接口需要给多个Untagged报文添加Tag,所以必须使用Hybrid接口。

缺省VLAN
缺省VLAN又称PVID(Port Default VLAN ID)。前面提到,设备处理的数据帧都带Tag,当设备收到Untagged帧时,就需要给该帧添加Tag,添加什么Tag,就由接口上的缺省VLAN决定。
取值
1、Pvid默认是1
2、当端口被分到Vlan n中去时,Pvid就默认是n
3、当端口被分配到多个Vlan中时,Pvid默认是最小的非1值
pvid是在划分vlan时候每个端口都有的属性,默认情况下思科交换机中每个端口初始pvid是1,表示他是vlan1的成员们如果你给他划分了其他VLAN那么PVID相应会发生更改

pvid只在本地本台交换机存在,不会穿越过其他交换机通信
一般情况下,pvid用来隔离vlan号相同,但是又需要隔离端口之间通信时才用。
举例: 交换机1-10口给各个部门的电脑使用, 但是各个部门之间的电脑之间不允许数据通信
11口是总经理,需要看到所有部门的电脑信息, 这样1-10口就要用到pvid了

接口收发数据帧时,对Tag的添加或剥除过程。

  • 对于Access接口,缺省VLAN就是它允许通过的VLAN,修改缺省VLAN即可更改接口允许通过的VLAN。
  • 对于Trunk接口和Hybrid接口,一个接口可以允许多个VLAN通过,但是只能有一个缺省VLAN。接口的缺省VLAN和允许通过的VLAN需要分别配置,互不影响。

同类型接口添加或剥除VLAN标签的比较:

接口类型

对接收不带Tag的报文处理

对接收带Tag的报文处理

发送帧处理过程

Access接口

接收该报文,并打上缺省的VLAN ID。

当VLAN ID与缺省VLAN ID相同时,接收该报文。当VLAN ID与缺省VLAN ID不同时,丢弃该报文。

先剥离帧的PVID Tag,然后再发送。

Trunk接口

打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文。打上缺省的VLAN ID,当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文。

当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文。当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。

当VLAN ID与缺省VLAN ID相同,且是该接口允许通过的VLAN ID时,去掉Tag,发送该报文。当VLAN ID与缺省VLAN ID不同,且是该接口允许通过的VLAN ID时,保持原有Tag,发送该报文。

Hybrid接口

打上缺省的VLAN ID,当缺省VLAN ID在允许通过的VLAN ID列表里时,接收该报文。打上缺省的VLAN ID,当缺省VLAN ID不在允许通过的VLAN ID列表里时,丢弃该报文。

当VLAN ID在接口允许通过的VLAN ID列表里时,接收该报文。当VLAN ID不在接口允许通过的VLAN ID列表里时,丢弃该报文。

当VLAN ID是该接口允许通过的VLAN ID时,发送该报文。可以通过命令设置发送时是否携带Tag。

  • 当接收到不带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会给数据帧打上VLAN标签,但Trunk接口、Hybrid接口会根据数据帧的VID是否为其允许通过的VLAN来判断是否接收,而Access接口则无条件接收。
  • 当接收到带VLAN标签的数据帧时,Access接口、Trunk接口、Hybrid接口都会根据数据帧的VID是否为其允许通过的VLAN(Access接口允许通过的VLAN就是缺省VLAN)来判断是否接收。
  • 当发送数据帧时:
    • Access接口直接剥离数据帧中的VLAN标签。
    • Trunk接口只有在数据帧中的VID与接口的PVID相等时才会剥离数据帧中的VLAN标签。
    • Hybrid接口会根据接口上的配置判断是否剥离数据帧中的VLAN标签。

因此,Access接口发出的数据帧肯定不带Tag,Trunk接口发出的数据帧只有一个VLAN的数据帧不带Tag,其他都带VLAN标签,Hybrid接口发出的数据帧可根据需要设置某些VLAN的数据帧带Tag,某些VLAN的数据帧不带Tag。

三、VLAN访问

ARP表和MAC表的区别

1.arp表是三层设备才有的,如:路由器、主机电脑,arp:地址解析协议,已知目标ip地址来获取目标mac地址。mac表二层设备才有,如交换机。

2.arp表:阐述ip地址与mac地址的对应关系,而mac表:阐述mac地址与接口的对应关系。

同设备VLAN内互访

如下图所示,用户主机Host_1和Host_2连接在同台设备上,属于同一VLAN2,且位于相同网段,连接接口均设置为Access接口。
(假设Router上还未建立任何转发表项)。

打开网易新闻 查看精彩图片

  1. Host_1判断目的IP地址跟自己的IP地址在同一网段,于是发送ARP广播请求报文获取目的主机Host_2的MAC地址,报文目的MAC填写全F,目的IP为Host_2的IP地址10.1.1.3。
  2. 报文到达Router的接口IF_1,发现是Untagged帧,给报文添加VID=2的Tag(Tag的VID=接口的PVID),然后根据报文的源MAC地址、VID和报文入接口(1-1-1, 2, IF_1)生成MAC表。
  3. 根据报文目的MAC地址+VID查找Router的MAC表,没有找到,于是在所有允许VLAN2通过的接口(本例中接口为IF_2)广播该报文。
  4. Router的接口IF_2在发出ARP请求报文前,根据接口配置,剥离VID=2的Tag。
  5. Host_2收到该ARP请求报文,将Host_1的MAC地址和IP地址对应关系记录ARP表。然后比较目的IP与自己的IP,发现跟自己的相同,就发送ARP响应报文,报文中封装自己的MAC地址2-2-2,目的IP为Host_1的IP地址10.1.1.2。
  6. Router的接口IF_2收到ARP响应报文后,同样给报文添加VID=2的Tag。
  7. Router根据报文的源MAC地址、VID和报文入接口(2-2-2, 2, IF_2)生成MAC表,然后根据报文的目的MAC地址+VID(1-1-1, 2)查找MAC地址表,由于前面已记录,查找成功,向出接口IF_1转发该ARP响应报文。
  8. Router向出接口IF_1转发前,同样根据接口配置剥离VID=2的Tag。
  9. Host_1收到Host_2的ARP响应报文,将Host_2的MAC地址和IP地址对应关系记录ARP表。

后续Host_1与Host_2的互访,由于彼此已学习到对方的MAC地址,报文中的目的MAC地址直接填写对方的MAC地址。

***此组网场景下,当同一VLAN的用户处于不同网段时,主机将在报文中封装网关的MAC地址,可借助VLANIF技术(需配置主从IP地址)实现互访。***??

跨设备VLAN内互访

如下图,用户主机Host_1和Host_2连接在不同的设备上,属于同一个VLAN2,且位于相同网段。为了识别和发送跨越设备的数据帧,设备间通过干道链路连接。

打开网易新闻 查看精彩图片

  1. 经过与同设备VLAN内互访的步骤1~2一样的过程后,报文被广播到Router_1的IF_2接口。
  2. Router_1的IF_2接口在发出ARP请求报文前,因为接口的PVID=1(缺省值),与报文的VID不相等,直接透传该报文到Router_2的IF_2接口,不剥除报文的Tag。
  3. Router_2的IF_2接口收到该报文后,判断报文的Tag中的VID=2是接口允许通过的VLAN,接收该报文。
  4. 经过与同设备VLAN内互访的步骤3~6一样的过程后,Router_2将向其出接口IF_2转发Host_2的ARP响应报文,转发前,因为接口IF_2为Trunk接口且PVID=1(缺省值),与报文的VID不相等,直接透传报文到Router_1的IF_2接口。
  5. Router_1的IF_2接口收到Host_2的ARP响应报文后,判断报文的Tag中的VID=2是接口允许通过的VLAN,接收该报文。后续处理同同设备VLAN内互访的步骤7~9一样。

可见,干道链路除可传输多个VLAN的数据帧外,还起到透传VLAN的作用,即干道链路上,数据帧只会转发,不会发生Tag的添加或剥离。