前几日有同学在韩老师的会员群里面提了这样一个问题:

有个问题搞半天没弄明白,我在核心交换机上划分了几个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的更多相关文章

  1. 路由器基础配置之单臂路由实现vlan间通信

    我们将以上面的拓扑图开始进行配置,目的为设置单臂路由实现vlan间通信,设置4个vlan,pc0,1,2为vlan10 pc3,4,5为vlan20:pc6,7,8为vlan30:server0,1为 ...

  2. 利用单臂路由实现VLAN间的路由

    实验4:利用单臂路由实现VLAN间的路由. 实验原理:  实验内容: 本实验模拟公司网络场景,路由器R1是公司的出口网关,员工PC通过接入层交换机(如S2和S3)接入公司网络,接入层交换机又通过汇聚交 ...

  3. 单臂路由实现VLAN间通信

    实验要求:利用路由器完成同vlan能通信,不同vlan也能通信 拓扑如下: 涉及内容有: 1.VTP的创建和配置 2.VLAN的创建和划分 3.路由器的单臂路由配置 配置如下: route1 enab ...

  4. eNSP仿真软件之利用单臂路由实现VLAN间路由

    1. 实验原理 以太网中,通常会使用VLAN技术隔离二层广播域来减少广播的影响,并增强网络的安全性和可管理性.其缺点是同时也严格地隔离了不同VLAN之间的任何二层流量,使分属于不同VLAN的用户不能直 ...

  5. VLAN实验4(在eNSP上利用单臂路由实现VLAN间路由)

    原理概述: 以太网中,通常会使用VLAN技术隔离二层广播域来减少广播的影响*并增强 网络的安全性和可管理性.其缺点足同时也严格地隔离了不同VLAN之间的任何二层流量,使分属于不同VLAN的用户 不能直 ...

  6. VLAN实验4:利用单臂路由实现VLAN间路由

    单臂路由: 实验环境: 实验拓扑图: 实验编址: 实验步骤:1.创建VLAN并配置Access.Trunk接口. 我们在S2上创建VLAN10和VLAN20,并且吧链接PC1的E0/0/1和链接PC2 ...

  7. 在ensp上利用单臂路由实验VLAN间路由

    我们为什么要设置单臂路由? 因为我们要解决不同vlan,不同网络的PC机间的通信问题~ 那它为啥叫单臂路由嘞? 单臂路由的原理时通过一台路由器,使vlan间互通数据通过路由器进行三层转发,如果在路由器 ...

  8. eNSP——利用单臂路由实现VLAN间路由

    原理: 以太网中,通常会使用VLAN技术隔离二层广播域来减少广播的影响,并增强网络的安全性和可管理性.其缺点是同时也严格地隔离了不同VLAN之间的任何二层流量,使分属于不同VLAN的用户不能直接互相通 ...

  9. 利用单臂路由实现vlan间路由

    本实验模拟公司场景 通过路由器实现不同vlan部门间通讯,拓扑图如下

  10. 利用单臂路由实现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 ...

随机推荐

  1. CCSpriteFrameCache的使用

    配置环境:win7+Cocos2d-x.2.0.3+VS2012 CCSpriteFrameCache是帧缓存类. 通过plist文件导入图片 CCSpriteFrameCache::sharedSp ...

  2. 纯CSS实现自动轮播,CSS变量的定义与使用,计算属性的使用

    先来看一下实现的效果: 实现原理: HTML中使用ul>li存放图片 CSS使用CSS3的animation来完成动画 <!-- HTML --> <section class ...

  3. windows下配置ngnix服务器经常出现503问题解决办法

    自己网站在windows server2008下安装的ngnix,然后配置php,网站访问流量并不大,但是经常出现503问题.经过查看ngnix服务器错误日志,发现: (10061: No conne ...

  4. SpringBootTest MockMVC绑定session(需要登陆的接口)

    https://docs.spring.io/spring/docs/current/spring-framework-reference/testing.html#testing spring-te ...

  5. 如何理解Virtual DOM

    什么是虚拟DOM 接下来用vdom(Virtual DOM)来简称为虚拟DOM. 指的是用JS模拟的DOM结构,将DOM变化的对比放在JS层来做.换而言之,虚拟DOM就是JS对象.如下DOM结构: & ...

  6. 【转】MyBatis缓存机制

    转载:https://blog.csdn.net/bjweimengshu/article/details/79988252. 本文转载自公众号 美团技术点评 前言 MyBatis是常见的Java数据 ...

  7. Windows安装与配置—MongoDB

    1,下载安装 打开下载链接:http://dl.mongodb.org/dl/win32/x86_64,选择后缀是2008plus-ssl-3.6.15.zip的版本,32位和64位通用. 2,安装配 ...

  8. 史上最全HashMap遍历方式

    java Hashmap Map TreeMap 的几种遍历方式,全网最全,全网最强 package Collec2; import java.util.HashMap; import java.ut ...

  9. ES6语法:let和const

    ES6新增加了两个重要的JavaScript关键字:let和const 一.let关键字 let声明的变量只在let命令所在的代码块内有效. 1.基本语法 let a='123' 2.let和var的 ...

  10. TreeViewItem节点添加图标后再加header

    1.需要实现的效果如图 2.解决方案 1).给TreeViewItem中添加children,children为包含一个stackpanel,在stackpanel中包含Image和TextBlock ...