Kommunikationsprotokoll -
Communication protocol

Från Wikipedia, den fria encyklopedin

Ett kommunikationsprotokoll är ett regelsystem som tillåter två eller flera enheter i ett kommunikationssystem att överföra information via någon form av variation av en fysisk kvantitet . Protokollet definierar regler, syntax , semantik och synkronisering av kommunikation och möjliga felåterställningsmetoder . Protokoll kan implementeras med hårdvara , programvara eller en kombination av båda.

Kommunikationssystem använder väldefinierade format för utbyte av olika meddelanden. Varje meddelande har en exakt betydelse avsedd att framkalla ett svar från en rad möjliga svar som är förutbestämda för just den situationen. Det angivna beteendet är vanligtvis oberoende av hur det ska implementeras . Kommunikationsprotokoll måste avtalas av de inblandade parterna. För att nå en överenskommelse kan ett protokoll utvecklas till en teknisk standard . Ett programmeringsspråk beskriver detsamma för beräkningar, så det finns en nära analogi mellan protokoll och programmeringsspråk: protokoll är för kommunikation vad programmeringsspråk är för beräkningar . En alternativ formulering säger att protokoll är för att kommunicera vilka algoritmer som ska beräknas .

Flera protokoll beskriver ofta olika aspekter av en enda kommunikation. En grupp protokoll som är utformade för att fungera tillsammans kallas en protokollsvit; när de implementeras i programvara är de en protokollstack .

Internetkommunikationsprotokoll publiceras av Internet Engineering Task Force (IETF). Den IEEE (Institute of Electrical and Electronics Engineers) handtag trådbundna och trådlösa nätverk och International Organization for Standardization (ISO) hanterar andra typer. De ITU-T- handtag telekommunikationsprotokoll och format för publika telefonnätet (PSTN). När PSTN och Internet konvergerar drivs standarderna också mot konvergens.

Kommunicerar system

Historia

En av de första användningarna av termen protokoll i ett datakommutationssammanhang förekommer i en promemoria med titeln A Protocol for Use in the NPL Data Communications Network skriven av Roger Scantlebury och Keith Bartlett i april 1967.

ARPANET var startpunkten för värd-till-värd-kommunikation 1969 protokollet från 1822 , som definierade överföring av meddelanden till en IMP. Den Network Control Program för ARPANET infördes först 1970. NCP gränssnittet tillåten applikationsprogramvara för att ansluta över ARPANET genom att implementera högre nivå kommunikationsprotokoll, ett tidigt exempel på protokoll skiktning konceptet.

och Carl Sunshine i december 1974, fortfarande en monolitisk design vid denna tidpunkt.

Den internationella nätverksarbetsgruppen kom överens om en anslutningsfri datagramstandard som presenterades för CCIT 1975 men inte antogs av ITU eller av ARPANET. Internationell forskning, särskilt Rémi Després arbete , bidrog till utvecklingen av X.25- standarden, baserad på virtuella kretsar av ITU-T 1976. Datortillverkare utvecklade proprietära protokoll som IBM: s Systems Network Architecture (SNA), digital utrustning Corporation DECnet och Xerox Network Systems .

TCP -programvaran gjordes om som en modulär protokollstack. Ursprungligen kallad IP/TCP , det installerades på SATNET 1982 och på ARPANET i januari 1983. Utvecklingen av en komplett protokollsvit 1989, enligt beskrivningen i RFC  1122 och RFC  1123 , lade grunden för tillväxten av TCP /IP som en omfattande protokollsvit som kärnkomponenten i det framväxande Internet .

Internationellt arbete med en referensmodell för kommunikationsstandarder ledde till OSI -modellen , som publicerades 1984. Under en period i slutet av 1980 -talet och början av 1990 -talet blev ingenjörer, organisationer och nationer polariserade kring frågan om vilken standard , OSI -modellen eller Internet protokollpaket, skulle resultera i de bästa och mest robusta datanätverk.

Begrepp

