前文我们了解了二层交换技术vlan相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15091491.html;今天我们来聊一聊不同VLAN间通信相关话题;

  我们知道vlan主要解决了交换机的广播域问题,在大型网络环境中,vlan可以隔离广播域,虽然解决了广播风暴带来的问题,但同时也引入了一个新的问题;不同vlan间该如何通信呢?在现网中,一般情况都是一个vlan对应一个网络,要想实现不同vlan间通信,其实就是不同网段该如何通信;我们知道不同网段要想通讯就必须借助三层路由设备来实现数据包转发,从而实现不同网段间通讯;

  提示:每个 VLAN 都是一个独立的广播域,不同的 VLAN 之间二层就已经隔离,因此属于不同 VLAN 的节点之间是无法直接互访的。

  解决vlan间通讯的方法:传统增加路由器来实现数据包转发

  提示:以上架构是传统的方式,通过二层交换机划分不同的vlan,每一个vlan使用一条独占的物理链路连接至路由器;

  实验:如下拓扑,实现主机A,主机B互通

  SW1的配置

sys
sys SW1
vlan batch 10 20
int eth0/0/1
port link-type access
port default vlan 10
int eth0/0/2
port link-type access
port default vlan 20
int eth0/0/3
port link-type access
port default vlan 10
int eth0/0/4
port link-type access
port default vlan 20

  验证:查看sw1的vlan信息

  验证:查看sw1的接口vlan信息

  R1的配置

sys
sys R1
int g0/0/1
ip add 192.168.10.254 24
int g0/0/0
ip add 192.168.20.254 24

  验证:查看R1的路由,看看是否有直连路由生成

  pc1的配置

  pc2的配置

  验证:用pc1 ping pc2 看看是否能够互通?

  提示:可以看到pc1能够正常ping通pc2;这样就实现了vlan10 里的主机和vlan20里的主机通讯;这种传统的方式有一个缺点就是占用路由器的接口;我们知道路由的接口对于我们来说是相当宝贵的,如果我们有100个vlan,这种方式很显然就不能实现;于是为了解决占用路由器接口的问题,单臂路由就由此产生;

  单臂路由

  什么是单臂路由呢?单臂路由从字面我们可以理解交换机连接路由器就只有一条链路,路由器通过子接口的方式配置不同的ip地址信息,并将对应的子接口划分到不同的vlan里,从而实现一条链路上允许多个子接口的流量通过,从而减少占用路由器的端口问题;

  提示:我们可以将二层交换链接路由器的接口设置为trunk,允许对应的vlan通过;而对于路由来说,我们可以将不同的子接口划分到不同的vlan里,从而实现二层交换机trunk发送的数据,到对应子接口可以解除vlan标签,从而实现路由器能够识别对应的数据包,从而根据路由信息来转发数据;

  实验:如下拓扑,实现主机A,主机B互通

  sw1的配置

sys
sys sw1
vlan batch 10 20
int eth0/0/1
p l a
p d v 10
int eth0/0/2
p l a
p d v 20
int g0/0/1
p l t
p t a v 10 20

  验证:查看sw1的vlan信息

  验证:查看sw1的接口vlan信息

  R1的配置

