前话

我们经常到机房上课,想必对机房后面那层叠的跟DVD一样的机器有印象吧,那些就是交换机。

交换机作用是什么?

我这里度娘一下:

交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。

说简单点,就是为主机之间创建通信道路的机器,如下图,各主机连接同个交换机,且IP在同一网段,在同一VLAN,他们是可以互相通信的,他们就简单构成了一个局域网。

刚才提到了vlan,vlan又是什么呢?

同样度娘一下:

VLAN(Virtual Local Area Network)的中文名为”虚拟局域网”。
虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。VLAN是一种比较新的技术,工作在OSI参考模型的第2层和第3层,一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。与传统的局域网技术相比较,VLAN技术更加灵活,它具有以下优点: 网络设备的移动、添加和修改的管理开销减少;可以控制广播活动;可提高网络的安全性。
在计算机网络中,一个二层网络可以被划分为多个不同的广播域,一个广播域对应了一个特定的用户组,默认情况下这些不同的广播域是相互隔离的。不同的广播域之间想要通信,需要通过一个或多个路由器。这样的一个广播域就称为VLAN。

我个人理解呢,VLAN就是把一条大马路用隔离带分成多条小马路的技术。
要注意的是,每条小马路之间是不能相通的,图示如下:

在交换机中可以添加VLAN和设置端口处于哪个VLAN,我们用之前简单局域网示例来讲解:

上面一台主机 PC0 处于VLAN 1 ,下面两个主机 PC1 和 PC2 处于 VLAN 2 ,三台主机的IP处于同一网段。
PC0 接入交换机端口 Fa0/1 ,PC1 接入交换机端口 Fa0/2 ,PC2 接入交换机端口 Fa0/3 。
但由于VLAN不同,PC0 不能和 PC1 PC2 通信。
下面两台主机 PC1 和 PC2 的IP同网段,也同处于 VLAN 2 ,因此这两台主机可以互相通信。

交换机配置过程如下:

Switch> enable                                  //进入特权模式
Switch# vlan database                           //进入vlan数据库
Switch(vlan)# vlan 2                            //添加一个vlan,vlan号为 2 。默认所有端口处于vlan 1 ,因此本例子只需添加添加 vlan 2
Switch(vlan)# exit                              //退出 vlan数据库
Switch# configure terminal                      //进入全局配置模式
Switch(config)# interface FastEthernet 0/2      //进入端口Fa0/2设置
Switch(config-if)# switchport access vlan 2     //设置端口Fa0/2处于vlan 2,默认所有端口处于vlan 1 ,所以本实例不用对端口Fa0/1设置vlan
Switch(config-if)# exit                         //退出端口Fa0/2设置
Switch(config)# interface FastEthernet 0/3      //进入端口Fa0/3设置
Switch(config-if)# switchport access vlan 2     //设置端口Fa0/3处于vlan 2
Switch(config-if)# end                          //设置完成退出

那么我们的主要问题来了,不同VLAN之间该如何进行通信呢?下面我们开始主题!

开始主题前,先上一张我对学校机房网络的图示 >_< ,有错请轻喷。


不同VLAN之间互相通信

交换机vlan有什么用呢?谷歌娘度娘会跟你说什么降低一条网络线路的网络风暴提高利用率啊什么的。
我目前为止觉得很有用的是,实现通过不同vlan通信可以使不同网络段的主机能够进行通信。
上面这句话有点长,我举个例子吧,比如我们知道,若子网掩码为 255.255.255.0 ,IP为 192.168.10.100 的主机不能和 IP为 192.168.20.100 的主机进行通信,它们两不在同一子网。

那么有什么办法解决呢?有一种是通过路由器,路由器一般有两三个端口,接入子网的端口设置为子网的网关即可实现两个子网的通信,如下图所示:

上图的确可以两台不同子网的主机的通信问题,那么问题又来了,两个子网各有3台或者更多主机呢?好吧,加上个交换机,一台交换机和主机组成一个子网,子网设置网关为接入的路由器端口IP,如下图所示:

上图也的确可以使两个不同子网多台主机进行通信,但是一般一个交换机有24个端口,一个子网两三台主机那也太浪费了。

