Osi-model met 7 niveaus. Datalinklaag van het OSI-netwerkmodel

Het concept van “open systeem” en problemen van standaardisatie

De universele stelling over de voordelen van standaardisatie, geldig voor alle bedrijfstakken, krijgt een bijzondere betekenis in computernetwerken. De essentie van het netwerk is de verbinding van verschillende apparatuur, wat betekent dat het compatibiliteitsprobleem een ​​van de meest acute is. Zonder de adoptie door alle fabrikanten van algemeen aanvaarde regels voor het bouwen van apparatuur zou vooruitgang op het gebied van het ‘bouwen’ van netwerken onmogelijk zijn. Daarom wordt de hele ontwikkeling van de computerindustrie uiteindelijk weerspiegeld in standaarden; elke nieuwe technologie krijgt pas een “legale” status als de inhoud ervan is vastgelegd in de juiste standaard.

In computernetwerken is de ideologische basis van standaardisatie een benadering op meerdere niveaus voor de ontwikkeling van hulpmiddelen voor netwerkinteractie. Op basis van deze aanpak werd een standaard interactiemodel van open systemen met zeven niveaus ontwikkeld, dat een soort universele taal van netwerkspecialisten werd.

Multi-level aanpak. Protocol. Koppel. Protocolstapel

Het organiseren van interacties tussen apparaten op een netwerk is een complexe taak. Zoals u weet, wordt voor het oplossen van complexe problemen een universele techniek gebruikt: ontleding, dat wil zeggen het opsplitsen van een complex probleem in verschillende eenvoudigere taakmodules (Fig. 1.20). De decompositieprocedure omvat een duidelijke definitie van de functies van elke module die een afzonderlijk probleem oplost, en de interfaces daartussen. Als resultaat wordt een logische vereenvoudiging van de taak bereikt en bovendien wordt het mogelijk om individuele modules aan te passen zonder de rest van het systeem te veranderen.

Bij ontleding wordt vaak gebruik gemaakt van een aanpak op meerdere niveaus. Het is als volgt. Alle vele modules zijn onderverdeeld in niveaus. De niveaus vormen een hiërarchie, dat wil zeggen dat er bovenliggende en onderliggende niveaus zijn (Fig. 1.21). De reeks modules waaruit elk niveau bestaat, is zo gevormd dat ze, om hun taken uit te voeren, alleen verzoeken richten aan de modules van het direct aangrenzende onderliggende niveau. Aan de andere kant kunnen de resultaten van het werk van alle modules die tot een bepaald niveau behoren alleen worden overgedragen naar modules van het aangrenzende hogere niveau. Deze hiërarchische ontleding van het probleem vereist een duidelijke definitie van de functie van elk niveau en de raakvlakken tussen de niveaus. Een interface definieert een reeks functies die de onderliggende laag aan de bovenste laag levert. Als gevolg van de hiërarchische ontbinding wordt relatieve onafhankelijkheid van niveaus bereikt, en daarmee de mogelijkheid van gemakkelijke vervanging ervan.

In dit geval kunnen modules op een lager niveau bijvoorbeeld alle problemen oplossen die verband houden met de betrouwbare overdracht van elektrische signalen tussen twee aangrenzende knooppunten. Modules van een hoger niveau organiseren het transport van berichten binnen het gehele netwerk, met behulp van de middelen van het genoemde lagere niveau. En op het hoogste niveau zijn er modules die gebruikers toegang bieden tot verschillende diensten: bestanden, afdrukken, enz. Dit is natuurlijk slechts een van de vele mogelijke opties om de algemene taak van het organiseren van netwerkinteractie in privé-subtaken te verdelen.

Een benadering op meerdere niveaus voor de beschrijving en implementatie van systeemfuncties wordt niet alleen toegepast op netwerktools. Dit bedieningsmodel wordt bijvoorbeeld gebruikt in lokale bestandssystemen, wanneer een binnenkomend verzoek om toegang tot een bestand opeenvolgend wordt verwerkt door verschillende programmaniveaus (Fig. 1.22). Het verzoek wordt eerst geanalyseerd door het bovenste niveau, dat opeenvolgend de samengestelde symbolische bestandsnaam ontleedt en de unieke bestandsidentificatie bepaalt. Het volgende niveau vindt aan de hand van een unieke naam alle hoofdkenmerken van het bestand: adres, toegangsattributen, enz. Vervolgens worden op een lager niveau de toegangsrechten tot dit bestand gecontroleerd en vervolgens, na berekening van de coördinaten van het bestandsgebied dat de vereiste gegevens wordt fysieke uitwisseling uitgevoerd met een extern apparaat met behulp van het schijfstuurprogramma.

De weergave op meerdere niveaus van netwerkinteractiemiddelen heeft zijn eigen specifieke kenmerken vanwege het feit dat het berichtuitwisselingsproces met zich meebrengt twee machines, dat wil zeggen dat het in dit geval noodzakelijk is om het gecoördineerde werk van twee "hiërarchieën" te organiseren. Bij het verzenden van berichten moeten beide deelnemers aan een netwerkuitwisseling veel overeenkomsten accepteren. Ze moeten het bijvoorbeeld eens worden over de niveaus en de vorm van elektrische signalen, hoe de lengte van berichten moet worden bepaald, methoden voor het controleren van de betrouwbaarheid etc. worden afgesproken. Met andere woorden: er moeten afspraken worden gemaakt voor alle niveaus, beginnend bij het laagste: het bitoverdrachtsniveau - tot het hoogste, implementatie van een dienst voor netwerkgebruikers.

In afb. Figuur 1.23 toont een model van interactie tussen twee knooppunten. Aan elke kant worden de interactiemiddelen weergegeven door vier niveaus. De interactieprocedure tussen deze twee knooppunten kan worden omschreven als een reeks regels voor de interactie van elk paar overeenkomstige niveaus van beide betrokken partijen.

Geformaliseerde regels die de volgorde en het formaat bepalen van berichten die worden uitgewisseld tussen netwerkcomponenten die zich op hetzelfde niveau, maar in verschillende knooppunten bevinden, worden genoemd protocol.

Modules die protocollen van aangrenzende lagen implementeren en zich in hetzelfde knooppunt bevinden, communiceren ook met elkaar in overeenstemming met duidelijk gedefinieerde regels en met behulp van gestandaardiseerde berichtformaten. Deze regels worden meestal genoemd koppel. Een interface definieert een reeks services die een bepaalde laag levert aan de aangrenzende laag.

In wezen drukken een protocol en een interface hetzelfde concept uit, maar traditioneel hebben ze in netwerken verschillende werkingsgebieden toegewezen gekregen: protocollen definiëren de regels voor de interactie van modules van hetzelfde niveau in verschillende knooppunten, en interfaces definiëren de regels voor de interactie van modules van aangrenzende niveaus in hetzelfde knooppunt.

De tools van elk niveau moeten ten eerste werken met hun eigen protocol, en ten tweede met interfaces met aangrenzende niveaus.

Er wordt een hiërarchisch georganiseerde reeks protocollen genoemd die voldoende zijn om de interactie tussen knooppunten in een netwerk te organiseren stapel communicatieprotocollen.

Communicatieprotocollen kunnen zowel in software als hardware worden geïmplementeerd. Protocollen op een lager niveau worden vaak geïmplementeerd met behulp van een combinatie van software en hardware, terwijl protocollen op een hoger niveau doorgaans puur in software worden geïmplementeerd.

Een softwaremodule die een bepaald protocol implementeert, wordt kortheidshalve ook wel een ‘protocol’ genoemd. Bovendien is de relatie tussen een protocol – een formeel gedefinieerde procedure en een protocol – een softwaremodule die deze procedure implementeert, vergelijkbaar met de relatie tussen een algoritme voor het oplossen van een bepaald probleem en een programma dat dit probleem oplost.

Het is duidelijk dat hetzelfde algoritme met verschillende mate van efficiëntie kan worden geprogrammeerd. Op dezelfde manier kan een protocol verschillende software-implementaties hebben. Daarom moet men bij het vergelijken van protocollen niet alleen rekening houden met de logica van hun werking, maar ook met de kwaliteit van softwareoplossingen. Bovendien wordt de efficiëntie van de interactie tussen apparaten op een netwerk beïnvloed door de kwaliteit van de gehele reeks protocollen waaruit de stapel bestaat, in het bijzonder hoe rationeel functies worden verdeeld tussen protocollen van verschillende niveaus en hoe goed de interfaces ertussen zijn gedefinieerd. .

OSI-model

Het feit dat een protocol een overeenkomst is die wordt aangenomen door twee samenwerkende entiteiten, in dit geval twee computers die op een netwerk werken, betekent niet dat het noodzakelijkerwijs standaard is. Maar in de praktijk gebruiken ze bij het implementeren van netwerken vaak standaardprotocollen. Dit kunnen bedrijfseigen, nationale of internationale standaarden zijn.

Begin jaren 80 ontwikkelden een aantal internationale standaardisatieorganisaties - ISO, ITU-T en enkele anderen een model dat een belangrijke rol speelde in de ontwikkeling van netwerken. Dit model heet model van open systeeminteractie (Open Systeem Interconnectie, OSI) of OSI-model. Het OSI-model definieert verschillende lagen van systeeminteractie, geeft ze standaardnamen en specificeert welke functies elke laag moet uitvoeren. Het OSI-model is ontwikkeld op basis van de uitgebreide ervaring die is opgedaan bij het opzetten van computernetwerken, voornamelijk mondiale, in de jaren zeventig. Een volledige beschrijving van dit model beslaat meer dan 1000 pagina's tekst.

In het OSI-model (Fig. 1.25) zijn communicatiemiddelen onderverdeeld in zeven niveaus:

    Toegepast

    Vertegenwoordiger

    Sessie

    Vervoer

    Netwerk

    Kanaal

    Fysiek.

Elke laag behandelt één specifiek aspect van de interactie tussen netwerkapparaten.

Het OSI-model beschrijft alleen systeemcommunicatie die wordt geïmplementeerd door het besturingssysteem, systeemhulpprogramma's en systeemhardware. Het model omvat geen middelen voor interactie tussen eindgebruikersapplicaties. Applicaties implementeren hun eigen communicatieprotocollen door toegang te krijgen tot systeemtools. Daarom is het noodzakelijk om onderscheid te maken tussen de applicatie-interactielaag en de applicatielaag.

Houd er ook rekening mee dat de applicatie de functies van sommige van de bovenste lagen van het OSI-model kan overnemen. Sommige DBMS'en hebben bijvoorbeeld ingebouwde mogelijkheden voor externe bestandstoegang. In dit geval maakt de applicatie geen gebruik van de systeembestandsservice bij toegang tot externe bronnen: het omzeilt de bovenste lagen van het OSI-model en heeft rechtstreeks toegang tot de systeemtools die verantwoordelijk zijn voor het transporteren van berichten via het netwerk, die zich in de lagere lagen van het netwerk bevinden. OSI-model.

Laten we zeggen dat een applicatie een verzoek doet aan een applicatielaag, zoals een bestandsservice. Op basis van dit verzoek genereert de software op applicatieniveau een bericht in een standaardformaat. Een typisch bericht bestaat uit een header en een gegevensveld. De header bevat service-informatie die via het netwerk moet worden doorgegeven aan de applicatielaag van de bestemmingsmachine om deze te vertellen welk werk er moet worden gedaan. In ons geval moet de header uiteraard informatie bevatten over de locatie van het bestand en het type bewerking dat erop moet worden uitgevoerd. Het berichtgegevensveld kan leeg zijn of bepaalde gegevens bevatten, zoals gegevens die naar een extern bestand moeten worden geschreven. Maar om deze informatie op de plaats van bestemming te krijgen, moeten er nog veel taken worden opgelost, waarvoor de verantwoordelijkheid bij lagere niveaus ligt.

Nadat het bericht is gegenereerd, stuurt de applicatielaag het door de stapel naar de representatieve laag. Het representatieve laagprotocol voert, gebaseerd op de informatie ontvangen van de applicatielaagheader, de vereiste acties uit en voegt zijn eigen service-informatie toe aan het bericht: de representatieve laagheader, die instructies bevat voor het representatieve laagprotocol van de bestemmingsmachine. Het resulterende bericht wordt doorgegeven aan de sessielaag, die op zijn beurt de header toevoegt, enz. (Sommige protocolimplementaties plaatsen service-informatie niet alleen aan het begin van het bericht in de vorm van een header, maar ook aan het einde, in de vorm van een zogenaamde “trailer” -.) Ten slotte bereikt het bericht de lagere, fysieke laag, die het feitelijk langs communicatielijnen naar de ontvangende machine verzendt. Op dit punt is het bericht ‘overwoekerd’ met headers van alle niveaus (Fig. 1.26).

Wanneer een bericht via het netwerk op de bestemmingsmachine arriveert, wordt het ontvangen door de fysieke laag en gaat het opeenvolgend van laag naar laag omhoog. Elk niveau analyseert en verwerkt de header van zijn niveau, voert functies uit die overeenkomen met dit niveau, verwijdert vervolgens deze header en geeft het bericht door aan het hogere niveau.

Samen met de termijn bericht (bericht) Er zijn andere termen die door netwerkspecialisten worden gebruikt om gegevenseenheden in uitwisselingsprocedures aan te duiden. ISO-normen gebruiken een gemeenschappelijke naam om de gegevenseenheden aan te duiden waarmee protocollen op verschillende niveaus te maken hebben: protocolblok gegevens ( Protocol Gegevens Eenheid , PDU ). Om datablokken van bepaalde niveaus aan te duiden - Vaak worden speciale namen gebruikt: frame, pakket, datagram, segment.

Het OSI-model maakt onderscheid tussen twee hoofdtypen protocollen: de protocollen met verbindingsopbouw (verbinding- georiënteerd) Voordat ze gegevens uitwisselen, moeten de zender en de ontvanger eerst een verbinding tot stand brengen en eventueel enkele protocolparameters selecteren die ze zullen gebruiken bij het uitwisselen van gegevens. Na voltooiing van het gesprek moeten ze deze verbinding verbreken . De telefoon is een voorbeeld van interactie , op verbinding gebaseerd .

De tweede groep protocollen zijn protocollen zonder eerst een verbinding tot stand te brengen (verbindingsloos). Dergelijke protocollen worden ook wel genoemd datagram protocollen. De afzender verzendt het bericht eenvoudigweg wanneer het gereed is. Een brief in een brievenbus achterlaten is een voorbeeld van communicatie zonder eerst een verbinding tot stand te brengen. Wanneer computers communiceren, worden beide soorten protocollen gebruikt.

OSI-modellagen

Fysieke laag

De fysieke laag houdt zich bezig met de overdracht van bits via fysieke communicatiekanalen, zoals coaxkabel, twisted pair-kabel, glasvezelkabel of digitaal territoriaal circuit. Dit niveau houdt verband met de kenmerken van fysieke datatransmissiemedia, zoals bandbreedte, ruisimmuniteit, karakteristieke impedantie en andere. Op hetzelfde niveau worden de kenmerken van elektrische signalen die discrete informatie verzenden bepaald, bijvoorbeeld de steilheid van pulsflanken, spannings- of stroomniveaus van het verzonden signaal, het type codering en de signaaloverdrachtsnelheid. Bovendien zijn hier de soorten connectoren en het doel van elk contact gestandaardiseerd.

Fysieke laagfuncties worden geïmplementeerd in alle apparaten die op het netwerk zijn aangesloten. Aan de computerzijde worden de functies van de fysieke laag uitgevoerd door de netwerkadapter of seriële poort.

Een voorbeeld van een fysiek laagprotocol is de 1OBase-specificatie - Ethernet-technologie, die de gebruikte kabel definieert als een niet-afgeschermd getwist paar van categorie 3 met een karakteristieke impedantie van 100 ohm, een RJ-45-connector, een maximale fysieke segmentlengte van 100 meter, Manchester-code voor het weergeven van gegevens in de kabel, evenals enkele andere kenmerken van de omgeving en elektrische signalen.

Datalinklaag

De fysieke laag draagt ​​eenvoudigweg bits over. Hierbij wordt geen rekening gehouden met het feit dat in sommige netwerken waarin communicatielijnen afwisselend worden gebruikt (gedeeld) door verschillende paren samenwerkende computers, het fysieke transmissiemedium bezet kan zijn. Daarom is een van de taken van de Data Link-laag het controleren van de beschikbaarheid van het transmissiemedium. Een andere taak van de linklaag is het implementeren van foutdetectie- en correctiemechanismen. Om dit te doen, groepeert de linklaag bits in sets die we kaders (kaders). De linklaag zorgt ervoor dat elk frame correct wordt verzonden door een speciale reeks bits aan het begin en einde van elk frame te plaatsen om het te onderscheiden, en berekent ook een controlesom door alle bytes van het frame op een bepaalde manier te verwerken en een controlesom toe te voegen. naar het frame. Wanneer een frame via het netwerk arriveert, berekent de ontvanger opnieuw de controlesom van de ontvangen gegevens en vergelijkt het resultaat met de controlesom van het frame. Als ze overeenkomen, wordt het frame als correct beschouwd en geaccepteerd. Als de controlesommen niet overeenkomen, wordt er een fout geregistreerd. De linklaag kan niet alleen fouten detecteren, maar deze ook corrigeren door beschadigde frames opnieuw te verzenden. Opgemerkt moet worden dat de foutcorrectiefunctie niet verplicht is voor de datalinklaag, dus sommige protocollen op dit niveau hebben deze niet, bijvoorbeeld Ethernet en frame relay.

