前话

我们经常到机房上课,想必对机房后面那层叠的跟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. java查询WFS服务

    在我们访问wfs服务时候,有时候会遇到前台访问时候的跨域问题.这里给出java访问的一个小例子. import java.io.BufferedReader; import java.io.IOExc ...

  2. DigitalOcean(DO)购买VPS流程

    背景: 对于一个程序员来说,拥有自己的一台国外服务器是一种多么激动的事情,尽管配置不如自己电脑的1/5,但是想一想可以不用备案搭建网站,可以搭建shadow服务器,从此通过自己的服务器上网,想一想真是 ...

  3. Jxl操作excel的demo

    网上很多例子,都是用Jxl读或者写excel,本文实现的功能就是将数据源in.xls的第几行第几列数据写入到out.xls的第几行第几列,不覆盖out.xls其他原有的数据. 需要导入的包:jxl.j ...

  4. Scrapy简介

    什么是Scrapy? Scrapy是一个快速.高级的爬行器和网页抓取框架,用来抓取网站和提取网页中结构化的数据.它被广泛的使用于监控数据采集和自动化测试. 参考:http://scrapy.org/

  5. 51nod1265四点共面

    1265 四点共面 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出三维空间上的四个点(点与点的位置均不相同),判断这4个点是否在同一个平面内(4点共线也算共面).如 ...

  6. 解析php file_exists无效的解决办法

    php中file_exists无效的解决办法. 方法1 :据官方手册上描述若php教程的safe mode相关的设置过于苛刻,就会出现这样的情形:尽管文件真实存在也被误报,认为文件不存在. 由于服务器 ...

  7. Spark Streaming揭秘 Day9 从Receiver的设计到Spark框架的扩展

    Spark Streaming揭秘 Day9 从Receiver的设计到Spark框架的扩展 Receiver是SparkStreaming的输入数据来源,从对Receiver整个生命周期的设计,我们 ...

  8. asp.net mvc 伪静态路由配置

    asp.net mvc实现伪静态路由必须按如下方式设置好,才能访问 .htm 或者.html页面 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspne ...

  9. ENVI栅格文件增强后将LUT保存完输出img图像进行分类

    ENVI栅格文件储存 图像原始的DN(Digital Number)值记录图像的光谱信息,不能轻易更改。在窗口中显示的一般是经过拉伸等增强处理的LUT上的灰度值,在保存文件时,就有不同的方式。 1.  ...

  10. UITableViewCell 重合问题解决方法

    这两天做ios遇到一个UITableViewCell 数据重合的问题,原因:引起这个问题的主要原因是,重用cell.之前cell上的内容未被清空,而又增加新增内容所致.从网上查了一些解决方法,比如: ...