VLAN间通信,看完这个就完全懂了(单臂路由和三层交换)

news2025/4/6 9:00:34

第九章:实现VLAN间通信

划分VLAN后,由于广播报文只在同VLAN内转发,所以不同VLAN的用户间不能二层互访,这样能起到隔离广播的作用。但实际应用中,不同VLAN的用户又常有互访的需求,此时就需要实现不同VLAN的用户互访,简称VLAN间通信。

9.1 VLAN通信概述

实际网络部署中一般会将不同IP地址段划分到不同的VLAN,同VLAN且同网段的PC之间可直接进行通信,无需借助三层转发设备,该通信方式被称为二层通信,VLAN之间需要通过三层通信实现互访,三层通信需借助三层设备。

1、Dot1q终结子接口(单臂路由)

  • 子接口是一种三层的逻辑接口,可以实现VLAN间的三层互通。
  • Dot1q终结子接口适用于通过一个三层以太网接口下接多个VLAN网络的环境。由于不同VLAN的数据流会争用同一个以太网主接口的带宽,网络繁忙时,会导致通信瓶颈。

2、VLANIF接口

  • VLANIF接口是一种三层的逻辑接口,可以实现VLAN间的三层互通。
  • VLANIF配置简单,是实现VLAN间互访最常用的一种技术。每个VLAN对应一个VLANIF,在为VLANIF接口配置IP地址后,该接口即可作为本VLAN内用户的网关,对需要跨网段的报文进行基于IP地址的三层转发。但每个VLAN需要配置一个VLANIF,并在接口上指定一个IP子网网段,比较浪费IP地址。

9.2 实验一:Dot1q终结子接口

  1. 实验目的
  • 掌握通过配置Dot1q终结子接口方法实现VLAN间互访
  • 深入理解VLAN间互相访问的转发流程
  1. 实验拓扑

实验拓扑如图9-1所示:

9-1 Dot1q终结子接口

  1. 实验步骤

(1)PC机的网络设置

PC1的配置,在ipv4下选择静态配置,输入对应的ip地址以、子网掩码和网关,然后点击应用。PC2同理,在这里就不在阐述了。PC1的配置如图9-2所示:

                                                  图9-2在PC1上手动添加IP地址

PC2的配置如图9-3所示:

                                                      图9-3在PC2上手动添加IP地址

(2):在LSW1上创建vlan 2和3,把g0/0/1口划入到vlan2,把g0/0/2口划入到vlan3,把g0/0/3设置成trunk

<Huawei>system-view

[Huawei]undo info-center enable

[Huawei]sysname LSW1

[LSW1]vlan batch 2 3   //创建VLAN 2 和3

[LSW1]interface g0/0/1

[LSW1-GigabitEthernet0/0/1]port link-type access

[LSW1-GigabitEthernet0/0/1]port default vlan 2  //把g0/0/1口划入到VLAN2

[LSW1-GigabitEthernet0/0/1]quit

[LSW1]interface g0/0/2

[LSW1-GigabitEthernet0/0/2]port link-type access

[LSW1-GigabitEthernet0/0/2]port default vlan 3 //把g0/0/2口划入到VLAN3

[LSW1-GigabitEthernet0/0/2]quit

[LSW1]interface g0/0/3

[LSW1-GigabitEthernet0/0/3]port link-type trunk //连接路由器的接口因为需要传递多vlan的数据,所以需要配置trunk

[LSW1-GigabitEthernet0/0/3]port trunk allow-pass vlan 2 3 //trunk接口允许vlan2和3通过

[LSW1-GigabitEthernet0/0/3]quit

(3):在R1上设置单臂路由

<Huawei>system-view

[Huawei]undo info-center enable

[Huawei]sysname R1

[R1]interface g0/0/0

[R1-GigabitEthernet0/0/0]undo shutdown   //主接口只要打开,不要做其它任何配置

[R1-GigabitEthernet0/0/0]quit

[R1]interface g0/0/0.2 //设置子接口g0/0/0.2

[R1-GigabitEthernet0/0/0.2]dot1q termination vid 2 //配置dot1q终结vlan 2,配置了此命令该子接口可以剥离tag标签为vlan 2的数据帧,并且发送数据帧时会将数据帧打上vlan2的tag 标签

[R1-GigabitEthernet0/0/0.2]ip address 10.1.1.1 24  //配置ip地址

[R1-GigabitEthernet0/0/0.2]arp broadcast enable //开启arp广播功能,如果终结子接口上未使能ARP广播功能,系统将会直接把该IP报文丢弃,从而不能对该IP报文进行转发。

[R1-GigabitEthernet0/0/0.2]quit