De linklaagprotocollen die in lokale netwerken worden gebruikt, bevatten een bepaalde structuur van verbindingen tussen computers en methoden om deze te adresseren. Hoewel de datalinklaag zorgt voor framelevering tussen twee willekeurige knooppunten op een lokaal netwerk, doet deze dit alleen in een netwerk met een zeer specifieke verbindingstopologie, precies de topologie waarvoor deze is ontworpen. Typische topologieën die worden ondersteund door LAN-linklaagprotocollen omvatten bus, ring en ster, evenals structuren die daarvan zijn afgeleid met behulp van bruggen en schakelaars. Voorbeelden van linklaagprotocollen zijn Ethernet, Token Ring, FDDI, lOOVG-AnyLAN.

In lokale netwerken worden linklaagprotocollen gebruikt door computers, bruggen, switches en routers. In computers worden linklaagfuncties geïmplementeerd door de gezamenlijke inspanningen van netwerkadapters en hun stuurprogramma's.

In wide area-netwerken, die zelden een reguliere topologie hebben, biedt de datalinklaag vaak alleen berichtenuitwisseling tussen twee aangrenzende computers die met elkaar zijn verbonden via een individuele link. Voorbeelden van point-to-point-protocollen (zoals dergelijke protocollen vaak worden genoemd) zijn de veelgebruikte PPP- en LAP-B-protocollen. In dergelijke gevallen worden netwerklaagfaciliteiten gebruikt om berichten tussen eindknooppunten over het hele netwerk af te leveren. Dit is hoe X.25-netwerken zijn georganiseerd. Soms is het in mondiale netwerken moeilijk om de functies van de linklaag in hun pure vorm te isoleren, omdat ze in hetzelfde protocol worden gecombineerd met netwerklaagfuncties. Voorbeelden van deze aanpak zijn ATM- en frame relay-technologieprotocollen.

Over het algemeen is de linklaag een zeer krachtige en complete set functies voor het verzenden van berichten tussen netwerkknooppunten. In sommige gevallen blijken linklaagprotocollen zelfvoorzienende transportvoertuigen te zijn en kunnen applicatielaagprotocollen of applicaties er direct bovenop werken, zonder tussenkomst van middelen van het netwerk en de transportlagen. Er is bijvoorbeeld een implementatie van het SNMP-netwerkbeheerprotocol rechtstreeks via Ethernet, hoewel dit protocol standaard bovenop het IP-netwerkprotocol en het UDP-transportprotocol draait. Uiteraard zal het gebruik van een dergelijke implementatie beperkt zijn - het is niet geschikt voor samengestelde netwerken van verschillende technologieën, bijvoorbeeld Ethernet en X.25, en zelfs voor een netwerk waarin Ethernet in alle segmenten wordt gebruikt, maar er zijn lus -vormige verbindingen tussen de segmenten. Maar in een Ethernet-netwerk dat uit twee segmenten bestaat, verbonden door een brug, zal de implementatie van SNMP over de datalinklaag behoorlijk werkbaar zijn.

Om het transport van berichten van hoge kwaliteit in netwerken van welke topologie en technologie dan ook te garanderen, zijn de functies van de linklaag echter niet voldoende. Daarom wordt in het OSI-model de oplossing voor dit probleem toegewezen aan de volgende twee lagen: netwerk en vervoer.

Netwerklaag

De netwerklaag dient om een ​​verenigd transportsysteem te vormen , het verenigen van verschillende netwerken, en deze netwerken kunnen totaal verschillende principes gebruiken voor het verzenden van berichten tussen eindknooppunten en een willekeurige verbindingsstructuur hebben. De functies van de netwerklaag zijn behoorlijk divers. Laten we ze eens bekijken aan de hand van het voorbeeld van het combineren van lokale netwerken.

Lokale netwerklinklaagprotocollen zorgen alleen voor gegevenslevering tussen alle knooppunten in een netwerk met de juiste standaardtopologie, bijvoorbeeld een hiërarchische stertopologie. Dit is een zeer strikte beperking die het bouwen van netwerken met een ontwikkelde structuur niet toestaat, bijvoorbeeld netwerken die verschillende bedrijfsnetwerken combineren tot één netwerk, of zeer betrouwbare netwerken waarin er redundante verbindingen tussen knooppunten zijn. Het zou mogelijk zijn om linklaagprotocollen complexer te maken om redundante verbindingen in een lus te ondersteunen, maar het principe van scheiding van verantwoordelijkheden tussen lagen leidt tot een andere oplossing. Om enerzijds de eenvoud van de gegevensoverdrachtprocedures voor standaardtopologieën te behouden, en anderzijds het gebruik van willekeurige topologieën mogelijk te maken, wordt een extra netwerklaag geïntroduceerd.

Op netwerkniveau de term zelf netto voorzien van een specifieke betekenis. In dit geval wordt een netwerk opgevat als een verzameling computers die met elkaar zijn verbonden in overeenstemming met een van de typische standaardtopologieën en die een van de linklaagprotocollen gebruiken die voor deze topologie zijn gedefinieerd om gegevens te verzenden.

Binnen het netwerk wordt de datalevering verzekerd door de juiste linklaag, maar de datalevering tussen netwerken wordt afgehandeld door de netwerklaag, die de mogelijkheid ondersteunt om de route voor berichtoverdracht correct te selecteren, zelfs als de structuur van verbindingen tussen de componentnetwerken een karakter heeft dat anders dan die welke wordt aangenomen in linklaagprotocollen.

Netwerken zijn met elkaar verbonden door speciale apparaten die routers worden genoemd. Router - Dit is een apparaat dat informatie verzamelt over de topologie van internetwerkverbindingen en op basis daarvan netwerklaagpakketten doorstuurt naar het bestemmingsnetwerk. Om een ​​bericht van een afzender op het ene netwerk naar een ontvanger op een ander netwerk te verzenden, moet u een bepaald aantal transittransmissies tussen netwerken, of hop (van hop - sprong), waarbij telkens de juiste route wordt gekozen. Een route is dus een reeks routers waar een pakket doorheen gaat.

In afb. Figuur 1.27 toont vier netwerken die zijn verbonden door drie routers. Er zijn twee routes tussen knooppunten A en B van dit netwerk: de eerste via routers 1 en 3, en de tweede via routers 1, 2 en 3.

Het probleem van het kiezen van het beste pad wordt genoemd routering, en de oplossing ervan is een van de hoofdtaken van het netwerkniveau. Dit probleem wordt gecompliceerd door het feit dat het kortste pad niet altijd het beste is. Vaak is het criterium voor het kiezen van een route de transmissietijd van gegevens langs deze route; het hangt af van de capaciteit van de communicatiekanalen en de intensiteit van de planning, die in de loop van de tijd kan veranderen. Sommige routeringsalgoritmen proberen zich aan te passen aan veranderingen in de belasting, terwijl andere beslissingen nemen op basis van langetermijngemiddelden. De route kan worden geselecteerd op basis van andere criteria, zoals de betrouwbaarheid van de transmissie.

Over het algemeen zijn de functies van de netwerklaag breder dan de functies van berichtoverdracht via verbindingen met een niet-standaardstructuur, die we nu hebben onderzocht aan de hand van het voorbeeld van het combineren van verschillende lokale netwerken. De netwerklaag lost ook de problemen op van het harmoniseren van verschillende technologieën, het vereenvoudigen van de adressering in grote netwerken en het creëren van betrouwbare en flexibele barrières tegen ongewenst verkeer tussen netwerken.

Netwerklaagberichten worden meestal aangeroepen pakketjes (pakketten). Bij het organiseren van pakketbezorging op netwerkniveau wordt het concept ‘netwerknummer’ gebruikt. In dit geval bestaat het adres van de ontvanger uit een groot deel (het netwerknummer) en een klein deel (het knooppuntnummer in dit netwerk). Alle knooppunten op hetzelfde netwerk moeten hetzelfde hoge deel van het adres hebben, dus de term 'netwerk' op netwerkniveau kan een andere, meer formele definitie krijgen: een netwerk is een verzameling knooppunten waarvan het netwerkadres hetzelfde netwerknummer bevat. .

Op de netwerklaag worden twee soorten protocollen gedefinieerd. Eerste soort - netwerkprotocollen (gerouteerde protocollen) - de promotie van pakketten via het netwerk implementeren. Dit zijn de protocollen die meestal worden bedoeld als mensen praten over netwerklaagprotocollen. Er is echter vaak een ander type protocol opgenomen in de netwerklaag, genaamd routeringsinformatie-uitwisselingsprotocollen of eenvoudigweg routeringsprotocollen (routering protocollen). Met behulp van deze protocollen verzamelen routers informatie over de topologie van internetwerkverbindingen. Netwerklaagprotocollen worden geïmplementeerd door softwaremodules van het besturingssysteem, evenals door software en hardware van routers.

Een ander type protocol werkt op de netwerklaag, die verantwoordelijk is voor het in kaart brengen van het hostadres dat op de netwerklaag wordt gebruikt, aan het lokale netwerkadres. Dergelijke protocollen worden vaak genoemd protocollen voor adresresolutie - Adresresolutieprotocol, ARP. Soms worden ze niet geclassificeerd als een netwerklaag, maar als een kanaallaag, hoewel de subtiliteiten van de classificatie hun essentie niet veranderen.

Voorbeelden van netwerklaagprotocollen zijn het TCP/IP-stack IP Internetwork Protocol en het Novell IPX-stack Internetwork Protocol.

Transport laag

Op weg van de afzender naar de ontvanger kunnen pakketten beschadigd raken of verloren gaan. Hoewel sommige applicaties hun eigen foutafhandeling hebben, zijn er andere die er de voorkeur aan geven meteen met een betrouwbare verbinding om te gaan. . De Transportlaag voorziet applicaties of bovenste lagen van de stapel – applicatie en sessie – van de overdracht van gegevens met de mate van betrouwbaarheid die zij vereisen. Het OSI-model definieert vijf serviceklassen die door de transportlaag worden geleverd. Dit soort diensten onderscheidt zich door de kwaliteit van de geleverde diensten: urgentie, het vermogen om onderbroken communicatie te herstellen , de aanwezigheid van middelen om meerdere verbindingen tussen verschillende applicatieprotocollen te multiplexen via een gemeenschappelijk transportprotocol, en het allerbelangrijkste, het vermogen om transmissiefouten, zoals vervorming, verlies en duplicatie van pakketten, te detecteren en te corrigeren.

De keuze van de serviceklasse van de transportlaag wordt enerzijds bepaald door de mate waarin het probleem van het garanderen van betrouwbaarheid wordt opgelost door de applicaties en protocollen van hogere niveaus dan die van de transportlaag, en anderzijds hangt deze keuze af van hoe betrouwbaar het datatransportsysteem is in het netwerk dat wordt geleverd door de lagen die zich onder het transport bevinden: netwerk, kanaal en fysiek. Dus als de kwaliteit van de communicatiekanalen bijvoorbeeld erg hoog is en de kans op fouten die niet worden gedetecteerd door protocollen op een lager niveau klein is, dan is het redelijk om een ​​van de lichtgewicht transportlaagdiensten te gebruiken die niet met talloze controles zijn belast. handshaking en andere technieken om de betrouwbaarheid te vergroten. Als de voertuigen van de lagere niveaus in eerste instantie erg onbetrouwbaar zijn, is het raadzaam om je te wenden tot de meest ontwikkelde transportlaagservice, die met maximale middelen werkt om fouten op te sporen en te elimineren - met behulp van het voorlopig tot stand brengen van een logische verbinding, controle van de berichtaflevering door controlesommen en cyclische nummering van pakketten, leveringstime-outs instellen, enz.

In de regel worden alle protocollen, beginnend vanaf de transportlaag en hoger, geïmplementeerd door software van de eindknooppunten van het netwerk - componenten van hun netwerkbesturingssystemen. Voorbeelden van transportprotocollen zijn de TCP- en UDP-protocollen van de TCP/IP-stack en het SPX-protocol van de Novell-stack.

De protocollen van de onderste vier lagen worden over het algemeen netwerktransport of transportsubsysteem genoemd, omdat ze het probleem van het transporteren van berichten met een bepaald kwaliteitsniveau in samengestelde netwerken met willekeurige topologieën en verschillende technologieën volledig oplossen. De overige drie bovenste niveaus lossen het probleem op van het aanbieden van applicatiediensten op basis van het bestaande transportsubsysteem.

Sessielaag

De sessielaag biedt dialoogcontrole: registreert welke partij momenteel actief is en biedt synchronisatietools. Met deze laatste kunt u controlepunten invoegen in lange overdrachten, zodat u in geval van een mislukking terug kunt gaan naar het laatste controlepunt, in plaats van helemaal opnieuw te beginnen. In de praktijk maken weinig applicaties gebruik van de sessielaag en deze wordt zelden geïmplementeerd als afzonderlijke protocollen, hoewel de functies van deze laag vaak worden gecombineerd met de functies van de applicatielaag en in één enkel protocol worden geïmplementeerd.

Representatief niveau

De presentatielaag behandelt de vorm van presentatie van informatie die via het netwerk wordt verzonden, zonder de inhoud ervan te veranderen. Dankzij de presentatielaag is informatie die door de applicatielaag van het ene systeem wordt verzonden, altijd begrijpelijk voor de applicatielaag van een ander systeem. Met behulp van deze laag kunnen applicatielaagprotocollen syntactische verschillen in gegevensrepresentatie of verschillen in tekencodes, zoals ASCII- en EBCDIC-codes, overwinnen. Op dit niveau kan gegevenscodering en -decodering worden uitgevoerd, waardoor de geheimhouding van de gegevensuitwisseling voor alle applicatieservices tegelijk wordt gewaarborgd. Een voorbeeld van een dergelijk protocol is het Secure Socket Layer (SSL)-protocol, dat beveiligde berichtenuitwisseling biedt voor applicatielaagprotocollen in de TCP/IP-stack.

Applicatielaag

De applicatielaag is eigenlijk slechts een reeks verschillende protocollen waarmee netwerkgebruikers toegang krijgen tot gedeelde bronnen zoals bestanden, printers of hypertext-webpagina's, en ook hun samenwerking kunnen organiseren, bijvoorbeeld met behulp van het elektronische protocol mail. De gegevenseenheid waarop de applicatielaag werkt, wordt gewoonlijk genoemd bericht (bericht).

Er is een zeer grote verscheidenheid aan applicatielaagdiensten. Laten we als voorbeeld tenminste enkele van de meest voorkomende implementaties van bestandsservices nemen: NCP in het Novell NetWare-besturingssysteem, SMB in Microsoft Windows NT, NFS, FTP en TFTP, die deel uitmaken van de TCP/IP-stack.

Netwerkafhankelijke en netwerkonafhankelijke niveaus

Functies op alle lagen van het OSI-model kunnen in een van de twee groepen worden ingedeeld:

hetzij naar functies die afhankelijk zijn van een specifieke technische implementatie van het netwerk, hetzij naar functies die gericht zijn op het werken met applicaties.

De drie onderste lagen – fysiek, datalink en netwerk – zijn netwerkafhankelijk, dat wil zeggen dat de protocollen van deze niveaus nauw verwant zijn aan de technische implementatie van het netwerk en de gebruikte communicatieapparatuur. De overgang naar FDDI-apparatuur betekent bijvoorbeeld een volledige verandering in de protocollen van de fysieke en datalinklagen in alle netwerkknooppunten.

De drie bovenste lagen - applicatie, representatief en sessie - zijn applicatiegericht en weinig afhankelijk van de technische kenmerken van netwerkconstructie. De protocollen op deze lagen worden niet beïnvloed door veranderingen in de netwerktopologie, vervanging van apparatuur of overgang naar een andere netwerktechnologie. De overgang van Ethernet naar de hogesnelheidslOOVG-AnyLAN-technologie zal dus geen veranderingen vereisen in de software die de functies van de applicatie-, representatie- en sessieniveaus implementeert.

De transportlaag is een tussenlaag en verbergt alle details van het functioneren van de onderste lagen voor de bovenste. Hiermee kunt u applicaties ontwikkelen die niet afhankelijk zijn van technische middelen om berichten rechtstreeks te transporteren.

In afb. 1.28 toont de niveaus van het OSI-model , waarop verschillende netwerkelementen opereren. Een computer waarop een netwerkbesturingssysteem is geïnstalleerd, communiceert met een andere computer met behulp van protocollen van alle zeven niveaus. Computers voeren deze interactie indirect uit via verschillende communicatieapparatuur: hubs, modems, bruggen, switches, routers, multiplexers. Afhankelijk van het type kan een communicatieapparaat alleen op de fysieke laag (repeater) werken, of op fysiek en link (bridge), of op fysiek, link en netwerk, en soms ook de transportlaag (router) vastleggen.

In afb. Figuur 1.29 toont de overeenkomst tussen de functies van verschillende communicatieapparaten en de niveaus van het OSI-model .

Het OSI-model is, hoewel erg belangrijk, slechts een van de vele communicatiemodellen. Deze modellen en de bijbehorende protocolstapels kunnen verschillen in het aantal lagen, hun functies, berichtformaten, services die op de bovenste lagen worden ondersteund, en andere parameters.

