Ethernet-switch

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 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

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.

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.

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.

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.