VLAN、VLAN四种划分类型、access和trunk链路、vlan标识
LLDP协议
LLDP(link layer discovery protocol): 链路层发现协议
作用:用来在本端设备上查看对端设备信息。使用这个功能之前,需要在设备上开启LLDP这个功能,命令是 lldp enable
如果要在交换机上查看对端路由的设备信息,使用的命令是:display lldp neighbor brief
LLDP功能默认是不开启的,如果想要使用,需要手动开启功能。
一、什么是VLAN
VLAN(virtual local area network): 虚拟局域网
什么是VLAN: vlan是物理设备上连接的不受物理位置限制的用户的一个逻辑组
举个例子:一个公司一共有三层,因为公司规划和发展问题,每层都有10名技术部员工、10名销售部员工、10名市场部员工,导致相同部门的员工在物理位置上没有坐到一块去,但是有一个最简单的需求,我们希望相同部门的员工能够在一起相互通信,而不同部门的员工没法通信。这就意味着同部门的员工虽然物理位置没在一起,但是我们是希望他们能加入同一个通信组的。怎么实现这个需求呢?
我们知道每个楼层都有一个楼层交换机,每层的用户都和自己本楼层的楼层交换机相连,3个楼层之间的交换机是互联的,然后连接到一个路由器,在由路由器连接到外网。这个时候我们可以发现,虽然三个部门的员工在物理位置上不同,但是他们都连接在3个互联的楼层交换机上,此时我们就可以在每个楼层交换机上分别创建三个组,组1供技术部使用,组2供销售部使用,组三供市场部使用,这样以来,虽然每个部门的员工在物理位置上没有坐到一块去,但是通过三层楼的交换机可以实现互联。最后,实现相同组可以通信,不同组之间没法通信的需求。如下图所示:
所以VLAN的第一个作用是:在交换机上分割广播域,隔绝广播风暴。例如一个48端口的交换机,本来是都可以通信的,如果我们把这些端口分成不同的组,那么就只有相同组内的端口可以通信。如下图所示:
这个交换机默认情况下所有端口都是在一个广播域当中的,现在通过引入VLAN的概念,我让左边两个端口属于VLAN1,右边三个端口属于vlan2,此时VLAN2的某个端口进行广播,它只会在VLAN2的端口内进行传递,绝对不会被广播到VLAN1中去。从而实现了广播域的划分。
通过划分广播域,仅把信息广播在同个VLAN组内,不用再对所有端口进行广播,从而安全性也得到了很大提升,同时也能提高带宽的利用率并降低延迟。
最后,总结VLAN的作用如下:
1、用来在交换机上进行广播域的分割,隔绝广播风暴
2、提高了网络的安全性
3、提高了带宽利用率
4、降低了延迟
二、VLAN的四种划分类型
1、基于端口的静态划分
2、基于MAC地址的动态划分
3、基于子网的动态划分
4、基于协议的动态划分
1、基于端口的静态划分
如下图所示,我们把交换机的1和7端口划分在VLAN5当中,把交换机的2和10端口划分在VLAN10当中,这个时候当我们的A主机连接在1端口上时,这个主机就属于VLAN5,如果在把A主机连接在2端口上,这时候主机A就属于VLAN10。这就是基于交换机端口的静态划分。
2、基于MAC地址的动态划分
如下图所示。我们把主机A和C的MAC地址划分到VLAN5当中,把主机B和D的MAC地址划分到VLAN10当中,此时不论主机A连接在交换机的哪一个端口上,主机A永远都属于VLAN5。这就是基于主机MAC地址的动态划分。
3、基于IP子网的动态划分
如下图所示。主机1和主机2都是10.0.0.0/24这个网段,我们把这个网段划分到VLAN10中,主机3和主机4都是20.0.0.0/24这个网段,我们把这个网段划分到VLAN20这个网段中。无论主机1插在交换机哪个端口上,只要他的IP地址不发生变化,它永远属于VLAN10。在这种划分方式下,同一个网段的主机在一个VLAN中。这就是基于IP子网的动态划分。
4、基于协议的动态划分
如下图所示。如果主机1和2运行的是IP协议,主机3和4运行的是IPX协议,我们把IP协议划分到VLAN10,把IPX协议划分到VLAN20,此时无论主机1发生什么变化,只要它运行的协议不发生变化,它都属于VLAN10。这就是基于协议的动态划分。
注意:因为我们的二层交换机只能识别到MAC地址,无法知道IP等信息,所以如果我们使用基于IP子网或者基于协议的方式划分VLAN时,必须是在三层交换机上。平常我们使用最多的是基于端口的静态划分。 另外:当VLAN的4种划分方式产生冲突时,其优先级的顺序为:基于MAC > 基于IP子网 > 基于协议 >基于端口。
三、VLAN的链路类型
VLAN链路分为两种类型:
1、access 链路:连接终端主机与交换机的链路称为接入链路
2、trunk链路:交换机与交换机之间相连的链路称为中继链路
不同交换机之间相同VLAN不能通信,这是为什么呢?如下图所示,每台交换机连接3台主机,每台主机分别属于VLAN1,VLAN2,VLAN3,两台交换机用一根线相连,为什么不同交换机的相同VLAN之间不可以通信呢?
我们知道交换机的所有端口默认都属于VLAN1,所以我们在不配置VLAN的时候,连接两台交换机的端口都属于VLAN1,而交换机连接主机的端口被划分为VLAN2,3,因为两个端口属于不同的VLAN,所以导致不同交换机的相同VLAN之间不能通信。所以如果想让不同交换机的相同VLAN可以通信,两个交换机之间的这根线也得加入和主机一样的VLAN编号。比如我们想让两个交换机的VLAN1可以通信,就把交换机相连的那两个端口配成VLAN1,那么VLAN1就可以通信了;如果想让两个交换机的VLAN2可以通信,就在在交换机之间连一根线,并把连线的两个端口配成VLAN2,那么VLAN2就可以通信了;如果想让两个交换机的VLAN3可以通信,就在在交换机之间连一根线,并把连线的两个端口配成VLAN3,那么VLAN3就可以通信了。
上述方法虽然可以解决不同交换机之间相同VLAN通信的问题,但是存在一个问题,为了每一个VLAN可以通信我们都需要连一根线,并且浪费交换机两个端口,我们知道交换机一共只有24或48个端口,如果存在多个VLAN的话,交换机端口就不够用了。所以这个方法就行不通了,那么应该怎么办呢?
此时我们想,连接两个交换机之间的链路能不能用一根线去代替呢?即用一根线去传递不同VLAN的数据,此时怎么分辨识别不同的VLAN呢?
如下图所示,VLAN1用户发送的原始数据来到交换机的时候,会到达交换机上对应的VLAN1端口,交换机端口根据自己所属的VLAN给这个原始数据添加上一个VLAN标记,因为这个端口属于VLAN1,所以此处它给原始数据加上一个VLAN1的标记,然后这个数据会带着VLAN1这个标记一路传到对端交换机,对端交换机收到带有这个VLAN标记的数据帧的时候,它发现这个标记是VLAN1,然后它就会把这个数据转发到自己VLAN1的端口上,并去除VLAN标记,只将原始数据发到VLAN1端口上,然后原始数据在传送到和VLAN1端口相连的PC机上,从而实现不同交换机之间相同VLAN之间的通信。在比如所VLAN3的用户发送原始数据,数据发送给指定的端口,然后交换机会根据这个端口所属的VLAN给原始数据打上一个VLAN3的标签,然后带着VLAN3标签的数据会被传送到对端交换机,对端交换机根据VLAN3标记判断出这个数据是要去往VLAN3,然后它把VLAN3标记去除后把原始数据发送到对应的VLAN3端口,完成整个转发过程。
所以通过一根线路时,所使用的方法是交换机给每个去往其他交换机的数据帧打上VLAN标识。
而连接两个交换机的这条线路就是trunk线路。
结合VLAN两种不同的链路类型,整个过程总结如下图所示:客户端发出原始数据,原始数据通过接入链路(access链路)传给交换机,交换机给它打上一个VLAN标记,然后带着VLAN标记的数据通过中继链路(trunk 链路)到达对端交换机,对端交换机把VLAN标记去除掉,并传给对应的客户端。可以发现,接入链路传递的是不带有VLAN标记的数据,而中继链路传递的是带有VLAN标记的链路。
四、VLAN标识
交换机是如何给VLAN贴标识的呢?
VLAN标识有两种方式:
1、IEEE 802.1Q(业界共有标准)
2、ISL(cisco 私有协议)
1、IEEE 802.1Q 工作原理
破坏原始数据帧,在原始数据帧的中间插入一个4字节大小的标记,然后将这个数据传到对端交换机上。如下图所示:
具体破坏并插入数据帧的位置如下图:
2、ISL(cisco 私有协议)工作原理
不破坏原始数据帧,在原始数据帧的前面添加一个26字节的头部,在后面添加一个4字节的尾部。
五、hybrid 端口类型
1、hybird端口属于混杂端口,既可以连接主机终端,也可以连接交换机
2、hybrid端口具有添加VLAN标记和抹除VLAN标记的作用