《一文读懂VLAN和VXLAN技术.doc》由会员分享,可在线阅读,更多相关《一文读懂VLAN和VXLAN技术.doc(7页珍藏版)》请在三一文库上搜索。
1、一文读懂VLAN和VXLAN技术VLAN(Virtual Local Area Network)的中文名为“虚拟局域网”。VLAN是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的数据交换技术。这一技术主要应用于交换机和路由器中,但主流应用还是在交换机之中。但又不是所有交换机都具有此功能,只有VLAN协议的第二层以上交换机才具有此功能。802.1Q的标准的出现打破了虚拟网依赖于单一厂商的僵局,从一个侧面推动了VLAN的迅速发展。1、交换机端口工作模式简介交换机端口有三种工作模式,分别是Access,Hybrid,Trunk。Access类型的端口只能属于1个VLAN,一般用于连接
2、计算机的端口;Trunk类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;Hybrid类型的端口可以允许多个VLAN通过,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。Hybrid端口和Trunk端口在接收数据时,处理方法是一样的,唯一不同之处在于发送数据时:Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。2、基本概念(tag,untag,802.1Q)untag就是普通的ethernet报文,普通PC机的网卡是可以识别这样的报文进行通讯;
3、tag报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan tag头;一般来说这样的报文普通PC机的网卡是不能识别的下图说明了802.1Q封装tag报文帧结构带802.1Q的帧是在标准以太网帧上插入了4个字节的标识。其中包含:2个字节的协议标识符(TPID),当前置0x8100的固定值,表明该帧带有802.1Q的标记信息。2个字节的标记控制信息(TCI),包含了三个域。Priority域,占3bits,表示报文的优先级,取值0到7,7为最高优先级,0为最低优先级。该域被802.1p采用。规范格式指示符(CFI)域,占1bit,0表示规范格式,应用
4、于以太网;1表示非规范格式,应用于Token Ring。VLAN ID域,占12bit,用于标示VLAN的归属。3、交换机接口出入数据处理过程3-1、端口接收报文时的处理:Acess端口收报文:收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)trunk端口收报文:收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该 VLAN的数据进入:如果允许则报文携带原有VLAN标记进行转发,否则丢弃该报文。hybrid端口收报文:收到一个报文,判断是否有VLAN信息:如果没有则打
5、上端口的PVID,并进行交换转发,如果有则判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃。备注:PVID为Port-base Vlan ID,也就是端口的虚拟局域网ID号,关系到端口收发数据帧时的VLAN TAG 标记。3-2、端口发送报文时的处理Acess端口发报文:将报文的VLAN信息剥离,直接发送出去trunk端口发报文:比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,否则报文将携带原有的VLAN标记进行转发。hybrid端口发报文:判断该VLAN在本端口的属性如果是untag则剥离VLAN信息,再发送,如果是tag则
6、比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,否则报文将携带原有的VLAN标记进行转发。4、示例讲解多交换机的情况下,VLAN是怎么工作的呢?下图所示的这种情况,两个交换机VLAN相同,都是默认VLAN 1,即两个交换机之间的联系同在VLAN 1之内。路由器是所有节点的出口。这时单播,多播和广播数据自由传输,所有节点属于同一IP地址。这时节点之间的通信不会有问题,因为交换机的SAT显示它们在同一VLAN。而下面这种连接方式就会有问题。由于VLAN在连接端口的主机之间创建了三层边界,它们将无法通信。仔细看上图,这里有很多问题。第一,所有主机都在同一IP网
7、,尽管连接到不同的VLAN。第二,路由器在VLAN 1,因此与所有节点隔离。最后,两台交换机通过不同的VLAN互连。每一点都会造成通信阻碍,合在一起,网络各元素之间会完全无法通信。交换机用满或同一管理单元物理上彼此分离的情形是很常见的。这种情况下,VLAN需要通过trunk延伸至相邻交换机。trunk能够连接交换机,在网络间传载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线互连。注意到tr
8、unk端口出现在VLAN 1,他们没有用字母T来标识。trunk在任何VLAN都没有成员。现在VLAN跨越多交换机,同一VLAN下的节点可以物理上位于任何地方。再次解释下什么是Trunk:Trunk是在两个网络设备之间承载多于一种VLAN的端到端的连接,将VLAN延伸至整个网络。没有VLAN Trunk,VLAN也不会非常有用。VLAN Trunk允许VLAN数据流在交换机间传输,所以设备在同一VLAN,但连接到不同交换机,能够不通过路由器来进行通信。一个VLAN trunk不属于某一特定VLAN,而是交换机和路由器间多个VLAN的通道。如下图所示,交换机S1和S2,以及S1和S3之间的链路,
9、配置为传输从VLAN10,20,30以及90的数据流。该网络没有VLAN trunk就无法工作。当安装好trunk线之后,帧在trunk线传输是就可以使用trunk协议来修改以太网帧。这也意味着交换机端口有不止一种操作模式。缺省情况下,所有端口都称为接入端口。当一个端口用于交换机间互连传输VLAN信息时,这种端口模式改变为trunk,节点也路由器通常不知道VLAN的存在并使用标准以太网帧或“untagged”帧。trunk线能够使用“tagged”帧来标记VLAN或优先级。因此,在trunk端口,运行trunk协议来允许帧中包含trunk信息。如下图所示:PC 1在经过路由表处理后向PC 2发
10、送数据流。这两个节点在同一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、工程实践我们利用cisco packet trace工具来对上述描述的vlan的技术点进行工程实践,内容包括通过四台PC、两台交换机,通过一个trunk链路建立两个vlan的过程。1、通过cis
11、co packet trace我们首先建立一个如下图的网络拓扑结果。pc1接switch1的0/1端口;pc2接switch1的0/2端口;laptop0接switch2的0/1端口;laptop1接switch2的0/2端口;trunk链路有两台交换机的普通端口0/3互联。2、分别为四台PC分配静态的IP。如图所示PC3为192168.10.1;根据vlan规划,PC2的IP为192.168.20.1;laptop0的IP192.168.20.1;laptop1的IP192.168.20.2;3、配置switch1,命令如下SwitchenableSwitch#configure termi
12、nalSwitch(config)#hostname SASA(config)#vlan 10SA(config-vlan)#exitSA(config)#vlan 20SA(config-vlan)#exitSA(config)#interface fa0/1SA(config-if)#switchport access vlan 10SA(config-if)#exitSA(config)#interface fa0/2SA(config-if)#switchport access vlan 20SA(config-if)#exitSA(config)#interface fa0/3SA(
13、config-if)#switchport mode trunkSA(config-if)#switchport trunk allowed vlan all通过测试4、配置switch2,命令如下SwitchenableSwitch#configure terminalSwitch(config)#hostname SBSB(config)#vlan 10SB(config-vlan)#exitSB(config)#vlan 20SB(config-vlan)#exitSB(config)#interface fa0/1SB(config-if)#switchport access vlan 10SB(config-if)#exitSB(config)#interface fa0/2SB(config-if)#switchport access vlan 20SB(config-if)#exitSB(config)#interface fa0/3SB(config-if)#switchport mode trunkSB(config-if)#switchport trunk allowed vlan all通过测试5、检查vlan间的互通性,从PC3(192.168.10.1)ping PClaptop0和laptop1情况如下:
链接地址:https://www.31doc.com/p-3363265.html