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



Relaterede dokumenter
Indhold Kapitel 1 Computernetværk og internettet

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

Internettet Netværk. Hvad er netværk?

SIP. Session Initiation Protocol. TDC IP telefoni Scale

Computer Networks Specielt om Infrastrukturer og Teknologi

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

Introduktion til Quality of Service

WAN s. - langdistance netværk! Netteknik 1

QoS. - prioritering af pakketransporten! Netteknik 1

Quality of Service. - en introduktion! IP telefoni kursus

M A D S L A R S E N, A S G E R B A L L E G A A R D & J O N A S K R O N B O R G R O S K I L D E T E K N I S K E G Y M N A S I U M.

Ethereal Intro && Ethereal HTTP. René Hansen Anders Bjerg Pedersen Michael Nilou Hold 1 September 12, 2007

Ruko SmartAir. Updater installation

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

Introduktion til computernetværk

VoIP. Voice over IP & IP-Telefoni. Lars Christensen & René Truelsen, Dec. 2004

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

Computernetværk og internettet

PHP Quick Teknisk Ordbog

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

Infrastruktur i hjemmet og begreber

IT og økonomi. Lektionens emner. Hvorfor netværk? Lektion: N: Netværk

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

Netservice Netservice-menuen giver dig mulighed for at opsætte og aktivere/deaktivere forskellige netfunktioner på kameraet.

PNI/GRN - 1. kursusgang

IP Modul report / Netværks software manual 1.0 Funktions beskrivelse:

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

beskrivelse af netværket på NOVI

Netværksmålinger. - en introduktion! Netteknik

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

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

Ethernets placering i OSI modellen

ADSL i TDC koncernen

Workshops om netværk

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

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

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

Computer netværk og TCP/IP protokoller. dcomnet 1

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

Opdatering af ISOWARE til version 6.1.0

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

Sådan virker og opretter du en TIO

EN DEL AF DANSK INDUSTRI ELEKTRONISK INFRASTRUKTUR VIRKSOMHEDENS IT-SIKRE PLACERING

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

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

Datapakke. Data. Afsender. Modtager

NETVÆRKSKURSUS Oktober November jmt

Søren Guldbrand Pedersen Diverse noter til PC & Net Side 2 af 8. TYPE - viser fil eller program på skærmen.

QoS Design overblik Kapitel 2

Netværkstopologi. Netteknik 1. Netteknik 1 (AMU 44947) Mercantec Den logiske og den fysiske! Netværkstopologi

Route-tabellen. Routertabel R2. Routertabel R3. Routertabel R1. Routertabel R4 NETVÆRK SENDES TIL

Bilag 1c. Infrastruktur & Kapacitet

Vejledning til anvendelse af MeMo og SMTP. Næste generation Digital Post Maj 2018, version 0.9

Ethernet HUB s og Switche

Basal TCP/IP fejlfinding

Bilag 1c. Infrastruktur & Kapacitet

Computer netværk og TCP/IP protokoller. dcomnet 1

Internet Protocol (IP)

LW313 Sweex Wireless 300N Adapter USB

Deling i Windows. Netteknik 1

Opsætning af Outlook til Hosted Exchange 2007

- City - gør det selv installation. - Vejledninger -

Oversigts billedet: Statistik siden:

Netværk & elektronik

Routeren. - og lag 3 switchen! Netteknik 1

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

MyArchive.kb.dk Selvarkivering af s

Bilag 1b Infrastruktur & Kapacitet

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

QoS Design overblik. QoS på L3

The ADSL-optimizer: Korrekt trafikstyring på ADSL linier

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

Datanet Obligatorisk opgave 3: IP og ICMP. René Hardi Hansen Michael Falcke Nilou Anders Bjerg Pedersen Hold september 2007

LAN typer. 1. Ethernet (CSMA/CD - ISO ) Indholdsfortegnelse

Ruko Security Master Central Database

VLAN - Virtual Local Area Network

Tillykke med din GVDNet internet forbindelse.

Netværk, WAN teknik. Introduktion til VPN. Afdeling A Odense. WAN kredsløb. Hovedkontor Viborg. Afdeling B Roskilde

UDP Server vejledning

Håndbog Til CPR services. Bilag 5 Logon og generel brug af CPR-services; programmeringsvejledning

Brugervejledning. TDC Scale Assistent til iphone. Copyright NOMADICCIRCLE All rights reserved

Opbygning af firewall regler. Overvejelser med mere

Hurtig Start Guide 1

Forår Firewalls

Digital skriftlig aflevering med Lectio Censormodul Stedprøver installationsvejledning

WEB Server og Ethernet Data Logger Lonbox PID4000

IP Telefoni. IP telefoni introduktion. TDC IP telefoni Scale

Rapport generator til Microsoft C5

Netværkstopologi. - Den logiske og den fysiske! Netteknik 1

IP Telefoni. En introduktion! Funktion, teknologier & begreber. En naturlig udvikling?

TDCs Signaturserver. 11/05 - Version TDC Erhverv Sikkerhed og certifikater

Delfi Connect. Bruger vejledning 1. TILSLUTNING INSTALLATION MENUSTRUKTUR...4

Synology Synology Disk Station Mail Station bruger manual

Brugermanual. Wolfgang Wi-Fi Repeater

PBX Online Brugervejledning

IP Telefoni En naturlig udvikling?

IPv6 sameksistens med IPv4. af Laurent Flindt Muller & Jakob Pedersen

smart-house Web-Server Manual smart-house Web-Server Manual 1 of 15

Router U270 funktionsbeskrivelse

Hvad er VoIP og fordelene ved det?

Transkript:

Notater til Computernetværk og Distribuerede Systemer Del 1 Vidar Jon Bauge 2006 Datamatikeruddannelsen forår 2006 Side 1 av 33