Informationen som utbyts mellan enheter via ett nätverk eller andra medier styrs av regler och konventioner som kan anges i specifikationerna för kommunikationsprotokoll. Kommunikationens karaktär, den faktiska utbyte av data och eventuella tillståndsberoende beteenden definieras av dessa specifikationer. I digitala datorsystem kan reglerna uttryckas av algoritmer och datastrukturer . Protokoll är för kommunikation vad algoritmer eller programmeringsspråk är för beräkningar.

Operativsystem innehåller vanligtvis en uppsättning samarbetsprocesser som manipulerar delad data för att kommunicera med varandra. Denna kommunikation styrs av väl förstådda protokoll, som kan vara inbäddade i själva processkoden. Eftersom det inte finns något delat minne måste kommunikationssystem däremot kommunicera med varandra med hjälp av ett delat överföringsmedium . Överföring är inte nödvändigtvis tillförlitlig och enskilda system kan använda olika hårdvaror eller operativsystem.

För att implementera ett nätverksprotokoll har protokollprogramvarumodulerna ett gränssnitt med ett ramverk implementerat på maskinens operativsystem. Denna ram implementerar operativsystemets nätverksfunktion. När protokollalgoritmer uttrycks i ett bärbart programmeringsspråk kan protokollprogramvaran göras oberoende av operativsystemet . De mest kända ramarna är TCP/IP-modellen och OSI-modellen .

När Internet utvecklades hade abstraktionsskikt visat sig vara en framgångsrik designmetod för både kompilator- och operativsystemsdesign, och med tanke på likheterna mellan programmeringsspråk och kommunikationsprotokoll, sönderdelades de ursprungligen monolitiska nätverksprogrammen till samarbetsprotokoll. Detta gav upphov till konceptet med skiktade protokoll som numera utgör grunden för protokolldesign.

System använder vanligtvis inte ett enda protokoll för att hantera en överföring. Istället använder de en uppsättning samarbetsprotokoll, ibland kallade en protokollsvit . Några av de mest kända protokollsviterna är TCP/IP , IPX/SPX , X.25 , AX.25 och AppleTalk .

Protokollen kan ordnas utifrån funktionalitet i grupper, till exempel finns det en grupp transportprotokoll . Funktionerna kartläggs på lagren, varvid varje lager löser en distinkt klass av problem relaterade till till exempel applikations-, transport-, internet- och nätverksgränssnittsfunktioner. För att överföra ett meddelande måste ett protokoll väljas från varje lager. Valet av nästa protokoll åstadkoms genom att utöka meddelandet med en protokollväljare för varje lager.

Typer

Det finns två typer av kommunikationsprotokoll, baserade på deras representation av innehållet som transporteras: textbaserat och binärt.

Textbaserad

Ett textbaserat protokoll eller vanligt textprotokoll representerar dess innehåll i läsbart format , ofta i klartext.

Den omedelbara mänskliga läsbarheten står i kontrast till binära protokoll som har inneboende fördelar för användning i en datormiljö (till exempel enkel mekanisk analys och förbättrad bandbreddsanvändning ).

Olika nätverksapplikationer har olika metoder för inkapsling av data. En metod som är mycket vanlig med internetprotokoll är en textorienterad representation som överför förfrågningar och svar som rader med ASCII -text, avslutad med ett nytt radstecken (och vanligtvis ett vagnretur). Exempel på protokoll som använder vanlig, läsbar text för sina kommandon är FTP ( File Transfer Protocol ), SMTP ( Simple Mail Transfer Protocol ) och fingerprotokollet .

Textbaserade protokoll är vanligtvis optimerade för mänsklig analys och tolkning och är därför lämpliga närhelst mänsklig inspektion av protokollinnehåll krävs, till exempel under felsökning och under tidiga protokollutvecklingsdesignfaser.

Binär

Ett binärt protokoll använder alla värden för en byte , i motsats till ett textbaserat protokoll som endast använder värden som motsvarar mänskligt läsbara tecken i ASCII- kodning. Binära protokoll är avsedda att läsas av en maskin snarare än en människa. Binära protokoll har fördelen av terseness, vilket leder till överföringshastighet och tolkning.

