2015 m. balandžio 27 d., pirmadienis

Komutatoriaus veikimo principas



Ethernet komutatorius dirba antrame OSI modelio lygmenyje.  Komutatoriaus atliekamos funkcijos sutampa su Ethernet tilto atliekamomis funkcijomis:

•Ethernet komutatorius išsiaiškina įrenginių, prijungtų prie jo sąsajų, MAC (Media Access Control) adresus. Įrenginių MAC adreso ir komutatoriaus prievado, prie kurio yra prijungtas įrenginys, pora talpinama į MAC adresų lentelę.
•Kai komutatorius priima Ethernet kadrą, patalpina jį į atminties buferį. Po to kadrą išanalizuoja, nustato gavėjo ir siuntėjo MAC adresus, patikrina informaciją savo MAC adresų lentelėje. Nustato prie kurios sąsajos yra prijungtas įrenginys, kurio MAC adresas nurodytas kadro gavėjo (destination) lauke. Sužinojęs sąsajos numerį, per tą sąsają išsiunčia kadrą.
•Tinklo patikimumui padidinti naudojamas tinklo įrenginių ir jungiamųjų linijų dubliavimas. Todėl Ethernet tinkle susidaro kilpos. Apsisaugoti nuo nenaudingo daugkartinio kadro kopijų siuntinėjimo, naudojamas Dengiančio medžio (Spanning Tree) protokolas.
Ethernet komutatorius tinklą suskirsto į atskirus kolizijų domenus.

2.2. Kaip komutatorius sužino tinklo įrenginio buvimo vietą?
Ethernet komutatorius išsiaiškina prie jo sąsajų prijungtų įrenginių MAC adresus tuo pačiu būdu, kaip ir Ethernet tiltas. Komutatorius informaciją apie prie jo sąsajų prijungtų įrenginių MAC adresus talpina į MAC adresų lentelę.
•Įjungus komutatorių jo MAC adresų lentelė būna tuščia.
•Kai MAC adresų lentelė yra tuščia, komutatorius negali atlikti per jį persiunčiamų kadrų filtravimo. Komutatorius privalo išsiųsti gautą kadrą per visas aktyvias savo sąsajas, išskyrus sąsają, per kurią kadras buvo priimtas. Toks kadrų perdavimo būdas vadinamas užliejimu (flooding).
•Užliejimas (flooding) yra blogiausias kadrų perdavimo būdas per komutatorių, nes jis labai mažina bendrą pralaidumą.
Komutatorius turi buferinę atmintį, kuri leidžia nepriklausomai kiekvienoje komutatoriaus sąsajoje priimti ir persiųsti kadrus.


 1 pav. MAC adresų lentelės užpildymas 1 etapas

2 pav. pateiktame pavyzdyje, A kompiuteris, kurio MAC adresas 0260.8c01.1111 siunčia kadrą C kompiuteriui, kurio MAC adresas 0260.8c01.2222 . Kai komutatorius priima šį kadrą, jis atlieka sekančius veiksmus:
•Priimtas kadras laikinai patalpinamas į atminties buferį.
•Komutatorius, išanalizavęs kadrą, nustato siuntėjo ir gavėjo MAC adresus.
•Komutatorius žinodamas, kad kadras atėjo per E0 sąsają ir nustatęs kadre šaltinio MAC adresą, padaro įrašą savo MAC adresų lentelėje nurodydamas, kad prie E0 sąsajos yra prisijungęs įrenginys, kurio MAC adresas yra 0260.8c01.1111.
•Kol komutatorius nežino, prie kurio prievado prijungtas įrenginys, kurio MAC adresas nurodytas kadro gavėjo adreso lauke, komutatorius išsiunčia priimtą kadrą per visus savo aktyvius prievadus (kadras perduodamas užliejimo būdu).
Jei per nurodytą laiką įrašas MAC adresų lentelėje nėra atnaujinamas, jis yra panaikinamas.