Indholdsfortegnelse Kapitel 1 Computernetværk og Internet......2 Computernetværk......2 Komponenter.....2 Services......3 Protokoller......4 I udkanten af netværket......5 Klient/Server......5 Forbindelsesløs og forbindelsesorienteret service...5 Netværkets kerne......6 Kredsløbskobling og pakkekobling......6 Multiplexing i kredsløbskoblede netværk......6 Pakkekobling.....7 Pakkekobling vs kredsløbskobling......7 Segmentering af meddelelser......8 Pakkeforsendelse i computernetværk......9 Virtuelle kredsløbskoblede netværk......9 Datagramnetværk......9 Netværksadgang......10 Fysiske medier......11 Udbydere og internetbackbones......11 Forsinkelse og tab i pakkekoblede netværk......12 Lagdelt arkitektur.....13 Internettets protokolstak......13 Kapitel 2 Applikationslaget......15 Proceskommunikation på netværket......15 Adressering......15 Krav til netværksapplikationer......16 Protokoller i applikationslaget......17 HTTP HyperText Transfer Protocol......17 Vedvarende og ikke-vedvarende forbindelser......17 HTTP forespørgsel......19 HTTP svar......20 Autorisation og cookies......21 GET betingelsen og webcaching......21 HTTP indhold......22 FTP File Transfer Protocol......22 Elektronisk post......24 SMTP......24 POP3 Post Office Protocol, version 3......26 IMAP Internet Mail Access Protocol......27 HTTP Web - baseret e-mail......27 DNS Domaine name system......27 Socketprogrammering og TCP......31 Socketprogrammering og UDP......31 Datamatikeruddannelsen forår 2006 Side 2 av 33

Kapitel 1 Computernetværk og Internet Applikationslaget Meddelelse HTTP, FTP, SMTP, Telnet etc Understøttelse af netværksapplikationer Transportlaget Segment TCP, UDP Kommunikation mellem processer på forskellige værter. Netværkslaget Datagram IP, routingprotokoller Route datagrammer fra en vært til en anden kommunikation mellem værter. Linklag Frame Ethernet, PPP, i visse sammenhænge: ATM, frame relay Fysisk lag 1-PDU Afhængig af linjen, og dens medium: Parsnoet kobbertråd, single mode fiberoptik Flytter en pakke fra en knude (router/pakkeswitch) til den næste Flytter de enkelte bits i en frame fra en knude til den næste Computernetværk Komponenter Værter(hosts) eller slutsystemer Enheder der er koblet på internettet, som PC'er, PDA'er tv-apparater, brødristere osv Kommunikationsforbindelser Slutsystemer sammenkobles ved hjælp af forskellige typer kommunikationsforbindelser. Dette kan være kobberledninger, coax-kabler, fiberoptik, trådløse forbindelser osv. Båndbredde Overførselshastighed. Måles typisk i bits/sekund Routere Slutsystemer er normalt ikke koblet direkte sammen, men er koblet indirekte vie mellemliggende omstillingsenheder, routere, der modtager en pakker, og sender den videre imod dens mål. Pakker Data deles op i mindre enheder før de sendes ud på nettet. Pakkekoblingsteknik Frem for at fastlægge en dedikeret rute, mellem kommunikerende systemer, anvendes Datamatikeruddannelsen forår 2006 Side 3 av 33

pakkekoblingsteknik, der tillader flere systemer at anvende hele eller dele af en kommunikationsforbindelse samtidig. Internet Service Providers (ISP) Slutsystemer får adgang til internettet via Internet Service Providers. Hver udbyder har et netværk med routere og kommunikationsforbindelser, der giver slutsystemene adgang til internettet på forskellige måder, f.eks. ved 56kbps modem, ADSL. ISP er forbundet via overordnede nationale og internationale udbydere Protokoller Slutsystemer, routere og andre komponenter kører protokoller der regulerer afsendelse og modtagelse af informationer over netværket. I protokoller fastsættes bl.a. format og rækkefølge for data der overføres. TCP/IP TCP, Transmission Control Protocol, og IP, Internet Protocol, er to af de vigtigste protokoller for overførsel af informationer over internettet. IP definerer formatet på de pakker der sendes om modtages af slutsystemer og routere. Internettets bærende protokoller kaldes samlet for TCP/IP. Services Distribuerede applikationer På slutsystemer kan distribuerede applikationer udveksle data med hinanden. Dette omfatter bl.a. fjernlogin, e-mail, websurfing, internettelefoni, multimedia streaming, P2P osv. Forbindelsesorienteret sikker service Garanterer at data der sendes over nettet, kommer frem, uden tab, og i den afsendte (rigtige) rækkefølge. (TCP) Forbindelsesløs ikke-sikker service Garanterer hverken at data kommer frem, eller kommer frem i den rigtige rækkefølge. (UDP) Der findes i øjeblikket ingen tjeneste på internettet der garanterer at data kommer frem inden en bestemt tidsfrist. Datamatikeruddannelsen forår 2006 Side 4 av 33

Protokoller Internettet og computernetværk generelt benytter sig i udstrakt grad af protokoller under udførelsen af forskellige kommunikationsopgaver. En protokol definerer formatet og rækkefølgen af meddelelselser, der udveksles mellem to eller flere kommunikationsenheder, samt de handlinger, der udføres ved overførselen af og/eller kvitteringen for en meddelelse eller en anden begivenhed. Datamatikeruddannelsen forår 2006 Side 5 av 33

