网络概念- VLAN技术详解

引言:工作中一直用VLAN和VXLAN,但是没有形成知识体系,百度一下大神们的文章,在此整理成学习笔记。感谢大神们的无私分享,参照的主要文章链接如下:

http://network.51cto.com/art/201902/592347.htm

https://blog.csdn.net/dylloveyou/article/details/80107792

https://blog.51cto.com/liufei888/2071793?from=timeline&isappinstalled=0

http://virtual.51cto.com/art/201901/590900.htm


1  交换机端口工作模式简介

      交换机端口有三种工作模式,分别是Access,Hybrid,Trunk。可以登陆到交换机中按照需要自定义端口的模式。

      Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口;

      Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;

      Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。

      Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。

2  基本概念(tag,untag,802.1Q)

      untag就是普通的ethernet报文,普通PC机的网卡是可以识别这样的报文进行通讯;

      tag报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan tag头;一般来说这样的报文普通PC机的网卡是不能识别的。

      VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。VLAN是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的数据交换技术。这一技术主要应用于交换机和路由器中,但主流应用还是在交换机之中。但又不是所有交换机都具有此功能,只有VLAN协议的第二层以上交换机才具有此功能。802.1Q的标准的出现打破了虚拟网依赖于单一厂商的僵局,从一个侧面推动了VLAN的迅速发展。

网络概念- VLAN技术详解

带802.1Q的帧是在标准以太网帧上插入了4个字节的标识。其中包含:

  • 2个字节的协议标识符(TPID),当前置0x8100的固定值,表明该帧带有802.1Q的标记信息。
  • 2个字节的标记控制信息(TCI),包含了三个域。
  • Priority域,占3bits,表示报文的优先级,取值0到7,7为最高优先级,0为最低优先级。该域被802.1p采用。
  • 规范格式指示符(CFI)域,占1bit,0表示规范格式,应用于以太网;1表示非规范格式,应用于Token Ring。
  • VLAN ID域,占12bit,用于标示VLAN的归属。

3  交换机接口出入数据处理过程

3.1  端口接收报文时的处理:

网络概念- VLAN技术详解

  • Acess端口收报文:

      收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)

  • trunk端口收报文:

      收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该 VLAN的数据进入:如果允许则报文携带原有VLAN标记进行转发,否则丢弃该报文。

  • hybrid端口收报文:

      收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃。

      备注:PVID为Port-base Vlan ID,也就是端口的虚拟局域网ID号,关系到端口收发数据帧时的VLAN TAG 标记。

3.2  端口发送报文时的处理

网络概念- VLAN技术详解

     

  • Acess端口发报文:

      将报文的VLAN信息剥离,直接发送出去

  • trunk端口发报文:

      比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,否则报文将携带原有的VLAN标记进行转发。

  • hybrid端口发报文:

      发报文之前先判断该VLAN在本端口的属性,属性分为tag和untag两种。

      如果是untag则剥离VLAN信息,再发送,如果是tag则比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,否则报文将携带原有的VLAN标记进行转发。

4  举例说明

      多交换机的情况下,VLAN是怎么工作的呢?下图所示的这种情况,两个交换机VLAN相同,都是默认VLAN 1,即两个交换机之间的联系同在VLAN 1之内。路由器是所有节点的出口。

      这时单播,多播和广播数据*传输,所有节点属于同一IP地址。这时节点之间的通信不会有问题,因为交换机的SAT显示它们在同一VLAN。

网络概念- VLAN技术详解

      而下面这种连接方式就会有问题。由于VLAN在连接端口的主机之间创建了三层边界,它们将无法通信。

网络概念- VLAN技术详解

      第一,所有主机都在同一IP网,尽管连接到不同的VLAN。第二,路由器在VLAN 1,因此与所有节点隔离。最后,两台交换机通过不同的VLAN互连。每一点都会造成通信阻碍,合在一起,网络各元素之间会完全无法通信。

      交换机用满或同一管理单元物理上彼此分离的情形是很常见的。这种情况下,VLAN需要通过trunk延伸至相邻交换机。trunk能够连接交换机,在网络间传载VLAN信息。如下图所示:

网络概念- VLAN技术详解

对之前的拓扑的改进包括:

