当前位置: 首页 > news >正文

什么是单臂路由技术?

使用vlan trunk可以在同一交换机上划分vlan,从而相同vlan的主机可以通信,不同vlan不能通信,如果连接不同vlan的主机想要通信,怎么办?

不同vlan是属于不同广播域的,配置的是不同的IP网段,针对不同网段的IP进行通信,这时候需要借助路由,通过单臂路由技术三层交换技术可以实现不同vlan间的通信。

假设主机A与主机B在不同网段中,主机A属于vlan10,主机B属于VLAN20,如果主机A要想主机B发送信息,那么主机A的网关应该是自己直连的路由器接口的IP地址。那么问题来了?

问题一:目前有两个vlan都连接了路由器的同一物理接口,那这个物理接口应该属于哪个vlan的网关呢?

 问题二:交换机要想转发vlan的数据,就必须配置为trunk,但是因为trunk是交换机的属性,路由器接口又不能配置为trunk

解决办法:

依据路由器的物理接口去划分子接口,路由器接口f0/0中第一个“0”是模块号,第二个“0”代表接口号。

#划分子接口并分配给不同的vlan
0/0.1   vlan 10
0/0.2   vlan 20
#子为接口配置IP,物理接口不需要配置IP

单臂路由的工作原理 

  • 工作原理图

以上图为例,PC0需要发送数据给PC1,发现PC1和自己不是同一网段,这时将数据交给自己的网关,网关为路由器0的F0/0.1子接口,通过ARP协议获取自己网关的MAC地址,数据会通过交换机进行转发,会为收到的数据打上vlan10的标签,将数据传到路由器0,路由器0收到数据,集合路由器的工作原理,查看目的IP地址,找到对应接口,再进行标签转换,再发送到交换机,这时交换机收到的就是打上vlan20标签数据,根据交换的mac地址表的对应关系直接转发。

 

  • 实验拓扑图

  •  交换机配置命令
交换机配置
en          
conf t      
vlan 10            #添加vlan10
vlan 20            #添加vlan20
exit
int f0/1           #进入交换机接口f0/1
sw acc vlan 10     #将接口f0/1添加到vlan10
int f0/2           #进入交换机接口f0/2
sw acc vlan 20     #将接口f0/1添加到vlan20
int f0/3    
sw mo trun         #将接口f0/3设置为trunk
  • 路由器配置命令
conf  t   
int g0/0.1                                 #进入子接口g0/0.1
encapsulation dot1Q 10
ip add 192.168.10.254 255.255.255.0        #设置接口ip
exit
int g0/0.2   
encapsulation dot1Q 20
ip add 192.168.20.254 255.255.255.0
exit 
int g0/0                                   
no shut                                     
exit
#使用dhcp为PC设置动态获取IP
ip dhcp pool vlan20                        #定义DHCP地址池
network 192.168.20.254 255.255.255.0       #指定分配的网络范围:网络地址和子网掩码
default-router 192.168.20.254              #指定默认网关
exit
ip dhcp pool vlan10
network 192.168.10.254 255.255.255.0
default-router 192.168.10.254
exit
 
  • 设置PC的dhcp动态获取IP

 

 

  • 两台PC都设置DHCP获取IP后,在PC0的命令行pingPC1动态获取的IP

 通过交换机上划分vlan,想要实现不同vlan间的通信,这时候就可以使用三层交换机来解决

三层交换相比单臂路由优势何在?

问题:使用单臂路由可以解决不同vlan间的路由,为什么还要使用三层交换路由

  • 单臂路由会造成网络的瓶颈,子接口依托于物理接口,物理接口压力比较大

  • 单臂路由主要是利用路由器的转发,每一次数据来之后都需要进行路由,路由器的工作量比较大

 

相关文章:

  • 为什么我推荐你一定要学Python?
  • 第七届 Sky Hackathon 笔记集合贴
  • 数据结构 树练习题
  • 【华为上机真题 2022】流水线
  • Linux 将 /home 目录与 / 根目录磁盘合并
  • Docker数据卷自定义Docker镜像
  • 什么是多态?java 中实现多态的机制是什么?
  • Allegro如何使用快捷键快速切换层面操作指导
  • Qt-FFmpeg开发-音频解码为PCM文件(9)
  • JAVA毕业设计教工公寓管理计算机源码+lw文档+系统+调试部署+数据库
  • JDK19都出来了~是时候梳理清楚JDK的各个版本的特性了【JDK9特性讲解】
  • 详解设计模式:访问者模式
  • Android -- 每日一问:你在Android开发中遇到的技术难题是什么,你是怎么解决的?
  • 思科防火墙NAT——实验
  • 基于非局部滤波图像去噪方法
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【mysql】环境安装、服务启动、密码设置
  • 【剑指offer】让抽象问题具体化
  • canvas 绘制双线技巧
  • CentOS 7 防火墙操作
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • Nodejs和JavaWeb协助开发
  • passportjs 源码分析
  • QQ浏览器x5内核的兼容性问题
  • Redis学习笔记 - pipline(流水线、管道)
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Spring Cloud中负载均衡器概览
  • Swift 中的尾递归和蹦床
  • 编写符合Python风格的对象
  • 简单基于spring的redis配置(单机和集群模式)
  • 码农张的Bug人生 - 初来乍到
  • 前端存储 - localStorage
  • 微服务入门【系列视频课程】
  • 一个完整Java Web项目背后的密码
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • %check_box% in rails :coditions={:has_many , :through}
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (万字长文)Spring的核心知识尽揽其中
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .dwp和.webpart的区别
  • .Net mvc总结
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .Net(C#)自定义WinForm控件之小结篇
  • .Net7 环境安装配置
  • .NET多线程执行函数
  • @Transaction注解失效的几种场景(附有示例代码)
  • @我的前任是个极品 微博分析
  • [ 2222 ]http://e.eqxiu.com/s/wJMf15Ku
  • [1] 平面(Plane)图形的生成算法
  • [BZOJ5250][九省联考2018]秘密袭击(DP)
  • [Flex][问题笔记]TextArea滚动条问题