前话

我们经常到机房上课,想必对机房后面那层叠的跟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 - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - 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 - ODR
P - periodic downloaded static route Gateway of last resort is not set C 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 terminal Switch(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 - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - 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 - ODR
P - periodic downloaded static route Gateway of last resort is not set C 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)# exit Switch# configure terminal Switch(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 - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - 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 - ODR
P - periodic downloaded static route Gateway of last resort is not set C 192.168.10.0/24 is directly connected, Vlan1
C 192.168.20.0/24 is directly connected, Vlan2

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


感想

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

不同VLAN之间互相通信的更多相关文章

  1. 【转】不同VLAN之间相互通信及VTP、STP、EtherChannel概念

    厘清最后一个概念. 转了网上两个相关帖子: http://www.net130.com/CMS/Pub/Tech/tech_zh/2009_03_12_97386_3.htm http://blog. ...

  2. 不同VLAN之间相互通信的两种方式

    (单臂路由.三层交换) 试验环境:东郊二楼第三机房 试验设备:Catalyst 2950-24(SW3) Cisco 2611(R2) Catalyst 3750 SERIES (带两个SD接口,S8 ...

  3. 不同vlan之间相互通信

    不同VLAN之间相互通信的两种方式 (单臂路由.三层交换) 试验目的: 1.通过单臂路由实现不同VLAN之间的通信 2.通过三层交换路由功能实现不同VLAN之间的通信   网络拓扑图: 1.单臂路由实 ...

  4. 利用华为eNSP模拟器实现vlan之间的通信

    eNSP交换机配置VLAN 1. 搭建网络拓扑结构 运行eNSP>新建拓扑>搭建如下图的拓扑结构>启动设备.利用调色板将划分的vlan进行区分. 2. pc机IP地址配置 pc1的I ...

  5. vlan之间的通信-单臂路由与三层交换之间的互通

    注:本试验基于单臂路由通信,三层交换通信,请完成以上两个实验,并保证能够通信 熟练掌握单臂路由的配置 熟练掌握三层交换的配置 三层交换与单臂路由的互通 实验原理 三层交换机在原有二层交换机的基础之上增 ...

  6. 跨交换机VLAN之间的通信(基于Cisco模拟器)

    实验要求: 拓扑结构如下 1.交换机2台:主机4台:网线若干. 2.把主机.交换机进行互联. 3.给2台交换机重命名为A.B. 4.设置2台交换机及主机的ip.注意IP要不冲突 5.在2台交换机上分别 ...

  7. 同一路由器不同vlan之间的通信(一)

    还是废话不多说,第一步,看拓扑图. 先把pc上的ip都配好.開始设置 switch0: >en >conf t >vlan 2 >exit >int fa 0/1 > ...

  8. 【基于不同设备厂商在处理vlan之间通信配置例子】

    H3C: Dot1q子接口实现vlan之间的通信 一:根据项目需求搭建好拓扑图如下: 二:配置 HUAWEI: CISCO

  9. vlan内部与外部某终端之间的通信

    实现虚拟局域网外部终端与内部终端之间的通信,即实现pc3与pc1和pc4之间的通信. 把交换机上的默认VLAN1改成VLAN2(红色字体命令). 各vlan内部终端的通信,是通过vlan ID来实现的 ...

随机推荐

  1. vs2008+qt进行开发

    第一次接触qt vs,完全小白,网上找资料,各种乱,还大部分是很早以前的,挣扎了好几天终于搞定了, 在此给大家分享. 首先是下载vs2008 (我的项目组项目要求用这个版本),这个比较容易下载:然后是 ...

  2. Libcurl笔记二

    一: multi与easy接口的不同处The multi interface offers several abilities that the easy interface doesn't. The ...

  3. mysql安装启动教程(两种方法)

    mysql安装启动: 方法一(简单版): cmd进入mysql安装的bin目录:mysqld.exe –install net start mysql  服务启动(或者选择计算机->(右键)管理 ...

  4. mac 上的版本控制工具SmartSVN9.0.4(破解版)

    附带上破解版安装说明: 1.在MAC上选中SmartSVN.dmg,右键->打开2.双击syntevo_keygen.jar 如果没有安装java会自动提示安装的3.输入Name Email(随 ...

  5. js判断IE6(推荐方法一)

    不得不使用判断的方法 //方法1:推荐 if ( /MSIE 6/.test(navigator.userAgent)){ } //方法2: if ( navigator.appVersion.ind ...

  6. php中封装的curl函数(抓取数据)

    介绍一个封闭好的函数,封闭了curl函数的常用步骤,方便抓取数据. 代码如下: <?php /** * 封闭好的 curl函数 * 用途:抓取数据 * edit by www.jbxue.com ...

  7. hadoop中遇到的问题。

    1.物理主机中无法访问管理界面,在虚拟主机中可以访问, 这跟防火墙有关系,重启一下防火墙,然后关闭,最后重启一下handoop,应该就可以了!!!!(hadoop首战顺利!!!!!(●'◡'●))

  8. WPF ListBox的DataTemplate例子

    <ListBox Name="lbLogInfo"> <ListBox.ItemTemplate> <DataTemplate> <Gri ...

  9. The connection to adb is down

    有一周时间没有打开ADT了,最近想为我的APP增加下些新的功能,但是在编译的时候出现了一个奇怪问题 [2013-10-18 14:43:50 - zzbus] Android Launch![2013 ...

  10. MySQL中bin-log使用

    操作命令:show binlog events ; reset master 删除所有的二进制日志 flush logs 产生一个新的binlog日志文件 show master logs; 或者 s ...