toegang tot de netwerkomgeving. Tegelijkertijd, link laag beheert het proces van het plaatsen van verzonden gegevens in de fysieke omgeving. Daarom link laag verdeeld in 2 subniveaus (Fig. 5.1): bovenste subniveau controle van het logische datatransmissiekanaal(Logische linkcontrole - LLC), wat gemeenschappelijk is voor alle technologieën, en het lagere subniveau controle op mediatoegang(Mediatoegangscontrole - MAC). Bovendien kunt u met linklaagtools fouten in verzonden gegevens detecteren.


Rijst. 5.1.

De interactie van lokale netwerkknooppunten vindt plaats op basis van linklaagprotocollen. Datatransmissie in lokale netwerken vindt plaats over relatief korte afstanden (binnen gebouwen of tussen dichtbij gelegen gebouwen), maar met hoge snelheid (10 Mbit/s - 100 Gbit/s). Afstand en transmissiesnelheid gegevens worden bepaald door de uitrusting van de overeenkomstige normen.

Internationaal Instituut voor elektrische en elektronische ingenieurs - IEEE) werd de 802.x-standaardfamilie ontwikkeld, die de werking van de datalink en de fysieke lagen van het zevenlaagse ISO/OSI-model regelt. Een aantal van deze protocollen zijn gemeenschappelijk voor alle technologieën, bijvoorbeeld de 802.2-standaard; andere protocollen (bijvoorbeeld 802.3, 802.3u, 802.5) definiëren de kenmerken van lokale netwerktechnologieën.

LLC-sublaag Geïmplementeerd worden software. Op de LLC-sublaag zijn er verschillende procedures waarmee u al dan niet communicatie tot stand kunt brengen voordat u frames verzendt die gegevens bevatten, om frames wel of niet te herstellen als ze verloren zijn gegaan of als er fouten zijn gedetecteerd. Subniveau LLC implementeert communicatie met netwerklaagprotocollen, meestal met het IP-protocol. Communicatie met de netwerklaag en de definitie van logische procedures voor het verzenden van frames via het netwerk implementeert het 802.2-protocol. Het 802.1-protocol biedt een algemene definitie van lokale netwerken, gerelateerd aan het ISO/OSI-model. Er zijn ook wijzigingen in dit protocol.

De MAC-sublaag bepaalt de kenmerken van toegang tot het fysieke medium bij gebruik van verschillende lokale netwerktechnologieën. Elke MAC-laagtechnologie (elk protocol: 802.3, 802.3u, 802.3z, enz.) komt overeen met verschillende varianten van fysieke laagspecificaties (protocollen) (Fig. 5.1). Specificatie MAC-laagtechnologie - definieert de fysieke laagomgeving en de basisparameters van gegevensoverdracht ( transmissiesnelheid, type medium, smalband of breedband).

Op het linkniveau van de zendende kant wordt het gevormd kader, waarin pakket is ingekapseld. Het inkapselingsproces voegt een frameheader en trailer toe aan een netwerkprotocolpakket, zoals IP. Het frame van elke netwerktechnologie bestaat dus uit drie delen:

  • koptekst,
  • data velden waar het pakket zich bevindt,
  • eindschakelaar.

Aan de ontvangende kant wordt het omgekeerde decapsulatieproces geïmplementeerd wanneer een pakket uit het frame wordt gehaald.

Rubriek omvat framescheidingstekens, adres- en controlevelden. Afscheiders Met frames kunt u het begin van een frame bepalen en zorgen voor synchronisatie tussen zender en ontvanger. Adressen linklaag zijn fysieke adressen. Bij gebruik van Ethernet-compatibele technologieën wordt de gegevensadressering in lokale netwerken uitgevoerd door MAC-adressen, die zorgen voor de levering van het frame aan het bestemmingsknooppunt.

Eindkap bevat een controlesomveld ( Frame Check Sequence - FCS), die wordt berekend bij het verzenden van een frame met behulp van een cyclische code CRC. Aan de ontvangende kant controlesom frame wordt opnieuw berekend en vergeleken met het ontvangen frame. Als ze overeenkomen, zijn ze van mening dat het frame zonder fouten is verzonden. Als de FCS-waarden uiteenlopen, wordt het frame weggegooid en moet het opnieuw worden verzonden.

Bij verzending via een netwerk passeert een frame opeenvolgend een aantal verbindingen die worden gekenmerkt door verschillende fysieke omgevingen. Bij het verzenden van gegevens van knooppunt A naar knooppunt B (Fig. 5.2) gaan de gegevens bijvoorbeeld opeenvolgend door: de Ethernet-verbinding tussen knooppunt A en router A (koper, niet-afgeschermd getwist paar), de verbinding tussen routers A en B (glasvezel optische kabel), een point-to-point seriële koperkabel tussen Router B en het draadloze toegangspunt WAP, een draadloze verbinding (radioverbinding) tussen het WAP en eindknooppunt B. Daarom elke verbinding heeft zijn eigen frame specifiek formaat.


Rijst. 5.2.

Het pakket dat door Knooppunt A is voorbereid, wordt ingekapseld in een lokaal netwerkframe, dat wordt verzonden naar Router A. De router ontkapselt het pakket van het ontvangen frame, bepaalt naar welke uitvoerinterface het pakket moet worden verzonden en vormt vervolgens een nieuw frame voor verzending via het ontvangende frame. optisch medium. Router B ontkapselt het pakket van het ontvangen frame, bepaalt naar welke uitgaande interface het pakket moet worden doorgestuurd en genereert vervolgens een nieuw frame voor verzending via het point-to-point seriële kopermedium. Het draadloze toegangspunt WAP vormt op zijn beurt zijn eigen frame voor het verzenden van gegevens via het radiokanaal naar het eindknooppunt B.

Bij het creëren van netwerken worden verschillende logische topologieën gebruikt die bepalen hoe knooppunten over het medium communiceren, hoe toegangscontrole medium. De meest bekende logische topologieën zijn point-to-point, multiaccess, broadcast en token-passing.

Het delen van de omgeving tussen meerdere apparaten wordt geïmplementeerd op basis van twee hoofdmethoden:

  • methode concurrerende (niet-deterministische) toegang(Content-based Access), wanneer alle netwerkknooppunten dezelfde rechten hebben, is de volgorde van de gegevensoverdracht niet georganiseerd. Om te zenden moet dit knooppunt naar het medium luisteren; als het vrij is, kan informatie worden verzonden. In dit geval kunnen er conflicten ontstaan ​​( botsingen) wanneer twee (of meer) knooppunten tegelijkertijd gegevens beginnen te verzenden;
  • methode gecontroleerde (deterministische) toegang(Controlled Access), waarmee knooppunten prioritaire toegang krijgen tot het medium voor gegevensoverdracht.

In de vroege stadia van de oprichting van Ethernet-netwerken werd een “bus”-topologie gebruikt, een gedeeld medium voor gegevensoverdracht was voor alle gebruikers gemeenschappelijk. In dit geval werd de methode geïmplementeerd meerdere toegang naar een gemeenschappelijk transmissiemedium (802.3-protocol). Dit vereiste draaggolfcontrole, waarvan de aanwezigheid aangaf dat een knooppunt al gegevens over een gemeenschappelijk medium aan het verzenden was. Daarom moest een knooppunt dat gegevens wilde overdragen wachten op het einde van de overdracht en, toen het medium vrijkwam, proberen de gegevens over te dragen.

De informatie die naar het netwerk wordt verzonden, kan worden ontvangen door elke computer waarvan het NIC-netwerkadapteradres overeenkomt met het bestemmings-MAC-adres van het verzonden frame, of door alle computers op het netwerk tijdens uitzendingsverzending. Er kan echter slechts één knooppunt op elk moment informatie verzenden. Alvorens te zenden moet een knooppunt ervoor zorgen dat de gemeenschappelijke bus vrij is door naar het medium te luisteren.

Wanneer twee of meer computers tegelijkertijd gegevens verzenden, ontstaat er een conflict ( botsing) wanneer de gegevens van verzendende knooppunten elkaar overlappen, treedt vervorming op en verlies van informatie. Daarom zijn botsingsverwerking en hertransmissie van de bij de botsing betrokken frames vereist.