Binärt har använts i de normativa dokument som beskriver moderna standarder som EbXML , HTTP/2 , HTTP/3 och EDOC . Ett gränssnitt i UML kan också betraktas som ett binärt protokoll.

Grundläggande krav

Att få data över ett nätverk är bara en del av problemet för ett protokoll. De mottagna uppgifterna måste utvärderas i samband med konversationens framsteg, så ett protokoll måste innehålla regler som beskriver sammanhanget. Denna typ av regler sägs uttrycka kommunikationens syntax . Andra regler avgör om uppgifterna är meningsfulla för det sammanhang i vilket utbytet sker. Denna typ av regler sägs uttrycka kommunikationens semantik .

Meddelanden skickas och tas emot på kommunikationssystem för att upprätta kommunikation. Protokoll bör därför specificera regler för överföringen. I allmänhet bör mycket av följande tas upp:

Dataformat för datautbyte
Digitala meddelandebitsträngar utbyts. Bitsträngarna är uppdelade i fält och varje fält innehåller information som är relevant för protokollet. Konceptuellt är bitsträngen uppdelad i två delar som kallas rubrik och nyttolast . Det faktiska meddelandet transporteras i nyttolasten. Rubrikområdet innehåller fälten som är relevanta för protokollets funktion. Bitstrings längre än den maximala överföringsenheten (MTU) är uppdelade i bitar av lämplig storlek.
Adressformat för datautbyte
Adresser används för att identifiera både avsändare och avsedda mottagare. Adresserna transporteras i rubrikområdet för bitsträngarna, så att mottagarna kan avgöra om bitsträngarna är av intresse och bör behandlas eller ignoreras. En anslutning mellan en avsändare och en mottagare kan identifieras med hjälp av ett adresspar (avsändaradress, mottagaradress) . Vanligtvis har vissa adressvärden speciella betydelser. En all- 1- adress kan antas att adressera alla stationer i nätverket, så sändning till denna adress skulle resultera i en sändning på det lokala nätverket. Reglerna som beskriver betydelsen av adressvärdet kallas kollektivt ett adresseringsschema .
Adresskartläggning
Ibland måste protokoll kartlägga adresser för ett schema på adresser till ett annat schema. Till exempel för att översätta en logisk IP -adress som anges av programmet till en Ethernet MAC -adress. Detta kallas adressmappning .
Routing
När system inte är direkt anslutna, måste mellanhands system längs rutten till den eller de avsedda mottagarna vidarebefordra meddelanden på avsändarens vägnar. På Internet är nätverken anslutna med routrar. Sammankopplingen av nätverk via routrar kallas internetbearbetning .
Upptäckt av överföringsfel
Felidentifiering är nödvändig i nätverk där datakorruption är möjlig. I en gemensam metod läggs en CRC för dataområdet till slutet av paket, vilket gör det möjligt för mottagaren att upptäcka skillnader orsakade av korruption. Mottagaren avvisar paketen om CRC -skillnader och ordnar på något sätt för vidarebefordran.
Kvitteringar
Bekräftelse på korrekt mottagning av paket krävs för anslutningsorienterad kommunikation . Kvitton skickas från mottagare tillbaka till sina respektive avsändare.
Förlust av information - timeout och försök igen
Paket kan gå förlorade i nätverket eller fördröjas under transporten. För att klara detta kan en avsändare under vissa protokoll förvänta sig ett kvitto på korrekt mottagning från mottagaren inom en viss tid. Således om timeout , kan avsändaren behöver sända informationen. Vid en permanent bruten länk har vidarebefordran ingen effekt så antalet återutsändningar är begränsade. Att överskrida gränsen för försök anses vara ett fel.
Informationsflödets riktning
Riktning måste adresseras om sändningar endast kan ske i en riktning åt gången som på halvduplexlänkar eller från en avsändare åt gången som på ett delat medium . Detta är känt som media access control . Arrangemang måste göras för att tillgodose fallet med kollisioner eller påståenden där två parter respektive sänder eller vill sända samtidigt.
Sekvensstyrning
Om långa bitsträngar delas upp i bitar och sedan skickas individuellt till nätverket kan bitarna gå vilse eller försenas eller, på vissa typer av nätverk, ta olika vägar till sin destination. Som ett resultat kan bitar komma ur sekvens. Återsändningar kan resultera i dubbletter. Genom att markera bitarna med sekvensinformation vid avsändaren kan mottagaren avgöra vad som förlorats eller kopierats, begära nödvändiga vidarebefordran och sätta ihop det ursprungliga meddelandet igen.
Flödeskontroll
Flödeskontroll behövs när avsändaren sänder snabbare än mottagaren eller mellanliggande nätverksutrustning kan behandla överföringarna. Flödeskontroll kan implementeras genom meddelanden från mottagare till avsändare.
Köa
Kommunicera processer eller statliga maskiner använder köer (eller "buffertar"), vanligtvis FIFO -köer, för att hantera meddelanden i den skickade ordern, och kan ibland ha flera köer med olika prioriteringar

