5. Ethernet

Det fysiska skiktet tillhandahåller transmissionssätt för de bitar som utgör datalänk-ramar. Det fysiska skiktets tjänster och  Datalänk-protokollen skapar goda förutsättningar för olika nätverksteknologier, exempelvis Ethernet.

Bild 1: Protokoll 802.2 och 802.3

Ethernet är den LAN-teknik som är mest dominerande i världen. Ethernet fungerar i Datalänk- och i det Fysiska skikten därmed består Ethernet av flera protokollstandarden som definierar många aspekter av nätverkskommunikationen, inklusive ramformat, ramstorlek, tidshantering och kodning.

Eftersom Ethernet består av standarder från de två OSI-skikten kan Ethernet bäst förstås med hänvisning till OSI-kommunikationsmodellen där Datalänkskiktet delas upp i två underskikt: LLC och MAC. Dessa underskikt beskrivs i standarden IEEE 802.2 och IEEE 802.3

Logical Link Control – kommunikation med övreskiktsprotokoll

Logical Link Control hanterar kommunikationen mellan de övreskiktsprotokoll och de lägre skikten (MAC och Fysiska). Kommunikationshanteringen är typiska tjänster och applikationer i övre skikten. Dessa applikationer tillämpas i hårdvara i de lägre skikten. LLC underskiktet lägger styrinformation i varje IPv4 paket så att paketleveransen kan underlättas.

Bild 2: LLC och MAC underskikt

Bilden ovan ska man tolka som följande:

  • I översta raden är tillgängliga nätverksprotokoll och tjänster i OSI-nätverksskiktet.
  • Datalänk-skiktet delas upp i två underskikt: LLC och MAC.
  • LLC kan kommunicera med Nätverksskiktet och inte MAC.
  • LLC funktioner specificeras i standarden IEEE 802.2
  • MAC tillhandahåller adresser och kontroller över transmissionsmedia.
  • Det fysiska skiktet omvandlar ramar till en uppföljd av ettor och nollor. Dessa ettor och nollor representeras med signaler anpassade till nätverksmediet specificerat av MAC-åtkomstkontroller.
  • Datalänk-skiktet och det fysiska skiktet motsvarar Nätverksåtkomst skiktet i TCP/IP.
  • I Nätverksåtkomst skiktet implementeras Ethernet.
  • Flera varianter av Ethernet finns: 802.3, 802.3u FastEthernet, 802.3z GigaEthernet.

LLC funktioner implementeras i programvara och dess genomförande är oberoende av den fysiska utrustningen. I en dator kan LLC betraktas som drivrutiner för nätverkskortet (NIC).

MAC underskikt

MAC protokollsfunktioner implementeras i hårdvara, vanligtvis i datorns nätverkskort. MAC fungerar som ett interface mellan protokoll i LLC och transmissionsteknik i det Fysiska skiktet. Den primära ansvaret är att flytta datapaket till och från ett nätverkskort och till och från transmissionsmedia. MAC underskiktet emulerar full-duplex kommunikation i en multipunkt nätverk (flera nätverksenheter delar transmissionsmedia) och det stödjer unicast, multicast och broadcast kommunikationssätt.

Studera en stund bild 3.

Bild 3: MAC underskiktets ansvarsområden

Bilden ovan visar att MAC underskiktet har två primära ansvar:

  • Signalering och datainkapsling.
  • Åtkomstkontroller för transmissionsmedier.

Signalering och datainkapsling

Processen kan sammanfattas i tre primära funktioner:

  • Frame delimiting – Ramavgränsningen identifierar grupper av bitar som representerar ramar. Processen genererar synkroniseringsmönster mellan sändande och mottagande kommunikationsparter.
  • Adressering – Datainkapslings processen förser med L3 och L2 adresser.
  • Error detection – Feldetektering görs med mekanismer specificerade i ramarnas Trailer.

Datainkapslings processen inkluderar information om ramuppbyggnad före transmissionen och bitgruppering vid mottagandeRamuppbyggande i MAC-underskiktet förser en header och en trailer till L3 PDU.