Soortgelijke methode niet-deterministisch(associatief) toegang woensdag de naam ontvangen Toegang tot meerdere media met Carrier Sense en botsingsdetectie( Carrier Sense Vermenigvuldig toegang

In de netwerkwetenschap zijn er, net als in elk ander kennisgebied, twee fundamentele benaderingen van leren: de beweging van het algemene naar het specifieke en omgekeerd. Het is niet zo dat mensen deze benaderingen in hun leven in hun pure vorm gebruiken, maar toch kiest elke student in de beginfase voor zichzelf een van de bovengenoemde richtingen. Voor hoger onderwijs (tenminste het (post)Sovjetmodel) is de eerste methode typerender, voor zelfstudie meestal de tweede: een persoon werkte op het netwerk en loste van tijd tot tijd kleine administratieve taken voor één gebruiker op, en plotseling wilde hij erachter komen hoe, eigenlijk, al deze onzin werkt?

Maar het doel van dit artikel zijn geen filosofische discussies over lesmethodologie. Ik wil dit graag onder de aandacht van beginnende netwerkers brengen algemeen en vooral: van waaruit je, net als bij een kachel, kunt dansen op de meest verfijnde privéwinkels. Door het OSI-model met zeven lagen te begrijpen en de lagen ervan te leren ‘herkennen’ in de technologieën die u al kent, kunt u gemakkelijk vooruitgang boeken in elke richting van de netwerkindustrie die u kiest. Het OSI-model is het raamwerk waaraan nieuwe kennis over netwerken zal worden opgehangen.

Dit model wordt op de een of andere manier genoemd in vrijwel elke moderne literatuur over netwerken, maar ook in veel specificaties van specifieke protocollen en technologieën. Zonder de behoefte te voelen om het wiel opnieuw uit te vinden, besloot ik fragmenten te publiceren uit het werk van N. Olifer, V. Olifer (Information Technology Center) getiteld “De rol van communicatieprotocollen en het functionele doel van de belangrijkste soorten apparatuur in bedrijfsnetwerken ”, wat ik beschouw als de beste en meest uitgebreide publicatie over dit onderwerp.

hoofdredacteur

model

Het feit dat een protocol een overeenkomst is tussen twee interacterende entiteiten, in dit geval twee computers die in een netwerk werken, betekent niet dat het noodzakelijkerwijs een standaard is. Maar in de praktijk gebruiken ze bij het implementeren van netwerken vaak standaardprotocollen. Dit kunnen bedrijfseigen, nationale of internationale standaarden zijn.

De International Standards Organization (ISO) heeft een model ontwikkeld dat de verschillende niveaus van interactie tussen systemen duidelijk definieert, deze standaardnamen geeft en specificeert welk werk elk niveau zou moeten doen. Dit model wordt het Open System Interconnection (OSI)-model of ISO/OSI-model genoemd.

In het OSI-model is de communicatie verdeeld in zeven lagen of lagen (Figuur 1.1). Elk niveau behandelt één specifiek aspect van interactie. Het interactieprobleem wordt dus opgesplitst in zeven specifieke problemen, die elk onafhankelijk van de anderen kunnen worden opgelost. Elke laag onderhoudt raakvlakken met de lagen erboven en eronder.

Rijst. 1.1. ISO/OSI Open systeeminterconnectiemodel

Het OSI-model beschrijft alleen systeemcommunicatie, niet eindgebruikersapplicaties. Applicaties implementeren hun eigen communicatieprotocollen door toegang te krijgen tot systeemfaciliteiten. Houd er rekening mee dat de applicatie de functies van sommige van de bovenste lagen van het OSI-model kan overnemen, in welk geval het, indien nodig, via internetwerk rechtstreeks toegang krijgt tot de systeemtools die de functies van de resterende lagere lagen van het OSI-model uitvoeren. OSI-model.

Een eindgebruikerstoepassing kan systeeminteractietools niet alleen gebruiken om een ​​dialoog te organiseren met een andere toepassing die op een andere machine draait, maar ook eenvoudigweg om de diensten van een bepaalde netwerkdienst te ontvangen, bijvoorbeeld toegang krijgen tot bestanden op afstand, e-mail ontvangen of afdrukken op een andere computer. een gedeelde printer.

Laten we zeggen dat een applicatie een verzoek doet aan een applicatielaag, zoals een bestandsservice. Op basis van dit verzoek genereert de software op applicatieniveau een bericht in standaardformaat, dat service-informatie (header) en mogelijk verzonden gegevens bevat. Dit bericht wordt vervolgens doorgestuurd naar het vertegenwoordigersniveau. De presentatielaag voegt zijn koptekst toe aan het bericht en geeft het resultaat door aan de sessielaag, die op zijn beurt de koptekst toevoegt, enzovoort. Sommige protocolimplementaties bepalen dat het bericht niet alleen een header, maar ook een trailer bevat. Ten slotte bereikt het bericht de laagste, fysieke laag, die het feitelijk langs de communicatielijnen verzendt.

Wanneer een bericht via het netwerk op een andere machine binnenkomt, gaat het opeenvolgend van niveau naar niveau omhoog. Elk niveau analyseert, verwerkt en verwijdert de header van zijn niveau, voert functies uit die overeenkomen met dit niveau en geeft de boodschap door aan het hogere niveau.

Naast de term 'bericht' zijn er nog andere namen die door netwerkspecialisten worden gebruikt om een ​​eenheid voor gegevensuitwisseling aan te duiden. ISO-normen voor protocollen van elk niveau gebruiken de term "protocol data unit" - Protocol Data Unit (PDU). Daarnaast worden vaak de namen frame, packet en datagram gebruikt.

ISO/OSI-modellaagfuncties

Fysieke laag: Deze laag zorgt voor de overdracht van bits via fysieke kanalen zoals coaxkabel, twisted pair-kabel of glasvezelkabel. Dit niveau houdt verband met de kenmerken van fysieke datatransmissiemedia, zoals bandbreedte, ruisimmuniteit, karakteristieke impedantie en andere. Op hetzelfde niveau worden de kenmerken van elektrische signalen bepaald, zoals vereisten voor pulsflanken, spannings- of stroomniveaus van het verzonden signaal, type codering, signaaloverdrachtsnelheid. Bovendien zijn hier de soorten connectoren en het doel van elk contact gestandaardiseerd.

Fysieke laagfuncties worden geïmplementeerd in alle apparaten die op het netwerk zijn aangesloten. Aan de computerzijde worden de functies van de fysieke laag uitgevoerd door de netwerkadapter of seriële poort.

Een voorbeeld van een fysieklaagprotocol is de 10Base-T Ethernet-technologiespecificatie, die de gebruikte kabel definieert als Categorie 3 niet-afgeschermd getwist paar met een karakteristieke impedantie van 100 Ohm, een RJ-45-connector, een maximale fysieke segmentlengte van 100 meter, Manchester-code voor het weergeven van gegevens over de kabel en andere kenmerken van de omgeving en elektrische signalen.

Datalinklaag: De fysieke laag draagt ​​eenvoudigweg bits over. Hierbij wordt geen rekening gehouden met het feit dat in sommige netwerken waarin communicatielijnen afwisselend worden gebruikt (gedeeld) door verschillende paren samenwerkende computers, het fysieke transmissiemedium bezet kan zijn. Daarom is een van de taken van de linklaag het controleren van de beschikbaarheid van het transmissiemedium. Een andere taak van de linklaag is het implementeren van foutdetectie- en correctiemechanismen. Om dit te doen, worden bits op de datalinklaag gegroepeerd in sets die frames worden genoemd. De linklaag zorgt ervoor dat elk frame correct wordt verzonden door een speciale reeks bits aan het begin en einde van elk frame te plaatsen om het te markeren, en berekent ook een controlesom door alle bytes van het frame op een bepaalde manier op te tellen en de controlesom op te tellen. naar het frame. Wanneer het frame arriveert, berekent de ontvanger opnieuw de controlesom van de ontvangen gegevens en vergelijkt het resultaat met de controlesom van het frame. Als ze overeenkomen, wordt het frame als correct beschouwd en geaccepteerd. Als de controlesommen niet overeenkomen, wordt er een fout geregistreerd.

De linklaagprotocollen die in lokale netwerken worden gebruikt, bevatten een bepaalde structuur van verbindingen tussen computers en methoden om deze te adresseren. Hoewel de datalinklaag zorgt voor framelevering tussen twee willekeurige knooppunten op een lokaal netwerk, doet deze dit alleen in een netwerk met een zeer specifieke verbindingstopologie, precies de topologie waarvoor deze is ontworpen. Typische topologieën die worden ondersteund door LAN-linklaagprotocollen zijn onder meer gedeelde bus, ring en ster. Voorbeelden van linklaagprotocollen zijn Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

In lokale netwerken worden linklaagprotocollen gebruikt door computers, bruggen, switches en routers. In computers worden linklaagfuncties geïmplementeerd door de gezamenlijke inspanningen van netwerkadapters en hun stuurprogramma's.

In mondiale netwerken, die zelden een reguliere topologie hebben, zorgt de datalinklaag voor de uitwisseling van berichten tussen twee aangrenzende computers die met elkaar zijn verbonden via een individuele communicatielijn. Voorbeelden van point-to-point-protocollen (zoals dergelijke protocollen vaak worden genoemd) zijn de veelgebruikte PPP- en LAP-B-protocollen.

Netwerkniveau: Dit niveau dient om een ​​verenigd transportsysteem te vormen dat verschillende netwerken verenigt met verschillende principes voor het verzenden van informatie tussen eindknooppunten. Laten we eens kijken naar de functies van de netwerklaag, waarbij we lokale netwerken als voorbeeld nemen. Het lokale netwerklinklaagprotocol zorgt alleen voor de levering van gegevens tussen alle knooppunten in een netwerk met de juiste typische topologie. Dit is een zeer strikte beperking die het bouwen van netwerken met een ontwikkelde structuur niet toestaat, bijvoorbeeld netwerken die verschillende bedrijfsnetwerken combineren tot één netwerk, of zeer betrouwbare netwerken waarin er redundante verbindingen tussen knooppunten zijn. Om enerzijds de eenvoud van de gegevensoverdrachtprocedures voor standaardtopologieën te behouden, en anderzijds het gebruik van willekeurige topologieën mogelijk te maken, wordt een extra netwerklaag gebruikt. Op dit niveau wordt het concept van "netwerk" geïntroduceerd. In dit geval wordt een netwerk opgevat als een verzameling computers die met elkaar zijn verbonden in overeenstemming met een van de typische standaardtopologieën en die een van de linklaagprotocollen gebruiken die voor deze topologie zijn gedefinieerd om gegevens te verzenden.

Binnen het netwerk wordt de datalevering dus geregeld door de datalinklaag, maar de datalevering tussen netwerken wordt afgehandeld door de netwerklaag.

Netwerklaagberichten worden meestal aangeroepen pakketjes. Bij het organiseren van pakketbezorging op netwerkniveau wordt het concept gebruikt "netwerknummer". In dit geval bestaat het adres van de ontvanger uit het netwerknummer en het computernummer op dit netwerk.

Netwerken zijn met elkaar verbonden door speciale apparaten die routers worden genoemd. Router is een apparaat dat informatie verzamelt over de topologie van internetwerkverbindingen en op basis daarvan netwerklaagpakketten doorstuurt naar het bestemmingsnetwerk. Om een ​​bericht van een afzender op het ene netwerk naar een ontvanger op een ander netwerk te verzenden, moet u een aantal transitoverdrachten (hops) tussen netwerken uitvoeren, waarbij u telkens de juiste route kiest. Een route is dus een reeks routers waar een pakket doorheen gaat.

Het probleem van het kiezen van het beste pad wordt genoemd routering en de oplossing ervan is de hoofdtaak van het netwerkniveau. Dit probleem wordt gecompliceerd door het feit dat het kortste pad niet altijd het beste is. Vaak is het criterium voor het kiezen van een route het tijdstip van de datatransmissie langs deze route; dit hangt af van de capaciteit van de communicatiekanalen en de verkeersintensiteit, die in de loop van de tijd kan veranderen. Sommige routeringsalgoritmen proberen zich aan te passen aan veranderingen in de belasting, terwijl andere beslissingen nemen op basis van langetermijngemiddelden. De route kan worden geselecteerd op basis van andere criteria, bijvoorbeeld transmissiebetrouwbaarheid.

Op netwerkniveau zijn twee soorten protocollen gedefinieerd. Het eerste type verwijst naar de definitie van regels voor het verzenden van eindknooppuntdatapakketten van het knooppunt naar de router en tussen routers. Dit zijn de protocollen die meestal worden bedoeld als mensen praten over netwerklaagprotocollen. De netwerklaag bevat ook een ander type protocol, genaamd routeringsprotocollen voor informatie-uitwisseling. Met behulp van deze protocollen verzamelen routers informatie over de topologie van internetwerkverbindingen. Netwerklaagprotocollen worden geïmplementeerd door softwaremodules van het besturingssysteem, evenals door routersoftware en hardware.

Voorbeelden van netwerklaagprotocollen zijn het TCP/IP-stack IP Internetwork Protocol en het Novell IPX-stack Internetwork Protocol.

Transportlaag: Op weg van de afzender naar de ontvanger kunnen pakketten beschadigd raken of verloren gaan. Hoewel sommige applicaties hun eigen foutafhandeling hebben, zijn er andere die er de voorkeur aan geven meteen met een betrouwbare verbinding om te gaan. De taak van de transportlaag is ervoor te zorgen dat applicaties of de bovenste lagen van de stapel (applicatie en sessie) gegevens overbrengen met de mate van betrouwbaarheid die ze nodig hebben. Het OSI-model definieert vijf serviceklassen die door de transportlaag worden geleverd. Dit soort diensten onderscheidt zich door de kwaliteit van de geleverde diensten: urgentie, de mogelijkheid om onderbroken communicatie te herstellen, de beschikbaarheid van middelen voor het multiplexen van meerdere verbindingen tussen verschillende applicatieprotocollen via een gemeenschappelijk transportprotocol, en vooral, de mogelijkheid om te detecteren en correcte transmissiefouten, zoals vervorming, verlies en duplicatie van pakketten.

De keuze van de serviceklasse van de transportlaag wordt enerzijds bepaald door de mate waarin het probleem van het garanderen van betrouwbaarheid wordt opgelost door de applicaties en protocollen van hogere niveaus dan die van de transportlaag, en anderzijds hangt deze keuze af van hoe betrouwbaar het hele datatransportsysteem online is. Dus als de kwaliteit van de communicatiekanalen bijvoorbeeld erg hoog is en de kans op fouten die niet worden gedetecteerd door protocollen op een lager niveau klein is, dan is het redelijk om een ​​van de lichtgewicht transportlaagdiensten te gebruiken die niet met talloze controles zijn belast. , handshaking en andere technieken om de betrouwbaarheid te vergroten. Als de voertuigen in eerste instantie erg onbetrouwbaar zijn, is het raadzaam om gebruik te maken van de meest ontwikkelde service op transportniveau, die werkt met maximale middelen voor het opsporen en elimineren van fouten - door vooraf een logische verbinding tot stand te brengen, de bezorging van berichten te monitoren met behulp van checksums en cyclische nummering van pakketten, time-outs voor bezorging instellen, enz.

In de regel worden alle protocollen, beginnend vanaf de transportlaag en hoger, geïmplementeerd door software van de eindknooppunten van het netwerk - componenten van hun netwerkbesturingssystemen. Voorbeelden van transportprotocollen zijn de TCP- en UDP-protocollen van de TCP/IP-stack en het SPX-protocol van de Novell-stack.

Sessielaag: De sessielaag biedt gespreksbeheer om vast te leggen welke partij momenteel actief is en biedt ook synchronisatiefaciliteiten. Met deze laatste kunt u controlepunten invoegen in lange overdrachten, zodat u in geval van een mislukking terug kunt gaan naar het laatste controlepunt, in plaats van helemaal opnieuw te beginnen. In de praktijk maken weinig applicaties gebruik van de sessielaag en deze wordt zelden geïmplementeerd.

Presentatielaag: Deze laag biedt de zekerheid dat informatie die door de applicatielaag wordt overgebracht, door de applicatielaag in een ander systeem zal worden begrepen. Indien nodig converteert de presentatielaag dataformaten naar een gangbaar presentatieformaat, en voert bij de receptie dienovereenkomstig de omgekeerde conversie uit. Op deze manier kunnen applicatielagen bijvoorbeeld syntactische verschillen in datarepresentatie overwinnen. Op dit niveau kan de encryptie en decryptie van gegevens worden uitgevoerd, waardoor de geheimhouding van de gegevensuitwisseling voor alle applicatieservices tegelijk wordt gewaarborgd. Een voorbeeld van een protocol dat op de presentatielaag werkt, is het Secure Socket Layer (SSL)-protocol, dat beveiligde berichtenuitwisseling biedt voor de applicatielaagprotocollen van de TCP/IP-stack.

Applicatielaag De applicatielaag is eigenlijk slechts een verzameling verschillende protocollen waarmee netwerkgebruikers toegang krijgen tot gedeelde bronnen zoals bestanden, printers of hypertext-webpagina's, en ook hun samenwerking kunnen organiseren, bijvoorbeeld met behulp van het elektronische mailprotocol. De gegevenseenheid waarop de applicatielaag werkt, wordt gewoonlijk genoemd bericht .

Er is een zeer grote verscheidenheid aan applicatielaagprotocollen. Laten we als voorbeeld tenminste enkele van de meest voorkomende implementaties van bestandsservices geven: NCP in het Novell NetWare-besturingssysteem, SMB in Microsoft Windows NT, NFS, FTP en TFTP, die deel uitmaken van de TCP/IP-stack.

Het OSI-model is, hoewel erg belangrijk, slechts een van de vele communicatiemodellen. Deze modellen en de bijbehorende protocolstapels kunnen verschillen in het aantal lagen, hun functies, berichtformaten, diensten die op de bovenste lagen worden aangeboden en andere parameters.

Kenmerken van populaire communicatieprotocolstacks

De interactie van computers in netwerken vindt dus plaats in overeenstemming met bepaalde regels voor het uitwisselen van berichten en hun formaten, dat wil zeggen in overeenstemming met bepaalde protocollen. Een hiërarchisch georganiseerde reeks protocollen die het probleem van de interactie tussen netwerkknooppunten oplossen, wordt een communicatieprotocolstapel genoemd.

Er zijn veel protocolstacks die veel worden gebruikt in netwerken. Dit zijn stapels die voldoen aan internationale en nationale normen, en eigen stapels die wijdverbreid zijn geworden door de aanwezigheid van apparatuur van een bepaald bedrijf. Voorbeelden van populaire protocolstacks zijn de IPX/SPX-stack van Novell, de TCP/IP-stack die wordt gebruikt op internet en veel netwerken die zijn gebaseerd op het UNIX-besturingssysteem, de OSI-stack van de International Standards Organization, de DECnet-stack van Digital Equipment Corporation en diverse anderen.

Het gebruik van een bepaalde communicatieprotocolstack in een netwerk bepaalt grotendeels het gezicht van het netwerk en zijn kenmerken. Kleinere netwerken gebruiken mogelijk slechts één stapel. In grote bedrijfsnetwerken die verschillende netwerken met elkaar verbinden, worden meestal meerdere stacks parallel gebruikt.

Communicatieapparatuur implementeert protocollen uit de lagere lagen die meer gestandaardiseerd zijn dan protocollen uit de hogere lagen, en dit is een voorwaarde voor succesvolle samenwerking tussen apparatuur van verschillende fabrikanten. De lijst met protocollen die door een bepaald communicatieapparaat worden ondersteund, is een van de belangrijkste kenmerken van dit apparaat.

Computers implementeren communicatieprotocollen in de vorm van overeenkomstige software-elementen van een netwerkbesturingssysteem. Protocollen op linkniveau worden bijvoorbeeld meestal geïmplementeerd in de vorm van stuurprogramma's voor netwerkadapters, en protocollen op het hoogste niveau worden geïmplementeerd in de vorm van server- en clientcomponenten. van netwerkdiensten.

Het vermogen om goed te werken in een bepaalde besturingssysteemomgeving is een belangrijk kenmerk van communicatieapparatuur. In advertenties voor een netwerkadapter of hub kunt u vaak lezen dat deze speciaal is ontworpen om op een NetWare- of UNIX-netwerk te werken. Dit betekent dat de hardwareontwikkelaars de kenmerken ervan hebben geoptimaliseerd voor de protocollen die in dat netwerkbesturingssysteem worden gebruikt, of voor een bepaalde versie van hun implementatie als deze protocollen in verschillende besturingssystemen worden gebruikt. Vanwege de eigenaardigheden van de implementatie van protocollen in verschillende besturingssystemen, is een van de kenmerken van communicatieapparatuur de certificering voor het vermogen om in de omgeving van een bepaald besturingssysteem te werken.

Op de lagere niveaus – fysieke en datalink – gebruiken bijna alle stacks dezelfde protocollen. Dit zijn goed gestandaardiseerde protocollen: Ethernet, Token Ring, FDDI en enkele andere, waardoor dezelfde apparatuur in alle netwerken kan worden gebruikt.

De netwerk- en hogere laagprotocollen van bestaande standaardstacks zijn zeer variabel en komen over het algemeen niet overeen met de gelaagdheid die wordt aanbevolen door het ISO-model. In het bijzonder worden in deze stapels de functies van de sessie- en presentatielaag meestal gecombineerd met de applicatielaag. Deze discrepantie is te wijten aan het feit dat het ISO-model verscheen als resultaat van een generalisatie van reeds bestaande en daadwerkelijk gebruikte stapels, en niet andersom.

OSI-stapel

Er moet onderscheid worden gemaakt tussen de OSI-protocolstack en het OSI-model. Terwijl het OSI-model conceptueel de procedure voor de interactie tussen open systemen definieert, de taak in zeven lagen opsplitst, het doel van elke laag standaardiseert en standaardnamen voor de lagen introduceert, is de OSI-stack een reeks zeer specifieke protocolspecificaties die een consistente structuur vormen. protocol stapel. Deze protocolstapel wordt ondersteund door de Amerikaanse overheid in haar GOSIP-programma. Alle overheidscomputernetwerken die na 1990 zijn geïnstalleerd, moeten de OSI-stack rechtstreeks ondersteunen of een middel bieden om in de toekomst naar de stack te migreren. De OSI-stack is echter populairder in Europa dan in de VS, omdat er in Europa minder oudere netwerken zijn geïnstalleerd die hun eigen protocollen gebruiken. Er is ook een grote behoefte aan een gemeenschappelijke stapel in Europa, omdat er zoveel verschillende landen zijn.

Dit is een internationale, fabrikantonafhankelijke standaard. Het kan samenwerking tussen bedrijven, partners en leveranciers mogelijk maken. Deze interactie wordt bemoeilijkt door problemen met de adressering, naamgeving en gegevensbeveiliging. Al deze problemen worden gedeeltelijk opgelost in de OSI-stack. OSI-protocollen vereisen veel CPU-verwerkingskracht, waardoor ze geschikter zijn voor krachtige machines dan voor netwerken van personal computers. De meeste organisaties plannen alleen nog maar de overstap naar de OSI-stack. Onder degenen die in deze richting werken, bevinden zich het Amerikaanse marinedepartement en het NFSNET-netwerk. Een van de grootste fabrikanten die OSI ondersteunt, is AT&T. Het Stargroup-netwerk is volledig gebaseerd op de OSI-stack.

Om voor de hand liggende redenen voldoet de OSI-stack, in tegenstelling tot andere standaardstacks, volledig aan het OSI-interconnectiemodel; het bevat specificaties voor alle zeven lagen van het open-systeeminterconnectiemodel (Figuur 1.3).


Rijst. 1.3. OSI-stapel

Op De OSI-stack ondersteunt Ethernet-, Token Ring-, FDDI-protocollen, evenals LLC-, X.25- en ISDN-protocollen. Deze protocollen worden in andere delen van de handleiding in detail besproken.

Diensten netwerk, transport en sessie niveaus zijn ook beschikbaar in de OSI-stack, maar zijn niet erg gebruikelijk. De netwerklaag implementeert zowel verbindingsloze als op verbinding gebaseerde protocollen. Het OSI-stacktransportprotocol verbergt, consistent met de functies die ervoor zijn gedefinieerd in het OSI-model, de verschillen tussen verbindingsgerichte en verbindingsloze netwerkdiensten, zodat gebruikers de gewenste servicekwaliteit ontvangen, ongeacht de onderliggende netwerklaag. Om hierin te voorzien, vereist de transportlaag dat de gebruiker de gewenste servicekwaliteit specificeert. Er zijn 5 klassen transportdiensten gedefinieerd, van de laagste klasse 0 tot de hoogste klasse 4, die verschillen in de mate van fouttolerantie en vereisten voor gegevensherstel na fouten.

Diensten toepassingsniveau omvatten bestandsoverdracht, terminalemulatie, directoryservices en e-mail. Hiervan zijn de meest veelbelovende de directoryservice (X.500-standaard), elektronische post (X.400), het virtuele terminalprotocol (VT), het FTAM-protocol (bestandsoverdracht, toegang en beheer), het doorstuur- en taakbeheerprotocol (JTM). . De laatste tijd heeft ISO zijn inspanningen geconcentreerd op diensten van het hoogste niveau.

X.400

is een reeks aanbevelingen van het International Consultative Committee on Telegraphy and Telephony (CCITT) die systemen voor het doorsturen van elektronische berichten beschrijven. Tegenwoordig zijn de X.400-aanbevelingen het populairste berichtenprotocol. De X.400-aanbevelingen beschrijven het model van een berichtensysteem, de protocollen voor interactie tussen alle componenten van dit systeem, evenals de vele soorten berichten en de mogelijkheden die de afzender heeft voor elk type verzonden bericht.

De X.400-aanbevelingen definiëren de volgende minimaal vereiste reeks diensten die aan gebruikers moeten worden geleverd: toegangscontrole, onderhoud van unieke systeemberichtidentificatoren, berichtbezorging of niet-bezorging met reden, indicatie van berichtinhoudstype, indicatie van berichtinhoudconversie, verzending en bezorgtijdstempels, het selecteren van een bezorgingscategorie (dringend, niet-dringend, normaal), multicast-bezorging, vertraagde bezorging (tot een specifiek tijdstip), het transformeren van inhoud om te communiceren met incompatibele postsystemen zoals telex- en faxdiensten, het opvragen of een specifiek bericht is afgeleverd, mailinglijsten, die een geneste structuur kunnen hebben, middelen om berichten te beschermen tegen ongeoorloofde toegang, gebaseerd op een asymmetrisch cryptosysteem met openbare sleutel.

Het doel van de aanbevelingen X.500 is het ontwikkelen van mondiale helpdeskstandaarden. Het proces van het bezorgen van een bericht vereist kennis van het adres van de ontvanger, wat een probleem is in grote netwerken. Daarom is het noodzakelijk om een ​​helpdesk te hebben die helpt bij het verkrijgen van de adressen van afzenders en ontvangers. Over het algemeen is een X.500-service een gedistribueerde database met namen en adressen. Alle gebruikers mogen mogelijk inloggen op deze database met behulp van een specifieke set attributen.

De volgende bewerkingen zijn gedefinieerd in de namen- en adressendatabase:

  • lezen - een adres verkrijgen met een bekende naam,
  • verzoek - het verkrijgen van een naam op basis van bekende adreskenmerken,
  • wijziging waarbij records in een database worden verwijderd en toegevoegd.

De belangrijkste uitdagingen bij het implementeren van de X.500-aanbevelingen vloeien voort uit de omvang van dit project, dat een wereldwijde referentiedienst pretendeert te zijn. Daarom is software die X.500-aanbevelingen implementeert erg omslachtig en stelt het hoge eisen aan de hardwareprestaties.

Protocol V.T lost het probleem op van incompatibiliteit tussen verschillende terminalemulatieprotocollen. Momenteel moet een gebruiker van een personal computer die compatibel is met een IBM-pc, om tegelijkertijd met VAX-, IBM 3090- en HP9000-computers te kunnen werken, drie verschillende programma's aanschaffen om terminals van verschillende typen te emuleren en verschillende protocollen te gebruiken. Als elke hostcomputer ISO-terminal-emulatieprotocolsoftware zou hebben, zou de gebruiker slechts één programma nodig hebben dat het VT-protocol ondersteunt. ISO heeft in zijn standaard veelgebruikte terminalemulatiefuncties verzameld.

Bestandsoverdracht is de meest voorkomende computerservice. Toegang tot bestanden, zowel lokaal als op afstand, is nodig voor alle toepassingen: teksteditors, e-mail, databases of programma's die op afstand worden gestart. ISO biedt een dergelijke service in het protocol FTAM. Samen met de X.400-standaard is dit de populairste OSI-stackstandaard. FTAM biedt faciliteiten voor het lokaliseren van en toegang krijgen tot bestandsinhoud en bevat een reeks richtlijnen voor het invoegen, vervangen, uitbreiden en wissen van bestandsinhoud. FTAM biedt ook faciliteiten voor het manipuleren van het bestand als geheel, inclusief het maken, verwijderen, lezen, openen, sluiten van het bestand en het selecteren van de attributen ervan.

Protocol voor doorzending en werkcontrole JTM Hiermee kunnen gebruikers werk doorsturen dat op de hostcomputer moet worden voltooid. De taakcontroletaal die het verzenden van taken mogelijk maakt, vertelt de hostcomputer welke acties moeten worden uitgevoerd op welke programma's en bestanden. Het JTM-protocol ondersteunt traditionele batchverwerking, transactieverwerking, taakinvoer op afstand en gedistribueerde databasetoegang.

TCP/IP-stack

De TCP/IP-stack, ook wel de DoD-stack en de internetstack genoemd, is een van de meest populaire en veelbelovende communicatieprotocolstacks. Als het momenteel voornamelijk wordt gedistribueerd in netwerken met UNIX OS, dan is de implementatie ervan in de nieuwste versies van netwerkbesturingssystemen voor personal computers (Windows NT, NetWare) een goede voorwaarde voor de snelle groei van het aantal installaties van TCP/ IP-stack.

De stapel werd ruim twintig jaar geleden ontwikkeld op initiatief van het Amerikaanse ministerie van Defensie (DoD) om het experimentele ARPAnet-netwerk te verbinden met andere satellietnetwerken als een reeks gemeenschappelijke protocollen voor heterogene computeromgevingen. Het ARPA-netwerk ondersteunde ontwikkelaars en onderzoekers op militair gebied. In het ARPA-netwerk vond de communicatie tussen twee computers plaats via het Internet Protocol (IP), dat tot op de dag van vandaag een van de belangrijkste is in de TCP / IP-stack en voorkomt in de naam van de stack.

Berkeley University heeft een belangrijke bijdrage geleverd aan de ontwikkeling van de TCP/IP-stack door stapelprotocollen te implementeren in haar versie van het UNIX-besturingssysteem. De wijdverbreide acceptatie van het UNIX-besturingssysteem leidde ook tot de wijdverbreide adoptie van IP- en andere stapelprotocollen. Deze stapel drijft ook het internet aan, waarvan de Internet Engineering Task Force (IETF) een belangrijke bijdrage levert aan de ontwikkeling van stapelstandaarden die worden gepubliceerd in de vorm van RFC-specificaties.

Omdat de TCP/IP-stack werd ontwikkeld vóór de komst van het ISO/OSI-interconnectiemodel voor open systemen, hoewel deze ook een structuur met meerdere niveaus heeft, is de overeenkomst tussen de TCP/IP-stackniveaus en de niveaus van het OSI-model tamelijk voorwaardelijk. .

De structuur van de TCP/IP-protocollen wordt weergegeven in Figuur 1.4. TCP/IP-protocollen zijn onderverdeeld in 4 niveaus.

Rijst. 1.4. TCP/IP-stack

De laagste ( niveau IV ) - niveau van netwerkinterfaces - komt overeen met de fysieke en datalinkniveaus van het OSI-model. Dit niveau in de TCP/IP-protocollen is niet gereguleerd, maar ondersteunt alle populaire standaarden van de fysieke en datalinklaag: voor lokale kanalen zijn dit Ethernet, Token Ring, FDDI, voor mondiale kanalen - hun eigen protocollen voor het werken op analoge dial- up- en huurlijnen SLIP/PPP, die point-to-point-verbindingen tot stand brengen via seriële WAN-verbindingen, en WAN-protocollen X.25 en ISDN. Er is ook een speciale specificatie ontwikkeld die het gebruik van ATM-technologie als datalinklaagtransport definieert.

Volgende niveau ( niveau III ) is de internetwerklaag die zich bezighoudt met de overdracht van datagrammen via verschillende lokale netwerken, X.25-gebiedsnetwerken, ad-hoclijnen, enz. De stapel gebruikt het protocol IK P, dat oorspronkelijk was ontworpen als een protocol voor het verzenden van pakketten in samengestelde netwerken die bestaan ​​uit een groot aantal lokale netwerken die met elkaar zijn verbonden door zowel lokale als mondiale verbindingen. Daarom werkt het IP-protocol goed in netwerken met complexe topologieën, waarbij rationeel gebruik wordt gemaakt van de aanwezigheid van subsystemen daarin en economisch gebruik wordt gemaakt van de bandbreedte van communicatielijnen met lage snelheid. Het IP-protocol is een datagramprotocol.

Het niveau van internetwerken omvat ook alle protocollen die verband houden met het samenstellen en wijzigen van routeringstabellen, zoals protocollen voor het verzamelen van routeringsinformatie RUST IN VREDE.(Routing internetprotocol) en OSPF(Open Shortest Path First), evenals het Internet Control Message Protocol ICMP(Internetcontroleberichtprotocol). Dit laatste protocol is bedoeld om informatie over fouten uit te wisselen tussen de router en de gateway, het bronsysteem en het bestemmingssysteem, dat wil zeggen om feedback te organiseren. Met behulp van speciale ICMP-pakketten wordt gemeld dat het onmogelijk is een pakket af te leveren, dat de levensduur of duur van het samenstellen van een pakket uit fragmenten is overschreden, afwijkende parameterwaarden, een verandering in de doorstuurroute en het type service, de status van het systeem, enz.

Volgende niveau ( niveau II) wordt basis genoemd. Op dit niveau werkt het transmissiecontroleprotocol TCP(Transmission Control Protocol) en Gebruikersdatagramprotocol UDP(Gebruikersdatagramprotocol). Het TCP-protocol biedt een stabiele virtuele verbinding tussen applicatieprocessen op afstand. Het UDP-protocol zorgt voor de overdracht van applicatiepakketten met behulp van de datagrammethode, dat wil zeggen zonder een virtuele verbinding tot stand te brengen, en vereist daarom minder overhead dan TCP.

Topniveau ( niveau I) wordt toegepast genoemd. Door de vele jaren van gebruik in de netwerken van verschillende landen en organisaties heeft de TCP/IP-stack een groot aantal protocollen en diensten op applicatieniveau verzameld. Hiertoe behoren wijdverbreide protocollen als het FTP-protocol voor het kopiëren van bestanden, het telnet-terminal-emulatieprotocol, het SMTP-mailprotocol dat wordt gebruikt in internet-e-mail en de Russische tak RELCOM, hypertext-services voor toegang tot informatie op afstand, zoals WWW en vele andere. Laten we enkele ervan nader bekijken die het nauwst verband houden met de onderwerpen van deze cursus.

Protocol SNMP(Simple Network Management Protocol) wordt gebruikt om het netwerkbeheer te organiseren. Het managementprobleem wordt hier opgesplitst in twee problemen. De eerste taak heeft betrekking op de overdracht van informatie. Protocollen voor de overdracht van controle-informatie bepalen de procedure voor interactie tussen de server en het clientprogramma dat op de host van de beheerder draait. Ze definiëren de berichtformaten die worden uitgewisseld tussen clients en servers, evenals de formaten voor namen en adressen. De tweede uitdaging houdt verband met gecontroleerde gegevens. De standaarden regelen welke gegevens moeten worden opgeslagen en verzameld in gateways, de namen van deze gegevens en de syntaxis van deze namen. De SNMP-standaard definieert een specificatie voor een netwerkbeheerinformatiedatabase. Deze specificatie, bekend als de Management Information Base (MIB), definieert de gegevenselementen die een host of gateway moet opslaan en de toegestane bewerkingen daarop.

Protocol voor bestandsoverdracht FTP(File Transfer Protocol) implementeert externe bestandstoegang. Om een ​​betrouwbare overdracht te garanderen, gebruikt FTP het verbindingsgerichte protocol TCP als transport. Naast het bestandsoverdrachtprotocol biedt FTP nog andere diensten. Dit geeft de gebruiker de mogelijkheid om interactief te communiceren met een externe machine, hij kan bijvoorbeeld de inhoud van de mappen afdrukken; FTP stelt de gebruiker in staat het type en formaat van de gegevens die moeten worden opgeslagen te specificeren. Ten slotte authenticeert FTP gebruikers. Voordat het bestand wordt geopend, vereist het protocol dat gebruikers hun gebruikersnaam en wachtwoord opgeven.

In de TCP/IP-stack biedt FTP de meest uitgebreide set bestandsservices, maar is ook het meest complex om te programmeren. Toepassingen die niet alle mogelijkheden van FTP vereisen, kunnen een ander, kosteneffectiever protocol gebruiken: het Simple File Transfer Protocol TFTP(Triviaal bestandsoverdrachtprotocol). Dit protocol implementeert alleen bestandsoverdracht en het gebruikte transport is een eenvoudiger dan TCP, verbindingsloos protocol - UDP.

Protocol telnet zorgt voor de overdracht van een stroom bytes tussen processen, maar ook tussen een proces en een terminal. Meestal wordt dit protocol gebruikt om een ​​externe computerterminal te emuleren.

IPX/SPX-stack

Deze stapel is de originele protocolstack van Novell, die begin jaren '80 werd ontwikkeld voor het NetWare-netwerkbesturingssysteem. De protocollen Internetwork Packet Exchange (IPX) en Sequenced Packet Exchange (SPX), waaraan de stack zijn naam dankt, zijn directe aanpassingen van de XNS-protocollen van Xerox, die veel minder vaak voorkomen dan IPX/SPX. Wat installaties betreft zijn de IPX/SPX-protocollen toonaangevend, en dit is te danken aan het feit dat het NetWare-besturingssysteem zelf een leidende positie inneemt met een aandeel installaties wereldwijd van ongeveer 65%.

De Novell-protocolfamilie en hun correspondentie met het ISO/OSI-model worden weergegeven in figuur 1.5.

Rijst. 1.5. IPX/SPX-stack

Op fysieke en datalinkniveaus Novell-netwerken gebruiken alle populaire protocollen van deze niveaus (Ethernet, Token Ring, FDDI en andere).

Op netwerkniveau het protocol werkt in de Novell-stack IPX, evenals routeringsprotocollen voor informatie-uitwisseling RUST IN VREDE. En NLSP(analoog aan het OSPF-protocol van de TCP/IP-stack). IPX is een protocol dat zich bezighoudt met het adresseren en routeren van pakketten op Novell-netwerken. IPX-routeringsbeslissingen zijn gebaseerd op de adresvelden in de pakketheader en op informatie uit routeringsinformatie-uitwisselingsprotocollen. IPX gebruikt bijvoorbeeld informatie die wordt verstrekt door RIP of NLSP (NetWare Link State Protocol) om pakketten door te sturen naar de doelcomputer of de volgende router. Het IPX-protocol ondersteunt alleen de datagrammethode voor berichtuitwisseling, waardoor het economisch computerbronnen verbruikt. Het IPX-protocol biedt dus drie functies: een adres instellen, een route vaststellen en datagrammen verzenden.

De transportlaag van het OSI-model in de Novell-stack komt overeen met het SPX-protocol, dat verbindingsgerichte berichtenoverdracht uitvoert.

Bovenop toepassings-, presentatie- en sessieniveaus NCP- en SAP-protocollen werken. Protocol NCP(NetWare Core Protocol) is een protocol voor interactie tussen de NetWare-server en de werkstationshell. Dit applicatielaagprotocol implementeert de client-serverarchitectuur in de bovenste lagen van het OSI-model. Met behulp van de functies van dit protocol maakt het werkstation verbinding met de server, wijst de servermappen toe aan lokale stationsletters, scant het bestandssysteem van de server, kopieert bestanden op afstand, wijzigt hun kenmerken, enz., en deelt ook een netwerkprinter tussen werkstations.

(Service Advertising Protocol) - het serviceadvertentieprotocol is conceptueel vergelijkbaar met het RIP-protocol. Net zoals RIP routers in staat stelt routeringsinformatie uit te wisselen, staat SAP netwerkapparaten toe informatie uit te wisselen over beschikbare netwerkdiensten.

Servers en routers gebruiken SAP om reclame te maken voor hun services en netwerkadressen. Dankzij het SAP-protocol kunnen netwerkapparaten voortdurend informatie bijwerken over welke services momenteel beschikbaar zijn op het netwerk. Bij het opstarten gebruiken servers SAP om de rest van het netwerk op de hoogte te stellen van hun services. Wanneer een server wordt afgesloten, gebruikt deze SAP om het netwerk te laten weten dat de services zijn stopgezet.

Op Novell-netwerken verzenden NetWare 3.x-servers elke minuut SAP-broadcastpakketten. SAP-pakketten verstoppen het netwerk aanzienlijk, dus een van de belangrijkste taken van routers die toegang hebben tot wereldwijde communicatie is het filteren van verkeer uit SAP-pakketten en RIP-pakketten.

De kenmerken van de IPX/SPX-stack zijn te danken aan de kenmerken van het NetWare-besturingssysteem, namelijk de oriëntatie van de vroege versies (tot 4.0) voor het werken in kleine lokale netwerken bestaande uit personal computers met bescheiden bronnen. Daarom had Novell protocollen nodig die een minimale hoeveelheid RAM vereisten (beperkt tot 640 KB op IBM-compatibele computers met MS-DOS) en die snel zouden werken op processors met een laag energieverbruik. Als gevolg hiervan werkten de IPX/SPX-stackprotocollen tot voor kort goed in lokale netwerken en niet zo goed in grote bedrijfsnetwerken, omdat ze langzame mondiale verbindingen overbelastten met broadcastpakketten die intensief worden gebruikt door verschillende protocollen in deze stack (bijvoorbeeld om communicatie tot stand brengen tussen clients en servers).

Deze omstandigheid, evenals het feit dat de IPX/SPX-stack eigendom is van Novell en een licentie vereist om deze te implementeren, heeft de distributie ervan lange tijd beperkt tot NetWare-netwerken. Tegen de tijd dat NetWare 4.0 werd uitgebracht, had Novell echter grote wijzigingen aangebracht in de protocollen, en blijft deze nog steeds doorvoeren, met als doel deze aan te passen aan de werking in bedrijfsnetwerken. Nu is de IPX/SPX-stack niet alleen in NetWare geïmplementeerd, maar ook in verschillende andere populaire netwerkbesturingssystemen - SCO UNIX, Sun Solaris, Microsoft Windows NT.

NetBIOS/SMB-stack

Microsoft en IBM werkten samen aan netwerktools voor personal computers, dus de NetBIOS/SMB-protocolstack is hun gezamenlijke geesteskind. NetBIOS-tools verschenen in 1984 als een netwerkuitbreiding van de standaardfuncties van het basisinvoer-/uitvoersysteem (BIOS) van de IBM PC voor het PC Network-netwerkprogramma van IBM, dat op applicatieniveau (Fig. 1.6) gebruik maakte van de SMB ( Server Message Block)-protocol om netwerkdiensten te implementeren.

Rijst. 1.6. NetBIOS/SMB-stack

Protocol NetBIOS werkt op drie niveaus van het open systeeminteractiemodel: netwerk, transport en sessie. NetBIOS kan een hoger serviceniveau bieden dan de IPX- en SPX-protocollen, maar beschikt niet over routeringsmogelijkheden. NetBIOS is dus geen netwerkprotocol in de strikte zin van het woord. NetBIOS bevat veel nuttige netwerkfuncties die kunnen worden toegeschreven aan de netwerk-, transport- en sessielagen, maar kan niet worden gebruikt om pakketten te routeren, aangezien het NetBIOS-frame-uitwisselingsprotocol niet zo'n concept als een netwerk introduceert. Dit beperkt het gebruik van het NetBIOS-protocol tot lokale netwerken die niet in subnetten zijn opgenomen. NetBIOS ondersteunt zowel datagram- als verbindingsgebaseerde communicatie.

Protocol MKB, overeenkomend met de applicatie- en representatieve niveaus van het OSI-model, regelt de interactie van het werkstation met de server. SMB-functies omvatten de volgende bewerkingen:

  • Sessiebeheer. Creëren en verbreken van een logisch kanaal tussen het werkstation en de netwerkbronnen van de bestandsserver.
  • Bestandstoegang. Een werkstation kan contact opnemen met de bestandsserver met verzoeken om mappen aan te maken en te verwijderen, bestanden aan te maken, te openen en te sluiten, bestanden te lezen en te schrijven, bestanden te hernoemen en te verwijderen, naar bestanden te zoeken, bestandskenmerken op te halen en in te stellen en records te vergrendelen.
  • Printservice. Het werkstation kan bestanden in de wachtrij plaatsen voor afdrukken op de server en informatie verkrijgen over de afdrukwachtrij.
  • Berichtenservice. SMB ondersteunt eenvoudige berichtenuitwisseling met de volgende functies: een eenvoudig bericht verzenden; een uitgezonden bericht verzenden; begin van berichtenblok verzenden; berichtbloktekst verzenden; einde berichtblok verzenden; gebruikersnaam doorsturen; de verzending annuleren; haal de machinenaam op.

Vanwege het grote aantal toepassingen dat gebruikmaakt van de API-functies van NetBIOS, implementeren veel netwerkbesturingssystemen deze functies als interface voor hun transportprotocollen. NetWare heeft een programma dat NetBIOS-functies emuleert op basis van het IPX-protocol, en er zijn software-emulators voor NetBIOS voor Windows NT en de TCP/IP-stack.

Waarom hebben we deze waardevolle kennis nodig? (redactioneel)

Een collega stelde mij ooit een lastige vraag. Nou, zegt hij, je weet wat het OSI-model is... En waarom heb je het nodig, wat is het praktische voordeel van deze kennis: tenzij je pronkt voor dummies? Het is niet waar, de voordelen van deze kennis zijn een systematische aanpak voor het oplossen van veel praktische problemen. Bijvoorbeeld:

  • probleemoplossen (
probleemoplossen)

Een gebruiker (gewoon een vriend) komt naar je toe als beheerder (een ervaren netwerker) en zegt: het maakt hier geen verbinding met mij. Er is geen netwerk, zegt hij, en dat is alles. Je begint het door te krijgen. Dus op basis van mijn ervaring met het observeren van mijn buren, merkte ik dat de acties van een persoon die zich “niet bewust is van het OSI-model in zijn hart” worden gekenmerkt door karakteristiek chaotisch gedrag: hij trekt aan een draad, of hij sleutelt plotseling aan iets. in de browser. En dit leidt er vaak toe dat zo'n 'specialist', zonder richting te geven, aan alles en overal zal trekken, behalve op het gebied van het probleem, waardoor hij veel van zijn eigen tijd en die van anderen verspilt. Wanneer men zich realiseert dat er niveaus van interactie bestaan, zal de beweging consistenter zijn. En hoewel het uitgangspunt anders kan zijn (in elk boek kwam ik tegen dat de aanbevelingen iets anders waren), is het algemene logische uitgangspunt van het oplossen van problemen als volgt: als op niveau X de interactie correct wordt uitgevoerd, dan is op niveau X-1 de meeste waarschijnlijk is ook alles in orde. In ieder geval voor elk specifiek moment tijd. Bij het oplossen van problemen in IP-netwerken begin ik persoonlijk te "graven" vanaf het tweede niveau van de DOD-stack, ook wel de derde OSI-laag genoemd, ook wel Internet Protocol genoemd. Ten eerste omdat het het gemakkelijkst is om een ​​“oppervlakkig onderzoek van de patiënt” uit te voeren (de patiënt pingt eerder wel dan niet), en ten tweede, als hij, godzijdank, pingt, kun je de onaangename manipulaties van het testen van kabels overslaan. netwerkkaarten en demontages, etc. leuke dingen;) Hoewel je in bijzonder ernstige gevallen nog steeds vanaf niveau één zult moeten beginnen, en wel op de meest serieuze manier.

  • wederzijds begrip met collega’s

Om dit punt te illustreren, zal ik je een voorbeeld uit het leven geven. Op een dag nodigden mijn vrienden van een klein bedrijf mij uit om mij te bezoeken om te helpen uitzoeken waarom het netwerk niet goed werkte, en om enkele aanbevelingen hierover te doen. Ik kom naar het kantoor. En het blijkt dat ze daar zelfs een beheerder hebben, volgens de goede oude traditie 'programmeur' genoemd (en in feite houdt hij zich vooral bezig met FoxPro;) - een oude IT-specialist van vóór de perestrojka. Nou, ik vraag hem: wat voor netwerk heb je? Hij: "Wat bedoel je? Nou ja, gewoon een netwerk." Het netwerk is in het algemeen als een netwerk. Welnu, ik heb enkele leidende vragen: welk protocol wordt op netwerkniveau gebruikt? Hij: “WAAR is dit?” Ik verduidelijk: “Nou, IP of IPX of wat je ook hebt...” “Oh”, zegt hij, “het lijkt wel ja: IPX/iets anders!” Trouwens, 'er-is-iets', zoals je misschien hebt gemerkt, bevindt zich iets hoger dan het netwerkniveau, maar dat is niet het punt... Wat typerend is, is dat hij dit netwerk heeft gebouwd en zelfs slecht heeft onderhouden. . Het is niet verwonderlijk dat het verdorde... ;) Als ik van OSI had geweten, had ik in 5 minuten een diagram geschetst - van 10Base-2 tot applicatieprogramma's. En je hoeft niet onder de tafel te kruipen om de coaxdraden te inspecteren.

  • nieuwe technologieën leren