Protokolldesign

Systemtekniska principer har tillämpats för att skapa en uppsättning vanliga principer för nätverksprotokoll. Utformningen av komplexa protokoll innebär ofta sönderdelning till enklare, samverkande protokoll. En sådan uppsättning samarbetsprotokoll kallas ibland en protokollfamilj eller en protokollsvit, inom en konceptuell ram.

Kommunikationssystem fungerar samtidigt. En viktig aspekt av samtidig programmering är synkronisering av programvara för mottagning och överföring av kommunikationsmeddelanden i rätt sekvensering. Samtidig programmering har traditionellt varit ett ämne i operativsystemteoretiska texter. Formell verifiering verkar oumbärlig eftersom samtidiga program är ökända för de dolda och sofistikerade buggar de innehåller. En matematisk metod för att studera samtidighet och kommunikation kallas för att kommunicera sekventiella processer (CSP). Samtidighet kan också modelleras med ändliga tillståndsmaskiner , till exempel Mealy- och Moore -maskiner . Mealy och Moore -maskiner används som designverktyg i digitala elektroniksystem i form av hårdvara som används inom telekommunikation eller elektroniska enheter i allmänhet.

Litteraturen presenterar många analogier mellan datorkommunikation och programmering. I analogi är en överföringsmekanism för ett protokoll jämförbar med en central processorenhet (CPU). Ramverket introducerar regler som tillåter programmeraren att utforma samarbetsprotokoll oberoende av varandra.

Skiktning

Figur 2. Protokoll i förhållande till Internet -skiktningssystemet.
Figur 2. TCP/IP -modellen eller Internet -lager -schemat och dess relation till några vanliga protokoll.

I modern protokolldesign lagras protokoll för att bilda en protokollstack. Layering är en designprincip som delar upp protokolldesignuppgiften i mindre steg, som var och en uppnår en specifik del, och interagerar med de andra delarna av protokollet endast på ett litet antal väldefinierade sätt. Layering gör att delar av ett protokoll kan utformas och testas utan en kombinatorisk explosion av fall, vilket håller varje design relativt enkel.

Kommunikationsprotokollen som används på Internet är utformade för att fungera i olika och komplexa inställningar. Internetprotokoll är utformade för enkelhet och modularitet och passar in i en grov hierarki av funktionella lager som definieras i Internet Protocol Suite . De två första samarbetsprotokollen, Transmission Control Protocol (TCP) och Internet Protocol (IP) berodde på sönderdelningen av det ursprungliga Transmission Control Program, ett monolitiskt kommunikationsprotokoll, i denna skiktade kommunikationssvit.

Den OSI-modellen utvecklades internationellt baserat på erfarenhet med nätverk som föregick Internet som en referensmodell för allmän kommunikation med mycket striktare regler i protokoll interaktion och rigorös skiktning.

