Computernetværk og internettet



Relaterede dokumenter
TCP & UDP. - de transportansvarlige på lag 4. Netteknik 1

Introduktion til Quality of Service

Indhold Kapitel 1 Computernetværk og internettet

Quality of Service. - en introduktion! IP telefoni kursus

Infrastruktur i hjemmet og begreber

Internettet Netværk. Hvad er netværk?

QoS. - prioritering af pakketransporten! Netteknik 1

Introduktion til computernetværk

Internet Protokollen. - IP er arbejdshesten på næsten alle netværk! Netteknik 1

SIP. Session Initiation Protocol TDC IP telefoni Scale. SIP design mål

Her kan du læse om OSI modellen, og de 7 forskellige lag. Der er en mindre detaljeret beskrivelse udfra hvert lag.

QoS Design overblik. Agenda. QoS på L3. Trafiktyper. QoS principper. Voice Best-Effort. Klassifikation og mærkning Policing Queing

Internet Protocol (IP)

H.323. Protocol suite. En ITU standard til VoIP

SIP. Session Initiation Protocol. TDC IP telefoni Scale

IP Telefoni En naturlig udvikling?

Notater til Computernetværk og Distribuerede Systemer Del 1. Vidar Jon Bauge 2006

IP Telefoni. IP telefoni introduktion. TDC IP telefoni Scale

ARP og ICMP. - service protokoller, som vi ikke kan undvære! Netteknik 1

QoS Design overblik. QoS på L3

Forord. Hvad gør denne lærebog til noget specielt? Målgruppe

TCP/IP stakken. TCP/IP Protokollen består af 5 lag:

Netteknik 1. AMU kursus nr Netværk grundlæggende ( AMU Netteknik 1 ) - anvendelse af teknologier og begreber. Formålet med kursus

Synkron kommunikation

Adgang til internettet Manuel login: Automatisk login: Benyttelse af router:

Opsætning af . Tilføjelse af -konti. Tilføjelse af en POP3-konto. Sådan tilføjer du en POP3-konto til Outlook

Network. Netværks design. Region Syd Grundlæggende netværk

Netteknik 1. AMU kursus nr Netteknik 1 (AMU 44947) - anvendelse af teknologier og begreber. Formålet med kursus

Computer Networks Specielt om Infrastrukturer og Teknologi

Netteknik 1. - anvendelse af teknologier og begreber. AMU kursus nr

KURSER INDENFOR SOA, WEB SERVICES OG SEMANTIC WEB

Bilag 2: Kravspecifikation - Side 1

har jeg hentet nedenstående anmeldelse af et godt program til

Opbygning af firewall regler. Overvejelser med mere

Accelerace og Green Tech Center kommer nu med et unikt tilbud om udvikling af din virksomhed Green Scale Up

Netprøver.dk. Nødprocedurer ved afvikling af prøver i Netprøver.dk

VLAN. - mange logiske net på ét fysisk! Netteknik 1

Bilag 1a. Produktspecifikation for Adgang BSA Kabel-tv net

Overvågningskamera. ~Af Svend, Valdemar og Frederik~

Sådan fikser du din netværks forbindelse hurtigt

Bilag 1c. Infrastruktur & Kapacitet

NETVÆRKSKURSUS Oktober November jmt

Netværksmålinger. - en introduktion! Netteknik. TCP - IP - Ethernet

beskrivelse af netværket på NOVI

Deling i Windows. Netteknik 1

Hub & Lag 2 Switch. - Ethernet-enhederne fra lag 2! Netteknik 1

VLAN, Trunk & VTP. VLAN: Virtual Local Area Network

Arbejdsgruppen vedrørende Beskyttelse af Personer i forbindelse med Behandling af Personoplysninger. Henstilling 1/99

Hvad er formel logik?

Netværksmålinger. - en introduktion! Netteknik

Forår Firewalls

Ruko Security Master Central Database

2G 3G 4G Kategori (dækning) RXLev (dbm)

PHP Quick Teknisk Ordbog

Hvad du søgte efter Identiteten på det websted, du besøgte umiddelbart før vores websted (henvisende websted).

TEKNOLOGIFORSTÅELSE SOM FAG - MELLEMTRIN 4. KLASSE

IT Support Guide. Opsætning af netværksinformationer i printere

KÆRE MEDARBEJDER OG LEDER

Unik service og support til din Duka computer eller tablet. Læs om serviceordningerne til dit produkt her

Ofte stillede spørgsmål om GovCERT s serviceydelser og sensornetværk

EG Data Inform. Byggebasen. WCF og webservices. Jens Karsø

Om ONEBox... 2 Faciliteter i ONEBox... 2 Overordnet teknisk overblik... 2 Multiple servere... 3 Backup... 4 Sikkerhed... 5 Domæner... 6 Web...

Hvad er fremtiden for internettet?

Det Danske Filminstitut byder velkommen til vores UDP Server. Pligtaflevering - Version 2.0

Brugervejledning - til internetbaseret datakommunikation med Nets ved hjælp af HTTP/S-løsningen

eyjo IT Consulting AKB Afdeling 207, Ejendomskontoret Att.: Dion Madsen Urbansgade København Ø Østerbro d. 5. december 2005

Deling i Windows. - via NetBIOS eller Hjemmegruppe! Netteknik 1

VLAN. - mange logiske net på ét fysisk! Netteknik 1

IDAP manual Emission

IP adresser. En ip adresse består af en 32bit adresse (dec.) En oktet består af 8 bit. Eller en Byte.

Velkommen til REX onlinehjælp

Kommunikation og teknologi

Hvad skal du vide for at bygge din egen computer?

Nu kommer bredbånds-wwan: hvilken betydning har det for den mobile professionelle bruger?

Forberedelse. Forberedelse. Forberedelse

Få fuld glæde af de digitale løsninger med duka-serviceordninger - trygt og enkelt

FTP-guide. Import og eksport af Engrosdata. 27. marts 2015 XSTJ. Projekt Version Dato Forfatter FTP-guide XSTJ

Vejledning i opsætning af NemHandelsprogrammet

Transkript:

Kapitel 1 Computernetværk og internettet Computernetværk er et af vor tids mest spændende og væsentligste områder. Internettet forbinder millioner (og snart milliarder) af computere, der sørger for global kommunikation, lagerplads og beregninger. Desuden integreres internettet i dag med mobil og trådløs teknologi, hvilket har skabt en imponerende række af nye anvendelsesområder. Computernetværk er i sandhed nået langt siden den spæde barndom i 1960 erne. Men dette er kun begyndelsen en ny generation af kreative udviklere og computerteknikere vil føre internettet ind i endnu ikke betrådte egne. Denne bog giver dagens studerende de hjælpemidler, de skal bruge for at opsøge og udforske nye landområder inden for dette spændende felt. Kapitel 1 præsenterer computernetværk og internettet med den brede pensel for at give et generelt billede af computernetværk og se på skoven med træerne. Vi kommer vidt omkring i dette indledende kapitel, og en masse»stumper«i et computernetværk diskuteres, uden at det går ud over det»store overblik«. Dette kapitel lægger grunden til resten af bogen. Det kan også bruges som et minikursus i computernetværk. Først introduceres de grundlæggende termer og begreber, hvorpå der skiftes til computernetværkets»overflade«. Slutsystemer og netværksapplikationer dækkes og ligeledes de transportservices, de benytter sig af. Derefter undersøges»kernen«i et computernetværk, dvs. de forbindelser og switche, som transporterer data, såvel som de access-netværk og fysiske medier, der forbinder slutsystemer med netværkskernen. Målet er at vise, at internettet er netværkernes netværk, og at påvise, hvordan disse netværk forbindes indbyrdes. Når denne gennemgang er afsluttet, udvides perspektivet. Årsagerne til forsinkelser og tab i dataoverførsler i et computernetværk undersøges, og der præsenteres nogle enkle kvantitative modeller over ende-til-ende-forsinkelser, modeller, som tager højde for forsinkelser i overførsler, spredning og køer. Så fremlægges nogle af de grundlæggende arkitektoniske principper i computernetværk, dvs. opdeling i protokollag og servicemodeller. Kapitlet afsluttes med en kort historisk gennemgang af computernetværkets historie.

20 Kapitel 1 Computernetværk og internettet 1.1 Hvad er internettet? I denne bog bruges det offentlige internet, et konkret computernetværk, som det primære udgangspunkt for en diskussion af computernetværksprotokoller. Men hvad er internettet? Det ville være rart med en kort definition af internettet, som man kunne bruge over for familie og venner. Desværre er internettet meget kompliceret, ikke alene med hensyn til hardware og softwarekomponenter, men også med hensyn til de services tjenester det giver adgang til. 1.1.1 Hvad skal der til? I stedet for en kort definition er det snarere på sin plads med en mere beskrivende forklaring. Det kan gøres på forskellige måder. Én måde er at beskrive internettets»byggesten«, dvs. de grundlæggende hardware- og softwarekomponenter, som nettet består af. En anden måde er at beskrive internettet ud fra en netværksinfrastruktur, som leverer services til distribuerede applikationer. Det er mest praktisk at begynde med byggestenene (se figur 1.1). Det offentlige internet er et globalt computernetværk, dvs. et netværk, som forbinder millioner af computerenheder over hele kloden. De fleste af disse computerenheder er traditionelle stationære pc er, UNIX-baserede arbejdsstationer og såkaldte servere, som opbevarer og videregiver informationer såsom websider og e-mailmeddelelser. Der en stigende tendens til, at ikke-traditionelle internetbaserede slutsystemer såsom PDA er (Personal Digital Assistants), tv-apparater, bærbare computere, automobiler og brødristere sluttes til internettet. Brødristere [Toasty 2002] er ikke de eneste usædvanlige enheder, der er blevet koblet på internettet; se»internet Home Appliances«[Appliance 2001]). I internetsammenhæng kaldes alle disse enheder værter (hosts) eller slutsystemer. I januar 2002 anvendte 100-500 mio. slutsystemer internettet, og dette tal stiger fortsat voldsomt [ISC 2002]. Slutsystemer sammenkobles ved hjælp af kommunikationsforbindelser. I afsnit 1.4 viser vi, at der er mange typer kommunikationsforbindelser, som består af forskellige former for fysiske medier, herunder coax-kabler, kobberledninger, fiberoptik og radiospektre. Forskellige forbindelser kan overføre data med forskellige hastigheder. En forbindelses overførselshastighed betegnes ofte som forbindelsens båndbredde, der typisk måles i bit/ sekund. Slutsystemer er normalt ikke direkte forbundet til hinanden via en enkelt kommunikationsforbindelse. De er i stedet indirekte forbundet til hinanden via mellemliggende omstillingsenheder, der kaldes routere. En router tager en informationsstump fra en af sine indgående kommunikationsforbindelser og videresender denne information til en af sine udgående kommunikationsforbindelser. I computernetværksjargon kaldes denne informationsstump en pakke. Den bane, som pakken følger fra afsendersystemet gennem en række kommunikationsforbindelser og routere til modtagersystemet, er ruten eller vejen gennem netværket. Frem for at fastlægge en dedikeret rute mellem de kommunikerende slutsystemer, bruger internettet en såkaldt pakkekoblingsteknik, der gør det muligt for flere kommunikerende slutsystemer at benytte en rute, eller dele af en rute, på samme tid. De første pakkekoblede netværk, der blev etableret i 1970 erne, er de tidligste spirer til nutidens internet. Slutsystemer får adgang til internettet via udbyderservices, de såkaldte internetudbydere (Internet Service Providers), herunder faste services som AOL eller MSN, universitetsservices som Stanford University og virksomhedsservices som Ford Motor Company.

1.1 Hvad er internettet? 21 Lokal udbyder Regional udbyder Key: Vært (eller slutsystem) Firmanetværk Server Mobil Router Modem Basisstation Satellitforbindelse Figur 1.1 Nogle internetbestanddele. Hver udbyder er et netværk med routere og kommunikationsforbindelser. De forskellige udbydere giver slutsystemerne forskellige muligheder for netværksadgang, herunder en 56 kbps modembaseret opkaldsforbindelse, fast bredbåndsadgang såsom kabelmodem eller DSL, højhastighedsbaseret LAN-adgang og trådløs adgang. Udbydere giver også adgang for indholdsbaserede services, hvor websteder får direkte internetforbindelse. For at sikre kommunikationen mellem internetbrugere og give dem adgang til nettets indhold globalt er disse udbydere på lavt niveau indbyrdes forbundet via overordnede nationale og internationale udbydere, såsom UUNet og Sprint. En overordnet ISP består af højhastighedsroutere, der er indbyrdes forbundet ved hjælp af fiberoptiske højhastighedsforbindelser. Det enkelte udbydernetværk, det være sig over- eller underordnet, styres separat, kører IP-protokollen

22 Kapitel 1 Computernetværk og internettet (se følgende afsnit) og følger bestemte navngivnings- og adresseringskonventioner. Udbydere og deres indbyrdes forbindelse beskrives nærmere i afsnit 1.5. Slutsystemer, routere og andre»dele«af internettet kører protokoller, som kontrollerer modtagelse og afsendelse af informationer på internettet. TCP (Transmission Control Protocol) og IP (Internet Protocol) er to af de vigtigste internetprotokoller. IP definerer formatet på de pakker, som sendes og modtages af routere og slutsystemer. Internettets bærende protokoller kaldes samlet for TCP/IP. Protokoller behandles i dette indledende kapitel. Men det er blot en forsmag en stor del af denne bog drejer sig om computernetværksprotokoller! Det offentlige internet (dvs. det globale netværkernes netværk, som blev omtalt i det foregående) er det netværk, som typisk kaldes internettet. Der er også mange private netværk, eksempelvis virksomhedsrelaterede og statslige netværk, hvis værter ikke kan udveksle meddelelser med værter udenfor (medmindre meddelelserne sendes gennem såkaldte firewalls, der regulerer meddelelsesstrømmen til og fra netværket). Disse private netværk kaldes ofte for intranet, da de bruger samme slags værter, routere, forbindelser og protokoller som det offentlige internet. På det tekniske og udviklingsmæssige niveau realiseres internettet på basis af etablering, afprøvning og implementering af internetstandarder. Disse standarder udvikles af Internet Engineering Task Force (IETF) [IETF 2002]. IETF s standarddokumenter kaldes RFC er (request for comments). RFC er var i begyndelsen generelle anmodninger om kommentarer (deraf navnet) til løsning af de arkitektoniske problemer, som forstadiet til internettet løb ind i. Selv om RFC er formelt set ikke er standarder, har de udviklet sig til at være det i praksis. RFC er er som regel ganske tekniske og detaljerede. De definerer protokoller som TCP, IP, HTTP (til webbrug) og SMTP (til e-mail baseret på åbne standarder). Der findes mere end 3.000 forskellige RFC er. 1.1.2 Services Den foregående diskussion har peget på mange af de elementer, som udgør internettet. Et skift fra byggestenene til den servicemæssige side falder naturligt ind her: På internettet kan distribuerede applikationer på slutsystemerne udveksle data med hinanden. Disse applikationer omfatter fjernlogin, elektronisk post, websurfing, instant messaging, lyd- og billedstreaming, internettelefoni, distribuerede spil, peer-to-peerbaseret fildeling (P2P-fildeling) og meget, meget andet. Det er værd at bemærke, at»webbet«ikke er et særskilt netværk, men derimod blot en af mange distribuerede applikationer, som gør brug af internettets kommunikationsservices. De distribuerede applikationer på internettet har adgang til to services: en forbindelsesorienteret sikker service og en forbindelsesløs ikke-sikker service. Groft sagt garanterer den forbindelsesorienterede sikre service, at data, der sendes fra en afsender til en modtager, i sidste ende afleveres til modtageren i den rigtige rækkefølge og i sin helhed. Den forbindelsesløse ikke-sikre service garanterer ikke for den endelige levering. En distribueret applikation benytter typisk en af disse services (ikke dem begge). I øjeblikket findes der på internettet ikke en service, der kan garantere, hvor lang tid det tager at overføre data fra afsender til modtager. Og ud over en udvidelse af båndbredden hos internetudbyderen kan man i dag ikke få en bedre service (for eksempel

1.1 Hvad er internettet? 23 afgrænsede forsinkelser) ved at betale mere en situation, som nogle (især amerikanere!) finder besynderlig. Den nyeste internetforskning, som søger at ændre på denne situation, gennemgås i kapitel 6. Denne anden beskrivelse af internettet der fokuserer på de services, distribuerede applikationer kan bruge er utraditionel, men vigtig. Forbedringer af byggestenene i internettet er drevet frem af de krav, som nye applikationer stiller. Derfor er det vigtigt at huske, at internettet er en infrastruktur, hvor nye applikationer konstant udvikles og tages i brug. Af de to netop omtalte beskrivelser af internettet tager den ene sit udgangspunkt i hardware- og softwarekomponenterne, den anden i de services, som distribuerede applikationer kan udnytte. Men måske er det stadig uklart, hvad internettet er. Hvad er pakkekobling, TCP/IP og forbindelsesorienterede services? Hvad er routere? Hvilke kommunikationsforbindelser findes der på internettet? Hvad er en distribueret applikation? Hvis man på nuværende tidspunkt føler sig en smule overvældet af alt dette, så fat mod formålet med denne bog er at præsentere de dele, der holder sammen på internettet, og at vise principperne for, hvordan og hvorfor det fungerer. 1.1.3 Hvad er en protokol? Nu, hvor internettet er nogenlunde på plads, kan det være relevant at se på et andet modeord i forbindelse med computernetværk:»protokol«. Hvad er en protokol? Hvad laver en protokol? Hvordan genkender man en protokol, hvis man støder på den? En menneskelig analogi Det er sikkert nemmest at forstå ideen bag et computernetværk, hvis man bruger en menneskelig analogi, da alle mennesker konstant afvikler protokoller. Tænk for eksempel på, hvad man gør, når man spørger andre om, hvad klokken er. En typisk dialog vises i figur 1.2. Den menneskelige protokol (eller i alt fald gode manerer) dikterer, at man først kommer med en hilsen (det første»hej«i figur 1.2) for at indlede kommunikationen. Det typiske svar på et»hej«er endnu en»hej«-meddelelse. Implicit opfattes et høfligt»hej«-svar som en markering af, at man kan gå videre og spørge om, hvad klokken er. Et andet svar på det første»hej«(for eksempel»lad mig være i fred!«,»jeg taler ikke dansk«eller det, der er værre) kan være tegn på en uvilje mod eller manglende evne til at kommunikere. I dette tilfælde er det ikke en menneskelig protokol at spørge om, hvad klokken er. Nogle gange får man slet ikke svar på et spørgsmål, og så vil man typisk opgive sit forehavende. Bemærk, at i menneskeprotokollen er det bestemte meddelelser, der afgives, og bestemte handlinger, der udføres som reaktion på de modtagne svar eller andre begivenheder (eksempelvis at man ikke får svar inden for en bestemt tidsperiode). Det er tydeligt, at afsendte og modtagne meddelelser samt de handlinger, man udfører, når disse meddelelser sendes eller modtages, eller der indtræffer andre begivenheder, spiller en central rolle i en menneskeprotokol. Hvis folk bruger forskellige protokoller (og den ene person er velopdragen, mens den anden ikke er det), fungerer protokoller ikke sammen, og man kan ikke nå frem til et anvendeligt resultat. Det gælder også for netværk der skal to (eller flere) kommunikationsenheder, som kører samme protokol, til at udføre en opgave. En anden menneskelig analogi er som følger: En klasse undervises (i for eksempel computernetværk!). Læreren kværner løs om protokoller, og eleverne føler sig forvirrede. Læ-

24 Kapitel 1 Computernetværk og internettet TCP-forbindelsesforespørgsel Hej Tid Hej Hvad er klokken? 2:00 Figur 1.2 En menneskelig protokol og en computernetværksprotokol. reren holder inde for at spørge:»er der spørgsmål?«(en meddelelse, som afsendes til, og modtages af, alle de elever, som ikke er faldet i søvn). En elev rækker hånden op (og afsender dermed en implicit meddelelse til læreren). Læreren reagerer med et smil og siger:»ja...«(en afsendt meddelelse, der opfordrer eleven til at stille sit spørgsmål lærere er vilde med at få stillet spørgsmål). Læreren lytter til spørgsmålet (modtager meddelelsen i form af elevens spørgsmål) og svarer (afsender et svar til elevene). Igen ser vi, at afsendelsen og modtagelsen af meddelelser og en række konventionelle handlinger, der udføres, når disse meddelelser er afsendt og modtaget, er selve kernen i denne spørgsmål-svar-protokol. Netværksprotokoller Tid Tid TCP-forbindelsessvar GET http://www.awl.com/kurose-ross En netværksprotokol ligner en menneskeprotokol, bortset fra at de aktører, der udveksler meddelelser og udfører handlinger, er hardware- og softwarekomponenter i en eller anden enhed (eksempelvis en computer, router eller netværksoptimeret enhed). Alle aktiviteter på internettet, som inddrager to eller flere eksterne kommunikationsenheder, styres af en protokol. Eksempelvis fastlægger protokoller og routere en pakkes vej fra afsender til modtager; hardwareimplementerede protokoller i to fysisk forbundne computeres netværkskort kontrollerer bitstrømmen på»ledningen«mellem to netværkskort; protokoller til kontrol af udbredelsen i slutsystemer kontrollerer den hastighed, hvormed pakker overføres mellem <file Tid

1.1 Hvad er internettet? 25 afsender og modtager. Protokoller kører overalt på internettet, og derfor handler meget af denne bog om computernetværksprotokoller. Som et eksempel på en computernetværksprotokol, som mange kender, kan man tænke på, hvad der sker, når man sender en forespørgsel til en webserver, dvs. når man skriver URL en på en webside i sin webbrowser. Scenariet ses i højre halvdel af figur 1.2. Først sender computeren en»connection request«-meddelelse til webserveren og afventer svar. Webserveren besvarer efter en tid forbindelsesforespørgslen og kvitterer med en»connection reply«-meddelelse. Da computeren nu ved, at det er i orden at bede om webdokumentet, sender den navnet på den webside, der skal hentes fra den webserver, i en»get«-meddelelse. Til slut sender webserveren websiden (filen) til computeren. Eksemplerne i det foregående, der inddrog mennesker og netværk, viser, at udvekslingen af meddelelser og de handlinger, der foretages, når disse meddelelser sendes og modtages, er grundelementerne i definitionen af en protokol: En protokol definerer formatet og rækkefølgen af meddelelser, der udveksles mellem to eller flere kommunikationsenheder, samt de handlinger, der udføres ved overførslen af og/eller kvitteringen for en meddelelse eller en anden begivenhed. Internettet, og computernetværk generelt, benytter sig i udstrakt grad af protokoller. Der bruges forskellige protokoller til at udføre forskellige kommunikationsopgaver. I løbet af denne bog viser vi, at nogle protokoller er enkle og ligetil, mens andre er komplicerede og intellektuelt mere krævende. Beherskelsen af et område som computernetværk svarer til at kunne svare på hvad, hvorfor og hvordan i forbindelse med netværksprotokoller. 1.1.4 Nogle gode hyperlinks Som enhver internetrejsende ved, finder man ikke de bedste og mest præcise informationer om internettet og dets protokoller i trykte bøger, journaler eller tidsskrifter. Noget af det bedste materiale om internettet findes på internettet! Naturligvis er der alt for meget materiale til, at man kan granske det hele nøje, og nogle gange er der for få og for langt imellem de virkelige perler. I det følgende præsenteres nogle få og ganske udmærkede websteder i forbindelse med netværks- og internetrelateret materiale. I løbet af bogen præsenteres links til relevante kvalitets-url er, som indeholder baggrundsmateriale, originalmateriale eller avanceret materiale om det bestemte emne, der undersøges. Her følger en række nøglelinks, som man kan konsultere, når man læser denne bog: Internet Engineering Task Force (IETF), www.ietf.org: IETF er en åben international sammenslutning, der beskæftiger sig med den måde, internettet og dets arkitektur udvikler sig og fungerer på. IETF blev formelt grundlagt af Internet Architecture Board (IAB), www.iab.org, i 1986. IETF samles tre gange om året; meget af det løbende arbejde klares via arbejdsgruppers mailinglister. IETF administreres af Internet Society, www.isoc.org, hvis websted indeholder en hel del kvalitetsbetonet, internetrelateret materiale. World Wide Web Consortium (W3C), www3.w3.org: W3C blev dannet i 1994 for at udvikle fælles protokoller til udviklingen af World Wide Web. Det er et fremragende sted med fascinerende informationer om nye webteknologier, protokoller og standarder.

