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

有个问题搞半天没弄明白,我在核心交换机上划分了几个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. How to restore and recover a database from an RMAN backup. (Doc ID 881395.1)

    APPLIES TO: Oracle Database - Enterprise Edition - Version 10.1.0.2 to 11.2.0.2 [Release 10.1 to 11. ...

  2. 2019中国大学生程序设计竞赛(CCPC) - 网络选拔赛

    传送门 A.^&^ 题意: 找到最小的正数\(C\),满足\((A\ xor\ C)\&(B\ xor \ C)\)最小. 思路: 输出\(A\&B\)即可,特判答案为0的情况 ...

  3. 原生JS无缝轮播图

    (1)原理介绍 (2)静态布局 <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...

  4. 201871010109-胡欢欢《面向对象程序设计(java)》第一周学习总结

    <面向对象程序设计(java)>第一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 ...

  5. WPf 带滚动条WrapPanel 自动换行 和控件右键菜单

    原文:WPf 带滚动条WrapPanel 自动换行 和控件右键菜单 技能点包括 WPf 样式的引用 数据的验证和绑定 比较适合初学者 前台: <Window.Resources> < ...

  6. 基于ORB-SLAM2的图片识别

    基于ORB-SLAM2的图片识别,其功能是首先运行ORB-SLAM2,在运行过程中调起另一个线程进行图像识别,识别成功后在图片上渲染AR中的立方体模型. 识别过程主要基于ORB-SLAM2中的BoW算 ...

  7. vscode源码分析【一】从源码运行vscode

    安装git,nodejs和yarn 安装Python27,3.x版本的不行,确保它在你的环境变量里: 安装gulp npm install --global gulp-cli 安装windows bu ...

  8. Java连载48-final关键字

    一.final关键字 1.注意点: (1)final是一个关键字,表示最终的,不可变的. (2)final修饰的类无法被继承 (3)final修饰的方法无法被覆盖 (4)final修饰的变量一旦被赋值 ...

  9. angularjs中使用锚点,angular路由导致锚点失效的两种解决方案

     壹 ❀ 引 公司新项目开发中,首页要做个楼层导航效果(如下图),要求能点击图标对应跳到楼层即可,因为不需要跳转过度动画,也要求最好别用JQ,想着原生js操作dom计算top的兼容性,想着用锚点实现算 ...

  10. 《细说PHP》第四版 样章 第23章 自定义PHP接口规范 2

    23.1.3  接口的应用和优势 API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无须访问源码,或理解内部工作机制的细节.接口应用的一些常见场景如下 ...