TRUNK:中继协议 二层的技术
作用:不同的VLAN用一根线路传输。有能力区分所传递的数据属于哪个VLAN。
给每个独立的帧进行标识
trunk是P2P概念,中间加HUB(A----HUB----B)能否实现?可以
不推荐。
trunk:直连,全双工,考虑带宽的问题
DTP(Dynamic Trunk Protocol)动态
作用:在彼此switch之间trunk协商
交换机接口模式:
a.access
b.trunk:强制接口无条件成为trunk接口
c.dynamic (3550有 3560没有)
eg:
SW1 F1/1----------F1/1 SW2
trunk模式
show interface trunk
mode : off (不能是dynamic,没有配置/access)
on (两端配置trunk f1/6: encap isl/dot1q/ mode trunk)
DD 期望 主动
DA 自动 被动
nonegotiate (关闭DTP)
eg: SW1 f1/6 ----------f1/6 SW2
DD DA
show int f1/6 trunk
show dtp
sw1
int f1/6
shutdown
debug dtp packet
debug dtp events
int f1/6
no shut
注意:
debug信息 ID--->对方的MAC
trunk学到的MAC地址放入MAC地址表
show mac-address-table static->自带MAC
show mac-address-table dynamic 动态学习到多条MAC相同的地址
对每一个VLAN学习接口的MAC地址
封装方式:ISL / 802.1Q
ISL +30字节 占用过多的bandwidth
ASIC电路实现,不占用资源
DA:目标地址 组播地址:01-00-0c-00-00 or 03-00-0c-00-00
Type:类型 0000以太网帧 / 0001令牌环/0010 FDDI/0011ATM
User:4bit 后3bit优先级(QOS)
SA:源MAC 48bit
LEN:16bit
AAAA03:SNAP标准子网访问协议 802.2 LLC 封装3层到2层
HSA:MAC前3byte
VLAN:15bit 低位10bit VID 1024VLAN
BPDU:1bit STP VTP
INDX
RES:16bit 保留 令牌环/FDDI使用
CRC:循环冗余校验码
802.1Q
Tag:(4byte)
Ethertype(0x8100): 802.1q封装
PRI: 优先级 3bit --> QOS
Token:置0
VLAN ID: 12bit (允许的VLAN 4096个)
native VLAN :本征VLAN
不进行封装的VLAN
默认:VLAN1
show int f1/6 trunk 查看native vlan
要求:交换机之间native vlan 要一致
配置:
interface FastEthernet1/6
switchport trunk native vlan 10
补充:
no switchport 三层
swithport 二层接口 默认
eg:
sw1#sh int f1/5 switchport
Name: Fa1/5
Switchport: Enabled
sw1(config)#int f1/5
sw1(config-if)#ip add 10.1.1.1 255.255.255.0
% IP addresses may not be configured on L2 links.
sw1(config-if)#no switchport
sw1(config-if)#ip add 10.1.1.1 255.255.255.0
================================================================================
VLAN中继的作用:通过一条链路发送多个VLAN的信息。为了区分帧属于哪个VLAN,在帧中需要另外添加一个字段--VLAN ID。
两种VLAN中继协议:ISL和802.1Q,它们的比较如下表:
通过VLAN中继后帧的变化如下图所示:
IEEES标准:802.1Q
采用"标记"方式,在原始数据帧的源MAC地址之后 插入4字节(32bit)的标记
VLAN_ID: 12bit(0~4095)
注:在交换机内部进行数据帧处理时,所有vlan的数据均加tag
802.1Q: VLAN Tag(4字节)
2字节:类型
3bit :优先级
1bit :CFI(令牌环网时为1)
12bit: VLAN_ID (0~4095,0/4095为系统保留,1为缺省VLAN,用户 可配置VLAN为 2~4094 )
native VLAN:
i:发送:在一个trunk端口,若需要发送某个VLAN的数据,通常都需要添加tag.
若该数据帧所属的vlan等于该trunk端口的native vlan,则不加tag直接发送
ii:接收:在一个trunk端口上,若接收到一个数据帧带有tag,则按照该tag处理
若该数据帧没有tag,则添加该trunk端口的native vlan作为tag.
Cisco私有:ISL
采用"封装"方式,原始数据帧前加26字节 ,尾部加4字节新的FCS(CRC校验)
VLAN_ID:15bit
若采用ISL封装,所有的VLAN数据经过trunk链路时,均需要进行ISL封装,不存在nativ VLAN概念
●ISL和802.1Q的配置
Cisco使用DTP(Dynamic Trunk Protocol,动态中继协议)来动态学习设备执行哪种类型的中继。Cisco交换机默认使用DTP的desirable模式,这意味着交换机开始发送DTP消息,希望对端回应其他DTP消息。如果回应收到,DTP便可以侦测是否两个交换机能够中继以及它们中继的协议类型。如果两个交换机同时支持两种类型的中继,那么它们会自动选择ISL。
VLAN的范围
802.1Q:0~4095(0,4095系统保留,1为缺省vlan, 1~4094为用户使用)
ISL:
1 为缺省VLAN
2-1001 :为Ethernet(以太网) VLAN
1002~1005:保留给FDDI和Token Ring
1006~4095:扩展以太网(Ethernet) VLAN部分(VTP)
VTP v1, VTP v2 中只能支持基本VLAN部分
VTP TRASPARENT mode(关闭掉VTP,既配为透明模式)
●允许的、活动的和修剪的VLAN
可以通过switchport trunk allowed设置允许使用的VLAN ID。当VLAN在允许列表中,且已存在配置时,其为活动状态。活动的VLAN可以进行修剪。
通过show interface trunk查看到的VLAN信息一般分为三类:
1)允许的VLAN
2)允许的且活动的VLAN
3)活动的且未被修剪的VLAN
trunk的配置
1)配置工作模式(access,trunk,dynamic desirable,dynamic auto)
a)静态配置
int fa0/1
switchport
switchport trunk encapsulation dot1q
switchport mode trunk
b)动态协商(DTP: dynamic Trunking Protocol,Cisco私有)
int fa0/1
switchport
switchport mode dynamic desirable("主动"-发送DTP协商报文)
switchport mode dynamic auto ("被动"-响应DTP协商报文)
access
trunk
dynamic desirable
dynamic auto
access
access
access
trunk
trunk
trunk
dynamic desirable
trunk
dynamic auto
access
DTP协商:
a)auto方式: 被动响应DTP报文
b)desirable方式:主动发送DTP报文
注1:cisco交换机的端口缺省开启DTP协商
注2:交换机双方必须在同一个VTP域中,才能进行DTP协商,进入trunk状态
示例1:
交换机A的f0/1 <------> 交换机B的f0/1
*1)交换机A的配置
int f0/1
switchport mode dynamic desirable(最终:trunk)
交换机B的配置
int f0/1
switchport mode dynamic desirable(最终:trunk)
--------------------------------------------------------
*2)交换机A的配置
int fa/1
switchport mode dynamic auto (最终:trunk)
交换机B的配置
int fa/1
switchport mode dynamic desirable(最终:trunk)
--------------------------------------------------------
*3)交换机A的配置
int fa/1
switchport mode dynamic auto (最终:access)
交换机B的配置
int fa/1
switchport mode dynamic auto (最终:access)
--------------------------------------------------------
*4)交换机A的配置
int fa/1
switchport mode dynamic auto(最终:trunk)
交换机B的配置
int fa/1
switchport mode trunk (最终:trunk)
DTP 没关,和对方协商
--------------------------------------------------------
*5)交换机A的配置
int fa/1
switchport mode dynamic auto(最终:access)
交换机B的配置
int fa/1
switchport mode trunk(最终:trunk)
switchport nonegotiate ------该端口不再发达DTP报文
静态配置端口为trunk或access, 然后才能将DTP协议关闭,
show dtp interface
示例2:
1)配置802.1Q封装的trunk端口
int fa0/1
switchport
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk native vlan VLAN_ID-----封装802.1Q时允许存在native vlan
switchport trunk allowed vlan ……
2)配置ISL 封装的trunk端口
int fa0/1
switchport
switchport trunk encapsulation isl
switchport mode trunk
switchport trunk allowed vlan ……
●中继配置选项:
●若接口配置为中继,那么中继类型(ISL还是802.1Q)通过switchport trunk encapsulation命令来配置。
●在路由器上配置中继
路由器上也可以配置VLAN中继,不过,路由器不支持DTP,所以必须手工配置,另外与路由器连接的交换机也需要手工配置中继。
路由器的中继配置一般使用子接口,每个子接口属于一个VLAN。
可以在路由器的子接口或物理接口上配置802.1Q原始VLAN。如果在子接口上配置,则使用encapsulation dot1q vlan-id native子命令。native关键字表示离开此接口的帧不打标记。如果要与IP网段联系,还应该配置相关的IP地址。如果在物理接口上配置,则不需要使用encapsulation命令,而只要配置相关IP地址即可。
trunk的相关命令:
1)switchport | no switchport:确定该接口是交换机接口还是路由器接口
2)switchport mode:设置DTP协商参数
3)switchport trunk:如果接口处于中继状态,设置中继参数
4)switchport access:如果接口处与非中继状态,设置非中继的参数
5)show interface trunk:与中继相关信息的汇总
6)show interface type number trunk:对特定接口显示中继的详细信息
7)show interface type number switchport:对特定接口显示非中继的详细信息
●关于802.1Q-in-Q隧道
通常VLAN是不能在广域网上工作的。但是,现在也在研究一些协议,希望使VLAN流量能够在广域网上传输,这其中就包括802.1Q-in-Q,Ethernet over MPLS和VLAN MPLS。
802.1Q-in-Q可以允许跨广域网保持802.1Q的VLAN标识,这样VLAN实际跨越多个地理分散的站点。