You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

 

TDAT2004: Datakommunikasjon med nettverksprogrammering
Oppgave 1: Linje- og pakkesvitsjing 
Deltakere: Elisabeth Nygård Mesøy, Kristin Weiseth og Stine Sandvold Øien 

 

1. Innledning

Det finnes flere måter å organisere sending og mottak mellom datamaskiner i et nettverk. Vi snakker om å svitsje i nettverket for å koble sammen sender og mottaker, slik at de kan utveksle data mellom en klient og en tjener. Svitsjing i nettverket gjelder for alle lag i lagmodellen. Vi skiller mellom to typer: pakkesvitsjede og linjesvitsjede nettverk. Pakkesvitsjing er selve grunnprinsippet i moderne dataoverføring. Pakkesvitsjet overføring er den vanligste overføringsteknikken i forbindelse med datatrafikk og lokalnettverk. Pakkesvitsjing er en måte å kommunisere på hvor pakker sendes hver for seg via noder til mottakeren, uten å først ha opprettet en direkte kommunikasjonslinje. En “pakke” er en kort streng, altså et begrenset antall binære siffer. Pakkene inneholder hode og hale, og mellom dem ligger informasjonsbærende data. Pakkesvitsjing benyttes i for eksempel Datapak, ISDNpak og Internettkommunikasjon.

Tabell 1.1: Pakkene har forskjellige navn avhengig av hvilket lag det refereres til 

Tabell 1.2: Pakkene kommer fram til rett mottaker ved at adressene har forskjellige navn, ulik lengde, og forskjellig skrivemåte på de forskjellige lagene

Linjesvitsjing er et prinsipp for oppkobling av samband mellom abonnenter. Linjesvitsjing er oppsetting av en signaltransportvei med en fast, reservert overføringskapasitet som er tilgjengelig så lenge oppkoblingen eksisterer. Linjesvitsjede ISDN- eller telefonforbindelser blir gjerne brukt fra vanlige sluttbrukere inn til nærmeste pakkesvitsj. Eksempel på linjesvitsjing er en telefonsamtale.

Noen av standardene som gjelder for pakkesvitsjing er IP (datagramnettverk), X.25, Frame Relay og ATM (virtuell-kanal-nettverk). Standarden som gjelder for linjesvitsjing er telefonnett. 

2. Ønsket funksjonalitet

Generelt ønsket funksjonalitet er å kunne overføre data fra en avsender til en mottaker uten konflikter og på en mest mulig effektiv måte uten tap av data.

2.1. Pakkesvitsjing

Ved pakkesvitsjing ønsker man at kapasiteten er helt ledig, dermed vil pakkene overføres via avsender til mottaker uten forsinkelser eller forkastelser. Dette er noe som oppstår hvis kapasiteten ikke er ledig og pakken må stille seg i kø, eller i sist nevnte vil køen på ruteren eller svitsjen være for full så pakken vil bli forkastet.

Dette systemet har man for å kunne utveksle data i form av pakker fra en avsender og til en mottaker. Der pakkesvitsjing er spesielt beregnet på å utnytte båndbredden i nettverket maksimalt, men også samtidig sørge for at forsinkelsen av pakkene holdes til et minimum.

Fordelen med pakkesvitsjing er generelt at overføringskapasiteten deles mellom de ulike maskinene på nettet og vi oppnår maksimal utnyttelse av båndbredden. Her er det ikke avsender som tar ansvar for å rute pakken videre i nettet til riktig mottaker, men selve nettverket. I tillegg har man muligheten for å rute utenom linker eller noder(rutere eller svitsjer) som er nede eller overbelastet ved bruk av pakkesvitsjing. Noe som er veldig bra for asynkron trafikk.

Ulempen er økt kompleksitet i protokollen, som gir blant annet økte kostnader, og retransmisjon dersom pakker blir borte underveis. Den dag i dag er kvaliteten på kommunikasjonslinjene så gode at vi snakker om et relativt lite pakketap, men vi har i utgangspunktet ikke noen garantier for forbindelse.

2.2. Linjesvitsjing

Det man ønsker å oppnå med linjesvitsjing er at kapasiteten låses på en egen reserverte linjen(gjennom nettverket) uavhengig av hvor mye data som overføres, uten form av pauser i overføringen. Pauser i overføringen medfører dårlig utnyttelse av kapasiteten.  

Dette systemet har man for å kunne overføre data via en linje som kobles opp mellom avsender og mottaker. Der data blir overført på en egen reservert linje og ikke forstyrret av andre dataoverføringer.

Fordelen med linjesvitsjing er at vi får en dedikert transmisjonskanal der vi bruker hele kapasiteten, og det oppstår små eller ingen forsinkelser. Dette er dedikerte ressurser som man har gjennom hele kommunikasjonssesjonen.

Ulempen med linjesvitsjing er når det oppstår dårlig utnyttelse av kapasiteten i nettet, der overføringen vil være lite kostnadseffektivt. Det krever også at forbindelsen må settes opp i forkant av dataoverføringen, noe som krever relativt lang tid før forbindelsen er helt etablert. Et eksempel i praksis der dette kan være en ulempe, er ved akuttmedisinske øyeblikks-kommunikasjon, der man er avhengig av at det ikke krever mye tid.

2.3. Pakkesvitsjing vs. linjesvitsjing

