桥接专题.docx
《桥接专题.docx》由会员分享,可在线阅读,更多相关《桥接专题.docx(23页珍藏版)》请在冰点文库上搜索。
桥接专题
第1章原理介绍
中兴公司目前交换路由器产品ZXR10主要包括两大部分,即C系列和E系列。
C系列全套产品都为switchrouter,E系列目前正在开发中的ZXR10-T32E是一款switchrouter。
而对一台交换机来讲,不管是普通的2层交换机还是3层或多层交换设备,可以讲桥接即交换功能都是最基本、最重要的一部分,是一切的基础。
今天,桥接和交换的概念基本可互换了。
早期,人们为了区别网桥和交换机而提出了桥接和交换的概念。
基本上桥接和交换的功能是相同的,不同在实现的机制上,基本认为桥接是由软件实现的,而交换是由硬件(ASIC)实现的。
性能方面体现在,交换速度快些。
桥接技术的掌握,简单来讲,首先要清楚,交换的过程是如何实现的。
其次,要了解出现了闭合环路的网络中,为避免广播风暴而引入的生成树协议(STP)。
交换机的基本功能有三个:
地址学习、转发/过滤、避免回路的生成。
1.1交换基本原理:
见下图:
MACADDTable
E0
0260.8c01.4444
0260.8c01.3333
0260.8c01.2222
0260.8c01.1111
D
C
B
A
E2
E1
E3
这时交换机的转发表是空的。
MACaddresstable
0260.8c01.3333
0260.8c01.1111
B
A
E0:
0260.8c01.1111
E3
E1
E0
E2
C
D
0260.8c01.4444
0260.8c01.2222
当主机A发送一个帧到C,交换机通过查帧的原地址学习到通过端口E0可以到达MAC地址0260.8C01.1111。
因为这时交换机不知道要通过哪个端口到达C的MAC地址,所以,它把A发出的帧从E0口之外的所有口发送出去。
这个动作称作flooding。
MACaddresstable
E1:
0260.8C01.1111
E3:
0260.8c01.4444
E0
E1
E2
E3
B
A
C
D
0260.8c01.3333
0260.8c01.1111
0260.8c01.4444
0260.8c01.2222
这时主机D发送数据帧到C,交换机通过查看数据帧的源地址,缓存了端口E3和主机DMAC地址地对应关系。
同理,主机D地帧从除了E3端口之外地所有端口flood出去。
MACaddresstable
E0:
0260.8c01.1111
E2:
0260.8c01.2222
E1:
0260.8c01.3333
E3:
0260.8c01.4444
B
A
X
X
0260.8c01.3333
0260.8c01.1111
E1
E0
D
C
E3
E2
0260.8c01.4444
0260.8c01.2222
主机A发帧到C,因为这时交换机知道目的地址C的MAC地址对应的端口,所以这个帧没有flood出去,而是根据MAC表提供的信息从端口E2中发送了出去。
简单的讲,任何一个交换机要经历如上的过程,创建一个MAC地址和端口对应的转发表,然后根据转发表中的信息,将帧交换到相应端口,从而到达目的主机。
1.2生成树协议(STP)部分:
生成树协议(STP)的引入是因为如此之多的类似如下网络的存在。
见下图:
RouterY
Server/hostX
Segment1
Segment2
闭合环路网络的最主要优点是冗余、备份的功能。
但同时带来了广播风暴、同个帧的多次重复到达、MAC地址表不稳定等问题。
下图中,当主机A发出一个广播包时:
Server/hostX
RouterY
Segment1
Broadcast
SwitchB
SwitchA
Segment2
交换机A收到主机X的广播包后,会从除了收到帧之外的所有端口发送出去。
同理,交换机B也会将这些广播包发送出去,这些广播包会到达Segment1,从而交换机A会再次受到这些广播包。
如此,广播风暴在网络中出现了。
如下图所示:
RouterY
Server/hostX
Segment1
Broadcast
SwitchB
SwitchA
最后再网络中会出现如下的情况:
Server/hostX
RouterY
Segment1
Broadcast
SwitchA
SwitchB
其他因网络中存在环路而产生的问题如多个相同帧的出现、MAC表不稳定等问题,此处不再赘述。
为解决此类问题,引入了生成树协议(STP)。
启用了STP的交换机间通过网桥协议数据单元(BPDU)的协商,选出网络中的根网桥、根端口、指定端口、阻塞端口等。
通过将环路中的某些端口置为阻塞状态,从而防止逻辑上闭合环路的出现,而又保证了物理上的冗余备份功能。
1.3VLAN部分:
以太技术中另外一个比较重要的概念是VLAN的概念。
VLAN实际上就是一个广播域,从3层的角度又可以理解为一个逻辑的子网。
一个逻辑的VLAN功能上类似一个网桥。
VLAN不仅限于一个交换机,也可以跨越多个交换机。
交换机的所有端口可以分成两类。
默认情况下,所有端口都为accessport。
只能一个VLAN信息。
也可指定端口为trunkport,可承载多个VLAN信息。
从而保证VLAN可跨越多个交换机。
ZXR10产品的trunk设计都符合IEEE802.1Q标准协议。
实现原理基本上是在从trunk口发送出去的以太帧在帧头内插入了4个字节的标识信息,用来标识此帧所属于的VLAN号。
1.4端口绑定(SmartTrunk)部分:
为实现冗余、负载分担等任务,引入了端口绑定的概念。
如Cisco的FastEtherchannel技术等。
ZXR10C系列交换路由器采用的端口绑定技术称为SmartTrunk。
SmartTrunk端口可看成是多个物理端口捆绑在一起的一个逻辑的端口。
设备之间的多个物理连接聚合成为一条逻辑的高速连接。
可实现各个物理端口之间的负载分担和备份冗余功能。
支持的端口包括10、100、1000以太端口。
同时支持和其他厂家设备的交换机、路由器、服务器的端口绑定互连。
但须注意,加到SmartTrunk中的端口必须符合以下条件:
●全双工
●属于相同的VLAN
●具有相同的2层特性,eg.STP状态、L2aging等。
第2章命令介绍:
2.1VLAN配置命令:
VLAN的配置方法有多种,基于端口的、基于协议的、基于MAC地址的等。
常用的是基于端口的和基于协议的VLAN。
ZXR10C系列交换路由器支持基于端口和基于协议及基于子网的VLAN。
●创建VLAN
vlancreateid
其中type可以是port-based。
或如下协议类型的组合:
IP、IPX、AppleTalk、DEC、SNA、Ipv6、bridged-protocols。
●给VALN添加端口
vlanaddportsto
●改变端口类型
vlanmakeaccess-port
vlanmaketrunk-port
●显示VLAN信息
vlanshowvlan-name
进一步详尽的命令及命令说明见ZXR10C系列路由器的命令手册。
2.2SmartTrunk常用配置命令:
●创建SmartTrunk
smarttrunkcreateprotocolno-protocol|huntgroup|lacp[no-llap-ack]
-huntgroup指出使用DECHuntGroupcontrolprotocol。
当ZXR10C系列互联或和另一支持此协议的设备对接时可使用。
-lacp即逻辑应用控制协议(LinkApplicationControlprotocol)。
-no-protocol指出不使用任何协议。
当对端设备不支持huntgroup协议的时候,指出”no-protocol”。
●SmartTrunk添加端口
Smarttrunkaddportsto
●设置smarttrunk中各端口间负载分担方式
smarttrunksetload-policyround-robin|link-utilizationon|all-smarttrunks
默认情况下,ZXR10C系列交换路由器使用round-robin(轮循)的方式在包含在某smarttrunk端口间进行负载分担。
也可指定采用根据端口的链路利用情况(link-utilization)进行负载分担。
●查看smarttrunk连接
smarttrunkshowconnections|all-smarttrunks
●查看smarttrunk端口负载分担情况
smarttrunkshowredistribution|all-smarttrunks
-流量在各物理端口间的分布情况。
●查看smarttrunk控制协议的状态
smarttrunkshowprotocol-state
●查看smarttrunk信息
smarttrunkshowtrunks
-显示所有smarttrunk的信息,包括端口及控制协议的信息
第3章实验配置及输出说明
3.1单一C系列路由器VLAN配置
ID=2ZXR10-T16C10/100ID=3
Greenvlan
Bluevlan
●基于端口地VLAN配置示例
zte(config)#vlancreateblueport-basedid2
zte(config)#vlancreategreenport-basedid3
zte(config)#vlanaddportset.1.(1-4)toblue
zte(config)#vlanaddportset.1.(5-8)togreen
InitialType/Data
输出说明:
ZTE#vlanshownameblue
VIDVLANNameUsedforPorts
-------------------------
2blueIP,IPX,ATALK,DEC,SNA,IPv6,L2et.1.(1-4)
ZTE#vlanshownamegreen
VIDVLANNameUsedforPorts
-------------------------
3greenIP,IPX,ATALK,DEC,SNA,IPv6,L2et.1.(5-8)
●基于协议的VLAN配置示例
zte(config)#vlancreateblueipid2
zte(config)#vlancreategreenipid3
zte(config)#vlanaddportset.1.(1-4)toblue
zte(config)#vlanaddportset.1.(5-8)togreen
输出说明
ZTE#vlanshownameblue
VIDVLANNameUsedforPorts
-------------------------
2blueIPet.1.(1-4)
ZTE#vlanshownamegreen
VIDVLANNameUsedforPorts
-------------------------
3greenIPet.1.(5-8)
3.2VLAN跨越C系列路由器和Cisco2924配置示例
本例如图示:
ZXR10-T16CCisco2924XL
trunk
et.1.1et.1.16fa0/16fa0/1
vlanbluevlanblue
zte(config)#vlanmaketrunk-portet.1.16
zte(config)#vlancreateblueid2
zte(config)#vlancreategreenid3
zte(config)#vlanaddportset.1.(1-4)toblue
zte(config)#vlanaddportset.1.(5-8)togreen
zte(config)#vlanaddportset.1.16toblue
zte(config)#vlanaddportset.1.16togreen
2924#interfaceFastEthernet0/1
2924#switchportaccessvlan2
!
2924#interfaceFastEthernet0/16
2924#switchporttrunkencapsulationdot1q
2924#switchportmodetrunk
!
输出说明:
2924#showvlanid2
VLANNameStatusPorts
----------------------------------------------------------------------------
2VLAN0002activeFa0/1,Fa0/2,Fa0/3,Fa0/4
VLANTypeSAIDMTUParentRingNoBridgeNoStpBrdgModeTrans1Trans2
--------------------------------------------------------------------
2enet1000021500-----00
另外需要注意地是作为trunkport的端口的状态,输出如下:
2924#shintf0/16switchport
Name:
Fa0/16
Switchport:
Enabled
Administrativemode:
trunk
OperationalMode:
trunk
AdministrativeTrunkingEncapsulation:
dot1q
OperationalTrunkingEncapsulation:
dot1q
NegotiationofTrunking:
Disabled
AccessModeVLAN:
0((Inactive))
TrunkingNativeModeVLAN:
1(default)
TrunkingVLANsEnabled:
ALL
TrunkingVLANsActive:
1-3,10,20,23
PruningVLANsEnabled:
2-1001
Priorityforuntaggedframes:
0
………
注意蓝色字的内容。
此端口的工作模式为trunk模式,封装类型为IEEE802.1Q。
Cisco交换机Trunk端口的默认封装格式为ISL,本例和ZXR10-T16C对接,需要将默认封装改为802.1q封装。
再看一下作为accessport的端口fa0/1的输出:
2924#shintf0/1switchport
Name:
Fa0/1
Switchport:
Enabled
Administrativemode:
staticaccess
OperationalMode:
staticaccess
AdministrativeTrunkingEncapsulation:
isl
OperationalTrunkingEncapsulation:
isl
NegotiationofTrunking:
Disabled
AccessModeVLAN:
2(VLAN0002)
TrunkingNativeModeVLAN:
1(default)
TrunkingVLANsEnabled:
NONE
PruningVLANsEnabled:
NONE
Priorityforuntaggedframes:
0
Overridevlantagpriority:
FALSE
VoiceVLAN:
none
Appliancetrust:
none
同样注意蓝体字输出,这里fa0/1的工作模式为accessport。
提请注意,正因为fa0/1de工作模式为accessport,所以trunk封装格式,在这里没有意义。
另外,有一点需要强调的是,跨越交换机的VLAN的ID号,在两个交换机上必须配置相同。
3.3SmartTrunk配置示例
●ZXR10-TxxC设备间SmartTrunk互联
●ZXR10-TxxC交换路由器和Cisco2924XL端口绑定示例
以ZXR10-T16C为例
trunk
et.1.(1-2)fa0/1-2
配置如下:
2924(config)#intf0/1
2924(config-if)#portgroup1
2924(config-if)#exit
2924(config)#intf0/2
2924(config-if)#portgroup2
2924(config)#……..
zte(config)#smarttrunkcreatest.1protocolno-protocol
zte(config)#smarttrunkaddportset.1.(1-2)tost.1
!
h
此时smarttrunk的协议类型选为no-protocol是因为对接设备不支持hunt-group。
而且选用no-protocol的另外一个好处是可以节省用于协议协商的网络带宽。
输出说明:
ZTE#smarttrunkshowprotocol-stateall-smarttrunks
SmartTRUNKProtocolStatePortPortState
-------------------------------------
st.1NoneUpet.1.1Forwarding
et.1.2Forwarding
此时协议状态为up,并且所有的端口都处于转发状态。
ZTE#smarttrunkshowdistributionall-smarttrunks
SmartTRUNKMember%LinkUtilizationLinkStatusGrpStatus
-----------------------------------------------------------
st.1et.1.10.00ForwardingUp
st.1et.1.20.00ForwardingUp
以上输出命令可显示各个smarttrunk成员的端口利用率。
再来看一下Cisco2924XL上的输出:
2924#showspanning-treeintf0/1
InterfaceFa0/1(port1)inSpanningtree1isFORWARDING
Portpathcost12,Portpriority128
Designatedroothaspriority32768,address0003.6b6b.40c0
Designatedbridgehaspriority32768,address0003.6b6b.40c0
Designatedportis1,pathcost0
Timers:
messageage0,forwarddelay0,hold0
BPDU:
sent443,received0
2924#showspanintfa0/2
InterfaceFa0/2(port2)inSpanningtree1isFORWARDING
Portpathcost19,Portpriority128
Designatedroothaspriority32768,address0003.6b6b.40c0
Designatedbridgehaspriority32768,address0003.6b6b.40c0
Designatedportis2,pathcost0
Timers:
messageage0,forwarddelay0,hold0
BPDU:
sent82,received0
可以看到,此时fastetherchannel的成员端口都处于转发状态。
第4章工程实例
山东寿光电信城域网:
教委
洛城
牛头
东埠
孙集
纪台
稻田
卧铺
田柳
上口
广菱
道口
马店
古城
大洼
五台
留吕
现代中学
Et.1.1
Et.1.1
Gi.4.1
St.1
东局
Gi.4.1
西局
Gi.4.2
Gi.4.1
东2环
Gi.4.2
Gi.4.1
Et.1.1
学校用户VLAN1
为说明方便,原图进行了简化。
我们以东2环为例说明一下。
本工程中,各个环中分别有一些VLAN跨越了整个环到达位于教委的交换路由器ZXR10T-16C(红体字标识)。
应用户要求每个乡镇的学校用户要能够和教委在2层互通。
假设广菱学校用户所在VLAN1,由图可知,广菱学校用户可通过留吕-东局-西局到达教委,也可通过上口-洛城-西局到教委。
为实现在2层的冗余备份,我们在两个方向上都做了配置。
以留吕方向为例说明。
我们需要在广菱、留吕、东局、西局、教委的每个路由器上配置VLAN1,同时将在环上的千兆端口设为trunkport,并将trunk端口加入到需要承载的VLAN中。
如下配置信息只与2层有关
广菱配置:
Guangling(config)#vlancreateglport-basedid1
Guangling(config)#vlanaddports