如果忽略成本这个方案可以通过,那么问题又来了,如果有3个子网或者更多的子网呢,主机也更多呢?

一台路由器也就那么两三个端口哦。也许大家会说,加多几个交换机,加多几个路由器来组网。
这种粗暴式的通过增加硬件成本组网肯定会导致后面很多的问题,

具体什么严重问题呢?大家有钱可以买来组网试试。

感觉钱就是最为严重的问题了~~~

VLAN技术的出现,可以大大减少开销成本,高大上的技术十分省钱!

开玩笑的 :)


实现不同VLAN之间通信的两种标准方式

单臂路由

讲解单臂路由前先看看双臂路由(好像是这样叫吧 =_= ) ,如下图:

上图一个VLAN连接一个路由器端口,两三个子网路由器还可以对付,但是子网更多时,路由器端口就不够用了。

因此路由器端口多了一个子端口技术,来实现单臂路由。

路由器只需一个端口和交换机进行连接,并设置该端口的子端口对应的vlan信息,而交换机只需将连接路由器的端口设置vlan模式为trunk即可。

通过单臂路由实现不同vlan通信,可以节省路由端口消耗,单臂路由图解如下:

交换机设置

对主机VLAN的划分的部分省略

Switch> enable
Switch# configure terminal
Switch(config)# interface FastEthernet 0/24             //Fa0/24端口连接路由器
Switch(config-if)# switchport mode trunk                //设置该端口vlan模式为trunk
Switch(config-if)# switchport trunk allowed vlan all    //设置该端口trunk模式下接收所有vlan线路的信息
Switch(config-if)# end                                  //完成设置退出

注意,若交换机端口未启动,需要进入到未启动的端口,然后键入命令 no shutdown 对其进行启动。

路由器设置

路由器端口 Fa0/0连接交换机,该端口不要设置IP地址。

Router> enable
Router# configure terminal
Router(config)# interface FastEthernet 0/0
Router(config-if)# no shutdown                                  //启动Fa0/0端口Router(config-if)# interface FastEthernet 0/0.1                 //添加设置Fa0/0端口的子端口Fa0/0.1//同理Fa0/1端口的子端口可以为Fa0/1.1,Fa0/0.6等Router(config-subif)# encapsulation dot1Q 1                     //对该子端口Fa0/0.1进行802.1q协议的封装//后面的数字 1 代表是的侦听VLAN号为 1 的传输数据Router(config-subif)# ip address 192.168.10.1 255.255.255.0     //设置该子端口Fa0/0.1的IP和子网掩码
Router(config-subif)#no shutdown                                //启动该子端口Router(config-if)# interface FastEthernet 0/0.2                 //添加设置Fa0/0端口的子端口Fa0/0.2
Router(config-subif)# encapsulation dot1Q 2                     //对该子端口Fa0/0.2进行802.1q协议的封装Router(config-subif)# ip address 192.168.20.1 255.255.255.0     //设置该子端口Fa0/0.2的IP和子网掩码
Router(config-subif)# no shutdown                               //启动该子端口Router(config-subif)# end                                       //完成设置退出Router# show ip route                                           //查看路由信息Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area* - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not setC    192.168.10.0/24 is directly connected, FastEthernet0/0.1
C    192.168.20.0/24 is directly connected, FastEthernet0/0.2   

最后一下输出路由信息,说明设置成功。

C    192.168.10.0/24 is directly connected, FastEthernet0/0.1
C    192.168.20.0/24 is directly connected, FastEthernet0/0.2   

三层交换机

普通交换机没有路由功能,而三层交换机可以看作普通交换机和路由器合二为一的机器。
因此三层交换机具有路由功能,而且三层交换机的端口是vlan端口。

三层交换机的使用很灵活,我这里说两种:

  • 主机——三层交换机——主机
  • 主机——交换机——三层交换机——交换机——主机

主机——三层交换机——主机

图解如下:

三层交换机设置

三层交换机增加vlan和对主机的vlan划分部分省略。

