Switch

Från Wikipedia
Hoppa till: navigering, sök

En switch, även växel, är en nätverkskomponent som styr datatrafik mellan olika noder i ett nätverk. Ordet switch är engelska och betyder omkopplare. Switchen arbetar på lager 2 i OSI-modellen, det vill säga att den hanterar och använder MAC-adresser (Media Access Control) för att ta beslut om på vilken port den mottagna dataramen skall skickas ut. Vanligen avses switchar för Ethernet, men motsvarande enheter fanns för andra typer av nät, såsom Token Ring och FDDI. Det är ett vanligt fenomen att folk förväxlar switch med hubb, då deras utseende är snarlikt. Dock är det en stor skillnad mellan switchar och hubbar.

När ett datapaket anländer till en switch, så inspekteras den och switchen jämför dess destinationsadress med innehållet i sin vidarebefordringsdatabas, CAM-tabellen (Content Addressable Memory), i vilken den har en mappning mellan MAC-adresser och sina portar. Paketet skickas ut på den port som matchar MAC-adressen. Om adressen inte finns i CAM skickar switchen ut en ARP-förfrågan på alla portar för att ta reda på vilken port mottagaren finns på. En hubb däremot arbetar i lager 1 i OSI-modellen (fysiska lagret) och skickar ut mottagen signal på alla portar utom den som signalen kom in på. Även switchar gör så som en sista utväg om den inte lyckas ta reda på vilken port mottagaren finns på, så kallad port-flooding.

Lokala nätverk skapade med hubbar skapar en logisk bussnätstopologi, switchar däremot ger logiska stjärnnät. På bussnät kan man bara kommunicera i halv duplex och kollisioner kan uppstå om två noder påbörjar en sändning i samma ögonblick. På nät där alla noder är anslutna till switchar, så ger dessa dedikerade kanaler för kommunikationen mellan två noder. Kollisioner kan inte uppstå och full duplex, samtidig trafik i båda riktningarna, är möjlig. Dessutom kan flera noder kommunicera samtidigt. Om dator A kommunicerar med dator B, så kan dator C och D samtidigt kommunicera genom samma switch, eftersom trafiken är åtskild i olika kanaler.

Hur en switch lär sig MAC-adresser[redigera | redigera wikitext]

En Ethernet-switch lär sig adresserna till varje enhet på nätverket genom att utläsa käll-MAC-adressen ur varje paket som skickas och noterar sedan den, samt vilken inkommande port paketet anlände genom. Switchen sparar sedan informationen i sin vidarebefordringsdatabas.

Varje gång en MAC-adress sparas i CAM så får den en tidsstämpel. Detta gör att adressen kan sparas under en användarbestämd tid. Varje gång en MAC-adress noteras av switchen så får den en ny tidsstämpel. Om den användarbestämda tid löper ut och MAC-adressen inte noterats av switchen så raderas posten.

Switch-loopar och Spanning Tree Protocol[redigera | redigera wikitext]

På nätverk där 3 eller fler switchar är inkopplade, så kan det uppstå situationer där administratörer av misstag, eller för att skapa redundanta datavägar, kopplar samman switcharna med flera sladdar. Detta kan potentiellt leda till nätverksloopar, där switch A skickar en ram till switch B som skickar till switch C som skickar till switch A, osv. CAM-tabellerna på switchar är gjorda för högsta möjliga hastighet och innehåller inga möjligheter till alternativa vägval, till skillnad från de mera avancerade tabeller som routrar använder för sina vägval.

För att undvika loopar, så inaktiveras därför vissa vägar. I exemplet ovan skulle exempelvis förbindelsen mellan switch A och C kunna vara inaktiverad, trots att det faktiskt finns en sladd mellan dem. Skulle sladden mellan A och B dras ut eller bli trasig, så kan A–C förbindelsen automatiskt aktiveras i stället. Denna redundans gör nätverket mer tåligt för störningar.

Vilka vägar som skall aktiveras och avaktiveras bestäms genom att switcharna kommunicerar med varandra via Spanning Tree Protocol.

Symmetrisk och asymmetrisk switchning[redigera | redigera wikitext]

Symmetrisk switching sker när data förmedlas mellan portar som har samma bandbredd till exempel mellan 10 Mb/s portar eller 100 Mb/s portar.

Asymmetrisk switchning tillhandahåller anslutning mellan portar med olika bandbredd till exempel en kombination av 10 Mb/s och 100 Mb/s segment. Detta är speciellt användbart i ett nätverk där flera klienter kommunicerar med en och samma server samtidigt. Detta kräver en högre bandbredd på den port som servern är ansluten till för att undvika en flaskhals.

Switchningsmetoder[redigera | redigera wikitext]

Illustration av var i Ethernetramen olika switchar börjar skicka den vidare.

Det finns två olika metoder som switchen kan använda sig av för att vidarebefordra datapaket.

Store-and-forward[redigera | redigera wikitext]

Hela datapaketet tas emot av switchen innan den vidarebefordras. Felupptäckten är hög då switchen söker igenom hela paketet efter fel samtidigt som datapaketet tas emot. Om switchen upptäcker fel på paketet, så vidarebefordras det helt enkelt inte.

Denna metod innebär att nätverkets latenstid kan bli hög om många stora dataramar skickas. Med en fullängds Ethernetram blir latensen något mer än 1526*8 gånger bittiden (den tid det tar att sända en bit). Denna metod är dock den enda som klarar asymmetrisk switchning.

Cut-through[redigera | redigera wikitext]

Switchen utläser destinationsadressen och börjar vidarebefordra ramen innan resten av den har mottagits. Latenstiden i nätverket blir lägre men felupptäckten är betydligt sämre jämfört med Store-and-forward. Det finns två olika typer av cut-through switching.

Fast-forward switching
Om inget annat anges är detta standardmetoden för en Cut-through switch. Denna metod ger allra minst latens i nätverket. När en dataram skickas in på en switch som vidarebefordrar sina dataramar baserat på fast-forward switching så kommer switchen att skicka vidare datan så fort den kan avgöra på vilken port datan skall skickas, det vill säga så fort den avläst destinationsadressen. Detta gör att ingen felupptäckt genomförs och felaktiga dataramar kan vidarebefordras på nätverket. Latensen blir något mer än 14*8 gånger bittiden.
Fragment-free switching
Fragment-free switching filtrerar ut kollisionsfragment på nätverket och tar emot dataramen fram till och med hela dess huvud, innan den skickas vidare på nätverket. På så sätt kan man kontrollera korrektheten hos båda adresserna och informationen från LLC-protokollet innan ramen skickas vidare. De flesta fel upptäcks på detta sätt. Latensen blir något mer än 22*8 gånger bittiden.

Adaptiv switchning[redigera | redigera wikitext]

Somliga switchar kan själva avgöra vilken metod som skall användas utifrån angivna tröskelvärden. Om den exempelvis befinner sig i cut-through läge så skickas alla ramar vidare, men felkontroll görs i efterhand. Om en så stor andel av ramarna befinns vara felaktiga att tröskelvärdet överskrids, så ändrar switchen läge till store and forward. Om kvalitén sedan förbättras och så många ramar är korrekta att tröskelvärdet för att byta tillbaka till cut through överskrids, så återgår switchen till detta läge.

Multilayer-switchning[redigera | redigera wikitext]

Under senare år har en ny typ av switchar, kallade lager-3-, Multilayer- eller Layer 3-4-switchar letat sig in på marknaden. Den huvudsakliga skillnaden med dessa switchar jämfört med vanliga är att dessa även arbetar i lager 3 och 4 i OSI modellen. Detta innebär att dessa förutom switchfunktionen klarar av samma sak som en router.

Det finns också speciella switchar för lastbalansering. Exempelvis kan en databas replikeras mellan olika maskiner som har varsin identisk kopia av den. En lastbalanserande switch används då för att dirigera trafiken mellan dem, så att de delar på jobbet att hantera anslutningar från klienter. Switchar för lastbalanseringar arbetar på nivå 7 (applikation) i OSI-modellen.

Managed kontra unmanaged[redigera | redigera wikitext]

Enkla switchar för mindre nät är av typen unmanaged, det vill säga sedan de anslutits så finns det inget man kan göra för att påverka trafiken. Professionella switchar är oftast "managed", dvs. man kan ansluta till dem och som administratör utföra ett antal åtgärder.

  • Switchen kan garantera en QoS (Quality of Service) mellan vissa noder i nätet, så att trafik mellan dem prioriteras före annan trafik.
  • Switchen kan dela upp ett större LAN i två eller fler mindre delar, virtuella LAN (VLAN). Dessa delar fungerar som om de vore fysiskt åtskilda. De utgör skilda broadcastdomäner och trafiken mellan dem måste gå genom en router. (Routningen kan ske inuti switchen om det är en nivå 3- eller 4-switch.)
  • Switchen kan föra logg över den trafik som skickas.

Uplink[redigera | redigera wikitext]

När man kopplar ihop en switch med en dator, så används en rak TP-kabel. För att koppla ihop en switch med en annan switch, så kan man antingen använda en korsad kabel, eller så använder man uplink funktionen på den ena switchen. På somliga switchar är detta en dedikerad port, som eventuellt aktiveras genom en fysisk knapp. Moderna switchar har ofta en inbyggd sensorfunktion som känner av ifall den kommunicerar med en dator eller annan switch och vilken slags kabel som används. Om denna sensor finns på alla portar, så kan man använda såväl raka som korsade kablar, oavsett vad slags enhet man kopplar in. Detta kallas auto-uplink.

Se även[redigera | redigera wikitext]