[R1]interface g0/0/0.3  //设置子接口g0/0/0.3

[R1-GigabitEthernet0/0/0.3]dot1q termination vid 3

[R1-GigabitEthernet0/0/0.3]ip address 10.2.2.1 24

[R1-GigabitEthernet0/0/0.3]arp broadcast enable

[R1-GigabitEthernet0/0/0.3]quit

  1. 实验调试

(1)使用pc1访问pc2,可以看到不同vlan的设备可以通过路由设备实现互相通信。,结果显示如图9-4所示:

                                       9-4 PC1上显示的ping程序测试信息

9.3 实验二:VLANIF接口

  1. 实验目的
  • 掌握通过配置VLANIF接口方法实现VLAN间互访
  • 深入理解VLAN间互相访问的转发流程
  1. 实验拓扑

实验拓扑如图9-5所示:

                                                  图9-5 VLANIF接口

  1. 实验步骤
  1. PC机IP地址的配置

PC1的配置,在ipv4下选择静态配置,输入对应的ip地址、子网掩码和网关,然后点击应用。PC2同理

PC1的配置如图9-6所示:

                                         图9-6在PC1上手动添加IP地址

PC2的配置如图9-7所示:

                                                     图9-7在PC2上手动添加IP地址

  1. 在LSW1上创建VLAN,把接口划入到VLAN

<Huawei>system-view

[Huawei]undo info-center enable

[Huawei]sysname LSW1

[LSW1]vlan batch 2 3   //创建VLAN2和3

[LSW1]interface g0/0/1

[LSW1-GigabitEthernet0/0/1]port link-type access

[LSW1-GigabitEthernet0/0/1]port default vlan 2   //g0/0/1属于VLAN2

[LSW1-GigabitEthernet0/0/1]quit

[LSW1]interface g0/0/2

[LSW1-GigabitEthernet0/0/2]port link-type access

[LSW1-GigabitEthernet0/0/2]port default vlan 3  //g0/0/2属于VLAN3

[LSW1-GigabitEthernet0/0/2]quit

  1. 在LSW1上创建VLANIF接口

[LSW1]interface Vlanif 2 //创建vlanif接口,并且在vlanif接口配置ip地址

[LSW1-Vlanif2]ip address 10.1.1.1 24  //设置IP地址

[LSW1-Vlanif2]undo shutdown   //打开接口

[LSW1-Vlanif2]quit

[LSW1]interface Vlanif 3

[LSW1-Vlanif3]ip address 10.2.2.1 24

[LSW1-Vlanif3]undo shutdown

[LSW1-Vlanif3]quit

【技术要点】

使用交换机的三层vlan间路由实现不同vlan通信的时候,在网关设备上面配置对应vlan的vlanif接口作为此vlan的网关,并且在vlanif接口配置对应的网关ip地址实现不同网段的数据通信。VLANIF接口是一种三层的逻辑接口,支持VLAN Tag的剥离和添加,因此可以通过VLANIF接口实现VLAN之间的通信。

  1. 实验调试

PC1访问PC2,可以看到使用vlanif接口也能够实现不同vlan间的通信。结果显示如图9-8所示:

                            图9-8 PC1上显示的ping程序测试信息

【思考】:数据怎么转发?

当用户主机PC1发送报文给用户主机PC2时,报文的发送过程如下(假设三层交换机Switch上还未建立任何转发表项)。

    • PC1判断目的IP地址跟自己的IP地址不在同一网段,因此,它发出请求网关MAC地址的ARP请求报文,目的IP为网关IP 10.1.1.1,目的MAC为全F。
    • 报文到达Switch的接口G0/0/1,Switch给报文添加VID=2的Tag(Tag的VID=接口的PVID),然后将报文的源MAC地址+VID与接口的对应关系(1-1-1,2, IF_1)添加进MAC表。
    • Switch检查报文是ARP请求报文,且目的IP是自己VLANIF2接口的IP地址,给PC1应答,并将VLANIF2接口的MAC地址3-3-3封装在应答报文中,应答报文从G0/0/1发出。同时,Switch会将PC1的IP地址与MAC地址的对应关系记录到ARP表。
    • PC1收到Switch的应答报文,将Switch的VLANIF2接口的IP地址与MAC地址对应关系记录到自己的ARP表中,并向Switch发送目的MAC为3-3-3、目的IP为PC2的IP地址 10.2.2.2的报文。
    • 报文到达Switch的接口G0/0/1,同样给报文添加VID=2的Tag。
    • Switch根据报文的源MAC地址+VID与接口的对应关系更新MAC表,并比较报文的目的MAC地址与VLANIF2的MAC地址,发现两者相等,进行三层转发,根据目的IP查找三层转发表,没有找到匹配项,上送CPU查找路由表。
    • CPU根据报文的目的IP去找路由表,发现匹配了一个直连网段(VLANIF3对应的网段),于是继续查找ARP表,没有找到,Switch会在目的网段对应的VLAN3的所有接口发送ARP请求报文,目的IP是10.2.2.2。从接口G0/0/2发出。
    • PC2收到ARP请求报文,发现请求IP是自己的IP地址,就发送ARP应答报文,将自己的MAC地址包含在其中。同时,将VLANIF3的MAC地址与IP地址的对应关系记录到自己的ARP表中。
    • Switch的接口G0/0/2收到PC2的ARP应答报文后,给报文添加VID=3的Tag,并将PC2的MAC和IP的对应关系记录到自己的ARP表中。然后,将PC1的报文转发给PC2,发送前,同样剥离报文中的Tag。同时,将PC2的IP、MAC、VID及出接口的对应关系记录到三层转发表中。