2 pav. MAC adresų lentelės užpildymas 2 etapas
Komutatorius, analizuodamas priimamus kadrus, toliau nustatinėja prie jo sąsajų prijungtų įrenginių MAC adresus.
3 pav. pateiktame pavyzdyje, D kompiuteris su MAC adresu 0260.8c01.4444 siunčia kadrą C kompiuteriui, kurio MAC adresas 0260.8c01.2222 . Kai komutatorius priima šį kadrą, jis atlieka sekančius veiksmus:
•Priimtas kadras laikinai patalpinamas į atminties buferį.
•Komutatorius, išanalizavęs kadrą, nustato siuntėjo ir gavėjo MAC adresus.
•Komutatorius žinodamas, kad kadras atėjo per E3 sąsają ir nustatęs kadre šaltinio MAC adresą, padaro įrašą savo MAC adresų lentelėje nurodydamas, kad prie E3 sąsajos yra prisijungęs įrenginys, kurio MAC adresas yra 0260.8c01.4444.
•Komutatorius sulygina gavėjo MAC adresą, nurodytą kadre su savo MAC adresų lentele. Komutatorius, neradęs MAC adresų lentelėje tokio MAC adreso, persiunčia kadrą C kompiuteriui užliejimo būdu.


3 pav. MAC adresų lentelės užpildymas 3 etapas
Kai komutatorius priima kadrą, kuriame nurodytas gavėjo adresas yra žinomas komutatoriui, komutatorius kadrą išsiunčia tik per sąsają, nurodytą MAC adresų lentelėje.
4 pav. pateiktame pavyzdyje, A kompiuteris su MAC adresu 0260.8c01.1111 siunčia kadrą C kompiuteriui, kurio MAC adresas 0260.8c01.2222 . Informacija apie gavėjo (C kompiuterio) MAC adresą jau yra MAC adresų lentelėje. Komutatorius išsiunčia kadrą tik per E2 sąsają.


4 pav. MAC adresų lentelės užpildymas 4 etapas
1.1 MAC adresų lentelės valdymas Cisco Catalyst 1912 komutatoriuje
Kadrų komutavimui komutatorius naudoja MAC adresų lentelę. MAC adresų lentelėje nurodomi dinaminiai (dynamic), pastovūs (permanent), riboti statiniai (restricted static) įrašai apie prie komutatoriaus sąsajų prijungtų įrenginių MAC adresus. Dinaminiai (dynamic) įrašai yra įrašai, kuriuos padaro pats komutatorius analizuodamas persiunčiamus kadrus. Jei tam tikrą laiką dinaminis įrašas neatnaujinamas jis yra ištrinamas iš MAC adresų lentelės. Administratorius gali padaryti įrašą MAC adresų lentelėje, priskirdamas MAC adresą tam tikrai komutatoriaus sąsajai. Taip padaromas pastovus (permanent) įrašas MAC adresų lentelėje. Pastovus įrašas gali būti panaikinamas tik administratoriaus.Administratorius gali padaryti ribotą statinį (restricted static) įrašą MAC adresų lentelėje, turintį tam tikrus apribojimus. Formuojant ribotą statinį įrašą, nurodoma sąsaja, iš kurios leidžiama perduoti kadrus įrenginiui, kurio MAC adresas nurodytas ribotam statiniam įraše.
wg_sw_a#sh mac-address-table
Dynamic Address Count: 4
Secure Address Count: 0
Static Address (User-defined) Count: 0
System Self Address Count: 47
Total MAC addresses: 51
Maximum MAC addresses: 2048
Non-static Address Table:
Destination Address  Address Type  VLAN  Destination Port
-------------------  ------------  ----  --------------------
0001.422e.0e00       Dynamic          1  FastEthernet0/1
0001.422e.0e17       Dynamic          1  FastEthernet0/24
0001.422e.c340       Dynamic          1  FastEthernet0/1
0001.422e.c357       Dynamic          1  FastEthernet0/1