26 Kapitel 1 Computernetværk og internettet Association for Computing Machinery (ACM), www.acm.org, og Institute of Electrical and Electronics Engineers (IEEE), www.ieee.org: Dette er de to væsentligste internationale sammenslutninger, som står for tekniske konferencer, tidsskrifter og journaler inden for netværksområdet. ACM Special Interest Group in Data Communications (SIGCOMM), www.acm.org/sigcomm, IEEE Communications Society, www.comsoc.org, og IEEE Computer Society, www.computer.org, er de grupper i disse sammenslutninger, hvis arbejde er mest netværksorienteret. Computernetværk: Internet betragtet oppefra og ned (dvs. denne bogs danske websted!), http://bog.ing.dk/compnet: På webstedet findes et væld af ressourcer, herunder hyperlinks til relevante websider, Java-appletter til illustration af netværksbegreber, brugerproblemer med svar, programmeringsprojekter, streaming audio-forelæsninger med tilhørende dias og meget andet. 1.2 I udkanten af netværket De foregående afsnit har givet en mere overordnet præsentation af internettet og netværksprotokoller. Gennemgangen dykker nu dybere ned i et computernetværks komponenter (og især internettets). Dette afsnit begynder i udkanten af et netværk og ser på de komponenter, som er de mest kendte nemlig de computere, folk bruger til daglig. Næste afsnit bevæger sig fra udkanten af netværket til netværkets kerne og undersøger switche og routere i computernetværk. Derpå diskuteres i afsnit 1.4 selve de fysiske forbindelser, som leder de signaler, der sendes mellem computere og switche. 1.2.1 Slutsystemer, klienter og servere I computernetværksterminologien kaldes computere med internetopkobling ofte slutsystemer. De kaldes systemer, fordi de er placeret i internettets udkant, som vist i figur 1.3. I internettets slutsystemer er der mange forskellige slags computere. Slutbrugere har en direkte grænseflade til disse computere, herunder stationære (pc, Mac og UNIX-baserede arbejdsstationer) og mobile computere (bærbare og PDA er med trådløs opkobling). Internettets slutsystemer omfatter også computere, som brugerne ikke har en direkte grænseflade til, såsom webservere og e-mail-servere. Ydermere er et stigende antal alternative enheder, såsom»tynde«klienter og husholdningsmaskiner [Thinplanet 2002], web-tv m.v. [Nesbitt 2002] samt digitalkameraer koblet på internettet som slutsystemer. [Manelli 2001; Appliance 2001; Dertouzous 2001] giver en interessant diskussion om internetenhedernes fremtid. Slutsystemer kaldes også værter (hosts), fordi de huser (dvs. kører) applikationsprogrammer som en webbrowser, en webserver og en e-maillæser eller en e-mailserver. I denne bog benyttes skiftevis betegnelserne værter og systemer, dvs. vært = slutsystem. Værter opdeles af og til i yderligere to kategorier: klienter og servere. Uformelt er klienter overvejende stationære og mobile pc er, PDA er osv., mens servere typisk er kraftigere maskiner, der kører servere som webservere og mailservere. Når man taler om netværkssoftware, er der en anden definition på en klient og server, en definition, som der refereres til i denne bog. Et klientprogram er et program, der kører på ét slutsystem, som anmoder om og modtager en service fra et serverprogram, der kører

1.2 I udkanten af netværket 27 Lokal udbyder Regional udbyder Figur 1.3 Interaktion i slutsystemer. Firmanetværk på et andet slutsystem. Denne klient-/servermodel, som beskrives nærmere i kapitel 2, er utvivlsomt den mest anvendte i forbindelse med internetapplikationer. World Wide Web, e-mail, filoverførsel, ekstern login (f.eks. Telnet), nyhedsgrupper og mange andre populære applikationer benytter sig af klient-/servermodellen. Da en klient typisk kører på én computer, og serverprogrammet kører på en anden computer, er klient-/serverbaserede internetapplikationer per definition distribuerede applikationer. Klientprogrammet og serverprogrammet spiller sammen ved at sende hinanden meddelelser via internettet. På dette abstraktionsniveau fungerer routere, links og andre af internettets»byggestene«som en»sort boks«, der overfører meddelelser mellem en internetapplikations distribuerede, kommunikerende komponenter. Dette abstraktionsniveau fremgår af figur 1.3. Det er ikke alle internetapplikationer i dag, der består af rene klientprogrammer, som fungerer i samspil med rene serverprogrammer. Med de populære peer-to-peer-baserede fildelingsprogrammer (Napster, Gnutella, KaZaA osv.) fungerer peer-to-peer-applikationen i

28 Kapitel 1 Computernetværk og internettet brugerens slutsystem for eksempel som både klientprogram og serverprogram. Det program, der kører på en peer-maskine (dvs. en brugers maskine), fungerer som klient, når det beder om en fil fra en anden peer, og som server, når det sender en fil til en anden peer. CASE Find ikke-jordisk liv En af de smarteste applikationer på internettet er SETI@home-projektet [SETI@home 2002], et videnskabeligt eksperiment, som bruger internetopkoblede computere i en»search for Extraterrestrial Intelligence«(SETI), dvs. søgning efter ikke-jordisk liv. Alle kan deltage ved at køre et gratis klientprogram, som henter radioteleskopdata ned og analyserer dem. Formålet med projektet er at finde signaler i radioteleskopdata, som er skabt af ikke-jordisk liv. SETI@home leder efter tegn på intelligent liv ved at analysere radiodata, som indsamles af Arecibo, verdens største radioteleskop, der er placeret i nogle højdedrag i det nordlige Puerto Rico. Der indsamles store mængder af radiodata på bånd, og de sendes hver uge til Berkeley. På Berkeley opdeles dataene i arbejdsenheder på cirka 300 kbyte, som lagres på en central SETI@home-server. For at deltage i dette projekt downloader en internetbruger først et klientprogram fra SETI@home, som kører i baggrunden på en værtscomputer (eksempelvis brugerens egen pc). Klientprogrammet etablerer derpå en TCP-forbindelse til den centrale server, får en arbejdsenhed og lukker forbindelsen. Når først en vært har fået fat i en arbejdsenhed, behandler den dataene for det meste FFT-beregninger (Fast Fourier Transform) hvilket kan tage fra en time til adskillige dage, afhængigt af værtens regnekraft og anvendelse. Når beregningerne er gennemført, genetablerer klientprogrammet forbindelsen til den centrale server, sender resultaterne retur og får en ny arbejdsenhed. I dag har mere end 3 mio. brugere fra over 200 lande downloadet og afviklet klientprogrammet. På en typisk dag udfører værterne over 20 trillioner floating-point-operationer i sekundet, hvilket er hurtigere end de største supercomputere. Og SETI@home-projektet er kun toppen af isbjerget, hvad angår peer-baserede videnskabelige beregninger. Hvis 10 pct. af de cirka 1 mia. internetopkoblede værter tager del i peer-baserede projekter, vil der være så megen beregningskraft, at den rækker til 100 projekter af samme størrelse som SETI@home [Anderson 2001]. 1.2.2 Forbindelsesløs og forbindelsesorienteret service Slutsystemer bruger internettet til at kommunikere med hinanden. Helt præcist bruger de internettet til at sende meddelelser til hinanden. Links, routere og andre internetdele sørger for midlerne til at transportere disse meddelelser imellem slutsystemprogrammerne. Men hvad karakteriserer de kommunikationsservices, som internettet giver slutsystemerne? TCP/IP-netværk, og især internettet, indeholder to slags services for slutsystemapplikationer: forbindelsesløs og forbindelsesorienteret. En udvikler af internetapplikationer (f.eks. en e-mailapplikation, en filoverførselsapplikation, en webapplikation eller en internetbaseret telefoniapplikation) skal designe applikationen, så den bruger en af disse to services.

1.2 I udkanten af netværket 29 I det følgende gives en kort beskrivelse af de to services (som diskuteres mere detaljeret i kapitel 3, der dækker transportlagprotokoller). Forbindelsesorienteret service Når en applikation bruger den forbindelsesorienterede service, sender klientprogrammet og serverprogrammet (på hver sit slutsystem) kontrolpakker til hinanden inden afsendelsen af rigtige datapakker (såsom e-mailmeddelelser). Denne såkaldte handshaking-procedure varskor klienten og serveren, så de kan gøre sig klar til at kaste sig over pakkerne. Når handshaking-proceduren er gennemført, siges en forbindelse at være etableret mellem de to slutsystemer. Det er interessant at bemærke, at denne indledende procedure svarer til den protokol, der bruges i menneskelig sammenhæng.»hej«-hilsnerne i figur 1.2 er et eksempel på en menneskelig»handshaking«-protokol (selvom der ikke i bogstavelig forstand sker en udveksling af håndtryk (handshaking) mellem de to personer). Hvad angår den webkommunikation, der også vises i figur 1.2, sker de første to meddelelser, der udveksles, også via handshaking. De to følgende meddelelser GET-meddelelsen og svarmeddelelsen med filen indeholder rigtige data og sendes kun, efter at forbindelsen er etableret. Hvorfor tale om»forbindelsesorienteret service«og ikke blot»forbindelsesservice«? Denne terminologi skyldes, at slutsystemer er forbundet på en meget løs måde. Specielt er det kun slutsystemerne selv, der er klar over denne forbindelse; pakkeswitchene (dvs. routerne) på internettet er fuldstændig uvidende om forbindelsen. Faktisk består en forbindelse på internettet ikke af andet end allokerede buffere og tilstandsvariabler i slutsystemerne; de mellemliggende pakkeswitche holder ikke på informationer om forbindelsestilstanden. Internettets forbindelsesorienterede service indgår i en række af services, herunder sikker dataoverførsel, flowkontrol og overbelastningskontrol. Med sikker dataoverførsel mener vi, at en applikation kan regne med, at forbindelsen leverer alle data uden fejl og i den rigtige rækkefølge. Pålideligheden på internettet sikres via kvitteringer og genoverførsler. Man kan få et første indtryk af, hvordan internettet implementerer den sikre transportservice, ved at tænke på en applikation, som har etableret en forbindelse mellem slutsystemerne A og B. Når slutsystem B modtager en pakke fra A, sender det en kvittering; når slutsystem A modtager kvitteringen, ved det, at den tilsvarende pakke med garanti er modtaget. Når slutsystem A ikke modtager en kvittering, går det ud fra, at den sendte pakke ikke er modtaget af B og sender derfor pakken igen. Flowkontrollen sørger for, at ingen af de to forbindelser overlæsser den anden ved at sende for mange pakker for hurtigt. Faktisk er der en risiko for, at modtageren ikke kan følge med den fart, hvormed afsenderen sender pakker. Flowkontrolservicen tvinger afsendersystemet til at sætte hastigheden ned, når der opstår en risiko af den art. Kapitel 3 skal vise, at internettet implementerer flowkontrolservicen ved at bruge afsender- og modtagerbuffere i de kommunikerende slutsystemer. Internettets service til kontrol af overbelastning hjælper til at modvirke, at internettet låser. Når en router overbelastes, sker der overløb af dens buffer, og der kan forekomme pakketab. I sådanne situationer, hvor begge parter i de kommunikerende slutsystemer bliver ved med at pumpe pakker ind på nettet så hurtigt som muligt, kan tingene gå i hårknude, så kun et fåtal af pakker afleveres på bestemmelsesstedet. Internettet undgår dette problem ved i overbelastningsperioder at tvinge slutsystemer til at sænke den hastighed, hvormed de sender pakker på nettet. Slutsystemer bliver klar over alvorlige overbelastninger, når de ikke længere modtager kvitteringer for de pakker, de har sendt.

30 Kapitel 1 Computernetværk og internettet Det skal her understreges, at selvom internettets forbindelsesorienterede service optræder sammen med sikker dataoverførsel, flowkontrol og trafikkontrol, så er disse tre faciliteter på ingen måde væsentlige komponenter i en forbindelsesorienteret service. I andre typer computernetværk findes en eller flere af disse faciliteter måske ikke sammen med applikationernes forbindelsesorienterede service. Faktisk er alle protokoller, som foretager handshaking mellem de kommunikerende enheder før overførslen af data, forbindelsesorienterede services [Iren 1999]. Internettets forbindelsafhængige service har et navn TCP (Transmission Control Protocol); den første version af TCP-protokollen er defineret i Internet Request for Comments RFC 793 [RFC 793]. De services, som TCP leverer til en applikation, omfatter sikker transport, flowkontrol og trafikkontrol. Det er vigtigt at bemærke, at en applikation kun skal bekymre sig om de leverede services; den skal ikke bekymre sig om, hvordan TCP egentlig implementerer sikkerhed, flowkontrol eller trafikkontrol. Det er naturligvis meget interessant, hvordan TCP implementerer disse services, og det gås der i dybden med i kapitel 3. Forbindelsesløs service Der bruges ikke handshaking med intertnettets forbindelsesløse service. Når den ene side af en applikation vil sende pakker til den anden side af applikationen, sender afsenderprogrammet simpelthen pakkerne. Da der ikke er nogen handshaking-procedure inden datapakkeoverførslen, kan data sendes hurtigere. Men der findes heller ingen sikker dataoverførsel, så en afsender ved aldrig helt, hvilke pakker der er nået frem til modtageren. Endvidere tager internettets forbindelsesløse service ikke højde for flowkontrol eller trafikkontrol. Internettets forbindelsesløse service kaldes UDP (User Datagram Protocol); UDP defineres i Internet Request for Comments RFC 768. De fleste af de mere kendte internetapplikationer bruger TCP, internettets forbindelsesorienterede service. Disse applikationer omfatter Telnet (til fjernlogin), SMTP (til elektronisk post), FTP (til filoverførsel) og HTTP (til World Wide Web). Alligevel bruges UDP, internettets forbindelsesløse service, af mange af de nye multimedieapplikationer, såsom internettelefoni og videokonferencer. 1.3 Netværkets kerne Efter dette kik på slutsystemer og internettets ende-til-ende-transportservices fokuseres der på netværkets»indmad«. Dette afsnit undersøger netværkets kerne det trådværk af routere, som forbinder internettets slutsystemer. I figur 1.4 er netværkskernen fremhævet med tykke konturlinjer. 1.3.1 Kredsløbskobling og pakkekobling Der er to fundamentale indgange til opbygningen af en netværkskerne: kredsløbskobling (circuit switching) og pakkekobling (packet switching). I kredsløbskoblede netværk er de ressourcer, der skal bruges langs en rute (buffere, forbindelsens båndbredde) til at sørge for kommunikationen mellem slutsystemerne, reserverede under hele kommunikationssessionen. I pakkekoblede netværk er disse ressourcer ikke reserverede; en sessions meddelel-

1.3 Netværkets kerne 31 ser bruger ressourcerne efter behov og kan derfor komme til at vente (dvs. stå i kø) på at få adgang til en kommunikationsforbindelse. Som en simpel analogi kan man tage to restauranter en, som kræver reservation, og en anden, der hverken kræver eller tager imod reservation. Hvad angår den restaurant, hvor det er nødvendigt med reservation, skal man først have besværet med at ringe, inden man tager hjemmefra. Men når man kommer til restauranten, kan man i princippet straks kommunikere med tjeneren og bestille sit måltid. Hvad angår den restaurant, hvor reservation ikke er påkrævet, behøver man ikke først at bestille bord. Men når man kommer til restauranten, kan man blive nødt til at vente, inden man kan kommunikere med tjeneren. Lokal udbyder Regional udbyder Firmanetværk Figur 1.4 Netværkskernen. Det allestedsnærværende telefonnet er et eksempel på kredsløbskoblede netværk. Tænk på, hvad der sker, når en person ønsker at sende informationer (stemme- eller faxbaseret) til en anden via telefonnettet. Inden afsenderen kan sende informationerne, skal netværket først etablere en forbindelse mellem afsenderen og modtageren. I modsætning til TCP-forbindelsen, som blev diskuteret i det foregående, er dette en tillidsbaseret forbindelse, som swit-

32 Kapitel 1 Computernetværk og internettet Vært A Hver kreds består af n kredse (TDM eller FDM) Signatur: Vært Kredskobling Slut-til-slut-forbindelse mellem vært A og B, via en kreds i hver enkelt forbindelse Vært B Figur 1.5 Et simpelt kredsløbskoblet netværk bestående af fire switche og fire forbindelser. chene på linjen mellem afsenderen og modtageren opretholder en forbindelsestilstand for. I telefonterminologien kaldes dette et kredsløb. Når netværket etablerer kredsløbet, reserverer det også en konstant overførselshastighed i netværksforbindelsen, så længe denne varer. Eftersom der er reserveret båndbredde til denne afsender-modtager-forbindelse, kan afsenderen overføre data til modtageren med den garanterede konstante hastighed. Nutidens internet er et typisk pakkekoblet netværk. Hvad sker der, når en vært vil sende en pakke til en anden vært via internettet? Som ved kredsløbskobling sendes pakken via en række kommunikationsforbindelser. Men med pakkekobling sendes pakken ud på nettet, uden at der på nogen måde reserveres båndbredde. Hvis en af forbindelserne overbelastes, fordi andre pakker skal sendes via forbindelsen på samme tidspunkt, så må pakken i dette eksempel vente i en buffer på afsendersiden af transmissionsforbindelsen og blive forsinket. Internettet gør sit bedste for at aflevere pakker inden for en rimelig tid, men der gives ingen garantier. Ikke alle netværk kan helt klassificeres som rent kredsløbskoblede netværk eller rent pakkekoblede netværk. Eksempelvis kan en forbindelse i netværk, der er baseret på ATMteknologien (Asynchronous Transfer Mode) et emne, der tages fat på i kapitel 5 foretage en reservering, og alligevel må dens meddelelser vente på overbelastede ressourcer! Ikke desto mindre er denne grundlæggende klassificering af pakke- og kredsløbskoblede net-

1.3 Netværkets kerne 33 værk et glimrende udgangspunkt for forståelsen af telekommunikationsbaseret netværksteknologi. Kredsløbskobling Denne bog handler om computernetværk, internettet og pakkekobling, ikke om telefonnet og kredsløbskobling. Alligevel er det vigtigt at forstå, hvorfor internettet og andre computernetværk bruger pakkekobling frem for den mere traditionelle kredsløbskoblingsteknologi, der bruges i telefonnet. Af den grund følger nu et kort rids af kredsløbskobling. Figur 1.5 viser et kredsløbskoblet netværk. I dette netværk er de fire kredsløbsswitche indbyrdes forbundne med fire forbindelser. Hver enkelt af disse forbindelser har n kredsløb, så hver forbindelse kan understøtte n samtidige forbindelser. Værterne (eksempelvis pc er og arbejdsstationer) er hver især direkte forbundet til en af switchene. Når to værter ønsker at kommunikere, etablerer netværket en ende-til-ende-forbindelse mellem to værter. (Konferenceopkald mellem mere end to enheder er selvfølgelig også mulige. Men af hensyn til overblikket er der her kun to værter til hver forbindelse). For at vært A kan sende meddelelser til vært B, må netværket derfor først reservere en switch på hver enkelt af to forbindelser). Da hver forbindelse har n switche til hver forbindelse, der benyttes af ende-til-endeforbindelsen, får forbindelsen 1/n af forbindelsens båndbredde, så længe forbindelsen opretholdes. Multiplexing i kredsløbskoblede netværk Et kredsløb i en forbindelse implementeres med enten frequency-division multiplexing (FDM) eller time-division multiplexing (TDM). Med FDM deles de forbindelser, der er etableret på en linje, om denne linjes frekvensspektrum. Mere præcist sætter linjen et frekvensbånd af til hver forbindelse, så længe denne varer. I telefonnet har dette frekvensbånd typisk en bredde på 4 khz (dvs. 4.000 Hertz eller 4.000 cykler i sekundet). Ikke overraskende kaldes båndets bredde båndbredde. FM-radiostationer bruger også FDM til at deles om mikrobølgefrekvenspektret. I moderne telefoni er der en tendens til at erstatte FDM med TDM. De fleste linjer i de industrialiserede landes telefonsystemer bruger i dag TDM. Med en TDM-linje opdeles tid i frames (»rammer«) af en bestemt varighed, og hver frame er opdelt i et bestemt antal time slots (»tidsenheder«). Når netværket etablerer en forbindelse på en linje, sætter netværket et time slot i hver frame af til forbindelsen. Disse slots er udelukkende beregnet til den forbindelse, og der sættes en time slot (i hver frame) af til at overføre forbindelsens data. Figur 1.6 illustrerer FDM og TDM i et bestemt netværk, der understøtter op til fire kredsløb. For FDM s vedkommende er frekvensområdet opdelt i fire bånd, der hver har en båndbredde på 4 khz. Med TDM er tidsområdet opdelt i frames, idet der er fire time slots i hver frame; hvert kredsløb tildeles samme dedikerede slot i de cirkulerende TDM-frames. Med TDM svarer et kredsløbs transmissionsfrekvens til frame-faktoren ganget med antallet af bit i et slot. Hvis linjen for eksempel sender 8.000 frames i sekundet, og hver frame indeholder otte byte, er transmissionsfrekvensen for et kredsløb 64 kbps. Fortalere for pakkekobling har altid slået på, at kredsløbskobling er et spild, fordi de dedikerede kredsløb er ledige i stille perioder. Når en person i en telefonsamtale for eksempel holder op med at tale, kan de ledige netværksressourcer (frekvensbånd eller slots i linjerne

34 Kapitel 1 Computernetværk og internettet 4 KHz FDM Forbindelse Frekvens 4 KHz TDM 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 Tidsenhed Ramme Signatur: Alle tidsenheder mærket 2 dedikeres 2 til et bestemt sender-modtager-par. Figur 1.6 Ved FDM får hvert kredsløb kontinuerligt en brøkdel af båndbredden. Ved TDM får hvert kredsløb hele båndbredden periodisk i korte tidsintervaller (dvs. time slots). på forbindelsens rute) ikke bruges af andre igangværende forbindelser. Et andet eksempel på, hvordan disse ressourcer kan bruges for lidt, findes hos radiologen, der bruger et kredsløbskoblet netværk til at få ekstern adgang til en række røntgenbilleder. Radiologen etablerer en forbindelse, beder om et billede, undersøger billedet og beder så om et nyt. Der spildes netværksressourcer, mens radiologen undersøger billederne. Fortalere for pakkekobling ynder også at fremhæve, at etablering af ende-til-ende-kredsløb og reservation af ende-tilende-båndbredde er indviklede, og at man skal bruge kompliceret signalsoftware til at koordinere, hvordan switchene fungerer på ruten fra start til slut. Som afslutning af denne diskussion af kredsløbskobling bruges et taleksempel, som gerne skulle kaste mere lys over emnet. Eksemplet drejer sig om, hvor lang tid det tager at sende en fil på 640.000 bit fra vært A til vært B via et kredsløbskoblet netværk. Det antages, at alle linjer i netværket bruger TDM med 24 slots og har en bitfrekvens på 1,536 Mbps. Det antages ligeledes, at det tager 500 ms at etablere et ende-til-ende-kredsløb, før vært A kan begynde at overføre filen. Hvor lang tid tager det at sende filen? Hvert kredsløb har en overførselsfrekvens på (1,536 Mbps)/24 = 64 kbps, så det tager (640.000 bit)/(64 kbps) = 10 sekunder at overføre filen. Til disse 10 sekunder lægges kredsløbets etableringstid, idet der regnes med 10,5 sekunder til at sende filen. Bemærk, at overførselstiden ikke er afhængig af antallet af linjer: Overførselstiden ville blive 10 sekunder, hvad enten ende-til-endekredsløbet passerede igennem en linje eller 100 linjer (Den reelle ende-til-ende-forsinkelse omfatter også en overbelastningsforsinkelse; se afsnit 1.6). Tid