I udkanten af netværket I netværkterminologien kaldes computere med internetopkobling for Slutsystemer. Dette er fordi de befinder sig i internettets udkant. Her befinder det sig en række forskellige computere. Slutsystemer udgør mange typer computere, fra f.eks. PC'er og PDA'er, der har en grænseflade til brugerne, til servere og andre systemer der ikke primært har en brugergrænseflade til en bruger, f.eks. webog mailservere. Slutsystemer kaldes også værter(hosts), og deles yderligere op i servere og klienter. Klient/Server Et klientprogram er et program der kører på én host, og modtager en service fra et serverprogram der kører på en anden host Forbindelsesløs og forbindelsesorienteret service Forbindelsesorienteret service TCP Transmission Control Protocol Når en applikation bruger en forbindelsesorienteret service, sender både klient- og serverprogrammet kontrolpakker inden udveksling af datapakker handshaking. Her etableres en forbindelse mellem slutsystemene inden kommunikationen påbegyndes. Forbindelsen mellom slutsystemene er løs, i den forstand at det kun er slutsystemene der kender til den. Den er ikke kendt for de porte og switche forbindelsen går i gennem. Forbindelsen består udelukkende af de porte, buffere og tilstandsvariabler den er tildelt i slutsystemene. Med sikker dataoverførsel menes det at en proces kan sende data til en anden, og være sikker på at dataene kommer frem, og at de kommer frem i den sendte rækkefølge. Dette sikres ved hjælp af kvitteringer. Hvis en pakke, eller kvitteringen for en pakke, ikke kommer frem, sendes den manglende pakke en gang til. Flowkontrol sørger for at de to processer ikke overlæsser hinanden ved at sende for mange pakker for hurtigt. Flowkontrol implementeres ved at overvåge forbindelsens buffere. Internettet har en kontrol af overbelastning. Hvis en router ikke kan følge med, så dens buffere bliver overbelastet sker der pakketab. I denne situation, kan slutsystemene tvinges til at nedsætte sin Datamatikeruddannelsen forår 2006 Side 6 av 33

hastighed. TCP bruges af applikationer hvor det er kritisk at alle data kommer frem, som HTTP (websurfing), SMTP (e-mail), filoverføring (ftp), telnet etc. Forbindelsesløs service UDP User Datagram Protocol Der bruges ikke handshaking ved en forbindelsesløs service. Pakkerne bliver bare sendt af sted, uden at der er nogen garanti for at de kommer frem. Forbindelsesløs service tager heller ikke højde for flow- eller trafik kontrol. UDP benyttes hvor det ikke er kritisk at alle data kommer hele frem, som f.eks. multimedie streaming, internettelefoni. Netværkets kerne Kredsløbskobling og pakkekobling Kredsløbskobling (Circuit switching) I kredsløbskoblede netværk er de netværkressourcer der skal bruges under kommunikationen, reserverede så længe kommunikationen varer, og er ikke tilgængelige for anden kommunikation. Telefonnettet er et godt eksempel på et kredsløbskoblet netværk. Når man ringer oprettes der forbindelse, og linjen beholdes eksklusivt til samtalen afsluttes. På denne måden kan man garantere forbindelsen, og den båndbredde der er tildelt. Pakkekobling (Packet switching) I et pakkekoblet netværk er netværkressourcerne ikke reserveret til en bestemt forbindelse, men deles mellem den kommunikation der skal udføres. Dermed kan man komme til at vente på at linjen bliver ledig. I et pakkekoblet netværk sendes pakkerne uden nogen garanti for båndbredde, og hvis nogen pakker må vente, vil de blive sat i kø i en buffer på sin vej gennem netværket. Ikke alle netværk er rene kredsløb- eller pakkekoblede netværk. I netværk baseret på ATM teknologien (Asynchronous Transfer Mode), bliver netværkressourcer tildelt, men meddelelser kan alligevel måtte vente på ledige ressourcer. Multiplexing i kredsløbskoblede netværk. FDM Frequency Division Multiplexing De forbindelser der deles om denne linje, tildeles hver sit frekvensspektrum på linjen. Dette er ofte på 4KHz TDM Time Division Multiplexing Linjen deles op over tid i frames, eller rammer. En ramme deles yderligere op i tidsenheder, time slots, for hver forbindelse der deles om linjen. Datamatikeruddannelsen forår 2006 Side 7 av 33

En ulempe ved kredsløbskoblede netværk, er at der kan opstå spild af netværkets ressourcer, fordi linjen ikke er tilgængelig for andre forbindelser i de perioder hvor der ikke er trafik. Pakkekobling I moderne computernetværk, bliver lange meddelelser opdelt i pakker, inden de bliver sendt over netværket. På sin vej gennem netværket passerer pakkerne flere pakkeswitche, eller routere. De fleste pakkeswitche anvender store-and-forward ved indgangen til linjerne. Dette betyder at de modtager hele pakken inden de sender den videre. Routere har flere linjer, og for hver af disse er der en output kø, hvor pakker kan placeres hvis linjen f.eks. er optaget. Forsinkelser Forsinkelser kan opstå både på vej ind, og ud fra en router. I store-and-forward routere opstår der forsinkelse som følge af at hele pakken skal modtages inden den kan sendes videre. En udgående pakke kan opleve forsinkelser f.eks. hvis linjen er optaget, så det bliver nødvendig at placere den i output bufferen i påvente af at linjen bliver ledig. Pakkekobling vs kredsløbskobling Argumenter imod pakkekobling Uegnet til real-time services pga uforudsigelige ende-til-ende forsinkelser, der skyldes varierende kø forsinkelser i netværket. Argumenter for pakkekobling 1. Pakkekobling er bedre end kredsløbskobling til at håndtere deling af båndbredden. 2. Mere enkel og effektiv, og mindre omkostningskrevende at implementere. Scenario: Flere brugere skal deles om en linje på 1 Mbps. Hver bruger genererer trafik med en konstant hastighed på 100 kbps. Brugerne er kun aktive på linjen i 10% af tiden. Ved kredsløbskobling skal der reserveres 100kbps til hver linje/bruger. Dvs at der kun er plads 10 samtidige brugere Ved pakkekobling er sandsynligheden for at en bruger er aktiv 0,1 (10%). Hvis der er 35 brugere, er sandsynligheden for at der er flere aktive brugere ca 0,004. Hvis antallet aktive brugere er 10 eller lavere (Sandsynlighed: 0,9996), afsendes/modtages og modtages pakkerne med en hastighed der er mindre end eller lig med 1 Mbps. Når der er mere end 10 aktive brugere, er den samlede ankomstfrekvens større end linjens kapacitet, og outputkøen vil vokse, indtil den samlede ankomstfrekvens falder til under 1 Mbps. Pakkekobling giver næsten altid den samme forsinkelse som kredsløbskobling, men giver mulighed for mere end tre gange så mange brugere. Datamatikeruddannelsen forår 2006 Side 8 av 33