sys
sys R1
int g0/0/0.10
dot1q termination vid 10
ip add 192.168.10.254 24
arp broadcast enable
int g0/0/0.20
dot1q termination vid 20
ip add 192.168.20.254 24
arp broadcast enable

  验证:查看R1的子接口是否都起来了?

  提示:在路由器上新建子接口,其作用就是用来将对应的vlan标签解除/打上vlan标签,从而实现能够和二层交换机的trunk接口正常通讯;所以我们必须要先改子接口vlan封装,然后在配置ip地址和开启arp 广播,如果不配置vlan封装,只是在子接口配置上ip地址,对应子接口是无法正常up的;

  验证:用pc1 ping pc2看看是否可以ping通?

  提示:可以看到pc1能够正常ping通pc2;

  验证:我们在R1的g0/0/0接口抓包看看,看看对应vlan标签的变化

  提示:可以看到在R1的g0/0/0接口上能够抓到很多icmp的包,其原因是,pc1pingpc2的icmp请求包和回复包都会走g0/0/0接口;从上面的截图可以看到当pc1发送icmp请求包时,首先R1会收到一个带有vlan 10 标签的数据包,然后经过R1的子接口处理以后,对应数据包的vlan标签又会变为20(原因是通过R1的路由以后,发现去往192.168.20.2网络的数据包,会从g0/0/0接口发送出去,所以R1的g0/0/0.20这个子接口收到g0/0/0.10子接口的数据是没有标签的,经过g0/0/0.20子接口处理以后,对应数据包会被打上vlan20的标签);对应pc2回包也是一样,路由器会先收到一个vlan20的标签数据包,经过对应子接口处理以后,再从另一个子接口发送出来,会被打上vlan10的标签;

  通过上述的实验,可以看到我们使用一条物理链路就可以实现多个vlan间的主机通讯,同时也没有浪费路由器的接口,感觉完美的解决了不同vlan间通讯的问题;这种单臂路由的架构看起来好像很完美,但也有不足;上面是一个简单的模拟,在现实生活中,路由器往往作为一个企业的出口设备,下面有很多交换机,如果单纯的vlan间通讯,所有的数据包都要走路由器过,很显然这样组网方式不妥;那还有什么方式实现不同vlan间通讯吗?有的,三层交换机,完美解决上述问题;

  什么是三层交换机呢?所谓三层交换机就是指支持三层功能的交换机,简单讲就是支持路由的交换机,它既有二层功能,也有三层功能;

  提示:三层交换机通过vlanif虚拟接口配置对应的ip地址信息就能实现不同vlan间路由;这里要注意一点,vlanif后面的编号就是对应vlan的编号;

  实验:如下拓扑,实现主机A,主机B互通

  sw1的配置

sys
sys sw1
vlan batch 10 20
int g0/0/1
p l a
p d v 10
int g0/0/2
p l a
p d v 20 int vlanif 10
ip add 192.168.10.254 24
int vlanif 20
ip add 192.168.20.254 24

  提示:vlanif是三层交换机的虚拟接口,它可以配置ip地址;其后面的编号就是对应的vlan编号;

  验证:查看sw1的虚拟接口是否都起来了?

  提示:vlanif接口的创建前提是对应vlan存在才可正常创建,否则创建不了;

  验证:查看sw1上的路由

  提示:可以看到sw1上也有路由表,对应去往不同的网段,出接口都是对应vlan的虚拟接口;

  验证:pc1 ping pc2看看是否可正常ping通?

  提示:可以看到pc1能够ping通pc2;从上面的实验可以看到,使用三层交换机可以实现不同vlan间的通讯;它既支持三层路由的功能,也支持二层交换的功能;同时也解决了单臂路由的问题(所有流量都要走路由器过),现网中比较推荐使用三层交换机实现vlan间路由;

