技术背景

  • 通过使用路由器可以实现VLAN间通信。
  • 当路由器使用多臂的方式实现VLAN间的通信时,路由器的接口资源将受到极大的挑战,当VLAN数量特别多时,采用多臂路由的方式是不具备可行性的,并且此种方式的可扩展性并不高。
  • 当路由器采用单臂的方式实现VLAN间通信时,与多臂路由相比,是一种更佳的选择,因为单臂的可扩展性更高、更经济。
  • 但是单臂路由也存在一定的短板:(1)路由器与交换机之间的链路由于需承载所有VLAN间的通信数据,因此它的负载将变得非常高,尤其是当VLAN的数量特别多、VLAN间通信的流量特别大时,这段链路将变得不堪重负。(2)单臂链路也不具备冗余性,一旦链路发生故障,VLAN之间的通信也就无法再正常进行。
  • 使用三层交换机(Layer 3 Switch)也可以实现VLAN间通信,并且能优化上述问题。

三层交换机

  • 三层交换机除了能够实现二层交换机所有功能,还支持路由功能。
  • 三层交换机除了拥有二层接口外,还拥有三层接口。
  • VLANIF (VLAN Interface)VLAN接口就是一种非常重要的三层接口,这是一种逻辑接口,物理上并不存在。
  • 在一台三层交换机上创建了一个VLAN时,就可以将交换机的物理接口(比如GE0/0/1)加入到该VLAN中,此时这些物理接口都是二层接口。与此同时,还能在交换机上配置这个VLAN对应的VLANIF,也就是这个VLAN对应的三层接口。
  • 三层接口能够与同处于这个VLAN内的设备进行二层通信。另外VLANIF作为一个三层接口,拥有路由功能,可以进行IP地址配置,而通常情况下,这个IP地址会作为VLAN中设备的默认网关地址。

示例

如下图所示的网络拓扑中:

  • 交换机拥有两个VLAN,分别是VLAN 10及VLAN20,物理接口GE0/0/1, GE0/0/2及GE0/0/3都被配置为Access类型,其中GE0/0/1及GE0/0/2接口加入了VLAN10,而GE0/0/3接口则加入了VLAN20。
  • VLANIF 10配置了IP地址192.168.10.254, VLANIF 20则配置了IP地址192.168.20.254。
  • 各VLAN内的PC都将其默认网关地址配置为相应VLAN的VLANIF IP地址。
  • 由于交换机配置了VLAN IF接口,那么三层交换机同时拥有交换模块以及路由模块。

在三层交换机上,同网段二层数据交换

以PC1发送一份数据给PC2为例,大致过程如下:
(1)PC1构造单播数据帧:

  • PC1的上层协议产生的数据载荷到了网络层,数据载荷被封装IP头部,在IP头部中,源IP地址是192.168.10.1,目的IP地址是192.168.10.2。
  • 数据载荷被封装好IP头部后,数据下发到网卡,继续为其进行数据链路层封装,将其封装成以太网数据帧,该数据帧的源MAC地址为PC1的网卡MAC地址,而目的MAC地址为192.168.10.2这个IP地址对应的MAC地址。
  • PC1查询ARP表试图寻找相应的ARP表项,初始时PC1的ARP表中并没有相应的表项,因此PCl发送一个广播的ARP Request去请求PC2的MAC地址。

(2)交换机处理PC1发送的广播ARP Request数据帧:

  • ARP Request的广播数据帧到达了交换机的GE0/0/1接口后,会被打上VLAN10的Tag。
  • 交换机通过读取数据帧头部,发现这是一个广播数据帧,此时有三个动作:
    a.将收到的ARP Request广播数据帧在所有加入VLAN10的端口上泛洪,
    b.将数据帧解封装,将数据帧帧中的源Mac地址、VLAN10、GE0/0/1形成一条新的Mac地址表项
    c 另外交换机通过数据帧头部的“类型”字段发现该帧内封装着一个ARP报文,将数据帧解封装后上送到自己的ARP协议模块,而ARP模块发现这个ARP报文请求的是192.168.10.2这个IP地址的MAC地址,该IP地址并非自己所有,因此它直接忽略这个数据帧。

(3)PC2处理泛洪得到的广播ARP Request数据帧:

  • 交换机在VLAN10内泛洪了PC1发送的ARP Request,因此PC2会收到这个数据帧,它将记录相应的ARP表项(PC1的IP地址和Mac地址),
  • 通过解析ARP Request广播数据帧,发现该报文请求的IP地址就是自己,于是会发送一个单播的ARP Reply帧进行回应。

(4)交换机处理PC2回应的单播ARP Reply数据帧:

  • 交换机收到这个数据帧,解析数据帧头部,将数据帧帧中的源Mac地址、VLAN10、GE0/0/2形成一条新的Mac地址表项
  • 另外解析数据帧头部后,通过查询MAC地址表并找到目的MAC地址所关联的出接口(通过PC1发送的广播ARP Request报文学习的Mac地址表项),将数据帧从GE0/0/1接口发出。

