Multilayer Switching

 

[toc]

 

 

Upoznajmo se sa osnovama Multilayer switching-a. Ali da bi razumjeli što je Mulilayer Switching,trebali bi znati što je switching odnosno kako rade switchevi (preklopnici).Vratimo se još jedan korak nazad i podsjetimo se osnova računalnih mreža.

 

OSI model i TCP/IP model

OSI model (Open Systems Interconnection model) je konceptualni slojeviti model mrežne komunikacije, koji opisuje funkcije i međusobnu komunikaciju između njegovih slojeva. Održava se od strane ISO organizacije (International Organization for Standardization), pod oznakom : ISO/IEC 7498-1. Na osnovi OSI modela, razvijen je TCP/IP model.

TCP/IP je skup protokola nužan za komunikaciju računala. Današnji internet je baziran na TCP/IP setu protokola. On se sastoji od nekoliko dijelova: TCP/UDP i IP.

OSI-TCP-IP

 

Na slici je vidljiva usporedba OSI i TCP/IP modela te može poslužiti kao primjer komunikacije TCP/IP protokola.Prema slici će se najbolje shvatiti što se događa kod komunikacije dva računala TCP/IP-om:

 

Naime kod komunikacije između dva računala (Source  Destination), dolazi do slijedećeg (u TCP/IP-u):

  • Aplikacija (pr. Web browser se spaja na Web Server ) formira podatke koje želi slati na drugo računalo (Layer 4, tj po OSI-ju 7,6 i 5 ). i prosljeđuje ju nižem sloju (Layeru)

  • Transportni sloj (TCP) preuzima podatke od gornjeg sloja i dodaje svoj dio

(u ovom slučaju Source i destination portove, CRC check, … ) i prosljeđuje ju nižem sloju

  • Internet sloj (IP) preuzima podatke od gornjeg sloja i dodaje svoj dio (source i

destination IP adrese,..) i prosljeđuje ju nižem sloju

  • Network Access sloj preuzima podatke od gornjeg sloja i dodaje svoj dio (MAC adrese, …) te šalje podatke samoj mrežnoj kartici, koja ih pretvara u električne (ili optičke) signale i šalje ih na medij.

Važno je znati da mrežnim medijem prolaze paketi podataka, dogovorene maksimalne veličine. Ako je na početku procesa enkapsulacije (ugnježđivanja) podataka utvrđeno da treba poslati više podataka nego što je maksimalna veličina paketa (~1500 b = 1.5kB), dolazi do kreiranja više paketa,od kojih svaki sadrži serijski broj, da bi se ispravno posložili na drugoj strani te sastavili u izvorni oblik.

 

S druge strane (na drugom računalu, proces je obrnut):

Mrežna kartica prima električne impulse, pretvara ih u slijed digitalnih podataka (0 i 1) , koje preuzima prvi sloj, obrađuje ih, prosljeđuje drugom sloju,… i tako do aplikacijskog sloja  koji to sve slaže u prvobitni oblik podataka, koji je poslan s prvog računala (Source).

 

Enkapsulacija

Slika prikazuje enkapsulaciju (ugnježđivanje) prema TCP/IP, sa Source računala. Ovdje će vam biti malo jasniji tok podataka i veza između TCP/IP slojeva.

TCP-IP Encapsulation

Aplikacijski sloj uzima podatke (iz same aplikacije) te ih razdvaja na manje dijelove. Svakom tom bloku podataka [DATA]  se dodaje zaglavlje [Transport Header] – u transportnom sloju (3) – ovdje se dodaju i Source i Destination portovi.

Source port se nasumično odabire (1024+  Random) a Destination port označava protokol za komunikaciju (pogledajte tablicu dolje).

Internet sloj dodaje svoj dio, koji sadrži i Source IP adresu (pošiljatelja) i destination IP adresu (primatelja) te se dalje sve prosljeđuje Network Access sloju koji dodaje i Source i Destination MAC adrese. Prema OSI modelu ovo je Layer 2 (u grubo on barata s MAC adresama – što nas i zanima)