Typiskt är applikationsprogramvara byggt på ett robust datatransportskikt. Bakom detta transportlager finns en datagramleverans- och routingmekanism som vanligtvis är anslutningsfri på Internet. Paketöverföring över nätverk sker över ett annat lager som endast omfattar nätverkslänkstekniker, som ofta är specifika för vissa fysiska lagertekniker, till exempel Ethernet . Layering ger möjligheter att utbyta teknik när det behövs, till exempel staplas protokoll ofta i ett tunnelarrangemang för att rymma anslutningen av olika nätverk. Till exempel kan IP tunnlas över ett nätverk av Asynchronous Transfer Mode (ATM).

Protokollskiktning

Figur 3. Meddelandeflöden med hjälp av en protokollsvit.
Figur 3. Meddelandeflöden med hjälp av en protokollsvit. Svarta slingor visar själva meddelandeslingorna, röda slingor är den effektiva kommunikationen mellan lagren som aktiveras av de nedre lagren.

Protokollskiktning utgör grunden för protokolldesign. Det tillåter sönderdelning av enkla, komplexa protokoll till enklare, samverkande protokoll. Protokollagren löser alla en distinkt klass av kommunikationsproblem. Tillsammans utgör lagren ett skiktschema eller en modell.

Beräkningar handlar om algoritmer och data; Kommunikation innebär protokoll och meddelanden; Så analog av ett dataflödesdiagram är någon form av meddelande flödesschema. För att visualisera protokollskikt och protokollsviter, visas ett diagram över meddelandet i och mellan två system, A och B, i figur 3. Systemen, A och B, använder båda samma protokollsvit. De vertikala flödena (och protokollen) är i systemet och de horisontella meddelandeflödena (och protokollen) är mellan systemen. Meddelandeflöden styrs av regler och dataformat som anges av protokoll. De blå linjerna markerar gränserna för de (horisontella) protokollskikten.

Programvaruskiktning

Figur 5: protokoll och mjukvaruskiktning
Figur 5: Protokoll och mjukvaruskiktning. Programvarumodulerna som implementerar protokollen representeras av kuber. Informationsflödet mellan modulerna representeras av pilar. De (översta två horisontella) röda pilarna är virtuella. De blå linjerna markerar lagergränserna.

Programvaran som stöder protokoll har en skiktad organisation och dess relation till protokollskikt visas i figur 5.

För att skicka ett meddelande på system A interagerar programvarumodulen i översta lagret med modulen direkt under den och överlämnar meddelandet som ska inkapslas. Den nedre modulen fyller i rubrikdata i enlighet med det protokoll som den implementerar och interagerar med den nedre modulen som skickar meddelandet över kommunikationskanalen till den nedre modulen i system B. På det mottagande systemet B sker det omvända, så slutligen sker meddelandet levereras i sin ursprungliga form till den översta modulen i system B.

Programöversättning är indelad i delproblem. Som ett resultat är översättningsprogramvaran också skiktad, så att mjukvarulagren kan utformas oberoende. Samma tillvägagångssätt kan ses i TCP/IP -skiktningen.

Modulerna under applikationsskiktet anses generellt vara en del av operativsystemet. Att skicka data mellan dessa moduler är mycket billigare än att skicka data mellan ett applikationsprogram och transportskiktet. Gränsen mellan applikationsskiktet och transportskiktet kallas operativsystemgränsen.

Strikt skiktning

Att strikt följa en skiktad modell, en metod som kallas strikt skiktning, är inte alltid det bästa sättet att nätverka. Strikt skiktning kan ha en negativ inverkan på genomförandet.

Även om användningen av protokollskikt idag är allestädes närvarande över datanätverk har det historiskt kritiserats av många forskare eftersom abstraktion av protokollstacken på detta sätt kan orsaka att ett högre lager duplicerar funktionaliteten hos ett lägre lager, ett utmärkt exempel är felåterställning på både per-länk- och end-to-end-basis.

Design mönster

Vanligt återkommande problem vid utformning och implementering av kommunikationsprotokoll kan hanteras genom programvarudesignmönster .

Formell specifikation

Populära formella metoder för att beskriva kommunikationssyntax är Abstract Syntax Notation One (en ISO -standard) och förstärkt Backus – Naur -form (en IETF -standard).

