前文我们了解了二层交换技术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的配置

  1. sys
  2. sys SW1
  3. vlan batch 10 20
  4. int eth0/0/1
  5. port link-type access
  6. port default vlan 10
  7. int eth0/0/2
  8. port link-type access
  9. port default vlan 20
  10. int eth0/0/3
  11. port link-type access
  12. port default vlan 10
  13. int eth0/0/4
  14. port link-type access
  15. port default vlan 20

  验证:查看sw1的vlan信息

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

  R1的配置

  1. sys
  2. sys R1
  3. int g0/0/1
  4. ip add 192.168.10.254 24
  5. int g0/0/0
  6. 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的配置

  1. sys
  2. sys sw1
  3. vlan batch 10 20
  4. int eth0/0/1
  5. p l a
  6. p d v 10
  7. int eth0/0/2
  8. p l a
  9. p d v 20
  10. int g0/0/1
  11. p l t
  12. p t a v 10 20

  验证:查看sw1的vlan信息

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

  R1的配置

  1. sys
  2. sys R1
  3. int g0/0/0.10
  4. dot1q termination vid 10
  5. ip add 192.168.10.254 24
  6. arp broadcast enable
  7. int g0/0/0.20
  8. dot1q termination vid 20
  9. ip add 192.168.20.254 24
  10. 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的配置

  1. sys
  2. sys sw1
  3. vlan batch 10 20
  4. int g0/0/1
  5. p l a
  6. p d v 10
  7. int g0/0/2
  8. p l a
  9. p d v 20
  10.  
  11. int vlanif 10
  12. ip add 192.168.10.254 24
  13. int vlanif 20
  14. 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. token & refresh token 机制总结

    token & refresh token 机制总结 废话 我在项目上写了个配置页面,之前很简单直接登录,毕竟配置页面自己人用就没有做token机制,后来公司的安全审核不过,现在要加上toke ...

  2. Func委托与表达式树Expression

    最近在写ORM框架,其中遇到一个难点,就是作为框架调用方如何将查询条件传入框架内.其中就用到了Expression. Func委托 要Expression先要了解Func委托,Func委托的样式是: ...

  3. 乘风破浪,Java遇见OpenJDK GA(Build By Microsoft),即将晋升为Azure云管理服务默认JVM

    什么是Microsoft Build of OpenJDK Java Development Kit (JDK) 是Sun公司(已被Oracle收购)针对Java开发员的软件开发工具包.自从Java推 ...

  4. .Net RabbitMQ实战指南——服务日志

    RabbitMQ的日出输入方式有很多种:file.console .syslog .exchange. 在RabbitMQ中,日志级别有none(0).critical(4).error(8).war ...

  5. 4、git和gitlab的配置(1)

    4.0.服务器说明: 服务器名称 ip地址 controller-node1 172.16.1.90 4.1.git介绍: 1.git分布式图: 2.git区域: 3.四种状态: 上面的操作在工作目录 ...

  6. 堆&&优先队列&&TreeMap

    题目描述 5710. 积压订单中的订单总数 题解 题目不难,主要是要读懂题意,一步步模拟,代码较长,需要细心检查. 坑较多,比如我犯了很多傻逼问题:想都不想就拿1<<9+7当作100000 ...

  7. 面试题三:MySQL

    MySQL有哪些存储引擎? MyISAM.InnoDB.CSV.Memory等 MyISAM和InnoDB比较: InnoDB MyISAM 事务 支持 不支持 存储限制 64TB 无 锁粒度 行锁 ...

  8. CentOS-配置YUM源加速(阿里云、Nexus3)

    备份本地源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 配置CentOS6(aliyun ...

  9. ESP32-性能监控笔记

    基于ESP-IDF4.1 1 #include <stdio.h> 2 #include <string.h> 3 #include <unistd.h> 4 #i ...

  10. Docker从容器拷贝文件到宿主机或从宿主机拷贝文件到容器

    1.从容器里面拷文件到宿主机? 答:在宿主机里面执行以下命令 docker cp 容器名:要拷贝的文件在容器里面的路径       要拷贝到宿主机的相应路径 示例: 假设容器名为testtomcat, ...