Pakkekobling 1.3 Netværkets kerne 35 I afsnit 1.1 så vi, at applikationer udveksler meddelelser for at udføre deres opgaver. Meddelelser kan indeholde alt, hvad protokoludvikleren ønsker. Meddelelser kan udføre en kontrolfunktion (for eksempel»hej«-meddelelserne i handshaking-eksemplet) eller indeholde data, såsom en e-postmeddelelse, et JPEG-billede eller en MP3-lydfil. I moderne computernetværk opdeler afsenderen lange meddelelser i mindre databidder, der kaldes pakker. Fra afsender til modtager passerer disse pakker kommunikationslinjer og pakkeswitche (også kaldet routere). Pakker overføres på hver kommunikationslinje med en hastighed, der svarer til overførselshastigheden for hele linjen. De fleste pakkeswitche bruger store-andforward-overførsel ved indgangen til linjerne. Store-and-forward-overførsel vil sige, at switchen skal modtage hele pakken, før den kan begynde at overføre den første bit af pakken til den udgående linje. Derfor forårsager de store-and-forward-baserede pakkeswitche en store-and-forward-forsinkelse ved indgangen til hver linje på pakkens rute. Denne forsinkelse svarer proportionalt til pakkens længde i bit. Hvis en pakke består af L bit, og pakken skal sendes videre til en udgående linje på R bps, er store-and-forward-forsinkelsen mere præcist L/R sekunder. Hver router har flere tilknyttede linjer. For hver tilknyttet linje har routeren en outputbuffer (også kaldet en outputkø), hvor der gemmes pakker, som routeren skal til at sende på den linje. Outputbufferen spiller en nøglerolle i forbindelse med pakkekobling. Hvis en indgående pakke skal overføres på en linje, som er optaget af overførslen af en anden pakke, må den indgående pakke vente i outputbufferen. Derfor kommer pakker, i tilgift til storeand-forward-forsinkelser, også ud for køforsinkelser. Disse forsinkelser varierer og afhænger af overbelastningen på nettet. Da bufferkapaciteten ligger fast, kan en indgående pakke støde på en buffer, der er fuldstændig fyldt op af andre pakker, der venter på overførsel. I de tilfælde sker der et pakketab enten går den indgående pakke eller en af pakkerne i køen tabt. For igen at bruge restaurantbilledet i begyndelsen af dette afsnit, så svarer køforsinkelsen til den tid, man i restauranten venter på, at der bliver et bord ledigt. Pakketab svarer til, at tjeneren fortæller én, at man må gå igen, fordi der allerede er for mange andre, der venter i baren på at få et bord. Figur 1.7 viser et simpelt pakkekoblet netværk. I denne og de efterfølgende figurer repræsenteres pakker af tredimensionale kasser. Bredden på en kasse repræsenterer kassens længde. I denne figur har alle pakker samme bredde og derfor samme længde. I det aktuelle eksempel sender vært A og vært B pakker til vært E. Vært A og B sender deres pakker over 10 Mbps Ethernet-linjer til den første pakkeswitch. Pakkeswitchen sender pakkerne til 1,5 Mbps-forbindelsen. Hvis den er overbelastet, stilles pakkerne i kø i forbindelsens outputbuffer, til de sendes af sted. Men hvordan overføres vært A- og B-pakker overføres via denne? Som vist i figur 1.7 følger rækkefølgen for A- og B-pakker ikke et bestemt mønster; i stedet er rækkefølgen vilkårlig, fordi pakker sendes, når de er til stede på forbindelsen. På baggrund af denne vilkårlige rækkefølge siger man ofte, at pakkeswitchen benytter sig af statistisk multiplexing. Statistisk multiplexing står i skarp kontrast til kredsløbskoblet tidsopdelt multiplexing (Time-Division Multiplexing eller TDM), hvor hver enkelt vært får samme slot i en cirkulerende TDM-frame. Hvor lang tid tager det at sende en pakke på L bit fra en vært til en anden på et pakkekoblet netværk? Der er Q linjer mellem de to værter, hver med en hastighed på R bps, køforsinkelser og ende-til-ende-udbredelse er uvæsentlige, og der er ikke andre forbindelser. Pakken skal først overføres til den første linje, der udgår fra vært A; dette tager L/R sekun-

36 Kapitel 1 Computernetværk og internettet A 10 Mbps Ethernet Statistisk multiplexing C 1,5 Mbps Kø med pakker der afventer output-forbindelse B Signatur: Pakker Figur 1.7 Pakkekobling. der. Den skal så overføres til hver af de resterende forbindelser (Q 1); dvs. at den skal gemmes og videresendes Q 1 gange. Derfor bliver den samlede forsinkelse QL/R. Pakkekobling kontra kredsløbskobling Efter denne beskrivelse af kredsløbskobling og pakkekobling skal de to nu sammenlignes. Kritikere af pakkekobling har ofte hævdet, at pakkekobling ikke egner sig til real-time-services (f.eks. telefonopkald) og videokonferenceopkald) på grund af dens varierende og uforudsigelige ende-til-ende-forsinkelser (der primært skyldes varierende og uforudsigelige køforsinkelser). Fortalerne for pakkekobling påpeger, at (1) den er bedre end kredsløbskobling til at håndtere deling af båndbredde, og (2) den er mere enkel, mere effektiv og mindre omkostningskrævende at implementere end kredsløbskobling. Generelt foretrækker personer, der ikke bryder sig om at have besvær med bordbestillinger, pakkekobling frem for kredsløbskobling. Hvorfor er pakkekobling mere effektiv? Et simpelt eksempel: Det antages, at brugere deles om en 1 Mbps-forbindelse. Det antages ligeledes, at hver bruger skifter mellem aktive perioder, hvor brugeren genererer data med en konstant hastighed af 100 kbps, og inaktive perioder (når brugeren ikke genererer data). Det antages også, at brugeren kun er aktiv i 10 % af tiden (og er ude for at drikke kaffe i de resterende 90 % af tiden). Med kredsløbskobling skal 100 kbps konstant være reserveret for hver bruger). Derfor kan forbindelsen kun understøtte 10 (= 1 Mbps/100 kbps) brugere ad gangen. Med pakkekobling er sandsynligheden for, at en bruger er aktiv, 0,1 (10 %). Hvis der er 35 brugere, er sandsynligheden for, at der er en eller flere aktive brugere, rundt regnet 0,0004. (Problem 10, se side 79, opridser, hvordan denne sandsynlighed opnås). Når der er færre aktive brugere på samme tid (hvilket sker med en sandsynlighed på 0,9996), bliver den samlede ankomstfrekvens for dataene mindre end eller lig med 1 Mbps, forbindelsens outputfrekvens). Når der derfor er 10 eller færre aktive brugere, strømmer brugeres pakker gennem forbindelsen stort set uden forsinkelse, som det er tilfældet med kredsløbskobling. Når der er mere end 10 aktive brugere på samme tid, er den samlede ankomstfrekvens for pakker større end forbindelsens D E

1.3 Netværkets kerne 37 outputkapacitet, og outputkøen begynder at blive større. (Den fortsætter med at vokse, indtil den samlede inputfrekvens ryger ned under 1 Mbps, og på det tidspunkt bliver køen kortere). Eftersom sandsynligheden for at få mere end 10 aktive brugere på samme tid er meget lille i dette eksempel, er der med pakkekobling næsten altid samme forsinkelse som med kredsløbskobling, men pakkekobling giver mulighed for mere end tre gange så mange brugere. Selvom pakkekobling og kredsløbskobling begge forekommer hyppigt i moderne telekommunikationsnetværk, går tendensen klart i retning af pakkekobling. Selv mange af dagens kredsløbskoblede telefonnetværk bruger ofte pakkekobling til de dyre oversøiske telefonopkald. Segmentering af meddelelser I et moderne pakkekoblet netværk segmenterer afsenderværten lange, applikationslagmeddelelser i mindre pakker og sender de mindre pakker ud på nettet; modtageren samler senere pakker til de oprindelige meddelelser. Men hvorfor overhovedet bekymre sig om at segmentere meddelelserne i pakker, når de skal samles igen? Lægger dette ikke en ekstra og unødvendig byrde på afsender og modtager? Selvom segmentering og samling vitterligt komplicerer designet af afsenderen og modtageren, konkluderede udviklere og netværksdesignere i pakkekoblingens tidligste dage, at fordelene ved segmentering i høj grad kompenserer for besværet. Inden disse fordele diskuteres, skal nogle fagtermer introduceres. Man siger, at et pakkekoblet netværk udfører meddelelseskobling, hvis afsenderne ikke segmenterer meddelelser (dvs. at de sender en meddelelse ud på nettet i deres helhed). Således er meddelelseskobling en særlig slags pakkekobling, hvor pakkerne, der transporteres rundt på nettet, selv er komplette applikationsmeddelelser. Figur 1.8 viser meddelelseskobling på en rute, der består af to pakkeswitche og tre forbindelser. Med meddelelseskobling forbliver meddelelsen intakt, mens den overføres på nettet. Da der er tale om store-and-forward-switche, skal en pakkeswitch modtage hele meddelelsen, før den kan begynde at videresende den på en udgående forbindelse. Bemærk meddelelsens store bredde, der illustrerer den kendsgerning, at en lang meddelelse ikke er blevet segmenteret i pakker. Meddelelse Afsender Pakkekobling Pakkekobling Modtager Figur 1.8 Meddelelse segmenteret i pakker, inden den sendes fra afsender til modtager Figur 1.9 viser pakkekobling (med segmenterede meddelelser) på samme netværk. I dette eksempel er den oprindelige meddelelse blevet opdelt i fire separate pakker. I figur 1.9 er den første pakke nået frem til modtageren, den anden og tredje er undervejs på nettet, og den sidste er stadig hos modtageren. Da der er tale om store-and-forward-switche, skal en pakkeswitch også her modtage en hel pakke, inden den kan begynde at videresende pakken på en udgående linje. Når meddelelsen er segmenteret i pakker, siger man, at netværket pipeliner meddelelsesoverførslen

38 Kapitel 1 Computernetværk og internettet Pakke Afsender Pakkekobling Pakkekobling Modtager Figur 1.9 Timing af overførsel af meddelelser uden meddelelsessegmentering. dvs., at dele af meddelelsen overføres parallelt af afsenderen og de to pakkeswitche. (Betegnelsen»pipeline«stammer fra computerarkitekturen og litteraturen om parallel databehandling, men her knyttes den også til computernetværk). Én væsentlig fordel ved pakkekobling (med segmenterede meddelelser) er, at den giver ende-til-ende-forsinkelser, som typisk er meget mindre end de forsinkelser, der forekommer ved pakkekobling. Den pointe illustreres med følgende eksempel. En meddelelse har en længde på 7,5 10 6 bit. Det antages, at der mellem afsender og modtager er to pakkeswitche og tre linjer, og at hver linje har en overførselshastighed på 1,5 Mbps. Hvis det forudsættes, at der ikke er overbelastning på netværket, hvor lang tid tager det så at flytte meddelelsen fra afsender til modtager ved hjælp af meddelelseskobling? Det tager afsenderen 5 sekunder (= 7,5 10 6 bit/1,5 Mbps) at flytte meddelelsen fra afsenderen til den første switch. Da switchene bruger store-and-forward-overførsel, kan den første switch ikke begynde at overføre bit i meddelelsen på linjen, før hele meddelelsen er modtaget. Når den første switch har modtaget hele meddelelsen, tager det 5 sekunder at flytte meddelelsen fra den første switch til den anden. Således tager det 10 sekunder at flytte meddelelsen fra afsenderen til den anden switch. Ud fra denne logik ses det, at der kræves i alt 15 sekunder til at flytte meddelelsen fra afsender til modtager. Disse forsinkelser fremgår af figur 1.10. 0 5 10 15 Afsender Modtager Tid (i sekunder) Signatur: Meddelelse Figur 1.10 Tidsforløb ved meddelelsesoverførsel uden meddelelsessegmentering.

1.3 Netværkets kerne 39 I samme eksempel forudsættes det, at afsenderen deler meddelelsen op i 5.000 pakker, hvor hver pakke er 1.500 bit lang. Det forudsættes igen, at nettet ikke overbelastes, så spørgsmålet er nu, hvor lang tid det tager at flytte 5.000 pakker fra afsender til modtager. Som vist i figur 1.11 tager det afsenderen 1 ms at flytte denne første pakke fra den første til den anden switch. Derved når den anden pakke frem til den første switch i tiden = 2 ms. Ud fra denne logik ses det, at den sidste pakke er helt fremme hos den første switch i tiden = 5.000 ms = 5 sekunder. Eftersom denne sidste pakke skal overføres på yderligere to linjer, modtages den hos modtageren i tiden = 5,002 sekunder. Overraskende nok har meddelelsessegmentering forkortet ende-til-ende-forsinkelsen med en faktor tre! Men hvorfor? Hvad gør pakkekobling, som adskiller sig fra meddelelseskobling? Den væsentlige forskel er, at meddelelseskobling udfører sekventiel overførsel, mens pakkekobling udfører parallel overførsel (dvs. pipelining). Læg mærke til, at når én knude (afsenderen eller en af switchene) overfører med meddelelseskobling, er de øvrige knuder inaktive. Med pakkekobling sender tre knuder på samme tid, når først den første pakke kommer frem til den sidste switch. 0 1 2 3 4 4999 5000 5001 5002 5003 Tid (ms) Signatur: Afsender 1 2 3 4 5 5000 pakker Pakkekobling 1 2 3 4 4999 5000 Pakkekobling 1 2 3 4998 4999 5000 Modtager 1 2 4997 4998 4999 5000 Figur 1.11 Tidsforløb ved meddelelsesoverførsel, når meddelelsen segmenteres i 5.000 pakker. Meddelelsessegmentering giver endnu en væsentlig fordel. Som det diskutetes senere i denne bog, kan der være bitfejl i pakker, når de befinder sig på netværket. Når en switch opdager en fejl i en pakke, afviser den typisk hele pakken. Så hvis hele meddelelsen sendes som en enkelt pakke, og én bit i meddelelsen bliver fejlbehæftet, afvises hele meddelelsen. Hvis meddelelsen derimod segmenteres i mange pakker, og én bit i en af pakkerne bliver fejlbehæftet, er det kun den pågældende pakke, der afvises.

