Institutt for informatikk & UNIK Innledning til kurset IN-270



Like dokumenter
Computer Networks A. Tanenbaum

Oppsummering: Linjesvitsjing kapasiteten er reservert, og svitsjing skjer etter et fast mønster. Linjesvitsj

Litt mer detaljer om: Detaljerte funksjoner i datanett. Fysisk Lag. Multipleksing

Kommunikasjonsnett. Et kommunikasjonsnett er utstyr (maskinvare og programvare) for utveksling av informasjon

Computer Networks A. Tanenbaum

Detaljerte funksjoner i datanett

Gjennomgang av kap Kommunikasjonsformer Typer av nettverk Adressering og routing Ytelse Protokoller

Løsningsforslag Gruppeoppgaver, januar INF240 Våren 2003

UNIVERSITETET I OSLO

Sentrale deler av pensum i INF

Sentrale deler av pensum i INF240. Hensikt. Pål Spilling og Kjell Åge Bringsrud

Computer Networks A. Tanenbaum

TDT4110 IT Grunnkurs: Kommunikasjon og Nettverk. Læringsmål og pensum. Hva er et nettverk? Mål. Pensum

Computer Networks. (med foiler fra Pål Spilling) Kapittel 1; Innledning. Kjell Åge Bringsrud. A. Tanenbaum

Computer Networks A. Tanenbaum

Nettlaget. Nettlagets oppgaver

Hva består Internett av?

Litt mer detaljer om: Detaljerte funksjoner i datanett. Fysisk Lag. Multipleksing

UNIVERSITETET I OSLO

Transport - laget (ende-til-ende protokoller) Internett Best-effort overføring. Best-effort nett kvaliteter

Løsningsforslag Gruppeoppgaver mars 2003

Detaljerte Funksjoner i Datanett

Flere detaljerte funksjoner i datanett

Kapittel 9 Teletjenester

Introduksjon til nettverksteknologi

Medium Access Control (MAC) Linklaget avslutning. Kjell Åge Bringsrud kjellb. Foreleser: 14/02/2006 1

Spredt spektrum. Trådløst Ethernet. Kapittel 2: Diverse praktisk:

Kapittel 10 Tema for videre studier

Det matematisk-naturvitenskapelige fakultet

Litt mer detaljer om: Tids multipleksing

Løsningsforslag uke 48

Litt mer detaljer om: Detaljerte funksjoner i datanett. Fysisk Lag. Multipleksing

Løsningsforslag til oppgaver i datakommunikasjons-delen i inf1060, uke 48, 2004.

Hva er en protokoll? INF1060 Introduksjon 2

Kapittel 6: Lenkelaget og det fysiske laget

Nettverkslaget. Fragmentering/framsending Internetworking IP

Kapittel 4: Transportlaget

2EOLJDWRULVNRSSJDYHQU L GDWDNRPPXQLNDVMRQ + VWHQ.,QQOHYHULQJVIULVWRNWREHU *MHQQRPJnVWRUVGDJRNWREHU

IT Grunnkurs Nettverk 2 av 4

Ennå litt mer detaljer: Flere detaljerte funksjoner i datanett

Linklaget. Olav Lysne. (med bidrag fra Stein Gjessing og Frank Eliassen) Oppsummering 1

Kapittel 5 Nettverkslaget

Ennå litt mer detaljer: Flere detaljerte funksjoner i datanett

Linklaget - direkte forbindelser mellom noder

Det fysiske laget, del 2

INF2270. Input / Output (I/O)

Innhold. Innledning til Input/Output. Ulike typer Input/Output. Input/Output internt i datamaskinen. Input/Output mellom datamaskiner

Lagene spiller sammen

Fysisk Lag. Den primære oppgave

Linklaget - avslutning

INF2270. Input / Output (I/O)

Løsningsforslag Gruppeoppgaver mars 2003

TTM4175 Hva er kommunikasjonsteknologi?

Kapittel 7: Nettverksteknologier

Flere detaljerte funksjoner i datanett

Tildeling av minne til prosesser

Diverse praktisk: Merk at foilene også er pensum, og at det kan finnes info på foilene som ikke finnes i boka! Ukeoppgavene er også pensum.

Teori om sikkerhetsteknologier

Forelesning Lagdeling i Internettarkitekturen

Bussar. Tilgong til buss (Three state buffer) Synkron / Asynkron Serielle bussar Parallelle bussar Arbitrering: Kven kontrollerar bussen

Forelesning Oppsummering

TTM4175 Hva er kommunikasjonsteknologi?

6105 Windows Server og datanett

Innhold. Funksjonell virkemåte. Overordnet arkitektur

Input/Output. når tema pensum. 13/4 busser, sammenkobling av maskiner /4 PIO, DMA, avbrudd/polling

UNIVERSITETET I OSLO

TTM4175 Hva er kommunikasjonsteknologi?

Obligatorisk oppgave nr 2 i datakommunikasjon. Høsten Innleveringsfrist: 04. november 2002 Gjennomgås: 7. november 2002

Løsningsforslag UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

PRODUKTBESKRIVELSE INFRASTRUKTUR. NRDB Sentralisert Node

Oppgave 8.1 fra COD2e

6105 Windows Server og datanett

Innhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki Hukommelseshierarki-2 1

Datateknikk TELE1005-A 15H HiST-FT-IEFE

Lek 01 Grunnprinsipper

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

Internett Best-effort overføring Flere detaljerte funksjoner i datanett. Ennå litt mer detaljer: Formatet til IP-hodet

Tele- og datanettverk

Kap 3: Anvendelser av Internett

Transport - laget (ende-til-ende protokoller) Glidende vindu protokoll. Flyt kontroll. dataoverføringsfasen. Sender. Mottaker

Generelt om permanent lagring og filsystemer

Bilag 2.8. Jara E-line Produktblad

Tildeling av minne til prosesser

6105 Operativsystem og nettverk

INF2270 I/O. Omid Mirmotahari Omid Mirmotahari 1

Generelt om operativsystemer

MEDIEHVERDAGEN ETTER 2021

i en enebolig MÅL Praktisk oppgave Etter at du har arbeidet med dette kapitlet, skal du kunne

ITF20205 Datakommunikasjon - høsten 2011

Fakultet for informasjonsteknologi, Kontinuasjonsløsning på SIF8037 Distribuerte systemer og ytelsesvurdering (Distribuerte systemer kun)

Høgskolen i Telemark EKSAMEN Operativsystem og nettverk inkludert denne forsiden og vedlegg. Merknader:

Redundante linjer fra BKK. Frokostmøte 25. januar 2011 Terje Henneli, BKK Marked

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer

in270 Datakommunikasjon, vår 03 forelesningsnotater, kap. 4

signalstyrken mottatt fra mini-bts-laveffektsstasjonen, å registrere signalstyrken mottatt

Gruppe: D2A Dato: Tid: Antall oppgavesider: 3 Antall vedleggsider : 0

Høgskolen i Molde Institutt for Informatikk Prøveeksamen 1 in115: Nettverksdrift Svarskisse:

Forslag til nasjonalt utvekslingsformat for bibliografiske data

6105 Operativsystem og nettverk

6105 Windows Server og datanett

Transkript:

Institutt for informatikk & UNIK Innledning til kurset IN-270 KOMPENDIUM no 68 Januar 1997 DET MATEMATISK- NATURVITENSKAPELIGE FAKULTET UNIVERSITETET I OSLO Sist oppdatert 6/1/00 1