5 pav. show mac-address-table komandos išeiga
1.2 Pastovaus įrašo suformavimas MAC adresų lentelėje
Administratorius gali padaryti pastovų (permanent) įrašą MAC adresų lentelėje, priskirdamas MAC adresą tam tikrai komutatoriaus sąsajai. Tai padaroma suvedant komandą mac-address-table permanent globaliame konfigūravimo lygmenyje. Norint ištrinti pastovų (permanent) įrašą, naudojama komanda no mac-address-table permanent.Paveiksle pateiktame pavyzdyje komutatoriaus MAC adresų lentelė papildoma pastoviu (permanent) įrašu: “prie fastEthernet 0/3 sąsajos prijungtas įrenginys, kurio MAC adresas yra 2222.2222.2222. Visų tinklo įrenginių pasiųsti kadrai, kuriuose nurodytas gavėjo adresas 2222.2222.2222, bus sukomutuojami į fastEthernet 0/3 sąsają.



6 pav. Pastovaus įrašo suformavimas MAC adresų lentelėje
6 pav. pateiktame pavyzdyje FastEthernet 0/3 sąsajai priskirtas MAC adresas 2222.2222.2222.

2.3. VLAN apžvalga

Virtualus LAN tinklas VLAN – tai loginis tinklas, leidžiantis savo vartotojams naudotis bendru transliacijų (broadcast) domenu, neatsižvelgiant į fizinę vartotojų buvimo vietą. VLAN’ų naudojimas pagerina tinklo lankstumą (flexibility), saugumą (security), kontroliuojant transliacinių (broadcast) paketų sklidimą tinkle, kuriame naudojami komutatoriai.• VLAN yra loginis transliacijų (broadcast) domenas apimantis kelis fizinius LAN segmentus. Įrenginiai priskiriami vienam ar kitam VLAN tinklui pagal loginius, funkcinius kriterijus. Vieno VLAN tinklo transliaciniai kadrai negali patekti į kitą VLAN tinklą. Kiekviena komutatoriaus sąsaja gali būti priskirta tik vienam VLAN tinklui. Skaidrėje pateiktame pavyzdyje vienam pastate yra sukurti trys VLAN tinklai: pardavėjų, inžinierių ir administracijos.
 Vieno VLAN vartojai gali būti prijungti prie vieno arba kelių komutatorių.


7 pav. VLAN apžvalga
Catalyst komutatorius, kuriame yra sukonfigūruoti VLAN tinklai, riboja Ethernet kadrų persiuntimą. Catalyst komutatorius priėmęs ir išanalizavęs kadrą, jį išsiunčia tik per tam pačiam VLAN  priklausančias sąsajas. Du komutatoriai tarpusavyje apjungiami jungiamosiomis linijomis (trunks). Jungiamosios linijos (trunks) gali pernešti kelių VLAN tinklų kadrus.  


8 pav. Komutatoriai, kuriuose yra sukonfigūruoti VLAN tinklai
Komutatoriaus sąsajos vienam ar kitam VLAN gali būti priskiriamos statiškai arba dinamiškai:
• Statinį komutatoriaus sąsajos priskirimą VLAN tinklui atlieka administratorius.
• Cisco Catalyst komutatoriai palaiko dinaminį komutatoriaus sąsajų priskirimą VLAN tinklui. Dinaminis sąsajos priskyrimas atliekamas, pasinaudojant VMPS serveriu (VLAN Merbership Policy Server). VMPS serveriu gali būti Catalyst 5000 komutatorius arba atskiras serveris. VMPS serveryje yra duomenų bazė, kurioje talpinama informaciją, nurodanti kiekvienam VLAN tinklui priklausančių įrenginių MAC adresus. Komutatorius priėmęs ir išanalizavęs kadrą, kreipiasi VMPS serverį klausdamas, kokiam VLAN priklauso siuntėjo MAC adresas. VMPS serveris atsako į užklausą, atsiųsdamas pranešimą, kuriame nurodo kokiam VLAN tinklui priklauso siuntėjas.  Pagal iš VMPS serverio gautą informaciją komutatorius sukonfigūruoja savo sąsają, per kurią buvo priimtas kadras.



 9 pav. VLAN sąsajų tipai