40 Kapitel 1 Computernetværk og internettet Men meddelelsessegmentering har vitterligt nogle mangler. Det vil fremgå, at hver pakke ud over de data, der sendes fra afsenderapplikationen til modtagerapplikationen, også skal indeholde kontrolinformationer. Disse informationer, som er placeret i pakkens header, kan indeholde afsenderens og modtagerens identitet og en pakkeidentifikator (f.eks. et tal). Da mængden af headerinformationer er nogenlunde den samme for en meddelelse som for en pakke, er mængden af headeroverskrifter per databyte større ved pakkekobling (med meddelelsessegmentering) end ved meddelelseskobling. Inden næste delafsnit bør det anbefales at se nærmere på den Message-Segmentation Java-applet, som findes på denne bogs websted (http://bog.ing.dk/compnet). Med denne applet kan man eksperimentere med forskellige meddelelses- og pakkestørrelser samt undersøge virkningen af yderligere forsinkelser i udbredelsen. 1.3.2 Pakkeforsendelser i computernetværk Der er to brede klasser af pakkekoblede netværk: datagramnetværk og virtuelle kredsløbskoblede netværk. De adskiller sig med hensyn til, om deres switche bruger modtageradresser eller såkaldte virtuelle kredsløbskoblingstal til at fremsende pakker til modtagerne. Alle netværk, som sender pakker baseret på værtsmodtageradresser, kaldes for datagramnetværk. Routerne på internettet fremsender pakker baseret på værtsdestinationsadresser; derfor er internettet et datagramnetværk. Alle netværk, som fremsender pakker baseret på virtuelle kredsløbskoblede tal, kaldes for virtuelle kredsløbskoblede netværk. Eksempler på pakkekoblede teknologier, som bruger virtuel kredsløbskobling omfatter X.25, frame relay og ATM (Asynchronous Transfer Mode). Mens forskellen mellem brug af modtageradresser og virtuelle kredsløbskoblingstal kan synes minimal, har valget stor indflydelse på, hvordan routere konfigureres, og hvordan routing håndteres, som det vil fremgå af det følgende. Virtuelle kredsløbskoblede netværk Et virtuelt kredsløb (VC, eng.»virtual Circuit«) består af (1) en rute (dvs. en række linjer og pakkeswitche) mellem afsender- og modtagervært, (2) virtuelle kredsløbnumre, et for hver linje på ruten, og (3) angivelser i VC-nummeroversættelsestabeller i hver pakkeswitch på ruten. Når et VC er etableret mellem afsender og modtager, kan afsenderen sende pakker til VC en med det korrekte VC-nummer. Da et VC har et nyt nummer for hver linje, må en midlertidig pakkeswitch erstatte VC-nummeret for hver pakke, der passerer, med et nyt. Det nye VC-nummer hentes fra VC-nummeroversættelsestabellen. For at illustrere denne idé kan man tage på det netværk, der vises i figur 1.12. Antagelsen er, at vært A anmoder om, at netværket etablerer et VC mellem vært A og vært B. Nu antages det, at netværket vælger ruten A-PS1-PS2-B og tildeler VC-numrene 12, 22 og 32 til de tre linjer på denne rute. Når så en pakke, som i VC forlader vært A, er værdien i VCnummeret 12; når den forlader PS1, er værdien 22, og når den forlader PS2, er værdien 32. Tallene ved siden af PS1-linjerne er interface-tallene. Hvordan bestemmer switchen VC-erstatningsnummeret for en pakke, der passerer switchen? Hver switch har en VC-nummeroversættelsestabel; VC-nummeroversættelsestabellen i PS1 kan for eksempel se således ud:

1.3 Netværkets kerne 41 Indgående interface Indgående VC-nummer Udgående interface Udgående VC-nummer 1 12 2 22 2 63 1 18 3 7 2 17 1 97 3 87 Når et nyt VC er etableret på en switch, føjes der information til VC-nummertabellen. Ligeledes fjernes informationerne i hver tabel, når et VC ophører. Man kan måske spekulere over, hvorfor en pakke ikke beholder samme VC-nummer på alle linjer på ruten. Svaret er tosidigt. For det første reduceres længden af VC-feltet, når man udskifter nummeret fra linje til linje. For det andet, og mere vigtigt, forenkles den netværksadministrative funktion, når der er mulighed for et nyt nummer for hver linje på VC ets rute. Mere præcist kan hver linje på ruten, når der er flere VC-nummer, vælge et VC-nummer uafhængigt af, hvad de andre linjer på ruten vælger. Hvis et fælles nummer for alle linjer på ruten var et krav, ville switchene være nødt til at udveksle og behandle et betragteligt antal meddelelser for at blive enige om de VC-nummer, der kunne bruges til en forbindelse. Hvis et netværk bruger virtuelle kredsløb, må netværksswitchene være ajour med statusinformationerne om de igangværende forbindelser. Mere præcist må der, hver gang der etableres en ny forbindelse på en switch, føjes en ny forbindelsesangivelse til switchens VC-nummeroversættelsestabel, og hver gang en forbindelse frigives, må en angivelse fjernes fra tabellen. Bemærk, at selvom der ikke sker en VC-nummeroversættelse, er det stadig nødvendigt at fastholde statusinformationer, som forbinder VC-numre med outputinterface-tal. Spørgsmålet, om en pakkeswitch holder sig a jour med statusinformationer eller ej for hver igangværende forbindelse, er af største betydning og det beskrives senere. Datagramnetværk Datagramnetværk svarer på mange måder til posttjenesten. Når en afsender sender et brev til en modtager, lægger afsenderen brevet i en konvolut og skriver adressen på konvolutten. Modtageradressen har en hierarkisk struktur. For eksempel indeholder breve, der sendes til en lokalitet i landet (USA), staten (f.eks. Pennsylvania), byen (f.eks. Philadelphia), gaden (f.eks. Walnut Street) og husnummeret (f.eks. 421). Posttjenesten bruger adressen på konvolutten til at bringe brevet ud til modtageren. Hvis brevet for eksempel sendes fra Frankrig, videresender et posthus i Frankrig først brevet til en postsortering i USA. Denne postsortering i USA videresender så brevet til en postsortering i Philadelphia. Til slut afleverer et postbud i Philadelphia brevet til den endelige modtager. I et datagramnetværk indeholder hver pakke, som overføres på netværket, i sin header adressen på modtageren. Som det er tilfældet med postadresser, har denne adresse en hierarkisk struktur. Når en pakke ankommer til en pakkeswitch i netværket, undersøger pakkeswitchen en del af pakkens modtageradresse og sender pakken til en tilstødende switch. Mere præcist har hver pakke en videresendelsestabel, som afbilder (mapper) modtageradresser (eller dele af modtageradresserne) til en udgående linje. Når en pakke ankommer til en switch, undersøger switchen adressen og indekserer dens tabel med denne modtager-

42 Kapitel 1 Computernetværk og internettet adresse for at finde den rigtige udgående linje. Switchen dirigerer så pakken hen til denne udgående linje. Ende-til-ende-routingprocessen kunne også svare til en bilist, som ikke bruger kort, men i stedet foretrækker at spørge om vej. Som et eksempel kører Joe fra Philadelphia til Lakeside Drive 156 i Orlando, Florida. Joe kører først til sin lokale benzintank og spørger, hvordan man kommer til Lakeside Drive 156 i Orlando, Florida. Tankpasseren bider mærke i Florida-delen af adressen og fortæller Joe, at han skal køre mod syd ad hovedvej I-95, som har en tilkørsel lige ved tanken. Han fortæller også Joe, at når han kommer til Florida, skal han spørge om vej dér. Joe kører så ad I-95 South, indtil han når Jacksonville, Florida, hvor han spørger en anden tankpasser om vej. Tankpasseren fokuserer på Orlando-delen af adressen og siger til Joe, at han skal køre videre ad I-95 til Daytona Beach og spørge om vej dér. I Daytona Beach fokuserer endnu en tankpasser også på Orlando-delen af adressen og fortæller Joe, at han skal følge I-4 direkte til Orlando. Joe kører ad I-4 og drejer af ved Orlando-frakørslen. Joe opsøger endnu en tankpasser, og denne gang tager tankpasseren fat i Lakeside Drive-delen af adressen og fortæller Joe, hvilken vej han skal køre for at komme til Lakeside Drive. Da Joe når frem til Lakeside Drive, spørger han en dreng på en cykel om vejen til sit bestemmelsessted. Drengen bider mærke i 156-delen af adressen og peger på huset. Joe når omsider sit endelige mål. I denne bog diskuteres videresendelse af pakker i datagramnetværk mere detaljeret. Men lige nu er det tilstrækkeligt at bemærke, at i modsætning til VC-netværk opbevarer datagramnetværk ikke informationer om forbindelsesstatus i deres switche. Faktisk er en pakkeswitch i et rendyrket datagramnetværk ligeglad med de trafikstrømme, som måtte passere igennem den. En pakkeswitch i et datagramnetværk træffer beslutninger om videresendelse på basis af en pakkes modtageradresse, ikke af den forbindelse, som pakken hører til. Da VC-netværk skal opbevare informationerne om forbindelsesstatus i deres switche, bruger kritikere af VC-netværk det argument, at VC-netværk er alt for komplicerede. Blandt disse opponenter finder man de fleste forskere og ingeniører i internetsamfundet. Fortalere for VC-netværk mener, at VC kan give applikationer en bredere vifte af netværksservices. Men hvordan skal man egentlig forholde sig til den ende-til-ende-rute, som pakker følger på internettet? Det kan man afprøve i praksis ved at gå i lag med Traceroute-programmet på adressen www.traceroute.org (Traceroute diskuteres nærmere i afsnit 1.6). Netværksklassificering Hermed er adskillige vigtige netværksbegreber blevet præsenteret: kredsløbskobling, pakkekobling, virtuelle kredsløb, forbindelsesløse services og forbindelsesorienterede services. Hvordan passer alt dette sammen? For det første bruger et telekommunikationsnetværk enten kredsløbskobling eller pakkekobling (se figur 1.13). En linje i et kredsløbskoblet netværk kan køre med enten FDM eller TDM. Pakkekoblede netværk er enten virtuelle netværk eller datagramnetværk. Switche i virtuelle netværk videresender pakker ud fra pakkernes VC-numre og husker forbindelsens status. Switche i datagramnetværk videresender pakker ud fra pakkernes modtageradresser og husker ikke forbindelsens status. Et datagramnetværk er imidlertid ikke enten et forbindelsesløst eller forbindelsesorienteret netværk. Faktisk kan et datagramnetværk etablere forbindelsesløse services for nogle af sine applikationer og forbindelsesorienterede services for andre applikationer. For ek-

1.4 Netværksadgang og fysiske medier 43 Kredsløbskoblede netværk Pakkekoblede netværk FDM TDM sempel understøtter internettet, som er et datagramnetværk, både forbindelsesløse og forbindelsesorienterede services for sine applikationer. Af afsnit 1.2 fremgik det, at disse services på internettet leveres af henholdsvis UDP- og TCP-protokollerne. Netværk med VC er er dog altid forbindelsesorienterede. 1.4 Netværksadgang og fysiske medier Afsnit 1.2 og 1.3 så på den rolle, slutsystemer og routere spiller i et computernetværk. I dette afsnit fokuseres der på netværksadgang den eller de fysiske linjer, som forbinder et slutsystem til dets edge router, udkantsrouteren, som er den første router på vejen fra slutsystemet til et hvilket som helst andet slutsystem. Figur 1.14 viser flere typer access-linjer fra slutsystem til edge router; access-linjerne er fremhævet med fede streger. Da teknologien bag adgang til netværk er tæt knyttet til teknologien bag fysiske medier (fiber, coax-par, parsnoet telefonledning, radiofrekvens), giver dette afsnit samlet indblik i disse emner. 1.4.1 Adgang til netværket Netværk med VC'er Figur 1.13 Klassificering af telekommunikationsnetværk. Adgang til netværk kan løseligt inddeles i tre kategorier: Telekommunikationsnetværk Datagramnetværk Privatadgang forbinder private slutbrugersystemer til netværket. Firmaadgang forbinder systemer i en virksomhed eller uddannelsesinstitution til netværket. Mobiladgang forbinder mobilsystemer til netværket. Disse kategorier er ikke skarpt adskilte eksempelvis kan virksomhedssystemer bruge den opkoblingsteknologi, som ellers tilskrives slutbrugeropkobling, og omvendt. Følgende beskrivelser kan betragtes som generelle.

44 Kapitel 1 Computernetværk og internettet Lokal udbyder Regional udbyder Figur 1.14 Adgang til netværk. Privatadgang Firmanetværk Privatadgang (residential access) vil sige, at private slutbrugersystemer (typisk en pc, men måske også web-tv eller en privat internetinstallation) sluttes til en edge router. En gennemgående form for privatadgang er opkaldsmodem via en analog telefonforbindelse til en privat udbyder (for eksempel America Online). Hjemmemodemet konverterer pc ens digitale output til analogt format beregnet til overførsel via den analoge telefonforbindelse. Denne analoge telefonforbindelse består af parsnoet kobbertråd og er den samme, som bruges til almindelige telefonopkald (senere i dette kapitel diskuteres parsnoede kabler). I den anden ende af den analoge telefonforbindelse konverterer et modem hos udbyderen det analoge signal til det digitale format, der sendes som input til udbyder-routeren. Derved er netværksadgangen simpelthen et modempar samt en punkt-til-punkt-baseret telefonopkaldsforbindelse. Med de modemhastigheder, der kan opnås i dag, kan man få adgang med op til 56 kbps. På grund af de parsnoede forbindelsers dårlige kvalitet mellem mange hjem og udbyderne får mange brugere i praksis en hastighed, der er væsentligt mindre end 56 kbps.

1.4 Netværksadgang og fysiske medier 45 Mange privatbrugere opfatter et opkaldsmodems hastighed på 56 kbps som ulideligt langsom. Det tager for eksempel omkring 8 minutter at downloade en enkelt MP3-sang på 3 minutter med et 56 kbps opkaldsmodem. Derudover beslaglægger opkaldsmodemet i den tid brugerens almindelige telefonforbindelse mens en privatbruger bruger et opkaldsmodem til at surfe på nettet, kan vedkommende ikke modtage eller foretage almindelige telefonopkald via telefonforbindelsen. Heldigvis giver de nye bredbåndsteknologier privatbrugere adgang med højere bitfrekvenser; og de gør det også muligt for brugere at være på internettet og tale i telefon på samme tid. Der er to almindelige typer af bredbåndsadgang for private: digital subscriber line (DSL) [DSL 2002] og og hybrid fiber coaxial cable (HFC) [Cable 2002]. I januar 2001 var privatbrugeres bredbåndsadgang langt mindre udbredt end adgang via 56 kbps-opkaldsmodem; procentsatsen for hjem med bredbåndsforbindelse til internettet var 9,2 i Sydkorea, 4,2 i Canada og 2,2 i USA, i Europa endnu lavere [Economist 2001]. Anvendelsen af DSL og HFC vinder dog frem overalt, idet HFC typisk er mere almindelig i USA og DSL mere hyppig i Europa og Asien. Fiberkabel Head end Fiberknude Fiberknude Coax-kabel Figur 1.15 En fiber-coax-hybridadgang til netværket. Hundreder af husstande Hundreder af husstande DSL-adgang tilvejebringes typisk af et telefonselskab (for eksempel TDC eller Telia), nogle gange i samarbejde med en uafhængig udbyder. DSL minder i sin opbygning om opkaldsmodem, men er en ny teknologi, der også kører på eksisterende parsnoede telefonforbindelser. Men ved at begrænse afstanden mellem bruger og udbydermodem kan DSL overføre og modtage data med meget højere hastigheder. Datahastighederne er typisk asymmetriske i de to retninger, med en højere hastighed fra udbyder-router til privatbruger end fra privatbruger til udbyder-router. Asymmetrien i dataoverførslerne afspejler den antagelse, at en privatbruger typisk forbruger informationer (og henter data til sin pc) frem for at producere dem. Teoretisk kan DSL give hastigheder på mere end 10 Mbps fra udbyder til privatbruger og mere end 1 Mbps fra privatbruger til udbyder. Dog er de hastigheder, som DSL-udbydere kan tilbyde, meget mindre. I 2002 ligger de typiske hastigheder downstream på 384 kbps til 1,5 Mbps, og upstream på 128 kbps til 256 kbps.

46 Kapitel 1 Computernetværk og internettet DSL bruger frekvensmultiplexering (Frequency Division Multiplexing), som beskrevet i det foregående. Mere præcist opdeler DSL kommunikationsforbindelsen mellem hjemmet og udbyderen i tre frekvensbånd, der ikke overlapper hinanden: En højhastighedskanal downstream, i 50 khz-1 MHz-båndet En mellemhastighedskanal upstream, i 4 khz-50 khz -båndet En almindelig tovejs telefonforbindelse, i 0 khz-4 MHz-båndet. Den reelle båndbredde, downstream og upstream, som brugeren potentielt kan råde over, er en funktion af afstanden mellem hjemmemodemet og udbydermodemet, den parsnoede forbindelses trådtykkelse og omfanget af elektrisk interferens. Faktisk har designerne her, i modsætning til opkaldsmodemer, bevidst udviklet DSL til korte afstande mellem privat- og udbydermodemer, hvilket muliggør væsentligt højere overførselshastigheder end opkaldsforbindelser. Mens DSL- og opkaldsmodemer bruger de ordinære telefonforbindelser, sker HFC-adgangen til netværker ved hjælp af udbygninger af det eksisterende kabelnetværk, der bruges til at sende kabel-tv. I et traditionelt kabelsystem sender et kabels hovedende til de enkelte husstande via et distributionsnetværk bestående af coax-kabler og forstærkere. Som vist i figur 1.15 forbinder fiberoptik kablets hovedende til tilslutningspunkter i de enkelte distrikter, hvorfra traditionelt coax-kabel så bruges til at nå de enkelte huse og lejligheder. Et tilslutningspunkt i et distrikt dækker typisk 500 til 5.000 hjem. Som med DSL kræver HFC specielle modemer, de såkaldte kabelmodemer. Firmaer, som leverer kabeladgang til internettet, kræver, at deres brugere enten køber eller lejer et modem. Typisk er kabelmodemet en ekstern enhed, der etablerer forbindelse til en hjemmepc via en 10-Base Ethernet-port. (I kapitel 5 beskrives Ethernet nærmere). Kabelmodemer opdeler HFC-netværket i to kanaler, én upstream og én downstream. Som med DSL får downstream-kanalen typisk allokeret mere båndbredde og dermed en hurtigere overførselshastighed. Men med HFC (og ikke med DSL) deles disse hastigheder mellem hjemmene, som det fremgår af det følgende. En vigtig egenskab ved HFC er, at den er et delt broadcastmedie. Mere præcist passerer hver pakke, der sendes af hovedenden, downstream på hver forbindelse til de enkelte husstande; og hver pakke, der sendes af en bruger, passerer via upstream-kanalen til hovedenden. Hvis flere brugere på samme tid downloader forskellige MP3-filer på en downstreamkanal, bliver den faktiske hastighed, hvormed den enkelte bruger modtager sin MP3, af samme grund væsentligt lavere end downstream-hastigheden. Hvis der på den anden side kun er få aktive brugere, og de alle surfer på nettet, vil de hver især faktisk modtage websider med den fulde downstream-hastighed, idet brugere sjældent beder om websider på nøjagtig samme tidspunkt. Da upstream-kanalen også er delt, kolliderer pakker, som sendes af to forskellige husstande på samme tid, hvilket yderligere formindsker den reelle båndbredde upstream. (Dette kollisionsspørgsmål beskrives nærmere i forbindelse med Ethernet i kapitel 5). Tilhængere af ADSL er hurtige til at fremhæve, at DSL er en punkt-til-punkt-forbindelse mellem boligen og udbyderen, og derfor er hele DSL-båndbredden øremærket (dedikeret) frem for delt. Fortalere for kabelforbindelsen hævder imidlertid, at et rimeligt dimensioneret HFC-netværk giver større båndbredde end DSL. Kampen mellem DSL og HFC om højhastighedsadgangen til privatboliger er tydeligvis i fuld gang.

1.4 Netværksadgang og fysiske medier 47 En af de mere tiltrækkende egenskaber ved DSL og HFC er, at services altid er på: Det vil sige, at brugeren kan lade sin computer være tændt med en permanent opkobling til en udbyder og samtidig foretage og modtage almindelige telefonopkald. Firmaadgang I større virksomheder og universiteter bruges et lokalnet (LAN) typisk til at koble et slutsystem til edge routeren. Som det ses af kapitel 5, er der mange forskellige LAN-teknologier. Men Ethernet-teknologien er langt den hyppigste opkoblingsteknologi i firmanetværk. Ethernet kører med 10 Mbps eller 100 Mbps (og nu endda 1 Gbps og 10 Gbps). Den bruger enten parsnoet kobberkabel eller coax-kabel til at forbinde en række slutsystemer med hinanden og med en edge router. Edge routeren har ansvaret for at rute pakker, hvis modtagere befinder sig uden for det pågældende LAN. Ligesom HFC bruger Ethernet et delt medium, så slutbrugere deles om lokalnettets overførselshastighed. På det seneste er Ethernet-teknologien migreret hen imod Ethernet-koblet teknologi. Med Ethernet-kobling bruges flere parsnoede Ethernet-segmenter, der er tilkoblet med en»switch«for at sikre, at forskellige brugere på samme LAN kan udnytte Ethernettets fulde båndbredde på samme tid. I kapitel 5 gennemgås Ethernet-deling og Ethernet-kobling. Mobiladgang I takt med internetrevolutionen har den trådløse revolution også haft stor indflydelse på den måde, folk arbejder og lever på. I år 2000 var der i Europa flere personer, der havde mobiltelefon end pc eller bil. Og den trådløse bølge fortsætter, idet mange analytikere forudsiger, at mobilenheder såsom mobiltelefoner og PDA er i 2004 vil have overtaget ikke-trådløse computeres position som den globalt mest anvendte internetopkoblingsenhed [Dornan 2001]. I dag er der to brede typer trådløs internetadgang. I et trådløst LAN sender/modtager mobilbrugere pakker til/fra en basisstation (også kaldet trådløst access point) inden for en radius af en snes meter eller mere. Basisstationen er typisk forbundet til det kablede internet og bruges dermed til at koble trådløse brugere på det kablede netværk. I trådløse WAN-netværk håndteres basisstationen af en tv-udbyder og betjener brugere inden for en radius af en snes kilometer eller mere. Trådløse LAN s, baseret på IEEE 802.11b-teknologien (også kendt som trådløst Ethernet og Wi-Fi), anvendes i dag hyppigt på universitetsinstitutter, kontorer, caféer og i private husstande. For eksempel har Polytechnic University installeret IEEE 802.11b-basisstationer i sine Brooklyn-afdelinger, og alle Polytechnics studerende må anskaffe sig en bærbar computer med 802.11b. Med denne trådløse LAN-infrastruktur sender og modtager de studerende e-mail eller surfer på nettet overalt på universitetsområdet (eksempelvis bibliotek, kollegieværelser, klasselokaler eller udendørs bænke). 802.11b-teknologien, som diskuteres mere detaljeret i kapitel 5, giver en delt båndbredde på 11 Mbps. I dag kombinerer mange husstande privat bredbåndsadgang (dvs. kabelmodemer eller DSL) med billig trådløs LAN-teknologi for at etablere effektive hjemmenetværk. Figur 1.16 viser en plan over et typisk hjemmenetværk (faktisk er der tale om en af forfatternes). Dette hjemmenetværk består af en roaming laptop samt en stationær pc, en basisstation (det trådløse access point), som kommunikerer med den roamende laptop, et kabelmodem, der giver bredbåndsadgang til internettet, og en router, som forbinder basisstationen og den stationære pc med kabelmodemet. Med dette netværk kan to medlemmer af en husstand få

48 Kapitel 1 Computernetværk og internettet Hus Kabelende Figur 1.16 Skematisk illustration af et typisk hjemmenetværk. Internet bredbåndsadgang til internettet, idet det ene medlem roamer fra køkkenet til gården og til soveværelserne. Den samlede pris for et sådant netværk er mindre end DKK 4.000 (inklusive kabel-/dsl-modemet) og er for nedadgående [Bricklin 2001]. Når man får adgang til internettet med trådløs LAN-teknologi, skal man typisk befinde sig 20-30 meter eller mindre fra en basisstation. Dette er muligt ved adgang fra boligen, caféen og mere generelt i og omkring en bygning. Men hvad nu, hvis man er på stranden eller i en bil og skal have internetadgang? Til en sådan wide area-adgang bruger»roamende«internetbrugere den bærbare telefonis infrastruktur til at få adgang til basisstationer, som er op til en snes kilometer eller længere væk. WAP (Wireless Access Protocol), der anvendes i Europa, og i-mode, der er udbredt i Japan, er to teknologier, som giver mulighed for internetadgang via den bærbare telefonis infrastruktur. WAP-telefoner minder om almindelige trådløse telefoner, men har lidt større skærme, og de giver lavhastighedsadgang til internettet såvel som bærbar telefontjeneste. I stedet for HTML bruger WAP-telefoner et specielt markup-sprog WML (WAP Markup Language) som er optimeret til små skærme og lavhastighedsopkobling. I Europa kører WAP-protokollen på GSM ens særdeles vellykkede trådløse telefoni-infrastruktur, som bruger time-division multiplexing. WAP har været et flop i Europa, men forventes at blive mere populær, når den nye pakketeknologi GPRS (General Packet Radio Service) bliver alment tilgængelig i 2002-2003. På den anden side har den proprietære teknologi i-mode, som svarer til WAP med hensyn til struktur og funktionalitet, været en stor succes i Japan. Teleselskaber skyder i disse dage enorme summer i 3G, dvs. tredje trådløse generation, som vil kunne klare pakkekoblet wide-area internetadgang med hastigheder, der ligger over 384 kbps [Dornan 2001]. 3G-systemer vil give højhastighedsadgang til World Wide Web og interaktiv video og også en lydkvalitet, som er bedre end på en almindelig kabeltelefon. De første 3G-systemer er taget i anvendelse i Japan. Med de enorme investeringer, der foretages i 3G-teknologi samt infrastrukturen og licenser, er der mange analytikere (og investorer!), der spekulerer på, om 3G vil blive den store succes, som reklamefolkene påstår. Vil

1.4 Netværksadgang og fysiske medier 49 den i stedet tabe terræn i forhold til konkurrerende teknologier som IEEE 802.11? Juryen voterer stadig. (Se [Weinstein 2002] og eksemplet i afsnit 5.7). 1.4.2 Fysiske medier I det foregående afsnit opridsedes nogle af de vigtigste opkoblingsteknologier til internettet. Beskrivelsen af disse teknologier kom også ind på de fysiske medier, der bruges. For eksempel oplystes det, at HFC bruger en kombination af fiberkabel og coax-kabel. Det blev fastslået, at 56 kbps-opkaldsmodemer og ADSL bruger parsnoet kobbertråd. Og det blev beskrevet, at mobile access-netværk bruger radiospektret. Dette delkapitel giver en kort oversigt over disse og andre overførselsmedier, som typisk bruges på internettet. For at definere, hvad der menes med et fysisk medium, kan man se lidt på en bits korte liv, f.eks. en bit, der rejser fra et slutsystem gennem en række forbindelser og routere til et andet slutsystem. Den stakkels bit overføres mange, mange gange! Modtagerslutsystemet sender først bitten, og kort efter modtager den første router i rækken den bit; den første router sender derpå bitten, der kort efter modtages af den anden router; og så videre. På den måde passerer bitten, når den rejser fra afsender til modtager, en række sende-modtage-par. For hvert sende-modtage-par sendes bitten ved, at der udsendes elektromagnetiske bølger eller optiske impulser via et fysisk medium. Det fysiske medium findes i mange former og udgaver og behøver ikke at være det samme i de enkelte sende-modtage-par på ruten. Af eksempler på fysiske medier kan nævnes parsnoet kobbertråd, coax-kabel, multi-mode fiberoptisk kabel, jordbaseret radiospektrum og satellitbåret radiospektrum. Fysiske medier falder i to kategorier: guidede medier og ikke-guidede medier. Ved guidede medier føres bølgerne langs et konkret medium, såsom et fiberoptisk kabel, en parsnoet kobbertråd eller et coax-kabel. Ved ikke-guidede medier spredes bølgerne i atmosfæren og det ydre rum, som det ses i et trådløst LAN eller en digital satellitkanal. Men inden egenskaberne for de forskellige medietyper beskrives nærmere, er det på sin plads med et par ord om omkostningerne. Den reelle pris på den fysiske forbindelse (kobbertråd, fiberoptisk tråd osv.) er ofte relativt lille sammenlignet med andre netværksudgifter. Mere præcist kan arbejdsudgifterne i forbindelse med installation af den fysiske forbindelse ligge i en størrelsesorden, som er højere end udgifterne til materiellet. Af den grund installerer mange konstruktører parsnoet kabel, optisk fiber og coax-kabel i alle rummene i en bygning. Selv hvis det kun er ét medium, der bruges i begyndelsen, er der stor sandsynlighed for, at et andet medium bliver brugt inden længe, og derved sparer man penge ved ikke på et senere tidspunkt at skulle lægge flere kabler ind. Parsnoet kobbertråd Det billigste og mest udbredte guidede overførselsmedium er parsnoet kobbertråd. I over 100 år er det blevet benyttet i telefonnet. Faktisk er mere end 99 % af de kablede forbindelser fra telefonapparatet til den lokale central baseret på parsnoet kobbertråd. De fleste pcbrugere har set parsnoede kobbertråde derhjemme eller på arbejdet. Parsnoningerne består af to isolerede kobbertråde, hver især omkring 1 mm tyk, der er ordnet i regelmæssige spiralmønstre. Trådene er snoede for at reducere den elektriske interferens i kablet fra lignende, nærliggende par. Typisk bundtes en række trådpar sammen i et kabel, hvor de vikles ind i en beskyttende kappe.

50 Kapitel 1 Computernetværk og internettet Uskærmet parsnoet (UTP = Unshielded Twisted Pair) kabel bruges normalt i computernetværk i en bygning, dvs. i lokalnet (LAN). Datahastigheden for LAN, der bruger parsnoet kabel, spænder i dag fra 10 Mbps til 1 Gbps. De datahastigheder, der kan opnås, afhænger af ledningens tykkelse og afstanden mellem sender og modtager. To typer UTP er almindelige i LAN s: kategori 3 og kategori 5. Kategori 3 svarer til voice-grade (taleoptimeret) parsnoet kabel, der normalt findes i kontorbygninger. Kontorbygninger er ofte på forhånd forsynet med to eller flere parallelle parsnoede kategori 3-par; det ene par bruges til telefonforbindelser, og det andet (eller de andre) par kan bruges til ekstra telefonforbindelser eller LAN-netværk. 10 Mbps Ethernet, der er en af de mest almindelige LAN-typer, kan bruge kategori 3 UTP. Kategori 5, der har flere snoninger per centimeter og teflon-isolering, kan klare højere bithastigheder. 100 Mbps Ethernet, der kører på kategori 5-UTP, er blevet meget populær i de seneste år. Kategori 5-UTP er blevet almindelig ved præinstallationer i nye kontorbygninger. Da den fiberoptiske teknologi kom frem i 1980 erne, afviste mange parsnoede kabler på grund af deres relativt lave bithastigheder. Nogle mente tilmed, at den fiberoptiske teknologi fuldstændig ville erstatte parsnoede kabler. Men parsnoede kabler gav ikke op så nemt. Moderne parsnoet teknologi, såsom kategori 5-UTP, kan nå datahastigheder på 100 Mbps ved afstande på op til nogle få hundrede meter. Endnu højere hastigheder er mulige over kortere afstande. I sidste ende har parsnoede kabler vist sig at være den dominerende løsning for højhastighedsydende LAN-netværk. Som beskrevet i afnittet om access-netværk bruges parsnoet kabel normalt også ved privat internetopkobling. Det fremgik, at den opkaldsbaserede modemteknologi gør, at brugeren kan få adgang med hastigheder på 56 kbps via parsnoet kabel. Det fremgik også, at DSL-teknologien (DSL = Digital Subscriber Line) har gjort det muligt for privatopkoblede brugere at få adgang til internettet med hastigheder på langt over 6 Mbps via parsnoet kabel (når brugerne bor tæt ved udbydermodemet). Coax-kabel Som parsnoet kabel består coax-kablet af to kobberledere, men de to ledere er koncentriske i stedet for parallelle. Med denne konstruktion og en speciel isolering og skærmning kan coax-kablet give høje bithastigheder. Coax-kablet fås i to varianter: basisbånd-coax og bredbånds-coax. Basisbånd-coax-kablet, der også kaldes 50 ohm-kabel, er omkring 1 cm tykt, let og nemt at bøje. Det er almindeligt i LAN s; faktisk kan den computer, man bruger hjemme eller i skolen, være sluttet til et LAN med enten basisbånd-coax-kabel eller UTP. Man kan kaste et blik på tilslutningen til computerens interfacekort. Hvis der er et telefonlignende stik og ledning, som udgår fra begge sider af T-connectoren, er der tale om basisbånd-coax-kabel. Betegnelsen basisbånd (baseband) udspringer af den kendsgerning, at bitstrømmen sendes direkte ind i kablet, uden at signalet skifter til et andet frekvensbånd. 10 Mbps Ethernet kan bruge enten UTP eller basisbånd-coax-kabel. Dog bruger næsten alle nye Ethernet-installationer UTP, så Ethernet med coax-kabling er på vej til at blive en saga blot. Bredbånds-coax-kabel, der også kaldes 75 ohm-kabel, er en del tykkere, tungere og mere stift end basisbåndvarianten. Bredbåndskablet forekommer typisk i kabel-tv-systemer. Som det blev omtalt tidligere, er kabel-tv-systemer for nylig blevet kombineret med kabelmodemer for at give privatbrugere internetadgang med hastigheder på 1 Mbps eller højere. Med bredbånd-coax-kabler skifter senderen det digitale signal til et bestemt fre-

1.4 Netværksadgang og fysiske medier 51 kvensbånd, og det analoge signal, der opstår, sendes fra senderen til en eller flere modtagere. Både basisbånd- og bredbånd-coax-kabler kan bruges som et guidet delt medium. Mere præcist kan en række slutsystemer forbindes direkte til kablet, og alle slutsystemerne modtager, hvad der sendes af de andre slutsystemer. Fiberoptik En optisk fiber er et tyndt, bøjeligt medium, som leder lysimpulser, hvor hver impuls repræsenterer en bit. En enkelt optisk fiber kan klare enorme bithastigheder på op til hundredvis af gigabit per sekund. Fibre er immune over for elektromagnetisk interferens, har en meget lav signaldæmpning ved afstande på op til 100 km og er meget svære at aflytte. Disse karakteristika har gjort fiberoptik til det foretrukne langdistancemedium til guidede overførsler, især ved oversøiske forbindelser. Mange langdistancebaserede telefonnet i USA og andre steder bruger i dag udelukkende fiberoptik. Fiberoptik findes også typisk i internetbackbones. Men de høje priser på optiske enheder såsom sendere, modtagere og switche har blokeret for deres anvendelse til kortdistanceoverførsler, som for eksempel i et LAN eller på et boligkompleksbaseret access-netværk. [Goralski 2001], [Ramaswami 1998] og [Green 1992] giver en udtømmende dækning af optiske netværk. Jordbaserede radiokanaler Radiokanaler bærer signaler i det elektromagnetiske spektrum. De er attraktive som medier, fordi de ikke kræver installering af fysiske ledninger, kan gå igennem vægge, tilsluttes mobilbrugere og i givet fald bære et signal over lange afstande. Karakteristika for radiokanaler afhænger i væsentlig grad af udbredelsesmiljøet og de afstande, som et signal skal sendes over. Omgivelserne afgør tab af rute og shadow fading (som forringer signalstyrken, efterhånden som signalet bevæger sig over en vis afstand og omkring/gennem objekter, der er i vejen), multipath fading (på grund af tilbagekastning af signalet fra forstyrrende objekter) og interferens (på gund af andre radiokanaler eller elektromagnetiske signaler). Jordbaserede radiokanaler kan stort set klassificeres i to grupper: de kanaler, som opererer i lokalområder og typisk spænder fra ti til nogle få hundrede meter, og de grupper, som opererer i større områder og spænder over snesevis af kilometer. De trådløse LAN-produkter, som blev beskrevet i afsnit 1.4.1, bruger lokalbaserede radiokanaler; WAP, i-mode og 3G-teknologier, der også blev diskuteret i afsnit 1.4.1, bruger de fjernbaserede radiokanaler. Se [Dornan 2001] for en præsentation og diskussion af teknologien og produkterne. Satellitbårne radiokanaler En kommunikationssatellit forbinder to eller flere jordbaserede mikrobølgesendere/-modtagere, også kaldet jordstationer. Satellitten modtager overførsler fra et frekvensbånd, regenererer signalet ved hjælp af en repeater (se nedenfor) og sender signalet på en anden frekvens. Satellitter kan give båndbredder i størrelsesordenen gigabit per sekund. Der bruges to satellittyper i kommunikationen: geostationære satellitter og low-altitude-satellitter. Geostationære satellitter befinder sig på samme sted i forhold til Jorden. Denne stationære position opnås ved at placere satellitten i en bane 36.000 km over Jordens overflade. Denne enorme afstand fra jordstationen til satellitten og tilbage til jordstationen giver en betragtelig forsinkelse i udbredelsen på 250 millisekunder. Alligevel bruges satellitforbindel-

52 Kapitel 1 Computernetværk og internettet ser, som kan klare hastigheder på hundreder af Mbps, ofte i telefonnet og internetbackbones. Low-altitude-satellitter placeres ofte meget nærmere Jorden og forbliver ikke permanent på samme sted i forhold til den. De roterer omkring Jorden, ligesom Månen. For at dække et område løbende må der placeres mange satellitter i banen. Der er i dag mange lowaltitude-baserede kommunikationssystemer under udarbejdelse. Lloyds webside, der dækker satellitkonstellationer [Wood 2002], indsamler og formidler oplysninger om satellitkonstellationssystemer til kommunikation. Low-altitude-baseret satellitteknologi vil sandsynligvis kunne bruges til internetopkobling engang i fremtiden. 1.5 Udbydere og internetbackbones Det er tidligere fremgået, at slutsystemer (bruger-pc er, PDA er, webservere, mail-servere osv.) kobles på internettet via et access-netværk. Husk, at access-netværket kan være et kabelbaseret eller trådløst lokalnet (for eksempel i en virksomhed, en skole eller et bibliotek) eller en privat internetudbyder (for eksempel AOL eller MSN), som kontaktes via et opkaldsmodem, kabelmodem eller DSL. Men det at forbinde slutbrugere og serviceudbydere på internettet er kun en lille del af løsningen på problemet med at forbinde hundreder af millioner af brugere og hundredtusinder af netværk, som udgør internettet. Internettet er et»netværk bestående af netværk«at forstå dette udsagn er nøglen til løsningen af det aktuelle problem. I det offentlige internet kobles access-netværk i yderkanten af internettet til resten af internettet via et tier-baseret netværk af internetudbydere, som vist i figur 1.17. Access-udbydere (for eksempel private udbydere som AOL og virksomhedsudbydere, der bruger LAN s) befinder sig nederst i dette hierarki. Øverst oppe i hierarkiet er der et relativt lille antal såkaldte tier-1-udbydere. På mange måder er en tier-1-udbyder det samme som et hvilket som helst netværk med links og routere og tilslutning til andre netværk. På andre måder er tier-1-udbydere imidlertid specielle. Deres linjehastigheder er ofte 622 Mbps eller højere, og de større tier-1-udbydere har linjer, der ligger i området 2,5-10 Gbps; deres routere må derfor kunne videresende pakker med ekstremt høje hastigheder. Tier-1-udbydere karakteriseres også ved at være: direkte forbundet til hver enkelt af de andre tier-1-udbydere tilsluttet et stort antal tier-2-udbydere og andre kundenetværk internationalt dækkende. Tier-1-udbydere kendes også som internet-backbone-netværk. I skrivende stund er UUNet (et datterselskab af Worldcom) den største tier-1-udbyder; af andre større backbone-selskaber kan nævnes Sprim, AT&T og Cable and Wireless. En tier-2-udbyder har typisk en regional eller national dækning og er (vigtigt) kun koblet til nogle få af tier-1-udbyderne (se figur 1.17). For at nå en stor del af det globale internet må en tier-2-udbyder derfor route trafikken via nogle af de tier-1-udbydere, som den er forbundet med. En tier-2-udbyder siges at være en kunde hos de tier-1-udbydere, den har forbindelse med, og tier-1-udbyderen siges at være udbyder for sin kunde. Mange store virksomheder og institutioner slutter deres samlede netværk direkte til en tier-1- eller en tier-2-

1.5 Udbydere og internetbackbones 53 udbyder og bliver derved kunde hos den udbyder. En tier-udbyder opkræver en afgift fra sin kunde-udbyder, og afgiften afhænger typisk af båndbredden for den forbindelse, der bruges imellem dem. Et tier-2-netværk kan også vælge en direkte opkobling til andre tier-2-netværk, og i de tilfælde kan trafikken strømme mellem de to tier-2-netværk uden at skulle passere gennem et tier-1-netværk. Under tier-2-udbyderne er der underordnede udbydere, som kobles på de større internet via én eller flere tier-2-udbydere. Nederst i hierarkiet befinder access-udbyderne sig. For at komplicere tingene yderligere er nogle tier-1-udbydere også tier-2-udbydere (dvs. lodret integrerede), idet de sælger internetadgang direkte til slutbrugere og serviceudbydere samt underordnede tier-udbydere. Når to udbydere er direkte forbundne, siges de at have en peer-forbindelse med hinanden. Tier 1 Tier 2 Tier 3 Figur 1.17 Indbyrdes forbundne udbydere. I en udbyders netværk kaldes de punkter, hvor udbyderen tilsluttes andre udbydere (det være sig under, på eller over samme niveau i hierarkiet), for Points of Presence (POP s). En POP er simpelthen en gruppe bestående af én eller flere routere i udbyderens netværk, hvorigennem routere i andre udbydernet kan få forbindelse. En tier-1-udbyder har typisk mange POP s spredt ud over forskellige geografiske lokaliteter i sit netværk, med mange kundeudbydere, der har forbindelse til hver enkelt POP. Hvis en kundeudbyder skal sluttes til en udbyders POP, lejer kundeudbyderen typisk en højhastighedsforbindelse hos en tredjeparts telekommunikationsudbyder og får direkte forbindelse til én af dennes routere til en router

54 Kapitel 1 Computernetværk og internettet hos udbyderens POP. To tier-1-udbydere kan også have en peer-forbindelse med hinanden ved at koble sig sammen via et POP-par, med én POP fra hver af de to udbydere. Ydermere kan to udbydere have flere peer-punkter, der får forbindelse til hinanden i to eller flere POPpar. Ud over at etablere forbindelse til hinanden i private peer-punkter får udbyderne ofte indbyrdes forbindelse i Network Access Points (NAP s), der hver især kan være ejet og kørt af enten et tredjeparts telekommunikationsselskab eller af en internet-backbone-udbyder. NAP s udveksler enorme mængder trafik mellem de mange udbydere. I stigende grad er tier-1-udbydere dog ved at passere NAP s og etablere direkte forbindelser i private peerpunkter [Kende 2000]. Tendensen er, at tier-1-udbydere indbyrdes etablerer direkte forbindelse i private peer-punkter, og at tier-2-udbydere indbyrdes etablerer forbindelse med andre tier-2-udbydere og med tier-1-udbydere i NAP s. Da NAP s overfører og udveksler enorme mængder af trafik, er de i sig selv komplekse højhastighedskoblede netværk, der ofte er begrænset til en enkelt bygning. Ofte bruger en NAP højhastighedsbaseret ATMkoblet teknologi i sin centrale del, idet IP kører oven på ATM. (ATM diskuteres i kapitel 5). Sammenfattende kan det siges, at internettets topologi er kompliceret og består af snesevis af tier-1- og tier-2-udbydere samt tusindvis af underordnede udbydere. Udbyderne varierer med hensyn til dækningsområde, idet nogle af dem dækker flere kontinenter og oceaner, og andre begrænser sig til snævre dele af verden. Tier-udbyderne på underordnet niveau kobler sig til tier-udbydere på højere niveau, og sidstnævnte etablerer indbyrdes forbindelse i (typisk) private peer-punkter og NAP s. Brugere og serviceudbydere er kunder hos tier-udbydere på lavere niveau, og disse er kunder hos tier-udbydere på højere niveau. Dette afsnit afrundes med en konstatering af, at alle kan blive access-udbydere i det øjeblik, de har en internetforbindelse. Man behøver blot at købe det nødvendige udstyr (for eksempel router og modempulje), og så kan andre brugere koble sig på én. Derved kan nye udbydere og forgreninger føjes til internettopologien på samme måde, som en ny LEGOklods kan føjes til en eksisterende LEGO-model. 1.6 Forsinkelse og tab i pakkekoblede netværk Efter de overordnede dele af internetarkitekturen applikationerne, ende-til-ende-transportprotokoller, routere og linjer er det naturligt at se på, hvad der kan ske med en pakke, når den passerer fra afsender til modtager. Husk på, at en pakke starter hos en vært (afsenderen), passerer gennem en række routere for at ende hos en anden vært (modtageren). Når en pakke sendes fra en knude (vært eller router) til den næste knude (vært eller router) på ruten, udsættes pakken for forskellige former for forsinkelse i hver eneste knude på vejen. Der er væsentligst tale om knudebaserede behandlingsforsinkelser, køforsinkelser, transmissionsforsinkelser og udbredelsesforsinkelser. Disse indgår alle i den samlede forsinkelse i knuden. For rigtigt at forstå pakkekobling og computernetværk må man forstå beskaffenheden og betydningen af disse forsinkelser. 1.6.1 Forsinkelsestyper Figur 1.18 illustrerer disse forsinkelser. Som første del af forsendelsen fra afsenderen i den ene ende og modtageren i den anden ende sendes en pakke fra upstream-knuden gennem

1.6 Forsinkelse og tab i pakkekoblede netværk 55 router A til router B. Det er hensigten her at finde det karakteristiske ved knudeforsinkelsen i router A. Bemærk, at router A har en udgående linje til router B. Før denne linje er der en kø (også kaldet buffer). Når pakken ankommer til router A fra upstream-knuden, undersøger router A pakkens header for at fastslå den korrekte udgående linje for pakken, som derpå dirigeres hen til den linje. I dette eksempel går pakkens udgående linje til router B. En pakke kan kun sendes på en linje, hvis der ikke er andre pakker, der er ved at blive overførst på linjen, og hvis der ikke er andre pakker længere fremme i køen; hvis linjen er optaget, eller hvis der allerede er andre pakker i kø ved linjen, placeres den netop ankomne pakke i køen. Behandlingsforsinkelse Den tid, der skal bruges til at undersøge pakkens header og fastslå, hvor pakken skal sendes hen, indgår i behandlingsforsinkelsen. Behandlingsforsinkelsen kan også omfatte andre faktorer, såsom den tid, der skal bruges til på bitniveau at kontrollere, om der er opstået fejl i pakken, da dens bit blev overført fra upstream-knuden til router A. Behandlingsforsinkelser i højhastighedsroutere ligger typisk i størrelsesordenen mikrosekunder eller mindre. Efter knudebehandlingen sender routeren pakken til køen ved den linje, der går til router B. (I kapitel 4 beskrives det i detaljer, hvordan en router fungerer). Køforsinkelse A Knudebehandling (vente på Køer overførsel) Figur 1.18 Knudeforsinkelsen i router A. Udbredelse Overførsel I køen udsættes pakken for en køforsinkelse, når den venter på at blive sendt ud på linjen. Køforsinkelsen for en bestemt pakke afhænger af antallet af allerede indgåede pakker, som står i kø og venter på at blive sendt ud på linjen. Forsinkelsen for en given pakke kan variere betydeligt fra pakke til pakke. Hvis køen er tom, og der ikke på det pågældende tidspunkt overføres andre pakker, er pakkens køforinkelselse lig nul. Modsat er køforsinkelsen lang, hvis der er tæt trafik, og mange andre pakker også venter på at blive overført. Nedenfor vil det fremgå, at antallet af pakker, som en indgående pakke kan vente at finde ved ankomsten, er en funktion af intensiteten og beskaffenheden af den trafik, der kommer til køen. Køforsinkelsernes størrelse spænder i praksis fra mikrosekunder til millisekunder. B

56 Kapitel 1 Computernetværk og internettet Tranmissionsforsinkelse Hvis pakker sendes efter princippet først-ind-først-behandlet, hvilket er typisk for pakkekoblede netværk, kan pakken i det aktuelle eksempel kun sendes, efter at alle de pakker, som kom ind før den, er blevet sendt videre. Pakkelængden sættes til L bit, og linjeoverførselshastigheden fra router A til router B til R bit/sek. Hastigheden R bestemmes af linjens overførselshastighed til router B. Eksempelvis er hastigheden for en 10 Mbps Ethernet-linje R = 10 Mbps; for en 100 Mbps Ethernet-forbindelse er hastigheden R = 100 Mbps. Transmissionsforsinkelsen (der også kaldes store-and-forward-forsinkelsen, som omtalt i afsnit 1.3) er L/R. Dette er den tid, der er nødvendig for at skubbe (dvs. sende) alle pakkens bit fremad på linjen. Overførselsforsinkelsernes størrelse spænder typisk fra mikrosekunder til millisekunder. Udbredelsesforsinkelse Når en bit er kommet ud på linjen, skal den videre til router B. Den tid, der bruges til at få bitten af sted fra begyndelsen af linjen og ud til router B, kaldes udbredelsesforsinkelsen. Bitten bevæger sig af sted med linjens udbredelseshastighed. Udbredelseshastigheden afhænger af linjens fysiske medium (dvs. fiberoptik, parsnoet kobbertråd osv.) og ligger i følgende størrelsesorden: 2 10 8 m/sek. til 3 10 8 m/sek. hvilket er lig med, eller lidt mindre end, lysets hastighed. Udbredelsesforsinkelse er afstanden mellem to routere divideret med udbredelseshastigheden. Det vil sige, at udbredelsesforsinkelsen er d/s, hvor d er afstanden mellem router A og router B, og s er linjens udbredelseshastighed. Når den sidste bit i pakken sendes frem til knude B, gemmes den og alle foregående bit i pakken i router B. Hele processen fortsætter så, idet router B nu tager sig af videresendelsen. I WAN s ligger udbredelsesforsinkelserne ofte i størrelsesordenen millisekunder. Sammenligning mellem transmissions- og udbredelsesforsinkelse Hvis man lige har stiftet bekendtskab med computernetværk, kan det af og til være svært at forstå forskellen mellem transmissionsforsinkelse og udbredelsesforsinkelse. Forskellen er hårfin, men vigtig. Transmissionsforsinkelsen er den tid, det tager routeren at få sendt pakken videre; den er en funktion af pakkens længde og linjens transmissionshastighed, men har intet at gøre med afstanden mellem de to routere. Udbredelsesforsinkelsen er derimod den tid, det tager en bit at komme fra en router til den næste; den er en funktion af afstanden mellem de to routere, men har intet at gøre med pakkens længde eller linjens transmissionshastighed. En analogi kan måske kaste lys over betegnelsen transmissions- og udbredelsesforsinkelse. Lad os tage en motorvej med betalingsbom for hver 100 km. Motorvejssegmenterne mellem bommene er linjer, og bommene er routere. Lad os antage, at biler kører (dvs. udbredes) på motorvejen med en hastighed af 100 km/t (når en bil kører fra en bom, accellererer den altså straks til 100 km/t og holder den hastighed mellem bommene). Nu er der en kortege på 10 biler, som følges ad, og de holder samme position i rækkefølgen. Man kan betragte hver enkelt bil som en bit og kortegen som en pakke. Hver bom betjener (overfører

1.6 Forsinkelse og tab i pakkekoblede netværk 57 eller transmitterer) altså en bil hvert 12. sekund, og da det er sent om aftenen, er bilerne i kortegerne de eneste på motovejen. Lad os endelig antage, at hver gang den første bil i kortegen kommer til en bom, venter den ved båsen, indtil de 9 andre biler er nået op til og holder bag ved den. (Derfor må hele kortegen»lagres«ved bommen, før den kan begynde at blive»videresendt«). Den tid, der bruges ved en bom, på at få hele kortegen ekspederet ud på motorvejen er (10 biler)/(5 biler/minut) = 2 minutter. Denne tid svarer til transmissionsforsinkelsen i en router. Den tid, som en bil skal bruge for at komme fra udkørslen i én bås til den næste bås, er 100 km/(100 km/t) = 1 time. Denne tid svarer til udbredelsesforsinkelsen. Derfor bliver den tid, der går, fra kortegen»lagres«før én bås, til den»lagres«før den næste bås, summen af»transmissionsforsinkelsen«og»udbredelsesforsinkelsen«i dette eksempel 62 minutter. Lad os se lidt mere på denne analogi. Hvad ville der ske, hvis ekspeditionstiden i en bås for en kortege var længere end den tid, en bil bruger på kørslen mellem båsene? Lad os for eksempel antage, at biler i stedet bevæger sig med en hastighed af 1.000 km/t, og at ekspeditionstiden i en bås er 1 bil i minuttet. Så bliver kørselstiden mellem to båse 6 minutter, og ekspeditionstiden for en kortege er 10 minutter. I dette tilfælde når de første biler i kortegen frem til den anden bås, før de sidste biler i kortegen forlader den første bås. Denne situation forekommer også i pakkekoblede netværk de første bit i en pakke kan ankomme til en router, mens mange af de resterende bit i pakken stadig venter på at blive overført af den foregående router. Hvis vi lader d beh, d kø, d trans og d udbred betegne forsinkelsen i behandling, køplacering, transmission og udbredelse, så angives den samlede knudeforsinkelse således: d knude = d beh + d kø + d trans + d udbred Disse forsinkelseskomponenters vægt kan variere betragteligt. For eksempel kan d beh ignoreres (og ligge på et par mikrosekunder) på en linje, der forbinder to routere inden for samme universitetsområde; men d udbred er hundeder af millisekunder for to routere, der er forbundet via en geostationær satellitlinje, og kan være den dominerende størrelse i d knude. Ligeledes kan d trans svinge fra insignifikant til sigfinikant. Dens vægt er typisk insignifikant ved transmissionshastigheder på 10 Mbps og højere (for eksempel i LAN s); derimod kan den være hundreder af millisekunder i større internetpakker, der sendes via opkaldsmodemlinjer med lav hastighed. Behandlingsforsinkelsen, d beh, er ofte insignifikant; dog har den stor indvirkning på den maksimale gennemstrømning i en router, dvs. den højeste hastighed, som en router kan videresende pakker med. 1.6.2 Køforsinkelser og pakketab Den mest komplicerede og interessante komponent i en knudeforsinkelse er køfosinkelsen, d kø. Faktisk er køfosinkelse så vigtig og interessant i computernetværk, at der er skrevet tusinder af rapporter og talrige bøger om emnet [Bertsekas 1991; Daigle 1991; Kleinrock 1975, 1976; Ross 1995]! Vi vil kun give køforsinkelse en overordnet, intutitiv behandling her; de mere nysgerrige læsere kan eventuelt læse nogle af bøgerne (eller måske med tiden skrive en afhandling om emnet!). I modsætning til de tre andre forsinkelsestyper (nemlig d beh, d trans og d udbred ) kan køfosinkelsen variere fra pakke til pakke. Hvis ti pakker for eksempel ankommer til en tom kø på samme tid, vil den først overførte pakke ikke blive forsinket i køen, mens den sidst overførte pakke udsættes for en relativ stor køforsinkelse

58 Kapitel 1 Computernetværk og internettet (mens den venter på, at de ni andre pakker overføres). Når man derfor skal karakterisere køforsinkelser, må man typisk ty til statistiske hjælpemidler, såsom gennemsnitlig køforsinkelse, variationer i køforsinkelsen og sandsynligheden for, at køforsinkelsen overstiger en eller anden bestemt værdi. Hvornår er køforsinkelsen stor, og hvornår er den ikke signifikant? Svaret på dette spørgsmål afhænger i høj grad af den hastighed, hvormed trafikken ankommer til køen, linjens transmissionshastighed og beskaffenheden af den indgåede trafik, dvs. om trafikken ankommer jævnt fordelt eller i bølger. For at kaste lys over dette lader vi a betegne den gennemsnitshastighed, hvormed pakker ankommer til køen (a er måleenheden pakker/sek.). Husk, at R er transmissionshastigheden, dvs. den hastighed (i bit/sek.), hvormed bit skubbes ud af køen. Af hensyn til overblikket sættes det, at alle pakker består af L bit. Så er den gennemsnitshastighed, hvormed en bit ankommer til køen, La bit/sek. Det sættes endelig, at køen er meget stor, så den i bund og grund kan rumme et uendeligt antal bit. Ratioen La/R, der kaldes trafikintensiteten, spiller ofte en vigtig rolle for en vurdering af omfanget af køforsinkelsen. Hvis La/R, så er den gennemsnitshastighed, hvormed bit ankommer til køen, større end den hastighed, hvormed bittene kan sendes fra køen. I denne uheldige situation kan køen vokse ubegrænset, og køforsinkelsen bliver nærmest uendelig! Derfor lyder en af de gyldne regler for trafikstyring: Design systemet, så trafikintensiteten ikke er større end 1. I eksemplet La/R 1 har beskaffenheden af den indgående trafik betydning for køforsinkelsen. Hvis pakker for eksempel ankommer i faste intervaller dvs. at der ankommer en pakke hvert sekund så ankommer alle pakker til en tom kø, og der opstår ikke køforsinkelse. Hvis pakker derimod kommer i bølger og intervaller, kan der opstå en betydelig gennemsnitlig køforsinkelse. Hvis for eksempel N pakker ankommer på samme tid hvert (L/R) sekund, har den første pakke, der sendes, ingen køforsinkelse; den anden pakke, der sendes, har en køforsinkelse på L/R skunder; og mere generelt har den n de pakke, der sendes, en køforsinkelse på (n 1)L/R sekunder. Læseren kan selv øve sig med at udregne den gennemsnitlige køforsinkelse i dette eksempel. De to foregående eksempler på periodiske ankomster er en smule akademiske. Typisk er ankomstprocessen for en kø vilkårlig, dvs. at ankomsterne ikke følger et mønster, og tidsintervallerne mellem pakkerne er vilkårlige. I dette mere virkelighedstro eksempel er mængden La/R som regel ikke tilstrækkelig til fuldt ud at karakterisere forsinkelsesstatistikken. Ikke desto mindre er den praktisk, når vi vil have en intuitiv forståelse af omfanget af køforsinkelsen. Mere præcist vil der, hvis trafikintensiteten er tæt på nul, være få pakkeankomster og langt imellem dem, og det er usandsynligt, at en indgående pakke finder en anden pakke i køen. Derfor bliver den gennemsnitlige køforsinkelse næsten nul. Modsat vil der, når trafikintensiteten er næsten 1, være tidsintervaller, hvor ankomstfrekvensen overstiger transmissionskapaciteten (fordi ankomsterne sker i bølger), så der dannes en kø. Efterhånden som trafikintensiteten nærmer sig 1, bliver den gennemsnitlige kølængde større og større. Den gennemsnitlige køforsinkelses kvalitative afhængighed af trafikintensiteten ses i figur 1.19. Et vigtigt aspekt i figur 1.19 er den kendsgerning, at efterhånden som trafikintensiteten nærmer sig 1, vokser den gennemsnitlige køforsinkelse drastisk. En lille procentforøgelse af intensiteten giver en langt større procentvis forøgelse af forsinkelsen. Mange kender sikkert dette fænomen fra motorvejen. Hvis man regelmæssigt kører ad en vej, som typisk overbelastes, betyder den kendsgerning, at vejen typisk overbelastes, at dens trafikintensitet er næsten 1. Hvis en eller anden begivenhed forårsager blot den mindste forøgelse af trafikken ud over det normale, kan de forsinkelser, det afstedkommer, være enorme.

1.6 Forsinkelse og tab i pakkekoblede netværk 59 Gennemsnitlig køforsinkelse Pakketab La/R I det foregående var forudsætningen, at køen kan rumme et uendeligt antal pakker. I virkeligheden har en kø før en linje en begrænset kapacitet, selvom køkapaciteten i høj grad afhænger af design af og udgifter til switchene. Da køkapaciteten er begrænset, bliver pakkeforsinkelser i praksis ikke uendelige, når trafikintensiteten nærmer sig 1. I stedet kan en pakke nå frem og støde på en fyldt kø. Når en sådan pakke ikke kan opbevares nogetsteds, dropper en router pakken; dvs. at pakken går tabt. Set fra slutsystemet er der tale om en pakke, der er blevet sendt til netværkskernen, men aldrig dukker op fra netværket hos modtageren. Andelen af tabte pakker stiger i takt med, at trafikintensiteten forøges. Ofte måles ydeevnen i en knude derfor ikke alene på basis af forsinkelse, men også på basis af sandsynligheden for pakketab. Som det vil fremgå af de følgende kapitler, kan en tabt pakke gensendes på ende-til-ende-niveau, enten af applikationen eller af transportlagprotokollen. Ende-til-ende-forsinkelse Hidtil har diskussionen fokuseret på knudeforsinkelsen, dvs. forsinkelse i en enkelt router. Lad os afslutte diskussionen ved kort at se på forsinkelsen fra afsender til modtager. For at få styr på dette forudsættes det, at der er N 1 routere mellem afsenderværten og modtagerværten. Som udgangspunkt er netværket ikke overbelastet (så man kan se bort fra køforsinkelser), behandlingsforsinkelsen ved hver router og ved modtagerværten er d beh, transmissionshastigheden fra hver router og fra afsenderværten er R bit/sek., og udbredelsen på hver linje er d udbred. Knudeforsinkelserne akkumuleres og giver en ende-til-ende-forsinkelse: d ende ende = N (d beh + d trans + d udbred ) 1 Figur 1.19 Trafikintensitetens indvirkning på den gennemsnitlige køforsinkelse. hvor d trans igen er = L/R, idet L er pakkestørrelsen. Læseren kan eventuelt bruge denne formel mere generelt på eksempler med heterogene forsinkelser i knuderne og den gennemsnitlig køforsinkelse i hver knude.

60 Kapitel 1 Computernetværk og internettet 1.6.3 Forsinkelse og routere på internettet For rigtigt at forstå forsinkelsen i et computernetværk kan vi bruge diagnoseprogrammet Traceroute. Traceroute er et simpelt program, som kan køre på alle internetværter. Når brugeren angiver navnet på en modtagervært, sender programmet på afsenderværten flere specialpakker til den modtager. Efterhånden som disse pakker arbejder sig vej frem mod modtageren, passerer de gennem en række routere. Når en router modtager en af disse specialpakker, sender den en kort besked tilbage til afsenderen. Denne besked indeholder navn og adresse på routeren. Mere præcist forudsættes det, at der er N 1 routere mellem afsenderen og modtageren. Så vil afsenderen sende N specialpakker ud på netværket, idet hver pakke har den endelige modtager som adressat. Disse N specialpakker mærkes 1 til N, idet den første pakke mærkes 1, og den sidste pakke mærkes N. Når router n modtager pakke n, ødelægger routeren pakken og sender en besked tilbage til afsenderen. Og når modtagerværten modtager pakke nr. N, ødelægger modtageren også den, men returnerer også her en besked til afsenderen. Afsenderen registerer den tid, der er gået fra afsendelsen af pakken til modtagelsen af den tilhørende svarbesked; den registrerer også navn og adresse på routeren (eller modtagerværten), som returnerer beskeden. På denne måde kan afsenderen rekonstruere den rute, som de pakker har fulgt fra afsender til modtager, og afsenderen kan fastslå forsinkelserne hele vejen rundt for alle de mellemliggende routere. Traceroute gentager faktisk ekperimentet, vi netop har beskrevet, tre gange, så afsenderen sender reelt 3 N pakker til modtageren. RFC 1393 beskriver Traceroute i detaljer. Her følger et eksempel på output fra Traceroute-programmet, hvor ruten blev sporet (traced) fra afsenderværten eniac.seas.upenn.edu (på the University of Pennsylvania) til diane.ibp.fr (på University of Paris VI). Outputtet består af seks kolonner: Den første kolonne er værdien n, som beskrives ovenfor, dvs. nummeret på en af routerne på ruten; anden kolonne er navnet på routeren; tredje kolonne er routeradressen (der skrives xxx.xxx.xxx.xxx); de sidste tre kolonner er forsinkelserne hele vejen rundt i de tre eksperimenter. Hvis afsenderen modtager mindre end tre beskeder fra en given router (på grund af pakketab i netværket), indsætter Traceroute en stjerne lige efter routernummeret og registrerer mindre end tre returnerede svar fra den router. 1 GW.CIS.UPENN.EDU (130.91.6.254) 3 ms 2 ms 1 ms 2 DEFAULT7-GW.UPENN.EDU (165.123.247.8) 3 ms 1 ms 2 ms 3 192.204.183.1 (192.204.183.1) 3 ms 4 ms 3 ms 4 border2-hssi1-0.westorange.mci.net (204.70.66.5) 6 ms 6 ms 6 ms 5 core1-fddi-1.westorange.mci.net (204.70.64.33) 7 ms 6 ms 6 ms 6 somerouter.sprintlink.net (206.157.77.106) 16 ms 305 ms 192 ms 7 somerouter.sprintlink.net (206.157.77.106) 20 ms 196 ms 18 ms 8 sl-dc-6-h2/0-t3.sprintlink.net (144.228.10.33) 19 ms 18 ms 24 ms 9 198.67.0.1 (198.67.0.1) 19 ms 24 ms 18 ms 10 gsl-dc-3-fddi0/0.gsl.net (204.59.144.197) 19 ms 18 ms 20 ms 11 * raspail-ip.eurogate.net (194.206.207.6) 133 ms 94 ms 12 raspail-ip2.eurogate.net (194.206.207.57) 93 ms 95 ms 97 ms 13 194.206.207.17 (194.206.207.17) 200 ms 94 ms 209 ms 14 stamand1.renater.ft.net (192.93.43.185) 105 ms 101 ms 105 ms 15 stlambert.rerif.ft.net (192.93.43.117) 108 ms 102 ms 95 ms 16 danton1.rerif.ft.net (193.48.53.50) 110 ms 97 ms 91 ms

1.7 Protokollag og deres servicemodeller 61 17 u-jussieu-paris.rerif.ft.net (193.48.58.122) 94 ms 96 ms 100 ms 18 r-jusren.reseau.jussieu.fr (192.44.54.126) 100 ms 94 ms 100 ms 19 r-ibp.reseau.jussieu.fr (134.157.254.250) 96 ms 100 ms 94 ms 20 masi.ibp.fr (132.227.60.23) 121 ms 100 ms 97 ms 21 * diane.ibp.fr (132.227.64.48) 105 ms 102 ms I det viste trace-eksempel er der 20 routere mellem afsenderen og modtageren. De fleste af disse routere har et navn, og de har alle adresser. Eksempelvis er navnet på router 8 sl-dc- 6-H2/0-T3.sprintlink.net, og dens adresse er 144.228.10.33. Hvis man ser på de data, der er indsamlet om denne router, kan man se, at i den første kontrol var forsinkelsen hele vejen rundt mellem afsenderen og router 8 19 msek. Forsinkelserne hele vejen rundt i de følgende to kontroller var 18 og 24 msek. Disse rundtursforsinkelser indeholder alle de forsinkelser, der netop er beskrevet, herunder transmissionsforsinkelser, udbredelsesforsinkelser, routerbehandlingsforsinkelser og køforsinkelser. Da køforsinkelsen svinger med tiden, kan forsinkelsen hele vejen rundt for pakke n, der er sendt til router n, faktisk være længere end forsinkelsen hele vejen rundt for pakke n + 1. Bemærk i ovenstående eksempel, at der er et stort spring i forsinkelsen hele vejen rundt, når man går fra router 10 til router 11. Det skyldes, at linjen mellem router 10 og 11 er transatlantisk. Hvis man selv vil forsøge sig med Traceroute, anbefales det kraftigt, at man besøger www.traceroute.org, der giver en webindgang til en omfattende oversigt over kilder til route tracing. Vælg en kilde og angiv værtsnavnet på en hvilken som helst modtager. Tracerouteprogrammet klarer så resten. 1.7 Protokollag og deres servicemodeller På baggrund af det netop gennemgåede er det tydeligt, at internettet er et yderst kompliceret system. Vi har set, at der er mange enkeltdele i internettet: talrige applikationer og protokoller, forskellige typer slutsystemer og forbindelser mellem slutsystemer og forskellige typer medier på linjeniveau. I betragtning af denne enorme kompleksitet kan man spørge, om der er begrundet håb om at organisere netværksarkitekturen eller i det mindste diskutere den. Heldigvis er svaret på begge spørgsmål ja. 1.7.1 Lagdelt arkitektur Inden de forskellige forestillinger om internetarkitektur organiseres, er det på sin plads med en menneskelig analogi. Faktisk beskæftiger alle sig til daglig hele tiden med komplekse systemer, eksempelvis hvis en person gerne vil have en beskrivelse af flyrejsesystemet. Hvordan ville man finde den struktur, der kan beskrive dette komplicerede system, som har billetbureauer, baggagekontrol, gatepersonale, piloter, fly, flytrafikkontrol og et verdensomspændende system til fastlæggelse af flyruter? Én måde at beskrive dette på er at beskrive den række handlinger, man udfører (eller lader andre udføre), når man rejser med et flyselskab. Man køber en billet, foretager check-in af bagagen, går til gaten og kommer til sidst om bord på flyet. Flyet letter og dirigeres til sit bestemmelsessted. Hvis turen var slem, klager man over turen hos billetpersonalet (uden at få noget ud af det). Dette scenario vises i figur 1.20.

62 Kapitel 1 Computernetværk og internettet Billet (køb) Bagage (indlevering) Gates (indstigning) Afgang Billet (klage) Bagage (afhentning) Gates (udstigning) Ankomst I luften I luften Figur 1.20 Flyrejse: Handlinger. I luften Allerede her er der nogle lighedspunkter i forhold til computernetværk: Passagererne sendes fra afrejsestedet til bestemmelsesstedet af flyselskabet; en pakke sendes fra afsendervært til modtagervært på internettet. Men dette er ikke den bedste sammenligning i denne sammenhæng. I figur 1.20 ønskes en eller anden struktur, og det fremgår, at der er en billetfunktion i begge ender; der er også en bagagefunktion for passagerer med billet og en gatefunktion for de passagerer med billet, der har overstået check-in af deres bagage. For de passagerer, der er nået forbi gaten (dvs. passagerer, som allerede har billet, har foretaget check-in af bagagen og er gået igennem gaten) er der en lette- og landingsfunktion, og mens de er i luften, er der en flyrutefunktion. Det betyder, at vi kan betragte funktionen i figur 1.20 horisontalt, som vist i figur 1.21. Figur 1.21 har inddelt flyrejsens funktionalitet i lag, der giver en struktur, som kan bruges til at diskutere flyrejser. Når man således vil beskrive en del af flyrejsen, kan man tale om en bestemt, veldefineret komponent i den. Når man for eksempel diskuterer gatefunktionalitet, ved man, at man taler om den funktionalitet, som er placeret»under«bagagehåndteringen og»over«flyet, der letter og lander. Man ser også, at hvert lag, kombineret med de underliggende lag, implementerer en eller anden funktionalitet, en service. På billetlaget og længere nede gennemføres overførslen af passagerer fra flyselskabsskranke til flyselskabsskranke. På bagagelaget og længere nede gennemføres overførslen fra check-in af bagagen til check-in af bagagen for en person samt rejsetasker. Bemærk, at bagagelaget kun sikrer dette for en person med billet. På gatelaget gennemføres overførslen af en person med bagage fra afgangsgate til ankomstgate. På lette-/landelaget gennemføres overførslen af personer inklusive bagagen fra landingsbane til landingsbane. Hvert lag sikrer en service ved (1) at udføre bestemte handlinger på det lag (på gatalaget eksempelvis at få folk ind i eller ud af et fly) og ved (2) at bruge services på laget umiddelbart under det (på gatelaget eksempelvis brug af lette-/landelagets overførselsservice af passagerer fra landingsbane til landingsbane). Som nævnt ovenfor kan vi med en lagdelt arkitektur diskutere en veldefineret, bestemt del af et stort og meget kompliceret system. Denne simplificering er i sig selv af stor værdi.

1.7 Protokollag og deres servicemodeller 63 Billet (køb) Bagage (indlevering) Gates (indstigning) Afgang Billet (klage) Bagage (afhentning) Gates (udstigning) Ankomst Billet Bagage Gate Lette/Lande I luften I luften I luften I luften Figur 1.21 Den horisontale lagdeling i flyrejsens funktionalitet. Når et system har en lagdelt struktur, er det også meget nemmere at ændre implementeringen af den service, der udføres af laget. Så længe laget yder samme service over for laget ovenover og bruger samme services fra laget nedenunder det, forbliver resten af systemet uændret, når et lags implementering ændrer selve servicen! Hvis gatefunktionen blev ændret (så folk gik ombord og fra borde efter højde), ville resten af flysystemet forblive det samme, idet gatelaget stadigvæk yder samme funktion (at få folk ind i flyet og ud af det); det implementerer simpelthen den funktion på en anden måde efter ændringen. Med store og komplicerede systemer, der konstant opdateres, er muligheden for at ændre implementeringen af en service uden at påvirke andre komponenter i systemet endnu en vigtig fordel ved lagdeling. Men nok om flyrejser. Nu skal det dreje sig om netværksprotokoller. For at reducere kompleksiteten i designet organiserer netværksdesignere protokoller i lag. Med en lagdelt protokolarkitektur hører hver eneste protokol til et af lagene. Det er vigtigt at forstå, at en protokol i lag n distribueres blandt netværksenhederne (herunder slutsystemer og pakkeswitche), som implementerer den protokol på samme måde, som funktionen i den lagdelte flyselskabsarkitektur blev distribueret mellem afrejse- og ankomstlufthavnene. Der er med andre ord en del af lag n i hver eneste netværksenhed. Disse dele kommunikerer med hinanden ved at udveksle lag n-meddelelser. Disse meddelelser kaldes lag n-protokoldataenheder, eller mere almindeligt n-pdu er. Indholdet og formatet i en n-pdu samt den måde, hvorpå n-pdu er udveksles blandt netværkselementerne, defineres af en lag n-protokol. Samlet kaldes protokollerne i de forskellige lag protokolstakken. Når lag n i vært A sender en n-pdu til lag n i vært B, videreformidler lag n i vært A n- PDU en til lag n 1 og lader så lag n 1 levere n-pdu en til lag n i B; derfor siges lag n at overlade det til lag n 1 af levere sin n-pdu til modtageren. Servicemodellen i et lag er et bærende princip. Lag n 1 siges at yde services til lag n. For eksempel kan lag n 1 garantere, at n-pdu en vil nå frem til lag n hos modtageren uden fejl inden for ét sekund, eller også garanterer det kun, at n-pdu en vil nå frem til modtageren uden garanti mod fejl. Protokollag Princippet med protokollag er ret abstrakt og nogle gange svært at forstå umiddelbart. Det bliver mere tydeligt, efterhånden som man ser mere detaljeret på internetlagene og deres

64 Kapitel 1 Computernetværk og internettet H 2 H 3 M 1 H 3 M 1 delprotokoller. Et eksempel, der formentlig kaster lidt lys over protokollag og protokolstakke, går ud fra et netværk, som organiserer sine kommunikationsprotokoller i fire lag (der er forskellige fra internettet, der organiserer sine protokoller i fem lag), som vist i figur 1.22. Da der er fire lag, er der fire PDU-typer: 1-PDU er, 2-PDU er, 3-PDU er og 4-PDU er. Som vist i figur 1.22 opretter applikationen, der kører på det øverste lag, lag 4, en meddelelse, M. Enhver meddelelse, der dannes på dette højeste lag, er en 4-PDU. Meddelelsen M kan i sig selv bestå af mange forskellige felter (på nogenlunde samme måde som en struktur eller record i et programmeringssprog kan indeholde forskellige felter); det er op til applikationen at definere og fortolke felterne i meddelelsen. Felterne kan indeholde navnet på afsenderen, en kode, som viser meddelelsestypen, og yderligere data. Hos afsenderværten»videregives«hele indholdet af meddelelse M derpå nedad i protokolstakken til lag 3. I eksemplet i figur 1.22 opdeler lag 3 hos afsenderværten en 4-PDU i to, M 1 og M 2. Lag 3 hos afsenderværten føjer så såkaldte headere til M 1 og M 2 for at danne to lag 3-PDU er. Headere indeholder de ekstra informationer, der skal bruges til at sende og modtage sider af lag 3 for at implementere den service, som lag 3 leverer til lag 4. Proceduren fortsætter hos afsenderen, idet der tilføjes flere headerinformationer på hvert lag, indtil 1-PDU erne er dannet. 1-PDU erne sendes fra afsenderværten ud på en fysisk linje. I den anden ende modtager modtagerværten 1-PDU er og dirigerer dem opad i protokolstakken. På hvert lag fjernes den tilhørende header. Til sidst gendannes M ved hjælp af M 1 og M 2 og dirigeres videre til applikationen. Oprindelig meddelelse M H 3 M 2 3-PDU H 3 M 1 H 3 M 2 H 2 H 3 M 2 2-PDU H 1 H 2 H 3 M 1 H 1 H 2 H 3 M 2 1-PDU H 1 H 2 H 3 M 1 H 1 H 2 H 3 M 2 M H 2 H 3 M 1 H 2 H 3 M 2 Afsender Modtager Figur 1.22 Forskellige PDU er på forskellige lag i protokolarkitekturen. Bemærk, at i figur 1.22 bruger lag n services i lag n 1. Når for eksempel lag 4 først har oprettet meddelelsen M, sender den meddelelsen nedad til lag 3 og overlader det til lag 3 at aflevere meddelelsen til lag 4 hos modtageren. Det er interessant, at denne model med at basere sig på underliggende lag forekommer hyppigt i mange andre former for kommunikation, f.eks. i forbindelse med den almindelige

1.7 Protokollag og deres servicemodeller 65 postbefordring. Når man skriver et brev, føjer man også konvolutinformationer såsom modtageradressen og asfsenderadressen til. Brevet, inklusive adresseinformationerne, kan betragtes som en PDU på det øverste niveau i protokolstakken. Derpå putter man PDU en i en postkasse. På dette punkt er brevet ude af ens hænder. Postvæsenet kan så tilføje sine egne interne informationer på brevet, hvilket reelt svarer til at føje en header til brevet. For eksempel påtrykkes der i USA ofte en stregkode på et brev. Når man har puttet konvolutten i postkassen, stoler man på, at postvæsenets services afleverer brevet til den korrekte modtager inden for en rimelig tid. Man behøver for eksempel ikke at tænke over, om en postbil bryder sammen, mens den kører af sted med brevet. Det tager postvæsenet sig nemlig af, formentlig med veldefinerede planer til imødegåelse af sådanne uheld. Derudover er der inden for selve postvæsenet lag, og protokollerne på ét lag baserer sig på og bruger services i det underliggende lag. Hvis et lag skal operere i samspil med det underliggende lag, skal grænsefladerne mellem de to lag være defineret nøjagtigt. Standardinstanser definerer nøjagtigt grænsefladerne mellem tilstødende lag (eksempelvis formatet for de PDU er, der udveksles mellem lagene) og sikrer, at udviklere af netværkssoftware og -hardware kan implementere indholdet af lagene, som de vil. Hvis der frigives en ny og forbedret implementering af et lag, kan den nye implementering derfor erstatte den gamle implementering, og lagene vil, i teorien, fortsætte med at fungere sammen. Lagfunktioner I et computernetværk kan hvert lag udføre en eller flere af følgende generiske rækker af opgaver: Fejlkontrol, som gør den logiske kanal mellem lagene i to peer-netværkselementer mere pålidelige. Flowkontrol, som modvirker overlæsning af en langsommere peer med PDU er. Segmentering og gendannelse, som på afsendersiden opdeler store databidder i mindre dele og på modtagersiden igen samler disse dele til den oprindelige store bid. Multiplexing, som gør det muligt for flere sessioner på et højere niveau at dele en enkelt lavniveauforbindelse. Forbindelsesopsætning, som sørger for handshaking med en peer. Protokollagdeling giver principielle og strukturelle fordele. Det bør imidlertid nævnes, at nogle forskere og netværkskonstruktører er stærke modstandere af lagdeling [Wakeman 1992]. Én mulig ulempe ved lagdeling er, at ét lag kan kopiere funktionaliteten fra underliggende lag. Eksempelvis sørger mange protokolstakke for fejlretning på både linjeniveau og ende-til-ende-niveau. En anden mulig ulempe er, at funktionaliteten på ét lag kan kræve informationer (eksempelvis en tidsmærkeværdi), som kun er til stede på et andet lag; dette virker stik imod hensigten om at holde lag adskilte. 1.7.2 Internettets protokolstak Internetstakken består af fem lag: det fysiske, datalinklaget (også kaldet dataoverførselslaget), netværkslaget, transportlaget og applikationslaget. I stedet for at bruge den besværlige terminologi n-pdu for hvert af de fem lag får PDU erne specielle navne i fire af de fem

66 Kapitel 1 Computernetværk og internettet lag: frame, datagram, segment og meddelelse. En dataenhed for det fysiske lag navngives ikke, da der ikke findes et alment anvendt navn på dette lag. Internetstakken og de tilhørende PDU-navne fremgår af figur 1.23. Stak PDU'er Lag 5 Applikation Meddelelse Lag 4 Transport Segment Lag 3 Lag 2 Lag 1 Netværk Link Fysiske Et protokollag kan implementeres i software, i hardware eller i en kombination af de to. Applikationslagprotokoller såsom http og SMTP implementeres næsten altid i software i slutsystemerne; det gør transportlagprotokoller også. Da det fysiske lag og datalinklaget har ansvaret for håndtering af kommunikation over en bestemt linje, implementeres de typisk i et netværksinterfacekort (for eksempel Ethernet- eller ATM-interfacekort), der er knyttet til en given linje. Netværklaget er ofte en blandet implementering af hardware og software. I det følgende opsummeres nu internetlagene og de services, de sørger for. Applikationslaget Applikationslaget har ansvaret for understøttelse af netværksapplikationer. Applikationslaget omfatter mange protokoller, herunder http til understøttelse af World Wide Web, SMTP til understøttelse af elektronisk post og FTP til understøttelse af filoverførsel. I kapitel 2 påvises det, at man meget nemt kan oprette sine egne nye applikationslagprotokoller. Transportlaget Datagram Frame 1-PDU Figur 1.23 Internetprotokolstakken og PDU er. Transportlaget sørger for den service at transportere applikationslagmeddelelser mellem klienten og serversiden af en applikation. I internettet er der to transportprotokoller, TCP og UDP, der hver især kan transportere applikationslagmeddelelser. TCP giver sine applikationer en forbindelsesorienteret service. Denne service omfatter garanteret aflevering af applikationslagmeddelelser til modtageren og flowkontrol (dvs. sammenligning af afsender-/modtagerhastighed). TCP opdelerer også lange meddelelser i kortere segmenter og sørger for en mekanisme til kontrol af overbelastning, så en afsender kan dæmpe transmissionshastigheden, når netværket er overbelastet. UDP-protokollen giver sine applikationer

1.7 Protokollag og deres servicemodeller 67 en forbindelsesløs service, der (som vi så det i afsnit 1.2) i høj grad er en service uden svinkeærinder. Netværkslaget Netværkslaget har ansvaret for at rute diagrammer fra en vært til en anden. Internettets netværkslag har to principielle komponenter. Det har en protokol, som definerer felterne i IP-diagrammerne, og hvad slutsystemerne og routere gør i forhold til disse felter. Denne protokol er den navnkundige IP-protokol. Der er kun én IP-protokol, og alle de internetkomponenter, som har et netværkslag, skal køre IP-protokollen. Internettets netværkslag indeholder også routingprotokoller, som bestemmer de ruter, som datagrammer følger fra afsender til modtager. Internettet har mange routingprotokoller. Som vi så det i afsnit 1.3, er internettet et netværk bestående af netværk, og i et netværk kan netværksadministratoren køre en hvilken som helst routingprotokol. Skønt netværkslaget indeholder både IP-protokollen og talrige routingprotokoller, kaldes det ofte blot IP-laget, hvilket afspejler den kendsgerning, at IP er limen, der holder sammen på internettet. Internettets transportlagprotokol (TCP eller UDP) hos en afsendervært passerer gennem et transportlagsegment og en modtageradresse til IP-laget, ligesom man giver postvæsenet et brev med en modtageradresse. IP-laget tager sig så af den service, der består i at aflevere segmentet til modtagerværten. Når pakken ankommer til modtagerværten, bevæger IP sig gennem segmentet og frem til transportlaget hos værten. Linklaget Netværkslaget ruter en pakke gennem en række pakkeswitche (på internettet kaldet routere) mellem afsender og modtager. For at flytte en pakke fra en knude (vært eller pakkeswitch) til den næste på ruten sender netværkslaget datagrammet nedad til linklaget, som afleverer datagrammet til den næste knude på ruten. I denne næste knude sender linklaget datagrammet videre op til netværkslaget. Den service, linklaget sørger for, afhænger af den bestemte linklagprotokol, som bruges på linjen. For eksempel sikrer nogle protokoller en sikker aflevering på linkniveau, dvs. fra én afsenderknude via en linje til modtagerknuden. Bemærk, at denne sikre aflevering adskiller sig fra den sikre afleveringsservice med TCP, som giver en sikker aflevering fra ét slutsystem til et andet. Eksempler på linklag omfatter Ethernet og PPP; i visse sammenhænge kan man tælle ATM og frame relay med som linklag. Da datagrammer typisk skal igennem flere linjer for at nå fra afsender til modtager, kan et datagram blive håndteret af forskellige linklagprotokoller på forskellige linjer undervejs. For eksempel kan et datagram blive behandlet af Ethernet på én linje og så PPP på den næste linje. Netværkslaget får forskellige services fra hver af de forskellige linklagprotokoller. Det fysiske lag Mens det er linklagets opgave at flytte hele frames fra ét netværkselement til et tilstødende netværkselement, er det det fysiske lags opgave at flytte de enkelte bit i framen fra en knude til den næste. Protokollerne på dette lag er igen afhængige af linjen og derudover af linjens reelle overførselsmedium (eksempelvis parsnoet kobbertråd, single mode-fiberoptik). Ethernet har for eksempel mange fysiske lagprotokoller: én til parsnoet kobbertråd, en an-

68 Kapitel 1 Computernetværk og internettet den til coax-kabel, en tredje til fiber osv. I hvert tilfælde flyttes en bit over linjen på forskellig vis. Hvis man slår op i indholdsfortegnelsen, kan man se, at denne bog stort set er organiseret ud fra lagene i internetprotokolstakken. Der arbejdes oppefra og ned (»top-down«), idet bogen først dækker applikationslaget og derefter fortsætter nedad. 1.7.3 Netværksenheder og lag De vigtigste netværksenheder er slutsystemer og pakkeswitche. Som det ses senere, er der to typer pakkeswitche: routere (»rutere«) og bridges (»broer«). Routere er tidligere blevet introduceret. Bridges diskuteres nærmere i kapitel 5, mens routere dækkes mere detaljeret i kapitel 4. I lighed med slutsystemer organiserer routere og bridges netværkets hardware og software i lag. Men routere og bridges implementerer ikke alle lagene i protokolstakken; typisk implementerer de kun de nederste lag. Som vist i figur 1.24 implementerer bridges lag 1 og 2; routere implementerer lag 1 til 3. Dette indebærer for eksempel, at internetroutere er i stand til at implementere IP-protokollen (en protokol på lag 3), mens bridges ikke er det. Senere i denne bog vil det fremgå, at mens bridges ikke genkender IP-adresser, kan de genkende adresser på lag 2, eksempelvis Ethernet-adresser. Bemærk, at værter implementerer alle fem lag; dette stemmer overens med den antagelse, at i internetarkitekturen ligger en stor del af kompleksiteten i»udkanten«af netværket. Afsender Data Applikation Transport Netværk Link Fysiske Bridge Link Fysiske Router Netværk Link Fysiske Modtager Data Applikation Transport Netværk Link Fysiske Figur 1.24 Værter, routere og bridges. De indeholder hver deres sæt af lag, hvilket afspejler forskellene i deres funktionalitet.

1.8 Historien bag computernetværk og internettet 69 1.8 Historien bag computernetværk og internettet 1.8.1 Udviklingen af pakkekobling: 1961-1972 Computernetværk og dagens internet kan spore deres oprindelse til de tidlige tressere, en periode, hvor telefonnettet var det dominerende kommunikationsnetværk overalt. Som det blev nævnt i afsnit 1.3, bruger telefonnettet kredsløbskobling til at overføre informationer fra en afsender til en modtager et passende valg, når man tænker på, at tale mellem afsender og modtager overføres med en konstant hastighed. I betragtning af den tiltagende betydning (og de store udgifter) forbundet med computere i de tidlige tressere og fremkomsten af tidsdelte computere var det vel naturligt (i alt fald for den bagkloge!), at man overvejede, hvordan computerne kunne kobles sammen, så geografisk adskilte brugere kunne deles om dem. Den trafik, der genereres af sådanne brugere, ville nemt komme i»bølger«intervaller med aktivitet, såsom afsendelsen af en kommando til en ekstern computer, efterfulgt af perioder med inaktivitet, hvor der ventes på svar, eller hvor det modtagne svar behandles. Uden at kende til hinandens arbejde begyndte tre forskergrupper [Leiner 1998] at udtænke en idé om pakkekobling som et effektivt og driftsikkert alternativ til kredsløbskobling. Det første offentliggjorte værk om pakkekoblingsteknologier skyldes Leonard Kleinrock [Kleinrock 1961; Kleinrock 1964], på det tidspunkt bachelor-studerende på MIT. Med udgangspunkt i køteorien påviste Kelinrocks værk på elegant vis effektiviteten i den pakkekoblede indgang til håndtering af trafikbølger. I 1964 var Paul Baran [Baran 1964] på Rand Institute begyndt at undersøge brugen af pakkekobling til sikker overførsel af tale i militære netværk, og på National Physical Laboratory i England var Donald Davies og Roger Scantlebury også i gang med at udvikle deres ideer om pakkekobling. Arbejdet på MIT, Rand og NPL dannede grundlaget for vor tids internet. Men internettet har også en lang historie med den»lad os bygge det og demonstrere det«-attitude, som også har sin rod i de tidlige tressere. J.C.R. Licklider [DEC 1990] og Lawrence Roberts, begge kolleger til Kleinrock på MIT, blev sat til at lede datalogiprogrammet på Advanced Research Projects Agency (ARPA) i USA. Roberts publicerede en overordnet plan for det såkaldte ARPAnet [Roberts 1967], det første pakkekoblede netværk og en direkte forløber for vore dages offentlige internet. De tidlige pakkeswitche blev kendt under betegnelsen interface message processors (IMP), og kontrakten på at bygge disse switche gik til firmaet BBN. På den første mandag i september 1969 installeredes den første IMP på UCLA under Kleinrocks ledelse, mens yderligere tre IMP er kort efter blev installeret på Stanford Research Institute (SRI) i UC Santa Barbara og University of Utah (figur 1.25). Denne spæde forgænger til internettet bestod i slutningen af 1969 af fire knuder. Kleinrock erindrer, at den allerførste gang, der skulle udføres en fjernlogin på netværket fra UCLA til SRI, gik systemet ned [Kleinrock 1998]. I 1972 bestod ARPAnet af omkring 15 knuder og blev første gang demonstreret af Robert Kahn på International Conference on Computer Communications i 1972. Den første vært-til-vært-protokol mellem ARPAnet-baserede slutsystemer, kendt som netværkskontrolprotokollen (network-control protocol = NCP), var klar [RFC 001]. Da der nu forelå en ende-til-ende-protokol, kunne man skrive applikationer. Det første e-mailprogram blev skrevet af Ray Tomlinson hos BBN i 1972.

yr ig ht 70 Kapitel 1 Computernetværk og internettet op Figur 1.25 Den første interface message processor (IMP), med L. Kleinrock. 1.8.2 Proprietære netværk og internet: 1972-1980 C Det tidligste ARPAnet var et enkelt, lukket netværk. For at kommunikere med en ARPAnet-vært var man nødt til at være sluttet til en anden ARPAnet IMP. Fra begyndelsen til midten af halvfjerdserne udvikledes der foruden ARPAnet flere andre pakkekoblede netværk: ALOHAnet, et mikrobølgenetværk, der forbinder universiteter på Hawaii [Abramson 1970]. Telenet, et kommercielt pakkekoblet BBN-netværk baseret på ARPAnet-teknologi. Cyclades, et fransk pakkekoblet netværk, som Louis Pouzin lagde grunden til [Think 2002]. Tidsdelte netværk såsom Tymnet og GE Information Services-netværk m.fl. fra de tidlige tressere til de tidlige halvfjerdserne [Schwartz 1977]. IBM s SNA (1969-1974), som var en parallel til ARPAnet [Schwartz 1977]. Antallet af netværk var begyndt at stige. I 1973 fastlagde Robert Metcalfes doktorafhandling principperne for Ethernet, som senere skulle opleve en enorm vækst i såkaldte lokalnet (LAN), som dækkede en kort afstand på grundlag af Ethernet-protokollen.

1.8 Historien bag computernetværk og internettet 71 Igen kan man være bagklog og tydeligt se, at tiden var inde til udvikling af en bredt dækkende arkitektur til sammenbinding af netværk. Pionerarbejdet med at forbinde netværk (igen sponsoreret af DARPA Defense Advanced Research Projects Agency), hvilket reelt betyder etablering af et netværk bestående af netværk, blev foretaget af Vinton Cerf og Robert Kahn [Cerf 1974]; betegnelsen»internetting«blev lanceret til at beskrive dette arbejde. Disse arkitektoniske principper udkrystalliseredes i TCP-protokollen. De tidlige versioner af TCP var dog ganske forskellige fra vore dages TCP. De tidlige versioner af TCP kombinerede en sikker sekvensbaseret besørgelse af data via slutsystemgensendelser (indgår stadig i vore dages TCP) med videresendelsesfunktioner (der i dag klares af IP). De tidlige eksperimenter med TCP, kombineret med erkendelsen af, hvor stor betydning en ikkesikker, ikke-flowkontrolleret ende-ende-transportservice for applikationer såsom pakket tale havde, førte til, at IP blev udskilt fra TCP, og at man udviklede UDP-protokollen. De tre grundlæggende internetprotokoller, som vi ser i dag TCP, UDP og IP var principielt på plads hen imod slutningen af halvfjerdserne. Figur 1.26 Metcalfes originale skitse til Ethernet. I tilgift til den internetrelaterede DARPA-forskning var mange andre vigtige netværksaktiviteter på vej. På Hawaii var Norman Abramson i færd med at udvikle ALOHAnet, et pakkebaseret radionet som gjorde det muligt for flere fjerntliggende lokaliteter i området at kommunikere med hinanden. ALOHA-protokollen [Abramson 1970] var den første såkaldte multiple access-protokol, der gjorde det muligt for geografisk spredte brugere at dele et enkelt radiokommunikationsmedium (en radiofrekvens). Abramsons arbejde med multiple access-protokoller byggede i udviklingen af Ethernet-protokollen til ledningsbaseret broadcast-net på Metcalfe og Boggs [Metcalfe 1976]; se figur 1.26. Interessant nok lå motivationen bag Metcalfes og Boggs Ethernet-protokol i behovet for at sammenbinde flere pc er, printere og fælles diske [Perkins 1994]. For mere end tyve år siden, længe før pc-revolutionen og netværkseksplosionen, lagde Metcalfe og Boggs grunden til vor tids PC LAN s.

72 Kapitel 1 Computernetværk og internettet Ethernet-teknologien betegnede også et vigtigt skridt hen imod internetværk. Hvert eneste Ethernet-baseret lokalnet var i sig selv et netværk, og efterhånden som antallet af LAN s steg drastisk, blev det endnu vigtigere at knytte disse LAN s sammen i et internet. Ethernet, ALOHA og andre LAN-teknologier diskuteres nærmere i kapitel 5. 1.8.3 Netværkseksplosionen: 1980-1990 I slutningen af halvfjerdserne var omkring 200 værter sluttet til ARPAnet. I slutningen af firserne ville antallet af værter med tilslutning til det offentlige internet, en sammenslutning af netværk, der minder meget om vore dags internet, ligge på 100.000. Firserne skulle vise sig at give en voldsom vækst. En stor del af væksten i begyndelsen af firserne var et resultat af diverse målrettede bestræbelser på at etablere computernetværk, der forbandt universiteterne. BITNET tog sig af e-mail og filoverførsler mellem flere universiteter i den nordøstlige del af USA. CSNET (Computer Science Network) blev skabt for at skabe forbindelse mellem universitetsforskerne uden adgang til ARPAnet. I 1986 skabtes NFSNET, som skulle give adgang til NSFsponsorerede supercomputercentre. Fra i begyndelsen at køre med en backbonehastighed på 56 kbps, kørte NSFNET s backbone med 1,5 Mbps hen mod slutningen af årtiet, og det skulle snart komme til at fungere som den primære backbone til at forbinde regionale netværk. I ARPAnet-kredsen var mange af de endelige dele af dagens internetarkitektur ved at falde på plads. Den 1. januar 1983 blev TCP/IP officielt taget i brug som standardværtprotokollen på ARPAnet (idet den afløste NCP-protokollen). Overgangen [RFC 801] fra NCP til TCP/IP betegnede en milepæl alle værter blev nødt til at skifte over til TCP for at implementere værtsbaseret overbelastningskontrol [Jacobson 1988]. Domain Name System, der blev brugt til at mappe mellem et internetnavn, der kunne læses af almindelige dødelige (for eksempel gaia.cs.umass.edu), og dets 32-bit IP-adresse blev også en realitet [RFC 1034]. Parallelt med denne udvikling af ARPAnet (som hovedsagelig fandt sted i USA) lancerede franskmændene i de tidlige firsere Minitel-projektet, en ambitiøs plan om at bringe datanetværk ind i alle hjem. Minitel-systemet, der blev sponsoreret af den franske regering, bestod af et offentligt pakkekoblet netværk (baseret på X.25-protokolrækken, som bruger virtuelle kredsløb), Minitel-servere og billige terminaler med indbyggede lavhastighedsmodemer. Minitel blev en kæmpesucces i 1984, da den franske regering forærede alle franske husstande, der ønskede det, en gratis Minitel-terminal. Minitel indeholdt gratis services såsom en telefonbog såvel som private services, der indkasserede en forbrugsbaseret afgift fra hver bruger. På sit højdepunkt i midten af halvfemserne gav det adgang til mere end 20.000 forskellige services, lige fra home banking til specialiserede søgedatabaser. Det blev anvendt af mere end 20 procent af den franske befolkning, genererede mere end 1 mia. dollar i årlig indtjening og skabte 10.000 stillinger. Minitel var installeret i en stor del af franske husstande, ti år før de fleste amerikanere overhovedet havde hørt om internettet. 1.8.4 Interneteksplosionen: 1990 erne 1990 erne blev indvarslet med en række begivenheder, som symboliserede den fortsatte udvikling og internettets nært forestående kommercialisering. ARPAnet, stamfaderen til internettet, ophørte med at eksistere. MILNET og Defense Data Network havde udviklet sig

1.8 Historien bag computernetværk og internettet 73 til i 1980 erne at varetage den overvejende del af trafikken hos det amerikanske forsvarsministerium, og NSFNET var begyndt at fungere som backbonenetværk, der forbandt regionale netværk i USA og nationale oversøiske netværk. I 1991 ophævede NSFNET restriktionerne for brugen af NSFNET til kommercielle formål. Selv blev NSFNET taget ud af drift i 1995, da den internetbaserede backbonetrafik blev afviklet af kommercielle udbydere af internetservices. Den vigtigste nyskabelse i halvfemserne var imidlertid World Wide Web, som førte internettet ind i millioner hjem og virksomheder i hele verden. World Wide Web fungerede også som platform, som muliggjorde og udnyttede hundredvis af nye applikationer, herunder børs- og bankforretninger, streamede multimedieservices og informationsservices. Se [W3C 1995] for at få en kort historisk gennemgang af de første dage med World Wide Web. World Wide Web (WWW) blev skabt i 1989-1991 hos CERN af Tim Berners-Lee [Berners-Lee 1989] på basis af idéer, der gik tilbage til tidligere arbejder i 1940 erne med hypertekst, udført af Ted Nelson [Ziff-Davis 1998]. Berners-Lee og hans medarbejdere udviklede tidlige versioner af HTML, HTTP, en webserver og en browser WWW s fire grundelementer. De oprindelige CERN-browsere kørte kun med en linjebaseret grænseflade. Hen imod slutningen af 1992 var der omkring 200 aktive webservere, og de var toppen af det isbjerg, der var ved at dukke op. På nogenlunde samme tid arbejdede flere forskere med at udvikle webbrowsere med grafiske grænseflader, blandt dem Marc Andreesen, som ledede udviklingen af den populære grafiske browser Mosaic. Andreesen og hans kolleger frigav en alfaversion af deres browser i 1993, og i 1994 grundlagde han og Jim Clark Mosaic Communications, der senere blev til Netscape Communications Corporation [Cusumano 1998; Quittner 1998]. I 1995 brugte universitetsstuderende Mosaic- og Netscape-browsere til dagligt at surfe på nettet. Nogenlunde samtidigt begyndte virksomheder store og små at køre med webservere og foretage transaktioner via World Wide Web. I 1966 begyndte Microsoft at lave browsere, hvilket startede»browserkrigen«mellem Netscape og Microsoft, som Microsoft vandt nogle år senere [Cusumano 1998]. Anden halvdel af 1990 erne var en priode med enorm vækst og fornyelse af internettet, hvor større virksomheder og tusindvis af nyetablerede skabte internetprodukter og -services. Internetbaseret e-mail fortsatte med at udvikle sig med omfattende nyhedslæsere med adressebøger, vedhæftninger, hot links og multimediakommunikation. Ved udgangen af årtusindet understøttede internettet hundredvis af populære applikationer, herunder fire dræberapplikationer: E-mail, herunder vedhæftninger og webbaseret e-mail. World Wide Web, herunder webbrowsere og internethandel. Instant messaging, med»kontaktlister«, som ICQ lagde grunden til. Peer-to-peer-baseret fildeling af MP3-filer, som Napster lagde grunden til. Interessant nok kom de to første af disse applikationer fra forskningsmiljøet, mens de to sidste blev skabt af en lille håndfuld iværksættere. Perioden 1995-2001 var også en turbulent tid for internettet, hvad det finansielle marked angår. Inden de begyndte at give overskud, blev hundredvis af firmaer hjulpet i gang med en form for iværksætterydelse, der gjorde, at de kunne blive børsnoterede. Mange af dem blev vurderet til at være milliarder af dollar værd, selvom de ikke hentede særlig mange penge hjem. Internetmarkedet kollapsede i 2000-2001, og mange af de nyetablerede firmaer måtte lukke. Ikke desto mindre kom en række virksomheder ud af dette som de store vin-

74 Kapitel 1 Computernetværk og internettet dere på internetområdet (selvom aktiekurserne led under kollapset), heriblandt Microsoft, Cisco, AOL og Yahoo. I løbet af 1990 erne skabte netværksforskning og -udvikling også betydelige landvindinger for højhastighedsroutere og routing (se kapitel 4) og lokalnet (se kapitel 5). Den tekniske verden kæmpede med problemerne med at definere og implementere en servicemodel for internettet til trafik, der var underlagt reelle tidsbegrænsninger, såsom konstant kørende medieapplikationer (se kapitel 6). Behovet for at sikre og styre internettets infrastruktur (se kapitel 7 og 8) blev også altafgørende, efterhånden som antallet af e-handel-applikationer begyndte at brede sig, og internettet blev en central komponent i den globale telekommunikations infrastruktur. 1.8.5 Den seneste udvikling Nyskabelserne inden for computernetværk fortsætter med rivende hast. Fremskridtene sker på alle fronter, inklusive udvikling af nye applikationer, sikkerhed, indhold, internettelefoni, højere transmissionshastigheder i LAN s og hurtigere routere. Men der er tre udviklinger, som fortjener særlig opmærksomhed: hjemmebaseret bredbåndsadgang til internettet, trådløs internetadgang og peer-to-peer-netværk (P2P-netværk). Hjemmebaseret bredbåndsadgang til internettet med kabelmodem og DSL-teknologi (se afsnit 1.4) breder sig med stor hast overalt på jorden. Mange analytikere forudsiger, at i 2005 vil omkring 50 procent af privates adgang ske via bredbånd. Dette baner vejen for et væld af nye multimediaapplikationer, herunder streaming video-on-demand i højkvalitet og interaktive videokonferencer i høj kvalitet. Den trådløse internetadgang er allerede med succes taget i anvendelse i Japan med i-mode, NTT s DoCoMo s mobile internetopkoblingssystem [DoCoMo 2002]. Det typiske i- mode-apparat ligner en traditionel mobiltelefon, men har en noget større skærm til visning af tekst og billeder. Apparatere giver brugerne en mobiltelefon og mobil internetadgang. I august 2001 var der over 20 mio. i-mode-abonnenter i Japan, og tallet er i kraftig stigning. I Europa og Nordamerika sker der for tiden adskillige ibrugtagninger af trådløs internettelefoni. I-mode-teknologien nivellerer mobiltelefonens infrastruktur for at give lavhastighedsbaseret mobil WAN-adgang til internettet. I de første få år af det nye årti har man også kunnet se den hurtige udvikling af trådløst LAN, der giver en hurtigere trådløs internetadgang fra hoteller, caféer, virksomhedskomplekser, universitetsbygninger og private hjem. Den seneste nyskabelse, som bør noteres, er P2P-netværk. En P2P-netværksapplikation udnytter ressourcerne i brugernes computere lagerplads, indhold, CPU-cyklusser og det menneskelige islæt og har en udstrakt selvstændighed i forhold til centrale servere. Typisk har brugernes computere (dvs.»peers«) uregelmæssig forbindelse. Napster var den første vellykkede P2P-applikation med fildeling til MP3-filer. Senere P2P-fildelingsapplikationer distribuerer ikke alene MP3-filer, men også video, billeder og tekstfiler. Instant messagingsystemer med kontaktlister er P2P-kommunikationsapplikationer, eftersom meddelelser sendes direkte mellem peer-par (typisk via TCP-forbindelser) uden at passere gennem centrale servere. Endelig er det vellykkede SETI@home-projekt et eksempel på P2P-kommunikation.

1.9 Opsummering 75 1.9 Opsummering Dette kapitel har dækket en stor mængde materiale! Det har set på de forskellige hardwareog softwaredele, som mere specielt danner internettet og mere generelt computernetværk. Fra»udkanten«af netværket fokuserede beskrivelsen på slutsystemer og applikationer og på transportservicen til de applikationener, der kører på slutsystemer. Netværksbaserede applikationer blev brugt som eksempel i forbindelse med protokoller et grundprincip i netværk. Længere nede i netværket, i kernen, findes pakkekobling og kredsløbskobling som de to grundlæggende indfaldsvinkler til transport af data via telekommunikationsnetværk, og det førte til en undersøgelse af deres styrker og svagheder. I de nederste (fra arkitektens synspunkt) dele af netværket linklagteknologier og de fysiske medier, der typisk findes i access-netværk. Strukturen i det globale internet blev beskrevet og internettet karakteriseret som et netværk bestående af netværk. Internettets hierarkiske struktur, der består af tier-udbydere på højere og lavere niveauer, har gjort det muligt at skalere og dermed inddrage tusindvis af netværk. Anden del af indledningskapitlet dækkede flere emner, som er centrale for computernetværk. Årsagerne til forsinkelser og pakketab i et pakkekoblet netværk blev belyst. En simpel kvantitativ model over transmission, udbredelse og køforsinkelser blev udarbejdet; i alle bogens øvelser vil fokus være rettet mod disse forsinkelsesmodeller. Det næste, der blev undersøgt, var protokollag og servicemodeller, de grundlæggende arkitektoniske principper i netværk, som der vil være referencer til i hele bogen. Endelig afsluttedes indledningen med en kort historisk gennemgang af computernetværk. Det første kapitel er i sig selv et minikursus i computernetværk. Det er altså et ganske omfattende område, der er blevet dækket i dette første kapitel. Hvis det virker lidt overvældende, så fat mod. I de følgende kapitler tags idéerne op igen og bliver dækket mere detaljeret (dette er et løfte, ikke en trussel!). Her og nu er det håbet, at man som læser stadig udvikler sin fornemmelse for de ingredienser, som danner et netværk, og sit forråd af netværksbegreber (om ikke andet, kan man jo checke dette kapitel igen) og et stigende behov for at lære mere om netværk. Det er opgaven i resten af denne bog. Kortlægning af denne bog Inden turen går videre følger en kortlægning af bogen, så de overordnede veje og trafikknudepunkter kan identificeres. På den kommende tur er det endelige mål at skabe en dyb forståelse for hvordan, hvad og hvorfor i forbindelse med computernetværk. Kortlægningen følger bogens kapitelopdeling: 1. Computernetværk og internettet 2. Applikationslaget 3. Transportlaget 4. Netværkslaget og routing 5. Linklaget og lokale netværk 6. Multimedia og netværk 7. Sikkerhed i computernetværk 8. Netværksadministration.

76 Kapitel 1 Computernetværk og internettet Når man ser på denne oversigt, kan man betragte kapitel 2 til kapitel 5 som de fire grundlæggende kapitler i denne bog. Bemærk, at der er ét kapitel for hvert af de fire øverste lag i internettets protokolstak. Bemærk endvidere, at turen begynder øverst oppe i internettets protokollag, nemlig applikationslaget, og fortsætter nedad. Baggrunden for denne nedadgående kurs er, at når man først har forstået applikationerne, kan man forstå de netværksservices, der bruges til at understøtte disse applikationer. Derpå kan man så undersøge de forskellige måder, som sådanne services implementeres på af en netværksarkitektur. Dækningen af applikationer på et tidligt stade giver baggruden for resten af teksten. Anden del af bogen kapitel 6 til 8 zoomer ind på tre særdeles vigtige (og ret selvstændige) emner i moderne computernetværk. I kapitel 6 (»Multimedia og netværk«) undersøges audio- og videoapplikationer såsom internettelefoni, videokonferencer og streaming af lagrede medier. Ligeledes gennemgås, hvordan et pakkekoblet netværk kan designes til at sørge for en stabil servicekvalitet for audio- og videoapplikationer. I kapitel 7 (»Sikkerhed i computernetværk«) gennemgås først fundamentet for kryptering og netværkssikkerhed og derpå belyses, hvordan den grundlæggende teori bruges i praksis i en bred vifte af internetsammenhænge. Det sidste kapitel («Netværksadministration«) ser på de væsentlige punkter i netværksadministration såvel som de primære internetprotokoller, der bruges til netværksadministration. Problemer til hjemmearbejde og spørgsmål Kapitel 1 Forståelsesspørgsmål Afsnit 1.1-1.5 1. Hvad er forskellen mellem en»vært«og et»slutsystem«? Giv en oversigt over forskellige typer slutsystemer. Er en webserver et slutsystem? 2. Ordet»protokol«bruges ofte i medierne inden for diplomatiet. Giv et eksempel på en diplomatisk protokol. 3. Hvad er et klientprogram? Hvad er et serverprogram? Beder en server om, og modtager den, services fra et klientprogram? 4. Hvad er det for to typer services, som internettet giver sine applikationer? Hvad er nogle af egenskaberne for hver af disse tjenster? 5. Det er blevet sagt, at flowkontrol og trafikkontrol er det samme. Gælder dette for internettet? Er hensigten med flowkontrol og trafikkontrol den samme? 6. Giv en kort overordnet beskrivelse af, hvordan internettet forbindelsesorienterede service sikrer en pålidelig transport. 7. Hvilken fordel giver et kredsløbskoblet netværk i forhold til et pakkekoblet netværk? Hvilke fordele har TDM i forhold til FDM i et kredsløbskoblet netværk? 8. Hvad er årsagen til, at pakkekobling siges at benytte sig af statitisk multiplexing? Modstil statistisk multiplexing og den multiplexing, som finder sted i TDM. 9. Forudsæt, at der er nøjagtig én pakkeswitch mellem en afsendervært og en modtagervært. Transmissionshastigheden mellem afsenderværten og switchen og mellem switchen og modtagerværten er henholdsvis R 1 and R 2. Hvis det forudsættes, at switchen bruger store-and-forward-baseret pakkekobling, hvad er så den samlede forsinkelse fra

Problemer 77 Problemer start til slut, når en pakke med længden L sendes? (Se bort fra forsinkelser i køer, ved udbredelsen og behandlingen). 10. Hvad menes der med forbindelsesstatusinformationer i et virtuelt kredsløbskoblet netværk? Hvis forbindelser i en switch i et netværk etableres og brydes ned med en hastighed på én forbindelse per millisekund (i gennemsnit), til hvilken hastighed skal videresendelsestabellen i switchen så sættes? 11. Forudsæt, at du skal udvikle en standard for en ny type netværk. Du skal afgøre, om netværket skal bruge VC eller datagramrouting. Hvad er fordele og ulemper ved at bruge VC? 12. Hvad er fordelene ved meddelelsessegmentering i pakkekoblede netværk? Hvad er ulemperne? 13. Lav en oversigt over seks forskellige access-teknologier. Klassificer hver enkelt som access, virksomheds-access eller mobil-access. 14. Hvad er den grundlæggende forskel mellem en tier-1-udbyder og en tier-2-udbyder? 15. Hvad er forskellen mellem en POP og en NAP? 16. Er HFC-båndbredden øremærket (dedikeret) eller deles den af flere brugere? Kan der opstå kollissioner i en HFC-kanal downstream? Hvorfor (ikke)? 17. Hvad er transmissionshastigheden i Ethernet LAN s? Kan hver LAN-bruger, ved en given hastighed, fortsat sende med den hastighed? 18. Hvad er nogle af de fysiske medier, som Ethernet kan køre på? 19. Opkaldsmodemer, HFC og ADSL bruges alle til privatbaseret opkobling. Fastlæg et interval for transmissionshastigheder og giv din kommenter til, om båndbredden er delt eller dedikeret. Afsnit 1.6-1.8 20. En række pakker sendes fra en afsendervært til en modtagervært ad en fastlagt rute. Opsummer forsinkelseskomponenterne i forsinkelsen fra start til slut for en enkelt pakke. Hvilke af disse forsinkelser er konstante, og hvilke er variable? 21. Lav en oversigt over fem opgaver, som et lag kan udføre. Er det muligt, at én (eller flere) af disse opgaver kunne udføres af to (eller flere) andre lag? 22. Hvad er de fem lag i internettets protokolstak? Hvad er de enkeltes lags primære ansvarsområde? 23. Hvilke lag i internettets protokolstak udfører en routerproces? 1. Design og beskriv en protokol på applikationsniveau, der skal bruges mellem en automatisk maskinel kasserer og en banks centrale computer. Din protokol skal kunne håndtere verificering af brugerkort og adgangskode plus den relevante saldo (der varetages af den centrale computer) samt det kontobeløb, der skal udbetales til brugeren. Protokolenhederne skal kunne håndtere det alt for hyppigt forekommende tilfælde, hvor der ikke er tilstrækkelig med penge til udbetalingen på kontoen. Angiv din protokol ved at lave en liste over de udvekslede meddelelser og den handling, der udføres af den automatiske maskinelle kasserer eller bankens centrale computer ved afsendelse og modtagelse af meddelelser. Benyt et diagram som det, der vises i figur 1.2 til at skit-

78 Kapitel 1 Computernetværk og internettet sere, hvordan din protokol arbejder ved en simpel udbetaling uden fejl. Gør det klart, hvilke formodninger protokollen har om den underliggende ende-til-ende-baserede transportservice. 2. En applikation overfører data med en fast hastighed (for eksempel genererer afsenderen en N-bit dataenhed for hver k tidsenhed, hvor k er lille og uændret). Når en sådan applikation starter, vil den også fortsætte med at køre i en relativt lang tidsperiode. Besvar følgende spørgsmål og giv en kort begrundelse for dit svar: a. Ville et pakkekoblet netværk eller et kredsløbskoblet netværk være bedst for denne applikation? Hvorfor (ikke)? b. Der bruges et pakkekoblet netværk, og den eneste trafik på dette netværk skyldes sådanne applikationer som beskrevet ovenfor. Ydermere er summen af applikationernes datahastigheder mindre end de enkelte linjer. Er der behov for en eller anden form for overbelastningskontrol? Hvorfor (ikke)? 3. Se på det kredsløbskoblede netværk i figur 1.5. Husk, at der er n»kredsløb«på hver linje. a. Hvad er det maksimale antal samtidige forbindelser, der kan være i gang på et hvilket som helst tidspunkt i dette netværk? b. Alle forbindelser ligger mellem switchen øverst til venstre og switchen nederst til højre. Hvor mange samtidige forbindelser, kan der maksimalt være i gang? 4. Kik på bilkortegebilledet i afsnit 1.6. Gå stadig ud fra en udbredelseshastighed på 100 km/t. a. Kortegen kører 200 km, med start i én bås, passerer en anden bås og stopper lige før en tredje bås. Hvad er ende-til-ende-forsinkelsen? b. Gentag (a), men denne gang med syv biler i kortegen i stedet for ti. 5. Du skal sende en fil på F = M L bit ad en rute med Q linjer. Hver linje sender med R bps. Netværket er kun lidt belastet, så der er ingen køforsinkelser. Når der bruges en udgave af pakkekobling, brydes M L bit op i M pakker, hvor hver pakke fylder L bit. Udbredelsesforsinkelsen er uden betydning. a. Netværket er et pakkekoblet virtuelt kredsløbsnetværk. Sæt VC ens starttid til t s sekunder. Afsenderlagene lægger samlet h bit header til hver pakke. Hvor lang tid tager det at sende filen fra afsender til modtager? b. Netværket er et pakkekoblet datagramnetværk, og der bruges en forbindelsesløs service. Det antages, at hver pakke har 2h bit header. Hvor lang tid tager det at sende filen? c. Gentag (b), men denne gang bruges der meddelelseskobling (dvs. at der føjes 2h bit til meddelelsen, og meddelelsen bliver ikke segmenteret). d. Endelig er netværket et kredsløbskoblet netværk. Transmissionshastigheden for switchen mellem afsender og modtager er R bps. Hvis starttiden på t s og headeren på h bit hæftes til den samlede filheader, hvor lang tid tager det så at sende filen? 6. Eksperimentér med meddelelsessegmentering af Java-appletten på bogens websted. Svarer forsinkelserne i appletten til forsinkelserne i det foregående spørgsmål? Hvordan påvirker linjeudbredelse den samlede ende-til-ende-forsinkelse ved pakkekobling (med meddelelsessegmentering) og ved meddelelseskobling? 7. Nu skal du sende en stor fil på F bit fra vært A til vært B. Der er to linjer (og én switch) mellem A og B, og linjerne er ikke overbelastede (dvs. ingen køforsinkelser). Vært A segmenterer filen i segmenter på hver S bit og føjer 40 bit header til hvert segment, hvilket giver pakker på L = 40 + S bit. Hver linje har en transmissionshastighed på R

Problemer 79 bps. Find den værdi for S, som formindsker forsinkelsen i at flytte vært A til vært B. Se bort fra udbredelselsesforsinkelse. 8. Dette elementære problem begynder med at fokusere på udbredelsesforsinkelser og transmissionsforsinkelser, to centrale begreber i datanetværk. De to værter, A og B, som er forbundet via en enkelt linje med hastigheden R bps, har m meter imellem sig, og udbredelseshastigheden på linjen er s meter/sek. Vært A skal til at sende en pakke med en størrelse L bit til vært B. a. Udtryk udbredelsesforsinkelsen, d udbred, i m og s. b. Fastsæt pakkens overførselstid, d trans, som L og R. c. Se bort fra behandlings- og køforsinkelse og find et udtryk for ende-til-ende-forsinkelsen. d. Vært A begynder at sende pakken i tiden t = 0. Med en tid på t = d trans, hvor er så pakkens sidste bit? e. Hvis d udbred er større end d trans, og tiden er t = d trans, hvor er så pakkens første bit? f. Hvis d udbred er mindre end d trans, og tiden t = d trans, hvor er så pakkens første bit? g. Hvis s = 2.5 10 8, L = 100 bit og R = 28 kbps, hvad er så afstanden m, hvis d udbred skal være lig med d trans? 9. I dette problem sendes tale fra vært A til vært B på et pakkekoblet netværk (f. eks. internettelefon). Vært A konverter løbende analog tale til en 64 kbps bitstrøm. Vært A grupperer så disse bit i 48 byte-pakker. Der er én linje mellem vært A og B; dens overførselshastighed er 1 Mbps og udbredelsesforsinkelsen er 2 msek. Så snart vært A samler en pakke, sendes den til vært B. Så snart vært B modtager en komplet pakke, konverterer den pakkens bit til et analogt signal. Hvor lang tid går der fra pakkens dannelse (fra det oprindelige analoge signal hos vært A) frem til, at bitten afkodes (som en del af det analoge signal hos vært B)? 10. Vi antager, at brugere deler en 1 Mbps-linje. Ligeledes, at hver bruger skal bruge 100 kbps under transmissionen, men hver bruger overfører kun i ti procent af tiden. (Se gennemgangen af pakkekobling kontra kredsløbskobling i afsnit 1.3). a. Når der bruges kredsløbskobling, hvor mange brugere kan så understøttes? b. I den resterende del af dette problem bruges pakkekobling. Find sandsynligheden for, at en given bruger er ved at sende. c. Vi antager, at der er 40 brugere. Find sandsynligheden på et givet tidspunkt for, at der er præcis n brugere, der sender på samme tid. (Tip: Brug binomialfordelingen). d. Find sandsynligheden for, at der er 11 eller flere, der sender på samme tid. 11. Se på gennemgangen i afsnit 1.3 under overskriften»pakkekobling kontra kredsløbskobling«, hvor der er et eksempel med en 1 Mbps-linje. Brugere genererer data med en hastighed på 100 kbps, når de er aktive, men det er de kun med sandsynligheden p = 0.1. 1 Mbps-forbindelsen erstattes af en 1 Gbps-linje. a. Hvad er N, det maksimale antal brugere, som kan understøttes samtidigt med kredsløbskobling? b. Se på pakkekobling og en brugerpopulation på M brugere. Giv en formel (som p, M, N) for sandsynligheden for, at N brugere sender data. 12. Se på køforsinkelsen i en routerbuffer (der er placeret foran en udgående linje). Det forudsættes, at alle pakker er L bit, transmissionshastigheden er R bps, og N pakker ankommer på samme tid i bufferen hvert LN/R sekund. Find den gennemsnitlige køforsinkelse for en pakke. (Tip: Køforsinkelsen for den første pakke er nul; for den anden

80 Kapitel 1 Computernetværk og internettet pakke L/R; for den tredje pakke 2L/R. Pakke nummer N er allerede blevet sendt, når den anden række af pakker ankommer). 13. Se på køforsinkelsen i en routerbuffer. Lad I stå for trafikintensiteten; dvs. I = La/R. Det forudsættes, at køforsinkelsen antager formen IL/R (1 I) for I < 1. a. Opstil en formel for den samlede forsinkelse, dvs. køforsinkelsen plus transmissionsforsinkelsen. b. Planlæg den samlede forsinkelse som en funktion af L/R. 14. a. Lav en generel formel ud fra ende-til-ende-formlen i afsnit 1.6 for heterogene behandlingshastigheder, transmissionshastigheder og udbredelseshastigheder. b. Gentag (a), men sæt nu også, at der er en gennemsnitlig køforsinkelse på d kø i hver knude. 15. Udfør en Traceroute mellem afsender og modtager på samme kontinent ud fra tre forskellige tidspunkter på dagen. a. Find den gennemsnitlige afvigelse og standardafvigelsen i forsinkelserne hele vejen rundt på hvert enkelt af de tre tidspunkter. b. Find antallet af routere på ruten for hvert af de tre tidspunkter. Ændrede ruterne sig på noget tidspunkt? c. Forsøg at finde antallet af udbydernetværk, som Traceroute-pakker gennemløber fra afsender til modtager. Routere med sammenfaldende navne og/eller sammenfaldende IP-adresser bør overvejes som del af samme udbyder. Sker de største forsinkelser i dine ekseperimenter i peer-grænsefladerne mellem tilstødende udbydere? d. Gentag ovennævnte for en afsender og modtager på forskellige kontinenter. Sammenlign kontinentale og intrakontinentale resultater. 16. To værter, A og B, er adskilt med 10.000 kilometer og forbundet med en direkte linje på R = 1 Mbps. Det forudsættes, at udbredelseshastigheden på linjen er 2,5 10 8 m/sek. a. Udregn»produktet af båndbreddeforsinkelsen«r t udbred. b. Hvis en fil på 400.000 bit sendes fra vært A til vært B, og filen sendes uden ophold som én stor meddelelse, hvad er så det maksimale antal bit, der vil være på linjen på et givet tidspunkt? c. Giv en fortolkning af produktet af båndbreddeforsinkelsen. d. Hvad er bredden (i meter) på en bit på linjen? Er den længere end en fodboldbane? e. Uddrag et generelt udtryk for bredden på en bit udtrykt i udbredelseshastigheden s, båndbredden R og linjelængden m. 17. På basis af problem 16 forudsættes det, at R kan modificeres. For hvilken værdi af R er bredden på en bit lige så lang som linjelængden? 18. Kik på problem 16, men nu med en linje på R = 1 Gbps. a. Udregn produktet af båndbreddeforsinkelsen R t udbred. b. Du skal sende en fil på 400.000 bit fra vært A til vært B. Filen sendes uden ophold som én stor meddelelse. Hvad er det maksimale antal bit på linjen på et hvilket som helst givet tidspunkt? c. Hvad er bredden (i meter) på en bit på linjen? 19. Kik igen på problem 16. a. Hvor lang tid tager det at sende filen, idet det antages, at den sendes uden ophold? b. Det forudsættes, at filen brydes op i ti pakker, der hver indeholder 40.000 bit. Det forudsættes, at der kvitteres for hver pakke af modtageren, og at overførselshastigheden for en kvittering er uden betydning. Endelig forudsættes det, at afsenderen

Spørgsmål til diskussion 81 ikke kan sende en pakke, før der er kvitteret for den foregående. Hvor lang tid tager det at sende filen? c. Sammenlign resultaterne fra (a) og (b). 20. Det forudsættes, at der er en 10 Mbps mikrobølgeforbindelse mellem en geostationær satellit og dens basisstation på jorden. Hvert minut tager satellitten et digitalt foto og sender det til basisstationen. Der regnes med en udbredelseshastighed på 2,4 10 8 m/sek. a. Hvad er forbindelsens udbredelsesforsinkelse? b. Hvad er produktet af båndbreddeforsinkelsen R t udbred? c. Lad x betegne fotoets størrelse. Hvad er mindsteværdien af x for mikrobølgeforbindelsen, hvis der stadig skal sendes? 21. Tag udgangspunkt i flyrejseanalogien i diskussionen om lagdeling i afsnit 1.7 og tilføjelsen af headere til protokoldataenheder, efterhånden som de ryger nedad i protokolstakken. Findes der et tilsvarende princip for headerinformationer, som føjes til passagerer og bagage, efterhånden som de ryger nedad i flyeksemplets protokolstak? Spørgsmål til diskussion 1. Giv en beskrivelse i ét afsnit af hver af de tre større projekter, der i øjeblikket er undervejs hos World Wide Web Consortium (W3C). 2. Brug den trådløse LAN-baserede 802.11b-teknologi til at designe et hjemmenetværk til dit hjem eller dine forældres hjem. Lav en oversigt over bestemte produktmodeller i dit hjemmenetværk samt udgifterne forbundet med dem. 3. Hvad er PC-til-telefon (PC-to-phone)? Find nogle af de webfirmaer, som opererer inden for PC-til-telefon-området. 4. Hvad er Short Message Service (SMS)? Er denne service populær nogetsteds i verden, og hvis den er det, hvor og hvor populær? Er det muligt at sende en SMS-besked fra et websted til en mobiltelefon? 5. Hvad er streaming af lagret audio? Beskriv nogle af de eksisterende produkter til internetbaseret audio streaming. Find nogle firmawebsteder, hvor der sælges internetbaserede audio-streaming-produkter. 6. Hvad er internetbaserede videokonferencer? Beskriv nogle af de eksisterende produkter til internetbaserede videokonferencer. Find nogle firmawebsteder, hvor der sælges internetbaserede videokonferenceprodukter. 7. Hvad er peer-to-peer-baseret fildeling? Find fem firmaer, som leverer peer-to-peerbaseret fildeling. Besvar for hvert firma, hvilken slags filer (dvs. hvilket indhold) de kan håndtere. 8. Hvad er instant messaging? Findes der produkter, som man kan bruge til at få adgang til en instant messaging-service via håndholdt udstyr? 9. Hvem fandt på ICQ, den første instant messaging-service? Hvornår blev den udtænkt, og hvor gamle var ophavsmændene? Og hvem fandt på Napster? Hvornår blev den udtænkt, og hvor gamle var ophavsmændene? 10. Find et firma på World Wide Web, der tilbyder HFC-baseret internetadgang. Hvad er kabelmodemets transmissionshastighed? Garanteres denne hastighed altid for enhver bruger af netværket?

82 Kapitel 1 Computernetværk og internettet 11. Du er ved at udvikle en applikation til internettet. Skal applikationen køre over TCP eller UDP? Uddyb. (I senere kapitler belyses dette emne nærmere. Her og nu skal du bruge din sunde fornuft til at besvare spørgsmålet).