Frame överföring

En switch använder MAC-adresser för att styra kommunikation mellan anslutna nätverksenheter. En switch består av integrerade kretsar som inkluderar portar för att ge åtkomst till det lokala nätverk. Anslutna nätverksenheter måste identifieras av switchen först innan de kan kommunicera med varandra. För att identifiera anslutna enheter bygger en switch en tabell med MAC adresser, tabellen kallas CMA tabell – Content Addressable Memory. I CAM-tabellen registreras nätverksenheternas MAC-adresser associerade till specifika portar.

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. Detta illustreras i bild 1 där ansluts portar 1 och 4 så att avsändaren med MAC adress EE skickar iväg ett meddelande till mottagaren med MAC adress EA.

Bild 1: Avsändarens och mottagarens MAC

Uppbyggande av en CAM-tabell

Följande steg beskriver processen med att bygga en MAC-adresstabell:

Bild 2: CMA-tabell byggs upp
  1. PC1 skickar en ram till PC3. Switch S1 tar emot ramen från PC 1 via port 1
  2. Switch S1 granskar avsändarens-MAC-adressen som inkluderas i varje ram och jämför den med MAC-adresser i sin CAM-tabell.
    • Om avsändarens MAC-adressen inte finns i CAM-tabellen associerar switch S1 avsändarens MAC-adress till ingångsporten (port 1) och registrerar associationen i CAM-tabellen.
    • Om CAM-tabellen redan har en post för avsändarens MAC-adressen återställs postens timern. En post för en MAC-adress hålls i CAM-tabellen vanligtvis i fem minuter.
  3. Efter att switchen har registrerat i CAM-tabellen avsändarens MAC-adress associerad till en port undersöker switchen destinations-MAC-adressen.
    • Om destinations MAC-adress finns i MAC-tabellen vidarebefordrar S1 meddelandet till rätt mottagare (PC3)
    • Om destinations MAC-adress inte finns i CAM-tabellen skickar switchen ramen till alla portar (broadcast).
    • Om destinations MAC-adressen är en broadcast-adress (FFFFFF-FFFFFF), skickar switchen ramen till alla portar förutom ingångsporten (port associerade till avsändaren).
  4. Mottagaren (PC 3) svarar med en unicast-frame adresserad till PC 1
  5. Switchen läser av avsändarens MAC-adress, nu PC 3, och associerar inkommande portnumret i MAC-tabellen.
  6. Det är nu som S1 kan vidarebefordrar alla frame som växlas mellan Pc1 och PC3.

Överföringsmetoder

När nätverk blev större ökade också frame-trafiken därmed kollisioner (känd som kollisionsdomäner) i det lokala nätverket. Företagens nätverk började uppleva långsammare nätverksprestanda mest på grund av kollisioner. Kollisionsdomäner kunde begränsas med Ethernet bryggor (en tidig version av en switch).

Store-and-forward switching

Under 1990-talet möjliggjordes framsteg inom integrerad kretsteknik för LAN-switchar så att Ethernet bryggor kunde ersättas. LAN-switchar hanterade ram-trafik mest programvarubaserat vilket genererade längre tid i sitt arbete.

När LAN-switchar utrustades med specifika fysiska kretsar (ASICs) kunde dessa maskiner hantera ramar (frames) mycket snabbare. Dessutom kunde LAN-switchar lagra mottagna ramar i en kö och kontrollera om allting var korrekt innan de mottagna ramar vidarebefordrades. Denna metod för vidarebefordring av frame vid skikt 2 kallas för ”Store-and-forward switching”. Denna frame-vidarebefordring har två primära egenskaper: felkontroll och automatisk buffring.

Felkontroll

Bild 3: Frame överföring

En switch som använder store-and-forward switching utför en felkontroll på varenda inkommande frame. Switchen läser av värdet i fältet FCS av mottagna ramar och utför en egen FCS beräkning. 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.

Sammanfattningsvis kan det sägas att store-and-forward tekniken går ut på att hela frame tas emot och felkontrolleras innan den vidarebefordras. Medan felkontrollen utförs fortsätter switchen ta emot andra ramar och lagra dem i buffer-minnet. Felupptäckten är hög då hela ramen söks igenom efter fel samtidigt som dataramen tas emot. Denna metod innebär att nätverkets latenstid kan bli hög om många stora dataramar skickas och tas emot.

Cut-through switchen

I motsats till store-and-forward kan nämnas en metod till, cut-through. Metoden går ut på att enbart läsa av destinationsadressen innan hela dataramen har mottagits i sin helhet. 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 ä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).
  • 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.