至此,PC1完成对PC2的单向访问。PC2访问PC1的过程与此类似。这样,后续PC1与PC2之间的往返报文,都先发送给网关Switch,由Switch查三层转发表进行三层转发。

9.4 VLAN间通信命令汇总

表9-1列出了本章出现的命令

                                                   表9-1 VLAN间通信命令汇总

命令

作用

dot1q termination vid 10

配置子接口Dot1q终结的单层VLAN ID

arp broadcast enable

使能终结子接口的ARP广播功能

interface Vlanif 10

创建VLANIF接口10

本文出自作者的《华为认证HCIA-datacom认证实验指南》

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/344462.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

KDNM5000-10A-2剩余电流保护器测试仪

一、产品概述 KDNM5000-10A-2型剩余电流保护器测试仪(以下简称测试仪)&#xff0c;是本公司改进产品&#xff0c;是符合国家标准《剩余电流动作保护器》&#xff08;GB6829—95&#xff09;中第8.3条和GB16917.1—1997中第9.9条验证AC型交流脱扣器动作特性要求的专用测试仪器。…

Nacos微服务笔记

Nacos安装Nacos 的 Github&#xff08;Tags alibaba/nacos GitHub&#xff09;下载我们所需的 Nacos 版本&#xff0c;可以选择 windows 或者 Linux。 进入官网&#xff0c;选择合适版本&#xff0c;tar.gz为linux版本&#xff0c;zip为windows版本。下载并解压 nacos-server…

【C++进阶】一、继承(总)

目录 一、继承的概念及定义 1.1 继承概念 1.2 继承定义 1.3 继承基类成员访问方式的变化 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 五、继承与友元 六、继承与静态成员 七、菱形继承及菱形虚拟继承 7.1 继承的分类 7.2 菱形虚拟…

【SAP Abap】X-DOC:SE11 - 创建配置表并分配事务码

SE11 - 创建配置表并分配事务码1、创建自定义表2、创建表维护功能3、功能验证4、设置事务码5、带出字段默认值&#xff08;1&#xff09;方法一&#xff1a;表维护事件&#xff08;2&#xff09;方法二&#xff1a;屏幕事件1、创建自定义表 SE11&#xff0c;创建自定义表&…

结构体的三种定义方法、结构体类型名(可选标志符)什么时候可以省略

结构体的三种定义方法 一、单独定义&#xff1a; 先定义结构体类型&#xff0c;再定义变量   定义结构体的格式如下&#xff1a;    struct 结构体名 {    若干数据项&#xff1b;    } &#xff1b;   其中&#xff0c;struct为关键字&#xff1b; 结构体名是用户定…

golang 入门教程:迷你 Twitter 后端

请记住&#xff0c;这个项目主要是为了稍微熟悉下Golang&#xff0c;您可以复制架构&#xff0c;但该项目缺少适当的 ORM&#xff0c;没有适当的身份验证或授权&#xff0c;我完全无视中间件&#xff0c;也没有测试。 我将在其自己的部分中讨论所有这些问题&#xff0c;但重要的…

利用NGROK将本地网站发布为一个公开网站

一般与第三方服务集成时&#xff0c;需要提供https的回调URL&#xff0c;本地开发阶段可以利用NGROK将本地网站发布为公开的https网站。https://ngrok.com/downloadWindow下载地址&#xff1a;https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-windows-amd64.zip以Window…

echarts问题汇总

因为工作中经常使用echarts&#xff0c;做数据可视化相关需求&#xff0c;需要实现各种各样图表的需求。 有遇到过很多问题&#xff0c;一些网上不太好搜索到解决方案的&#xff0c;一直想总结一下解决过程。方便自己查阅&#xff0c;也方便别人参考。 一&#xff1a;echarts…

