VLAN基础知识3_VLAN间三层通信(单臂路由)

news2025/1/10 17:40:01

目录

1.VLAN单臂路由简介

2.基于单臂路由VLAN间三层通信原理

3.VLAN间三层通信单臂路由实验

3.1 常用配置命令

3.2 实验配置步骤

3.3实验效果


1.VLAN单臂路由简介

单臂路由(One-Arm Router)是一种网络拓扑结构,其中一个路由器的一个接口连接到交换机,而另一个接口连接到本地网络。

在这种拓扑结构中,所有的流量都必须经过这个路由器。单臂路由在虚拟局域网(VLAN)间通信中被广泛应用。 

实现VLAN间通信的步骤如下:

  • 配置交换机端口

在交换机上将需要进行VLAN间通信的端口配置为Trunk模式,允许VLAN流量在端口间传输。

  • 配置路由器

在路由器上配置子接口,将每个VLAN分配给一个子接口。每个子接口都需要有一个不同的IP地址和子网掩码,以实现VLAN间的互通。

  • 配置路由

为了使VLAN间通信正常进行,需要配置路由表,将每个VLAN的子网地址指向对应的子接口。

  • 配置网络设备

在网络设备(如PC)中配置网关地址为路由器对应的IP地址,以便进行VLAN间通信。

通过这些步骤,单臂路由可以实现不同VLAN间的通信,并保证数据传输的安全性和可靠性。

2.基于单臂路由VLAN间三层通信原理

单臂路由和VLANIF接口实现VLAN间三层通信原理类似,单臂路由方式通过路由器物理接口子接口充当网关,如图2-1:

  • 子接口g0/0/0.2为VLAN 2的网关
  • 子接口g0/0/0.3为VLAN 3的网关

单臂路由方式实现VLAN间三层通信,首先需要获取主机MAC地址,才能进行正常通信。

①主机A和主机D通信,主机A和主机D属于不同VLAN和网段,由于主机A和主机D属于不同网段,主机A需要先将数据包发送至网关(路由器A子接口g0/0/0.2),由于主机A不知道网关(路由器A子接口g0/0/0.2)MAC地址,主机A先通过ARP请求获取网关(路由器A子接口g0/0/0.2)MAC地址。路由器A记录主机A MAC+VID(2)至ARP表,可通过display arp命令查看。

 图 2-1

②主机A先将发往主机D的IP报文发送至网关(路由器A子接口g0/0/0.2),路由器A子接口g0/0/0.2收到IP数据包后,路由器A不清楚主机D的IP对应的MAC地址,因为主机D和子接口g0/0/0.3属于同一虚拟局域网(VID 3),路由器A通过子接口g0/0/0.3广播ARP包至虚拟局域网(VID 3),主机D应答ARP响应至路由器A,路由器A记录主机D的MAC+VID(3)至ARP表。

注意: 创建物理接口子接口时,一定要使能子接口ARP广播(命令arp broadcast enable),否则即使网关(子接口)收到IP报文,但无法获取目的MAC地址而丢弃IP报文。

图 2-2 

③主机A发往主机D的IP报文先发送至网关(路由器A子接口g0/0/0.2),路由器A查询主机D和子接口g0/0/0.2在同一虚拟局域网(VID 3)并且主机D的MAC地址已经记录在ARP地址表,路由器A通过子接口g0/0/0.3转发IP报文至主机D,转发后的IP报文的源MAC地址已经替换为子接口g0/0/0.3的MAC地址,IP报文的目的MAC地址已经替换为主机D的MAC地址,主机D正常接收到主机A发来的IP报文。

主机D发往主机A的IP报文,请自行分析,如有问题私信博主或者评论区留言。

 图 2-3

3.VLAN间三层通信单臂路由实验

3.1 常用配置命令

表 3-1

3.2 实验配置步骤

步骤1:创建VLAN

步骤2:设置端口VLAN类型

步骤3:设置端口缺省VLAN

步骤4:设置端口允许通过VID列表

步骤5:创建路由器物理接口子接口

步骤6:设置子接口终结VID,使能ARP广播

步骤6:设置主机IP和网关

3.3实验效果

 图 3-1

实验下载地址:

https://download.csdn.net/download/weixin_28673511/87943965

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

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

相关文章

动手写一个 Java JWT Token 生成组件

OAuth2 中默认使用 Bearer Tokens (一般用 UUID 值)作为 token 的数据格式,但也支持升级使用 JSON Web Token(JWT) 来作为 token 的数据格式。实际来说,OAuth 规范中并无限制 Token 采取何种格式。今天我们就采用 JWT 来作为 Token,它的一个好…

四种缓存的避坑总结

背景 分布式、缓存、异步和多线程被称为互联网开发的四大法宝。今天我总结一下项目开发中常接触的四种缓存实际项目中遇到过的问题。 JVM堆内缓存 JVM堆内缓存因为可以避免memcache、redis等集中式缓存网络通信故障问题,目前还在项目中广泛使用。 堆内缓存需要注…

FFmpeg5.0源码阅读——avformat_find_stream_info