Segmentering af meddelelser I et moderne netværk bliver lange applikationsmeddelser segmenteret i mindre pakker inden de sendes ud på netværket. Et pakkekoblet netværk, der ikke segmenterer meddelelser i pakker, udfører meddelelseskobling. På et netværket med store-and-forward switche, skal en switch modtage hele meddelelsen før den kan sende pakken videre på netværket. Hvis meddelelsen er stor, giver dette en lang overførselstid, fordi hele pakken skal indlæses i hver switch/router på vej igennem netværket. Hvis hver pakke i stedet for segmenteres i mindre pakker, vil forsinkelsen i Tid (sek) routerne/switchene blive så kort at de første pakkerne når frem til modtageren inden de sidste 0 1 bliver sendt fra 1 2 1 afsenderen. 3 2 Dermed sendes 4 3 segmentene 5 4 parallelt. I det illustrerede 4999 5000 4999 eksempel, tager 5000 5000 det 5 sekunder at 5001 indlæse hele 5002 meddelelsen i 5003 hver switch meddelelsen passerer. Ved at Tid (ms) dele den samme meddelelse op i 5000 segmenter, reduceres overførselstiden fra 15 til ca 5 sekunder. 0 5 10 15 Når meddelelsen segmenteres op i pakker, der sendes parallelt i netværket, taler man om pipelining. Meddelelsessegmentering giver yderligere den fordel at hvis der opstår bit-fejl, skal ikke hele meddelelsen sendes om igen. Kun den eller de pakker der indeholder bit-fejl. Meddelelsessegmentering giver imidlertid den ulempe at hver pakke skal forsynes med bl.a. kontrolinformationer. Disse oplysningerne placeres i pakkens header. Da datamængden i en pakkes header har samme størrelse som en meddelelses header, giver det større total datamængde der skal sendes over netværket. 1 2 3 4998 4999 5000 1 2 4997 4998 4999 5000 Datamatikeruddannelsen forår 2006 Side 9 av 33

Pakkeforsendelse i computernetværk Virtuelle kredsløbskoblede netværk Et virtuelt kredsløbskoblet netværk består af en rute, dvs. en række af linjer og pakkeswitche, mellem to værter, og en tabel over virtuelle kredsløbsnumre. Hver linje mellem to pakkeswitche i har et nummer der gemmes i tabellen. Denne tabel indeholder numre på de interfaces og linjer der udgør det virtuelle kredsløbskoblede netværket. Hver pakkeswitch har en nummeroversættelsestabel, med informationer om de netværk der går igennem pakkeswitchen. Denne tabellen holdes løbende opdateret med de forbindelser der bruger switchen, og selv om der ikke sker en VC nummer oversættelse, er det stadig nødvendig at fastholde de oplysninger der forbinder VC numre med interface tal. Indgående Interface Indgående VC nummer Udgående interface Udgående VC nummer 1 12 2 22 2 63 1 18 3 9 2 17 1 97 3 87 - - - - Datagramnetværk I et datagramnetværk indeholder hver pakke der sendes ud på netværket, en header med informationer bl.a. om modtager og afsenderadresse. Når en pakke ankommer til en switch, undersøger switchen adressen, og indexerer dens tabel med denne adressen for at finde den korrekte udgående linje. Derefter sendes pakken videre til denne linjen. I modsætning til VC netværk, opbevarer switche ikke oplysninger om forbindelsesstatus. En switch i en datagramnetværk afgør hvor en pakke skal videresendes ud fra modtageradressen, og ikke den forbindelsen pakken tilhører. Telekommunikations netværk Kredsløbskoblede netværk Pakkekoblede netværk FDM TDM Netværk med VC Datagramnetværk Datamatikeruddannelsen forår 2006 Side 10 av 33

Netværksadgang Disse kategorier kan ikke deles skarpt op, men overlapper hinanden, men man kan skille mellem de forskellige måder kunden er koblet op i mod edge router eller udkantrouteren på. Privatadgang Modem 56Kbps analogt modem koblet op over et punkt-til-punkt baseret telefonopkald over parsnoede kobberkabler. Bredbåndsadgange: DSL Digital Subscriber Line. DSL minder i sin opbygning om modemforbindelsen, og er også baseret på parsnoede kobberkabler. DSL forbindelser arbejder med højere hastigheder, og kan gøres asymmetriske, dvs at de kan have højere download end upload ud fra den filosofi at abonnenten henter mere data end han producerer. Ved DSL forbindelser deles telefonlinjen, så telefonopkald og dataoverførsler får hver sine frekvensspektre (FDM). Dermed kan man foretage dataoverførsler og ringe samtidig. Teoretisk kan hastigheden komme op på 10Mbps, men i praksis anvendes hastigheder op til 2Mbps. HFC Hybrid Fiber Coaxial. Adgang til internettet over eksisterende netværk til kabel-tv. HFC kræver et specielt modem og forstærkere. Modemet deler linjen op i downstream og upstream med hver sin hastighed. HFC forbindelsen er et delt broadcastmedie, dvs at hver pakke passerer hovedenden på sin vej til den enkelte bruger. Dette betyder at ved samtidig trafik fra flere værter, falder båndbredden for den enkelte. Firmaadgang Virksomheder og universiteter er typisk tilkoblet edge router via et LAN, hvor flere slutsystemer er tilsluttet via parsnoede kabler eller coax kabler.. Ethernet teknologien er den mest brugte, og kører med hastigheder på 10 eller 100Mbps. Mobiladgang Der er typisk to teknologier til trådløs adgang. Trådløst LAN (Trådløst Ethernet eller Wi-Fi) Netværket er koblet op med en trådløs basisstation der giver slutsystemene trådløs adgang til netværket. Denne teknologi er baseret på IEE 802.11b teknologien. Trådløst WAN Her håndteres typisk den trådløse basisstation af en udbyder der betjener brugere indenfor en radius af 10 km eller mere. WAP (Wireless Access Protocol) Internetadgang via mobiltelefon over GSM-netværket. Anvernder WML WAP Markup Language. Datamatikeruddannelsen forår 2006 Side 11 av 33