(5)PC1处理交换机传递的单播ARP Reply数据帧:

  • PC1收到了这个ARP Reply,解析数据帧,可以获知了192.168.10.2对应的MAC地址,形成相应的ARP表项(PC2的IP地址和Mac地址)
  • PC1获取PC2的Mac地址后,可以继续封装单播数据帧,然后将单播数据帧从网卡发出。

(6)交换机处理PC1发送的单播数据帧:

  • 交换机收到这个数据帧,发现这是一个单播数据帧,于是在MAC地址表中查询目的MAC地址,找到匹配的表项后(PC2回应的ARP Reply报文学习的Mac地址表项),将该帧从GE0/0/2接口发出。

(7)PC2处理交换机传递的单播数据帧:

  • PC2收到这个数据帧后,解析以太网头部,发现目的Mac地址正是自己网卡的Mac地址,通过数据帧头部的“类型”字段发现该帧内封装着一个IP数据报
  • 将IP数据报上送IP协议栈,继续继续IP头部,发现目的IP地址也是自己网卡的IP地址,通IP数据报头部中的“协议”字段发现数据报内还封装上层应用协议的数据
  • 将上层应用协议的数据上送给上层协议模块处理数据。

在三层交换机上,跨网段三层数据交换

以PC1发送一份数据给PC3为例,大致过程如下:
(1)PC1构造单播数据帧:

  • PC1的上层协议产生的数据载荷到了网络层,数据载荷被封装IP头部,源IP地址是192.168.10.1,目的IP地址是192.168.20.1。
  • 将数据帧下送到了PC1的网卡,网卡将其封装成以太网数据帧,由于数据包的目的IP地址与本机不在相同网段(PC2可以通过将IP地址与地址掩码做 &操作,确定其IP网段范围),这意味着PC1需要先把报文发送到默认网关,因此数据帧的目的MAC地址需填写网关(192.168.10.254)的MAC地址。
  • PC1在ARP表中查询192.168.10.254,发现并没有匹配的表项,因此它发送一个广播的ARP Request试图查询网关的MAC地址。

(2)交换机处理广播ARP Request数据帧:

  • 广播ARP Request数据帧到达了交换机的GE0/0/1接口,会被打上VLAN10的Tag。
  • 交换机通过读取数据帧头部,发现这是一个广播数据帧,有三个动作:
    a. 将广播报文在加入VLAN 10的端口上进行泛洪,
    b.将数据帧解封装,将数据帧帧中的源Mac地址、VLAN10、GE0/0/1形成一条新的Mac地址表项
    c 另外交换机通过数据帧头部的“类型”字段发现该帧内封装着一个ARP报文,将数据帧解封装后上送到自己的ARP协议模块,而ARP模块发现这个ARP报文请求的是192.168.10.2这个IP地址的MAC地址,恰好VLANIF 10的IP地址就是192.168.10.254,因此它直接发送一个ARP Reply对PCI进行回应。

(3)PC1处理收到的ARP Reply报文:

  • PC1收到了这个ARP Reply,获知了192.168.10.254对应的MAC地址,因此继续封装数据帧,然后将数据帧从网卡发出。

(4)交换机处理收到的单播数据帧:

  • 交换机收到这个数据帧,发现这是一个单播数据帧,而且该帧的目的MAC地址正是本机的MAC地址,因此交换机将数据帧解封装,并将里面的数据上送到IP模块进行处理(通过数据帧头部的“类型”字段可以得知数据帧封装着一个IP数据报)。
  • IP模块读取数据包的目的IP地址后,发现目的IP地址并非本机的IP地址,于是它在路由表中查询这个地址,结果发现有一条本地直连路由匹配(最长掩码匹配原则),而该直连路由的出接口是VLANIF20,因此交换机重新将这个数据包封装成帧。
  • 新的以太网帧头中,源MAC地址填写的是交换机的MAC地址,而目的MAC则需填写192.168.20.1的MAC地址,如果交换机的ARP表中没有相关的表项,那么它需要在VLAN20中发送广播ARPRequest去请求PC3的MAC地址(此过程和1-2过程类似,不在赘述),最后将封装好的数据帧从GE0/0/3接口发出。

(5)PC3处理交换机传递的单播数据帧:

  • PC3收到这个数据帧后,解析以太网帧头部,发现目的Mac地址正是自己网卡的Mac地址,通过数据帧头部的“类型”字段发现该帧内封装着一个IP数据报
  • 将IP数据报上送IP协议栈,继续继续IP头部,发现目的IP地址也是自己网卡的IP地址,通IP数据报头部中的“协议”字段发现数据报内还封装上层应用协议的数据
  • 将上层应用协议的数据上送给上层协议模块处理数据。

