青蛙不是癞蛤蟆

CCNA Chpater 7

Chapter7 Layer 2 Switching
Switching Services
路由协议有在阻止3层 的循环的过程.但是假如在你的switches 间有冗余的物理连接,路由协议并不能阻止2层 循环的发生,这就必须依靠生成树协议(Spanning Tree Protocol,STP)不像bridges 使用软件来创建和管理MAC 地址过滤表,switches 使用ASICs 来创建和管理MAC 地址表,可以把switches 想象成多端口的bridges2层 的switches 和bridges 快于3层 的router 因为它们不花费额外的时间字查看3层 包头信息,相反,它们查看帧的硬件地址然后决定是转发还是丢弃.每个端口为1 个冲突域,所有的端口仍然处于1 个大的广播域里
2层 交换提供:
1.基于硬件的桥接(ASIC)
2.线速(wire speed)
3.低延时(latency)
4.低耗费

Bridging vs. LAN Switching
桥接和2层 交换的一些区别和相似的地方:
1.bridges 基于软件,switches 基于硬件
2.switches 和看作多端口的bridges
3.bridges 在每个bridge 上只有1 个生成树实例,而switches 可以有很多实例
4.switches 的端口远多于bridges
5.两者均转发2层 广播
6.两者均通过检查收到的帧的源MAC 地址来学习
7.两者均根据2层 地址来做转发决定

Three Switch Function at Layer 2
2层交换的一些功能:
1.地址学习(address learning):通过查看帧的源MAC地址来加进1个叫做转发/过滤表的MAC地址数据库里
2.转发/过滤决定(forward/filter decisions):当1个接口收到1个帧的时候,switch 在MAC 地址数据库里查看目标MAC 地址和出口接口,然后转发到符合条件的那个目标端口去
3.循环避免(loop avoidance):假如有冗余的连接,可能会造成循环的产生,STP 就用来破坏这些循环
Spanning Tree Protocol(STP)
Digital Equipment Coporation(DEC)创建了原始的STP,之后IEEE 创建了自己的STP 叫做802.1D 版本的STP.和之前的DEC 的STP 不兼容.STP 的主要任务是防止层2 的循环,STP 使用生成树算法(spanning-tree algorithm,STA)来创建个拓扑数据库,然后查找出冗余连接并破坏它

Spanning Tree Terms
我们来看些关于STP 的术语:
1.STP:bridges 之间交换BPDU 信息来检测循环,并通过关闭接口的方式来破坏循环
2.根桥(root bridge):拥有最好的bridge ID 即为根桥,网络中的一些诸如哪些端口被堵塞(block)
哪些端口作为转发模式的决定都由根桥来决定
3.BPDU:Bridge Protocol Data Unit,所有的switches 通过交换这些信息来选择根switch
4.bridge ID:用于STP 跟踪网络中的所有switches,这个ID 由bridge 优先级(priority)和MAC地址符合而成,优先级默认为32768,ID 最低的即为根桥
4.非根桥(nonroot bridge):不是根桥的全为非根桥,非根桥交换BPDUs 来更新STP 拓扑数据库
5.根端口(root port):与根桥直接相连的端口,或者是到根桥最短的接口.如果到根桥的连接不止1 条,将比较每条连接的带宽,耗费(cost)低的作为根端口;如果耗费相同就比较bridge ID,ID低的将被选用
6.指定端口(designated port):耗费低的端口,作为转发端口
7.端口耗费(port cost):带宽来决定
8.非指定端口(nondesignated port):耗费较高,为堵塞模式(blocking mode),即不转发帧
9.转发端口(forwarding port):转发端口用来转发帧
10.堵塞端口(blocked port):不转发帧,用来防止循环的产生,虽然不转发,但是它可以监听(listen)帧
Spanning Tree Operations
之前说过:STP 的任务就是查找出网络中的所有连接,并关闭些会造成循环的冗余连接.STP 首先选举1 个根桥,用来对网络中的拓扑结构做决定.当所有的switches 认同了选举出来的根桥后,所有的bridge 开始查找根端口.假如在switches 之间有许多连接,只能有1 个端口作为指定端口
Selecting the Root Bridge
bridge ID 用来在STP 域里选举根桥和决定根端口,这个ID 是8 字节长,包含优先级和设备的MAC地址,IEEE 版本的STP 的默认优先级是32768.决定谁是根桥,假如优先级一样,那就比较MAC 地址,MAC 地址小的作为根桥
Switch#sh spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID      Priority     32768
Address    0009.7ccf.a880
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Switch(config)#spanning-tree vlan 1 priority ?
<0-61440> bridge priority in increments of 4096
Switch(config)#spanning-tree vlan 1 priority 4096
现在改变了VLAN1种交换机的优先级,迫使这台交换机成为根交换机
Switch#sh spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root      ID    Priority 4096
Address  0009.7ccf.a880
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Selecting the Designated Port
假如不止1 个连接到根桥,那就开始比较端口耗费,耗费低的作为根端口,下面是一些典型的耗费标准:
1.10Gbps:2
2.1Gbps:4
3.100Mbps:19
4.10Mbps:100
Spanning-Tree Port States
运行STP 的bridges 和switches 的5 种状态:
1.堵塞(blocking):不转发帧,只监听BPDUs,主要目的是防止循环的产生.默认情况下,当switch启动时所有端口均为blocking 状态
2.监听(listening):端口监听BPDUs,来决定在传送数据帧之前没有循环会发生
3.学习(learning):监听BPDUs 和学习所有路径,学习MAC 地址表,不转发帧
4.转发(forwarding):转发和接收数据帧
5.禁用(disabled):不参与帧的转发和STP,一般在这个状态的都是不可操作的一般来说,端口只处于转发和堵塞状态,如果网络拓扑发生了变化,端口会进入监听和学习状态,这些状态是临时的