En ytterligare funktion av datainkapsling är feldetektering. Varje Ethernet-ram innehåller en trailer med en cyklisk redundanskontroll (CRC) för styrinformation i en rams header. Vid mottagning av en ram, räknar den mottagande nätverksenheten ut en CRC summa grundad i ramens innehåll. Därefter jämförs mottagarens uträknat CRC värde med den CRC värde inkluderad i ramen. Om dessa två CRC värde stämmer kan ramen betraktas vara utan fel och därmed accepteras av mottagaren, annars är ramen ogiltig och därför tas den bort från nätverket.

Åtkomstkontroller för transmissionsmedier

Det andra ansvaret för MAC-underskiktet är åtkomstroller för transmissionsmedier. Media Access Control underskiktet ansvarar för placering av ramar på och från transmissionsmedia i direkt kommunikation med det fysiska skiktet.

Den grundläggande logiska topologin hos Ethernet är en multi-access-buss där delar alla nätverksenheter på en enda transmissionsmedia. Ethernet är en kollisionsbaserad nätverksteknik. En sådan teknik tillåter endast en nätverksenhet per gång att sända data över det gemensamt transmissionsmediet. Åtkomstrollen Carrier Sense Multiple Access/Collision Detection (CSMA/CD) används i halvduplex Ethernet LAN för att upptäcka och hantera kollisioner. Dagens Ethernet har stöd för full-duplex överföringar vilket möjliggör samtida överföringar utan kollisioner.

Ethernet utveckling

Sedan etableringen av Ethernet år 1973 har nya standarder utvecklats för att specificera snabbare och mer flexibla versioner av Ethernet.

  • 1973 Ethernet skapas av Dr Robert Metcalf och Xerox koncern
  • 1980 DIX standard och Ethernet II standarder. Digital Equipment, Intel och Xerox släpper standard för 10 Mbps över koaxialkabel.
  • 1983 publiceras nya versioner av Ethernet IEEE 802.3 och 10 BASE-5. 10 Mbps över koaxialkabel.
  • 1985 grundas SynOptics företag för utveckling av TP Ethernet hubbar.
  • 1990 grundas Crescendo företag för utveckling av TP FDDI nätverksprodukter och Ethernet hubbar.
  • 1995 grundas Granite Systems för utveckling av Gigabit Ethernet nätverksprodukter.
  • 1998 Ethernet fyller 25 år

Denna utvecklingsförmåga är en av huvudorsakerna till att Ethernet blivit så populär som LAN-nätverksteknologi. Tidiga versioner av Ethernet var relativt långsamma vid 10 Mbps. De senaste versionerna av Ethernet arbetar med 10 Gigabit per sekund och snabbare. Ethernet stödjer bandbredden på:

  • 10 Mbps
  • 100 Mbps
  • 1000 Mbps (1 Gbps)
  • 10 000 Mbps (10 Gbps)
  • 40 ooo Mbps (40 Gbps)
  • 100 000 Mbps (100 Gbps)

Vid datalänkskiktet är ramkonstruktionen nästan identisk för alla Ethernet-hastigheter. Ethernet-ramkonstruktionen lägger header och trailer runt Layer 3 PDU så att det kan skickas ut till destinationsnätverket.

Bild 4: Ethernet II frame

Ethernet II är Ethernet-ramformatet som används i TCP / IP-nätverk.

Ethernet ramformat

Som bekant lägger Ethernet ramkonstruktionen header och trailer runt L3 PDU. Både Ethernet-header och trailer har flera fält som innehåller styrinformation och som används av Ethernet-protokollet.

Det finns två typer av inramning för Ethernet:

  • DIX Ethernet standard som idag kallas Ethernet II
  • IEEE 802.3 standard som har uppdateras flera gånger för att inkludera nya nätverksteknologier.

Skillnader mellan dessa två standarder och hur paket inkapslas i ramar är minimala. Den viktigaste skillnaden mellan dessa två standarder är tillägget i 802.3 av en Start Frame Delimiter (SFD) och en liten förändring till fältet Type för att omfatta Length, så som visas i figuren.

ch9-ethernet-09
Bild 5: Frame format: IEEE 802.3 och Ethernet II