Pakkesvitsjing kan i mange tilfeller gi bedre utnyttelse av den totale overføringskapasiteten i nettet enn linjesvitsjing. Dette skyldes at en pakkesvitsjet datasamtale mellom adressatene i motsetning til en linjesvitsjet, kun beslaglegger overføringskapasitet når det sendes datapakker på forbindelsene. Det kreves heller ingen forhåndsoppsetning av forbindelse ved bruk av pakkesvitsjing, dette gir da muligheter for øyeblikkelig kommunikasjon, fordi det er alltid oppkoblet mot nettet. Dessuten kan pakkesvitsjing sine ulempe som pakkeforsinkelse og pakketap, håndteres ved å bruke protokoller slik at pakkesvitsjing er mer effektivt enn linjesvitsjing. 

3. Virkemåte

Pakkesvitsjing og linjesvitsjing er to ulike måter å svitsje i nettverket for å kople sammen sender og mottaker slik at data kan utveksles. 

3.1 Pakkesvitsjing

Pakkesvitsjing lar mange brukere dele overføringskapasiteten i nettverket. Her er det ingen mulighet til å reservere kapasitet da man deler på det som til enhver tid er ledig. Pakkesvitsjing handler om å dele opp dataene som skal sendes, i mindre pakker. Disse pakkene sendes ut hver for seg, via noder, til mottakeren. Det er ingen plan for hvor disse pakkene skal gå da det ikke er opprettet noen direkte kommunikasjonslinje mellom sender og mottaker før pakkene sendes ut på de fysiske linjene. Pakkene overføres altså via svitsjer og rutere i nettverket og mellomlagres på disse om det ikke er ledig kapasitet for å sende videre. Med ledig kapasitet er det snakk om tilgjengelighet eller plass på neste svitsj eller ruter. Om pakken skal til en svitsj som allerede bruker all sin kapasitet på å få andre pakker videre, må kommende pakker stille seg i kø. Det er her pakketap forekommer. Dersom lagrene i en svitsj eller ruter er fulle, er det ingen plass å lagre pakker i det de venter på ledig kapasitet og pakker vil bli forkastet. Hvilke pakker som forkastes er tilfeldig, det kan være en pakke som allerede befinner seg i køen eller den nye pakken.

Det finnes to hovedtyper pakkesvitjende nettverk hvor forskjellen først og fremst ligger i måten man adresserer pakkene på: datagramnettverk og virtuell-kanal-nettverk.

3.1.1 Datagramnettverk

Figur 1: Animasjon av et datagramnettverk. Informasjonen avsender ønsker å sende deles her opp i fem pakker og forlater avsender i riktig rekkefølge. Pakkene tildeles nødvendig informasjon for å komme til riktig mottaker, hvor det er flere veier å komme seg til målet på. Pakkene jobber seg dermed gjennom de ulike nodene og når mottaker i en annen rekkefølge en de startet i. Dette rydder mottaker raskt opp i.

Datagramnettverk bruker mottakerens adresse for å overføre pakker videre i nettverket til riktig plass. Dette er en veldig enkel teknikk som går ut på å gi alle pakkene som sendes en til-adresse, fra-adresse og adresse til neste node i nettverket. Det er flere veier til målet og pakkene tar ulike veier gjennom nettverket. Dette kan føre til at pakkene kan komme fram i en annen rekkefølge enn de ble sendt i. Mottakeren stokker enkelt om på pakkene for å sitte med samme resultat som det som ble sendt.

3.1.2 Virtuell-kanal-nettverk

Figur 2: Virtuell-kanal-nettverk. Informasjonen avsender ønsker å sende deles her opp i ni pakker. Det opprettes forbindelser (de tykke pilene) mellom de mellomliggende nodene mellom avsender og mottaker. Disse forbindelsene får et kanalnummer og pakkene følger disse nummerne for å komme fram. Alle pakkene går dermed samme vei og når målet i riktig rekkefølge.

Dette er et nettverk med fokus på virtuelle kanaler i det pakkesvitjsende nettverket. Her bruker man ikke adresser som i datagramnettverket, men heller vituelle-kanalnummer for å videresende pakkene til riktig mottaker. Når man setter opp virtuelle forbindelser mellom alle involverte noder mellom avsender og mottaker, gis disse forbindelsene et unikt kanalnummer som nodene (svitjene og ruterne) lagrer i sine tabeller. Pakkene inneholder kanalnummer og sendes gjennom nettverket ut fra disse og de interne tabellene. Dette betyr at alle pakkene går samme vei og kommer til målet i riktig rekkefølge. I et slikt nettverk må alle nodene holde orden på tilstanden til en oppkobling, altså nye kanaler som koples opp, allerede oppkoblede kanaler og kanaler som kobles ned. De interne tabellene må hele tiden oppdateres.

3.2 Linjesvitsjing

Figur 3: Linjesvitsjing. Kobles opp en forbindelse mellom avsender og mottaker som er reservert så lenge informasjon sendes mellom disse. All kommunikasjon går fortløpende og med en gang kommunikasjonen er over koples linjen ned og stilles ledig for andre å bruke.

Linjesvitsjing er kommunikasjon mellom sender og mottaker direkte over en linje som er reservert for den tiden kommunikasjonen kommer til å ta. Forbindelsen må altså kobles opp før man kan begynne å overføre data. Når kommunikasjonen er over, kobles forbindelsen ned og kapasiteten stilles ledig igjen. Kapasiteten låses altså uavhengig av hvor mye data som overføres.
Vi deler dermed linjesvitsjing inn i tre enkle faser:

  1. Opprettelse av linje
  2. Bruk av linje
  3. Nedkobling

 

  • No labels