前文我们了解了二层交换技术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. 写DockerFile的一些技巧

    Docker镜像由只读层组成,每个层都代表一个Dockerfile指令.这些层是堆叠的,每一层都是前一层变化的增量.示例Dockerfile: ​ FROM ubuntu:15.04 COPY . / ...

  2. excel vba的inputBox函数

    Sub test1()    Dim h    Dim j As Integer    j = 0    Dim n1 As Integer '分行单元格在第几列    Dim m1 As Integ ...

  3. Redis之阻塞分析

    Redis是典型的单线程架构,所有的读写操作都是在一条主线程中完成的.当Redis用于高并发场景时,这条线程就变成了它的生命线.如果出现阻塞,哪怕是很短时间,对于我们的应用来说都是噩梦.导致阻塞问题的 ...

  4. 基于C#的socket编程的TCP同步实现

    该博客源著地址https://www.cnblogs.com/sunev/archive/2012/08/05/2604189.html 一.摘要 总结一下基于C#的TCP传输协议的涉及到的常用方法及 ...

  5. Redis 底层数据结构之字典

    文章参考 <Redis 设计与实现>黄建宏 字典 在字典中,每个键都是独一无二的,程序可以在字典中根据键查找与之相关联的值,或者通过键来更新和删除值. 字典在 Redis 中的应用相当广泛 ...

  6. Docker学不会?不妨看看这篇文章

    大家好,我是辰哥! 上一篇文章(2300+字!在不同系统上安装Docker!)教大家如何在系统上安装docker,今天咱们来学习docker的基本使用. 辰哥将在本文里详细介绍docker的各种使用命 ...

  7. Collections中的实用方法

    总结一下java.util.Collections类内部的静态方法. checkedCollection(Collection<T> , Class<T> type) chec ...

  8. springboot 使用yml配置文件自定义属性

    springboot 中在application.yml文件里自定义属性值,配合@Value注解可以在代码中直接取到相应的值,如在application.yml中添加 mqtt: serverURI: ...

  9. 线程中的join()

    http://blog.itpub.net/31555134/viewspace-2221319/ 一直对join()方法不是很理解,在A线程中, B线程调用了join()方法,然后在内部实际是wai ...

  10. 「 题解」NOIP2021模拟赛(2021-07-19)

    小兔的话 欢迎大家在评论区留言哦~ D - 矩阵 简单题意 一个 \(i * i\) 的 \(01\) 矩阵,若满足 每一行 和 每一列 都满足 恰好 有 \(2\) 个位置是 \(1\) 时,称为 ...