一、什么是交換機
交換機是工作在數(shù)據(jù)鏈路層
(1)LLC(邏輯鏈路控制):用數(shù)值來指定數(shù)據(jù)幀中包的類型
(2)物理地址(MAC地址):
在以太網(wǎng)中以48位,6bit表示,如:HH:HH:HH:HH:HH:HH,前三位為廠商代碼,后三位為主機代碼;
每塊網(wǎng)卡的物理地址都是唯一的;
物理地址和ip地址通過arp協(xié)同工作的;
ff:ff:ff:ff:ff:ff 廣播地址發(fā)給所有的主機,目的地址是全:ff的幀叫廣播幀;
(3)封裝幀
幀的四種類型:
IE802.2幀:沒有LLC字段,只能用在單一的一個協(xié)議上
以太2幀:在以太幀上加了一個類型字段,用來支持多路復用(在現(xiàn)在的ip網(wǎng)絡中用得比較多)
SAP(服務訪問點幀):真正實現(xiàn)了LLC,OSI推薦的標準貞,但是用得比較少
SNAP:將ASP模擬成以太幀
Ethernet II幀格式:
----------------------------------------------------------------------------------------------
| 前序 | 目的地址 | 源地址 | 類型 | 數(shù)據(jù) | FCS |
----------------------------------------------------------------------------------------------
| 8 byte | 6 byte | 6 byte | 2 byte | 46~1500 byte | 4 byte|
IEEE802.3一般幀格式
--------------------------------------------------------------------------------------------------------------
| 前序 | 幀起始定界符 | 目的地址 | 源地址 | 長度 | 數(shù)據(jù) | FCS |
------------------------------------------------------------------------------------------------------------
| 7 byte | 1 byte | 2/6 byte | 2/6 byte | 2 byte | 46~1500 byte | 4 byte |
類型字段
兩字節(jié)的類型字段僅用于Ethernet II幀。該字段用于標識數(shù)據(jù)字段中包含的高層協(xié)議,也就是說,該字段告訴接收設備如何解釋數(shù)據(jù)字段。在以太網(wǎng)中,多種協(xié)議可以在局域網(wǎng)中同時共存,例如:類型字段取值為十六進制0800的幀將被識別為IP協(xié)議幀,而類型字段取值為十六進制8137的幀將被識別為IPX和SPX傳輸協(xié)議幀。因此,在Ethernet II的類型字段中設置相應的十六進制值提供了在局域網(wǎng)中支持多協(xié)議傳輸?shù)臋C制。
在IEEE802.3標準中類型字段被替換為長度字段,因而Ethernet II幀和IEEE802.3幀之間不能兼容。
http://hi.baidu.com/hkjj66/blog/item/5c24edef926b5a17fcfa3c30.html
(4)MAC(介質訪問控制)
爭用型:CSMA/CD(以太網(wǎng):介質訪問控制CSMA/CD的網(wǎng)絡)
共享型:令牌環(huán)(無沖突效率高,算法復雜成本高)
二、以太網(wǎng)
(1)隨著用戶的增加會有廣泛的沖突
(2)總線結構,傳輸受限
HUB:工作在物理層,簡單的光電轉發(fā)設備,不能對幀進行邏輯的處理,物理的星型結構,邏輯的總線結構。HUB只能解決單點故障,不能提高網(wǎng)絡速度。
沖突域越大,效率越低,所以要分割沖突域。
交換機的每一個接口就是一個沖突域,獨立運行CSMA/CD算法
交換機要互聯(lián)沖突域,使用橋接算法
三、橋接算法
(1)學習,構建MAC地址表(端口和MAC地址表的關系)
(2)轉發(fā)
(3)過濾,并發(fā)通訊,(只向需要的接口發(fā)數(shù)據(jù))
(4)廣播(兩種幀),MAC表中沒有的,則從所有接口中發(fā)出去
=〉最終實現(xiàn)互聯(lián)沖突域
交換機的所有接口構成一個廣播域
四、VLAN
VLAN是用來劃分廣播域
一個VLAN在一個廣播域中,可以跨越多個交換機
VLAN 跨越交換機的實現(xiàn):
(1)trunk:用一個接口載多個vlan數(shù)據(jù)
使用tag技術來個vlan打標,用VLAN-ID:
ISL(CISCO私有)會增加幀的長度
dot1q(國際標準)
DTP(動態(tài)TRUNK協(xié)議)缺省的是ISL封裝
(2)vtp(CISCO私有)自動配置vlan
用來在一個域中用來自動生成管理和修改vlan
在server中生成通過廣播發(fā)出去
vtp的廣播僅從trunk線路上發(fā)出去
在一個網(wǎng)絡中可以有多個vtp server
一個接口有兩種模式:trunk、access
當接口屬于一個vlan時,它的模式為access
*路由器的每一個接口是一個獨立的廣播域,在接口之間不轉發(fā)廣播
▲一個vlan = 一組接口 = 一個廣播域 = 一個子網(wǎng)
(3)stp
把物理的環(huán)狀結構做成邏輯的樹狀結構
物理的環(huán)的產(chǎn)生是因為要有冗余
BPDU:stp用來計算信息的一個幀
<1>bridge_id :優(yōu)先級+MAC地址,用來計算根。root-id
<2>path_coast:路徑成本,用來計算最短路徑的。
<3>sender_id:優(yōu)先級+MAC地址
<4>point_id
<1>選根:選出bridge_id最低的做根
<2>根接口:每個交換機離根最近的接口為根接口
<3>指定接口:為每個段選一個指定接口,指一個段離根最最近的接口
stp下的四種接口狀態(tài)
<1>blocking:可以接收BPDU,但是不轉發(fā)用戶數(shù)據(jù)
15秒
<2>listening:監(jiān)聽
15秒
<3>learning:學習構造MAC表
20秒
<4>forwarding:轉發(fā)
生成樹CISCO專用技術,用來縮短計算時間
PVST:沒vlan生成樹,每個vlan有自己獨立的生成樹計算
MST:分組生成樹
(4)端口匯聚:把兩個物理接口變成一個邏輯接口,關掉生成樹。
(5)HSRP:冗余網(wǎng)關,虛擬路由器的MAC就是active路由器的MAC地址
五、交換機的配置
(1)EtherChannel
3550(config)# interface gigabitethernet 0/1
3550(config-if)# switchport
3550(config-if)# channel-group 1 mode desirable
3550(config-if)# exit
3550(config)# interface gigabitethernet 0/2
3550(config-if)# switchport
3550(config-if)# channel-group 1 mode desirable
3550(config-if)# interface port-channel 1
3550(config-if)# switchport mode trunk
(2)Trunk
switch(config)# interface {fastethernet|gigabitethernet} solt/port
switch(config-if)# switchport trunk encapsulation {isl | dot1q | negotiate}
switch(config-if)# switchport mode {dynamic {auto | desirable} | trunk}
switch(config-if)# switchport trunk native vlan vlan-id
switch(config-if)# switchport trunk allowed vlan {add | except | all | remove } vlan-id [,vlan-id[,vland-id[,...]]]
配置驗證:
show running-config inter-face type slot/port //顯示接口運行的配置
show interface [ type slot/port ] switchport //顯示接口的交換機端口配置
show interface [ type slot/port ] trunk //顯示接口的干道配置
配置實例:
配置端口支持ISL鏈路聚集
conf t
int fast 5/8
switchport
switchport trunk encapsulation isl
switchport mode trunk
end
配置端口為desirable支持802.1Q,并只允許vlan 1~100出現(xiàn)在干道中
conf t
int fast 5/8
switchport trunk encapsulation dot1q
switchport mode dynamic desirable
switchport trunk allowed vlan 1-100
no shut
end
(3)VTP
switch# conf igure terminal
switch(conf ig)# vtp server | client | transparent
switch(config)# vtp domain domain_name
switch(conf ig)# vtp version 2
switch(config)# vtp password password_string
//口令大小寫敏感,并且長度是8-64字符,采用VTP人證是一種推薦做法
switch(config)# vtp pruning
switch(config)# exit
(4)VLAN
創(chuàng)建vlan:
switch# configure terminal
switch(config)# vlan vlan-id
switch(config)# name vlan-name
刪除特定的vlan:
switch# configure terminal
switch(config)# no vlan vlan-id
switch(config)# end
(5)interface to vlan
switch# configure terminal
switch(config)# interface fastethernat 5/6
switch(config-if)# switchport mode access
switch(config-if)# switchport access vlan 200
switch(config-if)# no shutdown
switch(config-if)# end
(6)HSRP
定義HSRP組
standby group-number ip virtual-ip -address
配置HSRP組
switch#show running-confing
!
interface vlan10
ip address 172.16.10.82 255.255.255.0
no ip redirects
standby 47 ip 172.16.10.110
!
路由器HSRP優(yōu)先級配置實例
switch#show running-confing
!
interface vlan10
ip address 172.16.10.82 255.255.255.0
no ip redirects
standby 47 priority 150
standby 47 ip 172.16.10.110
!
配置HSRP搶占
switch#show running-confing
!
interface vlan10
ip address 172.16.10.82 255.255.255.0
no ip redirects
standby 47 priority 150
standby 47 preempt
standby 47 ip 172.16.10.110
!
(7)STP
配置PVST+的基本參數(shù)
在交換機上啟用STP
switch# configure terminal
switch(config)# spanning-tree vlan 100
switch(config)# end
設置網(wǎng)橋優(yōu)先級
switch# configure terminal
switch(conifg)# spanning-tree vlan 100 priority 4096
switch(config)# end
//優(yōu)先級的默認設置:根網(wǎng)橋4096,輔助根8192,默認值32786
配置生成樹端口開銷或vlan端口開銷
spanning-tree cost port_cost
spanning-tree vlan vlan-id cost port-cost
啟用交換機宏命令
spanning-tree vlan vlan-id root primary
spanning-tree vlan vlan-id root secondary
配置MST的基本參數(shù)
spanning-tree mst configuration
name name
revision revision_number
instance instance_number vlan vlan_range
配置MST實例,將VLAN映射到實例的輸出結果
switch# configure terminal
switch(config)# spanning-tree mode mst
switch(config)# spanning-tree mst configuration
switch(config-mst)# show current
……
switch(config-mst)# name cisco
switch(config-mst)# revision 1
switch(config-mst)# instance 1 vlan 1-10
switch(config-mst)# show pending
……
switch(config-mst)# end