摘要:在使用FFmpeg库时通常使用avformat_find_stream_info相关函数来探测流的基本信息,为了更加深入理解FFmpeg的基本流程,本文根据FFmpeg 5.0的源码详细描述了该函数的具体实现。   关键字:FFmpeg   读者须知:读者…

数学之美:神奇的杨辉三角形,比帕斯卡早了近600年,致敬中国古代数学家(63)

小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生。 和猫妹学Python,一起趣味学编程。 今日主题 什么是杨辉三角形? 杨辉三角形有什么规律? 中国古代数学家杨辉。 西方科学家帕斯卡。 杨…

【开源与项目实战:开源实战】81 | 开源实战三(上):借Google Guava学习发现和开发通用功能模块

上几节课,我们拿 Unix 这个超级大型开源软件的开发作为引子,从代码设计编写和研发管理两个角度,讲了如何应对大型复杂项目的开发。接下来,我们再讲一下 Google 开源的 Java 开发库 Google Guava。 Google Guava 是一个非常成功、…

智能指针类模板:auto_ptr、unique_ptr、shared_ptr的原理与使用

1. 什么是智能指针 智能指针是行为类似于指针的类对象,通常用于管理动态内存分配。C程序通常手动动态分配堆内存,但如果动态分配的内存没有释放,则会发生内存泄漏。 例如代码段1.1。 // 代码段1.1 void demo() {double *pd new double;*pd…

使用STM32F103的串口实现IAP程序升级功能

使用STM32F103的串口实现IAP程序升级功能 🎬IAP程序烧录全过程演示: ✨这几天折腾IAP升级功能,狂补了很多相关BootLoader相关的知识。本来最想实现IAP升级程序的方式是,基于SPI通讯的SD卡,借助挂载的FatFS文件系统&am…

C++中的内存分区

目录 操作系统的内存区域 C内存分区模型 1. 程序运行前 2. 程序运行后 3. new 操作符的使用 操作系统的内存区域 text段:存储程序的二进制指令,即程序源码编译后的二进制代码data段:存储已被初始化的全局变量、常量bss段:存储…

ES-工作原理

前言 ​ 搜索引擎是对数据的检索,而数据总体分为两种:结构化数据和非结构化数据。而对于结构化数据,因为他们具有特定的结构,所以一般都是可以通过关系型数据库MySQL/oracle的二维表的方式存储和搜索,也可以建立索引。…

Redis的简单使用 (实现Session持久化)

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、Redis数据类型的使用 1. 字符串&#xff…

Redis【入门篇】---- Redis的Java客户端-Jedis

Redis【入门篇】---- Redis的Java客户端-Jedis 1. Jedis快速入门2. Jedis连接池1. 创建Jedis连接池2. 改造原始代码 在Redis官网中提供了各种语言的客户端,地址:https://redis.io/docs/clients/ 其中Java客户端也包含很多: 标记为❤的就是推荐…

密码学证明方案寒武纪大爆发——扩容、透明性和隐私的变革潜力

1. 引言 前序博客有: ZKP大爆炸 本文主要参考: StarkWare 2023年6月博客 Cambrian Explosion of Cryptographic Proofs----The transformative potential for scalability, transparency, and privacy2023年3月Eli Ben-Sasson在The 13th BIU Winter …

JavaWeb之Cookie和Session

文章目录 CookieCookie基本介绍Cookie的基本使用Cookie的创建从服务器获取CookieCookie值的修改方案一方案二 浏览器查看CookieCookie声明控制Cookie有效路径Path的设置 SessionSession基本介绍Session的创建和获取(id号,是否为新)Session域数…

【SQL server关键字】

目录: 前言一、CREATE -- 创建二、INSERT INTO VALUES -- 插入数据三、SELECT FROM -- 查找数据1.SEKECT简单了解2.函数的使用3.选择列表与group by子句的对应4.exists子查询 四、UPDATE SET -- 更改数据五、ALTER -- 修改属性六、JOIN ON-- 链接多个表1. join初…

JDBC 望舒客栈项目 万字详解

目录 一、前言 二、项目结构 三、准备工作 1.建立子包 : 2.导入jar包 : 3.工具类 : 1 Utility工具类 2 JDBCUtilsDruid工具类 4.导入配置文件 : 5.引入BasicDAO : 四、项目主体 1.界面显示 : 1 代码演示 2 运行测试 2.用户登录 : 1 创建员工表employee 2 创建Ja…

JavaScript 事件加载有哪些应用场景?

💂 个人网站:【海拥】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 目录 前言什么是JavaScript事…

VUE L MVVM模型 ③

目录 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨ V u e j s Vuejs Vuejs M V V M MVVM MVVM模型Data与El的2种写法总结 文章有误请指正,如果觉得对你有用,请点三连一波,蟹蟹支持✨ ⡖⠒⠒⠒…

多线程中的wait和notify

1、wait和notify 由于线程之间是抢占式执行的,所以线程之间的执行先后顺序难以预知。但实际上是希望合理的协调多个线程之间的执行先后顺序。 完成这个协调工作,主要涉及到三个方法 *wait()/wait(long timeout);让当前线程进入等待状态。 *notify()/n…