Ethernet rams fält

  • Preamble and Start Frame Delimiter fälten Preamble (7 bytes) och Start Frame Delimiter (SFD) (1 byte) används för synkronisering mellan sändande och mottagande nätverksenheter. Dessa första åtta byte används för att få uppmärksamhet från mottagande nätverksenheter. Egentligen är den första byte som berättar för mottagarna att göra sig redo för att ta emot en ny ram.
  • Destination MAC Address (6 byte) fält identifierar mottagaren. Adressen används av enheter i skikt 2.
  • Source MAC Address (6 byte) fält identifierar den sändande interface (NIC).
  • Length/Type (2 byte) fält definierar den exakta längden på ramens datafält. Fältens innehåll används sedan som en del av FCS för att kontrollera om meddelandet togs emot utan deformationer. Om fältet Type används indikerar detta att ramar hanteras av Ethernet II.
    • Dessa två användningsområden (Length/Type) kombinerades officiellt år 1997 i IEEE 802.3x-standarden eftersom båda var allmänt i bruk. När en nod tar emot en ram måste den undersöka Length fältet för att avgöra protokoll i bruk.
    • Om de två oktett är lika med eller större än 0x0600 hexadecimal eller 1536 decimal då innehållet i datafältet avkodas enligt Ethernet II frame-format (Type) i vilket definieras ett protokoll. (> 1536 då Ethernet II, Type)
    • Om värdet är lika med eller mindre än 1500 decimal eller hexadecimal 0x05DC då Length fältet används för att indikera användning av IEEE 802.3 frame-format. Detta är hur Ethernet II och 802.3 differentieras. (< 1500 då Ethernet 802.3, Length).
  • Data och Pad fälten (46-1500 bytes) innehåller de inkapslade data från ett högre skikt vilket är en L3 PDU eller IPv4-paket. Alla ramar måste vara minst 64 byte långa. Om ett litet paket är inkapslat används Pad fältet för att öka storleken på ramen till den minimala storleken.
  • Frame Check Sequence fält (4 bytes) används för feldetektering i en ram. Ethernet använder en cyklisk redundanskontroll (CRC) som går ut på att jämföra mottagarens egen CRC värden med avsändarens CRC värd. Den mottagande enheten tar emot ramen och genererar en CRC för att leta efter fel. Om beräkningarna stämmer inträffade inga fel. Men om CRC värden inte stämmer med varandra är detta en indikation på att data har förändrats, därför kommer ramen att tas bort. En förändring i data kan vara ett resultat av en störning av de elektriska signaler som representerar de bitarna.

Ethernet ramstorlek

Båda Ethernet standarder, II och 802.3, definierar den minsta ramstorleken som 64 byte (6+6+2+46+4) och det maximala som 1518 byte (6+6+2+1500+4). Det inkluderar alla byte från Destinations MAC-adressfältet till Frame Check Sequence (FCS) fält.

ch9-ethernet-09-1
Bild 6: Ethernet 802.3 standard ramstorlek 1518 byte

Fälten Preamble och Start Frame Delimiter inkluderas inte när man beskriver ramstorleken.

IEEE-standarden 802.3ac som släpptes 1998 förlängde den högsta tillåtna ramstorleken till 1522 byte. Ramstorleken ökades för att anpassa en ny teknik som kallas Virtual Local Area Network (VLAN).

ch9-ethernet-09-2
Bild 7: Ethernet 802.3 max ramstorlek med stöd för VLAN

Om storleken på en överförd ram är mindre än den minsta (64 byte) eller större än den maximala tas bort ramen vid mottagande. Borttagna ramar anses vara deformerade och därför ogiltiga.

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Ethernet

Idag är Ethernet helt ohotat som teknik i lokala nätverk för att det inte finns i princip inget annat alternativ. Ethernets framgång beror delvis på att det är en enkel teknik som det har varit lätt att bygga på, de brister som finns med Ethernet är dessutom väl kända därmed lätt att åtgärda. Ett annat skäl är Ethernets fantastiska utveckling. Från 10 Mbit/s i slutet av 1970-talet till 10 Gbit/s i dagens nätverk.

Bild 2: Logisk buss men fysisk stjärna