2.4. ISL žymėjimas (tagging)
ISL (Inter-Switch Link) protokolas naudojamas Cisco Catalyst komutatoriuose, multipleksuojant VLAN tinklų kadrus į bendrą srautą ir perduodant juos jungiamosiomis linijomis (trunks). ISL - tai antro OSI lygmens protokolas, pridedantis prie kadro 26 baitų ISL antraštę ir 4 baitų CRC kontrolinę sumą. ISL yra nepriklausomas protokolas galintis pernešti aukštesnių lygmenų informaciją.• ISL protokolas naudojamas perduodant kadrus tarp komutatorių, tarp komutatoriaus ir maršrutizatoriaus, tarp komutatoriaus ir serverio, kuris turi ISL tinklo plokštę. ISL protokolas dirba tik taškas – taškas aplinkoje. Būtina, kad abu įrenginiai palaikytų ISL protokolą.



10 pav. ISL žymėjimas
2.5. ISL kadro formavimas
Komutatoriaus sąsajose, prie kurių prijungtos jungiamosios ISL linijos (trunk), prieš išsiunčiant prie Ethernet  kadrų pridedama 26 baitų ISL antraštė ir 4 baitų kontrolinė suma CRC.
ISL antraštės struktūra:
• DA – 48 bitų gavėjo adresas.
• Type – 4 bitų laukas, parodantis pernešamo kadro tipą: Ethernet (0000), Token Ring (0001), FDDI (0010) ir ATM (0011).
• User - 4 bitų laukas, parodantis kadro prioritetą. Galimos reikšmės nuo 0 – žemiausio prioriteto iki 3 – aukščiausio prioriteto.
• SA - 48 bitų laukas, parodantis komutatoriaus, kuris suformuoja kadrą, MAC adresą.
• LEN – 16 bitų kadro ilgio indikatorius, į kadro ilgį neįskaičiuojami DA, Type, User, LEN ir CRC laukai.
• AAAA03 – standartinė SNAP 802.2 LLC antraštė.
• HSA – pirmi trys SA baitai (gamintojo ID).
• VLAN ID – 15 bitų ilgio VLAN identifikavimo numeris. Naudojami tik 10 žemiausių bitų.
• BPDU – 1 bito ilgio laukas, pranešantis kad tai BPDU kadras.
• INDX – 16 bitų laukas identifikuojantis, sąsajos, per kurią perduodamas  kadras, numeris
• RES – rezervuotas 16 bitų laukas, skirtas papildomai informacijai.




11 pav. ISL kadro formavimas
2.6. VLAN konfigūravimas eiga
Kuriami VLAN tinklai
Sąsajos priskiriamos VLAN tinklams
Komutatoriai tarpusavyje apjungiami jungiamosiomis linijomis (trunks).Komutatoriaus sąsajas VLAN tinklams priskiria administratorius. Toks sąsajų priskyrimas VLAN tinklams vadinamas statiniu (static).
Aktyvuojamas jungiamosios linijos (trunking) kadrų perdavimas.
2.7. Naujo VLAN sukūrimas
switch#configure terminal
switch(config)#vlan ?
<1-1001>            ISL VLAN index

switch(config)#vlan 2 ?
name                Set VLAN name

switch(config)#vlan 2 name 2_VLANas
switch(config)#
Naujas VLAN sukuriamas komanda vlan number name name globaliame konfigūravimo lygmenyje.








 12. Naujo VLAN sukūrimas
2.8. VLAN nustatymų patikrinimas
Surinkus komandą show vlan privilegijuoto vartotojo lygmenyje, pateikiama informacija apie komutatoriuje sukonfigūruotus VLAN tinklus.











switch#show vlan

VLAN Name             Status     Ports
--------------------------------------
1    default          Enabled    1-11, AUI, A, B
2    2_VLANas         Enabled    12
1002 fddi-default     Suspended
1003 token-ring-defau Suspended
1004 fddinet-default  Suspended
1005 trnet-default    Suspended
--------------------------------------

