OSI-nätverksmodellen (The Open Systems Interconnection - modellen ) är en nätverksmodell av stacken (lagret) av OSI/ISO-nätverksprotokoll. Genom denna modell kan olika nätverksenheter interagera med varandra. Modellen definierar olika nivåer av systeminteraktion. Varje nivå utför vissa funktioner i denna interaktion.
OSI-modellen utvecklades i slutet av 1970-talet [1] för att stödja en mängd olika datanätverkstekniker som då konkurrerade om användning i stora nationella nätverksinteraktioner i Frankrike, Storbritannien och USA. På 1980-talet blev det en arbetsprodukt från International Organization for Standardization (ISO) Open Systems Interoperability Group . Modellen misslyckades med att ge en fullständig beskrivning av nätverket och stöddes inte av arkitekter i början av Internet, som senare hittade sin väg till den mindre föreskrivande TCP/IP, till stor del ledd av Internet Engineering Task Force (IETF) .
I början och mitten av 1970-talet var nätverket till stor del antingen statligt sponsrat ( NPL-nätverk i Storbritannien, ARPANET i USA, CYCLADES i Frankrike) eller utvecklat av leverantörer som använder proprietära standarder som IBM Systems Network Architecture och Digital Equipment Corporation DECnet . Offentliga datanätverk hade precis börjat växa fram, och i slutet av 1970-talet använde de X.25 -standarden .
Ett experimentellt paketväxlingssystem i Storbritannien runt 1973-1975 avslöjade behovet av att definiera högre lagerprotokoll [2] . Efter publiceringen av UK National Computing Centre Why Distributed Computing är resultatet av en större studie av framtida datorsystemkonfigurationer [3] presenterade Storbritannien fallet för en International Standards Commission för att täcka detta område vid en internationell organisation för Standardiseringsmöte (ISO) i Sydney i mars 1977 [4] .
Sedan 1977 har ISO bedrivit ett program för att utveckla gemensamma standarder och metoder för nätverkande. En liknande process höll på att utvecklas i International Consultative Committee for Telegraphy and Telephony (CCITT). Båda organen har utvecklat dokument som definierar liknande nätverksmodeller. OSI-modellen definierades först i sin ursprungliga form i Washington i februari 1978 av fransmannen Hubert Zimmermann , ett något modifierat utkast till standard publicerades av ISO 1980 [4] .
Modellutvecklare var tvungna att möta konkurrerande prioriteringar och intressen. Hastigheten i den tekniska förändringen gjorde det nödvändigt att definiera standarder till vilka nya system kunde konvergera, snarare än att standardisera förfaranden i efterhand, medan det traditionella tillvägagångssättet för standardutveckling var det motsatta [5] . Även om det inte var en standard i sig, gav den ett ramverk från vilket framtida standarder kunde definieras [6] .
1983 slogs CCITT- och ISO-dokumenten samman och bildade därmed den grundläggande Open Systems Interconnection Reference Model, vanligen kallad Open Systems Interconnection Reference Model ( OSI ) eller helt enkelt OSI-modellen. Det sammanslagna dokumentet publicerades 1984 av både ISO som ISO 7498-standarden och den omdöpta CCITT (numera Telecommunication Standardization Sector of the International Telecommunication Union eller ITU-T) som X.200-standarden [7] .
OSI bestod av två huvudkomponenter: en abstrakt nätverksmodell som kallas basreferensmodellen eller sjulagersmodellen och en uppsättning nätverksprotokoll . Baserat på idén om en konsekvent protokolllagermodell som definierar interaktionen mellan nätverksenheter och programvara, var OSI-referensmodellen ett stort framsteg i standardiseringen av nätverkskoncept.
Konceptet med sjuskiktsmodellen beskrevs i amerikanen Charles Bachmans arbete från Honeywell Information Systems [8] . Olika aspekter av OSI-ramverket har utvecklats från erfarenhet av NPL, ARPANET, CYCLADES, EIN och International Networking Working Group ( IFIP WG6.1). I denna modell var nätverksinteraktionssystemet uppdelat i lager. Inom varje lager implementerade ett eller flera objekt dess funktionalitet. Varje entitet interagerade endast direkt med lagret direkt under det och tillhandahöll medlen för användning av lagret ovanför det.
OSI blev därmed ett försök från industrideltagare att komma överens om gemensamma nätverksstandarder för att säkerställa kompatibilitet med utrustning från olika tillverkare [9] . För stora nätverk stöddes ofta flera uppsättningar nätverksprotokoll, och många enheter kunde inte kommunicera med andra enheter just på grund av bristen på gemensamma protokoll.
I slutet av 1980-talet och början av 1990-talet, när det gäller att bygga de mest tillförlitliga datornätverken med OSI-modellen, började Internet Protocol Suite (TCP / IP) aktivt konkurrera , vilket började användas flitigt i nätverk med utrustning från olika tillverkare för arbetar på Internet [10 ] [11] . OSI-modellen används dock fortfarande som referens för undervisning och dokumentation [12] .
OSI-modellen, som definierades i ISO/IEC 7498-serien av standarder, består av följande delar:
ISO/IEC 7498-1 publiceras också som ITU-T Rec. X.200 [13] . Vissa protokollspecifikationer fanns också tillgängliga under ITU-T X-serien Motsvarande ISO- och ISO/IEC-standarder för OSI-modellen var tillgängliga från ISO. Inte alla av dem är gratis [14] .
Kommunikationsprotokoll tillåter en struktur på en värd att kommunicera med en motsvarande syskonstruktur på en annan värd.
Vid varje lager N utbyter två enheter dataenheter ( PDUs ) med användning av lagrets protokoll på sina respektive enheter. Varje PDU innehåller en Service Data Unit ( SDU ) associerad med ett övre eller undre protokoll.
Databehandling av två samverkande OSI-kompatibla enheter sker enligt följande:
Modell | |||||
---|---|---|---|---|---|
Nivå | Datatyp (PDU [15] ) | Funktioner | Exempel | Utrustning | |
värdskikt _ |
7. Ansökt (ansökan) | Data | Tillgång till onlinetjänster | HTTP , FTP , POP3 , SMTP , WebSocket | värdar (nätverksklienter), |
6. Presentation | Representation och kryptering av data | ASCII , EBCDIC , JPEG , MIDI | |||
5. Session (session) | Sessionshantering | RPC , PAP , L2TP , gRPC | |||
4. Transport (transport) | Segment
(segment) / Datagram (datagram) |
Direkt kommunikation mellan endpoints och tillförlitlighet | TCP , UDP , SCTP , portar | ||
Media [16] lager |
3. Nätverk (nätverk) | Paket _ | Ruttbestämning och logisk adressering | IPv4 , IPv6 , IPsec , AppleTalk , ICMP | Router , nätverksgateway , |
2. Kanal (datalänk) | Bits (bit)/ Frames (frame) |
Fysisk adressering | PPP , IEEE 802.22 , Ethernet , DSL , ARP , NIC . | Nätverksbrygga , Switch , | |
1. Fysisk (fysisk) | bitar _ | Arbeta med media, signaler och binär data | USB , RJ ("twisted pair", koaxial, fiberoptisk), radiokanal | koncentrator , |
I litteraturen är det vanligast att man börjar beskriva lagren i OSI-modellen från det 7:e lagret, kallat applikationslagret, där användarapplikationer kommer åt nätverket. OSI-modellen slutar med det första lagret - det fysiska, som definierar de standarder som krävs av oberoende tillverkare för dataöverföringsmedia:
Alla protokoll av OSI-modellen måste interagera antingen med protokoll för dess lager eller med protokoll ett över och/eller under dess lager. Interaktioner med protokoll på deras nivå kallas horisontella, och de med nivåer en högre eller lägre kallas vertikala. Alla protokoll i OSI-modellen kan bara utföra funktionerna i dess lager och kan inte utföra funktionerna för ett annat lager, vilket inte utförs i protokollen för alternativa modeller.
Varje nivå, med en viss grad av villkorlighet, har sin egen operand - ett logiskt odelbart dataelement som kan drivas på en separat nivå inom ramen för modellen och de protokoll som används: på den fysiska nivån är den minsta enheten lite på datalänknivån kombineras information till ramar, på nätverksnivå - till paket (datagram), på transporten - till segment. Varje del av data som logiskt kombineras för överföring - en ram, ett paket, ett datagram - betraktas som ett meddelande. Det är meddelanden i allmän form som är operander av sessions-, presentations- och tillämpningsnivåer.
De underliggande nätverksteknikerna inkluderar de fysiska lagren och länklagren.
ApplikationslagerApplikationslager (applikationslager; engelska applikationslager ) - den översta nivån av modellen, som säkerställer interaktionen mellan användarapplikationer och nätverket:
Applikationslagerprotokoll: RDP , HTTP , SMTP , SNMP , POP3 , FTP , XMPP , OSCAR , Modbus , SIP , TELNET och andra.
Definitionerna av protokollet för applikationslagret och presentationslagret är mycket vaga, och om ett protokoll tillhör ett eller annat lager, till exempel HTTPS-protokollet, beror på den slutliga tjänsten som applikationen tillhandahåller.
I händelse av att ett protokoll, såsom HTTPS, används för att visa någon enkel webbsida via en webbläsare, kan det betraktas som ett applikationslagerprotokoll. I samma fall, om HTTPS-protokollet används som ett lågnivåprotokoll för överföring av finansiell information, till exempel med ISO 8583-protokollet, kommer HTTPS-protokollet att vara ett presentationslagerprotokoll och ISO 8583-protokollet kommer att vara ett applikationslagerprotokoll. Detsamma gäller för andra applikationslagerprotokoll. .
PresentationslagerPresentationsskiktet tillhandahåller protokollkonvertering och datakodning/avkodning . Applikationsförfrågningar som tas emot från sessionslagret konverteras vid presentationslagret till ett format för överföring över nätverket, och data som tas emot från nätverket konverteras till ett applikationsformat. På den här nivån kan komprimering/dekomprimering eller kryptering/dekryptering utföras, samt omdirigering av förfrågningar till en annan nätverksresurs om de inte kan bearbetas lokalt.
Presentationsskiktet är vanligtvis ett mellanprotokoll för att transformera information från angränsande skikt. Detta möjliggör kommunikation mellan applikationer på olika datorsystem på ett sätt som är transparent för applikationerna. Presentationsskiktet tillhandahåller formatering och transformation av koden. Kodformatering används för att säkerställa att applikationen får information för bearbetning som är meningsfull för den. Om det behövs kan detta lager översättas från ett dataformat till ett annat.
Presentationsskiktet handlar inte bara om format och presentation av data, det handlar också om de datastrukturer som används av program. Sålunda tillhandahåller skikt 6 organisering av data under dess överföring.
För att förstå hur detta fungerar, föreställ dig att det finns två system. Den ena använder EBCDIC Extended Binary Information Interchange Code , såsom IBM stordator , för att representera data , och den andra använder den amerikanska standarden ASCII Information Interchange Code (används av de flesta andra datortillverkare). Om dessa två system behöver utbyta information, behövs ett presentationslager för att utföra transformationen och översätta mellan de två olika formaten.
En annan funktion som utförs på presentationsnivå är datakryptering, som används i de fall det är nödvändigt att skydda överförd information från åtkomst av obehöriga mottagare. För att utföra denna uppgift måste processerna och koden på vynivå utföra datatransformationer. På den här nivån finns det andra rutiner som komprimerar texter och omvandlar grafiska bilder till bitströmmar så att de kan överföras över nätverket.
Standarder på presentationsnivå definierar också hur grafik presenteras. För dessa ändamål kan PICT -formatet, ett bildformat som används för att överföra QuickDraw-grafik mellan program, användas.
Ett annat representationsformat är det taggade TIFF -bildfilformatet , som vanligtvis används för högupplösta bitmappsbilder . Nästa presentationslagerstandard som kan användas för grafik är den som utvecklats av Joint Photographic Expert Group; i dagligt bruk kallas denna standard helt enkelt för JPEG .
Det finns en annan grupp av standarder för presentationsnivå som definierar presentationen av ljud och filmer. Detta inkluderar Musical Instrument Digital Interface , MIDI , för digital representation av musik, utvecklat av Cinematography Expert Group, MPEG -standarden , som används för att komprimera och koda videor på CD-skivor, lagra dem i digitaliserad form och sända med hastigheter upp till 1 .5 Mbps och QuickTime är en standard som beskriver ljud- och videoelement för program som körs på Macintosh- och PowerPC-datorer.
Presentationsprotokoll : AFP - Apple Filing Protocol , ICA - Independent Computing Architecture , LPP - Lightweight Presentation Protocol, NCP - NetWare Core Protocol , NDR - Network Data Representation , XDR - eXternal Data Representation , X.25 PAD - Packet Assembler/Disassembler Protocol
SessionslagerSessionslagret ( engelska sessionslagret ) i modellen säkerställer att en kommunikationssession upprätthålls, vilket gör att applikationer kan interagera med varandra under lång tid. Lagret hanterar skapande/avslutande av sessioner, informationsutbyte, uppgiftssynkronisering, fastställande av rätten att överföra data och sessionsunderhåll under perioder av inaktivitet i applikationen.
Sessionslagerprotokoll: H.245 ( Call Control Protocol for Multimedia Communication ), ISO-SP (OSI Session Layer Protocol (X.225, ISO 8327)), iSNS ( Internet Storage Name Service ), L2F ( Layer 2 Forwarding Protocol ), L2TP ( Layer 2 Tunneling Protocol ), NetBIOS ( Network Basic Input Output System ), PAP ( Password Authentication Protocol ), PPTP ( Point-to-Point Tunneling Protocol ), RPC ( Remote Procedure Call Protocol ), RTCP ( Realtime Transport Control Protocol ), SMPP ( Short Message Peer-to-Peer ), SCP ( Session Control Protocol ), ZIP ( Zone Information Protocol ), SDP ( Sockets Direct Protocol )...
TransportlagerTransportskiktet ( engelska transportskiktet ) i modellen är utformat för att säkerställa tillförlitlig dataöverföring från avsändaren till mottagaren. Samtidigt kan tillförlitlighetsnivån variera över ett brett spektrum. Det finns många klasser av transportlagerprotokoll, allt från protokoll som endast tillhandahåller grundläggande transportfunktioner (till exempel dataöverföringsfunktioner utan bekräftelse), till protokoll som säkerställer att flera datapaket levereras till destinationen i rätt sekvens, multiplexa multipeldata strömmar, tillhandahåller dataflödeskontrollmekanism och garanterar giltigheten av mottagna data. Till exempel är UDP begränsad till dataintegritetskontroll inom ett enda datagram och utesluter inte möjligheten att förlora ett helt paket eller duplicera paket, vilket bryter mot ordningen i vilken datapaket tas emot; TCP tillhandahåller tillförlitlig kontinuerlig dataöverföring, exklusive dataförlust eller överträdelse av ordningen för deras ankomst eller duplicering, den kan omfördela data genom att bryta upp stora delar av data i fragment och vice versa, limma fragment i ett paket.
Transportlagerprotokoll: ATP ( AppleTalk Transaction Protocol ), CUDP ( Cyclic UDP ), DCCP ( Datagram Congestion Control Protocol ), FCP ( Fibre Channel Protocol ), IL ( IL Protocol ), NBF ( NetBIOS Frames-protokoll ), NCP ( NetWare Core Protocol ) ), SCTP ( Stream Control Transmission Protocol ), SPX ( Sequenced Packet Exchange ), SST ( Structured Stream Transport ), TCP ( Transmission Control Protocol ), UDP ( User Datagram Protocol ).
NätverkslagerNätverkslagret ( engelska nätverkslagret ) i modellen är utformat för att bestämma vägen för dataöverföring. Ansvarig för att översätta logiska adresser och namn till fysiska, bestämma de kortaste vägarna, byta och dirigera, spåra problem och "congestion" i nätverket.
Nätverkslagerprotokoll dirigerar data från en källa till en destination. Enheter som arbetar på denna nivå ( routrar ) kallas villkorligt enheter på den tredje nivån (enligt nivånumret i OSI-modellen).
Nätverkslagerprotokoll: IP/IPv4/IPv6 ( Internet Protocol ), IPX ( Internetwork Packet Exchange ), X.25 (delvis implementerad på lager 2), CLNP (anslutningslöst nätverksprotokoll), IPsec ( Internetprotokollsäkerhet ).
Routningsprotokoll - RIP ( Routing Information Protocol ), OSPF ( Open Shortest Path First ).
LänklagerLänklagret ( eng. datalänkslager ) är utformat för att säkerställa interaktion mellan nätverk på fysisk nivå och kontrollera fel som kan uppstå. Den packar data som tas emot från det fysiska lagret, representerade i bitar, i ramar , kontrollerar dem för integritet och, om nödvändigt, korrigerar fel (eller genererar en ny begäran om en skadad ram) och skickar den till nätverkslagret. Länklagret kan interagera med ett eller flera fysiska lager, kontrollera och hantera denna interaktion.
IEEE 802- specifikationen delar upp denna nivå i två undernivåer: MAC ( media access control ) reglerar åtkomst till ett delat fysiskt medium, LLC ( logical link control ) tillhandahåller nätverkslagertjänster .
Switchar , broar och andra enheter fungerar på denna nivå . Dessa enheter använder lager 2-adressering (efter lagernummer i OSI-modellen).
Link Layer Protocols: ARCnet , ATM , Controller Area Network (CAN), Econet , IEEE 802.3 ( Ethernet ), Ethernet Automatic Protection Switching (EAPS), Fiber Distributed Data Interface (FDDI), Frame Relay , High-Level Data Link Control (HDLC) ) ), IEEE 802.2 (tillhandahåller LLC-funktioner för IEEE 802 MAC-underlagret), Länkåtkomstprocedurer, D-kanal (LAPD), IEEE 802.11 trådlöst LAN , LocalTalk , Multiprotocol Label Switching (MPLS), Point-to-Point Protocol (PPP) , Point-to-Point Protocol over Ethernet (PPPoE), Serial Line Internet Protocol (SLIP, föråldrat), StarLan , Token ring , Unidirectional Link Detection (UDLD), x.25 , ARP .
Vid utveckling av protokollstackar löses problem med bruskorrigerande kodning på denna nivå. Dessa kodningsmetoder inkluderar Hamming-kod , blockkodning, Reed-Solomon-kod .
I programmering representerar denna nivå nätverkskortets drivrutin ; i operativsystem finns det ett mjukvarugränssnitt för interaktion mellan kanal- och nätverksnivåer med varandra. Detta är inte en ny nivå, utan bara en implementering av modellen för ett specifikt operativsystem. Exempel på sådana gränssnitt: ODI , NDIS , UDI .
Fysiskt lagerDet fysiska lagret ( engelska fysiska lagret ) är den lägre nivån av modellen, som bestämmer metoden för att överföra data som presenteras i binär form från en enhet (dator) till en annan. Olika organisationer är involverade i att sammanställa sådana metoder, inklusive: Institute of Electrical and Electronics Engineers , Electronic Industry Alliance , European Telecommunications Standards Institute och andra. De sänder elektriska eller optiska signaler till en kabel eller radioluft och tar därför emot dem och omvandlar dem till databitar i enlighet med metoderna för kodning av digitala signaler .
Hub , signalrepeater och mediaomvandlare fungerar också på denna nivå .
Fysiska lagerfunktioner implementeras på alla enheter som är anslutna till nätverket. På datorsidan utförs fysiska lagerfunktioner av en nätverksadapter eller en seriell port. Det fysiska lagret hänvisar till de fysiska, elektriska och mekaniska gränssnitten mellan två system. Det fysiska lagret definierar sådana typer av dataöverföringsmedia som fiber , tvinnat par , koaxialkabel , satellitdatalänk etc. Standardtyper av nätverksgränssnitt relaterade till det fysiska lagret är: V.35 , RS-232 , RS-485 , RJ -11 , RJ-45 , AUI och BNC-kontakter .
Vid utveckling av protokollstackar löses problem med synkronisering och linjär kodning på denna nivå. Dessa kodningsmetoder inkluderar NRZ -kod , RZ-kod , MLT-3 , PAM5 , Manchester II .
Fysiska skiktprotokoll: IEEE 802.15 (Bluetooth) , IRDA , EIA RS -232 , EIA-422 , EIA-423 , RS-449 , RS-485 , DSL , ISDN , SONET/SDH , 802.11 Wi-Fi , SM - slinga radiogränssnitt , ITU och ITU-T , TransferJet , ARINC 818 , G.hn / G.9960 , Modbus Plus .
Eftersom protokoll (till exempel TCP / IP) som utvecklats med hjälp av andra nätverksinteraktionsmodeller har blivit de mest populära och praktiskt använda, är det ytterligare nödvändigt att beskriva eventuell inkludering av individuella protokoll från andra modeller i olika lager av OSI-modellen.
TCP /IP- familjen har tre transportprotokoll: TCP, som är helt kompatibel med OSI och ger validering av datamottagning; UDP , som motsvarar transportlagret endast genom närvaron av en port, vilket säkerställer utbytet av datagram mellan applikationer, vilket inte garanterar mottagandet av data; och SCTP , som designades för att åtgärda några av bristerna med TCP och lägger till några nya funktioner. Det finns cirka tvåhundra fler protokoll i TCP/IP-familjen, varav det mest kända är ICMP -tjänstprotokollet , som används för interna behov för att säkerställa driften; resten är inte heller transportprotokoll.
I IPX/SPX- familjen visas portar i IPX-nätverkslagerprotokollet, vilket möjliggör utbyte av datagram mellan applikationer (operativsystemet reserverar en del av uttagen för sig själv). SPX-protokollet kompletterar i sin tur IPX med alla andra transportlagerfunktioner i full överensstämmelse med OSI.
För värdadressen använder ICX en identifierare som bildas av ett nätverksnummer på fyra byte (tilldelat av routrar ) och MAC-adressen för nätverksadaptern.
I slutet av 1990-talet kritiserades OSI-modellen med sju lager av enskilda författare. I synnerhet i boken "UNIX. System Administrator's Guide" Evi Nemeth skrev :
Medan ISO- kommittéerna bråkade om sina standarder, förändrades hela konceptet med nätverk bakom deras ryggar och TCP/IP- protokollet introducerades runt om i världen .
<…>
Och så, när ISO-protokollen äntligen implementerades, uppstod ett antal problem:
<…>
Nu erkänner även de ivrigaste anhängarna av dessa protokoll att OSI gradvis går mot att bli en liten fotnot på datorhistoriens sidor.
— Evie Nameth [17]Även om OSI-modellen fortfarande används som referens för undervisning och dokumentation [12] har de OSI-protokoll som ursprungligen utformades för denna modell inte vunnit popularitet. Vissa ingenjörer hävdar att OSI-referensmodellen fortfarande är relevant för cloud computing. Andra anser att den ursprungliga OSI-modellen inte matchar moderna nätverksprotokoll och föreslår istället ett förenklat tillvägagångssätt [18] .
ISO- standarder | |
---|---|
| |
1 till 9999 |
|
10 000 till 19999 |
|
20 000+ | |
Se även: Lista över artiklar vars titlar börjar med "ISO" |
TCP / IP-protokoll efter lager av OSI-modellen | Grundläggande|
---|---|
Fysisk | |
kanaliserad | |
nätverk | |
Transport | |
session | |
Representation | |
Applicerad | |
Annat ansökt | |
Lista över TCP- och UDP-portar |