Ik heb in het voorwoord al bij dit belangrijke aspect stilgestaan ​​en ik zal het nog een keer herhalen: bij het bestuderen van een nieuw protocol moet je allereerst begrijpen a) in welke protocolstapel(s) het thuishoort en b) in welk deel van de stapel en met wie het van onderaf communiceert en wie met hem bovenaan... :) En dit geeft je volledige duidelijkheid in je hoofd. En er zijn verschillende berichtformaten en API's - nou ja, dat is een kwestie van technologie :)

OSI-referentiemodel

Voor de duidelijkheid is het netwerkproces in het OSI-referentiemodel verdeeld in zeven lagen. Deze theoretische constructie maakt tamelijk complexe concepten gemakkelijker te leren en te begrijpen. Bovenaan het OSI-model staat de applicatie die toegang nodig heeft tot netwerkbronnen, onderaan staat de netwerkomgeving zelf. Terwijl gegevens van laag naar laag worden verplaatst, bereiden de protocollen die op die lagen werken deze geleidelijk voor op verzending via het netwerk. Zodra de gegevens het doelsysteem bereiken, bewegen ze zich door de lagen heen, waarbij dezelfde protocollen dezelfde acties uitvoeren, alleen in omgekeerde volgorde. In 1983 Internationale Organisatie voor Standaardisatie(Internationale Organisatie voor Standaardisatie, ISO) en Normalisatie sectortelecommunicatie van de Internationale Telecommunicatie-unie(Telecommunication Standardization Sector of International Telecommunication Union, ITU-T) publiceerde het document “The Basic Reference Model for Open Systems Interconnection”, waarin een model werd beschreven voor het distribueren van netwerkfuncties tussen 7 verschillende niveaus (Fig. 1.7). Deze zevenlaagse structuur zou de basis moeten vormen voor een nieuwe protocolstack, maar werd nooit in commerciële vorm geïmplementeerd. In plaats daarvan wordt het OSI-model gebruikt met bestaande protocolstacks als trainings- en referentietool. De meeste protocollen die tegenwoordig populair zijn, dateren van vóór de ontwikkeling van het OSI-model, en voldoen dus niet precies aan de zevenlaagse structuur ervan. Vaak combineert één protocol de functies van twee of zelfs meerdere niveaus van het model, en de grenzen van de protocollen komen vaak niet overeen met de grenzen van de OSI-lagen. Het OSI-model blijft echter een uitstekend visueel hulpmiddel bij het onderzoeken van netwerkprocessen, en professionals associëren functies en protocollen vaak met specifieke lagen.