VLAN Type           SAID   MTU    Parent RingNo BridgeNo Stp  Trans1 Trans2
---------------------------------------------------------------------------
1    Ethernet       100001 1500   0      0      0        Unkn 1002   1003
2    Ethernet       100002 1500   0      1      1        Unkn 0      0
1002 FDDI           101002 1500   0      0      0        Unkn 1      1003
1003 Token-Ring     101003 1500   1005   1      0        Unkn 1      1002
1004 FDDI-Net       101004 1500   0      0      1        IEEE 0      0
1005 Token-Ring-Net 101005 1500   0      0      1        IEEE 0      0
---------------------------------------------------------------------------



















13 pav. VLAN nustatymų patikrinimas
13 pav. pateiktame pavyzdyje yra aktyvuoti 1 ir 2 VLAN tinklai. VLAN 1 priskirtos sąsajos nuo Ethernet 0/1 iki Ethernet 0/11, FastEthernet 0/26 (A), FastEthernet 0/27 (B) ir AUI sąsaja. VLAN 2 priskirta sąsaja Ethernet 0/.
2.9. Sąsajos priskyrimas VLAN tinklui
Sukūrus VLAN tinklą, jam galima statiškai priskirti komutatoriaus sąsajas. Komutatoriaus sąsaja vienu metu gali priklausyti tik vienam VLAN tinklui.
Sąsajos priskyrimas VLAN tinklui atliekamas komanda  vlan-membership static vlan number sąsajos konfigūravimo lygmenyje.
Galimas dinaminis sąsajų priskyrimas VLAN tinklui, pasinaudojant VMPS serverio informacija.
Pagal nutylėjimą visos komutatoriaus sąsajos priklauso VLAN 1.

switch#configure terminal
switch(config)#interface ethernet 0/1
switch(config-if)#vlan-membership static 2




14 pav. Sąsajos priskyrimas VLAN tinklui
14 pav. pateiktame pavyzdyje Ethernet 0/1 sąsaja statiškai priskiriama VLAN 2.
Kokios sąsajos priklauso kokiam VLAN galima patikrinti surinkus komandą show vlan-membership privilegijuoto vartotojo lygmenyje.








switch#show vlan-membership
   Port  VLAN    Membership Type     Port  VLAN    Membership Type
   -----------------------------     -----------------------------
   1        1       Static
   2        2       Static
   3        1       Static
   4        1       Static
   5        1       Static
   6        1       Static
   7        1       Static
   8        1       Static
   9        1       Static
   10       1       Static
   11       1       Static
   12       1       Static
 
   AUI      1       Static
   A        1       Static
   B        1       Static

















15 pav. show vlan-membership komandos išeiga
2.9.1. Sąsajų, naudojamų komutatorių apjungimui (trunks), konfigūravimas
Norint, prie komutatoriaus sąsajos prijungti jungiamąją liniją (trunk), sąsajoje reikia nustatyti jungiamosios linijos prievado būseną (trunk).  Tai atliekama komanda trunk on, sąsajos konfigūravimo lygmenyje.
switch1#configure terminal
switch1(config)#interface FastEthernet 0/27
switch1(config-if)#trunk on
switch1(config-if)#





16 pav. Sąsajoje nustatoma jungiamosios linijos prievado būseną
16 pav. pateiktame pavyzdyje FastEthernet 0/27 (B) Sąsajoje aktyvuojamas Ethernet kadrų talpinimas (encapsulation) į ISL protokolo kadrus.
Cisco 1912 maršrutizatoriuose tik FastEthernet 0/26 (A) ir FastEthernet 0/27 (B) sąsajos gali būti nustatytos jungiamosios linijos prievado būseną (trunk).
Ar aktyvuota jungiamosios linijos prievado būsena sąsajose  FastEthernet 0/26 (A) ir FastEthernet 0/27 (B), galima patikrinti surinkus komandą show trunk A/B.


switch1#sh trunk b
DISL state: on, Trunking: on, Encapsulation type: ISL

switch1#




17 pav. Trunk'ų patikrinimas

Etiketės