首页 > 编程知识 正文

如何设置vlan(15年后他成了一名工程师)

时间:2023-05-06 04:13:38 阅读:95159 作者:488

有了DHCP和DNS,妈妈再也不用担心我不知道IP了,可以开心地上网!

但是,我们的互联网人才,当然不能只满足于愉快地上网,还必须进一步优化。

在一个局域网中,随着上网的人增加,有人抱怨网速太慢,局域网内部的电脑之间的互访也太慢了,让人无法忍受。 这是因为电脑为了访问他人,经常会发送ARP Request消息。 而且,这个消息是“大声”的广播消息!

我想一个教室坐30人和坐300人,感觉是不一样的吧。 人数越多噪音越大!

把这300人分成10个班,去10个不同的教室,噪音问题就差不多解决了。

电脑也一样,一个广播域中电脑数量越多,广播信息也就越多。 一方面,广播消息消耗很多带宽,另一方面,电脑也为了处理很多无用的广播消息而消耗很多资源。

怎样才能把广播域控制在合理的范围内?

路由器? 是的,路由器是网络层(也称为三层)的设备,确实可以隔离广播域,但用路由器隔离广播太奢侈了。

局域网中的计算机一般连接到交换机,但交换机也称为链路层(双层)设备。 能用双层交换机实现隔离广播域的目的吗?

是的,这就是虚拟局域网(LAN )技术。

每个VLAN都是一个独立的广播域,可以通过VLAN灵活地控制交换机上每个广播域中的计算机数量,从而大大提高网络性能,增加处理广播消息的计算机负担

交换机如何区分不同的VLAN帧? 例如,在上面的照片中,VLAN 1中的一台计算机发送了数据帧。 交换机如何区分此帧不是VLAN 2而是VLAN 1?

这需要更改以太网的封装格式,并添加标识字段TAG。

上面是标准以太网帧,为了使交换机能够区分不同的VLAN帧,在SMAC和Type之间插入了TAG。 我们把带TAG的框架称为802.1Q框架。

TAG总共占4字节、32比特,有4个构成要素:

占用Type ID字节,值为十六进制0x8100。 交换机刚收到帧,不知道这是标准帧还是802.1Q帧。 通过观察SMAC之后的类型,如果看到了0x8100,就知道这是802.1Q帧,否则就是标准帧。

优先级:优先级,占3位。 表示这个框架的重要性。 这是QoS 稍后再研究。

CFI :占1比特,用于与其他LAN协议的兼容性,一般值为0。

VLAN ID :交换机用于区分不同的VLAN帧,占12位,理论值为0~4095。 其中,全0和全1都不使用,因此取值范围为1~4094。

我们在文章(2)中讨论过开关是如何工作的。 其实,交换机的MAC地址表还有一列,但当时还没有接触VLAN,所以省略了。 现在补充:

此列是PVID,指端口的VLAN id (端口)。 之所以全部填写为“1”,是因为VLAN1是交换机的默认VLAN。 即使不配置VLAN,VLAN1也存在,默认为所有端口的PVID。

创建VLAN2并将端口4的PVID更改为VLAN2后,将出现以下情况:

现在来分析一下开关的动作。

首先,需要明确的是,所有的终端装置,无论发送接收的帧如何,都是标准的以太网帧。 如果终端设备接收到802.1Q帧,则在解封装时不知道类型值0x8100是什么,因此将被丢弃。 802.1Q帧通常由交换机或路由器的以太网接口处理。

假设计算机a发送了单播、广播或多播数据帧,然后来到交换机端口1。 端口1接收到帧后,将发生以下三件事:

第一,检查这个帧是标准帧还是802.1Q帧。 也就是说,检查是否带有TAG。 对于802.1Q帧,直接做第二件事。 否则,根据自己的PVID,在这个标准帧上加上TAG,使之成为802.1Q帧。 (

ID,其它省略):

第二件事,交换机在MAC地址表中查找PVID与此帧的VID相同的所有记录。如果此帧是单播帧,则查找PVID=VID且MAC地址=DMAC的记录,找到后把帧送到对应端口。若没有找到,则把此帧送到所有符合PVID=VID记录的端口(除收到此帧的端口1)。你看,这个帧带了VID=1,交换机就不会再把它送到PVID不是1的端口了,比如端口4,从而实现了不同VLAN间的隔离;

第三件事,端口要把802.1Q的帧发出去,需要根据这个端口的类型来决定要不要把TAG去掉。

端口类型为Access,且PVID=VID时,去掉TAG,变成标准帧发出去;

端口类型为Trunk时,有两种情况:一是PVID=VID,和Access类型一样,去掉TAG,变成标准帧发出去;二是PVID≠VID,且该端口允许此VID通过,则保留TAG,把此802.1Q帧原封不动发出去。

Access端口一般用于连接终端设备,比如电脑、服务器等;Trunk端口一般用于交换机之间互连。

我们来举一个例子说明。如下图:

PCA、PCB、PCC分别连接在SWA的端口1、端口2、端口3上,三个端口都是Access类型,其中端口1和端口2的PVID为1,端口3的PVID为2;SWA用端口4与SWB的端口3相连,这两个端口都是Trunk类型,PVID都为1,且都允许VLAN1和VLAN2通过; SWB端口1连接PCD,类型为Access,PVID为1;端口2连接PCE,类型为Access,PVID为2。

PCA访问PCB过程:PCA发出标准帧来到SWA端口1,端口1发现是标准帧,打上TAG,VID填写PVID的1。然后交换机查看MAC地址表,仅在端口2和端口4中查找匹配项,不会查找端口3,发现仅端口2符合条件,将帧送到端口2。端口2收到后,把TAG拆除,变成标准帧发出,PCB收到。

PCC访问PCE过程:PCC发出标准帧来到SWA端口3,端口3发现是标准帧,打上TAG,VID填写PVID的2。然后交换机查找MAC地址表,发现只有端口4符合条件(虽然端口4的PVID为1,但此端口是Trunk,且允许VLAN2通过),将帧送到端口4。端口4收到后,发现帧中的VID为2,而自己的PVID为1,不相等,于是把此802.1Q帧原样发出。SWB的端口3收到后,发现此帧是802.1Q帧,不再打TAG,直接查找MAC地址表,发现端口2符合条件,把此帧送到端口2,端口2拆除TAG,变成标准帧后发出,PCE收到。

从上述过程我们发现,Access端口只处理一个VLAN,而Trunk可以处理多个VLAN。交换机处理VLAN时,不管收到帧的端口是什么类型,只要是收到标准帧一律把PVID打上,收到已带TAG的帧就不打了。从端口发出时是否带TAG看端口类型:

从Access端口发出一定拆除TAG变回标准帧;

从Trunk端口发出看帧的VID是否与端口的PVID相同,相同则拆除TAG发出,不相同则不拆除、原封不动发出(前提是端口允许此VLAN通过)。

小Q:PCA访问PCB的单播帧会不会也从端口4发出去?

欢迎大家留言讨论。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。