Fysiske medier Guidede medier signalet går langs et fysisk medium, dvs et kabel. Ikke guidede medier signalet sendes i atmosfæren, dvs trådløst. Parsnoet kobbertråd Det mest anvendte overførselsmedium. Kabelet består af kobbertråd der er snoet for at reducere interferens. UTP (Unshielded Twisted Pair) bruges normalt i et LAN og anvender typisk hastigheder fra 10 Mbps til 1Gbps. Hastigheden afhænger af kabelets længde og tykkelse. Coax-kabel Dette kabelet består af to ledere der ikke er parallelle, men koncentriske. På denne måden, og med speciel skærmning, kan kabelet give høje bit-hastigheder. Basisbånd-coax har en impedans på 50Ω. Betegnelsen basisbånd udspringer fra det faktum at signalet sendes gennem kabelet uden ændringer af dets frekvens. Hastighed: 10Mbps Ethernet Bredbånds-coax er et tykkere kabel med en impedans på 75Ω. Dette forekommer typisk i kabel-tv systemer med hastigheder på 1Mbps eller mere. Signalet skiftes til en bestemt frekvens inden det sendes ud på netværket. Dermed kan kabelet bruges som delt medium, der også udsender tv-signaler. Fiberoptik Tyndt bøjeligt medium der overfører lysimpulser. Lysimpulsene repræsenterer en bit. Kablene er immune overfor interferens, og overfører data med høje hastigheder.. De har lav signaldæmpning over lange afstande, og er svære at aflytte. De anvendes ofte i internet backbones, der kræver høje hastigheder. Jordbaserede radiokanaler Signalet overføres trådløst via radiosignaler. Den indlysende fordel er man ikke behøver at trække kabler. Omgivelserne afgør tab af rute og shadow fading. Jordbaserede radiokanaler kan klassificeres i to grupper. Kanaler der opererer i lokalområdet, dvs fra 10-200 meter og grupper der opererer over større områder, med rækkevidde på mange kilometer. Satellitbårne radiokanaler Signalet overføres ved hjælp af satellit. Enten geostationære, eller low-altiude satelitter. Kan klare høje hastigheder, men kan give lange forsinkelser der vil værende generende f.eks i form af gummitastatur under browsing på internettet. Udbydere og internetbackbones Internettet er delt ind i et hierarki, hvor de øverste lag udgøres af tier-1 og tier- 2-udbydere. Tier-1-udbydere kendes også som internet-backbone-netværk, og er internationale. Tier-1 kendetegnes også ved at være direkte forbundet til de andre tier-1-udbydere og at et stort antal tier-2-udbydere og kundenetværk Datamatikeruddannelsen forår 2006 Side 12 av 33

er tilkoblet. Internettets topologi er avanceret og består af mange tier-1 og tier-2 udbydere. Tilsluttet disse findes de regionale udbydere. De punkter i en udbyders netværk hvor andre udbydere tilsluttes kaldes Points Of Presence (POP). Dette giver internettet en struktur, hvor udbydere kan koble sig til, med sine netværk og modempuljer, og på den måde udvides internettet. NAP (Network Access Point) er de punkter hvor andre udbydere kobler sig på. Forsinkelse og tab i pakkekoblede netværk 1. Behandlingsforsinkelse Omfatter bl.a. den tid det tager at undersøge pakkens header for at finde ud af hvor den skal. Omfatter også den tid det tager at kontrollere den bit-strøm pakken udgør når den ankommer en vært eller router/switch. På en højhastighedsrouter drejer behandlingsforsinkelsen sig om mikrosekunder. 2. Køforsinkelse Hvis routeren/værten er optaget med at sende en pakke, bliver de næste lagt i kø mens de venter på at linjen bliver ledig. Køforsinkelser er afhængig af trafikbelastningen, men drejer sig normalt om mikro- eller millisekunder. 3. Transmissionsforsinkelse (Store-and-forward forsinkelse) Hvis pakker der ankommer en router behandles efter princippet først ankommet behandles først, kan en pakke ikke videresendes før de der er kommet før den er blevet sendt videre. Dette er almindeligt i et pakkekoblet netværk. Hvis pakkestørrelsen er L bit og overførselshastigheden er R bit/sek er transmissionsforsinkelsen på L/R dette er den tid det tager at sende alle pakkens bit ud på linjen. 4. Udbredelsesforsinkelse Udbredelsesforsinkelsen er den tid det tager en pakke at blive overført på linjen mellem to routere/værter. Dvs den tid de er om at passere ledningen. Udbredelsesforsinkelsen er derfor afhængig hvilken type linje man taler om, og er i størrelsesorden: 2 10 8 meter/sek til 3 10 8 meter/sek dvs op imod lysets hastighed. Knudeforsinkelsen udgør summen af alle disse forsinkelserne, d knude = d beh + d kø + d trans + d udbr Den mest komplicerede komponent er køforsinkelsen, der kan variere fra pakke til pakke, i modsætning til de andre typerne af forsinkelser. Hvis 10 pakker ankommer samtidig til en router, vil den første blive sendt videre uden køforsinkelse, mens den sidste vil opleve en lang forsinkelse. Når omfanget af køforsinkelsen skal beregnes, spiller trafikintensiteten en stor rolle. Trafikintensiteten kan beregnes ud fra følgende formel: La/R, hvor L = pakkestørrelsen i bits, a = antal indkommende pakker pr, sek og R er overførselshastigheden i bits/sek. Hvis der kommer en pakke pr. sek, opstår der ingen kø, men hvis der kommer flere pakker med kortere mellemrum vil der opstå kø, og belastningen stiger i en brat kurve.. Trafikintensiteten må generelt ikke overstige 1. Datamatikeruddannelsen forår 2006 Side 13 av 33