Gegevensinkapseling

In wezen komt de interactie tussen protocollen die op verschillende niveaus van het OSI-model werken tot uiting in het feit dat elk protocol iets toevoegt titel(kop) of (in één geval) aanhangwagen(voettekst) naar de informatie die het heeft ontvangen van het niveau erboven. Een toepassing genereert bijvoorbeeld een verzoek aan een netwerkbron. Dit verzoek gaat omlaag in de protocolstack. Wanneer het de transportlaag bereikt, voegen protocollen op die laag hun eigen header toe aan het verzoek, bestaande uit velden met informatie die specifiek is voor de functies van dat protocol. Het oorspronkelijke verzoek zelf wordt een gegevensveld (payload) voor het transportlaagprotocol. Na het toevoegen van de header geeft het transportlaagprotocol het verzoek door aan de netwerklaag. Het netwerklaagprotocol voegt zijn eigen header toe aan de transportlaagprotocolheader. Voor een netwerklaagprotocol wordt de payload dus het oorspronkelijke verzoek en de transportlaagprotocolheader. Deze hele constructie wordt de payload voor het linklaagprotocol, dat er een header en trailer aan toevoegt. Het resultaat van deze activiteit is plastieken zak(pakket), klaar voor verzending via het netwerk. Wanneer het pakket zijn bestemming bereikt, wordt het proces in omgekeerde volgorde herhaald. Het protocol van elke volgende laag van de stapel (nu van onder naar boven) verwerkt en verwijdert de header van het equivalente protocol van het verzendende systeem. Wanneer het proces is voltooid, bereikt het oorspronkelijke verzoek de applicatie waarvoor het bedoeld was, in dezelfde vorm waarin het is gegenereerd. Het proces van het toevoegen van headers aan een verzoek (Figuur 1.8) dat door een applicatie wordt gegenereerd, wordt genoemd inkapseling van gegevens(gegevensinkapseling). In wezen lijkt deze procedure op het proces van het voorbereiden van een brief voor verzending per post. Het verzoek is de brief zelf, en het toevoegen van kopjes is hetzelfde als de brief in een envelop stoppen, het adres opschrijven, erop stempelen en hem daadwerkelijk versturen.

Fysieke laag

Op het laagste niveau van het OSI-model - fysiek(fysiek) - de kenmerken van netwerkapparatuurelementen worden bepaald - de netwerkomgeving, installatiemethode, type signalen dat wordt gebruikt om binaire gegevens via het netwerk te verzenden. Bovendien bepaalt de fysieke laag welk type netwerkadapter op elke computer moet worden geïnstalleerd en welk type hub (indien nodig) moet worden gebruikt. Op fysiek niveau hebben we te maken met koper- of glasvezelkabel of een soort draadloze verbinding. In een LAN zijn de specificaties van de fysieke laag rechtstreeks gerelateerd aan het datalinkprotocol dat op het netwerk wordt gebruikt. Zodra u een linklaagprotocol selecteert, moet u een van de fysieke laagspecificaties gebruiken die door dat protocol worden ondersteund. Het Ethernet-linklaagprotocol ondersteunt bijvoorbeeld verschillende fysieke laagopties: een van de twee soorten coaxkabel, elke twisted pair-kabel of glasvezelkabel. De parameters van elk van deze opties worden gevormd uit talrijke informatie over de vereisten van de fysieke laag, bijvoorbeeld het type kabel en connectoren, de toegestane lengte van kabels, het aantal hubs, enz. Het voldoen aan deze vereisten is noodzakelijk voor de normale werking van de protocollen. Bij een te lange kabel is het bijvoorbeeld mogelijk dat het Ethernet-systeem pakketbotsingen niet opmerkt, en als het systeem niet in staat is fouten te detecteren, kan het deze ook niet corrigeren, wat tot gegevensverlies leidt. Niet alle aspecten van de fysieke laag worden gedefinieerd door de linklaagprotocolstandaard. Sommige daarvan worden afzonderlijk gedefinieerd. Een van de meest gebruikte fysieke laagspecificaties wordt beschreven in de Commercial Building Telecommunications Cabling Standard, bekend als EIA/TIA 568A. Het wordt gezamenlijk gepubliceerd Amerikaans Nationaal Instituut van Standarts(Amerikaans Nationaal Standaard Instituut, ANSI), Verenigingen vanelektronica-industrieën(Electronics Industry Association, EIA) en Vereniging voor de Communicatiebranche(Telecommunicatie Industrie Associatie, TIA). Dit document bevat een gedetailleerde beschrijving van kabels voor datanetwerken in industriële omgevingen, inclusief minimale afstanden tot bronnen van elektromagnetische interferentie en andere bekabelingsrichtlijnen. Tegenwoordig wordt het leggen van kabels in grote netwerken meestal toevertrouwd aan gespecialiseerde bedrijven. De ingehuurde aannemer moet grondig bekend zijn met EIA/TIA 568A en andere soortgelijke documenten, evenals met de bouwvoorschriften van de stad. Een ander communicatie-element dat op de fysieke laag wordt gedefinieerd, is het type signaal voor het verzenden van gegevens via het netwerkmedium. Bij kabels met een koperen basis is dit signaal een elektrische lading, bij een glasvezelkabel een lichtpuls. Andere typen netwerkomgevingen kunnen gebruikmaken van radiogolven, infraroodpulsen en andere signalen. Naast de aard van de signalen bepaalt de fysieke laag hun transmissiepatroon, dat wil zeggen de combinatie van elektrische ladingen of lichtpulsen die worden gebruikt om de binaire informatie te coderen die door hogere lagen wordt gegenereerd. Ethernet-systemen gebruiken een signaleringsschema dat bekend staat als Manchester-codering(Manchester-codering), en in Token Ring-systemen wordt het gebruikt differentieelManchester(Differential Manchester)-schema.

Datalinklaag

Protocol kanaal(datalink)niveau zorgt voor de uitwisseling van informatie tussen de hardware van een computer die op het netwerk is aangesloten en netwerksoftware. Het bereidt gegevens voor die door het netwerklaagprotocol naar het netwerk worden verzonden, voor verzending naar het netwerk, en verzendt gegevens die door het systeem zijn ontvangen van het netwerk naar de netwerklaag. Bij het ontwerpen en bouwen van een LAN is het gebruikte linklaagprotocol de belangrijkste factor bij het kiezen van apparatuur en de manier waarop deze wordt geïnstalleerd. Om het linklaagprotocol te implementeren, zijn de volgende hardware en software vereist: netwerkinterfaceadapters (als de adapter een afzonderlijk apparaat is dat op de bus is aangesloten, wordt dit een netwerkinterfacekaart of eenvoudigweg een netwerkkaart genoemd); stuurprogramma's voor netwerkadapters; netwerkkabels (of andere netwerkmedia) en bijbehorende aansluitapparatuur; netwerkhubs (in sommige gevallen). Zowel netwerkadapters als hubs zijn ontworpen voor specifieke link-layer-protocollen. Ook zijn sommige netwerkkabels op maat gemaakt voor specifieke protocollen, maar er zijn ook kabels die geschikt zijn voor andere protocollen. Tegenwoordig is Ethernet (zoals altijd) natuurlijk het populairste linklaagprotocol. Token Ring loopt ver achter, gevolgd door andere protocollen zoals FDDI (Fiber Distributed Data Interface). Er zijn doorgaans drie hoofdelementen opgenomen in een linklaagprotocolspecificatie: het frameformaat (dat wil zeggen de header en trailer toegevoegd aan de netwerklaaggegevens vóór verzending naar het netwerk); mechanisme voor het controleren van de toegang tot de netwerkomgeving; een of meer fysieke laagspecificaties die bij een bepaald protocol worden gebruikt.

Frame-formaat

Het linklaagprotocol voegt een header en trailer toe aan de gegevens die worden ontvangen van het netwerklaagprotocol, waardoor deze worden omgezet in kader(frame) (Fig. 1.9). Opnieuw gebruik makend van de analogie met de post: de koptekst en de trailer zijn de envelop voor het verzenden van de brief. Ze bevatten de adressen van de verzendende en ontvangende systemen van het pakket. Voor LAN-protocollen zoals Ethernet en Token Ring zijn deze adressen hexadecimale reeksen van 6 bytes die in de fabriek aan netwerkadapters zijn toegewezen. Ze worden, in tegenstelling tot de adressen die op andere niveaus van het OSI-model worden gebruikt, gebeld appa militaire adressen(hardwareadres) of MAC-adressen (zie hieronder).

Opmerking Protocollen op verschillende lagen van het OSI-model hebben verschillende namen voor de structuren die ze creëren door een header toe te voegen aan gegevens die afkomstig zijn van een hoger protocol. Wat een linklaagprotocol bijvoorbeeld een frame noemt, zou een datagram voor de netwerklaag zijn. Een meer algemene naam voor een structurele gegevenseenheid op elk niveau is plastieken zak.

