单臂路由和VLAN-IF
前几日有同学在韩老师的会员群里面提了这样一个问题:
有个问题搞半天没弄明白,我在核心交换机上划分了几个vlan,其中一个端口与防火墙相连,防火墙配置为192.168.100.1/30,核心交换机上连接防火墙的接口没有配置IP,而是将这个接口加入到了vlan100下边,vlan100的IP是192.168.100.2/30,华为工程师说这样就行了,我不理解为什么交换机端口不用设置IP?
曾经我也有此疑问,后来随着对交换机的理解不断加深,这个问题就慢慢解决了,于是我写了一些自己的理解给这个同学,下面我把我的回答整理一下。
首先,从一个比较浅层面的角度去回答一下这位同学的疑问,这位同学不理解为什么交换机端口不能设置IP,交换机的物理接口本就不能设置IP地址(忽略接口状态转换的前提下),如果我就这样告诉这位同学的话,这个同学依然对此问题迷茫,我想从一个主观的、比较深的层次去理解一下这个问题。
我认为这位同学是因为对交换机的理解过于浅薄,我认为他的浅薄之处有三:
1.误认为交换机的二层物理接口可以配置IP地址。
2.于vlanif接口理解不深刻。
3.对交换机进行三层转换时的路由和TAG理解的不透彻。
先解决一下这位同学的第一个浅薄之处。这位同学误认为在二层接口可以配置IP地址!实际上二层是不能配置IP地址的,因为IP地址是网络层的概念(三层),而交换机的物理接口属于链路层的概念(二层),三层对二层,这岂不是“对牛弹琴”。二层的物理接口只可以有MAC地址,因为MAC地址也是二层的;IP是三层概念,因此只能配置在三层接口上,而二层交换机是没有三层物理接口的,但是三层交换机是有三层的逻辑接口的,我们可以把IP地址配置在交换机的三层逻辑接口上。上述是在没有考虑到接口状态转换的情况下,现在有一些交换机是可以进行接口状态转换的,就是把二层接口转换成三层的,仅仅需要一个命令就足够,当交换机的二层接口转换成为三层接口之后,IP地址就可以配置在接口之上了,因为这是典型的三层概念对三层接口。
然后再解决一下这位同学的第二个理解上浅薄之处。这位同学对vlanif接口没有概念。我们在说到在交换机上有三层逻辑接口时,其实这个三层逻辑接口就是vlanif接口,这个vlanif接口,这个vlanif接口到底是个什么东西呢?我们可以把这个vlanif接口理解成为单臂路由上的路由接口嵌入到了交换机内部了,至于单臂路由的路由转发过程,我会再下文当中说明。
最后再解决一下这位同学的第三理解上的个浅薄之处。其实这个最是关键,因为vlanif接口涉及到路由转发和TAG的转换。我们通过一个小实验来说明两台计算机通信时路由转发和TAG转换过程。