Nadalje se sve pretvara u signale za slanje na mrežni medij (“bakar” ili “optika” tj. električne signale ili svjetlosne impulse). Ovaj proces se na računalu koje prima podatke, odvija u suprotnom smjeru.

 

TCP/UDP Portovi

TCP/IP protokol dopušta maksimalno 65535  portova [216] (16 bitni broj). Za svaki TCP/IP protokol je definiran i port preko kojega se koristi. Pomoću portova, svako računalo može (u svakom trenutku) paralelno komunicirati sa više protokola, jer svaki od njih koristi drugačiji port. Neki od osnovnih su nabrojani u tablici.

Portovi

Osim portova bitno je i kojim transportnim protokolom se koristi niži protokol:

  • TCP je tkzv. connection-oriented – što znači da se kod komunikacije dva računala, otvara konekcija (Three-way handshake) i TCP protokol se brine da je svaki segment podataka koji je poslan sa računala A na računalo B primljen u ispravnom obliku (u prijenosu podataka kroz medij može doći do gubitka djela podataka). Za svaki paket koji je s druge strane zaprimljen neispravan (o tome se brine  CRC checksum), zatraži se retransmisija i paket se šalje ponovno, sve dok nije potpuno ispravan.

  • UDP protokol se ne brine o tome da li je svaki paket podataka ispravno zaprimljen na drugoj strani ali je njegova prednost puno veća brzina (jer nema dodatne kontrole niti retransmisija).

Dodatni pojmovi 

  • MAC adresa (Media Access Control) je jedinstvena adresa, ugrađena u svaku mrežnu karticu, od strane proizvođača odnosno u svaki port na switchu (ili bilo kojem mrežnom uređaju). MAC adresa je 48 bitna, označava se sa 12 heksadecimalnih brojeva, grupiranih po 2 i obično odvojenih sa : ili -. Prvih 6. hexa brojeva označava proizvođaća a ostalih 6 su redni brojevi. Dakle ne osnovu MAC adrese možemo raspoznati proizvođaća same kartice (Intel, 3Com,Broadcom,…)     Pr. Izgled MAC adrese: 00-30-00-3A-FD-6C