Het is belangrijk om te begrijpen dat linklaagprotocollen alleen communicatie mogelijk maken tussen computers op hetzelfde LAN. Het hardwareadres in de header hoort altijd bij een computer op hetzelfde LAN, zelfs als het doelsysteem zich op een ander netwerk bevindt. Andere belangrijke functies van het linklaagframe zijn identificatie van het netwerklaagprotocol dat de gegevens in het pakket heeft gegenereerd en informatie voor foutdetectie. De netwerklaag kan verschillende protocollen gebruiken, dus het linklaagprotocolframe bevat meestal code die kan worden gebruikt om te identificeren welk netwerklaagprotocol de gegevens in dat pakket heeft gegenereerd. Geleid door deze code stuurt het linklaagprotocol van de ontvangende computer de gegevens door naar het overeenkomstige protocol van zijn netwerklaag. Om fouten te detecteren, berekent het verzendende systeem cyclisch cue redundante code(cyclische redundantiecontrole, CRC) van de lading en schrijft deze naar de frametrailer. Na ontvangst van het pakket voert de doelcomputer dezelfde berekeningen uit en vergelijkt het resultaat met de inhoud van de trailer. Als de resultaten overeenkomen, werd de informatie foutloos verzonden. Anders gaat de ontvanger ervan uit dat het pakket beschadigd is en accepteert hij het niet.

Controle van mediatoegang

Computers op een LAN delen doorgaans een half-duplex netwerkmedium. In dit geval is het heel goed mogelijk dat twee computers tegelijkertijd gegevens gaan verzenden. In dergelijke gevallen treedt er een soort pakketbotsing op, botsing(botsing), waarbij gegevens in beide pakketten verloren gaan. Een van de belangrijkste functies van het datalinklaagprotocol is mediatoegangscontrole (MAC), dat wil zeggen het controleren van de gegevensoverdracht door elke computer en het minimaliseren van pakketbotsingen. Het mediatoegangscontrolemechanisme is een van de belangrijkste kenmerken van een linklaagprotocol. Ethernet maakt gebruik van een mechanisme met carrier sense en collisiedetectie (Carrier Sense Multiple Access with Collision Detection, CSMA/CD) om de toegang tot het medium te controleren. Sommige andere protocollen, zoals Token Ring, gebruiken het doorgeven van tokens.

Specificaties fysieke laag

Linklaagprotocollen die in LAN's worden gebruikt, ondersteunen vaak meer dan één netwerkmedium, en een of meer fysieke laagspecificaties zijn opgenomen in de protocolstandaard. De datalink en fysieke lagen zijn nauw met elkaar verbonden, omdat de eigenschappen van het netwerkmedium een ​​aanzienlijke invloed hebben op de manier waarop het protocol de toegang tot het medium controleert. Daarom kunnen we zeggen dat linklaagprotocollen in lokale netwerken ook de functies van de fysieke laag vervullen. WAN's gebruiken linklaagprotocollen die geen fysieke laaginformatie bevatten, bijvoorbeeld SLIP (Serial Line Internet Protocol) en PPP (Point-to-Point Protocol).

Netwerklaag

Op het eerste gezicht lijkt het misschien zo netwerk(netwerk)laag dupliceert sommige functies van de datalinklaag. Maar dit is niet waar: netwerklaagprotocollen zijn ‘verantwoordelijk’ voor eind tot eind(end-to-end) communicatie, terwijl linklaagprotocollen alleen binnen een LAN werken. Met andere woorden: netwerklaagprotocollen garanderen volledig de overdracht van een pakket van de bron naar het doelsysteem. Afhankelijk van het type netwerk kunnen de zender en de ontvanger zich op hetzelfde LAN bevinden, op verschillende LAN's binnen hetzelfde gebouw, of op LAN's die duizenden kilometers van elkaar verwijderd zijn. Wanneer u bijvoorbeeld met een server op internet communiceert, gaan de door uw computer gegenereerde pakketten op weg ernaar toe door tientallen netwerken. Het linklaagprotocol zal verschillende keren veranderen om deze netwerken tegemoet te komen, maar het netwerklaagprotocol zal helemaal hetzelfde blijven. De hoeksteen van de TCP/IP-protocolsuite (Transmission Control Protocol/Internet Protocol) en het meest gebruikte netwerklaagprotocol is het Internet Protocol (IP). Novell NetWare heeft zijn eigen IPX-netwerkprotocol (Internetwork Packet Exchange), en kleine Microsoft Windows-netwerken gebruiken doorgaans het NetBEUI-protocol (NetBIOS Enhanced User Interface). De meeste functies die aan de netwerklaag zijn toegewezen, worden bepaald door de mogelijkheden van het IP-protocol. Net als een linklaagprotocol voegt een netwerklaagprotocol een header toe aan de gegevens die het van een hogere laag ontvangt (Figuur 1.10). Een data-element gecreëerd door een netwerklaagprotocol bestaat uit transportlaaggegevens en een netwerklaagheader en wordt aangeroepen datagram(datagram).


Adressering

De netwerklaagprotocolheader bevat, net als de linklaagprotocolheader, velden met de adressen van de bron- en doelsystemen. In dit geval behoort het bestemmingssysteemadres echter tot de eindbestemming van het pakket en kan verschillen van het bestemmingsadres in de linklaagprotocolheader. Wanneer u bijvoorbeeld het adres van een website in de adresbalk van uw browser typt, specificeert het pakket dat door uw computer wordt gegenereerd het adres van het doelsysteem op netwerkniveau als het adres van de webserver, terwijl op de linklaag het adres van de router op uw LAN die de internettoegang levert. IP gebruikt zijn eigen adresseringssysteem, dat volledig onafhankelijk is van link-layer-adressen. Aan elke computer in een IP-netwerk wordt handmatig of automatisch een 32-bits IP-adres toegewezen dat zowel de computer zelf als het netwerk waarop deze zich bevindt, identificeert. Bij IPX wordt een hardwareadres gebruikt om de computer zelf te identificeren, daarnaast wordt een speciaal adres gebruikt om het netwerk te identificeren waarop de computer zich bevindt. NetBEUI onderscheidt computers op basis van de NetBIOS-namen die tijdens de installatie aan elk systeem zijn toegewezen.

Fragmentatie

Netwerklaagdatagrammen moeten meerdere netwerken doorkruisen op weg naar hun bestemming, waarbij ze de specifieke eigenschappen en beperkingen van verschillende linklaagprotocollen tegenkomen. Eén van deze beperkingen is de maximale pakketgrootte die door het protocol is toegestaan. Een Token Ring-frame kan bijvoorbeeld maximaal 4500 bytes groot zijn, terwijl Ethernet-frames maximaal 1500 bytes groot kunnen zijn. Wanneer een groot datagram dat in een Token Ring-netwerk is gegenereerd, naar een Ethernet-netwerk wordt verzonden, moet het netwerklaagprotocol dit in verschillende fragmenten van niet meer dan 1500 bytes opsplitsen. Dit proces wordt genoemd fragmentatie(fragmentatie). Tijdens het fragmentatieproces verdeelt het netwerklaagprotocol het datagram in fragmenten, waarvan de grootte overeenkomt met de mogelijkheden van het gebruikte datalinklaagprotocol. Elk fragment wordt een onafhankelijk pakket en vervolgt zijn pad naar het doelnetwerklaagsysteem. Het brondatagram wordt pas gevormd nadat alle fragmenten de bestemming hebben bereikt. Soms moeten op weg naar het doelsysteem de fragmenten waarin het datagram is opgedeeld opnieuw worden gefragmenteerd.

Routering

Routering(routing) is het proces waarbij de meest efficiënte route op internet wordt geselecteerd voor het verzenden van datagrammen van het verzendende systeem naar het ontvangende systeem. Bij complexe internetwerken, zoals internet of grote bedrijfsnetwerken, zijn er vaak meerdere paden om van de ene computer naar de andere te komen. Netwerkontwerpers creëren doelbewust redundante verbindingen, zodat verkeer zijn weg naar zijn bestemming kan vinden, zelfs als een van de routers uitvalt. Routers worden gebruikt om individuele LAN's die deel uitmaken van het internet met elkaar te verbinden. Het doel van een router is inkomend verkeer van het ene netwerk te accepteren en dit door te sturen naar een specifiek systeem op een ander netwerk. Er zijn twee soorten systemen op internetnetwerken: terminal(eindsystemen) en tussenliggend(tussensystemen). Eindsystemen zijn zenders en ontvangers van pakketten. Een router is een tussensysteem. Eindsystemen gebruiken alle zeven lagen van het OSI-model, terwijl pakketten die bij tussensystemen aankomen niet boven de netwerklaag uitstijgen. Daar verwerkt de router het pakket en stuurt het de stapel op voor verzending naar het volgende doelsysteem (Figuur 1.11).


Om het pakket correct naar het doel te routeren, slaan routers tabellen met netwerkinformatie op in het geheugen. Deze informatie kan handmatig door de beheerder worden ingevoerd of automatisch van andere routers worden verzameld met behulp van gespecialiseerde protocollen. Een typische invoer in een routeringstabel bevat het adres van een ander netwerk en het adres van de router waarlangs pakketten naar dat netwerk moeten reizen. Bovendien bevat het routeringstabelelement routemetriek - voorwaardelijke beoordeling van de doeltreffendheid ervan. Als er meerdere routes naar een systeem zijn, selecteert de router de meest efficiënte en verzendt het datagram naar de datalinklaag voor verzending naar de router die is opgegeven in de tabelinvoer met de beste metriek. In grote netwerken kan routering een buitengewoon complex proces zijn, maar meestal gebeurt dit automatisch en onopgemerkt door de gebruiker.

Transportlaagprotocolidentificatie

Net zoals de linklaagheader het netwerklaagprotocol specificeert dat de gegevens heeft gegenereerd en verzonden, bevat de netwerklaagheader informatie over het transportlaagprotocol waarvan de gegevens zijn ontvangen. Op basis van deze informatie stuurt het ontvangende systeem binnenkomende datagrammen door naar het juiste transportlaagprotocol.

Transport laag

Functies uitgevoerd door protocollen vervoer(transport)laag, vormen een aanvulling op de functies van netwerklaagprotocollen. Vaak vormen de protocollen van deze niveaus die worden gebruikt voor datatransmissie een onderling verbonden paar, zoals te zien is in het voorbeeld van TCP/IP: het TCP-protocol werkt op de transportlaag, IP op de netwerklaag. De meeste protocolsuites hebben twee of meer transportlaagprotocollen die verschillende functies uitvoeren. Een alternatief voor TCP is UDP (User Datagram Protocol). De IPX-protocolsuite omvat ook verschillende transportlaagprotocollen, waaronder NCP (NetWare Core Protocol) en SPX (Sequenced Packet Exchange). Het verschil tussen transportlaagprotocollen uit een bepaalde set is dat sommige verbindingsgericht zijn en andere niet. Systemen die het protocol gebruiken verbindingsgericht(verbindingsgericht), voordat ze gegevens verzenden, wisselen ze berichten uit om communicatie met elkaar tot stand te brengen. Dit zorgt ervoor dat systemen zijn ingeschakeld en klaar voor gebruik. Het TCP-protocol is bijvoorbeeld verbindingsgericht. Wanneer u via een browser verbinding maakt met een internetserver, voeren de browser en de server eerst een zogenaamde handdruk in drie stappen(handdruk in drie richtingen). Pas daarna verzendt de browser het adres van de gewenste webpagina naar de server. Wanneer de gegevensoverdracht is voltooid, voeren de systemen dezelfde handshake uit om de verbinding te beëindigen. Bovendien voeren verbindingsgerichte protocollen aanvullende acties uit, zoals het verzenden van een pakketbevestigingssignaal, het segmenteren van gegevens, het regelen van de stroom en het detecteren en corrigeren van fouten. Meestal worden dit soort protocollen gebruikt om grote hoeveelheden informatie over te dragen die geen enkele fout mag bevatten, zoals gegevensbestanden of programma's. Extra kenmerken van verbindingsgerichte protocollen zorgen voor een correcte gegevensoverdracht. Dit is de reden waarom deze protocollen vaak worden genoemd betrouwbaar(betrouwbaar). Betrouwbaarheid is in dit geval een technische term en betekent dat elk verzonden pakket wordt gecontroleerd op fouten, en dat het verzendende systeem op de hoogte wordt gesteld van de bezorging van elk pakket. Het nadeel van dit type protocol is de aanzienlijke hoeveelheid besturingsgegevens die tussen de twee systemen worden uitgewisseld. Eerst worden aanvullende berichten verzonden wanneer de communicatie tot stand is gebracht en beëindigd. Ten tweede is de header die door een verbindingsgericht protocol aan het pakket wordt toegevoegd aanzienlijk groter dan de header van een verbindingsloos protocol. De TCP/IP-protocolheader is bijvoorbeeld 20 bytes en de UDP-header 8 bytes. Protocol, niet verbindingsgericht(verbindingsloos), brengt geen verbinding tot stand tussen twee systemen voordat gegevens worden overgedragen. De afzender verzendt eenvoudigweg informatie naar het doelsysteem zonder zich zorgen te hoeven maken of het klaar is om de gegevens te accepteren of dat het systeem überhaupt bestaat. Normaal gesproken nemen systemen hun toevlucht tot verbindingsloze protocollen zoals UDP voor korte transacties die alleen uit verzoeken en antwoordsignalen bestaan. Het responssignaal van de ontvanger functioneert impliciet als een transmissiebevestigingssignaal.

Opmerking Verbindingsgerichte en verbindingsloze protocollen zijn niet beperkt tot de transportlaag. Netwerklaagprotocollen zijn bijvoorbeeld meestal niet verbindingsgericht, omdat ze afhankelijk zijn van de transportlaag om de betrouwbaarheid van de communicatie te garanderen.

Transportlaagprotocollen (evenals netwerk- en datalinklagen) bevatten doorgaans informatie uit hogere lagen. De TCP- en UDP-headers bevatten bijvoorbeeld poortnummers die de applicatie identificeren waarvan het pakket afkomstig is en de applicatie waarvoor het bestemd is. Op sessie(sessie)niveau ontstaat er een significante discrepantie tussen de feitelijk gebruikte protocollen en het OSI-model. In tegenstelling tot lagere lagen zijn er geen speciale sessielaagprotocollen. De functies van deze laag zijn geïntegreerd in protocollen die ook de functies van de representatieve en applicatielagen uitvoeren. De transport-, netwerk-, datalink- en fysieke lagen zijn verantwoordelijk voor de daadwerkelijke overdracht van gegevens over het netwerk. Protocollen van de sessie en hogere niveaus hebben niets te maken met het communicatieproces. De sessielaag omvat 22 services, waarvan er vele bepalen hoe informatie wordt uitgewisseld tussen systemen op het netwerk. De belangrijkste diensten zijn dialoogmanagement en dialoogscheiding. De uitwisseling van informatie tussen twee systemen op een netwerk wordt genoemd dialoog(dialoog). Dialoogmanagement(dialoogbesturing) bestaat uit het kiezen van de modus waarin de systemen berichten uitwisselen. Er zijn twee van dergelijke modi: half duplex(tweerichtingsalternatief, TWA) en dubbelzijdig(tweerichtingsverkeer gelijktijdig, TWS). In de half-duplexmodus verzenden de twee systemen samen met de gegevens ook tokens. Informatie kan alleen worden overgedragen naar de computer waarop het token momenteel staat. Dit voorkomt botsingen tussen berichten onderweg. Het duplexmodel is ingewikkelder. Er zitten geen markeringen in; beide systemen kunnen op elk moment gegevens verzenden, zelfs gelijktijdig. Dialoog verdelen(dialoogscheiding) bestaat uit opname in de datastroom controle punten(controlepunten) waarmee de werking van twee systemen kan worden gesynchroniseerd. De moeilijkheidsgraad van het verdelen van de dialoog hangt af van de wijze waarop deze wordt uitgevoerd. In de half-duplexmodus voeren systemen kleine synchronisatie uit door controlepuntberichten uit te wisselen. In de volledige duplexmodus voeren systemen volledige synchronisatie uit met behulp van het master/actieve token.

Uitvoerend niveau

Op vertegenwoordiger De presentatielaag vervult één enkele functie: syntaxisvertaling tussen verschillende systemen. Soms gebruiken computers in een netwerk verschillende syntaxis. De representatieve laag stelt hen in staat "het eens te worden" over een gemeenschappelijke syntaxis voor het uitwisselen van gegevens. Bij het tot stand brengen van een verbinding op de presentatielaag wisselen systemen berichten uit over welke syntaxis ze hebben en selecteren ze degene die ze tijdens de sessie zullen gebruiken. Beide systemen die bij de verbinding betrokken zijn, hebben dat wel abstractsyntaxis(abstracte syntaxis) is hun ‘native’ vorm van communicatie. De abstracte syntaxis van verschillende computerplatforms kan variëren. Tijdens het systeemcoördinatieproces wordt een gemeenschappelijk syntaxis overbrengengegevens(overdrachtsyntaxis). Het verzendende systeem zet zijn abstracte syntaxis om in de syntaxis van gegevensoverdracht, en het ontvangende systeem doet na voltooiing van de overdracht het tegenovergestelde. Indien nodig kan het systeem een ​​syntaxis voor gegevensoverdracht selecteren met extra functies, zoals datacompressie of encryptie.

Applicatielaag

