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

时间:2021-04-14 07:57:44

厘清最后一个概念。

转了网上两个相关帖子:

http://www.net130.com/CMS/Pub/Tech/tech_zh/2009_03_12_97386_3.htm

http://blog.sina.com.cn/s/blog_554c766701008z6o.html

~~~~~~~~~~~~~~~~~~~~~~~~

必须启用路由功能,否则三层交换机的功能也就等价于二层交换机-----------iprouting。 

~~~~~~~~~~~~~~~~~~~~~~~~~

试验总结:从试验过程中可以看出实现不同VLAN之间的两种方式,一个是通过单臂路由实现,另一个是通过三层交换的路由功能实现的,可以说不同VLAN之间的通信必须通过路由功能才能实现通信。其次,不同网段之间都需要配置下一跳地址(网关)才能通信。那么什么时候用单臂路由,什么时候选择三层交换呢。单臂路由是不具有扩展性的,为什么这么说呢,如果VLAN的数量不断增加,流经路由器与交换机之间链路的流量也变得非常大,这时,这条链路也就成为了整个网络的瓶颈,即使你网络的带宽再快,也是如此。因此,当网络不断增大,划分的VLAN不断增多的时候,就需要配置三层交换机的路由功能,实现不同VLAN之间的通信(三层交换机的数据表的吞吐量通常为数百万pps,而传统路由器的吞吐量只有10kpps~1Mpps,其次三层交换机是通过硬件来交换和路由选择数据包的,吞吐量当然大了,甚至接近于线速。而路由器只是通过虚拟子接口来交换和路由选择数据包的,不是硬件实施的,吞吐量也就变的小了。
    总之一句话:三层交换技术在第三层实现了数据包的高速转发,从而解决了传统路由器低速、负责所造成的网络瓶颈问题。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 再搞实验之前我们先搞清楚,什么是VTP!什么是STP!什么是EtherChannel!
那VLAN可以通过TRUNK技术跨越交换机来实现,就是将交换机A和交换机B之间的链路配置成TRUNK,这样交换机A和B上相同VLAN的主机就可以通讯。
那我们在一台交换机上配置VLAN很简单,那如果在企业环境中通常有很多个交换机相互连接,那你要一台一台的去配,就很麻烦了,而且管理起来也不方便!为了解决这个问题呢,CISCO开发了管理VLAN的协议VLAN TRUNK PROTOCOL。简称VTP。
那VTP协议可以确保企业中交换机配置的一致性,它保持了VLAN配置的一致性!它提供从一个交换机在整个管理域中增加虚拟局域网的方法。
VTP协议是Cisco的专用协议,大多数的Catalyst交换机都支持该协议,VTP协议可以减少VLAN相关的管理任务
 
在VTP协议中,有两个重要的概念
VTP域:也称为VLAN管理域,有一个以上共享VTP域名的相互连接的交换机组成。也就是说VTP域是一组VTP域名相同并通过中继链路相互连接的交换机
VTP通告:在交换机之间用来传递VLAN信息的数据包成为VTP通告
 
域内的每台交换机都必须使用相同的VTP域名
Catalyst交换机必须是相邻的,
所有的Catalyst交换机之间必须启用Trunk中继
所有的Catalyst交换机必须属于一个VTP域,也就是说一个交换机只能加入到一个VTP管理域 
VTP有三种运行模式: 
    服务器模式(server):充当VTP服务器的交换机控制着它所在域中VLAN的生成和修改,VTP服务器可以添加和修改VLAN,并想外部发送VTP通告,同时,VTP服务器也会学习域名相同的VTP通告信息,默认情况下,Catalyst交换机处于VTP服务器模式(server)
    客户机模式(client):处于此模式的交换机上不允许管理员创建,修改或删除VLAN,他们监听本域中其他交换机的VTP通告,并相应修改他们VTP配置情况,这是一种被动的监听模式,VTP客户端上也维护着VTP域内所有VLAN的列表
    透明模式(transparent):VTP透明模式中的交换机不参与VTP,当交换机处于透明模式时,他可以创建和删除本地的VLAN,当他不向外通告自己的VLAN配置信息,也不根据接收到的VTP通告信息更新和修改自己的VLAN数据库,运行VTP透明模式的交换机可以转发VTP通告信息 
使用VTP时,加入VTP域的每台交换机在其中继端口上通告如下信息:
管理域  版本号  配置修改编号  它所知道的VLAN  每个以知VLAN的某些参数 
VTP消息类型
     汇总通告:汇总通告用于通知邻接的Catalyst交换机目前的VTP域名和配置修改编号,默认情况下,Catalyst交换机每5秒钟发送一次汇总通告
    子集通告:如果在VTP服务器上增加,删除和修改了VLAN,“配置修改编号”就会增加,交换机首先会发送汇总通告,然后发送一个或多个子集通告,子集通告中包括VLAN列表和相应的VLAN信息,如果有多个VLAN,为了通告所有的信息,可能需要发送多个子集通告
    通告请求:交换机在下列情况下会发出VTP通告请求
交换机重新启动后 VTP域名变更后交换机接到了配置修改编号比自几高的VTP汇总通告,一旦受到请求通告,VTP设备就会先发送汇总通告,然后发送一个或多个子集通告 。
下面说说STP
STP协议(生成树协议)是一个二层管理协议,在一个扩展的局域网中参与STP的所有交换机之间通过交换桥协议数据单元BPDU(Bridge Protocol Data Unit)来实现;为稳定的生成树拓扑结构选择一个根桥;为每个交换网段选择一台指定交换机;将冗余路径上的交换机置为Blocking,来消除网络中的环路。
  IEEE 802.1d是最早关于STP的标准,它提供了网络的动态冗余切换机制。STP使您能在网络设计中部署备份线路,并且保证:
  在主线路正常工作时,备份线路是关闭的。
  当主线路出现故障时自动使能备份线路,切换数据流。
EtherChannel--以太通道
它把多条独立的以太链路捆绑成一条单独的逻辑链路,说白点,把交换机上10个端口捆绑成一个使用!每个EtherChannel的借口都必须有相同的速度,必须挨着!如果EtherChannel内某一条链路失效了,原来在失效链路上传输的流量将会在那条EtherChannel内剩下的链路上面继续进行传输。
理论基本上就是上面那些,下面我们来搞真的,拓扑图如下:
【转】不同VLAN之间相互通信及VTP、STP、EtherChannel概念
~~~~~~~~~~~~~~~~
SWA的配置单:
switch > enable
switch # configure terminal
switch (config) # hostname swa
swa(config) # vtp domain cisco
swa(config) # vtp mode server
swa(config) # vtp password cisco
swa(config) # exit
swa # vlan database
swa(vlan) # vlan  name aaa
swa(vlan) # vlan  name bbb
swa(vlan) # vlan  name ccc
swa(vlan) # exit
swa # configure terminal
swa(config) #  -
swa(config-if) # sw tr en dot
swa(config-if) # sw mo tr
swa(config) # -
swa(config- mode on
swa(config-if) #sw mo tr
swa(config-if) #exit
用no channel-group接口配置命令,可以把一个接口从EthterChannel组中删除。
swa(config) #  spanning-tree vlan  root secondby
swa(config) # spanning-tree vlan  root secondby
swa(config) # spanning-tree vlan  root primary
swa(config) # spanning-tree vlan  root primary
swa(config) # exit
swa #

SWB的配置单:
switch > enable
switch # configure terminal
switch (config) # hostname swb
swb(config) # vtp domain cisco
swb(config) # vtp mode server
swb(config) # vtp password cisco
swb(config) #  -
swb(config-if) # sw tr en dot
swb(config-if) # sw mo tr
swb(config) #  -
swb(config- mode on
swb(config-if) # sw mo tr
swb(config-if) # exit
swb(config) # spanning-tree vlan  root primary
swb(config) # spanning-tree vlan  root primary
swb(config) # spanning-tree vlan  root secondby
swb(config) # spanning-tree vlan  root secondby
swb(config) # exit
swb #
SWC配置单:

switch > enable
switch # configure terminal
switch (config) # hostname swc
swc(config) # vtp domain cisco
swc(config) # vtp mode client
swc(config) # vtp password cisco
swc(config) #  -
swc(config-if) # sw tr en dot
swc(config-if) # sw mo tr
swc(config- -
swc(config-if) # switchport mode access
swc(config-
swc(config-if) # spanning-tree portfast
swc(config- -
swc(config-if) # switchport mode access
swc(config-
swc(config-if) # spanning-tree portfast
swc(config-if) # exit
swc(config) # spanning-tree uplinkfast
swc(config) # spanning-tree vlan
swc(config) # spanning-tree vlan
swc(config) # spanning-tree vlan
swc(config) # spanning-tree vlan
swc(config) # exit
swc #

SWD配置单:

switch > enable
switch # configure terminal
switch (config) # hostname swd
swd(config) # vtp domain cisco
swd(config) # vtp mode client
swd(config) # vtp password cisco
swd(config) #  -
swd(config-if) # sw tr en dot
swd(config-if) # sw mo tr
swd(config- -
swd(config-if) # switchport mode access
swd(config-
swd(config-if) # spanning-tree portfast
swd(config- -
swd(config-if) # switchport mode access
swd(config-
swd(config-if) # spanning-tree portfast
swd(config-if) # exit
swd(config) # spanning-tree uplinkfast
swd(config) # spanning-tree vlan
swd(config) # spanning-tree vlan
swd(config) # spanning-tree vlan
swd(config) # spanning-tree vlan
swd(config) # exit
swd