Switch> enable
Switch# configure terminalSwitch(config)#ip routing                                   //启动三层交换机路由功能Switch(config)# interface Vlan 1                            //添加设置关联Vlan号为1的路由端口
Switch(config-if)# ip address 192.168.10.1 255.255.255.0    //为该路由端口设置IP和子网掩码
Switch(config-if)# no shutdown                              //启动该端口
Switch(config-if)# exit                                     //退出该端口Switch(config)# interface Vlan 2                            //添加设置关联Vlan号为2的路由端口
Switch(config-if)# ip address 192.168.20.1 255.255.255.0    //为该路由端口设置IP和子网掩码
Switch(config-if)# no shutdown                              //启动该端口
Switch(config-if)# exit                                     //退出该端口Switch(config)# interface Vlan 3                            //添加设置关联Vlan号为3的路由端口
Switch(config-if)# ip address 192.168.30.1 255.255.255.0    //为该路由端口设置IP和子网掩码
Switch(config-if)# no shutdown                              //启动该端口
Switch(config-if)# end                                      //完成退出Switch# show ip route                                       //查看路由信息Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area* - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not setC    192.168.10.0/24 is directly connected, Vlan1
C    192.168.20.0/24 is directly connected, Vlan2
C    192.168.30.0/24 is directly connected, Vlan3

输出以上路由信息表示设置成功 :)


主机——交换机——三层交换机——交换机——主机

图解如下:

普通交换机添加vlan和对主机vlan划分部分省略。
若普通交换机连接三层交换机的端口已设置vlan模式为trunk,连接三层交换机后,三层交换机连接普通交换机的端口其模式会自动设置为trunk。

普通交换机设置(示例两个普通交换机设置相同)

Switch> enable
Switch# configure terminal
Switch(config)# interface FastEthernet 0/24
Switch(config-if)# switchport mode trunk        //设置Fa0/24端口vlan模式为trunk
Switch(config-if)#end

三层交换机设置(与前面的类似)

Switch> enable
Switch#vlan database
Switch(vlan)# vlan 2                                        //添加vlan 2
Switch(vlan)# exitSwitch# configure terminalSwitch(config)#ip routing                                   //启动三层交换机路由功能Switch(config)# interface Vlan 1                            //添加设置关联Vlan号为1的路由端口
Switch(config-if)# ip address 192.168.10.1 255.255.255.0    //为该路由端口设置IP和子网掩码
Switch(config-if)# no shutdown                              //启动该端口
Switch(config-if)# exit                                     //退出该端口Switch(config)# interface Vlan 2                            //添加设置关联Vlan号为2的路由端口
Switch(config-if)# ip address 192.168.20.1 255.255.255.0    //为该路由端口设置IP和子网掩码
Switch(config-if)# no shutdown                              //启动该端口
Switch(config-if)# end                                      //退出该端口Switch# show ip route                                       //查看路由信息Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGPD - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter areaN1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGPi - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area* - candidate default, U - per-user static route, o - ODRP - periodic downloaded static routeGateway of last resort is not setC    192.168.10.0/24 is directly connected, Vlan1
C    192.168.20.0/24 is directly connected, Vlan2

输出以上路由信息表示设置成功 :)


感想

毕竟这点内容写了一天了,累但是很满足,谢谢阅读~~~