Innholdsfortegnelse 1.0 Innledning 3 2.0 Telenett 3 2.1 Tjenesteintegrerte nett 5 3.0 Datakommunikasjon 6 3.1 Pakke-svitsjet kommunikasjon 7 3.2 Ulike nett typer 9 3.2.1 Kringkastingsnett 10 3.2.2 Maskenett 11 3.2.3 Internett 12 4.0 Generelle konsepter 13 4.1 To-deling av kommunikasjonssystemet 13 4.2 Distribuerte samarbeidende prosesser 14 4.3 Tjenestekvalitet 15 4.4 Overføringstjenesten 16 5.0 Referansemodellens rammeverk 18 6.0 Oversikt over lagene i referansemodellen 26 7.0 Sammenlikning mellom internett modellen og referansemodellen 30 8.0 Eksempler på samtaleunivers 33 Sist oppdatert 6/1/00 2

1.0 Innledning Dette notatet er ment som et supplement til læreboken som benyttes i IN-270, og vil ta for seg en del nøkkelbegreper og generiske funksjoner og knytte disse opp mot en hensiktsmessig referansemodell for kommunikasjonssystemer. Før vi beskriver hva et datakommunikasjonssystem består av, hva det brukes til og hvilken plass det har i det store kommunikasjonsbilde, kan det være på sin plass å starte med et kommunikasjonssystem vi alle kjenner, nemlig telefonnettet - også kalt telenettet. Datanett og datatjenester har utviklet seg i parallell og i konkurranse med telenett og teletjenester, og har for lengst rettferdiggjort sin eksistens. Tegn tyder på at internett teknologien vil bli den dominerende teknologien i det nærmeste 10-året. Informasjons- og kommunikasjonsteknologi (IKT) omfatter samspillet mellom databaser, distribuert prosessering, datakommunikasjon, og transmisjons- og svitsjesystemer, med andre ord en sammensmelting av tradisjonell telekommunikasjon, datakommunikasjon og informatikk. Vi vil derfor i fremtiden ikke ha noen prinsippiell forskjell på teletjenester og datakommunikasjonstjenester. 2.0 Telenett Grovt sett består telenettet av et sett telefonsentraler koplet sammen ved hjelp av såkalte trunk - linjer, og i parallel med dette et signaleringsnett. Sentralene er ordnet i et hierarki. Abonnentene er tilkoplet endesentralene, det laveste nivå i dette hierarkiet. På nivåene over har vi gruppesentraler og Gruppe/fjern-sentral Endesentral Trafikkmaskinen Trunk-linje Signaleringsnett Abonnent Telenett Abonnentlinje Telefonnett/linjesvitsjet nett Sist oppdatert 6/1/00 3

ulike katagorier fjernsentraler (også kalt transittsentraler). Det er ikke koplet abonnenter til disse. Trunklinjene er transmisjonslinjer med stor kapasitet. De kan overføre mange individuelle telefonsamtaler over de samme fysiske linjer (bredbåndssamband). Dette kalles multipleksing. Abonnentlinjene har en kapasitet (båndbredde) tilpasset behovet for tale, og har i det tradisjonelle telenettet en båndbredde på 3 khz. Ved overgangen til moderne telenett, vil abonnentlinjene etter hvert bli digitaliserte og få en kapasitet på 64 kb/s eller høyere. Alle sentralene med tilhørende trunklinjer kaller vi trafikkmaskinen eller fastnettet, mens samlingen av abonnentlinjer kalles for aksessnettet eller local loop på engelsk. Som en følge av avmonopoliseringen, krever myndighetene et skille og et veldefinert grensesnitt mellom transportmaskinen og aksessnettet. Dette for å åpne opp for større konkurranse i markedet, ved at vi kan få inn flere aktører som for eksempel kan konkurrere om deler av aksessnettet. Dette er tydeligst å se innen mobilmarkedet, der flere konkurrerende aktører, Netcom og Telenor Mobil, har de samme rettigheter til å benytte fastnettet. Når en abonnent løfter av telefonrøret og slår et telefonnummer på apparatet sitt, blir nummerinformasjonen omgjort til toner av ulik frekvens og overført til endesentralen. Endesentralen konverterer tonene til digital informasjon og sender dette over til en dedikert applikasjon, for videre behandling. Denne applikasjonen er en del av signaleringsnettet. Detaljene her skal vi ikke komme inn på, men applikasjonen benytter nummerinformasjonen den mottok samt lagret ruteinformasjon, og finner så den beste ruten gjennom nettet frem til mottaker. Signaleringsnettet vil så suksesivt kommunisere med hver sentral langs denne ruten slik at det blir satt opp en gjennomgående fysisk linje mellom de to abonnentene. Når dette er gjort, kan samtalen finne sted, forutsatt at mottaker tar av røret. Kommunikasjonen mellom samtalepartnerne kan foregå på analog eller digital form, avhengig av telenettets utviklingstrinn. Etter at samtalen er over, deltar signaleringsnettet i nedkoplingen av forbindelsen. Signaleringsnettet med tilhørende applikasjoner er basert på vanlige datakommunikasjonsprinsipper, og er en viktig og vesentlig bestanddel av ethvert telenett. Etter hvert som telenettet blir digitalisert og får større kapasitet, vil større deler av telenettet bli basert på datakommunikasjonsprinsipper. Før vi går videre, kan det være nyttig å merke seg to vitale begreper: Linje-svitsjing er en kommunikasjonsteknikk som baserer seg på at det først opprettes en fysisk eller virtuell linje gjennom nettet mellom to abonnenter, hvoretter de starter kommunikasjonen. Kommunikasjonen er vanligvis synkron, det vil si at informasjonen transporteres over linjen mellom avsender og mottaker med konstant hastighet. Informasjonen som overføres mellom avsender og mottaker kan enten være analog eller digital, avhengig av telenettets utviklingstrinn. Etter at kommunikasjonen er over, koples linjen ned. Vi kan identifisere fire faser i linjesvitsjet kommunikasjon: tomgang/nedkoplet, etablering, dataoverføring og nedkopling. Synkron overføring. Ved digital overføring mellom to parter, oppfattes informasjonsflyten som en kontinuerlig strøm av bit. Denne klokkes ut fra sendersiden med konstant datarate, hvert bit Sist oppdatert 6/1/00 4

transporteres gjennom nettet frem til mottaker med samme hastighet/forsinkelse, og bittene klokkes inn i mottaker med samme datarate som senderen s. Eksempler her er digital tale og digital video. Vi vil få en tilsvarene definisjon for analog overføring. 2.1 Tjenesteintegrerte nett Teleoperatører (for eksempel Telenor) driver i dag mange ulike typer nett, for telefon, telefax, telex, det linje-svitsjede X.21 nettet, datapak (X.25 datanett) og kabel-tv nett. Dette er uøkonmisk, lite rasjonelt, og lite tilfredstillende for abonnentene. I dagens telefonnett kan det kun settes opp en linje/forbindelse mellom to abonnenter, med en kapasitet som er tilstrekkelig for overføring av talt informasjon (3 khz). Andre tjenester, som benytter video, data eller andre medier, vil kreve andre overføringskapasiteter og andre krav til kvalitet enn det vi har i dagens telenett. Multi-media tjenester vil kreve flere overføringskanaler samtidig mellom abonnentutstyr. Formålet med et tjenesteintegrert nett er å tilby flere samtidige overføringskanaler gjennom samme abonnenttilkopling (samme pluggen i veggen) med overføringsapasitet og kvalitet tilpasset abonnentens behov. Det vil si at abonnenten kan ha flere/mange ulike apparater koplet til samme abonnentkabel via et lokalt distribusjonsopplegg. De parallelle overføringskanalene kan terminere i en eller flere enheter hos abonnenten. Et slikt tjenesteintegrert nett er svært forenklet vist i figuren nedenfor. Samtidig ønsker man å digitalisere trafikkmaskinen, for å bedre overføringskvaliteten og øke kapasiteten. Abonnentutstyr Abonnentutstyr Lokal distribusjon Tjenesteintegrert nett Trafikkmaskin Signaleringsnett Lokal distribusjon Dagens ISDN (Integrated Services Digital Network) er første skritt i denne retningen. ISDN nettet er full-digitalisert, men ha en relativt beskjeden overføringskapasitet (2 x 64 kb/s synkrone svitsjede linjer og en 16 kb/s kanal for pakkekommunikasjon). Senere versjoner er ment å øke overføringskapasiteten betraktelig og med mer fleksible svitsjemekanismer, slik at abonnentene kan tilbys flere logiske forbindelser over samme abonnentkabel og med kapasistet og kvalitet tilpasset abonnentens behov. Utviklingen har gått meget raskt den senere tiden, slik at det er usikkert om denne teknologien vil være interessant på litt sikt. Sist oppdatert 6/1/00 5