通过VLANIF实现VLAN之间的通信相关推荐

  1. VLANIF实现VLAN之间的通信

    VLANIF实现VLAN之间的通信 实验拓扑图 实验要求 1.修改交换机名称为S2 S3 2.在S2 S3上做适当配置,使得3个VLAN之间能够通信 配置 交换机S2: <Huawei>s ...

  2. 三层交换解决了VLAN之间的通信问题

    开关的转发过程. 开关工作于OSI参考模型的第二层,也就是数据链路层.在每一个端口成功连接时,交换机内部的CPU通过对应MAC地址和端口形成一张MAC表.开关基于MAC地址表来转发数据. 路由转发过程 ...

  3. 用思科模拟器实现三层交换机下不同VLAN之间的通信

    用思科模拟器实现三层交换机下不同VLAN之间的通信 实验目标:在三层交换机下实现不同VLAN的PC机之间的通信 工具: CisicoPacketTracer6 实验设备: 六台PC机,四台接入层交换机 ...

  4. 交换机和路由器实现不同网段划分、不同vlan之间的通信、指定组合vlan进行网络通信

    交换机和路由器实现不同网段划分.不同vlan之间的通信.指定组合vlan进行网络通信. 推荐一个画图非常好用的在线免费工具:https://www.processon.com/i/5f58a647e6 ...

  5. 通过以太(子)接口实现VLAN之间的通信

    技术背景 在部署一个企业的园区网络时,可能会将该企业不同的部门规划到不同的VLAN,而且不同的VLAN会分配不同的IP网段,那么每个部门在网络中就会成为单个逻辑单元,管理起来十分方便. 由于每个部门被 ...

  6. 不同VLAN之间互相通信

    前话 我们经常到机房上课,想必对机房后面那层叠的跟DVD一样的机器有印象吧,那些就是交换机. 交换机作用是什么? 我这里度娘一下: 交换机(Switch)意为"开关"是一种用于电( ...

  7. 思科三层交换机不同vlan互通_思科设备三层交换机实践不同vlan之间的通信

    思科设备三层交换机实践不同vlan之间的通信 先准备四台PC机.四台二层交换机.一台三层交换机.一台路由器.一台服务器 PC1 PC2 PC3 PC4 计算机 SWI SW2 SW3 SW4 交换机 ...

  8. H3C 路由器配置单臂路由实现不同vlan之间相互通信

    本次单臂路由实验依旧采用H3C Cloud Lab软件进行模拟,网络拓扑图如下: 其中:S6850_1交换机作为二层交换机使用,VSR-88_2路由器上利用单臂路由配置PC_3和PC_4的网关,PC_ ...

  9. 用路由器实现不同vlan之间的通信

    一:用路由器实现不同vlan间的通信 1.1 拓扑图如下: (1)主机配置:PC-PT0和PC-PT1是vlan 100中的,PC-PT2和PC-PT3是vlan 200中的. PC-PT0的IP地址 ...

最新文章

  1. android tv 悬浮窗口,android TV的自定义关机弹出框
  2. 快速的CSV文件生成器
  3. css清除浮动的原理
  4. MySQL基础(二)数据库、表的创建及操作
  5. 阿里小蜜多模态知识图谱的构建及应用
  6. 测试工程师因迟到和人事大吵一架,结果人事被开除
  7. CountDownLatch使用解说
  8. arcgis多个数据融合python_使用Python在ArcGIS中添加多个字段名
  9. ubuntu服务器设置_Ubuntu服务器设置–安全最佳实践
  10. Effects with the Pixel Bender Toolkit
  11. 自适应特征融合用于Single-Shot目标检测(附源代码下载)
  12. python自动保存图片_python抓取豆瓣图片并自动保存示例学习
  13. 威斯敏斯特教堂(西敏寺)墓碑上的话(WestMinster Abbey,When I was young and fre
  14. 生成专题2 | 图像生成评价指标FID
  15. Noah-MP陆面过程模型建模方法与站点、区域模拟实践技术应用
  16. cad工具箱详细讲解_筑龙网CAD工具箱使用说明
  17. 记录自己三天速成django+html制作国内疫情可视化平台的过程(二)
  18. 有啥能做水印的报表工具
  19. html 点击选择变色,css实现选中后变色并且效果不消失
  20. 小程序开发 APPid怎么找

热门文章

  1. 通达信超级分时主图指标公式_通达信公式
  2. loam框架的注意点,公式推导细节,lego-loam对其的改进及自身不足,
  3. 学习 kityminder 笔记(十)
  4. ios 只用3x图可以吗_对于仅限iPhone的iOS 7应用,我们只能包含@ 3x图像吗?
  5. p for trend 趋势性检验及spss实现
  6. automake简介
  7. ​如何翻译PDF文件?教大家两种翻译方法
  8. layui穿梭框和layui表格数据交互
  9. 《天池龙珠 - Python训练营》04.Python数据分析:从0完成一个数据分析实战
  10. 【C语言初阶】C语句成员1:分支语句