交换机通过对各端口所连计算机MAC地址的学习,生成如下的MAC地址列表 。
seline; word-break: break-word; color: rgb(93, 93, 93); overflow-wrap: break-word; white-space: normal;">seline; word-break: break-word; display: block; max-width: 100%; border-radius: 4px;"/>
seline; word-break: break-word;">那么计算机A与同一VLAN内的计算机B之间通信如何进行通信呢?
计算机A发出ARP哀求信息,哀求解析B的MAC地址 。
交换机收到数据帧后,检索MAC地址列表中与收信端口同属一个VLAN的表项 。结果发现,计算机B连接在端口2上,于是交换机将数据帧转发给端口2,最终计算机B收到该帧 。收发信双方同属一个VLAN之内的通信,一切处理均在交换机内完成,原理比较简朴 。
seline; word-break: break-word;">这里简朴补充下,什么是arp?
ARP就是地址解析协议,可以利用ip地址找到网卡的物理地址 。
seline; word-break: break-word;">第二种:不同vlan间如何完成通信
接下来是这一讲的核心内容,不同VLAN间的通信 。不同vlan间的通信就需要有路由功能,一般我们是三层交换机 。
让我们来看下一下计算机A与计算机C之间通信时的情况 。
seline; word-break: break-word; color: rgb(93, 93, 93); overflow-wrap: break-word; white-space: normal;">seline; word-break: break-word; display: block; max-width: 100%; border-radius: 4px;"/>
红色是VLAN1,计算机A,网络地址为192.168.1.0/24 。
蓝色是VLAN2,计算机B,网络地址为192.168.2.0/24 。
seline; word-break: break-word;">第一步:判定计算机A与计算机B是否在同一个vlan中
计算机A将自己的子网掩码与计算机C的ip地址进行运算后,发现这他们不在同一个vlan,那么如何实现通信呢?
seline; word-break: break-word;">第二步:获到路由器的mac地址后,封装数据包
在确定计算机A与计算机C不在同一个vlan后,计算机A因此会向设定的默认网关转发数据包 。在发送数据帧之前,计算机A需要先用ARP获取路由器的MAC地址 。
然后计算机A封装好自己的IP地址和MAC地址,同时也封装好目标主机B的IP地址和路由器的MAC地址,封装成数据包 。如图数据① 。
seline; word-break: break-word; color: rgb(93, 93, 93); overflow-wrap: break-word; white-space: normal;">seline; word-break: break-word; display: block; max-width: 100%; border-radius: 4px;"/>
seline; word-break: break-word;">第三步:数据包发送给路由模块,表明身份
接下来就是按图中发送往计算机C去的数据包 。
交换机通过检索MAC地址列表后,经由内部汇聚链接,将数据包转发给路由模块 。在通过内部汇聚链路时,数据包被附加了属于红色VLAN1的标识,如图中数据包② 。
seline; word-break: break-word; color: rgb(93, 93, 93); overflow-wrap: break-word; white-space: normal;">seline; word-break: break-word; display: block; max-width: 100%; border-radius: 4px;"/>
也就是交换机的路由知道了,这是vlan1发来的数据,这步就是将主机A的身份进行识别,打个标签,他是vlan的主机 。
seline; word-break: break-word;">第四步:告诉交换机路由模块自己意图
接着,根据路由器内部的路由表,判定该向哪里中继 。
因为目标网络192.168.2.0/24是直连路由器的网络、且对应蓝色VLAN2;因此,接下来就会从蓝色VLAN接口经由内部汇聚链路转发回交换机 。在通过汇聚链路时,这次数据包被附加上属于蓝色VLAN2的识别信息,这时,数据包的目标MAC地址被改写成计算机C的目标地址,如图数据包③ 。
seline; word-break: break-word; color: rgb(93, 93, 93); overflow-wrap: break-word; white-space: normal;">seline; word-break: break-word; display: block; max-width: 100%; border-radius: 4px;"/>
seline; word-break: break-word;">第五步:实现通信
交换机收到这个帧后,检索蓝色VLAN2的MAC地址列表,确认需要将它转发给端口3 。由于端口3是通常的访问链接,因此转发前会先将VLAN识别信息去除(如图数据包④) 。最终,计算机C成功地收到交换机转发来的数据 。
seline; word-break: break-word; color: rgb(93, 93, 93); overflow-wrap: break-word; white-space: normal;">seline; word-break: break-word; display: block; max-width: 100%; border-radius: 4px;"/>【计算机是如何访问一个网页的?vlan间如何实现通信?】
- 什么是vlan?如何理解vlan?
- 通信管道工程如何施工?看完就会埋管
- 一个C类的ip段中,有多长个可用的ip地址?192.168.0.1/24是什么意思?
- 什么是网络割接?割接的步骤有哪些?
- 什么是软路由与硬路由?软路由如何安装?
- 什么是POL全光网络?聪明酒店全光网络解决方案
- 春秋五霸称霸顺序是什么
- 如何判断杀虫脒中毒?
- 秦朝咸阳是现在的哪个城市
- 2020年东京奥运会门票价格及怎么购买 主题曲是什么