Ethernet betraktar nätverket som en logisk buss till vilken anslutas nätverksenheter. I ett sådant nätverk alla kan prata med alla och alla kan sända data till alla. Ethernet tillåter att paket skickas genom bussen så att paketet når alla anslutna nätverksenheter även om paketet är avsedda endast till en specifik nätverksenhet/dator. Även om alla datorer i det lokala nätverket har möjlighet att läsa paketets innehåll kommer de att filtrera bort paketen som är avsedda för en annan mottagare. I Ethernet-headern anges avsändarens- och mottagarens adress.

Idag byggs Ethernet som stjärnformade nät. I centrum sitter en Ethernet switch som sammanbinder nätverksenheter, därifrån namnet “uppkopplingsenhet”. Även om ett nätverk är utformat som en stjärna fungerar det som en logisk buss-topologi. Kabeltyperna som används för att koppla samman datorer via en switch är så gott som uteslutande koppar partvinnad kabel eller fiber. Kablarnas fysiska egenskaper avgör överföringshastigheten allt från 10 Mbit/s till 10 Gbit/s. Den vanligaste standarden är 100Base-T (100 Mbit/s över partvinnad kabel, T som i twisted pair). Byter vi sista bokstaven mot ett F så avser standarden fiber. Byter vi första siffran mot 10 eller 1 000 så avser standarden 10 respektive 1 000 Mbit/s.

100Base-T kallas ofta ”Fast Ethernet”, det finns egentligen fler varianter. Den vanligaste standarden betecknas egentligen 100Base-TX.

Att bygga ett Ethernet-baserat nätverk har blivit lätt. Standarder har medfört billig och driftsäker utrustning. Att Ethernet är lätt att bygga innebär dock inte att det inte kan krångla.

  • Ethernet består av flera standarder. Mycket av detta löser sig genom självkonfigurering men det kan bli problem när all utrustning ska lyssna och ställa in sig.
  • Partvinnat kablar ger möjlighet till full duplex, ett kabelpar används för sändning och ett för mottagning. Utrustning ska klara av detta själv men vissa utrustningar fungerar inte som de ska.
  • Partvinnat rakt kablage ska användas mellan en switch och en dator och korsat kablage avsett för kommunikation dator till dator eller switch till switch. Många tillverkares utrustning kan idag ställa om automatiskt för korsat kablage men ibland fungerar det inte. Länklampan ska lysa i bägge ändar, annars kan man misstänka problem med kablaget.
  • Det är normalt med en viss paketförlust på Ethernet, men den bör bara ligga på någon eller några procent. För långt kablage eller för många kopplingar mellan nätverksenheter leder till sena kollisioner, dessa ska inte förekomma på ett väl fungerande Ethernet.
  • Prispressen på Ethernet-utrustning har lett till att utrustningen har minimala buffertar på varje port. Om två paket kommer in samtidigt måste utrustningen buffra paketet tills bussen blir ledig. Lågprisutrustning kan dessutom ha svårigheter med att hantera flera MAC-adresser på samma port. Detta gör att paket försvinner, och applikationer kan beskyllas för att fungera dåligt när felet egentligen ligger i det lokala nätet.

Åtkomst till transmissionsmedia

För att förstå varför paketförluster uppstår på Ethernet behöver vi titta lite noggrannare på den åtkomstmetod som används. Accessmetoden anger hur datorerna ska dela på den gemensamma kanalen. För Ethernet heter denna metod CSMA/CD (Carrier Sense Multiple Access with Collision Detection). Alla enheter/stationer har tillgång till en och samma kanal (Multiple Access). Alla lyssnar på trafik i transmissionsmediet först, om det är ledigt (Carrier Sense) sänder en enhet/station. Om någon annan enhet/station sänder samtidigt sker en kollision (Collision Detection). Enheten/stationen ska avbryta i så fall genast, vänta en slumptid och försöka på nytt.

Ethernets paketformat

Med paket menas här egentligen en ram eller frame på engelska. Det finns flera olika standarder för hur Ethernet-paket kan se ut, detta var ett komplext problem under 1980-talet med olika Ethernet-inkapslingar. Idag används främst Ethernet II som är enkel att förstå. I Datalänk skiktet tar vi upp mer om Ethernet frame.