MAC-adresa-primjer

 

  • IP adresa je jedinstvena adresa, te ju ne može imati niti jedno drugo računalo na mreži. IP adresa (Ipv4) je 32bitni binarni broj razlomljen u seriju dekadskih brojeva odvojenih točkom (.). Prvo se cijeli binarni broj razdjeli u 4 grupe od 8 binarnih brojeva, tada se svaka grupa od 8 bitova pretvara u decimalni broj. IPv4 može adresirati 4×8 bitova= 32b (bita) = 232 IP adresa. Osim IPv4 postoji i IPv6. IPv6 se sastoji od 8 heksteta tj (8 x 4 bajta) tj 8 puta po 4 heksadecimalna broja odvojena točkom (.)  Dakle IPv6 može adresirati: 8 x 16 bitova = 128b (bita)=2128 IP adresa.

 

  • ARP (Adress Resolution Protocol). Pošto u TCP/IP mrežama svaki paket mora sadržavati Source i Destination IP i MAC adrese, potrebna je i upotreba ARP protokola.  On je zadužen za pronalaženje MAC adrese od određene IP adrese (pridjeljuje MAC adresu IP adresi). Kada računalo A želi pristupiti računalu B (kojemu još nije pristupalo), ono provjeri da li zna njegovu MAC adresu (pošto mu je poznata IP adresa).  Postoje 2 načina kako računalo može napraviti svoju bazu/tablicu MAC <—-> IP adrese:
    • 1. Svako računalo prati mrežne pakete i zapisuje MAC-IP parove u svoju privremenu bazu, koja se briše svakih nekoliko minuta (bazu nazivamo ARP tablica, na PC računalu ju možemo vidjeti sa naredbom: arp -a
    • 2. Računalo koje nije dobilo IP-MAC podatak ide u Broadcast: ARP request, sva računala na njegovom segmentu mreže primaju taj broadcast (switchevi propuštaju broadcast zahtjeve a routeri NE). Tada računalo koje ima traženu IP adresu vraća pošiljaocu ARP requesta, ARP response sa ispravnom MAC adresom, koju računalo A sprema u svoju tablicu i drži ju neko vrijeme.Tek tada računalo A može kreirati klasičan TCP/IP paket i ostvariti konekciju na računalo B.

 

Ovo je dovoljno za razumjevanje priče koja slijedi.

 

Layer 2 switching – klasična upotreba switcheva (preklopnika).

U današnjim mrežam za međusobno umrežavanja/spajanje računala, poslužitelja i ostale mrežne opreme koriste se switchevi koji standardno rade na Layer 2 (dakle barataju sa MAC adresama).

Spajanjem bilo kojeg računala ili uređaja na neki port na switchu, sam switch prvo mora saznati njegovu MAC adresu te ju spremini u svoju internu tablicu koja sadrži par :

 

Source MAC adresa – port (interface) na switchu

 

To je i sva logika koja je potrebna za uspješno preklapanje, Naime kada spojimo računala A i B na switch,  i to primjerice:

Računalo A (MAC 00:01:02:A1:11:11) – port (interface) 1

Računalo B (MAC 00:01:02:B2:22:22) – port (interface) 2

 

Switch si nakon nekoliko trenutaka izgradi gore navedenu tablicu koju primjenjuje na svaki paket koji mu dođe.

 

Prisjetimo se TCP/IP komunikacije :

Svaki paket mora imati (uz ostale podatke) : Source i Destination MAC adrese i Source i Destination IP adrese. Pošto je ovo Layer 2 switch on gleda svaki paket i to samo dio sa Source MAC adresom i destination MAC adresom

(Layer 2 po OSI tj Layer 1 po TCP/IP modelu ):

 

Dakle računalo A šalje paket na računalo B :

 

Pojednostavljeno to radi ovako:

  1. Switch pogleda Source MAC (to je MAC od Računala A) i vidi da ga već ima u tablici (ako nema zapamti ga sada, na portu na koji je spojen) te pogleda i destination MAC adresu (to je MAC od Računala B)

  2. Switch provjerava svoju tablicu i gleda da li ima MAC adresu od računala B, ako ima gleda na kojem je portu (interface-u) i paket šalje na taj port (interface)

Ako nema MAC adresu od računala B, pokuša ju saznati slanjem ARP poruke te ju zapamti i izgradi si tablicu.

 

Ova MAC tablica na switch-u se zove i CAM tablica (Content addressable memory) tablica.

  1. Sada kada switch ima u CAM tablici i Source i Destination MAC adrese od ovog (i svakog) paketa od Računala A on paket (jedan po jedan) prebaci/preklopi na interface na kojem se nalazi spojeno računalo B. Ovo se ponavlja za svaki paket i za sve komunikacije.

 

Koji su nedostaci i na što treba paziti kod dizajna LAN mreža upotrebom Layer 2 switcheva.

 

Nasljeđe prošlosti : CSMA/CD (Carrier Sense Multiple Access With Collision Detection). Prije vremena switcheva, koristili su se uređaji zvani HUB-ovi.

Računala i druga mrežna oprema se na njih spajala na isti način kao na switcheve (prema topologiji : zvijezda [star]) – sva računala i oprema, svaki na svoj port na HUB-u. Na HUB-ovima se dijelila zajednička veza jer je on praktično bio samo pojačalo električnog signala. Veza je prema tome bila Half Duplex (samo primanje ili slanje na mrežu u jednom trenutku). Dakle u praksi se stalno dešavalo da su dva ili više računala u jednom djeliću vremena krenula u slanje podataka. Tu je uskakao CSMA/CD koji je tada detektirao ovaj slučaj koji se zove kolizija dakle “Collision Detection”  mehanizam, koji radi tako da tada svaki od pošiljatelja mora sačekati određeni nasumični broj nekoliko milisekundi te probati slati podatke ponovno i tako iz početka.

Upotrebom switcheva više nema kolizije ako se koristi Full Duplex mod rada portova (interface-a).Važno je znati da je i dalje ostao Half Duplex mod konfiguracija svakog porta na koji treba paziti jer se svaki port na switchu i krajnje računalo ili mrežna oprema mogu krivo “dogovoriti” te uspostaviti Half Duplex umjesto Full Duplex moda.

Full duplex je mod rada u kojemu je moguće istovremeno slanje i primanje podataka i to samo ako je tako konfigurirano na strani switcha i druge strane (računalo, drugi switch, poslužitelj , ….).

 

Podsjetimo se još nekih pojmova.

 

Network IP adresa

Network IP adresa (adresa mreže) je adresa koja definira samu mrežu. To je prva

adresa u mrežnom segmentu ili prva adresa u subnetu (subnetiranje je posebna prića [članak]).

 

BROADCAST IP adrese

Broadcast IP adrese ovisi o tome da li je mreža subnetirana ili nije. Univerzalna

broadcast adresa je: 255.255.255.255. inače ovisi o kojoj se mreži radi i u pravilu je to zadnja adresa unutar opsega mreže ili zadnja adresa u subnetu. Sve što se pošalje na broadcast adresu, primiti će svi unutar te mreže, a u slučaju univerzalnog broadcasta svi na svim mrežama. (Routeri po defaultu ne propuštaju broadcast poruke).

 

Problem Layer 2  switchinga je i Broadcast domena.

Naime mnogi protokoli u komunikaciji koriste broadcast poruke koje nepotrebno zagušuju mrežu i sve što se nalazi na mreži. Layer 2 switchevi proslijeđuju sve Broadcast poruke.

Riješenje ovog problema je logička segmentacija mreže na više virtualnih mreža (VLAN-ova). Dakle switchevi propuštaju (forward) sav promet samo unutar svakog VLAN-a. Da bi komunikacija između VLAN-o bila moguća potreban nam je Layer 3  / 4 uređaj : Router ili Multilayer Switch.

Pod pojmom multilayer switch smatramo uređaj koji radi barem na Layer 2, 3 i 4. (prema OSI modelu).

 

VLAN-ovi

VLAN čini logičku grupu ili cjelinu raznih mrežnih komponenti (računala, mrežnih uređaja  i sl.). VLAN-ovi se obično grupiraju prema nekim logičkim podjelama mreže: pr. prema odjelu tvrtke, prema specifičnim zahtjevima korisnika, poslužitelja i sl. Switch-evi i bridge-vi propuštaju unicast, multicast i broadcast promet samo unutar VLAN-a unutar kojega se nalaze. Dakle komunikacija je moguća samo između svih mrežnih uređaja i računala unutar jednog VLAN-a.

Promet između VLAN-ova nije moguć bez Layer 3 uređaja (Routeri ili Multilayer Switchevi).

 

VLAN TRUNK

TRUNK-ovi (prema Cisco terminologiji) omogućavaju “propuštanje” više istovremenih VLAN-ova, kroz određeni interface. Naime standardno svaki interface može biti isključivo samo u jednom VLAN-u. U slučaju potrebe da kroz određeni interface (port na switchu/routeru/…) moramo ili želimo propuštati više VLAN-ova, moramo interface konfigurirati kao trunk te odabrati neki od “trunk” protokola, koji pojednostavljeno, na svaki mrežni paket lijepe VLAN-ID, tkzv “tag” ili “naljepnicu” ,  sve dok putuje kroz interface koji je u trunk mod-u.Dakle kada paket koji ima VLAN tag, dođe do “normalnog” interface-a, u točno određenom VLAN-u (čiji “tag/ID” nosi), taj tag se skida i paket dalje nastavlja put kao običan/normalan. Postoji nekoliko protokola za trunk-ing a to su:

  • Cisco ISL
  • IEEE 802.1Q

 

Kako to radi na pojednostavljenom modelu, vidljivo je na slici.

TRUNK

 

 

Multilayer Switching

 

U daljem tekstu, bazirati ćemo se na Cisco Multilayer Switchevima zbog svojih specifičnosti (od kojih neke imaju i neki drugi proizvođaći) i to na entry – medium level uređajima poput: Catalyst 3560 ili Catalyst 3750 switcheva jer je na njima najlakše objasniti cijeli koncept.

 

Što se dešava na kojem sloju i kojom brzinom (za switcheve):

Layer 2 : sve se odrađuje na osnovi MAC adresa, brzinom hardvera (tkzv. “Wire Speed”)

Layer 3 : sve operacije preklapanja tj, ovdje govorimo o routing-u (usmjeravanju) se odrađuju na osnovi IP adresa , sve se odrađuje brzinom hardvera (za razliku od Routera-a kod kojih CPU sve odrađuje)

Layer 4 : Dodaje se mogućnost rada na Transportnom sloju (TCP/UDP portovi) – možemo reći da je ovaj sloj “Application aware” – svjestan aplikacija.

 

Prvo sumarizirajmo mogućnosti Layer 2 switchinga:

  • Bridge-ing brzinom hardvera “Hardware based bridging” tj “Wire Speed performance”
  • Kolizijska domena je na nivou porta , odnosno upotrebom Full Duplex moda ne postoji
  • Nema mrežnog prometa između VLAN-ova
  • Broadcast domena se proteže na sve portove (interface-e) i sve međusobno spojene Layer 2 switcheve

 

Bacimo pogled na klasične Routere (usmjerivače):

  • Broadcast domena ja unutar jednog porta (interface-a)
  • Layer 3 procesiranje je od  strane CPU-a i samim time je više kašnjenje (latency) od Layer 2 switchinga :(Routeri s mrežnim paketima rade u miliskundama , switchevi i mikrosekundama [1.000 puta brže])
  • Visoka cijena prema broju portova (interface-a)

 

Pregled logike rada Cisco switcha

Tipičnu logičku arhitekturu Cisco Switcha možemo vidjeti na slici :

Cisco ASIC

Slika: Primjer osnovne logičke sheme 48 portnog Multilayer switcha

 

O čemu se radi (ASIC) ?

ASIC (Application Specific Integrated Circuit) je IC (“chip”) koji se ovisno o izvedbi i modelu switcha praktično nalazi na svakom portu (interface-u). On je u mogućnosti unutar granica milisekundi: primiti, obraditi i proslijediti svaki mrežni paket.

Veliko ubrzanje u radu ASIC-a, uz upotrebu vrlo brze SRAM memorije, donosi i upotreba slijedećih komponenti integriranih u sam ASIC:

  • CAM memorije (tablice) za Layer 2 funkcionalnosti
  • TCAM memorije (tablice) za Layer 3 funkcionalnosti,

 

Zbog gore navedenih karakteristika, standardno ASIC omogućava obradu slijedećih funkcija, hardverskom brzinom :

  • Traffic forwarding (obrada i prosljeđivanje paketa)
  • QoS (Quality of Service)
  • ACL lookup  (Access Liste)
  • Route Processing (Obrada Routing funkcionalnosti)
  • STP (Spanning Tree protokol)

 

Multi-layer switch-evi mogu odluke o switching-u/routingu odraditi na osnovi :

  • source/destination MAC adrese u Layer 2 ili
  • source/destination IP adrese u Layer 3 ili
  • source/destination porta u Layer 4.

Osim toga ne postoji razlika u brzini rada Layer 2 , Layer 3 ili Layer 4. Dakle sve se odrađuje brzinom “hardvera”.

 

Pojednostavljeno Multilayer switching kombinira funkcionalnosti :

  • Layer 2 switchinga
  • Layer 3 routing/switchinga
  • Layer 4 routing/switchinga i to uz vrlo nisku latenciju koja je oko 1.000 puta manja od Routera.

Dakle većinu operacija sa mrežnim paketima Multilayer switch odrađuje oko 1.000 puta brže od klasičnih Routera (usmjerivača).

Možemo reći da je Multilayer switch spoj “klasičnog” Layer 2 switcha i Routera koji radi na “Wire Speed”-u unutar jedne hardverske platforme.

Naime sve operacije koje on obavlja, obavlja i klasični Layer 2 Switch i standardni Router (usmjerivač) ali sve na hardverskoj brzini unutar milisekundi. Njegovom upotrebom možemo povećati performanse cijele mreže, uz pravilan dizajn iste, uz nekoliko vrlo bitnih stvari na koje treba paziti:

  • Dizajn mreže (to važi za sve mreže), morao bi topološki biti hijerarhijski i sadržavati :
    • Core Layer mrežu
    • Distribution Layer mrežu
    • Access Layer mrežu

… i to pridržavajući se pravila dizajna svakog od navedenih hijerarhijskih slojeva.

  • Multilayer Switch, iako je praktično spoj Routera i Switcha predstavlja “single point of failure” tako da kod dizajna mreža moramo i na to paziti tj. uvesti redundanciju.

  • Uvođenjem redundancije sa Multilayer Switchevima moramo paziti da smo pravilno dizajnirali sve međuveze i njihove redundancije te iskoristili protokole koje osiguravaju brzu konvergenciju te štite mrežu od “loop-a”

  • Koristiti VLAN-ove već u samom dizajnu mreže.

 

 

 

Zaključimo priču sa jednim jednostavnim primjerom upotrebljivim u praksi.

Slika prikazuje osnovnu zamišljenu redundantnu mrežu sa multilayer switchevima:

Multilayer Switch-hierarchy-basic

 

Sada na u tu mrežu uvedimo slijedeće VLAN-ove.

 

VLAN10 → Ovdje će biti sva PC Računala iz nabave, računovodstva, managementa i prodaje

VLAN20 → Ovdje će biti razvojni poslužitelji za R&D odjel

VLAN21 → Ovdje će biti PC računala razvojnih timova (R&D)

VLAN25 → Ovdje će biti svi ostali poslužitelji

VLAN100 → Ovdje će biti sva oprema prema internetu

 

Logička shema mreže, poslužitelja i računala sada će izgledati ovako:

Multilayer Switch-hierarchy-basic-VLANs

Komunikaciju između VLAN-ova omogućavamo i ograničavamo preko Multilayer switcha.

Možemo kreirati neka (osnovna) pravila popout:

 

Svi iz VLAN10 mogu komunicirati sa svima, samo iz VLAN21 i VLAN25

Svi iz VLAN 21 mogu komunicirati sa svim ostalim VLAN-ovima

Svi razvojni poslužitelji iz VLAN20 mogu komunicirati samo sa VLAN21 i sa VLAN 25 i to samo sa određenim servisima iz VLAN 25 i to : DNS , NTP , HTTP i FTP.

Omogućimo svima da mogu ići prema VLAN100 (to je praktično izlaz na internet) ali onemogućimo uspostavljanje veze od bilo koga sa strane VLAN100 na bilo koji drugi VLAN.

 

Na ovaj način smo omogučili komunikaciju u određenom smjeru a zabranili u drugom ili omogućili komunikaciju između određenih VLAN-ova za samo određene portove/protokole a zabranili za sve druge protokole i sl.

Ograničenjima na VLAN100 smo onemogućili bilo kome tko je možda “provalio” na neki od Routera prema internetu, da otvori bilo kakvu vezu prema unutarnjim mrežama 🙂

 

Autor : Hrvoje Horvat

 

 

 

 

Hrvoje Horvat avatar
Hrvoje Horvat
Hrvoje Horvat mrežni je i sistem inženjer s dugogodišnjim (18+ g.) iskustvom u razvoju, testiranju i implementaciji, od najmanjih do enterprise kategorije IT sustava. Njegova područja rada su od mrežnih protokola do mrežnih servisa, preko standardne mrežne opreme do specijaliziranih komponenti i sustava, preko raznih mrežnih elemenata i sustava za mrežnu pohranu i dijeljenje podataka te platformi za Virtualizaciju, do protokola i sustava za redundanciju te sustava visoke dostupnosti (HA).