Slutliga tillståndsmaskinmodeller används för att formellt beskriva protokollets möjliga interaktioner. och kommunicera finite-state-maskiner

Protokollutveckling

För att kommunikation ska ske måste protokoll väljas. Reglerna kan uttryckas av algoritmer och datastrukturer. Maskinvaru- och operativsystems oberoende förbättras genom att uttrycka algoritmerna i ett bärbart programmeringsspråk. Specifikationens källoberoende ger bredare driftskompatibilitet.

Protokollstandarder skapas vanligtvis genom att erhålla godkännande eller stöd från en standardorganisation , som initierar standardiseringsprocessen. Medlemmarna i standardorganisationen går med på att följa arbetsresultatet på frivillig basis. Medlemmarna har ofta kontroll över stora marknadsandelar som är relevanta för protokollet och i många fall tillämpas standarder genom lag eller regering eftersom de anses tjäna ett viktigt allmänt intresse, så att få godkännande kan vara mycket viktigt för protokollet.

Behovet av protokollstandarder

Behovet av protokollstandarder kan visas genom att titta på vad som hände med bi-sync protocol (BSC) som uppfanns av IBM . BSC är ett tidigt länknivåprotokoll som används för att ansluta två separata noder. Det var ursprungligen inte avsett att användas i ett multinode -nätverk, men det avslöjade flera brister i protokollet. I avsaknad av standardisering kände tillverkare och organisationer sig fria att förbättra protokollet och skapa inkompatibla versioner på sina nätverk. I vissa fall gjordes detta medvetet för att avskräcka användare från att använda utrustning från andra tillverkare. Det finns mer än 50 varianter av det ursprungliga bi-sync-protokollet. Man kan anta att en standard skulle ha förhindrat åtminstone en del av detta från att hända.

I vissa fall får protokoll marknadsdominans utan att gå igenom en standardiseringsprocess. Sådana protokoll kallas de facto -standarder . De facto -standarder är vanliga på tillväxtmarknader, nischmarknader eller marknader som är monopoliserade (eller oligopoliserade ). De kan hålla en marknad i ett mycket negativt grepp, särskilt när de används för att skrämma bort konkurrensen. Ur ett historiskt perspektiv bör standardisering ses som en åtgärd för att motverka de facto standarders dåliga effekter. Positiva undantag finns; ett de facto standardoperativsystem som Linux har inte detta negativa grepp på sin marknad, eftersom källorna publiceras och underhålls på ett öppet sätt, vilket inbjuder till konkurrens.

Standardorganisationer

Några av de standardorganisationer som är relevanta för kommunikationsprotokoll är International Organization for Standardization (ISO), International Telecommunication Union (ITU), Institute of Electrical and Electronics Engineers (IEEE) och Internet Engineering Task Force (IETF). IETF upprätthåller de protokoll som används på Internet. IEEE styr många program- och hårdvaruprotokoll inom elektronikindustrin för kommersiella och konsumentenheter. ITU är en paraplyorganisation för telekommunikationsingenjörer utforma den publika telefonnätet (PSTN), liksom många radio kommunikationssystem. För marinelektronik för NMEA standarder används. Den World Wide Web Consortium (W3C) producerar protokoll och standarder för webbteknologier.

Internationella standardorganisationer lär vara mer opartiska än lokala organisationer med ett nationellt eller kommersiellt eget intresse att tänka på. Standardorganisationer gör också forskning och utveckling för framtidens standarder. I praktiken samarbetar de nämnda standardorganisationerna nära med varandra.

Standardiseringsprocessen

.

Förslaget till förslag diskuteras av medlemsländernas standardorgan och andra organisationer inom varje land. Kommentarer och förslag sammanställs och nationella synpunkter kommer att formuleras innan medlemmarna i ISO röstar om förslaget. Om förslaget förkastas måste förslaget beakta invändningarna och motförslagen för att skapa ett nytt förslag till ytterligare omröstning. Efter mycket feedback, ändringar och kompromisser når förslaget status som ett utkast till internationell standard , och slutligen till en internationell standard .