3.0 Datakommunikasjon Vi vil i dette kapitlet ta for oss en filoverføringstjeneste som et eksempel på en datakommunikasjonstjeneste. Samtidig introduserer vi en del viktige begreper. A B Bruker Fil Klient Disk Kom. prog. vare Fil Tjener Disk Kom. prog. vare Datanett Filoverføring som eksempel på en distribuert anvendelse Ved en filoverføring forstår vi operasjonen å flytte en fil fra et filsystem på en maskin til et filsystem på en annen. Begge maskinene, A og B, må derfor være tilkoplet et kommunikasjonsnett, kalt Datanett i figuren over. Brukeren som tar initiativet til filoverføringen har sin terminal logisk koplet opp til en filoverføringsprosess, kalt fil-klient (i A). Fil-klienten har aksess til maskinens filsystem, og kan åpne en angitt fil, lese ut innholdet av denne sekvensielt og sende det over nettet, og deretter lukke filen. Fil-klienten kan også skape en ny fil i filsystemet med et spesifisert navn, motta innholdet over nettet og skrive dette sekvensielt inn i filen og deretter lukke filen. Filer kan også slettes. På tilsvarende måte har vi en filoverføringsprosess, kalt fil-tjener, i den andre maskinen (i B) med tilgang til B s filsystem og med tilsvarende funksjonalitet som klientprosessen. De to prosessene fil-klient og fil-tjener har begge tilgang til kommunikasjonsprogramvare, som sammen med datanettet kollektivt er ansvarlig for overføringen av filen mellom de to maskinene. Kommunikasjonsprogramvaren er bygget opp lagvis i et hierarki. Vi må kunne kreve at overføringen er feilfri, det vil si at den har høy tjenestekvalitet med hensyn til påliteligheten. Overføringen av filen kan gå begge veier - fra A til B eller omvendt. De to prosessene, fil-tjener og fil-klient, utgjør sammen en distribuert anvendelse eller tjeneste. Vi benytter filoverføringstjenesten FTP i UNIX systemet som eksempel og kaller B for Baugi. Brukeren som sitter ved en terminal tilkoplet A, ønsker å overføre et dokument kalt Rapport fra Baugi til sin egen maskin. Svært forenklet vil en filoverføring bestå av følgende trinn: 1. brukeren skriver FTP Baugi på sin terminal. Dette resulterer i to aksjoner. For det første blir brukerens terminal logisk koplet til fil-klienten. Deretter tar fil-klienten de nødvendige Sist oppdatert 6/1/00 6

skritt og etablerer en forbindelse gjennom nettet til Baugi s fil-tjener. 2. brukeren skriver så på sin terminal get Rapport Resultater. Dette resulterer i følgende aksjoner: a) fil-navnet Rapport sendes over til fil-tjeneren som så åpner filen Rapport, b) lokalt på brukerens maskin vil fil-klienten skape en ny åpen tom fil i filsystemet kalt Resultater, og c) deretter starter selve overføringen av filen. Fil-tjeneren leser sekvensielt segmenter av filen og sender disse i sekvens over nettet til fil-klienten, som så tar segmentene (som mottas i riktig sekvens) og skriver disse inn i den åpne filen i sitt filsystem. 3. når overføringen av hele filen er avsluttet, lukkes filene på begge sider automatisk av klient og tjerprosessene, og overføring av en ny fil kan starte dersom det er ønskelig eller brukeren avslutter og blir frakoplet fil-klienten. Dette eksemplet skal vi gjøre oss bruk av senere. 3.1 Pakke-svitsjet kommunikasjon Kommunikasjonsprogramvaren og datanettet som er beskrevet i foregående avsnitt er basert på såkalt pakke-svitsjing. Et datanettet vil ofte bestå av en samling pakke-svitsjer eller noder, gjensidig forbundet via et sett datalinjer. Dette er en kommunikasjonsteknikk som baserer seg på at informasjonen på sendersiden samles i rammer/pakker og sendes ut på nettet. En pakke vil ha et hode, en datadel og en hale. Hode vil blant annet inneholde adresseinformasjon. En pakke som ankommer en node, blir midlertidig mellomlagret, slik at noden kan filtrere ut mottakeradressen fra pakkehodet, konsultere en rutetabell for å finne neste node på veien, og så fremsende pakken til denne. Pakke-transporten mellom A og B vil derfor foregå i hopp, fra node til node, kalles på engelsk store-and-forward. Lagringstiden for en gitt pakke i en vilkårlig node vil avhenge av flere faktorer, blant annet temporær belastning i noden hvor pakken er mellomlagret. Pakkene vil også kunne følge forskjellige ruter gjennom nettet. Resultatet er at hver pakke vil erfare ulik forsinkelse på veien mellom sender og mottaker. Denne formen for kommunikasjon kalles asynkron kommunikasjon. En annen kommunikasjonsform man ofte støter på i litteraturen er isokron kommunikasjon. Her menes det at sendersiden sender pakker ut på nettet med et konstant tidsintervall mellom pakkene og at mottakersiden litt senere mottar de samme pakkene med det samme konstante tidsintervall mellom pakkene. Synkron overføring er et spesialtilfelle av isokron overføring, men da på bit-nivå. I pakke-nett er det vanligvis komplisert å oppnå isokroni. I asynkron kommunikasjon kan vi ha to ulike former for kommunikasjonsmodi, nemlig forbindelseorientert og forbindelsesfri overføring i datanettet. For å gjøre forklaringen enkel, tenker vi oss et datnettet som består av en samling med noder gjensidig forbundet ved et sett datalinjer. Forbindelsesorientert overføring baseres på at det legges en rute gjennom nettet mellom de to prosessene, se figuren på neste side. Denne ruten kalles en virtuell linje (virtual circuit) og etableres før selve kommunikasjonen mellom prosessene finner sted. Valg av rute treffes på grunnlag av tilstanden i nettet på det tidspunkt ruten etableres. Denne kommunikasjonsformen er analog til den linjesvitsjede form vi har sett på tidligere, og også her kan vi identifisere fire faser: tomgang/nedkoplet, etablering, dataoverføring og nedkopling. Denne kommunikasjonsformen eg- Sist oppdatert 6/1/00 7

ner seg best til overføring av større datamengder, ved at overhead i forbindelse med opp- og Node Prosess Vert A Virtuell linje Vert B Virtuell linje Datanett Vert C Datanett med to virtuelle linjer ned-kopling relativt sett blir liten. I tillegg vil nettet ha bedre kontroll med dataflyten og kunne ta på seg noe av ansvaret for påliteligheten i overføringen. Dersom det oppstår problemer i nettet som resulterer i at ruten brytes, medfører dette full stopp i kommunikasjonen. Det må da etableres en ny virtuell linje før kommunikasjonen kan fortsette. Telenor s X.25 nett Datapak benytter denne kommunikasjonsformen. Forbindelsesfri overføring baseres på ruting av pakker gjennom nettet uten forutgående etablering av en virtuell linje. Vi kaller ofte denne formen for overføring for datagram kommunikasjon. Hver node treffer sitt rutevalg basert på tilstanden i nettet til enhver tid og ruter en pakke uavhengig av foregående pakker. Dette kaller vi adaptiv ruting. Pakker som tilhører samme kommunikasjonsstrøm, kan derfor følge ulike ruter gjennom nettet. Dette medfører at transporttiden for hver pakke vil variere mer enn for forbindelsesorientert kommunikasjon. Til gjengjeld er tilpasningsevnen (adaptiviteten) stor med hensyn til endringer i nett-topologi og belastning, og gir derfor god resistens mot brudd i en enkelt datalinje i nettet eller krasj i en node. Normalt vil denne kommunikasjonsformen være mindre pålitelig enn ved bruk av virtuelle linjer. Ønskes bedre pålitelighet enn det nettet kan tilby, må dette tas hånd om av kommunikasjonsprogramvaren i vertsmaskinene. Fordi forbindelsefri overføring ikke trenger å sette opp en virtuell linje gjennom nettet, er denne kommunikasjonsformen velegnet for transaksjonsorientert kommunikasjon mellom de distribuerte prosessene der de utvekslede datamengder vanligvis er små. Sist oppdatert 6/1/00 8