不同VLAN之间互相通信相关推荐

  1. 三层交换解决了VLAN之间的通信问题

    开关的转发过程. 开关工作于OSI参考模型的第二层,也就是数据链路层.在每一个端口成功连接时,交换机内部的CPU通过对应MAC地址和端口形成一张MAC表.开关基于MAC地址表来转发数据. 路由转发过程 ...

  2. 用思科模拟器实现三层交换机下不同VLAN之间的通信

    用思科模拟器实现三层交换机下不同VLAN之间的通信 实验目标:在三层交换机下实现不同VLAN的PC机之间的通信 工具: CisicoPacketTracer6 实验设备: 六台PC机,四台接入层交换机 ...

  3. 交换机和路由器实现不同网段划分、不同vlan之间的通信、指定组合vlan进行网络通信

    交换机和路由器实现不同网段划分.不同vlan之间的通信.指定组合vlan进行网络通信. 推荐一个画图非常好用的在线免费工具:https://www.processon.com/i/5f58a647e6 ...

  4. 通过以太(子)接口实现VLAN之间的通信

    技术背景 在部署一个企业的园区网络时,可能会将该企业不同的部门规划到不同的VLAN,而且不同的VLAN会分配不同的IP网段,那么每个部门在网络中就会成为单个逻辑单元,管理起来十分方便. 由于每个部门被 ...

  5. 通过VLANIF实现VLAN之间的通信

    技术背景 通过使用路由器可以实现VLAN间通信. 当路由器使用多臂的方式实现VLAN间的通信时,路由器的接口资源将受到极大的挑战,当VLAN数量特别多时,采用多臂路由的方式是不具备可行性的,并且此种方 ...

  6. VLANIF实现VLAN之间的通信

    VLANIF实现VLAN之间的通信 实验拓扑图 实验要求 1.修改交换机名称为S2 S3 2.在S2 S3上做适当配置,使得3个VLAN之间能够通信 配置 交换机S2: <Huawei>s ...

  7. 思科三层交换机不同vlan互通_思科设备三层交换机实践不同vlan之间的通信

    思科设备三层交换机实践不同vlan之间的通信 先准备四台PC机.四台二层交换机.一台三层交换机.一台路由器.一台服务器 PC1 PC2 PC3 PC4 计算机 SWI SW2 SW3 SW4 交换机 ...

  8. H3C 路由器配置单臂路由实现不同vlan之间相互通信

    本次单臂路由实验依旧采用H3C Cloud Lab软件进行模拟,网络拓扑图如下: 其中:S6850_1交换机作为二层交换机使用,VSR-88_2路由器上利用单臂路由配置PC_3和PC_4的网关,PC_ ...

  9. 用路由器实现不同vlan之间的通信

    一:用路由器实现不同vlan间的通信 1.1 拓扑图如下: (1)主机配置:PC-PT0和PC-PT1是vlan 100中的,PC-PT2和PC-PT3是vlan 200中的. PC-PT0的IP地址 ...

最新文章

  1. 千里之堤毁于蚁穴------重点项目不能交付之谜(一)泥淖中的验收测试
  2. Spring Data JPA 复杂/多条件组合分页查询
  3. C语言两个日期比大小,C语言小程序 如何判断两个日期之差
  4. kubernetes (1)基本概念
  5. 中文NER涨点神器!基于多元数据的双流Transformer编码模型
  6. Java05-day05【方法(概述、调用过程图解)、带参方法、带返回值方法、重载、方法参数传递(基本类型、引用类型)】
  7. python怎么和sql一起用_自己写的Python数据库连接类和sql语句拼接方法
  8. java换行符分隔字符串_Java 实例 – 字符串分隔(StringTokenizer) | 菜鸟教程
  9. PC-CSS-多浏览器支持HTML5
  10. MySQL创建不了计划任务_MySQL创建定时任务(或计划任务)
  11. vue是否可以做行车轨迹_在vue中高德地图引入和轨迹的绘制的实现
  12. 在基于对话框的MFC创建状态栏以及添加时间显示
  13. 资源成本双优化!看 Serverless 颠覆编程教育的创新实践
  14. 5图片展示_拼多多搜索【智能创意】推广5大功能升级!
  15. 立法者在民权受到侵蚀时忽略了黑匣子算法
  16. WIFI篇(3.python破解wifi--pywifi的介绍)
  17. 地理位置坐标标准以及转换
  18. 微信小程序时间选择器
  19. 平板上pyto软件_平板电脑性价比排行大更新!
  20. 这才是B站的正确打开方式!

热门文章

  1. 微信小程序自动推送当天天气情况Java版
  2. mupdf源码分析(一)简介
  3. 这个屏下指纹解锁,为什么这么快?
  4. 图论与网络流理论 3. 匹配理论 2:二部图的匹配
  5. 中段尾段全段什么意思_汽车排气的头段/中段/尾段是什么意思?
  6. bcedit双系统更改启动项名称_bcdedit添加win7启动项
  7. java 整数乘法的算法,大整数乘法——分治算法的时间复杂度
  8. 巧用微信业余创业-吴雪峰-专题视频课程
  9. MATLAB(3)--矩阵的引用(sub2ind、ind2sub、reshape函数使用)
  10. 用objectARX实现了一个复杂实体的Jig