Ende-til-ende forsinkelsen udgør summen af alle disse forsinkelserne, for hvert knudepunkt pakkerne skal passere. Som udgangspunkt går man ud fra at netværket ikke er overbelastet, så man kan se bort fra køforsinkelsen: Hvor N repræsenterer antallet routere minus 1 Når der opstår store køer, vil knudernes inputbuffere desuden blive fyldt op, og pakker vil blive smidt væk, fordi der ikke er plads til dem i køen. Lagdelt arkitektur For at reducere kompleksiteten er netværket opdelt i lag. Med en lagdelt protokolarkitektur, hører der en protokol til hvert af lagene. Ved siden af at opdele en kompliceret netværksarkitektur op i mindre (komplicerede) dele, kan man på denne måden ændre i et af lagene uden at dette påvirker de andre. Dette forudsætter at hver af lagene yder specielle tjenester til laget over, og benytter sig af specielle tjenester i laget under. Lagene kommunikerer med hinanden ved at udveksle meddelelser. Disse meddelelserne kaldes lag-n protokoldataenheder eller lag-n Protocol Data Unit (n-pdu). Samlet kaldes alle lagene med sine protokoller for protokolstakken. Når lag 4 sender en meddelelse, bliver den sendt nedover i lagene, og til sidst ud på nætverket. Hos modtager går den så op i gennem lagene, og ender hos den rette modtager. Servicemodellen er det bærende princip. Hvert lag yder en bestemt servie, f.eks, at hver pakke kommer hel frem til modtageren, eller at pakkerne kommer frem i den afsendte rækkefølge. Da der er 4 lag, er der 4 PDU'er, 1-PDU, 2-PDU osv. Meddelelsen der dannes på det højeste lag er en 4-PDU, der udstyres med en header. For hvert lag tilføjes yderligere en header med de oplysninger der skal bruges for at sende pakken videre på netværket: d ende-til-ende = N( d beh + d trans + d udbr ) Afsender Melding Modtager Melding H3 Melding Melding H3 H2 H3 Melding Melding H3 H2 H1 H2 H3 Melding Melding H3 H2 H1 Internettets protokolstak. Internetstakken består af 5 lag. Det fysiske, (data)linklaget, netværkslaget, Transportlaget, Applikationslaget. PDU'erne for de 4 øverste lag har fået navne i stedet for PDU betegnelser. Et protokollag kan implementeres både i hardware og software. Applikationslaget implementeres næsten altid i software i slutsystemene. Da linklaget og det fysiske lag står for kommunikationen over en bestemt linje, er de som regel implementeret i hardware i form af et netværkskort. Transportlaget Applikationslaget Melding Transportlaget Segment Netværkslaget Datagram Linklaget Frame Fysisk lag 1-PDU Datamatikeruddannelsen forår 2006 Side 14 av 33

kan godt være implementeret i begge dele. 1. Applikationslaget Applikationslaget har ansvaret for at understøtte netværksapplikationer. Applikationer omfatter mange protokoller, og man kan nemt lave sin egen protokol. Protokoller: HTTP til World Wide Web, SMTP til e-mail, FTP til filoverføring 2. Transportlaget Transportlaget sørger for at transportere meddelelser mellem klient og serversiden af en applikation. Protokoller: TCP, der giver en forbindelsesorienteret forbindelse med garanti for at pakkerne kommer frem, og UDP der er en forbindelsesløs service, uden garanti for leverance. 3. Netværkslaget (IP-laget) Netværkslaget har ansvaret for at rute et diagram fra en vært til en anden. Internettets netværkslag har to principielle komponenter. Den ene er en protokol der definerer indholdet i IP-headeren og hvordan slutsystemene behandler datagrammene. Der er kun en IP-protokol, og alle internetkomponenter med et netværkslag skal køre denne protokollen. Den andre komponent er routingprotokoller der bestemmer hvordan et datagram skal rutes gennem netværket. Selvom netværkslaget indeholder både IP-protokollen og routing protokoller, taler man blot om IP-laget, da det er IP der kæder internettet sammen. Internettets transportslagsprotokol, TCP og UDP, udstyres med et transportslagsegment med modtageradressen, til netværkslaget. Netværkslagets service er at aflevere det til modtagerværten, hvor det går opover gennem lagene, hvor det pakkes ud og afleveres til den rigtige applikation. Protokoller: IP og routingprotokoller 4. Linklaget Netværkslaget sender en pakke fra afsender til modtager via en række routere/switcher i netværket. For at flytte datagrammet fra en knude til den næste, sender transportlaget pakken videre til linklaget. Når datagrammet har nået næste knude, sendes pakken op til netværkslaget. Den service linklaget yder er afhængig af linklagsprotokollen. Nogle protokoller sikrer f.eks. aflevering fra den ene knuden til den næste. Da et datagram som regel skal gennem flere linjer på sin vej fra afsender til modtager, vil det typisk blive håndteret af flere protokoller. Protokoller: Ethernet, PPP, i nogle tilfælde ATM og frame relay. 5. Fysisk lag Hvor linklaget flytter hele frames fra den ene knuden til den næste, er det det fysiske lags opgave at flytte hver bit fra den ene knude til den næste. Protokollerne er dels afhængig af linjen, og af linjens fysiske medium. Ethernet har lagprotokoller efter om linjen er kobberkabler, lyslederkabler etc. I hvert tilfælde sker overførselen af bits på forskellig måde. De vigtigste netværksenheder er værter, routere, switche og broer. Værter implementerer alle lag, routere implementer alle lag til og med netværkslaget, mens broer og switche implementerer alle lag til og med linklaget. Dette betyder at broer og switche ikke kan genkende IP-adresser, men kun MACadresser, eller netværksaddresser, i modsætning til routere der implementerer IP-protokollen og derfor kan genkende IP-adresser. Da værter implementerer alle lag, taler man om at kompleksiteten ligger i netværkets udkant. Datamatikeruddannelsen forår 2006 Side 15 av 33