Node Prosess Vert A Vert B Datanett Vert C Datanett uten virtuelle linjer 3.2 Ulike nett typer Grovt sett kan vi kategorisere nett i tre klasser, nemlig kringkastingsnett, maskenett og internett. Vi vil i det følgene beskrive disse klassene og noen av deres karakteristiske egenskaper. a) Bus nett b) Ring nett c) Satellitt nett Ulike type kringkastingsnett Sist oppdatert 6/1/00 9

3.2.1 Kringkastingsnett Et kringskastings-nett er et nett der alle maskinene i nettet deler et felles transmisjonsmedium. Dette medfører at alle kan høre alle, og betyr at overføringer kan skje direkte mellom alle par av maskiner. Dette er en fordel, ved at det har potensialet for korte forsinkelser i kommunikasjonen. Antar vi at all maskiner opptrer uavhengig av hverandre, vil det derfor være en viss sannsynlighet for at to eller flere maskiner starter å sende samtidig. Dette skaper et problem ved at samtidige sendinger fra to eller flere maskiner kolliderer i mediet og ødlegger for hverandre. Pakker som blir ødelagt på grunn av kollisjoner, må sendes om igjen på et senere tidspunkt (kalt retransmittering). Utfordringen i slike nett blir derfor å kontrollere tilgangen til nettet (medium aksess kontroll), for å redusere effekten av kollisjoner eller for helt å eliminere konkurransen om bruken av mediet. Som vi vil se senere i kurset, vil vi ha to typer av aksessmetoder, nemlig de som baserer seg på ulike former for reservering og som derfor er kollisjonsfrie og de metodene som tillater konkurranse og som prøver å redusere effekten av denne (kollisjonsutsatte metoder). Figuren på foregående side viser tre typer kringkastingsnett. I type a) er alle maskiner tilkoplet en felles kabel, og en typisk representant for denne typen nett er Ethernet. Et slikt nett har høy nominell datarate (10 Mb/s) og relativt liten geografisk utstrekning (~2.5 km) og blir kalt et LAN (Local Area Network). Ethernet benytter en konkurranseutsatt aksessmetode. Slike nett er i utstrakt bruk, blant annet på Universitetet. I type b) er maskinene tilkoplet en fysisk ring. Aksessmetoden her baseres på stafettpinneprinsippet (Token). Bare den maskinen som er i besittelse av stafettpinnen kan sende, og sende bare en viss tid før pinnen må sendes videre til neste maskin i ringen. Aksessmetoden her er derfor konkurransefri. Slike nett kalles ofte Token Ring nett, og benyttes ofte som LAN. Stafettpinneprinsippet setter ikke noen grenser hverken på datarate eller utstrekning, men Token Ring nett i bruk i dag har typiske datarater på 10 Mb/s og 100 Mb/s og en utstrekning på noen km og opp til 200 km. Nett med en utstrekning opp til 200 km kalles ofte for Metropolitan Area Networks (MAN). Type c) nett benytter radio som transmisjonsmedium, og kan være såvel landbasert som satellittbasert. Den satellittbaserte versjonen som er vist i figuren på foregående side, vil potensielt være utsatt for konkurranse på opplinken til satellitten, det vil si på sendinger fra jordstasjonene og opp til satellitten. Det satellitten mottar på en frekvens, filtreres og forsterkes av satellittens transponder, og sendes ned til jorden (nedlinken) på en annen frekvens. Det mest vanlige til nå har vært å benytte geo-stasjonære satellitter, det vil si satellitter som står i fast posisjon i forhold til jorden ca 36 000 km over ekvator. Dekningsområdet (footprint) vil variere. Med direktive antenner vil satellitten bestråle et mindre område, for eksempel de nordlige deler av Europa, og derved oppnå god signalstyrke for satellitt-motakerne på jorden slik at man kan benytte relativt små parabolantenner (1-2 m). For store dekningsområder, for eksempel fra den amerikanske østkyst og langt ut i det indiske osean, blir satellittens sendereffekt spredd ut over et meget stort område. Signalstyrken blir derfor mye mindre enn i foregående situasjon, og jordstasjonene må utrustes med store antenner (10-30 m) for å få et brukbart signal-til-støy forhold på mottakersiden.. Et satellittnett kan benytte flere aktuelle aksessmetoder. Den enkleste og første metoden ble Sist oppdatert 6/1/00 10

utviklet og benyttet på Hawaii, og kalles Aloha. Den er konkurranseutsatt. Den ble først benyttet i forbindelse med landbasert radiokommunikasjon til og fra universitetet i Honolulu, og ble senere benyttet i satellittsammenheng. Andre og mer effektive metoder benytter reservasjonsmetoder, og er derfor tilnærmet konkurransfrie. På grunn av at gangtiden opp til satellitten og ned igjen relativt sett er lang, ca ~260 msek, kan ikke konvensjonelle LAN aksess metoder benyttes. 3.2.2 Maskenett Som vi har vært inne på tidligere, består et maske-nett av et sett noder (to eller flere), innbyrdes forbundet ved hjelp av datalinjer og på en slik måte at en node er forbundet med minst to andre noder. Det vil derfor være flere rute-alternativer mellom et vilkårlig par av noder. Dette gjør nettet mer motstandsdyktig overfor feil, og gir økt pålitelighet og tilgjengelighet. Et endelig, men variabelt antall vertsmaskiner kan være tilkoplet hver node, se figuren under. Hver vertsmaskin vil inneholde et komplett kommunikasjonsprogram-hierarki, mens nodene bare vil inneholde de lavere lagene av dette. Disse lavere lagene er spesifikke for nodenettet, og vil være felles for alle noder og vertsmaskiner. Maskenett har ingen prinsippiell begrensning når det gjelder utstrekning. Et eksempel på et maskenett er teleoperatørenes X.25 nett. Dette har vært i drift siden midten av 80-årene og har tilnærmet Vertsmaskin Node/pakke-svitsj Maske nett global dekning. Nettet har for liten overføringskapasitet til å dekke dagens behov og er derfor på vei ut. De tradisjonelle teleoperatørene hadde håpet at ISDN skulle ta over, men det har ikke slått til. Standarden ble ferdig for sent, og svarte ikke til dagens behov. I Norge har ISDN blitt tatt i bruk i første rekke for aksess til internettet. Teleoperatørene har som en videreføring av tanken om et tjenesteintegrert nett utviklet et cellebasert transportnett kalt ATM (Asynchronous Transfer Mode). Det baserer seg på virtuelle linjer Sist oppdatert 6/1/00 11

