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.

Bild 1: Avsändarens och mottagarens MAC

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.

Broadcast-trafik

När en switch mottar en inkommande ram med en destinations-MAC-adress som inte finns i CAM-adresstabellen skickar switchen ramen ut ur alla portar (broadcast) förutom ramens ingångsport.

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

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).
Bild 3: Svaret skickas som unicast
  1. Mottagaren (PC 3) svarar med en unicast-frame adresserad till PC 1 .
  2. Switchen läser av avsändarens MAC-adress, nu PC 3, och associerar inkommande portnumret i MAC-tabellen.
  3. 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).

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 switchar utrustades med specifika fysiska kretsar (ASICs) kunde dessa maskiner hantera ram-trafik mycket snabbare. Switchar kunde nu hantera ett flertal portar utan att försämra deras prestanda. Dessutom kunde de 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”.

Store-and-forward switching

Denna frame-vidarebefordring har två primära egenskaper: felkontroll och automatisk buffring.

Felkontroll

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.

Automatisk buffertering

Funktionen ger flexibiliteten för temporär lagring så att blandade Ethernet-hastigheter kan hanteras. Medan felkontrollen utförs fortsätter switchen ta emot andra ramar och lagra dem i buffer-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 kan det sägas att store-and-forward tekniken går ut på att hela frame tas emot och felkontrolleras innan den vidarebefordras. 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 läsa av destinationsadressen innan hela dataramen 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 ä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.