Kapitel 2 Applikationslaget Formålet med et computernetværk er at køre netværksapplikationer. Selvom der findes mange af disse, er de næsten altid implementeret i software. Applikationer i applikationslaget betragtes som processer der kører på hver sine slutsystemer/værter, og som kommunikerer med hinanden ved at de udveksler meddelelser. Kommunikationen ivaretages af forskellige protokoller på applikationslaget, som HTTP, FTP, SMTP, telnet etc. En applikationslagsprotokol definerer bl.a. følgende: 1. De typer meddelelser der udveksles som f.eks forespørgsler og svarmeddelser 2. Syntaksen for de forskellig meddelelsestyper 3. Felters semantik 4. Regler for hvornår og hvordan processer besvarer meddelelser. Proceskommunikation på netværket. En netværksapplikation har typisk to sider, en klientside og en serverside. Klientsiden i et slutsystem kommunikerer med serversiden til en applikation/proces i et anden slutsystem, f.eks en web-browser der kommunikerer med en web-server. Nogle applikationer, f.eks. telnet, kan optræde både som server og klient. Den proces der initierer forbindelsen er klienten. Processer sender om modtager meddelelser over en socket. Denne kan betragtes som applikationens dør til netværket, og baserer sig på at der er en netværketstjeneste på den anden side. Programmøren af netværksapplikationen behøver bare at forholde sig til denne socket, og har lille kontrol med de tjenester der befinder sig på den anden side. Adressering Adressering til den proces sker ved hjælp af en socket. En socket består af den IP-adresse det andet slutsystem har, og det portnummer processen har fået tildelt. Forskellige protokoller har fået tildelt faste portnumre. De første 1024 portnumre er reserverede til de forskellige protokoller. HTTP 80 WWW FTP 21 Filoverføring SMTP 25 E-mail Netværksapplikationer kaldes også brugeragenter. Det vil sige at brugeragenten udgør en grænseflade mellem netværksapplikationen og brugeren. En brugeragent som Mozilla eller Internet Explorer, eller Microsoft Outlook eller Ximian Evolution er brugeragenter for henholdsvis WWW og SMTP/POP3. Datamatikeruddannelsen forår 2006 Side 16 av 33

Krav til netværksapplikationer. Forskellige applikationer stiller forskellige krav til de netværkstjenester de benytter sig af. Disse kravene går på pålidelighed i form af datatab, båndbredde og tid. Applikation Datatab Båndbredde Tidsfølsom Protokol Service Filoverførsel Intet tab Elastisk Nej FTP TCP E-mail Intet tab Elastisk Nej SMTP TCP WWW Intet tab Elastisk Nej HTTP TCP Real time audio/video Tabstolerant Audio: Få til 1Mbps Video: 10kbps til 5Mbps Ja, hundreder af ms Ofte proptietær UDP/TCP Lagret audio/video Tabstolerant Audio: Få til 1Mbps Video: 10kbps til 5Mbps Ja, få sekunder UDP/TCP Interaktive spil Tabstolerant Få til 10kbps Ja, hundreder af ms Instant Messaging Intet tab Elastisk Ja og nej Ofte proptietær Typisk UDP Internettets transportprotokoller Internettet og TCP/IP netværket giver adgang til to transportprotokoller eller transportservices. Disse protokoller giver forskellige services til de applikationer der benytter dem. TCP-service TCP servicemodellen giver en forbindelsesorienteret service med garanti for at der ikke tabes data under overførselen. Forbindelsesorienteret service Klienten og serveren opretter en forbindelse inden selve datatransmissionen begynder. Under denne hand-shake proceduren oprettes forbindelsen, og applikationerne oprettes mellem de to applikationernes sokler. Forbindelsen lukkes når de to applikationerne er færdige med at udveksle data. Man bruger begreber forbindelsesorienteret fordi det er en løs forbindelse, der kun er kendt for de to applikationer der er forbundet. Pålidelig transportservice De meddelelser som bliver sendt, kommer også frem, i den sendte rækkefølge. Dette er en af de garantier der ligger i TCP-protokollen I tillæg har TCP mekanismer der sørger for at netværket ikke bliver overbelastet. Dvs at Datamatikeruddannelsen forår 2006 Side 17 av 33

hastigheden falder ved stor belastning på netværket. TCP giver ingen garanti for hvor længe en pakke er om at blive leveret. UDP-service UDP er en enkel og forbindelsesløs protokol. Der sker derfor ingen hand-shake for processene begynder at kommunikere. UDP giver ingen garanti for at de data der bliver sendt også kommer frem. Fordelen ved UDP at der er mindre overhead. Pakkerne der sendes behøver ikke de kontrolinformationer TCP kræver for at give sine garantier. UPD sender bare en strøm af pakker til modtager. Dette gør UDP velegnet til transmissioner der er tabsfølsomme, men kræver hurtigere overførsel af data. Hverken TCP eller UDP giver nogen garanti for at pakkerne når frem inden en given tid. Netværksapplikationer der er afhængig af dette, må implementere mekanismer der tager højde for dette på applikationsniveau. Protokoller i applikationslaget HTTP HyperText Transfer Protocol HTTP er WWW's applikationslagsprotokol og implementeres i et klientprogram og et serverprogram. Disse kører på hver sine slutsystemer, og udveksler meddelelser i form af HTTP-meddelelser. En webside består af en grundlæggende HTML-fil, og andre elementer som f.eks. en HTML filer, billedfiler, java appletter osv. Hvis en side indeholder 5 billeder, har den 6 elementer: en HTML-fil og 5 billedfiler. Denne siden refereres med en enkelt adresse, eller en URL (Uniform Ressource Locator). Den grundlæggende HTML-side refererer til de andre objekterne ved hjælp af deres URL. En URL består af 2 komponenter, værtsnavnet på den server hvor filen befinder sig, og stien til selve filen. www.vbauge.tollfreepage.com/images/tux_2005.jpg Værtsnavnet her er www.vbauge.tollfreepage.com. Stinavnet til billeder, eller elementer, er /images/tux_2005.jpg. Web-browseren er en brugeragent til websurfing, og implementer klientsiden af HTTP. Webserveren kører serversiden af HTTP, og huser websidene og de tilhørende elementer. Webserverens adresse betegnes med en URL, som den ovenstående. Http er protokollen der definerer hvordan klienten forspørger om en side, hvordan serveren besvarer en sådan forespørgsel, forbindelsen oprettes, og afsluttes osv. HTTP/1.0 blev introduceret i 1997 og HTTP/1.1 kom i 1998. HTTP/1.1 er bagudkompatibel med HTTP/1.0. HTTP er en tilstandsløs protokol. Serveren gemmer ingen oplysninger om klienten, f.eks. i form af hvilke filer der er blevet downloadet. Hvis en klient beder om den samme fil 2 gange, bliver de også overført 2 gange. HTTP benytter TCP som den underliggende transportprotokol til at overføre meddelelser. Vedvarende og ikke-vedvarende forbindelser Http kan bruge både vedvarende og ikke-vedvarende forbindelser. HTTP/1.0 bruger ikke-vedvarende forbindelser, og HTTP/1.1 bruger som default vedvarende forbindelse. I det følgende forudsættes det at der skal hentes en webside med flere elementer. Sidens adresse er www.vbauge.tollfreepage.com/notater/index.html, med tilhørende elementer. Ikke-vedvarende forbindelse. 1. HTTP klienten initierer en TCP forbindelse med serveren på www.vbauge.tollfreepage.com/ på Datamatikeruddannelsen forår 2006 Side 18 av 33

