ISL
是
1
种外部标签处理过程
,
所以原始的数据帧不被改变
,ISL
在数据帧头部加上
26
字节长的
ISL
头部信息
,
在数据帧尾部加上
4
字节的
FCS
字段进行
CRC
运算
,
所以只有支持
ISL
的设备才能对它进行读取
,
最大程度
1522
字节
.
当帧被传送到
access link
时
,ISL
封装信息将被移去
使用
trunk link
在多个
VLAN
中行走
,
比使用
router
连接的好处是
:
减少延时间
VLAN Trunking Protocol(VTP)
VTP
也是
Cisco
创建的
,
但是现在已经不为
Cisco
所私有
.VTP
的主要目的是在
1
个交换性的环境中管理所有配置好的
VLAN
使所有的
VLAN
保持一致性
VTP
允许增加
,
删除和重命名
VLAN,
然后这些修改后的信息传播到整个
VTP
域里的所有
switches
上
VTP
的一些优点
:
1.
保持
VLAN
信息的连续性
2.
精确跟踪和监视
VLAN
3.
动态报告增加了的
VLAN
信息给
VTP
域中所有
switch
4.
可以使用即插即用
(plug-and-play)
的方法增加
VLAN
5.
可以在混合型网络中进行
trunk link,
比如以太网到
ATM LANE,FDDI
等
在你使用
VTP
管理
VLAN
之前
,
必须先创建个
VTP
服务器
(VTP server),
所有要共享
VLAN
信息的服务器必须使用相同的域名
.
而且
,
假如你把某个
switch
和其他的
switch
配置在
1
个
VTP
域里
,
这个
switch
就只能和这个
VTP
域里的
switch
共享
VLAN
信息
.
其实
,
如果你只有
1
个
VLAN,
就不需要使用
VTP
了
.VTP
信息通过
trunk
端口进行发送和接收
.
可以给
VTP
配置密码
,
但是要记住的是
,
所有的
switch
必须配置相同的密码
switch
通告
VTP
管理域信息
,
加上版本号和已知
VLAN
配置参数信息
.
还有种叫做透明
VTP
模式
(transparent VTP mode),
在这种模式里
,
你可以给
switch
配置成通过
trunk
端口转发
VTP
信息
,
但是不接受
VTP
更新信息来更新它自己的
VTP
数据库
switch
通过
VTP
通告检测到增加的
VLAN,
然后把新增加的
VLAN
和已有的联结在一起共享信息
.
新的更新信息在之前的版本号上加
1
VTP Modes of Operation
在
VTP
域里操作的
3
种模式
:
1.
服务器模式
(server mode):
所有
Catalyst switches
的默认设置
,1
个
VTP
域里必须至少要有
1
个服务器用来传播
VLAN
信息
,
对
VTP
信息的改变必须在服务器模式下操作
.
配置保存在
NVRAM
里
2.
客户机模式
(client mode):
在这种模式下
,switches
从
VTP
服务器接受信息
,
而且它们也发送和接收更新
,
但是它们不能做任何改变
.
在
VTP
服务器通知客户
switches
说增加了新的
VLAN
之前
,
你不能在客户
switch
的端口上增加新的
VLAN.
配置不保存在
NVRAM
里
3.
透明模式
(transparent mode):
该模式下的
switch
不能增加和删除
VLAN,
因为它们保持的有自己的数据库
,
不和其他的共享
.
配置保存在
NVRAM
里
VTP Pruning
VTP pruning:
减少广播
,
组播
,
单播
,
保留带宽
.VTP pruning
只在
trunk link
上发送广播
.
默认情况
,VTP pruning
在所有的
switches
上是没有启用的
.
当你在
VTP
服务器上启用了
VTP pruning,
整个
VTP
域就启用了
VTP pruning,
默认只能在
VLAN2
到
VLAN1005,VLAN1
是管理
VLAN
Routing between VLANs
可以使用支持
ISL
路由的
router
来连接
VLAN,
支持
ISL
路由的最低型号是
2600
系列
,1600,1700
和
2500
系列都不支持
.
如下图
,
就是
router
和每个
VLAN
之间的关联
,
每个
router
的接口都插入
1
个
access link,
这个同时也说明了
router
的每个接口的
IP
地址都是每个
VLAN
的默认网关
:
假如你有太多的
VLAN,
数量超过了
router
接口数量
,
明显上面的方法就不适用了
.
你可以使用
Cisco
的
3
层
switch Cisco3550,
或者使用
router
的快速以太网接口来做
ISL
或者
802.1Q
的
trunk link,
这样的方法叫做单臂路由
(router on a stick).
如下图
:
Configuring VLANs
创建
VLAN:
1900
下
,
使用
vlan [vlan#] name [name] [vlan#]
命令
,
如下
:
>en
#config t
(config)#hostname 1900
1900(config)#vlan 2 name sales
1900(config)#vlan 3 name marketing
1900(config)#vlan 4 name mis
1900(config)#exit
验证
,
使用
show vlan
命令
,
记住在你没给
VLAN
分配端口之前
,
之前做的
VLAN
是不会起作用的
.
而且所有的端口默认是处在
VLAN1
的
,VLAN1
是管理
VLAN.
如下
:
1900#sh vlan
VLAN Name Status Ports
----------------------------------------------------------------------------
1 default Enable 1-12, AUI, A, B
2 sales Enable
3 marketing Enable
(
略
)
在
2950
下创建
VLAN,
在特权模式下使用
vlan database
命令
,
创建命令和
1900
下的类似
,
注意结尾使用
apply
命令
.
如下
:
2950#vlan database
2950(vlan)#vlan
2 name Marketing
VLAN 2 modified:
Name: Marketing
2950(vlan)#vlan 3 name Accounting
VLAN 3 added:
Name: Accounting
2950(vlan)#apply
APPLY complete
2950(vlan)#Ctrl+C
2950#
使用
show vlan
或者
show vlan brief
命令验证下
:
2950#sh vlan brief
VLAN Name Status Ports
----------------------------------------------------------------------------
1 default active Fa0/1...Fa0/12
2 Marketing active
3 Accounting active
(
略
)
Assigning Switch Ports to VLANs
创建了
VLAN,
接下来要做的就是给
VLAN
分配端口
.1900
下
,
使用
vlan-membership
命令
1
次只能分配
1
个
,
可以
static
或
dynamic
作为参数
,
如下
:
1900(config)#int e0/2
1900(config-if)#vlan-membership static 2
1900(config)#int e0/4
1900(config-if)#vlan-membership static 3
1900(config)#int e0/5
1900(config-if)#vlan-membership static 4
1900(config-if)#exit
1900(config)#exit
1900#
验证
,
如下
:
1900#sh vlan
VLAN Name Status Ports
----------------------------------------------------------------------------
1 default Enable 1-12, AUI, A, B
2 sales Enable 2
3 marketing Enable 4
(
略
)
2950
下的配置
,
使用
switchport access vlan [vlan#]
命令
,
如下
:
2950(config-if)#int f0/2
2950(config-if)#switchport access vlan 2
2950(config-if)#int f0/3
2950(config-if)#switchport access vlan 3
2950(config-if)#int f0/4
2950(config-if)#switchport access vlan 4
2950(config-if)#exit
2950(config)#exit
2950#
验证配置信息
,
如下
:
2950#sh vlan brief
VLAN Name Status Ports
----------------------------------------------------------------------------
1 default active Fa0/1 Fa0/5...Fa0/12
2 Marketing active Fa0/2
3 Accounting active Fa0/3
(
略
)
Configuring Trunk Ports
1900
只使用动态
ISL(DISL)
封装方式
,
在快速以太网配置
trunk,
在接口配置模式下使用
trunk [
参数
]
的命令
,
如下
,
将
26
接口设置为
trunk
端口
:
1900(config)#int f0/26
1900(config-if)#trunk ?
auto Set DISL state to AUTO
desirable Set DISL state to DESIRABLE
nonegotiate Set DISL state to NONEGOTIATE
off Set DISL state to OFF
on Set DISL state to ON
1900(config-if)#trunk on
设置参数为
on
即接口将作为永久
ISL
的
trunk
端口
,
可以和和相连的设备协商
,
并且把连接转换成
trunk link
2950
下在接口配置模式
,
使用
switchport
命令
,
如下
:
2950(config)#int f0/12
2950(config-if)#switchport mode trunk
2950(config-if)#^Z
2950#
验证配置信息
:
2950#sh run
(
略
)
!
interface FastEthernet0/12
switchport mode trunk
no ip address
!
(
略
)
Configuring Inter-VLAN Routing
使
VLAN
间互相通信
,
就必须使用
router
或者
3
层
switch
来连接
.
要在
router
的快速以太网接口支持
ISL
和
802.1Q,
要把接口划分成许多逻辑接口
(
非物理
),1
个接口对应
1
个
VLAN.
这些接口就叫子接口
(subinterfaces).
还有要必须知道的是
,
默认你不可能在
1900
和
2950
之间做
trunk
连接
,
因为
1900
只支持
ISL
路由而
2950
只支持
802.1Q
路由
,2
种相互不兼容
给连接
1900
的
trunk
端口配置
,
使用
encapsulation isl [vlan#]
命令
,
如下
:
2600Router(config)#int f0/0.1
2600Router(config-subif)#encapsulation isl [vlan#]
给连接
2950
的这样配置
,
如下
:
2600Router(config)#int f0/0.1
2600Router(config-subif)#encapsulation dot1q [vlan#]
Configuring VTP
默认下
,1900
和
2950
都被配置成
VTP
服务器模式
,
配置
VTP,
先配置
VTP
域名
,
还有密码
,
是否
pruning
等
.
1900
下
,
在全局配置模式下使用
vtp
命令
,
如下
:
1900(config)#vtp ?
client VTP client
domain Set VTP do