Processen tar normalt flera år att slutföra. Det ursprungliga pappersutkastet som designern skapade kommer att skilja sig väsentligt från standarden och kommer att innehålla några av följande "funktioner":

  • Olika valfria arbetssätt, till exempel för att möjliggöra inställning av olika paketstorlekar vid starttiden, eftersom parterna inte kunde nå enighet om den optimala paketstorleken.
  • Parametrar som lämnas odefinierade eller får anta värden för en definierad uppsättning efter implementatorns gottfinnande. Detta speglar ofta motstridiga åsikter hos några av medlemmarna.
  • Parametrar reserverade för framtida användning, vilket återspeglar att medlemmarna kom överens om att anläggningen skulle tillhandahållas, men kunde inte nå enighet om hur detta skulle göras inom ledig tid.
  • Olika inkonsekvenser och oklarheter kommer oundvikligen att hittas vid implementering av standarden.

Internationella standarder utfärdas regelbundet för att hantera bristerna och återspegla förändrade synpunkter på ämnet.

OSI -standardisering

(RM/OSI), som används som ram för utformning av standardprotokoll och tjänster som överensstämmer med de olika lagerspecifikationerna.

I OSI -modellen antas kommunikationssystem vara anslutna med ett underliggande fysiskt medium som tillhandahåller en grundläggande (och ospecificerad) överföringsmekanism. Skikten ovanför det är numrerade (från ett till sju); det n: e skiktet kallas (n) -skikt. Varje lager tillhandahåller service till lagret ovanför det (eller högst upp i ansökningsprocessen) med hjälp av lagrets tjänster omedelbart under det. Skikten kommunicerar med varandra med hjälp av ett gränssnitt, kallat en tjänståtkomstpunkt . Motsvarande lager vid varje system kallas peer -enheter . För att kommunicera använder två peer-enheter på ett visst lager ett (n) -protokoll, som implementeras med hjälp av (n-1) -lagrets tjänster. När system inte är direkt anslutna används mellanliggande peer -enheter (kallade reläer ). En adress identifierar en tjänståtkomstpunkt på ett unikt sätt. Adressnamnsdomänerna behöver inte begränsas till ett lager, så det är möjligt att använda bara en namngivningsdomän för alla lager. För varje lager finns det två typer av standarder: protokollstandarder som definierar hur peer -enheter på ett visst lager kommunicerar och servicestandarder som definierar hur ett visst lager kommunicerar med lagret ovanför det.

I den ursprungliga versionen av RM/OSI är lagren och deras funktionalitet (från högsta till lägsta lagret):

  • Det applikationsskiktet kan erbjuda följande tjänster till applikationsprocesser: identifiering av de avsedda kommunikationspartner, etablering av den nödvändiga myndighet kommunicera, bestämning av tillgänglighet och autentisering av parterna, överenskommelse om integritet mekanismer för kommunikationen, avtalet om ansvar för fel återställning och procedurer för att säkerställa dataintegritet, synkronisering mellan samarbetsvilliga applikationsprocesser, identifiering av eventuella begränsningar för syntax (t.ex. teckenuppsättningar och datastrukturer), bestämning av kostnad och acceptabel tjänstkvalitet, val av dialogdisciplin, inklusive nödvändig inloggning och avloggningsprocedurer .
  • Det presentationslagret kan erbjuda följande tjänster till applikationslagret: en begäran om att upprätta en session, dataöverföring, förhandlingar om syntaxen som ska användas mellan applikationslager, nödvändiga syntax transformationer, formatering och speciella transformationer ändamål (t.ex. data komprimering och datakryptering).
  • Det sessionsskiktet kan erbjuda följande tjänster till presentationslagret: etablering och frisättning av sessionsanslutningar, normal och påskyndad datautbyte, en karantän tjänst som gör det möjligt att skicka presentationsenhet för att instruera sessions mottagande enheten inte släppa data till sin presentation enhet utan tillstånd, interaktionshantering så att presentationsenheter kan styra vems tur det är att utföra vissa kontrollfunktioner, resynkronisering av en sessionsanslutning, rapportering av oåterkalleliga undantag till presentationsenheten.
  • Det Transportskiktet tillhandahåller överföring tillförlitlig och transparent data i ett kostnadseffektivt sätt i enlighet med den valda servicekvalitet. Det kan stödja multiplexering av flera transportanslutningar till en nätverksanslutning eller dela en transportanslutning i flera nätverksanslutningar.
  • Den nätverksskiktet gör installation, underhåll och frisättning av nätverksvägar mellan transport peer-enheter. När reläer behövs tillhandahålls routing och reläfunktioner av detta lager. Tjänstekvaliteten förhandlas fram mellan nät- och transportenheter vid tidpunkten för anslutningen. Detta lager är också ansvarigt för nätverkskontroll .
  • Den datalänkskiktet gör installation, underhåll och frisättning av datalänkförbindelser. Fel som uppstår i det fysiska lagret upptäcks och kan korrigeras. Fel rapporteras till nätverkslagret. Utbytet av datalänk enheter (inklusive flödeskontroll) definieras av detta lager.
  • Det fysiska skiktet beskriver detaljer som de elektriska egenskaperna hos den fysiska anslutningen, överföringsteknikerna som används och installation, underhåll och rensning av fysiska anslutningar.