port 80, der er standard port for HTTP. 2. HTTP klienten senderen HTTP-forespørgselsmeddelelse til serveren via den socket der blev associeret med TCP-forbindelsen der er blevet initieret. Forespørgselen indeholder stinavnet /notater/index.html. 3. HTTP-serveren modtager forespørgselsmeddelsen via den socket der tilhører forbindelsen, finder objektet og kapsler det ind i en HTTP svarmeddelelse. Denne sendes til klienten via denne socket. 4. HTTP-serveren beder TCP om at lukke TCP-forbindelsen der lukkes når det er bekræftet at meddelelsen har nået klienten. 5. Klientprogrammet undersøger den indkomne HTTP-meddelelse, og ser at der er elementer tilknyttet web siden. 6. De 4 første trin gentages for hvert element der skal overføres fra serveren til klienten. Den ovenstående procedure er ikkevedvarende for forbindelsen bliver lukket, og skal åbnes igen for hvert element der skal hentes. En moderne browser kan dog konfigureres til at anvende parallelle overførsler, noget der gør overførselen af siden væsentlig hurtigere. Ikke-vedvarende forbindelser har netop den ulempe at der skal oprettes mange forbindelser til serveren. Dette er både tid- og ressourcekrævende. Det tager tid at oprette de mange forbindelser, fordi der på denne måden skal udføres mange hand-shakes. Desuden kræves det ekstra ressourcer fordi det for hver forbindelse oprettes buffere og variabler med informationer om forbindelsen. Dette kan repræsentere en betydelig ekstra belastning på serveren. Specielt ved mange forespørgsler. Når man skal måle den tid det tager at hente en web side, Anvendes begrebet round-trip-time (RTT). RTT repræsenterer den tid det tager en pakke at blive sendt fra klienten til serveren og tilbage igen. Vedvarende forbindelse. Med en vedvarende forbindelse lader serveren TCP-forbindelsen være åben efter at have sendt et svar. Dermed kan efterfølgende meddelelser og filoverførsler mellem server og klient gå over den samme forbindelse. Dette vil sige at en web-side og alle dens elementer sendes over den samme forbindelse. Desuden kan der sendes flere sider på den samme forbindelse. Forbindelsen bliver automatisk lukket, typisk efter en bestemt tidsperiode med inaktivitet. Der findes to typer vedvarende forbindelser: 1. Uden pipelining Klienten sender kun en ny forespørgsel når den foregående forespørgsel er modtaget. Det vil sige at at klienten kun bruger en RTT for at forespørge og modtage elementerne til en web-side. En Datamatikeruddannelsen forår 2006 Side 19 av 33

ulempe ved ikke at anvende pipelining er at forbindelsen i perioder er ledig, mens den venter på nye forespørgsler. 2. Med pipelining Klienten sender forespørgsler på elementerne i en side efterhånden som den støder på referencer. Dermed sender klienten forespørgsler inden de foregående elementer er overført, så serveren kan sende elementerne løbende. På denne måden kan man nøjes med én RTT for at hente en web-side med alle elementerne. I tillæg indebærer den vedvarende forbindelse med pipelining at forbindelsen har meget kortere perioder med inaktivitet. Vedvarende forbindelser med pipelining er standard i HTTP/1.1. HTTP forespørgsel En HTTP-forespørgsel er bygget op på følgende måde: 1. Forespørgselslinje (1) Består af en linje med føgende syntax: Metode [sp] URL [sp] HTML- Version [cr] [lf] Metode: Angiver hvilken type HTML-forespørgsel det drejer 7. Body sig om. GET betyder at der skal hentes et objekt og er den mest brugte. Andre metoder er POST og HEADER. URL: Adressen til det objekt browseren spørger efter. HTML-version: Angiver hvilken HTML version browseren understøtter. 2. Header-linjer (2-5) Denne sektionen indeholder forskellige oplysninger og forespørgsler til serveren. Dens længde varierer derfor efter antallet af oplysninger/forespørgsler. Header linjen host angiver den vært det ønskede objekt ligger på. Header linjen Connection: close betyder at der ikke skal anvendes en vedvarende forbindelse, men at den skal lukkes igen når overførselen er færdig, selvom browseren benytter HTTP/1.1 Header linjen User-agent Header linjen Accept-language: da betyder at man ønsker den danske versjon af objektet, hvis der findes en dansk version på serveren. 3. Blank linje (6) Sættes ind for at markere skille mellem header og datadel. 4. Datadel body (7) Indeholder et varierende antal linjer, men er tom ved en GET forespørgsel. Almindelige http forespørgsler HTTP forespørgsel 1. GET: /notater/notater.html HTTP/1.1 2. Host: www.vbauge.tollfreepage.com 3. Connection: close 4. User agent: Mozilla/5.0 5. Accept language: da 6. cr/lf GET Bruges ved en forespørgsel efter en web side. Det er også muligt at angive upload af data til en form med syntaksen www.vbauge.tollfreepage.com/form?name&adress. Datamatikeruddannelsen forår 2006 Side 20 av 33