og overføring av små standard pakker, kalt celler, på 53 bytes. Denne pakkestørrelsen er et kompromiss mellom behovet for synkron overføring, eksempelvis for tale, og behovet for effektiv dataoverføring. Dette nett-konseptet har fått en viss utbredelse, og blir behandlet senere i kurset. I motsetning til et kringkastingsnett, vil vertsmaskinene i et maskenett kunne sende pakker uavhengig av hverandre uten å interferere (kollidere) med hverandre. Til gjengjeld tar transporten av pakker lengre tid, på grunn av mellomlagringen i nodene, og transport-tiden for pakker mellom en avsender og en mottaker vil kunne variere betydelig på grunn av varierende belastning i de ulike deler av nettet. I perioder hvor nettet har sterk trafikkbelasting, kan deler av nettet gå i metning og ende i en fastlåst situasjon (deadlock). I slike situasjoner har vi behov for både flyt- og metningskontroll i nettet. 3.2.3 Internett Et internett består av en samling uavhengige (autonome) datanett, som vist i figuren under, sammenkoplet ved hjelp av rutere. Hvert individuelle nett kalles for et subnett. Sammenkoplingsteknikken kaller vi internetting eller internett-teknikk. Hver maskin (vert og rutere) i internettet har sin unike globale adresse, kalt internett adresser. Disse benyttes av en internett protokoll i alle vertsmaskiner og rutere. Ruterne har som oppgave å rute internett-formatterte pakker gjennom internettet fra en avsender til en mottaker, og kan betraktes som pakkesvitsjer på internett nivå. På denne måten vil internettet opptre som et operativt hele, og for en vilkårlig bruker vil samlingen av nett opptre som ett nett. Internettet vil ha mange av de samme egenskapene som et maskenett, og være global i sin natur. R Ruter Avsender LAN R LAN R R WAN R LAN R LAN Internett Mottaker Vi har sagt at hvert individuelle nett i internettet er autonomt. Med det mener vi at vi ikke har gjort noen funksjonelle endringer internt i disse nettene. Vi utnytter derfor de interne rutemekanismene Sist oppdatert 6/1/00 12

i hvert nett i kombinasjon med internett rutemekanismene i ruterne, for transporten av internettpakker fra en avsender i et nett til en mottaker i et annet nett. Når en ruter transporterer en pakke fra et nett og over i et annet, vil det ofte være behov for å dele opp pakken. Dette kaller vi fragmentering, og er nødvendig når en ruter mottar fra et nett en pakke som er for stor for neste nett. Fragmentene må settes sammen til den opprinnelige pakken, kalt reassemblering, og kan utføres på to alternative steder. Valget av alternativ vil henge sammen med den kommunikasjons-modus som benyttes i det nettet hvor man må fragmentere. Benytter dette virtuelle linjer, er det mest effektivt å reassemblere i ruteren hvor pakken sendes over i neste nett. Benyttes datagram transport i subnettet, vil det være naturlig å reassemblere fragmentene i mottakermaskinen. Det er i prinsippet ingen begrensning i hva slags typer nett som kan inngå i internettet, men det største antallet er LAN av forskjellig typer. Langdistansenettene som inngår WAN (Wide Area Network) er stort sett rutere og faste høyhastighetslinjer (2 Mb/s og oppover). Vi finner ingen kommersielle nett a la Datapak som en del av selve internettet, men alle nettoperatører med respekt for seg selve tilbyr eller planlegger å tilby internett aksess. Dagens internett er stadig under utvikling, og er godt utbygd i USA, Europa og deler av Asia og Australia. UNINETT er ryggraden i den norske delen av internettet. UNINETT er tilkoplet NORDUNET, som har forgreninger til de andre nordiske land, til andre europeiske deler av internettet og til den amerikanske delen. Internettet drives ikke av en organisasjon, men de ulike delene eies og drives av ulike organisasjoner, som UNINETT, NORDUNET, etc.. Som en kuriositet kan det nevnes at Norge er det land i verden med det største antall internett brukere pr innbygger (1995). 4.0 Generelle konsepter 4.1 To-deling av kommunikasjonssystemet Vi vender tilbake til filoverføringseksemplet fra Kapittel 2. Som vi har sett, er en slik tjeneste et eksempel på en distribuert anvendelse. Hovedbestanddelene er en klient-prosess med en bruker tilkoplet og en tjener-prosess, hver med tilgang til sitt filsystem og til kommunikasjonsmekanismene. Disse prosessene er skraverte i figuren på neste side. Klient-prosessen er alltid den som på vegne av brukeren tar initiativet til å opprette forbindelsen mellom de to prosessene, i figuren kalt en kommunikasjonskanal, og stiller samtidig kravet til overføringskvaliteten - også kalt tjenestekvalitet (Quality of Service). Kan dette kravet imøtekommes av kommunikasjonssystemet, vil kanalen bli opprettet. I figuren har vi antydet at overføringsnettet er et maskenett, men dette er irrelevant såsant kravet til overføringskvalitet blir oppfyllt. I forbindelse med de betraktninger vi kommer til å gjøre, er det hensiktsmessig å splitte det totale systemet i to hoveddeler: de løst koplede prosesser som samarbeider via overføringssystemet, og som derved yter et gitt sett av tjenester til brukeren. Sist oppdatert 6/1/00 13

et overføringssystem eller kommunikasjonskanal. Kommunikasjonskanalen må oppfylle de krav applikasjonsprosessene stiller.. Klient Distribuert applikasjon Tjener Bruker Vert A Overføringsnett (Transportnett) Vert B Kommunikasjonskanal Vi vil i dette kapitlet se litt nærmere på de tre elementene som inngår, nemlig de løst koplede samarbeidende prosessene, overføringskvalitet og overføringstjenesten. 4.2 Distribuerte samarbeidende prosesser. Vi sier at de samarbeidende prosesser er løst koplet til hverandre, og mener med dette at det i utgangspunktet ikke er noen streng tidsmessig synkronisering og koordinering mellom aktivitene som foregår i de to prosessene. Grunnene er blant annet at: prosessene lever i maskiner med ulike operativsystemer. kommunikasjonen mellom prosessene foregår asynkront gjennom nett/internett med (svært) variabel kvalitet og forsinkelse. For at prosesser skal kunne samarbeide, må de ha en felles oppfatning av hva de skal samarbeide om. Denne felles oppfatningen kaller vi samtale-universet, se figuren på neste side. Noe forenklet kan vi si at vi modellerer samtaleuniverset som et sett med datastrukturer (informasjonsmodellen) og et sett med operasjoner som kan utføres på disse strukturene. Datastrukturene representeres lokalt i hver prosess. Den lokale representasjonen kan variere, og vil avhenge av hvilken hardware prosessen befinner seg i og hvilket operativsystem og implementasjonsspråk som benyttes. Operasjonene med tilhørende parametere vil i grove trekk være det som overføres mellom prosessene. To eksempler på samtaleunivers er gitt i kapittel 6. Sist oppdatert 6/1/00 14

Samtaleuniverset (Abstrakt kontekst) Prosess A Lokal represent. Datastrukturer & Operasjoner Lokal represent. Prosess B Abstrakt syntaks (operasjoner med parametere) Konkret syntaks (Overføringssyntaks) Maskin A Reell kommunikasjon Maskin B Komm. nett Applikasjons-konteksten vil være hele eller et subsett av det totale samtaleunivers, og representerer alle eller deler av det totale antall oppgaver det samarbeides om, og som grupperes fordi de naturlig hører sammen. En spesifikk applikasjons-kontekst må ha en unik identifikator som applikasjonsprosessene kan referere til. Når to applikasjonsprosesser etablerer en forbindelse, er enten applikasjonskonteksten gitt implisitt, eller den må avtales/forhandles som en del av etableringsprosedyren. Konkret overførings-syntaks er en standardisert representasjon av den informasjonen som overføres mellom samarbeidende prosesser og som begge sider må oppfatte på samme måte. Lokalt kan hver prosess benytte sin lokale syntaks, men som må transformeres over i den standardiserte syntaks før informasjonen sendes. I prinsippet bør det kunne forhandles om hvilken overførings-syntaks som skal benyttes, men pr i dag er den fast og implisitt gitt av den kommunikasjonsstandard som benyttes. For å frita applikasjonsutvikleren fra bryet med å transformere den lokale syntaks over i den standardiserte overføringssyntaks, kan denne funksjonaliteten bygges inn i kommunikasjonshierarkiet. Denne transformeringen blir da usynlig (transparent) sett fra applikasjonssiden. Interaksjonen mellom samarbeidende prosesser må synkroniseres og koordineres, for at resultatet skal bli entydig og veldefinert i lys av kommunikasjonsfeil, systemkrasj og forsøk på samtidig tilgang til de samme data (for eksempel i forbindelse med database transaksjoner). Sist oppdatert 6/1/00 15