Convergence
汇聚,也叫收敛(convergence):当所有端口移动到非转发或堵塞状态时,开始收敛,在收敛完成前,没有数据将被传送.收敛保证了所有的设备拥有相同的数据库达到一致.一般来说从堵塞状态进入到转发状态需要50 秒
Spanning Tree Example
1个STP的例子,拓扑图给出了已知的MAC 地址,并且所有优先级均为32768:


注意A 的MAC 地址最小,优先级均为32768,所以A 作为根桥,并且要注意的是根桥的所有端口均作为转发模式(指定端口).接下来决定根端口,直接与根桥相连的作为根端口,而且作为转发模式,所以可以判定出根端口个指定端口,bridge ID 决定指定和非指定端口.但是注意D和E之间,由于D 的bridge ID 小,所以D 的为指定端口,E 的作为非指定端口,


LAN Switch Types
LAN 的交换类型决定了当switch 的端口接收到1 个帧的时候如何去处理
延时(latency):指数据包进入一个网络设备到离开该设备的出口接口所花的时间,这个根据不同的交换模式也不一样
3 种交换模式:
1.cut-through(fastforward):Cisco 称这种模式叫cut-through,fastforward 或者real time 模式,使用这种模式的时候,LAN switch 只读取到帧的目标地址为止,减少延时,但是不适合与高偏向错误率的网络
2.fragmentfree(modified cut-through):和cut-through 类似,但是LAN switch 读取到数据(data)部分的前64 字节,这个是Catalyst 1900 的默认模式
3.store-and-forward:在这个模式下,LAN switch 复制整个帧到它的缓冲区里,然后计算CRC,也帧的长短可能不一样,所以延时根据帧的长短而变化.如果CRC 不正确,帧将被丢弃;如果正确,LAN switch 查找硬件目标地址然后转发它们
3 种模式对帧的读取程度具体如下:


Configuring the Catalyst 1900 and 2950 Switches
1900 是款低端switch 产品,分为1912 和1924 系列:1912 是有12 个10BaseT 端口而1924是有24个10BaseT 端口.2950系列也有2924和2950,不过所有端口变成了FastEthernet。
1900 and 2950 Switch Startup
当1900 启动后,先运行POST,此时每个端口的发光二级管(LEDs)是绿色的,当POST 完成后,LEDs 开始闪烁然后熄灭;假如POST 发现某个端口出问题了的话,系统LED 和那个出问题的端口的LED 开始变黄.假如你的console 线缆接好了的话,POST 开始显示菜单,如下:
1 user(s) now active on Management Console.
User Interface Menu
[M] Menus
[K] Command Line
[I] IP Configuration
Enter Selection:K
CLI session with the switch is open
To end the CLI session, enter [Exit].
>
而2950 的启动,有点像router,先进入setup 模式.但是默认你可以不对其进行配置,启动如下:
--- System Configuration Dialog ---
Would you like to enter the initial configuration dialog? [yes/no]: no
Press RETURN to get started!
00:04:53: %LINK-5-CHANGED: Interface Vlan1, changed state to administratively down
00:04:54: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to down
Switch>