PC 1和PC 2分配到192.168.1.0网段以及VLAN 2。

PC 3和PC 4分配到192.168.2.0网段以及VLAN 3。

路由器接口连接到VLAN 2和VLAN 3。

交换机间通过trunk线互连。

      注意到trunk端口出现在VLAN 1,他们没有用字母T来标识。trunk在任何VLAN都没有成员。现在VLAN跨越多交换机,同一VLAN下的节点可以物理上位于任何地方。也就是说上图的trunk口支持VLAN1,2,3,可以转发这3个VLAN的数据包。

      Trunk是在两个网络设备之间承载多于一种VLAN的端到端的连接,将VLAN延伸至整个网络。没有VLAN Trunk,VLAN也不会非常有用。VLAN Trunk允许VLAN数据流在交换机间传输,所以设备在同一VLAN,但连接到不同交换机,能够不通过路由器来进行通信。

      一个VLAN trunk不属于某一特定VLAN,而是交换机和路由器间多个VLAN的通道。如下图所示,交换机S1和S2,以及S1和S3之间的链路,配置为传输从VLAN10,20,30以及90的数据流。该网络没有VLAN trunk就无法工作。

网络概念- VLAN技术详解

      当安装好trunk线之后,帧在trunk线传输是就可以使用trunk协议来修改以太网帧。这也意味着交换机端口有不止一种操作模式。缺省情况下,所有端口都称为接入端口。当一个端口用于交换机间互连传输VLAN信息时,这种端口模式改变为trunk,节点也路由器通常不知道VLAN的存在并使用标准以太网帧或“untagged”帧。trunk线能够使用“tagged”帧来标记VLAN或优先级。

      因此,在trunk端口,运行trunk协议来允许帧中包含trunk信息。如下图所示:

网络概念- VLAN技术详解

PC 1在经过路由表处理后向PC 2发送数据流。这两个节点在同一VLAN但不同交换机。步骤如下:

  • 以太网帧离开PC 1到达Switch 1。
  • Switch 1的SAT表明目的地是trunk线的另一端。
  • Switch 1使用trunk协议在以太网帧中添加VLAN id。
  • 新帧离开Switch 1的trunk端口被Switch 2接收。
  • Switch 2读取trunk id并解析trunk协议。
  • 源帧按照Switch 2的SAT转发至目的地(端口4)。

5 VLAN的优缺点

5.1  VLAN优点

      对于规模较大的组网场景,广播报文的泛滥对于网络通信将会造成较大的影响。VLAN技术为这一问题提供了解决方案,VLAN将同一网络划分为多个逻辑上的虚拟子网,并规定当收到广播报文时,仅仅在其所在VLAN中进行广播从而防止广播报文泛滥。VLAN技术在链路层的层次中实现了广播域的隔离,

网络概念- VLAN技术详解

 

5.2  VLAN的缺点

  • 虚拟化技术的发展促使大数据、云计算技术公司采用单个物理设备虚拟多台虚拟机的方式来进行组网,因此对于支持VLAN的数量要求也在提升,加上VLAN技术最多支持4094个VLAN,因此已经无法满足需求。
  • 公有云提供商的业务要求将实体网络租借给多个不同的用户,这些用户对于网络的要求有所不同,而不同用户租借的网络有很大的可能会出现IP地址、MAC地址的重叠,传统的VLAN仅仅解决了同一链路层网络广播域隔离的问题,而并没有涉及到网络地址重叠的问题,因此需要一种新的技术来保证在多个租户网络中存在地址重叠的情况下依旧能有效通信的技术。

网络概念- VLAN技术详解

  • 虚拟化技术的出现增加了交换机的负担,对于大型的数据中心而言,单台交换机必须支持数十台以上主机的通信连接才足以满足应用需求,而虚拟化技术使得单台主机可以虚拟化出多台虚拟机同时运行,而每台虚拟机都会有其唯一的MAC地址。这样,为了保证集群中所有虚机可以正常通信,交换机必须保存每台虚机的MAC地址,这样就导致了交换机中的MAC表异常庞大,从而影响交换机的转发性能。

      基于以上需求,VXLAN技术被提出。

      关于VXLAN技术详情见https://blog.csdn.net/qq_35550345/article/details/87939354


转载请注明出处,谢谢!