Till skillnad från TCP/IP-lagringsschemat , som förutsätter ett anslutningsfritt nätverk, antog RM/OSI ett anslutningsorienterat nätverk. Anslutningsorienterade nätverk är mer lämpade för breda nätverk och anslutningslösa nätverk är mer lämpliga för lokala nätverk. Att använda anslutningar för att kommunicera innebär någon form av session och (virtuella) kretsar, därav sessionskiktet (i TCP/IP -modellen saknas). De ingående medlemmarna i ISO sysselsatte sig främst med breda nätverk, så utveckling av RM/OSI koncentrerat på anslutningsorienterade nätverk och anslutningslösa nätverk nämndes bara i ett tillägg till RM/OSI. Vid den tiden fick IETF hantera detta och det faktum att Internet behövde protokoll som helt enkelt inte fanns. Som ett resultat utvecklade IETF sin egen standardiseringsprocess baserad på "grov konsensus och löpande kod".

Standardiseringsprocessen beskrivs av RFC2026 .

Numera har IETF blivit en standardorganisation för de protokoll som används på Internet. RM/OSI har utökat sin modell till att inkludera anslutningslösa tjänster och på grund av detta kan både TCP och IP utvecklas till internationella standarder.

Taxonomier

Klassificeringsscheman för protokoll fokuserar vanligtvis på användningsområdet och funktionen. Som ett exempel på användningsdomän används anslutningsorienterade protokoll och anslutningsfria protokoll på anslutningsorienterade nätverk respektive anslutningslösa nätverk. Ett exempel på funktion är ett tunnelprotokoll , som används för att inkapsla paket i ett protokoll på hög nivå så att paketen kan överföras över ett transportsystem med hjälp av protokollet på hög nivå.

Ett skiktschema kombinerar både funktion och användningsdomän. De dominerande skiktningssystemen är de som föreslås av IETF och av ISO. Trots det faktum att de underliggande antagandena för skiktningssystemen är tillräckligt olika för att motivera att man skiljer de två är det en vanlig praxis att jämföra de två genom att relatera gemensamma protokoll till skikten i de två scheman.

Layersystemet från IETF kallas Internet -lager eller TCP/IP -lager .

Skiktschemat från ISO kallas OSI -modellen eller ISO -skiktning .

I nätverksutrustningskonfiguration görs ofta en teknisk skillnad: Termen "protokoll" hänvisar strikt till transportskiktet och termen "tjänst" avser protokoll som använder ett "protokoll" för transport. I det vanliga fallet med TCP och UDP utmärks tjänsterna av portnummer. Överensstämmelse med dessa portnummer är frivillig, så i innehållskontrollsystem hänvisar termen "tjänst" strikt till portnummer, och termen "applikation" används ofta för att hänvisa till protokoll som identifierats genom inspektionssignaturer.

Se även

Anteckningar

Referenser

Bibliografi

Vidare läsning