4.3 Tjenestekvalitet For at samarbeidet skal bli meningsfylt, må overføringssystemet tilfredstille de samarbeidende prosesser s behov, det vil si teletjenestenes behov. Dette behovet vil variere fra tjeneste til tjeneste. Behovene kan parametriseres som et sett av tjenestekrav eller Quality-of-Service (QoS) krav, som for eksempel: en gitt kapasitet i bit/sek på overføringen mellom de distribuerte prosessene (bandwidth) en akseptabel forsinkelse for informasjonsoverføringen mellom de samarbeidende prosesser (latency) en akseptabel spredning i forsinkelsen (jitter) en gitt minimum størrelse på datasegmentene (pakkestørrelsen) som overføres (maximum transfer unit) et gitt krav til pålitelighet Eksempler på krav: Tjeneste båndbr. pålitelighet forsinkelse spredning tale;dupleks 64 kb/s mindre kort liten tale; kringkasting 64 kb/s mindre irrelevant liten video (kingkasting) 50 Mb/s mindre irrelevant liten konferanse-video 50 Mb/s mindre kort liten faksimile 9.6 kb/s mindre irrelevant liten Tradisjonelt sett representerer disse tjenestene de såkalte teletjenestene, og krever synkron overføring. Tjeneste båndbr. pålitelighet forsinkelse spredning interaktiv terminal 9.6 kb/s stor kort stor filoverføring 100kb/s stor irrelevant irrelevant el.post irrelevant stor irrelevant irrelevant Tradisjonelt sett representerer disse tjenestene de såkalte datatjenester, og som kunne klare seg med asynkron overføring, det vil si pakke-svitsjing. Vi gjør oppmerksom på at kravene må ikke oppfattes som absolutte, men mer som en indikasjon. Med mindre under pålitelighet menes at tjenesten aksepterer kvaliteten til den rå overføringstjenesten til nettet (uten retransmitteringer). 4.4 Overføringstjenesten Følgende grunnleggende funksjoner må kollektivt være tilstede i nettet og i vertsmaskinene for at distribuerte prosesser skal kunne kommunisere med hverandre: Sist oppdatert 6/1/00 16

tilgang til overføringstjenestene. For at applikasjonsprosesser skal kunne samarbeide, må de ha tilgang til kommunikasjonsfunksjonalitet. Dette vil være i form av et sett kommunikasjonsprosedyrer, også kalt kommunikasjonsprimitiver. Samlingen av disse prosedyrene/primitivene kalles API (Application Programmers Interface). Socket - primitivene i UNIX er et godt eksempel på en API. Vi vil litt senere gi et eksempel på disse. bibehold av semantikk. Datamaskiner av ulike fabrikat, med ulike operativsystem og implementasjonsspråk, vil ha forskjellige måter å representere informasjon internt i hver maskin. Slike maskiner vil ikke uten videre kunne utveksle informasjon og derved samarbeide på en meningsfyllt måte. Vi må derfor sørge for at informasjonen overføres på en standardisert form, kalt konkret overføringssyntaks, og som både avsender og mottaker kan transformere til og fra. Som nevnt tidligere i dette kapitlet, kan vi legge denne funksjonaliteten inn i overføringstjenesten (kommunikasjonshierarkiet), for å frita applikasjonsutvikleren fra dette ansvaret. navning og adressering av maskiner og tjenester. For å kunne etablere en kommunikasjonstjeneste, må vi angi hvem vi ønsker å kommunisere med. For oss mennesker er det hendig å benytte navn på maskiner og tjenester. Dette assosierer vi letter noe med, enn å benytte en serie tall for å angi de fysiske/logiske maskinadressene i nettet Et eksempel kan være på sin plass her: ftp Baugi.ifi.uio.no; her mener vi at vi ønsker å benytte filoverføringstjenesten mellom den maskinen vi i øyeblikket er koplet opp til og maskinen med navn Baugi.ifi.uio.no. Maskinnavnet er på domeneform, det vil si maskinen Baugi ved Institutt for informatikk, som er en del av Universitetet i Oslo, og som ligger i Norge. Dette vil også si at maskinen har et globalt unikt navn. Før vi kan etablere kommunikasjonen, må vi konvertere fra navn til fullstendig adresse. Dette utfører vi ved oppslag i en katalogoppslag. Katalogoppslaget kan utføres lokalt på maskinen, eller via en såkalt navnetjener i nettet. Forutsetter vi bruk av internett kommunikasjonshierarkiet, vil Baugi.ifi.uio.no konverteres til en internett adresse spesifikk for Baugi, mens ftp-tjenesten implisitt krever bruk av TCP protokollen (p.g.a. kravet til pålitelighet) og transformeres over i en velkjent TCP-port. Nå har klientsystemet nok informasjon til å åpne en TCP forbindelse fra ftp-klienten til ftp-tjeneren på Baugi. ruting. Hvordan kommer man fra A til B, og på hvilket grunnlag velges ruten? Valg av rute vil som oftest være et resultat av en optimaliseringsprosess, for eksempel den ruten som gir minst forsinkelse, korteste geografiske veilengde eller størst mulig båndbredde. For et linjesvitsjet nett ( ISDN) eller virtuell-krets nett (X.25), velges den optimale ruten i det linjen eller den virtuelle kretsen etableres, og er deretter fast for all dataoverføring. For et forbindelsesfritt nett (datagram), velger nettet den optimale ruten individuelt for hver datapakke som overføres. krav til overføringskvalitet. Dette spesifiseres av den distribuerte applikasjonen (de samarbeidende applikasjonsprosesser), og angir kravet til kvaliteten i overføringen og er de forutsetninger den distribuerte applikasjonen bygger på. Elementer i kvalitetsbegrepet vil blant annet være: - pålitelighet påliteligheten i dataoverføringen er integralet av pålitelighetsbidraget fra fysisk, link, nett og transportlag. Hovedansvaret for påliteligheten er tillagt transportlaget. Dette medfører valg Sist oppdatert 6/1/00 17