PC1与PC2之间的通信过程:192.168.10.1---------------192.168.20.1
第一步:PC1会对目标IP(192.168.20.1)进行与运算,发现目标IP与本地IP并不是处在同一个网段当中,所以PC1下一步会发ARP广播访问网关(192.168.10.254)的MAC地址,ARP包从G0/0/1接口进入交换机内部之后会被打上VLAN10的TAG,交换机会交此报文转发至所有属于vlan10的接口,其中G0/0/1接口属于vlan10接口,此外还有一个接口属于vlan10里面的接口,就是vlanif10接口,这个接口也属于vlan10,并且这个接口的IP就是网关,所以vlanif10接口就会通过ARP的回复包告知PC1自己的MAC地址。
第二步:PC1将网关的MAC地址封装好之后,将数据包发送到网关之上,网关收到之后会解封装至三层,看见了目标IP是192.168.20.1之后会进行路由,路由的过程就是查看自己的路由表,看有没有到达192.168.20.1的路由条目?结果会发现有一条到达192.168.20.0/24网段的路由,这个路由指向vlanif20这个接口,意思就是到达192.168.20.1/24,下一跳交给vlanif20这个接口就可以了。
第三步:当vlanif20这个接口收到数据包之后,发现目标IP是192.168.20.1,与自己是在一个网段,于是VLANIF20接口会发送ARP请求报文请求目标IP(PC2)的MAC地址,在这个过程当中数据包由原本的TAG由VLAN10变化成了VLAN20,为什么TAG要转换成VLAN20呢?因为ACCESS接口只会向外发送本帧VLAN,如果不把TAG更换的话,数据包是无法从交换机的vlanif20接口向外发送的,因为VLANIF20也有ACCESS接口属性,它的本帧VLAN也是VLAN20。
注意:VLANIF20接口只是通过G0/0/2接口进行转发,VLANIF20和G0/0/2并不是一个接口。
单臂路由和VLAN-IF的更多相关文章
- 路由器基础配置之单臂路由实现vlan间通信
我们将以上面的拓扑图开始进行配置,目的为设置单臂路由实现vlan间通信,设置4个vlan,pc0,1,2为vlan10 pc3,4,5为vlan20:pc6,7,8为vlan30:server0,1为 ...
- 利用单臂路由实现VLAN间的路由
实验4:利用单臂路由实现VLAN间的路由. 实验原理: 实验内容: 本实验模拟公司网络场景,路由器R1是公司的出口网关,员工PC通过接入层交换机(如S2和S3)接入公司网络,接入层交换机又通过汇聚交 ...
- 单臂路由实现VLAN间通信
实验要求:利用路由器完成同vlan能通信,不同vlan也能通信 拓扑如下: 涉及内容有: 1.VTP的创建和配置 2.VLAN的创建和划分 3.路由器的单臂路由配置 配置如下: route1 enab ...
- eNSP仿真软件之利用单臂路由实现VLAN间路由
1. 实验原理 以太网中,通常会使用VLAN技术隔离二层广播域来减少广播的影响,并增强网络的安全性和可管理性.其缺点是同时也严格地隔离了不同VLAN之间的任何二层流量,使分属于不同VLAN的用户不能直 ...
- VLAN实验4(在eNSP上利用单臂路由实现VLAN间路由)
原理概述: 以太网中,通常会使用VLAN技术隔离二层广播域来减少广播的影响*并增强 网络的安全性和可管理性.其缺点足同时也严格地隔离了不同VLAN之间的任何二层流量,使分属于不同VLAN的用户 不能直 ...
- VLAN实验4:利用单臂路由实现VLAN间路由
单臂路由: 实验环境: 实验拓扑图: 实验编址: 实验步骤:1.创建VLAN并配置Access.Trunk接口. 我们在S2上创建VLAN10和VLAN20,并且吧链接PC1的E0/0/1和链接PC2 ...
- 在ensp上利用单臂路由实验VLAN间路由
我们为什么要设置单臂路由? 因为我们要解决不同vlan,不同网络的PC机间的通信问题~ 那它为啥叫单臂路由嘞? 单臂路由的原理时通过一台路由器,使vlan间互通数据通过路由器进行三层转发,如果在路由器 ...
- eNSP——利用单臂路由实现VLAN间路由
原理: 以太网中,通常会使用VLAN技术隔离二层广播域来减少广播的影响,并增强网络的安全性和可管理性.其缺点是同时也严格地隔离了不同VLAN之间的任何二层流量,使分属于不同VLAN的用户不能直接互相通 ...
- 利用单臂路由实现vlan间路由
本实验模拟公司场景 通过路由器实现不同vlan部门间通讯,拓扑图如下
- 利用单臂路由实现VLAN间路由(有1个疑问)
配置PC机: PC1:IP 192.168.1.1 :掩码:255.255.255.0:网关:192.168.1.254 VLAN 10 PC2:IP 192.168.2.1 :掩码:255.255 ...
随机推荐
- 向busybox中添加自己的applet
关键词:buysbox.applet等. busybox常用于嵌入式环境,集成中断Linux命令和工具.这些工具简单高效. 下面从如下方面了解: 这些命令是一个软链接到busybox,那么是如何从软连 ...
- (入门SpringBoot)SpringBoot加接口操作日志好方法(九)
用Spring的切面去做,慕课网上的大神的小妙招,被我拷贝下来了.import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotati ...
- java-11-Stream优化并行流
并行流 多线程 把一个内容分成多个数据块 不同线程分别处理每个数据块的流 串行流 单线程 一个线程处理所有数据 java8 对并行流优化 StreamAPI 通过pa ...
- 小型数据库性能对比(对比了SQLite、FireBird、FastDB、SQLServer2000绿色版、Access、BDB、PostgreSQL)
一.全面对比 SQLite.FireBird.FastDB.SQLServer2000绿色版.Access.BDB.PostgreSQL对比结果如下: 二.国产数据库 三.SQLite 与Postgr ...
- JavaScript-----6.流程控制:分支
1.流程控制 就是来控制代码按照何种顺序来执行,流程控制有三种结构:顺序结构.分支结构.循环结构 2.顺序流程控制 程序按照代码先后顺序依次执行 3.分支流程控制 JS中提供两种分支结构语句:if语句 ...
- Linux 学习记录一(安装、基本文件操作).
Linux 名字的由来,是当时作者将初版的 Linux 发布在网上,供别人下载完善,而那个核心文件夹就叫 Linux,就这么叫着了.而为什么 Linux 的吉祥物是一只企鹅呢?是因为当时大家要发行稳定 ...
- Java 泛型示例 - 泛型方法,类,接口
Java Genrics 是 Java 5 中引入的最重要的功能之一. 如果您一直在使用Java Collections并使用版本 5 或更高版本,那么我确定您已经使用过它. Java 中具有集合类的 ...
- appium 使用name 定位报错 Locator Strategy 'name' is not supported for this session【appium-desktop】
RF中使用 name定位 报错提示: Locator Strategy 'name' is not supported for this session 解决: 1.打开本地文件 driver.js ...
- 轻量级监控平台之java进程监控脚本
轻量级监控平台之java进程监控脚本 #!/bin/bash #进程监控脚本 #功能需求: 上报机器Java进程的进程ID,对应的端口号service tcp端口号,tomcat http 端口号,以 ...
- javascript刷新当前页面的几种方式
这里总结一下JavaScript刷新当前页面的几种方式. 1.history对象. history.go(0); 2.location对象. location.reload(); location = ...