De applicatielaag is het toegangspunt waarlangs programma's toegang krijgen tot het OSI-model en netwerkbronnen. De meeste applicatielaagprotocollen bieden netwerktoegangsdiensten. SMTP (Simple Mail Transfer Protocol) is bijvoorbeeld wat de meeste e-mailprogramma's gebruiken om berichten te verzenden. Andere applicatielaagprotocollen, zoals FTP (File Transfer Protocol), zijn zelf programma's. Applicatielaagprotocollen bevatten vaak sessie- en presentatielaagfuncties. Als gevolg hiervan bevat een typische protocolstack vier afzonderlijke protocollen die werken op de applicatie-, transport-, netwerk- en datalinklagen.

De ontwikkeling hiervan hield geen verband met het OSI-model.

OSI-modellagen

Het model bestaat uit 7 boven elkaar gelegen niveaus. De lagen communiceren met elkaar (verticaal) via interfaces, en kunnen met behulp van protocollen communiceren met een parallelle laag van een ander systeem (horizontaal). Elk niveau kan alleen communiceren met zijn buren en de functies uitvoeren die alleen aan het niveau zijn toegewezen. Meer details zijn te zien in de figuur.

OSI-model
Data type Niveau Functies
Gegevens 7. Applicatielaag Toegang tot netwerkdiensten
6. Presentatielaag Gegevensrepresentatie en codering
5. Sessielaag Sessiebeheer
Segmenten 4. Vervoer Directe communicatie tussen eindpunten en betrouwbaarheid
Pakketjes 3. Netwerk Routebepaling en logische adressering
Personeel 2. Kanaal Fysieke adressering
Beetjes 1. Fysieke laag Werken met transmissiemedia, signalen en binaire gegevens

Applicatie (Applicatie) niveau Applicatielaag)

Het hoogste niveau van het model zorgt voor de interactie van gebruikersapplicaties met het netwerk. Met deze laag kunnen toepassingen netwerkdiensten gebruiken, zoals externe toegang tot bestanden en databases en het doorsturen van e-mail. Het is ook verantwoordelijk voor het verzenden van service-informatie, het voorzien van applicaties van informatie over fouten en het genereren van verzoeken aan presentatie niveau. Voorbeeld: HTTP, POP3, SMTP, FTP, XMPP, OSCAR, BitTorrent, MODBUS, SIP

Executive (presentatieniveau) Presentatie laag)

Deze laag is verantwoordelijk voor de protocolconversie en het coderen/decoderen van gegevens. Het converteert applicatieverzoeken die zijn ontvangen van de applicatielaag naar een formaat voor verzending via het netwerk, en converteert gegevens die zijn ontvangen van het netwerk naar een formaat dat begrijpelijk is voor applicaties. Deze laag kan gegevens comprimeren/decomprimeren of coderen/decoderen, en verzoeken omleiden naar een andere netwerkbron als deze niet lokaal kunnen worden verwerkt.

Laag 6 (presentaties) van het OSI-referentiemodel is doorgaans een tussenprotocol voor het converteren van informatie uit aangrenzende lagen. Dit maakt communicatie mogelijk tussen applicaties op verschillende computersystemen op een manier die transparant is voor de applicaties. De presentatielaag biedt codeopmaak en -transformatie. Codeopmaak wordt gebruikt om ervoor te zorgen dat de toepassing informatie ontvangt om te verwerken die logisch is. Indien nodig kan deze laag vertalingen uitvoeren van het ene dataformaat naar het andere. De presentatielaag houdt zich niet alleen bezig met de formaten en presentatie van gegevens, maar ook met de datastructuren die door programma's worden gebruikt. Laag 6 zorgt dus voor de organisatie van gegevens terwijl deze worden verzonden.

Om te begrijpen hoe dit werkt, moeten we ons voorstellen dat er twee systemen zijn. De ene gebruikt EBCDIC, zoals een IBM-mainframe, om gegevens weer te geven, en de andere gebruikt ASCII (de meeste andere computerfabrikanten gebruiken het). Als deze twee systemen informatie moeten uitwisselen, is er een presentatielaag nodig die de conversie uitvoert en vertaalt tussen de twee verschillende formaten.

Een andere functie die op de presentatielaag wordt uitgevoerd, is gegevensversleuteling, die wordt gebruikt in gevallen waarin het nodig is om verzonden informatie te beschermen tegen ontvangst door ongeautoriseerde ontvangers. Om deze taak te volbrengen, moeten processen en code in de presentatielaag gegevenstransformatie uitvoeren. Er zijn andere routines op dit niveau die teksten comprimeren en afbeeldingen omzetten in bitstreams, zodat ze via een netwerk kunnen worden verzonden.

Presentatielaagstandaarden definiëren ook hoe grafische afbeeldingen worden weergegeven. Voor deze doeleinden kan het PICT-formaat worden gebruikt, een beeldformaat dat wordt gebruikt om QuickDraw-afbeeldingen over te dragen tussen Macintosh- en PowerPC-programma's. Een ander weergaveformaat is het getagde TIFF-afbeeldingsbestandsformaat, dat doorgaans wordt gebruikt voor rasterafbeeldingen met hoge resolutie. De volgende presentatielaagstandaard die voor grafische afbeeldingen kan worden gebruikt, is die ontwikkeld door de Joint Photographic Expert Group; bij dagelijks gebruik wordt deze standaard eenvoudigweg JPEG genoemd.

Er is nog een groep presentatieniveaustandaarden die de presentatie van audio- en filmfragmenten definiëren. Dit omvat de MIDI-interface (Musical Instrument Digital Interface) voor de digitale weergave van muziek, ontwikkeld door de Motion Picture Experts Group MPEG-standaard, die wordt gebruikt voor het comprimeren en coderen van videoclips op cd's, deze in gedigitaliseerde vorm op te slaan en te verzenden met snelheden tot 1,5. Mbits/s, en QuickTime is een standaard die audio- en video-elementen beschrijft voor programma's die op Macintosh- en PowerPC-computers draaien.

Sessieniveau Sessielaag)

Niveau 5 van het model is verantwoordelijk voor het onderhouden van een communicatiesessie, waardoor applicaties langdurig met elkaar kunnen communiceren. De laag beheert het maken/beëindigen van sessies, informatie-uitwisseling, taaksynchronisatie, bepaling van de geschiktheid voor gegevensoverdracht en sessie-onderhoud tijdens periodes van inactiviteit van de applicatie. Transmissiesynchronisatie wordt verzekerd door het plaatsen van controlepunten in de datastroom, van waaruit het proces wordt hervat als de interactie wordt verstoord.

Transport laag Transport laag)

Het vierde niveau van het model is ontworpen om gegevens te leveren zonder fouten, verliezen en duplicatie in de volgorde waarin ze zijn verzonden. Het maakt niet uit welke gegevens worden verzonden, waar en waar vandaan, dat wil zeggen, het zorgt zelf voor het transmissiemechanisme. Het verdeelt datablokken in fragmenten, waarvan de grootte afhangt van het protocol, combineert korte tot één en splitst lange. Voorbeeld: TCP, UDP.

Er zijn veel klassen transportlaagprotocollen, variërend van protocollen die alleen basistransportfuncties bieden (bijvoorbeeld functies voor gegevensoverdracht zonder bevestiging), tot protocollen die ervoor zorgen dat meerdere datapakketten in de juiste volgorde op de bestemming worden afgeleverd, meerdere data worden gemultiplext streams, bieden een mechanisme voor gegevensstroomcontrole en garanderen de betrouwbaarheid van de ontvangen gegevens.

Sommige netwerklaagprotocollen, verbindingsloze protocollen genoemd, garanderen niet dat gegevens op de bestemming worden afgeleverd in de volgorde waarin deze door het bronapparaat zijn verzonden. Sommige transportlagen gaan hiermee om door gegevens in de juiste volgorde te verzamelen voordat ze worden doorgegeven aan de sessielaag. Datamultiplexing betekent dat de transportlaag in staat is om gelijktijdig meerdere datastromen (de stromen kunnen afkomstig zijn uit verschillende applicaties) tussen twee systemen te verwerken. Een flow control-mechanisme is een mechanisme waarmee u de hoeveelheid gegevens kunt regelen die van het ene systeem naar het andere wordt overgedragen. Transportlaagprotocollen hebben vaak een controlefunctie voor de gegevensaflevering, waardoor het ontvangende systeem wordt gedwongen bevestigingen naar de verzendende kant te sturen dat de gegevens zijn ontvangen.

De werking van protocollen met verbindingsopbouw kan worden beschreven aan de hand van het voorbeeld van de werking van een gewone telefoon. Protocollen van deze klasse beginnen met datatransmissie door het aanroepen of instellen van een route die pakketten kunnen volgen van bron naar bestemming. Daarna begint de seriële gegevensoverdracht en wordt de verbinding verbroken zodra de overdracht is voltooid.

Verbindingsloze protocollen, die gegevens verzenden met volledige adresinformatie in elk pakket, werken op dezelfde manier als het postsysteem. Elke brief of pakket bevat het adres van de afzender en de ontvanger. Vervolgens leest elk tussenliggend postkantoor of netwerkapparaat de adresinformatie en neemt een beslissing over de dataroutering. Een brief of datapakket wordt van het ene tussenapparaat naar het andere verzonden totdat het bij de ontvanger wordt afgeleverd. Verbindingsloze protocollen garanderen niet dat informatie de ontvanger bereikt in de volgorde waarin deze is verzonden. Transportprotocollen zijn verantwoordelijk voor het installeren van gegevens in de juiste volgorde bij gebruik van verbindingsloze netwerkprotocollen.

Netwerklaag Netwerklaag)

Laag 3 van het OSI-netwerkmodel is ontworpen om het pad voor gegevensoverdracht te definiëren. Verantwoordelijk voor het vertalen van logische adressen en namen naar fysieke, het bepalen van de kortste routes, schakelen en routeren, het monitoren van problemen en congestie in het netwerk. Een netwerkapparaat zoals een router werkt op dit niveau.

Netwerklaagprotocollen routeren gegevens van bron naar bestemming.

Datalinklaag Datalinklaag)

Deze laag is ontworpen om de interactie van netwerken op de fysieke laag te garanderen en controlefouten die kunnen optreden te voorkomen. Het verpakt de gegevens die van de fysieke laag worden ontvangen in frames, controleert deze op integriteit, corrigeert indien nodig fouten (stuurt herhaaldelijk een verzoek om een ​​beschadigd frame) en stuurt deze naar de netwerklaag. De datalinklaag kan communiceren met een of meer fysieke lagen en deze interactie monitoren en beheren. De IEEE 802-specificatie verdeelt deze laag in 2 sublagen: MAC (Media Access Control) regelt de toegang tot het gedeelde fysieke medium, LLC (Logical Link Control) biedt netwerklaagservice.

Bij het programmeren vertegenwoordigt dit niveau de netwerkkaartdriver; in besturingssystemen is er een software-interface voor de interactie van de kanaal- en netwerklagen met elkaar; dit is geen nieuw niveau, maar eenvoudigweg een implementatie van het model voor een specifiek besturingssysteem . Voorbeelden van dergelijke interfaces: ODI, NDIS

Fysiek niveau Fysieke laag)

Het laagste niveau van het model is bedoeld om de datastroom rechtstreeks te verzenden. Verzendt elektrische of optische signalen naar een kabel- of radio-uitzending en ontvangt deze dienovereenkomstig en zet ze om in databits in overeenstemming met digitale signaalcoderingsmethoden. Met andere woorden, het biedt een interface tussen de netwerkmedia en het netwerkapparaat.

Protocollen: IRDA, USB, EIA RS-232, EIA-422, EIA-423, RS-449, RS-485, Ethernet (inclusief 10BASE-T, 10BASE2,

Het belangrijkste minpunt van OSI is de slecht doordachte transportlaag. Hierop maakt OSI gegevensuitwisseling tussen applicaties mogelijk (introductie van het concept haven- applicatie-ID), maar de mogelijkheid om eenvoudige datagrammen uit te wisselen (UDP-type) wordt niet geboden in OSI - de transportlaag moet verbindingen vormen, levering garanderen, de stroom controleren, enz. (TCP-type). Echte protocollen implementeren deze mogelijkheid.

TCP/IP-familie

De TCP/IP-familie kent drie transportprotocollen: TCP, dat volledig OSI-compatibel is en verificatie van de ontvangst van gegevens mogelijk maakt, UDP, dat alleen overeenkomt met de transportlaag door de aanwezigheid van een poort, maakt de uitwisseling van datagrammen tussen applicaties mogelijk, maar garandeert niet de ontvangst van gegevens, en SCTP, ontworpen om enkele tekortkomingen van TCP te ondervangen en enkele innovaties toe te voegen. (Er zijn ongeveer tweehonderd andere protocollen in de TCP/IP-familie, waarvan het bekendste het ICMP-serviceprotocol is, dat wordt gebruikt voor interne operationele behoeften; de rest zijn ook geen transportprotocollen.)

IPX/SPX-familie

In de IPX/SPX-familie verschijnen poorten ("sockets" of "sockets" genoemd) in het IPX-netwerklaagprotocol, waardoor datagrammen tussen applicaties kunnen worden uitgewisseld (het besturingssysteem reserveert een aantal sockets voor zichzelf). Het SPX-protocol vormt op zijn beurt een aanvulling op IPX met alle andere transportlaagmogelijkheden, volledig in overeenstemming met OSI.

Als hostadres gebruikt IPX een identificatie die bestaat uit een netwerknummer van vier bytes (toegewezen door routers) en het MAC-adres van de netwerkadapter.

DOD-model

Een TCP/IP-protocolstack die gebruikmaakt van een vereenvoudigd vierlaags OSI-model.

Adressering in IPv6

Bestemmings- en bronadressen in IPv6 zijn 128 bits of 16 bytes lang. Versie 6 generaliseert de speciale adrestypen van versie 4 in de volgende adrestypen:

  • Unicast – individueel adres. Definieert een enkel knooppunt: een computer- of routerpoort. Het pakket moet langs de kortste route bij het knooppunt worden afgeleverd.
  • Cluster – clusteradres. Verwijst naar een groep knooppunten die een gemeenschappelijk adresvoorvoegsel delen (bijvoorbeeld aangesloten op hetzelfde fysieke netwerk). Het pakket moet langs het kortste pad naar een groep knooppunten worden gerouteerd en vervolgens alleen bij een van de groepsleden worden afgeleverd (bijvoorbeeld het dichtstbijzijnde knooppunt).
  • Multicast – het adres van een reeks knooppunten, mogelijk in verschillende fysieke netwerken. Kopieën van het pakket moeten, indien mogelijk, aan elk belknooppunt worden afgeleverd met behulp van hardware-multicast- of broadcast-afleveringsmogelijkheden.

Net als IPv4 worden IPv6-adressen onderverdeeld in klassen op basis van de waarde van de meest significante bits van het adres.

De meeste lessen zijn gereserveerd voor toekomstig gebruik. Het meest interessant voor praktisch gebruik is de klasse bedoeld voor internetproviders, genaamd Door de provider toegewezen Unicast.

Het adres van deze klasse heeft de volgende structuur:

Elke internetprovider krijgt een unieke identificatie toegewezen die alle netwerken identificeert die hij ondersteunt. Vervolgens wijst de provider unieke identificatiegegevens toe aan zijn abonnees en gebruikt hij beide identificatiegegevens bij het toewijzen van een blok abonneeadressen. De abonnee wijst zelf unieke identificatiegegevens toe aan zijn subnetten en knooppunten van deze netwerken.

De abonnee kan de IPv4-subnettechniek gebruiken om het subnet-ID-veld verder in kleinere velden te verdelen.

Het beschreven schema brengt het IPv6-adresseringsschema dichter bij de schema's die worden gebruikt in territoriale netwerken, zoals telefoonnetwerken of X.25-netwerken. De hiërarchie van adresvelden zorgt ervoor dat backbone-routers alleen met de hogere delen van het adres kunnen werken, waardoor de verwerking van minder belangrijke velden aan abonneerouters wordt overgelaten.

Er moeten minimaal 6 bytes worden toegewezen voor het host-ID-veld om MAC-adressen van het lokale netwerk rechtstreeks in IP-adressen te kunnen gebruiken.

Om compatibiliteit met het IPv4-adresseringsschema te garanderen, heeft IPv6 een klasse adressen met 0000 0000 in de meest significante bits van het adres. De onderste 4 bytes van het adres van deze klasse moeten het IPv4-adres bevatten. Routers die beide versies van adressen ondersteunen, moeten voor vertaling zorgen bij het doorgeven van een pakket van een netwerk dat IPv4-adressering ondersteunt naar een netwerk dat IPv6-adressering ondersteunt, en omgekeerd.

Kritiek

Het zevenlaagse OSI-model is door sommige experts bekritiseerd. In het bijzonder in het klassieke boek “UNIX. Systeembeheerdershandleiding" Evi Nemeth en anderen schrijven:

… Terwijl de ISO-commissies ruzie maakten over hun standaarden, veranderde achter hun rug het hele concept van netwerken en werd het TCP/IP-protocol over de hele wereld geïmplementeerd. ...

En dus, toen de ISO-protocollen uiteindelijk werden geïmplementeerd, kwamen er een aantal problemen naar voren:
Deze protocollen waren gebaseerd op concepten die in moderne netwerken geen betekenis hebben.
Hun specificaties waren in sommige gevallen onvolledig.
Qua functionaliteit waren ze inferieur aan andere protocollen.
De aanwezigheid van meerdere lagen maakte deze protocollen traag en moeilijk te implementeren.

... Nu geven zelfs de meest fervente voorstanders van deze protocollen toe dat OSI geleidelijk een voetnoot wordt in de pagina's van de computergeschiedenis.