av egnet transportprotokoll, og vil avhenge av kvaliteten på nett-tjenesten som transportlaget bygger på. Full pålitelighet medfører: - pålitelig oppkopling av forbindelser (tre-veis håndtrykk i TCP). - pålitelig overføring av data. Benytter sekvensering og feilhåndtering via ende-til-ende sjekksum. I tillegg glidende vindu for å oppnå best mulig effektivitet. - pålitelig nedkopling av forbindelser uten tap av datapakker, kalt hensynsfull nedkopling. Er nettlagets overføringstjeneste tilfredstillende, kan man klare seg med en enkel transport protokoll (UDP). - flytkontroll. Det er behov for å regulere dataflyten mellom maskiner i nettet; mellom to kommuniserende vertsmaskiner, mellom en vert og den noden den er tilkoplet, eller mellom noder, for å forhindre at en rask sender oversvømmer en langsom (belastet) mottaker. Til dette benyttes ulike former for flytkontroll, som vi kommer tilbake til på et senere tidspunkt. - metningskontroll. Flytkontrollmekanismer alene kan ikke hindre at deler av et nett går i midlertidig metning. Men flytkontroll kan redusere mulighetene for dette. Det må derfor bygges inn i nettet mekanismer som kan takle de ulike metningsfenomener som kan oppstå. Det vil si å motvirke metning der dette er mulig, eller når metting har oppstått, å komme ut av denne situasjonen på en effektiv måte. - båndbredde. Kravet til båndbredde kan påvirke rutevalget, men dette ser vi bort fra her. Vi antar at nettlaget, eventuelt linklaget, er i stand til å reservere ønsket båndbredde i nettet når ruten legges (virtuell-krets). - synkronisering. I kommunikasjonen mellom distribuerte prosesser vil det være ulike behov for synkronisering mellom de to sidene; på bit nivå, på byte nivå, på pakkenivå, og på applikasjons-nivå. 5.0 Referansemodellens rammeverk Referansemodellen for åpne systemer (OSI-modellen) ble utviklet av det internasjonale standardiseringsorganet ISO, vel 10 år etter at pakke-svitsjing var blitt en vel etablert teknologi. Referansemodellen befatter seg i første rekke med overføringssystemet. Kommunikasjon er et stort og komplekst felt. Ved å dele dette opp i mindre uavhengige deler, skaffer vi oss bedre oversikt og forståelse. Modellen har en lagdelt stuktur med syv lag. Disse er vist i figuren på neste side. Vi må her være klar over at dette i første rekke er en modell og en ledetråd for vår forståelse, og ikke en spesifikasjon av et kommunikasjonssystem som skal implementeres. De funksjoner og mekanismer som modellen identifiserer er generiske, og som vi finner igjen i ulike former i alle kommunikasjonssystem. En god forståelse av referansemodellens begreper, vil være til god hjelp når man skal sette seg inn i og forstå dagens og fremtidens kommunikasjonssystemer. Vi kommer litt senere med en oversikt over oppgavene til hvert lag. Sist oppdatert 6/1/00 18

Applikasjonslaget Presentasjonslaget Sesjonslaget Transportlaget Nettlaget Linklaget Fysisk lag Applikasjonsprosessen Applikasjonsprosessen Applikasjonslaget Presentasjonslaget Sesjonslaget Transportlaget Nettlaget Linklaget Fysisk lag Transmisjonsmedium Hvert lag bygger på tjenestene fra laget under. I denne sammenheng skal et lag oppfattes som det samlende sett av funksjoner som befinner seg på samme nivå i to eller flere samarbeidende maskiner. Et lag inneholder funksjoner som naturlig hører sammen. Vi innfører et nytt lag når vi har behov for et nytt abstraksjonsnivå og får derved en hierarkisk lagdeling. ISO (International Standards Organisation) har definert syv (10) lag, mens DARPA (US Defence Advanced Research Projects Agency) og XEROX benytter fire (fem) lag. Det er intet magisk eller absolutt ved antall lag. Tjenestene et lag tilbyr til laget over er tilgjengelige via et såkalt service aksess punkt - et i hver samarbeidende maskin. Vi skal i det følgende se nærmere på en del viktige begreper i referansemodellen. Tjenestetilbudet et vilkårlig lag (N) tilbyr til laget over, er summen av (N-1)-tjenestene laget (N) bygger på og den verdiøkning (N)-entiteten legger til gjennom samarbeidet med en eller flere (N)-entiteter i andre maskiner, se figuren på nedenfor. (N+1) (N)-grensesnitt (N)-PDU (N+1) (N)-SAP (N)-entitet (N)-entitet (N) (N-1)-grensesnitt Protokoll (N) (N-1)-SAP (N-1) (N-1) (Maskin A) (Maskin B) Sist oppdatert 6/1/00 19

En entitet er en identifiserbar program-modul og den aktive/utførende del av et lag i referansemodellen. En entitiet i denne sammenheng arbeider ikke alene, men samarbeider via utveksling av Protokoll Data Enheter (PDU) med en tilsvarende entitiet på samme nivå i en annen maskin (kommunikasjonspartneren). En (N) entitiet er ikke adresserbar i seg selv, men blir det via det Service Aksess Punktet (N-1)-SAP i laget under den er knyttet opp til. Det kan være flere entiteter på samme nivå i samme maskin, og de vil være knyttet opp til hver sin adresserbare (N-1)-SAP. Protokoller virker horisontalt i referansemodellen mens grensesnitt-tjenestene virker vertikalt. Entiteter på samme nivå samarbeider via utveksling av Protokoll Data Enheter (PDU). Entitetene og PDUene realiserer derfor protokollen på dette nivået. PDUen består av en PCI-del (Protocol Control Informastion) og en SDU-del (Service Data Enhet). PCIen er den informasjonen entitietene benytter for å kunne utføre protokollen og derved tilby tjenestene til laget over. Grensesnittet er et uttrykk for det sett av tjenester samarbeidende entiteter tilbyr til laget over gjennom sine Service Aksess Punkter (SAPer), og er konkretisert i et sett prosedyrer kalt primitiver. Det er viktig å merke seg at tjenestene som tilbys gjennom grensesnittet ikke sier noe om hvordan entiteten realiserer denne, det vil si at protokollen ikke er synlig gjennom grensesnittet. Et Service Aksess Punkt (SAP) kan tenkes som et virtuelt punkt (hull) på grensesnittet mellom to lag, (N+1) og (N), og er adresserbar (for eksempel sett fra en annen maskin). SAPen tilhører det nedre laget (N). Tjenestene (N) laget tilbyr er tilgjengelig via (N)-SAPen. En entitiet på det øvre nivå (N+1) er kun adresserbar via den (N)-SAPen den er assosiert med. Vi kan forestille oss SAP realiseret som en dupleks FI-FO kø, hvor entitietene på begge sider av grensesnittet skriver inn meldinger og leser meldinger fra. Dette medfører kopiering av PDUen ved overføring mellom to lag. Kopiering er tidkrevende, og bør i størst mulig grad unngås i høyhastighets kommunikasjon. En annen og mer effektiv metode er å plassere pakken i et buffer, og så utveksle pekeren til bufferet fra lag til lag. (N+1)-entitet Primitiv type N+1 N N-SAP Primitiv parametere N-SDU ((N+1)-PDU) Primitiv-melding Et Communications End Point (CEP) er en lokal referanse i tilknytning til en (N)-SAP for å kunne skille flere forbindelser som virtuelt termineres i (N)-SAPen. CEP er bare kjent av de lokale entitietene i de to lagene (N+1) og (N) på hver sin side av grensesnittet. En UNIX "socket" er et Sist oppdatert 6/1/00 20

eksempel på en CEP. En tjenesteprimitiv er standardisert semantisk, men ikke syntaktisk. Den kan derfor implementeres på forskjellige måter alt etter lokale behov. I vårt eksempel med en SAP realisert som en dupleks FI-FO kø struktur, tenker vi oss en primitiv som en melding som legges inn i kø-strukturen av en av entitetene mens den andre henter ut meldingen fra samme kø. I figuren på foregående side illustreres en request-primitiv. Denne vil inneholde tre elementer, en primitiv-type indikator, et sett med primitiv parametere som for eksempel avsender og mottaker adresser osv, og et datafelt som inneholder en Service Data Unit (SDU) for N-laget. Denne SDUen inneholder i virkeligheten PDUen på (N+1) nivået. Det er viktig å skille mellom en forbindelses-orientert overføring (virtuell linje i nett og endesystemene) og en forbindelses-orientert tjeneste. Tjenesten er det som tilbys i et grensesnitt og kan være forbindelsesorientert eller forbindelsesfri, men sier ikke noe om hvordan denne tjenesten realiseres av laget som tilbyr denne. En forbindelses-orientert tjeneste som tilbys av en (N)-entitet til (N+1) laget, kan enten bygge på en forbindelses-orientert eller en forbindelses-fri tjeneste fra (N-1) laget. (N)-entiteten blir relativt kompleks dersom (N-1) tjenesten er forbindelsesfri. Ulike dataenheter og deres sammenheng (se figuren nedenfor) (N+1)-PDU N + 1 N (N) - SAP (N)-SDU ICI (N) - Entity PCI PCI (N)-SDU (N)-PDU N - 1 ICI (N)-PDU (N - 1) - SAP ICI (N-1)-SDU Sammenhengen mellom viktige dataenheter 1. En (N+1)-PDU (Protocol Data Unit) blir en (N)-SDU (Service Data Unit) når den sendes ned gjennom (N)-SAPen (ved hjelp en en (N)-request), og er data-enheten (N)-laget utfører tjenester for. Sist oppdatert 6/1/00 21