【C++】set/multiset、map/multimap的使用

目录 一、关联式容器 二、set的介绍 1、接口count与容器multiset 2、接口lower_bound和upper_bound 三、map的介绍 1、接口insert 2、接口insert和operator[]和at 3、容器multimap 四、map和set相关OJ 1、前K个高频单词 2、两个数组的交集 一、关联式容器 vector、…

【LeetCode】环形链表 II [M](链表)

142. 环形链表 II - 力扣&#xff08;LeetCode&#xff09; 一、题目 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链…

Python网络爬虫 学习笔记(1)requests库爬虫

文章目录Requests库网络爬虫requests.get()的基本使用框架requests.get()的带异常处理使用框架&#xff08;重点&#xff09;requests库的其他方法和HTTP协议&#xff08;非重点&#xff09;requests.get()的可选参数网络爬虫引发的问题&#xff08;非重点&#xff09;常见问题…

【C/C++】Windows下VS创建Linux项目

如果不想在Linux下用vim编写代码&#xff0c;可以在Windows下使用VS远程连接Linux&#xff08;Linux下是不支持安装使用VS的&#xff09;&#xff0c;将VS上编写的代码通过 SSH协议 推送到Linux下&#xff0c;注意文件编写是在Windows上进行的&#xff0c;编译是在Linux下进行的…

【Hello Linux】Linux工具介绍 (make/makefile git)

作者&#xff1a;小萌新 专栏&#xff1a;Linux 作者简介&#xff1a;大二学生 希望能和大家一起进步&#xff01; 本篇博客简介&#xff1a;介绍Linux的常用工具make/makefile git Linux项目自动化构建工具 – make/Makefile 背景 会不会写Makefile 从侧面说明了一个人是否具…

Spring Cloud微服务网关Gateway组件

目录 网关简介 什么是Spring Cloud Gateway Spring Cloud Gateway 功能特征 核心概念 工作原理 Spring Cloud Gateway快速开始 环境搭建 集成Nacos 路由断言工厂&#xff08;Route Predicate Factories&#xff09;配置 自定义路由断言工厂 过滤器工厂&#xff08; …

window 配置深度学习环境GPU

CUDA 11.6 CUDNN Anaconda pytorch 参考网址&#xff1a;https://zhuanlan.zhihu.com/p/460806048 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com) 电脑信息 RTX 2060 GPU0 1. CUDA 11.6 1.1 确认信息 C:\Users\thzn>nvidia-smi &#xff08;CUDA Versi…

秒杀项目之消息推送

目录一、创建消费者二、创建订单链路配置2.1 定义RabbitMQ配置类2.2 创建RabbitmqOrderConfig配置类三、如何实现RabbitMQ重复投递机制3.1 开启发送者消息确认模式3.2 消费发送确认3.2.1 创建ConfirmCallBack确认模式3.2.2 创建ReturnCallBack退回模式3.3 创建生产者3.4 创建消…

金三银四必看软件测试面试题,上百家公司面试都是这些套路

自我介绍说一下测试用例嗯&#xff0c;做测试&#xff0c;好多时间是在琢磨分析测试用例怎么去写&#xff0c;这个每个公司规范可能不太一样&#xff0c;但是大致思想是一致的。都是想要通过测试用例&#xff0c;把每一个分析到位&#xff0c;进行测试。就拿我上家公司来说吧&a…

数据库(2)--加深对统计查询的理解,熟练使用聚合函数

一、内容要求 利用sql建立学生信息数据库&#xff0c;并定义以下基本表&#xff1a; 学生&#xff08;学号&#xff0c;年龄&#xff0c;性别&#xff0c;系号&#xff09; 课程&#xff08;课号&#xff0c;课名&#xff0c;学分&#xff0c;学时&#xff09; 选课&#xff0…

融云入围「2022 云办公平台 TOP50」,进入「中国协同办公产业图谱」

2 月 10 日&#xff0c;中国科学院旗下《互联网周刊》颁布“2022 云办公平台 TOP50”&#xff0c;融云荣登榜单。 2 月 13 日&#xff0c;艾瑞咨询发布《2023 年中国协同办公行业研究报告》&#xff08;下简称《报告》&#xff09;&#xff0c;对协同办公行业的供需动态和迭代方…

黑马】后台管理-项目优化和上线

一。项目优化优化1&#xff0c;加载进度条显示安装一个运行依赖&#xff0c;nprogress然后导包&#xff0c;调用对象展示和隐藏在main中基于拦截器实现展示进度条和隐藏进度条的效果如果触发请求拦截器&#xff0c;证明发起请求&#xff0c;希望展示进度条&#xff0c;如果触发…