HCNA Routing&Switching之VLAN间路由的更多相关文章

  1. 2.2-VLAN间路由

    2.2-VLAN间路由     第一代LAN间的通信:     不支持VLAN的交换机:由一个路由器和几个交换机组成,每个交换机的所有端口都同属于一个网段/LAN:在路由器上有几个网段就有几个与之相对 ...

  2. Vlan 间路由的方法

    vlan间路由的方法主要有三种 1.通过路由器上多个接口实现 2.通过路由器上一个接口即单臂路由实现 3.通过三层交换实现   下面将每一中实现方法配合实验说明     第一:通过路由器上多个接口实现 ...

  3. VLAN 间路由的几种方法

    方法一:给每个VLAN去分配一个路由器的物理连接第一步,PC设置IP地址和网关192.168.2.2/24 网关是192.168.2.1192.168.3.2/24 网关是192.168.3.1第二步 ...

  4. 基于路由器物理接口的vlan间路由

    广播域之间来往的数据包都是路由器中继的,所以vlan间的通信业需要路由器提供中继服务,这称作vlan间路由,可以用路由器或三层交换机实现. 配置R1: r1(config)#inter fa0/0r1 ...

  5. VLAN实验5(在ensp上利用三层交换机实现VLAN间路由)

    原理概述: VLAN将一个物理的LAN在逻辑上划分成多个广播域.VLAN内的主机间可以直接通信,而VLAN间不能直接互通. 在现实网络中,经常会遇到需耍跨VLAN相互访问的情况,工程师通常会选择一些方 ...

  6. eNSP仿真软件之利用三层交换机实现VLAN间路由

    1.实验原理: VLAN将一个物理的LAN在逻辑上划分成多个广播域.VLAN内的主机间可以直接通信,而VLAN间不能直接互通. 在现实网络中,经常会遇到需要跨VLAN相互访问的情况,工程师通常会选择一 ...

  7. VLAN实验5:利用三层交换机实现VLAN间路由

    实验环境: 实验拓扑图:   实验编址: 实验步骤:1.基本配置按照实验编址表在PC上进行基本的IP地址配置,三层交换机上先不做任何配置. 测试PC1与PC2的连通性 正常 测试PC1与PC3的连通性 ...

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

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

  9. 网络实验 04-利用三层交换机实现VLAN间路由

    利用三层交换机实现VLAN间路由 一.实验目标 掌握交换机Tag VLAN 的配置 掌握三层交换机基本配置方法 掌握三层交换机VLAN路由的配置方法 通过三层交换机实现VLAN间相互通信 二.实验背景 ...

随机推荐

  1. AS打包签名

    1.进入项目,然后点击菜单栏的Build  -->Generate  Signed APK... (如下图所示) 2.点击之后会出现下图,我这个是我以前有过KEY了,如果你以前没有过的话,都是空 ...

  2. sql循环说明

    while循环:主要是判断,不能使用表中的ID,临时表是ID自增的,通过自增ID可以查出表ID(语法简单,需要配合其他代码操作表ID)游标循环:可以使用表中的ID ,进行修改等操作(语法难一点,核心代 ...

  3. Java实现工厂模式

    工厂模式(Factory),当需要根据运行时的一些条件来决定创建具体对象时,就应该考虑使用工厂设计模式,将创建对象的任务交给工厂集中处理. 工厂模式有多种写法,总体分为简单工厂模式和抽象工厂模式 工厂 ...

  4. 为了提高开发效率,我实现了 uTools 的超级面板

    前言 为了进一步提高开发工作效率,最近我们基于 electron 开发了一款媲美 uTools 的开源工具箱 rubick.该工具箱不仅仅开源,最重要的是可以使用 uTools 生态内所有开源插件!这 ...

  5. 仅使用JsonUtility和File类实现Json数据读写

    using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using S ...

  6. 常见DDoS攻击

    导航: 这里将一个案例事项按照流程进行了整合,这样观察起来比较清晰.部分资料来自于Cloudflare 1.DDoS介绍 2.常用DDoS攻击 3.DDoS防护方式以及产品 4.Cloudflare ...

  7. 关于Kubernetes(简称K8S)的开启及基本使用,基于Docker Desktop & WSL2

    背景介绍 Kubernetes(简称k8s)已成为目前业界容器编排的事实标准,其搭配Docker可建立非常高效便捷的高可扩展.高可用应用服务架构. Kubernetes的名字来自希腊语,意思是&quo ...

  8. 集合类线程安全吗?ConcurrentModification异常遇到过吗?如何解决?

    集合类不安全的问题 1. ArrayList的线程不安全问题 1.1 首先回顾ArrayList底层 ArrayList的底层数据结构是数组 底层是一个Object[] elementData的数组, ...

  9. C++实现二分法详解

    二分法是在一个排好序的序列(数组,链表等)中,不断收缩区间来进行目标值查找的一种算法,下面我们就来探究二分法使用的一些细节,以及常用的场景: 寻找一个数: 寻找左侧边界: 寻找右侧边界. 一.二分法的 ...

  10. CRM企业管理系统对于企业的价值

    对于企业来说,一个完整的工作流程可以概括为三个阶段:售前.售中.售后.每个阶段都需要不同的管理.此外,客户关系管理客户关系管理系统可以帮助企业在这三个阶段进行业务管理和客户管理,帮助企业更好地运作,增 ...