Bild 3: Ethernet frame-format

Ethernet II har en minimal header bestående av 14 byte uppdelade på destinationsadressen (DA), avsändaradressen (SA) samt typfältet. Fältet Type anger vilken typ av datainnehåll ramen innehåller. Fältet består av två byte. Till exempel betyder 0x0080 att innehållet är IP. Datafältet består av 46–1 500 byte och kan innehålla viss utfyllnad (padding på engelska, det innebär att man fyller ut med det antal nollor som behövs). På slutet inkluderas en 32-bitars checksumma.

Några egenskaper av Ethernet II

  • Ethernet II definierar den minsta ramstorleken som 64 byte och det maximala som 1518 byte.
  • Både avsändar- och mottagaradresserna består av 6 byte eller 48 bitar. Den här typen av adresser kallas MAC-adresser (fysiska adresser) där MAC står för Media Access Control. En MAC-adress kan till exempel vara 00-50-DA-69-D7-35.
  • Det finns tillägg till Ethernet II frame-format (max nu 1522 byte) för att hantera olika logiska nät (VLAN) och prioriteringsfunktioner. Standarderna för dessa kallas 802.1Q respektive 802.1p.

IP och MAC adresser

På Nätverksskiktet är fokus de logiska adresser och på Datalänk skiktet är de fysiska adresser. Logiska adresser är hierarkiska eftersom först definieras nätverksadressen och därefter dator/enhet/nod/hostadressen. Detta innebär att flera enheter har en och samma nätverksadress samt egen hostadress. Däremot är MAC adresser icke-hierarkiska därmed varje adress tilldelas endast till en enhet.

Med dessa två adresser finns tre principiella olika sätt att adressera en eller flera mottagare.

  • Unicast – en enstaka nod adresseras
  • Broadcast – alla noder i ett nätverk
  • Multicast – flera noder adresseras i ett nätverk, men inte alla noder i nätverket.
  • Unicast – från en host till närmaste host

ARP

Om en dator ska skicka IP-paket till en annan behöver den ta reda på mottagarens MAC-adress. Annars skulle paketet filtreras bort av mottagarens datalänk skiktet.

  • Om mottagare finns på samma LAN som avsändaren löser detta problem med hjälp av protokollet ARP eller Address Resolution Protocol. Avsändardator skickar en så kallad ARP Request med en mottagaradress på Ethernet-nivå där alla bitar satts till 1 (FF-FF-FF-FF-FF-FF). Alla Ethernet enheter tar då emot paketet och granskar innehållet, en ARP Request. Den mottagare som har rätt IP-adress besvarar med en ARP Response och skickar då tillbaka sin MAC-adress till avsändaren.
  • Om mottagare finns inte på samma LAN som avsändaren kontaktas istället Default Gateway (en router som ansluter till andra nätverk).

Resultaten lagras temporärt av bägge noderna av sändare och mottagare. Med kommandot ”arp -a” visas innehållet i ARP-cacheminnet.

ARP är en grundläggande och stabil mekanism i moderna nätverk.  Ändå finns det principiella säkerhetsproblem med funktionen exempelvis när en nod som innehåller skadlig kod eller ett hackarverktyg kan välja att svara på ARP-frågor.

TCP, IP och Ethernet

Bild 7: TCP portnummer

Från en och samma dator kan olika applikationer generera olika dataströmmar som behöver identifieras. Datorn har en IP- och en MAC-adress och applikationer har portnummer. Till exempel en dator med IP adress 209.64.65.10 och MAC adress 00:0a:95:9d:68:16 samt ett webbläsare genererar data som skickar i ett paket till en webb server med IP adress 200.1.2.3. Webbservern lyssnar på port 80, och klienten skickar från exempelvis port 1234.

Det är mekanismen portnummer på transportnivån som gör att en nod kan hantera en mängd dataströmmar mot andra noder simultant, den kan se vilket program som ska ha datainnehållet.

Lägg märke till att adresseringen på datalänknivå (MAC) och nätverksnivå (IP) frigör sig från varandra. IP-adresserna är globala och de är de samma över alla typer av länkar. MAC-adresserna används bara lokalt.