Setting the Passwords
1.登陆密码(用户模式):防止未授权用户登陆
2.启用密码(特权模式):防止未授权用户修改配置
Setting the User Mode and Enable Mode Passwords
1900 下,输入K 进入CLI,输入enable 进入特权模式,再输入config t 进入全局配置模式,如下:
>en
#config t
(config)#
当进入全局配置模式后,使用enable password 命令配置登陆密码个启用密码,如下:
(config)#enable password ?
level Set exec level password
(config)#enable password level ?
<1-15> Level Number
level1 为登陆密码,level15 为启用密码,密码长度范围是4 到8 字符之间,如下:
(config)#enable password level 1 kalaluvsKAKA
Error: Invalid password length.
Password must be between 4 and 8 characters
重配置并验证:
(config)#enable password level 1 kala
(config)#enable password level 15 KAKA
(config)#exit
#exit
2950 下的配置和配置router 有点类似,如下:
Switch>en
Switch#conf t
Switch(config)#line ?
<0-16> First Line number
console Primary terminal line
vty Virtual terminal
Switch(config)#line vty ?
<0-15> First Line number
Switch(config)#line vty 0 15
Switch(config-line)#login
Switch(config-line)#password KAKA
Switch(config-line)#line con 0
Switch(config-line)#login
Switch(config-line)#password kala
Switch(config-line)#exit
Switch(config)#exit
Switch#

Set the Enable Secret Password
enable secret 比enable password 更安全,而且同时设置了2 者的话,只有前者起作用1900 下的配置,注意在1900 下,enable secret 和enable password 可以设置成一样的,如下:
(config)#enable secret KAKA

2950 下的配置和router 类似,但是enable secret 和enable passwor 不可以设置成一样的,如下:
Switch(config)#enable password KAKA
Switch(config)#enable secret KAKA
The enable secret you have chosen is the same as your enable password.
This is not recommended. Re-enter the enable secret.
Switch(config)#enable secret kala
Switch(config)#
Setting the Hostname
给1900 配置主机名,使用hostname 命令,如下:
(config)#hostname KAKA
KAKA(config)#
给2950 配置主机名,使用hostname 命令,如下:
Switch(config)#hostname Kala
Kala(config)#

Setting IP Information

你可以不配置IP 信息,直接把线缆插进端口,一样可以工作.配置IP 地址信息有2 点原因:
1.通过telnet 或其他软件方式来管理switch
2.配置VLANs 和其他等网络功能
默认下,没有IP 地址和默认网关信息配置,在1900 下,使用show ip 命令查看默认IP 配置,如下:
1900#sh ip
IP Address: 0.0.0.0
Subnet Mask: 0.0.0.0
Default Gateway: 0.0.0.0
Management VLAN: 1
Domain name:
Name server 1: 0.0.0.0
Name server 2: 0.0.0.0
HTTP server: Enable
HTTP port: 80
RIP: Enable
在1900 下使用ip address 和ip default-gateway 命令来配置IP 地址信息和默认网关信息,如下:
1900(config)#ip address 172.16.10.16 255.255.255.0
1900(config)#ip default-gateway 172.16.10.1
1900(config)#

2950 下的配置是在VLAN1 接口下配置,VLAN1 是管理VLAN,默认所有接口均是VLAN1 的成员,配置如下:
2950(config)#int vlan1
2950(config-if)#ip address 172.16.10.17 255.255.255.0
2950(config-if)#no shut
2950(config-if)#exit
2950(config)#ip default-gateway 172.16.10.1
2950(config)#
注意2950的IP地址配置是在VLAN1 接口下,另外要注意打开接口

Configuring Interface Description
配置描述信息,在接口配置模式下使用description 命令,1900 下的描述信息不能使用空格键,如下:
1900(config)#int e0/1
1900(config-if)#description Cisco_VLAN
1900(config-if)#int f0/26
1900(config-if)#description lala
1900(config-if)#
2950 下的描述就可以使用空格键,如下:
2950(config)#int fa 0/1
2950(config-if)#description kaka
2950(config-if)#^Z
可以使用show interface 和show running-config 命令来查看这些描述信息
Erasing the Switch Configuration
1900 和2950 的配置文件是存储在NVRAM 里的,但是1900 里你不能查看NVRAM 或startup-config 的内容,只能查看running-config 的内容,在1900 里,你对配置所进行的修改自动被复制到NVRAM 里,所以没有copy run start 这样的命令;但是2950 就有startup-config 和running-config,使用copy run start 来保存配置到NVRAM 里,擦除2950 里startup-config 文件
使用erase startup-config 命令;擦除1900 里的使用delete 命令.如下:
1900#delete ?
nvram NVRAM configuration
vtp Reset VTP configuration to defaults
1900#delete nvram
2950 如下:
2950#erase startup-config

posted on 2006-08-17 09:32 学习资料库 阅读(711) 评论(0)  编辑 收藏 引用 网摘 所属分类: Lan Switch


只有注册用户登录后才能发表评论。
网站导航: