Ethernet-switch

En Ethernet L2-switch använder MAC-adresser för att adressera varje port och kunna vidarebefordra ramar. En Ethernet switch är fullständigt omedvetet av det inkapslat L3-paket som adresseras med IP-adresser. En Ethernet L2-switch baserar sitt arbete endast på MAC-adresserna.

Äldre Ethernet-hubbar repeterar inkommande signaler och skickar dessa ut genom alla portar utom den porten som signalerna togs emot. Till skillnad från hubbar identifierar en Ethernet-switch avsändarens och mottagarens MAC-adress först innan inkommande ramar skickas ut från switchen till mottagaren.

Anslutna nätverksenheter måste identifieras av switchen först innan de kan kommunicera med varandra. För att identifiera anslutna enheter bygger en Ethernet switch en tabell med MAC adresser, tabellen kallas ibland CMA tabell – Content Addressable Memory. I CAM-tabellen registreras nätverksenheternas MAC-adresser associerade till enskilda portar i switchen.

När nätverksenheter har identifieras kan de kopplas ihop genom att skapa en krets mellan avsändarens och mottagarens associerade portar. Detta innebär att en switch vidarebefordrar ramar endast till mottagare och inte till alla nätverksenheter anslutna till switchen. Det förutsätter att avsändarens och mottagarens MAC adresser finns registrerade i switchens CAM-tabellen.

Här nedan illustreras hur en switch binder ihop kommunicerande nätverksenheter. I exemplet H1 skickar ett meddelande till H3 (unicast), men det finns inte mottagarens MAC-adressen i switchens MAC-tabellen därför att switchen har ännu inte lärt sig den adressen. I en sådan situation skickar switchen meddelandet till alla nätverksenheter (broadcast).

Bild 1: Ethernet switchar grundar sitt arbete i MAC-adresser

MAC-tabellen

Varje gång en ram tas emot av en switch kontrollerar denna avsändaradressen och jämför adressen med andra adresser i tabellen. Om ingen träff sker registrerar switchen adressen och associerar den med porten där ramen togs emot. Därefter vidarebefordras ramen genom alla portar förutom porten ramen togs emot i början av denna process.

När en Ethernet switch sätts igång väntar denna för datatrafik för att börja lära sig MAC-adresser och registrera de i MAC-tabellen. Det är så en switch bygger upp en MAC-tabell, hel dynamiskt.

Ramöverföringsmetoder

Switchar använder en av följande överföringsmetoder:

  • Store-and-forward switching
  • Cut-through switching

Store-and-forward switching

Med tekniken store and forward lagrar switchen inkommande ramsignaler i ett buffert-minne tills hela ramen tas emot. Under tiden, medan fler ramsignaler ankommer till switchen, analyserar switchen rams styrinformation med syfte att ta fram MAC-destinationsadressen. Inom samma process utför switchen kontroller för att säkerställa ramens integritet genom att räkna ut ett CRC-värde och jämföra den med ett annat som är inkapslat i ramen.

Bild 2: Store and forward switching

CRC-värde är resultat av matematiska operationer grundade i ramens antal bitar. Om ramen är i sin helhet och har inte ändrats under resan till mottagare skickas denna till en lämplig port för vidarebefordring. Men om fel detekteras i ramen tas den bort så att mindre resurser används till exempel bandbredd.

Store and forward switching krävs för prioritetshanteringar i ett konvergerat nätverk med olika datatrafiktyper.

En switch som använder store-and-forward switching utför felkontroller på varenda inkommande frame. Switchen läser av värdet i fältet FCS av mottagna ramar och utför en egen beräkning (CRC). Därefter jämför switchen de två FCS-värden för att avgöra om en ram är felfri. Om värdena är lika anses den mottagna ram felfri, men om värdena är olika anses den mottagna ram förvräng och då tas den bort.

Bild 3: Varje ram kontrolleras innan de vidarebefordras

Medan felkontrollen utförs fortsätter switchen ta emot andra ramar och lagra dem i buffert-minnet. Associerade portar arbetas synkroniserat och då kan det hända att den ena port är snabbare än den andra vilket skulle generera felaktiga överföringar.

Sammanfattningsvis går store-and-forward tekniken ut på att hela frame tas emot och felkontrolleras innan den vidarebefordras. Felupptäckten är effektivt då hela ramen söks igenom efter fel. Denna metod innebär att nätverkets latenstid kan bli hög om många stora dataramar skickas och tas emot.

Cut-through switching

I motsats till store-and-forward arbetssättet kan nämnas en metod till, cut-through. Metoden går ut på att läsa av destinationsadressen innan hela dataramen har mottagits. Latenstiden i nätverket blir lägre men felupptäckten blir betydligt sämre jämfört med Store-and-forward.

Det finns två olika typer av cut-through switching.

  • Fast-forward switching är den metod som ger minst latens i nätverket eftersom switchen läser av först destinationsadressen och vidarebefordrar mottagen ram så fort den kan avgöra utgående port. Detta kan leda till att ingen fel upptäckts och felaktiga dataramar vidarebefordras. Latensen i fast-forward switching mäts som FIFO (First In First Out).
Bild 4: Fast Forward switching
  • Fragment-free switching, innebär att en switch väntar på den tid som det tar för att ta emot 64 bytes (minsta ram-storlek), oavsett ramens storlek, innan switchen vidarebefordrar någon ram. Metoden används främst för att minska antalet kollisioner mellan ramar som har skickats utan fullständig felkontroll. I ett väl fungerande nätverk måste kollisionsfragment vara mindre än 64 byte. Om ingen fel upptäcks i de första 64 byte anses resten av en ram vara felfria.

Buffert-minnet i switchar

En Ethernet-switch kan använda en buffert teknik för att lagra ramar innan de vidarebefordras. Processen kallas på engelska “Buffering” och den kan också användas när destinationsporten är upptagen. Det finns två metoder för temporärt lagring av ramar:

  • Port-based Memory Buffering – Portbaserad minnesbuffert teknik lagrar ramar i kö tillsammans med associationer till specifika inkommande och utgående portar. En ram överförs endast till den utgående porten när alla ramar framför den i kön har överförts. Det är möjligt för en enda ram i kö att fördröja överföringen av alla andra ramar på grund av en upptagen destinationsport.
  • Shared Memory Buffering – Delat minnesbuffert teknik utför liknande lagring som portbaserad men i ett gemensamt minne. Alla ramar lagras i en vanlig minnesbuffert som alla portar på switchen delar. Mängden buffertminne som krävs av en port är dynamiskt tilldelat. Ramarna i bufferten är länkade dynamiskt till destinationsporten. Detta gör att ramarna kan tas emot i en port och överföras på en annan port. Switchen håller en lista på länkar över ram och utgående portar som ramarna kan sändas genom. Dessa länkar raderas så fort ramen har överförts. Antalet ramar som lagras i bufferten begränsas av storleken på hela minnesbufferten och är inte begränsad till en enda portbuffert. Detta tillåter att större ramar överföras även om andra små ramar tappas bort. Detta är särskilt viktigt för asymmetrisk switching. Asymmetrisk switching möjliggör olika datahastigheter på olika portar. Detta gör att mer bandbredd kan tilldelas till vissa portar exempelvis till en port till vilken en server är ansluten.

Duplex och hastighetsinställningar

Två av de mest grundläggande inställningarna på en switch är bandbredden och duplexinställningarna för varje enskild port. Det är viktigt att inställningarna för duplex och bandbredd matchar mellan alla portar i switchen och de anslutna enheterna, t.ex. en dator eller en annan switch.

Det finns två typer av duplexinställningar:

  • Fullduplex – Båda ändarna av anslutningen kan skicka och ta emot samtidigt.
  • Halvduplex – Endast ena änden av anslutningen kan skicka i taget.

Självkonfiguration eller en automatiskt inställning är en valfri funktion som finns på de flesta Ethernet-switchar och nätverkskort. Den möjliggör för två enheter att automatiskt utbyta information om hastighet och duplexfunktioner så att den bästa inställning väljs. Full duplex väljs om båda nätverksenheterna har stöd för.

Bild 5: Självkonfiguration

I exempel  ovan kan PC-As Ethernet NIC fungera i full-duplex eller halv-duplex och i 10 eller 100 Mbps. PC-A är ansluten till switch S1 på port 1 som kan fungera i full-duplex eller halv-duplex och i 10, 100 eller 1000 Mbps (1 Gbps). Om båda enheterna använder självkonfigurations funktion kan full-duplex och 100 Mbps väljas.

Obs! De flesta Cisco-switchar och Ethernet NIC har inbyggt stöd för självkonfiguration för hastighet och duplex. Gigabit Ethernet-portar fungerar endast i full duplex.

Duplex-missmatchning

En av de vanligaste orsakerna till prestandafrågor på 10/100 Mbps Ethernet-länkar sker när en port på länken arbetar med full-duplex medan den andra porten arbetar med halv-duplex.

Bild 6: Kollisioner uppstår med fel konfigurationer

Detta sker när en eller båda portarna på en länk återställs och självkonfigurations processen resulterar inte i att båda länkpartnerna har samma konfiguration. Det kan också inträffa när användarna konfigurerar om en sida av en länk och glömmer att omkonfigurera den andra.

Auto-MDIX

Förutom rätt duplexinställning är det också nödvändigt att ha rätt kabeltyp definierad för varje port. Anslutningar mellan specifika nätverksenheter till exempel switch-till-switch, switch-till-router, switch-till-dator och router-till-klientenheter krävde en gång användningen av specifika kabeltyper (crossover eller straight-through). De flesta switch stöder nu aktivering av MDIX-konfigurationen för automatisk självkonfiguration i CLI.

När funktionen auto-MDIX är aktiverad upptäcker switchen vilken typ av kabel som är ansluten till porten och konfigurerar den i enlighet med kabeltypen. Av denna anledning bör du använda antingen en korskopplade eller en rak-kopplade TP-kabel för anslutningar till en 10/100/1000-port på switchen oavsett den andra änden av anslutningen.

Obs! Funktionen auto-MDIX är som default aktiverad på switchar som kör Cisco IOS Release 12.2 (18) SE eller senare.