2. (N)-entiteten mottar og prosesserer en (N)-request og produserer en (N)-PDU. Denne består av en (N)-PCI delen (Protocol Control Information) og en (N)-SDU lik (N+1)PDU. (N)-PCI delen er grunnlaget for samarbeidet mellom de to (N)-entitieter i hver sin kommuniserende maskin. 3. (N)-entiteten sender (N)-PDUen ned til (N-1)-laget via en (N-1)-SAP, ved hjelp av en (N- 1)-request, og kan addere til en (N-1)-ICI (Interface Controll Information) for overføring av ulike parametere til (N-1)-laget. ICI skrelles av i laget under før prosessering av (N- 1)-SDUen. ICI benyttes for parameteroverføring mellom to nabolag. Fragmentering og reassemblering. En (N)-entitets funksjon som på sendersiden deler opp en (N)-SDU i fragmenter (også kalt segmenter) og pakker hver inn i en egen (N)-PDU og sender disse i sekvens ned til laget under via dennes (N-1)-SAP. På mottakersiden reassembleres fragmentene til den opprinnelige (N)-SDU og presenteres som en enhet til laget over. (N)-SDUen er derfor å betrakte som en invariant i denne prosessen. Dette er en vanlig brukt funksjon på (inter)nett-nivå ved sammenkopling av nett hvor maksimum pakkestørrelse ikke er den samme i de to nett. Se figuren på denne siden. (N+1) - PDU (N+1) - PDU (N) - SAP (N) - SDU N-Entitet Segmentering (N) - SAP (N) - SDU N-Entitet Reassemblering (N) - PCI (N) - SDU 3 (N) - PCI (N) - SDU 1 (N) - PCI (N) - SDU 2 (N) - PCI (N) - SDU 2 (N) - PCI (N) - SDU 1 (N) - PCI (N) - SDU 3 (N - 1) - SAP (N - 1) - SAP Fragmentering og reassemblering Sist oppdatert 6/1/00 22

(N+1) - PDU (N+1) - PDU (N) - SAP (N) - Entitet (N) - SDU (N) - SDU (N) - SAP (N) - Entitet (N) - PCI 1 (N) - PDU 2 (N) - PCI 1 (N) - PDU 2 (N) - PDU 1 (N) - PDU 2 (N) - PDU 1 (N) - PDU 2 Konkatenering og separering Konkatenering og separering. En (N)-entitets funksjon som på sendersiden hekter sammen to eller flere (N)-PDUer og sender disse som en (N-1)-SDU gjennom (N-1)-SAPen. På mottakersiden separeres disse i (N)-entiteten til de opprinnelige (N)-PDUene før de prosseseres individuelt (tilnærmet samtidig). Benyttes blant annet i transport-laget for å sende en kvitterings-pdu sammen med en Data-PDU for å øke effektiviteten. Dette kalles piggy-backing. Dette er illustrert i figuren øvest på side 23. Multipleksing. En (N)-entitets funksjon som på sendersiden benytter en (N-1)-forbindelse for transport av informasjon fra to eller flere (N)-forbindelser, og som på mottakersiden demultiplekser eller splitter datastrømmen som mottas gjennom (N-1)-SAPen og sender disse opp gjennom sine respektive (N)-SAPer. Benyttes for å effektivisere bruken av båndbredden til (N-1)-forbindelsen. Er illustrert i figuren på neste side. Splitting. En (N)-entitets funksjon som på sendersiden splitter opp datastrømmen fra en (N+1)-entitet i n mindre strømmer og sender hver av disse over en separat (N-1)-forbindelse. På mottakersiden rekombineres de n ulike datastrømmene i en (N)-entitet og presenteres som en datastrøm til (N+1)-entiteten der. Dette er illustrert i figuren nederst på neste side, og er en måte for en vertsmaskin tilkoplet et virtuelt-linje nett å tilby større båndbredde enn kapasiteten til en virtuell linje. Sist oppdatert 6/1/00 23

Splitting/rekombinering Multipleksing/demultipleksing Tjenesteklassser. ISO definerer fire grunnprimitiver: request, indication, response og confirm, og definerer fire ulike tjenesteklasser ved ulike kombinasjoner av grunn-primitivene: 1) request indication 2) request indication confirm response confirm 3) 4) indication request indication indication Tjenesteklasser 1. Bekreftet med mulighet for forhandling. All fire primitiv-typer benyttes. 2. Bekreftet, men uten mulighet for forhandling. Request, indication og confirm. Bekreftelsen produseres av mottakende entitet i laget under, og er derfor usynlig sett fra tjenestesiden. 3. Ubekreftet. Request og indication, for forb.orient. dataoverføring og datagram. 4. Feil rapportering. En indication blir sendt ut til hver side. Sist oppdatert 6/1/00 24

For å illustrere bruken av primitivene, vender vi tilbake til filoverføringseksemplet på side 6. Vi antar at kommunikasjonen skjer langs en virtuell linje/kanal mellom klient- og tjenerprosessen, og vil her se nærnere på etableringen av overføringskanalen. Klient- og tjenerprosessene har tilgang til et sett CONNECT primitiver av klasse 1 i toppen av kommunikasjonshierarkiet. Klientprosessen ber kommunikasjonshierarkiet opprette en overføringskanal til Tjener-prosessen ved bruk av en CONNECT.request primitiv (CON.req). Prosesseringen av denne resulterer i at det blir skapt en CONNECT-REQUEST-PDU ( CR-PDU). Denne CR-PDUen borrer seg vei gjennom nettet (blir rutet) og legger opp trase en for overføringskanalen. Etter en tid har denne nådd frem til mottakermaskinen og til det øverste nivået her, blir så omformet til en CON.ind primitiv og sendt opp til Tjenerprosessen. Blir forsøket på etablering av kanalen akseptert av Tjener-prosessen, returnerer den et positivt svar på denne i form av en CONNECT.response primitiv (CON.resp). Denne resulterer i at det skapes en CONNECT-CONFIRM-PDU (CC-PDU) som følger den etablerte ruten tilbake til Klient-siden. Her omformes den til en CONNECT.confirm primitiv (CON.conf), som sendes opp til Klientprosessen som en bekreftelse på at overføringskanalen er etablert. Deretter kan dataoverføringen/dialogen starte, vanligvis ved bruk av tjenesteklasse 3; DATA.request og DATA.indication. Dersom datanettet er forbindelsesfritt (men kommunikasjonstjenesten er forbindelses-orientert), vil etableringsfasen bare sette opp en assosiasjon mellom de to service aksess punktene i hver ende uten å legge en fast rute gjennom nettet. CON.conf (4) Klient prosess Tjener prosess CON.req CON.ind CON.resp (1) (2) (3) SAP SAP Kommunikasjons hierarki Datanett Vi kan trekke følgende analogi mellom disse aksjonene og bruken av telefonen: CONNECT.request abonnent A løfter av røret og slår nummeret til abonnent B, CONNECT.indication det ringer hos abonnent B (vi tenker oss at det ringer også hos A), CONNECT.response abonnent B løfter av røret, CONNECT.confirm det stopper å ringe hos A og bekrefter at B har tatt av røret. Sist oppdatert 6/1/00 25