赞
踩
目录
在学习VLAN概念前我们需要了解广播域的一些问题
在传统的交换式以太网(交换网络)中,所有的用户都在同一个广播域中,当网络规模较大时(或者多次泛洪处理),广播包的数量会急剧增加,当广播包的数量占到总量的 30%时,网络的传输效率将会明显下降。 特别是当某网络设备出现故障后,就会不停地向网络发送广播,从而导致广播风暴,使网络通信陷于瘫痪。
解决这个问题是分隔广播域,这样就不会影响到其他的设备
物理分割:将网络从物理上划分为若干个小网络,再使用能隔离广播的路由设备将不同 的网络连接起来实现通信。如加入多个路由器(贵,且接口不多)
逻辑分割:将网络从逻辑上划分为若干个小的虚拟网络,即 VLAN。VLAN 工作在 OSI 参考模型的数据链路层,一个 VLAN 就是一个交换网络,其中的所有用户都在同一个广播域中,各 VLAN 通过路由设备连接实现通信。
VLAN(Virtual Local Area Network),中文称为虚拟局域网。
是将一个物理的局域网在逻辑上划分成多个广播域的技术。
传统的以太网络无法满足大量计算机冲突,广播泛滥,安全等问题,而vlan的作用和优点可以解决这些问题,所以产生VLAN。
基于端口划分静态VLAN
目前最常见的 VLAN 实现方式,需要网络管理员手动配置
基于mac地址划分动态vlan,他把mac地址跟vlan对应,只要是这个mac地址的设备就属于这个vlan,而不管是接在哪个接口上。
VLANID范围 | 范围 | 用途 |
---|---|---|
0-4095 | 保留 | 用户不能查看和使用这些VLAN,Cisco默认VLAN |
2-1001 | 正常 | 用户可以创建、使用和删除这些VLAN,用于FDDI和令牌环的Cisco默认VLAN |
1002-1005 | 正常 | 用户能够使用该VLAN,但不能删除它,仅限系统使用 |
1006-1024 | 保留 | 用户不能查看和使用这些VLAN |
1025-4094 | 扩展 | 仅用于以太网VLAN |
0-4095 其中首尾巴不能用
有这样一个场景:一个公司分为好几个部门,可以把每个部门划分在一个vlan当中,但是现在的问题是部门较多,于是在不同的交换机上划分了vlan,相同的vlan跨越了交换机之后如何通信,中间互联的接口还如何配置vlan?
这个场景核心是 如何实现跨交换机之间的vlan通信
VLAN的作用是分割广播域,处于不同VLAN的端口在二层无法通信。两台交换机处于同一VLAN间的端口要想通信,需要用线连接起来。
是这样一堆线吗
VLAN最多可以设定4000多个,两台交换机之间当然不可能连4000多根线。
因此用一根骨干链路Trunk来连接两台交换机,作用就是让两台交换机上处于相同VLAN的端口能互相通信。Trunk上用特殊的封装方式来支持转发不同的VLAN的帧。
端口类型 | 描述 | 主要用途 | 特点 |
---|---|---|---|
Access | 接入链路类型 | 交换机与PC之间的连接 | 只允许默认VLAN的以太网帧通过。在收到以太网帧后打开VLAN标签,转发出端口时剥离VLAN标签,对终端主机透明。 |
Trunk | 干道链路类型 | 交换机与交换机之间的连接 | 允许通过一个接口传输多个VLAN的数据包。发出的端口缺省VLAN的报文不带VLAN Tag,其他VLAN的报文必须带VLAN Tag。 |
Hybrid | 华为特有属性 | 灵活连接不同类型的设备 | 既可以实现Access接口的功能,也可以实现Trunk接口的功能。不借助三层设备即可实现跨VLAN通信和访问控制。具有更高的灵活性与可控性。 |
两种封装类型
IEEE 802.1q在帧的协议号前增加一个tag的标签字段
tag由TPID和TCI组成。TPID(Tag Protocol Identifier)值为0x8100表示802.1Q。
TCI(Tag Control Information)指定VLAN的Priority(优先级),CFI(固定为0),VLAN ID。
因为Trunk上允许转发不同VLAN的帧,所以需要打上特殊标记来区分帧到底属于哪个VLAN。比如收到VLAN2的帧后打上个VLAN2的标记,通过Trunk链路转发出去,对方交换机收到帧后,发现是VLAN2的帧,就将VLAN2的标记去掉后发送到VLAN2的端口。这样就实现了相同VLAN在不同交换机间的通信。
- 相关指令
- port link-type access (定义二层端口为access模式)
- port default vlan 10 (将端口加入到vlan中)
-
- port link-type trunk (定义二层端口为trunk模式)
- port trunk allow-pass vlan 10 20 30 (配置Trunk端口允许通过的vlan,可以是all)
二层交换技术+三层转发技术
第一个数据包转发给第三层引擎,处理的方式是软件方式,与路由器相同。
当三层设备接收到一个数据帧,会拆除原数据帧,重新封装新的源MAC地址和目标MAC地址,并且因为帧头部的信息发生变化,最后的帧校验CRC也应当随之改变。
后续数据包则全部由硬件执行转发。
在第一个数据包转发完成后,在硬件中创建一个MLS条目,用于后续的数据包由硬件执行的重新封装和快速转发。2层数据帧会被重新封装为需要转发的下一个网段的帧格式。
重写信息在硬件中创建一个mls条目(mac地址条目),后续就可以单播。
这个过程被称为一次路由多次交换,也就是说交换机的三层引擎只需要处理数据流中的第一个数据包,而后续的数据全部由硬件来执行转发。这样实现了三层交换的线速转发。
先走三层后走二层,获取mac(这也就是重新封装,因为二层不知道mac地址)后面都是二层进行通讯。
CEF预先根据路由表(ip地址与接口对应关系)学习路由信息,并直接存储在FIB(Forwarding Information Base,转发信息库)中。以及预先根据ARP表生成邻接表关系。
当交换机接收到数据包时,可以直接查询FIB进行转发决策,而无需每次都通过第三层引擎进行路由计算。这种方式进一步提高了数据包的转发效率。
预先学习保存表,然后直接查找表
其关键是两张转发信息表,转发信息库(FIB)与路由表(ip网段和端口)一一对应,是路由表的一一个镜像。路由表更新时,FIB随之变化,
其中FIB包含邻接主机的IP地址与VLANID的对应关系。
而邻接关系表包含邻接主机和交换机MAC地址的对应关系用来提供二层重写信息。
基于CEF的MLS转发过程,即发送单播数据包,通过查找FIB和邻接关系表,重新封装数据帧,从相应端口进行转发。
工作原理:
①主机A给B发送单播数据包
②交换机查找FIB表,找到下一跳地址
③查找下一跳地址对应的邻接关系的2层封装信息
④转发
传统MLS至少需要软件查询一次路由表后,才可以建立转发条目,然后使用硬件进行转发,而基于CEF的MLS通过预先学习就能建立条目,直接可以找表转发
三层交换:一次路由,多次交换
一次路由: 数据流的第一数据包由三层引擎来处理,重新封装MAC,再路由转发数据包
多次交换:第一个数据包转发后,会在硬件创建一个MLS条目,MLS包含FIB(转发信息库:包含有VLANID和主机IP)、邻接关系表(邻接主机和MAC地址),通过查询FIB和邻接关系表重新封装数据帧,从相应端口转发数据
三层交换机具备路由功能,所以两个vlan之间可以相互访问,每一个vlan虚接口就是网段的网关。
三层交换机
存在的价值和意义:实现不同 VLAN 之间的通信
- 一些指令
- interface Vlanif 10
- ip address 192.168.10.1 24
- display ip interface brief ###端口自动激活
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。