Theorie: OSI netwerkmodel. Wat is het OSI-netwerkmodel. Lagen van het OSI-model

Alleen omdat een protocol een overeenkomst is tussen twee op elkaar inwerkende entiteiten, in dit geval twee computers die op een netwerk draaien, volgt hier niet noodzakelijkerwijs uit dat het standaard is. Maar in de praktijk gebruiken ze bij het implementeren van netwerken meestal standaard protocollen. Het kan worden gebrandmerkt, nationaal of internationale standaarden.

Begin jaren tachtig ontwikkelden een aantal internationale normalisatieorganisaties - ISO, ITU-T en enkele anderen - een model dat een belangrijke rol speelde bij de ontwikkeling van netwerken. Dit model wordt het ISO/OSI-model genoemd.

Interactiemodel voor open systemen (Open systeeminterconnectie, OSI) definieert verschillende niveaus van interactie tussen systemen in pakketgeschakelde netwerken, geeft ze standaardnamen en specificeert welke functies elk niveau moet uitvoeren.

Het OSI-model is ontwikkeld op basis van veel ervaring die is opgedaan bij het opzetten van computernetwerken, voornamelijk mondiale, in de jaren '70. Een volledige beschrijving van dit model neemt meer dan 1000 pagina's tekst in beslag.

In het OSI-model (Fig. 11.6) zijn de interactiemiddelen onderverdeeld in zeven niveaus: toepassing, vertegenwoordiger, sessie, transport, netwerk, link en fysiek. Elke laag behandelt een specifiek aspect van de interactie van netwerkapparaten.


Rijst. 11.6.

Het OSI-model beschrijft alleen de systeeminteracties die door het besturingssysteem worden geïmplementeerd, systeemhulpprogramma's en hardware. Het model houdt geen rekening met de interoperabiliteit van eindgebruikersapplicaties. Applicaties implementeren hun eigen interactieprotocollen door toegang te krijgen tot systeemtools. Daarom is het noodzakelijk om onderscheid te maken tussen het niveau van interactie tussen applicaties en toepassingslaag.

Houd er ook rekening mee dat de toepassing de functies van enkele van de bovenste lagen van het OSI-model kan overnemen. Sommige DBMS hebben bijvoorbeeld ingebouwde tools toegang op afstand naar bestanden. In dit geval maakt de toepassing bij het benaderen van externe bronnen geen gebruik van de systeembestandsservice; het omzeilt de bovenste lagen van het OSI-model en heeft direct toegang tot de systeemtools die verantwoordelijk zijn voor: vervoer berichten over het netwerk, die zich op de lagere niveaus van het OSI-model bevinden.

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

Na het genereren van een bericht toepassingslaag stuurt het van de stapel representatief niveau. Protocol representatief niveau voert op basis van de informatie die is ontvangen van de header op applicatieniveau de vereiste acties uit en voegt zijn eigen service-informatie toe aan het bericht - de header representatief niveau, die instructies voor het protocol bevat representatief niveau bestemmingsmachine. Het resulterende bericht wordt doorgegeven sessie niveau, die op zijn beurt zijn header toevoegt, enz. (Sommige protocollen 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".) Eindelijk bereikt het bericht de bodem, fysieke laag, die het in feite via de communicatielijnen naar de bestemmingsmachine verzendt. Op dit moment is het bericht "overwoekerd" met koppen van alle niveaus (

Om het gemakkelijker te maken om de werking van alle netwerkapparaten te begrijpen die in het artikel Netwerkapparaten worden genoemd, met betrekking tot de lagen van het OSI-netwerkreferentiemodel, heb ik schematische tekeningen gemaakt met een paar opmerkingen.

Laten we eerst eens kijken naar de lagen van het OSI-referentienetwerkmodel en de gegevensinkapseling.

Bekijk hoe gegevens worden overgedragen tussen twee verbonden computers. Tegelijkertijd zal ik de werking van een netwerkkaart op computers benadrukken, omdat. zij is het die een netwerkapparaat is, en een computer is dat in principe niet. (Alle afbeeldingen zijn klikbaar - klik op de afbeelding om deze te vergroten.)


Een applicatie op PC1 stuurt gegevens naar een andere applicatie op een andere PC2. Vanuit de toplaag (applicatielaag) wordt data van de netwerkkaart naar de linklaag gestuurd. Daarop zet de netwerkkaart frames om in bits en stuurt deze naar het fysieke medium (bijvoorbeeld een twisted pair-kabel). Een signaal arriveert aan de andere kant van de kabel en de PC2-netwerkkaart ontvangt deze signalen, herkent ze in bits en vormt er frames van. De gegevens (opgenomen in frames) worden ontkapseld naar de bovenste laag en wanneer ze de applicatielaag bereiken, ontvangt het juiste programma op PC2 ze.

Herhaler. concentrator.

De repeater en hub werken op dezelfde laag, dus ze worden op dezelfde manier weergegeven met betrekking tot het OSI-netwerkmodel. Voor het gemak van het weergeven van netwerkapparaten, zullen we ze tussen onze computers weergeven.


Repeater- en hubapparaten van het eerste (fysieke) niveau. Ze ontvangen het signaal, herkennen het en sturen het signaal door naar alle actieve poorten.

netwerk brug. Schakelaar.

De netwerkbrug en de switch werken ook op hetzelfde niveau (kanaal) en zijn respectievelijk op dezelfde manier afgebeeld.


Beide apparaten zijn al het tweede niveau, dus naast het herkennen van het signaal (zoals concentrators op het eerste niveau), kapselen ze het (het signaal) in frames. Op het tweede niveau wordt de checksum van de trailer (trailer) van het frame vergeleken. Vervolgens wordt het MAC-adres van de ontvanger uit de frameheader geleerd en wordt de aanwezigheid ervan in de geschakelde tabel gecontroleerd. Als het adres aanwezig is, wordt het frame weer ingekapseld in bits en verzonden (al in de vorm van een signaal) naar de juiste poort. Als het adres niet wordt gevonden, vindt het proces van het zoeken naar dit adres in de aangesloten netwerken plaats.

router.


Zoals u kunt zien, is een router (of router) een laag 3-apparaat. Zo werkt de router ongeveer: Er wordt een signaal ontvangen op de poort en de router herkent het. Het herkende signaal (bits) vormen frames (frames). De checksum in de trailer en het MAC-adres van de ontvanger worden geverifieerd. Als alle controles succesvol zijn, vormen de frames een pakket. Op het derde niveau onderzoekt de router de pakketheader. Het bevat het IP-adres van de bestemming (ontvanger). Op basis van het IP-adres en zijn eigen routeringstabel kiest de router het beste pad voor pakketten om de bestemming te bereiken. Nadat een pad is gekozen, kapselt de router het pakket in in frames en vervolgens in bits en stuurt deze als signalen naar de juiste poort (geselecteerd in de routeringstabel).

Gevolgtrekking

Tot slot heb ik alle apparaten in één foto gecombineerd.


Nu heb je genoeg kennis om te bepalen welke apparaten werken en hoe. Als je nog vragen hebt, stel ze dan aan mij en in de nabije toekomst zullen jij of ik of andere gebruikers zeker helpen.

Alexander Goryachev, Alexey Niskovsky

Om de servers en clients van het netwerk te laten communiceren, moeten ze werken met hetzelfde protocol voor informatie-uitwisseling, dat wil zeggen dat ze dezelfde taal moeten "spreken". Het protocol definieert een reeks regels voor het organiseren van de uitwisseling van informatie op alle interactieniveaus van netwerkobjecten.

Er is een Open System Interconnection Reference Model, vaak aangeduid als het OSI-model. Dit model is ontwikkeld door de International Organization for Standardization (ISO). Het OSI-model beschrijft het interactieschema van netwerkobjecten, definieert de lijst met taken en regels voor gegevensoverdracht. Het omvat zeven niveaus: fysiek (Fysiek - 1), kanaal (Data-Link - 2), netwerk (Netwerk - 3), transport (Transport - 4), sessie (Sessie - 5), gegevenspresentatie (Presentatie - 6 ) en toegepast (Toepassing - 7). Er wordt aangenomen dat twee computers met elkaar kunnen communiceren op een bepaald niveau van het OSI-model als hun software die de netwerkfuncties van dit niveau implementeert dezelfde gegevens op dezelfde manier interpreteert. In dit geval wordt een directe interactie tussen de twee computers tot stand gebracht, "point-to-point" genoemd.

Implementaties van het OSI-model door protocollen worden stapels (sets) protocollen genoemd. Binnen één bepaald protocol is het onmogelijk om alle functies van het OSI-model te implementeren. Typisch worden de taken van een bepaalde laag geïmplementeerd door een of meer protocollen. Protocollen van dezelfde stapel zouden op één computer moeten werken. In dit geval kan een computer meerdere protocolstacks tegelijkertijd gebruiken.

Laten we eens kijken naar de taken die zijn opgelost op elk van de niveaus van het OSI-model.

Fysieke laag

Op dit niveau van het OSI-model worden de volgende kenmerken van netwerkcomponenten gedefinieerd: soorten verbindingen van datatransmissiemedia, fysieke netwerktopologieën, methoden van datatransmissie (met digitale of analoge signaalcodering), soorten synchronisatie van verzonden data, scheiding van communicatiekanalen met behulp van frequentie- en tijdmultiplexing.

Implementaties van fysieke laagprotocollen van het OSI-model coördineren de regels voor het verzenden van bits.

De fysieke laag bevat geen beschrijving van het transmissiemedium. Implementaties van fysieke laagprotocollen zijn echter mediaspecifiek. De aansluiting van de volgende netwerkapparatuur wordt meestal geassocieerd met de fysieke laag:

  • concentrators, hubs en repeaters die elektrische signalen regenereren;
  • transmissiemediumconnectoren die een mechanische interface verschaffen voor het aansluiten van de inrichting op het transmissiemedium;
  • modems en verschillende converterende apparaten die digitale en analoge conversies uitvoeren.

Deze modellaag definieert de fysieke topologieën in een bedrijfsnetwerk, die zijn gebouwd met behulp van een basisset van standaardtopologieën.

De eerste in de basisset is de bustopologie. In dit geval zijn alle netwerkapparaten en computers aangesloten op een gemeenschappelijke datatransmissiebus, die meestal wordt gevormd met behulp van een coaxkabel. De kabel die de gemeenschappelijke bus vormt, wordt de backbone genoemd. Van elk van de apparaten die op de bus zijn aangesloten, wordt het signaal in beide richtingen verzonden. Om het signaal van de kabel te verwijderen, moeten aan de uiteinden van de bus speciale stroomonderbrekers (terminators) worden gebruikt. Mechanische schade aan de lijn beïnvloedt de werking van alle aangesloten apparaten.

Ringtopologie omvat de verbinding van alle netwerkapparaten en computers in een fysieke ring (ring). In deze topologie wordt informatie altijd in één richting langs de ring verzonden - van station naar station. Elk netwerkapparaat moet een informatieontvanger op de ingangskabel en een zender op de uitgangskabel hebben. Mechanische schade aan de media in een enkele ring zal de werking van alle apparaten beïnvloeden, maar netwerken die zijn gebouwd met een dubbele ring, hebben in de regel een fouttolerantiemarge en zelfherstellende functies. In netwerken die op een dubbele ring zijn gebouwd, wordt dezelfde informatie in beide richtingen rond de ring verzonden. In het geval van een kabelstoring, blijft de ring dubbel zo lang werken in de enkele ringmodus (de zelfherstellende functies worden bepaald door de gebruikte hardware).

De volgende topologie is de stertopologie of ster. Het zorgt voor de aanwezigheid van een centraal apparaat waarop andere netwerkapparaten en computers zijn aangesloten door middel van balken (aparte kabels). Netwerken die zijn gebouwd op een stertopologie hebben één storingspunt. Dit punt is het centrale apparaat. In het geval van een storing van het centrale apparaat, kunnen alle andere netwerkdeelnemers geen informatie met elkaar uitwisselen, omdat alle uitwisseling alleen via het centrale apparaat is uitgevoerd. Afhankelijk van het type centrale apparaat kan het signaal dat van één ingang wordt ontvangen (met of zonder versterking) worden verzonden naar alle uitgangen of naar een specifieke uitgang waarop het apparaat is aangesloten - de ontvanger van informatie.

Volledig verbonden (mesh) topologie heeft een hoge fouttolerantie. Bij het bouwen van netwerken met een vergelijkbare topologie, is elk van de netwerkapparaten of computers verbonden met elk ander onderdeel van het netwerk. Deze topologie heeft redundantie, waardoor het onpraktisch lijkt. Deze topologie wordt inderdaad zelden gebruikt in kleine netwerken, maar in grote bedrijfsnetwerken kan een volledig vermaasde topologie worden gebruikt om de belangrijkste knooppunten met elkaar te verbinden.

De beschouwde topologieën worden meestal gebouwd met behulp van kabelverbindingen.

Er is nog een topologie die gebruikmaakt van draadloze verbindingen - cellulair (cellulair). Daarin worden netwerkapparaten en computers gecombineerd in zones - cellen (cel), die alleen communiceren met de transceiver van de cel. De overdracht van informatie tussen cellen wordt uitgevoerd door transceivers.

Link laag

Dit niveau definieert de logische topologie van het netwerk, de regels voor het verkrijgen van toegang tot het datatransmissiemedium, lost problemen op met betrekking tot het adresseren van fysieke apparaten binnen het logische netwerk en het beheer van de overdracht van informatie (transmissiesynchronisatie en verbindingsservice) tussen netwerkapparaten.

Linklaagprotocollen definiëren:

  • regels voor het organiseren van fysieke laagbits (binaire enen en nullen) in logische informatiegroepen die frames (frame) of frames worden genoemd. Een frame is een datalinklaageenheid die bestaat uit een aaneengesloten reeks van gegroepeerde bits, met een kop en een einde;
  • regels voor het opsporen (en soms corrigeren) van transmissiefouten;
  • regels voor gegevensstroomcontrole (voor apparaten die op dit niveau van het OSI-model werken, zoals bruggen);
  • regels voor het identificeren van computers op het netwerk aan de hand van hun fysieke adressen.

Net als de meeste andere lagen voegt de verbindingslaag zijn eigen besturingsinformatie toe aan het begin van het datapakket. Deze informatie kan bron- en bestemmingsadressen (fysiek of hardware), framelengte-informatie en een indicatie van actieve bovenlaagprotocollen bevatten.

De volgende netwerkconnectoren worden doorgaans geassocieerd met de linklaag:

  • bruggen;
  • slimme hubs;
  • schakelaars;
  • netwerkinterfacekaarten (netwerkinterfacekaarten, adapters, enz.).

De functies van de schakellaag zijn onderverdeeld in twee subniveaus (Tabel 1):

  • controle van toegang tot het transmissiemedium (Media Access Control, MAC);
  • logische linkbesturing (Logical Link Control, LLC).

De MAC-sublaag definieert dergelijke elementen van de verbindingslaag als de logische topologie van het netwerk, de methode van toegang tot het informatietransmissiemedium en de regels voor fysieke adressering tussen netwerkobjecten.

De afkorting MAC wordt ook gebruikt bij het definiëren van het fysieke adres van een netwerkapparaat: het fysieke adres van een apparaat (dat intern wordt bepaald door een netwerkapparaat of netwerkkaart in de fabricagefase) wordt vaak het MAC-adres van dat apparaat genoemd . Voor een groot aantal netwerkapparaten, vooral netwerkkaarten, is het mogelijk om het MAC-adres programmatisch te wijzigen. Tegelijkertijd moet worden bedacht dat de linklaag van het OSI-model beperkingen oplegt aan het gebruik van MAC-adressen: in één fysiek netwerk (segment van een groter netwerk) kunnen niet twee of meer apparaten dezelfde MAC-adressen gebruiken . Het concept van "knooppuntadres" kan worden gebruikt om het fysieke adres van een netwerkobject te bepalen. Het hostadres komt meestal overeen met het MAC-adres of wordt logisch bepaald door hertoewijzing van softwareadressen.

De LLC-sublaag definieert de transmissie- enregels. Deze sublaag van de linklaag werkt nauw samen met de netwerklaag van het OSI-model en is verantwoordelijk voor de betrouwbaarheid van fysieke (met MAC-adressen) verbindingen. De logische topologie van een netwerk definieert de manier waarop en de regels (volgorde) van gegevensoverdracht tussen computers op het netwerk. Netwerkobjecten verzenden gegevens afhankelijk van de logische topologie van het netwerk. De fysieke topologie definieert het fysieke pad van de gegevens; in sommige gevallen weerspiegelt de fysieke topologie echter niet de manier waarop het netwerk functioneert. Het daadwerkelijke datapad wordt bepaald door de logische topologie. Om gegevens langs een logisch pad over te dragen, dat kan verschillen van het pad in het fysieke medium, worden netwerkverbindingsapparaten en mediatoegangsschema's gebruikt. Een goed voorbeeld van het verschil tussen fysieke en logische topologieën is het Token Ring-netwerk van IBM. Token Ring LAN's maken vaak gebruik van koperen kabel, die in een stervormig circuit wordt gelegd met een centrale splitter (hub). In tegenstelling tot een normale stertopologie stuurt de hub inkomende signalen niet door naar alle andere aangesloten apparaten. Het interne circuit van de hub stuurt elk binnenkomend signaal opeenvolgend naar het volgende apparaat in een vooraf bepaalde logische ring, dat wil zeggen in een cirkelvormig patroon. De fysieke topologie van dit netwerk is een ster en de logische topologie is een ring.

Een ander voorbeeld van het verschil tussen fysieke en logische topologieën is het Ethernet-netwerk. Het fysieke netwerk kan worden gebouwd met behulp van koperen kabels en een centrale hub. Er wordt een fysiek netwerk gevormd, gemaakt volgens de stertopologie. Ethernet-technologie omvat echter de overdracht van informatie van de ene computer naar alle andere op het netwerk. De hub moet het signaal dat van een van zijn poorten wordt ontvangen, doorsturen naar alle andere poorten. Er is een logisch netwerk met bustopologie gevormd.

Om de logische netwerktopologie te bepalen, moet u begrijpen hoe signalen daarin worden ontvangen:

  • in logische bustopologieën wordt elk signaal door alle apparaten ontvangen;
  • in logische ringtopologieën ontvangt elk apparaat alleen die signalen die er specifiek naar toe zijn gestuurd.

Het is ook belangrijk om te weten hoe netwerkapparaten toegang krijgen tot de media.

Mediatoegang

Logische topologieën gebruiken speciale regels die de toestemming regelen om informatie naar andere netwerkentiteiten te verzenden. Het controleproces regelt de toegang tot het communicatiemedium. Denk aan een netwerk waarin alle apparaten mogen functioneren zonder regels voor het verkrijgen van toegang tot het transmissiemedium. Alle apparaten in zo'n netwerk verzenden informatie zodra er gegevens beschikbaar komen; deze uitzendingen kunnen elkaar in de tijd soms overlappen. Als gevolg van de superpositie worden de signalen vervormd en gaan de verzonden gegevens verloren. Deze situatie wordt een aanrijding genoemd. Botsingen maken het niet mogelijk om een ​​betrouwbare en efficiënte overdracht van informatie tussen netwerkobjecten te organiseren.

Netwerkbotsingen strekken zich uit tot de fysieke netwerksegmenten waarmee netwerkobjecten zijn verbonden. Dergelijke verbindingen vormen één botsingsruimte, waarin de invloed van botsingen zich uitstrekt tot iedereen. Om de grootte van botsingsruimten te verkleinen door het fysieke netwerk te segmenteren, kunt u bruggen en andere netwerkapparaten gebruiken die verkeersfilterfuncties hebben op de linklaag.

Een netwerk kan niet normaal functioneren totdat alle netwerkentiteiten botsingen kunnen controleren, beheren of verminderen. In netwerken is een methode nodig om het aantal botsingen, interferentie (overlay) van gelijktijdige signalen te verminderen.

Er zijn standaard mediatoegangsmethoden die de regels beschrijven waarmee toestemming voor het verzenden van informatie voor netwerkapparaten wordt beheerd: contentie, het doorgeven van een token en polling.

Voordat u een protocol kiest dat een van deze mediatoegangsmethoden implementeert, moet u speciale aandacht besteden aan de volgende factoren:

  • de aard van de uitzendingen - continu of impulsief;
  • aantal gegevensoverdrachten;
  • de noodzaak om gegevens met strikt gedefinieerde tijdsintervallen over te dragen;
  • het aantal actieve apparaten op het netwerk.

Elk van deze factoren, gecombineerd met voor- en nadelen, zal helpen bepalen welke methode voor mediatoegang het meest geschikt is.

Concurrentie. Op geschillen gebaseerde systemen gaan ervan uit dat toegang tot het transmissiemedium wordt geïmplementeerd op basis van wie het eerst komt, het eerst maalt. Met andere woorden, elk netwerkapparaat concurreert om de controle over het transmissiemedium. Race-systemen zijn zo ontworpen dat alle apparaten op het netwerk alleen gegevens kunnen verzenden als dat nodig is. Deze praktijk resulteert uiteindelijk in gedeeltelijk of volledig verlies van gegevens omdat er daadwerkelijk botsingen optreden. Naarmate elk nieuw apparaat aan het netwerk wordt toegevoegd, kan het aantal botsingen exponentieel toenemen. Een toename van het aantal botsingen vermindert de prestatie van het netwerk, en in het geval van volledige verzadiging van het informatietransmissiemedium, reduceert dit de prestatie van het netwerk tot nul.

Om het aantal botsingen te verminderen, zijn speciale protocollen ontwikkeld die de functie van het luisteren naar het informatieoverdrachtsmedium vóór het begin van de gegevensoverdracht door het station implementeren. Als het luisterende station een signaaloverdracht (van een ander station) detecteert, ziet het af van het verzenden van de informatie en zal het later proberen het te herhalen. Deze protocollen worden Carrier Sense Multiple Access (CSMA) protocollen genoemd. CSMA-protocollen verminderen het aantal botsingen aanzienlijk, maar elimineren ze niet volledig. Er treden echter botsingen op wanneer twee stations de kabel ondervragen: ze detecteren geen signalen, besluiten dat het medium vrij is en beginnen dan tegelijkertijd met zenden.

Voorbeelden van dergelijke conflictprotocollen zijn:

  • meervoudige toegang met carrier control / collision detection (Carrier Sense Multiple Access / Collision Detection, CSMA / CD);
  • meervoudige toegang met dragercontrole / vermijding van botsingen (Carrier Sense Multiple Access / vermijding van botsingen, CSMA / CA).

CSMA/CD-protocollen. De CSMA/CD-protocollen luisteren niet alleen op de kabel voordat ze worden verzonden, maar detecteren ook botsingen en starten hertransmissies. Wanneer een botsing wordt gedetecteerd, initialiseren de stations die gegevens hebben verzonden speciale interne timers met willekeurige waarden. De timers beginnen af ​​te tellen en wanneer nul is bereikt, moeten de stations proberen de gegevens opnieuw uit te zenden. Aangezien de timers zijn geïnitialiseerd met willekeurige waarden, zal een van de stations proberen de gegevensoverdracht voor de andere te herhalen. Dienovereenkomstig zal het tweede station vaststellen dat het datamedium reeds bezet is en wachten tot het vrij komt.

Voorbeelden van CSMA/CD-protocollen zijn Ethernet versie 2 (Ethernet II ontwikkeld door DEC) en IEEE802.3.

CSMA/CA-protocollen. CSMA/CA maakt gebruik van schema's als time-slicing-toegang of het verzenden van een verzoek om toegang tot het medium. Bij gebruik van time-slicing kan elk station alleen informatie verzenden op tijden die strikt voor dit station zijn gedefinieerd. Tegelijkertijd moet het mechanisme voor het beheren van tijdschijven in het netwerk worden geïmplementeerd. Elk nieuw station dat op het netwerk is aangesloten, kondigt zijn verschijning aan, waardoor het proces van herverdeling van tijdplakken voor informatieoverdracht wordt gestart. In het geval van gebruik van gecentraliseerde mediatoegangscontrole, genereert elk station een speciaal verzoek voor verzending, dat aan het controlestation wordt geadresseerd. De meldkamer regelt de toegang tot het transmissiemedium voor alle netwerkobjecten.

Een voorbeeld van CSMA/CA is het LocalTalk-protocol van Apple Computer.

Op race gebaseerde systemen zijn het meest geschikt voor bursty-verkeer (grote bestandsoverdrachten) op netwerken met relatief weinig gebruikers.

Systemen met de overdracht van de marker. In token-passingsystemen wordt een klein frame (token) in een bepaalde volgorde van het ene apparaat naar het andere doorgegeven. Een token is een speciaal bericht dat tijdelijk mediabeheer overdraagt ​​aan het apparaat dat eigenaar is van het token. Het doorgeven van het token verdeelt de toegangscontrole tussen apparaten op het netwerk.

Elk apparaat weet van welk apparaat het de token ontvangt en naar welk apparaat het moet worden doorgegeven. Meestal zijn dergelijke apparaten de dichtstbijzijnde buren van de eigenaar van het token. Elk apparaat neemt periodiek de controle over het token, voert zijn acties uit (verzendt informatie) en geeft het token vervolgens door aan het volgende apparaat voor gebruik. Protocollen beperken de tijd dat een token door elk apparaat kan worden beheerd.

Er zijn verschillende protocollen voor het doorgeven van tokens. Twee netwerkstandaarden die token-passing gebruiken, zijn IEEE 802.4 Token Bus en IEEE 802.5 Token Ring. Een Token Bus-netwerk gebruikt token-passing-toegangscontrole en een fysieke of logische bustopologie, terwijl een Token Ring-netwerk token-passing-toegangscontrole en een fysieke of logische ringtopologie gebruikt.

Token-passing-netwerken moeten worden gebruikt wanneer er tijdsafhankelijk prioriteitsverkeer is, zoals digitale audio- of videogegevens, of wanneer er een zeer groot aantal gebruikers is.

Enquête. Polling is een toegangsmethode die één apparaat (de controller, het primaire of "master"-apparaat genoemd) uitkiest als arbiter voor mediatoegang. Dit apparaat ondervraagt ​​alle andere apparaten (secundaire apparaten) in een vooraf gedefinieerde volgorde om te zien of ze informatie hebben om te verzenden. Om gegevens van een secundair apparaat te ontvangen, stuurt het primaire apparaat er een passend verzoek naar en ontvangt vervolgens gegevens van het secundaire apparaat en stuurt deze naar het ontvangende apparaat. Vervolgens peilt het primaire apparaat een ander secundair apparaat, ontvangt er gegevens van, enzovoort. Het protocol beperkt de hoeveelheid gegevens die elk secundair apparaat kan verzenden nadat het is opgevraagd. Polling-systemen zijn ideaal voor tijdgevoelige netwerkapparaten zoals fabrieksautomatisering.

Deze laag verzorgt ook de verbindingsdienst. Er zijn drie soorten verbindingsdiensten:

  • dienst zonder bevestiging en zonder verbindingen tot stand te brengen (niet-bevestigde verbindingsloos) - verzendt en ontvangt frames zonder stroomcontrole en zonder foutcontrole of pakketvolgorde;
  • verbindingsgerichte service - biedt flow control, foutcontrole en pakketvolgorde door de uitgifte van ontvangstbewijzen (bevestigingen);
  • Erkende verbindingsloze service - gebruikt tickets om de stroom te controleren en fouten in transmissies tussen twee netwerkknooppunten te controleren.

De LLC-sublaag van de linklaag biedt de mogelijkheid om gelijktijdig meerdere netwerkprotocollen (van verschillende protocolstacks) te gebruiken bij het werken via één netwerkinterface. Met andere woorden, als er slechts één netwerkkaart in de computer is geïnstalleerd, maar er moet worden gewerkt met verschillende netwerkdiensten van verschillende fabrikanten, dan biedt de clientnetwerksoftware op het LLC-subniveau de mogelijkheid van dergelijk werk.

netwerklaag

De netwerklaag definieert de regels voor gegevenslevering tussen logische netwerken, het vormen van logische adressen van netwerkapparaten, het definiëren, selecteren en onderhouden van routeringsinformatie, het functioneren van gateways (gateways).

Het belangrijkste doel van de netwerklaag is het oplossen van het probleem van het verplaatsen (leveren) van gegevens naar bepaalde punten in het netwerk. Gegevenslevering op de netwerklaag is in het algemeen vergelijkbaar met gegevenslevering op de datalinklaag van het OSI-model, waar fysieke adressering van apparaten wordt gebruikt om gegevens over te dragen. Adressering op de linklaag verwijst echter slechts naar één logisch netwerk en is alleen geldig binnen dit netwerk. De netwerklaag beschrijft de methoden en middelen om informatie over te dragen tussen vele onafhankelijke (en vaak heterogene) logische netwerken, die, wanneer ze met elkaar verbonden zijn, één groot netwerk vormen. Zo'n netwerk wordt een onderling verbonden netwerk (internetwork) genoemd en de processen van informatieoverdracht tussen netwerken worden internetworking genoemd.

Met behulp van fysieke adressering op de datalinklaag worden gegevens geleverd aan alle apparaten die deel uitmaken van hetzelfde logische netwerk. Elk netwerkapparaat, elke computer bepaalt de bestemming van de ontvangen gegevens. Zijn de gegevens voor de computer bedoeld, dan verwerkt hij ze; zo niet, dan negeert hij ze.

In tegenstelling tot de linklaag kan de netwerklaag een specifieke route in het internetwerk kiezen en vermijden om data naar die logische netwerken te sturen waar de data niet aan geadresseerd is. De netwerklaag doet dit door te schakelen, netwerklaagadressering en het gebruik van routeringsalgoritmen. De netwerklaag is ook verantwoordelijk voor het leveren van de juiste paden voor gegevens over het internetwerk, dat bestaat uit heterogene netwerken.

De elementen en methoden voor het implementeren van de netwerklaag zijn als volgt gedefinieerd:

  • alle logisch gescheiden netwerken moeten unieke netwerkadressen hebben;
  • schakelen definieert hoe verbindingen over het internetwerk tot stand worden gebracht;
  • de mogelijkheid om routering te implementeren zodat computers en routers het beste pad bepalen voor gegevens om door het internetwerk te gaan;
  • het netwerk zal verschillende niveaus van verbindingsservice uitvoeren, afhankelijk van het aantal verwachte fouten binnen het internetwerk.

Routers en sommige switches werken op dit niveau van het OSI-model.

De netwerklaag definieert de regels voor het genereren van logische netwerkadressen voor netwerkobjecten. Binnen een groot internetwerk moet elk netwerkobject een uniek logisch adres hebben. Twee componenten zijn betrokken bij de vorming van het logische adres: het logische adres van het netwerk, dat gemeenschappelijk is voor alle netwerkobjecten, en het logische adres van het netwerkobject, dat uniek is voor dit object. Bij het vormen van het logische adres van een netwerkobject kan ofwel het fysieke adres van het object worden gebruikt, ofwel kan een willekeurig logisch adres worden bepaald. Door het gebruik van logische adressering kunt u de gegevensoverdracht tussen verschillende logische netwerken organiseren.

Elk netwerkobject, elke computer kan veel netwerkfuncties tegelijkertijd uitvoeren, waardoor verschillende services kunnen worden bediend. Om toegang te krijgen tot services, wordt een speciale service-ID gebruikt, die een poort (poort) of een socket (socket) wordt genoemd. Bij toegang tot een service volgt de service-ID onmiddellijk het logische adres van de computer waarop de service wordt uitgevoerd.

Veel netwerken reserveren groepen logische adressen en service-ID's om specifieke, vooraf gedefinieerde en bekende acties uit te voeren. Als het bijvoorbeeld nodig is om gegevens naar alle netwerkobjecten te verzenden, wordt deze naar een speciaal broadcast-adres verzonden.

De netwerklaag definieert de regels voor de overdracht van gegevens tussen twee netwerkentiteiten. Deze verzending kan worden uitgevoerd met behulp van schakelen of routeren.

Er zijn drie manieren om te schakelen bij datatransmissie: circuitschakeling, berichtschakeling en pakketschakeling.

Bij gebruik van circuitschakeling wordt een datatransmissiekanaal tot stand gebracht tussen de zender en de ontvanger. Dit kanaal is gedurende de gehele communicatiesessie actief. Bij gebruik van deze methode zijn lange vertragingen bij de toewijzing van een kanaal mogelijk vanwege het ontbreken van voldoende bandbreedte, de werklast van de schakelapparatuur of de drukte van de ontvanger.

Met het wisselen van berichten kan een heel (niet opgedeeld) bericht op een store-and-forward-basis worden verzonden. Elk tussenapparaat ontvangt een bericht, slaat het lokaal op en verzendt het, wanneer het communicatiekanaal waardoor dit bericht moet worden verzonden, wordt vrijgegeven. Deze methode is zeer geschikt voor het verzenden van e-mailberichten en het organiseren van elektronisch documentbeheer.

Bij het gebruik van pakketschakeling worden de voordelen van de twee voorgaande methoden gecombineerd. Elk groot bericht wordt opgedeeld in kleine pakketjes, die elk opeenvolgend naar de ontvanger worden verzonden. Bij het passeren van het internetwerk wordt voor elk van de pakketten het beste pad op dat moment bepaald. Het blijkt dat delen van één bericht de ontvanger op verschillende tijdstippen kunnen bereiken, en pas nadat alle delen zijn samengevoegd, kan de ontvanger met de ontvangen gegevens werken.

Elke keer dat een datapad wordt bepaald, moet het beste pad worden gekozen. De taak om het beste pad te bepalen, wordt routering genoemd. Deze taak wordt uitgevoerd door routers. De taak van routers is om mogelijke datatransmissiepaden te bepalen, routeringsinformatie bij te houden en de beste routes te selecteren. Routing kan statisch of dynamisch gebeuren. Bij het definiëren van statische routering moeten alle relaties tussen logische netwerken worden gedefinieerd en ongewijzigd blijven. Dynamische routering gaat ervan uit dat de router zelf nieuwe paden kan bepalen of informatie over oude kan wijzigen. Dynamische routering maakt gebruik van speciale routeringsalgoritmen, waarvan de afstandsvector en linkstatus de meest voorkomende zijn. In het eerste geval gebruikt de router informatie uit de tweede hand over de netwerkstructuur van naburige routers. In het tweede geval werkt de router met informatie over zijn eigen communicatiekanalen en werkt hij samen met een speciale representatieve router om een ​​complete netwerkkaart te bouwen.

De keuze van de beste route wordt meestal beïnvloed door factoren zoals het aantal hops door routers (hop count) en het aantal ticks (tijdseenheden) dat nodig is om het bestemmingsnetwerk te bereiken (tick count).

De netwerklaagverbindingsservice werkt wanneer de verbindingslaag LLC-sublaagverbindingsservice van het OSI-model niet wordt gebruikt.

Bij het bouwen van een internetwerk moet u logische netwerken aansluiten die zijn gebouwd met behulp van verschillende technologieën en die een verscheidenheid aan services bieden. Om een ​​netwerk te laten werken, moeten logische netwerken in staat zijn om gegevens correct te interpreteren en informatie te sturen. Deze taak wordt opgelost met behulp van een gateway, een apparaat of een toepassingsprogramma dat de regels van het ene logisch netwerk vertaalt en interpreteert in de regels van een ander. Over het algemeen kunnen gateways op elke laag van het OSI-model worden geïmplementeerd, maar ze worden meestal geïmplementeerd in de bovenste lagen van het model.

transport laag

Met de transportlaag kunt u de fysieke en logische structuur van het netwerk verbergen voor de toepassingen van de bovenste lagen van het OSI-model. Applicaties werken alleen met servicefuncties die vrij universeel zijn en niet afhankelijk zijn van de fysieke en logische netwerktopologieën. Functies van de logische en fysieke netwerken zijn geïmplementeerd op de vorige niveaus, waar de transportlaag gegevens verzendt.

De transportlaag compenseert vaak het ontbreken van een betrouwbare of verbindingsgerichte verbindingsdienst in de lagere lagen. De term "betrouwbaar" betekent niet dat in alle gevallen alle gegevens worden geleverd. Betrouwbare implementaties van transportlaagprotocollen kunnen echter meestal de levering van gegevens bevestigen of weigeren. Als de gegevens niet correct worden afgeleverd bij het ontvangende apparaat, kan de transportlaag opnieuw verzenden of de bovenste lagen informeren over het niet leveren. Bovenliggende niveaus kunnen dan de nodige corrigerende maatregelen nemen of de gebruiker een keuze geven.

Veel protocollen in computernetwerken bieden gebruikers de mogelijkheid om te werken met eenvoudige namen in natuurlijke taal in plaats van complexe en moeilijk te onthouden alfanumerieke adressen. Adres/Naam Resolutie is de functie van het identificeren of toewijzen van namen en alfanumerieke adressen aan elkaar. Deze functie kan worden uitgevoerd door elke entiteit op het netwerk of door speciale serviceproviders die directoryservers, naamservers en dergelijke worden genoemd. De volgende definities classificeren adres-/naamomzettingsmethoden:

  • service-initiatie door de consument;
  • initiatie van de dienstverlener.

In het eerste geval benadert de netwerkgebruiker een dienst met zijn logische naam, zonder de exacte locatie van de dienst te kennen. De gebruiker weet niet of deze service momenteel beschikbaar is. Bij toegang wordt de logische naam toegewezen aan de fysieke naam en het werkstation van de gebruiker initieert rechtstreeks een oproep naar de service. In het tweede geval meldt elke dienst zich periodiek aan alle netwerkklanten. Elk van de klanten weet op elk moment of de dienst beschikbaar is en heeft direct toegang tot de dienst.

Adresseringsmethoden

Serviceadressen identificeren specifieke softwareprocessen die op netwerkapparaten worden uitgevoerd. Naast deze adressen houden serviceproviders de verschillende gesprekken bij die ze hebben met apparaten die om services vragen. De twee verschillende dialoogmethoden gebruiken de volgende adressen:

  • verbindingsidentificatie;
  • Transactie ID.

Een verbindings-ID, ook wel een verbindings-ID, poort of socket genoemd, identificeert elk gesprek. Met een verbindings-ID kan een verbindingsprovider met meer dan één client communiceren. De serviceprovider verwijst naar elke schakeleenheid met zijn nummer en vertrouwt op de transportlaag om andere adressen op de lagere laag te coördineren. De verbindings-ID is gekoppeld aan een bepaald dialoogvenster.

Transactie-ID's zijn vergelijkbaar met verbindings-ID's, maar werken in eenheden die kleiner zijn dan de conversatie. Een transactie bestaat uit een verzoek en een antwoord. Dienstverleners en consumenten houden het vertrek en de aankomst van elke transactie bij, niet het gesprek als geheel.

sessielaag

De sessielaag vergemakkelijkt de interactie tussen apparaten die diensten aanvragen en leveren. Communicatiesessies worden bestuurd via mechanismen die een gesprek tussen communicerende entiteiten tot stand brengen, onderhouden, synchroniseren en beheren. Deze laag helpt de bovenste lagen ook om een ​​beschikbare netwerkservice te identificeren en er verbinding mee te maken.

De sessielaag gebruikt de logische adresinformatie die door de onderste lagen wordt geleverd om servernamen en adressen te identificeren die de bovenste lagen nodig hebben.

De sessielaag initieert ook gesprekken tussen apparaten van serviceproviders en consumentenapparaten. Bij het uitvoeren van deze functie vertegenwoordigt of identificeert de sessielaag vaak elk object en coördineert de toegangsrechten ervoor.

De sessielaag implementeert gesprekscontrole met behulp van een van de drie communicatiemodi: simplex, half duplex en full duplex.

Simplexcommunicatie omvat slechts eenrichtingstransmissie van de bron naar de ontvanger van informatie. Deze manier van communiceren geeft geen feedback (van de ontvanger naar de bron). Half duplex maakt het gebruik van één datatransmissiemedium voor bidirectionele informatieoverdracht mogelijk, maar informatie kan slechts in één richting tegelijk worden verzonden. Full-duplex biedt gelijktijdige overdracht van informatie in beide richtingen via het gegevensoverdrachtmedium.

Het beheer van een communicatiesessie tussen twee netwerkentiteiten, bestaande uit het tot stand brengen van een verbinding, het overbrengen van gegevens, het beëindigen van een verbinding, wordt ook uitgevoerd op deze laag van het OSI-model. Nadat de sessie tot stand is gebracht, kan de software die de functies van dit niveau implementeert, de gezondheid (onderhouden) van de verbinding controleren totdat deze wordt beëindigd.

Presentatie laag

De hoofdtaak van de datapresentatielaag is het omzetten van data in onderling overeengekomen formaten (uitwisselingssyntax) die begrijpelijk zijn voor alle netwerkapplicaties en computers waarop applicaties draaien. Op dit niveau worden ook de taken van datacompressie en decompressie en hun versleuteling opgelost.

Transformatie verwijst naar het veranderen van de volgorde van bits in bytes, de volgorde van bytes in een woord, tekencodes en de syntaxis van bestandsnamen.

De noodzaak om de volgorde van bits en bytes te veranderen is te wijten aan de aanwezigheid van een groot aantal verschillende processors, computers, complexen en systemen. Processors van verschillende fabrikanten kunnen de nul- en zevende bits in een byte anders interpreteren (ofwel de nulbit is de hoogste bit, of de zevende bit). Evenzo worden de bytes die grote eenheden van informatie vormen - woorden - anders geïnterpreteerd.

Om gebruikers van verschillende besturingssystemen informatie te laten ontvangen in de vorm van bestanden met de juiste namen en inhoud, zorgt dit niveau voor de juiste transformatie van de bestandssyntaxis. Verschillende besturingssystemen werken anders met hun bestandssystemen, implementeren verschillende manieren om bestandsnamen te vormen. Informatie in bestanden wordt ook opgeslagen in een specifieke tekencodering. Wanneer twee netwerkobjecten op elkaar inwerken, is het belangrijk dat elk van hen de bestandsinformatie op zijn eigen manier kan interpreteren, maar de betekenis van de informatie mag niet veranderen.

De presentatielaag zet de gegevens om in een onderling overeengekomen formaat (een uitwisselingssyntaxis) die begrijpelijk is voor alle netwerkapplicaties en de computers waarop de applicaties draaien. Het kan ook comprimeren en decomprimeren, evenals gegevens versleutelen en ontsleutelen.

Computers gebruiken verschillende regels voor het weergeven van gegevens met binaire nullen en enen. Hoewel al deze regels een gemeenschappelijk doel proberen te bereiken, namelijk het presenteren van door mensen leesbare gegevens, hebben computerfabrikanten en standaardisatieorganisaties regels opgesteld die elkaar tegenspreken. Wanneer twee computers die verschillende sets regels gebruiken met elkaar proberen te communiceren, moeten ze vaak een aantal transformaties uitvoeren.

Lokale en netwerkbesturingssystemen coderen vaak gegevens om deze te beschermen tegen ongeoorloofd gebruik. Versleuteling is een algemene term die enkele van de methoden voor gegevensbescherming beschrijft. Bescherming wordt vaak uitgevoerd door gegevensversleuteling, waarbij een of meer van de drie methoden worden gebruikt: permutatie, substitutie en algebraïsche methode.

Elk van deze methoden is slechts een speciale manier om gegevens op zo'n manier te beschermen dat ze alleen kunnen worden begrepen door degenen die het coderingsalgoritme kennen. Gegevensversleuteling kan zowel in hardware als software worden uitgevoerd. End-to-end data-encryptie wordt echter meestal in software gedaan en wordt beschouwd als onderdeel van de functionaliteit van de presentatielaag. Om objecten te informeren over de gebruikte coderingsmethode, worden meestal 2 methoden gebruikt: geheime sleutels en openbare sleutels.

Versleutelingsmethoden met geheime sleutels gebruiken een enkele sleutel. Netwerkentiteiten die eigenaar zijn van de sleutel kunnen elk bericht versleutelen en ontsleutelen. Daarom moet de sleutel geheim worden gehouden. De sleutel kan in de hardwarechips worden ingebouwd of door de netwerkbeheerder worden geïnstalleerd. Elke keer dat de sleutel wordt gewijzigd, moeten alle apparaten worden gewijzigd (bij voorkeur niet het netwerk gebruiken om de waarde van de nieuwe sleutel te verzenden).

Netwerkobjecten die gebruikmaken van versleutelingsmethoden met openbare sleutels worden geleverd met een geheime sleutel en een bekende waarde. Het object maakt een openbare sleutel door een bekende waarde te manipuleren via een persoonlijke sleutel. De entiteit die de communicatie initieert, stuurt zijn openbare sleutel naar de ontvanger. De andere entiteit combineert vervolgens wiskundig zijn eigen privésleutel met de openbare sleutel die eraan is doorgegeven om een ​​wederzijds aanvaardbare coderingswaarde vast te stellen.

Het bezit van alleen de publieke sleutel heeft weinig zin voor onbevoegde gebruikers. De complexiteit van de resulterende coderingssleutel is groot genoeg om binnen een redelijke tijd te worden berekend. Zelfs het kennen van uw eigen privésleutel en de openbare sleutel van iemand anders is niet veel hulp bij het bepalen van een andere privésleutel, vanwege de complexiteit van logaritmische berekeningen voor grote getallen.

Toepassingslaag

De applicatielaag bevat alle elementen en functies die specifiek zijn voor elk type netwerkdienst. De zes onderste lagen combineren de taken en technologieën die algemene ondersteuning bieden voor de netwerkservice, terwijl de applicatielaag de protocollen biedt die nodig zijn om specifieke netwerkservicefuncties uit te voeren.

Servers bieden netwerkclients informatie over de soorten services die ze leveren. De basismechanismen voor het identificeren van aangeboden diensten worden geleverd door elementen zoals serviceadressen. Bovendien gebruiken servers dergelijke methoden om hun service te presenteren als actieve en passieve servicepresentatie.

In een Active-serviceadvertentie stuurt elke server periodiek berichten (inclusief serviceadressen) om de beschikbaarheid ervan aan te kondigen. Clients kunnen ook netwerkapparaten pollen voor een bepaald type service. Netwerkclients verzamelen weergaven van servers en vormen tabellen van momenteel beschikbare services. De meeste netwerken die de actieve presentatiemethode gebruiken, definiëren ook een specifieke geldigheidsperiode voor servicepresentaties. Als een netwerkprotocol bijvoorbeeld specificeert dat servicerepresentaties elke vijf minuten moeten worden verzonden, zullen clients een time-out geven voor services die niet in de afgelopen vijf minuten zijn gepresenteerd. Wanneer de time-out verloopt, verwijdert de client de service uit de tabellen.

Servers implementeren een passieve serviceadvertentie door hun service en adres in de directory te registreren. Wanneer klanten willen weten welke services beschikbaar zijn, vragen ze eenvoudig de directory op voor de locatie van de gewenste service en het adres.

Voordat een netwerkservice kan worden gebruikt, moet deze beschikbaar zijn voor het lokale besturingssysteem van de computer. Er zijn verschillende methoden om deze taak uit te voeren, maar elke methode kan worden bepaald door de positie of het niveau waarop het lokale besturingssysteem het netwerkbesturingssysteem herkent. De dienstverlening kan worden onderverdeeld in drie categorieën:

  • het onderscheppen van oproepen van het besturingssysteem;
  • externe modus;
  • gezamenlijke gegevensverwerking.

Bij gebruik van OC Call Interception is het lokale besturingssysteem zich totaal niet bewust van het bestaan ​​van een netwerkdienst. Wanneer een DOS-toepassing bijvoorbeeld probeert een bestand van een netwerkbestandsserver te lezen, gaat het ervan uit dat het bestand zich op lokale opslag bevindt. In feite onderschept een speciaal stukje software een verzoek om een ​​bestand te lezen voordat het het lokale besturingssysteem (DOS) bereikt en stuurt het verzoek door naar een netwerkbestandsservice.

Aan het andere uiterste, in Remote Operation, is het lokale besturingssysteem op de hoogte van het netwerk en is het verantwoordelijk voor het doorsturen van verzoeken naar de netwerkservice. De server weet echter niets over de client. Voor het serverbesturingssysteem zien alle verzoeken aan een dienst er hetzelfde uit, of ze nu intern zijn of via het netwerk worden verzonden.

Ten slotte zijn er besturingssystemen die op de hoogte zijn van het bestaan ​​van het netwerk. Zowel de serviceconsument als de serviceprovider erkennen elkaars bestaan ​​en werken samen om het gebruik van de service af te stemmen. Dit type servicegebruik is doorgaans vereist voor peer-to-peer collaboratieve gegevensverwerking. Collaboratieve gegevensverwerking omvat het delen van om een ​​enkele taak uit te voeren. Dit betekent dat het besturingssysteem op de hoogte moet zijn van het bestaan ​​en de mogelijkheden van anderen en met hen moet kunnen samenwerken om de gewenste taak uit te voeren.

ComputerPers 6 "1999

Alexander Goryachev, Alexey Niskovsky

Om de servers en clients van het netwerk te laten communiceren, moeten ze werken met hetzelfde protocol voor informatie-uitwisseling, dat wil zeggen dat ze dezelfde taal moeten "spreken". Het protocol definieert een reeks regels voor het organiseren van de uitwisseling van informatie op alle interactieniveaus van netwerkobjecten.

Er is een Open System Interconnection Reference Model, vaak aangeduid als het OSI-model. Dit model is ontwikkeld door de International Organization for Standardization (ISO). Het OSI-model beschrijft het interactieschema van netwerkobjecten, definieert de lijst met taken en regels voor gegevensoverdracht. Het omvat zeven niveaus: fysiek (Fysiek - 1), kanaal (Data-Link - 2), netwerk (Netwerk - 3), transport (Transport - 4), sessie (Sessie - 5), gegevenspresentatie (Presentatie - 6 ) en toegepast (Toepassing - 7). Er wordt aangenomen dat twee computers met elkaar kunnen communiceren op een bepaald niveau van het OSI-model als hun software die de netwerkfuncties van dit niveau implementeert dezelfde gegevens op dezelfde manier interpreteert. In dit geval wordt een directe interactie tussen de twee computers tot stand gebracht, "point-to-point" genoemd.

Implementaties van het OSI-model door protocollen worden stapels (sets) protocollen genoemd. Binnen één bepaald protocol is het onmogelijk om alle functies van het OSI-model te implementeren. Typisch worden de taken van een bepaalde laag geïmplementeerd door een of meer protocollen. Protocollen van dezelfde stapel zouden op één computer moeten werken. In dit geval kan een computer meerdere protocolstacks tegelijkertijd gebruiken.

Laten we eens kijken naar de taken die zijn opgelost op elk van de niveaus van het OSI-model.

Fysieke laag

Op dit niveau van het OSI-model worden de volgende kenmerken van netwerkcomponenten gedefinieerd: soorten verbindingen van datatransmissiemedia, fysieke netwerktopologieën, methoden van datatransmissie (met digitale of analoge signaalcodering), soorten synchronisatie van verzonden data, scheiding van communicatiekanalen met behulp van frequentie- en tijdmultiplexing.

Implementaties van fysieke laagprotocollen van het OSI-model coördineren de regels voor het verzenden van bits.

De fysieke laag bevat geen beschrijving van het transmissiemedium. Implementaties van fysieke laagprotocollen zijn echter mediaspecifiek. De aansluiting van de volgende netwerkapparatuur wordt meestal geassocieerd met de fysieke laag:

  • concentrators, hubs en repeaters die elektrische signalen regenereren;
  • transmissiemediumconnectoren die een mechanische interface verschaffen voor het aansluiten van de inrichting op het transmissiemedium;
  • modems en verschillende converterende apparaten die digitale en analoge conversies uitvoeren.

Deze modellaag definieert de fysieke topologieën in een bedrijfsnetwerk, die zijn gebouwd met behulp van een basisset van standaardtopologieën.

De eerste in de basisset is de bustopologie. In dit geval zijn alle netwerkapparaten en computers aangesloten op een gemeenschappelijke datatransmissiebus, die meestal wordt gevormd met behulp van een coaxkabel. De kabel die de gemeenschappelijke bus vormt, wordt de backbone genoemd. Van elk van de apparaten die op de bus zijn aangesloten, wordt het signaal in beide richtingen verzonden. Om het signaal van de kabel te verwijderen, moeten aan de uiteinden van de bus speciale stroomonderbrekers (terminators) worden gebruikt. Mechanische schade aan de lijn beïnvloedt de werking van alle aangesloten apparaten.

Ringtopologie omvat de verbinding van alle netwerkapparaten en computers in een fysieke ring (ring). In deze topologie wordt informatie altijd in één richting langs de ring verzonden - van station naar station. Elk netwerkapparaat moet een informatieontvanger op de ingangskabel en een zender op de uitgangskabel hebben. Mechanische schade aan de media in een enkele ring zal de werking van alle apparaten beïnvloeden, maar netwerken die zijn gebouwd met een dubbele ring, hebben in de regel een fouttolerantiemarge en zelfherstellende functies. In netwerken die op een dubbele ring zijn gebouwd, wordt dezelfde informatie in beide richtingen rond de ring verzonden. In het geval van een kabelstoring, blijft de ring dubbel zo lang werken in de enkele ringmodus (de zelfherstellende functies worden bepaald door de gebruikte hardware).

De volgende topologie is de stertopologie of ster. Het zorgt voor de aanwezigheid van een centraal apparaat waarop andere netwerkapparaten en computers zijn aangesloten door middel van balken (aparte kabels). Netwerken die zijn gebouwd op een stertopologie hebben één storingspunt. Dit punt is het centrale apparaat. In het geval van een storing van het centrale apparaat, kunnen alle andere netwerkdeelnemers geen informatie met elkaar uitwisselen, omdat alle uitwisseling alleen via het centrale apparaat is uitgevoerd. Afhankelijk van het type centrale apparaat kan het signaal dat van één ingang wordt ontvangen (met of zonder versterking) worden verzonden naar alle uitgangen of naar een specifieke uitgang waarop het apparaat is aangesloten - de ontvanger van informatie.

Volledig verbonden (mesh) topologie heeft een hoge fouttolerantie. Bij het bouwen van netwerken met een vergelijkbare topologie, is elk van de netwerkapparaten of computers verbonden met elk ander onderdeel van het netwerk. Deze topologie heeft redundantie, waardoor het onpraktisch lijkt. Deze topologie wordt inderdaad zelden gebruikt in kleine netwerken, maar in grote bedrijfsnetwerken kan een volledig vermaasde topologie worden gebruikt om de belangrijkste knooppunten met elkaar te verbinden.

De beschouwde topologieën worden meestal gebouwd met behulp van kabelverbindingen.

Er is nog een topologie die gebruikmaakt van draadloze verbindingen - cellulair (cellulair). Daarin worden netwerkapparaten en computers gecombineerd in zones - cellen (cel), die alleen communiceren met de transceiver van de cel. De overdracht van informatie tussen cellen wordt uitgevoerd door transceivers.

Link laag

Dit niveau definieert de logische topologie van het netwerk, de regels voor het verkrijgen van toegang tot het datatransmissiemedium, lost problemen op met betrekking tot het adresseren van fysieke apparaten binnen het logische netwerk en het beheer van de overdracht van informatie (transmissiesynchronisatie en verbindingsservice) tussen netwerkapparaten.

Linklaagprotocollen definiëren:

  • regels voor het organiseren van fysieke laagbits (binaire enen en nullen) in logische informatiegroepen die frames (frame) of frames worden genoemd. Een frame is een datalinklaageenheid die bestaat uit een aaneengesloten reeks van gegroepeerde bits, met een kop en een einde;
  • regels voor het opsporen (en soms corrigeren) van transmissiefouten;
  • regels voor gegevensstroomcontrole (voor apparaten die op dit niveau van het OSI-model werken, zoals bruggen);
  • regels voor het identificeren van computers op het netwerk aan de hand van hun fysieke adressen.

Net als de meeste andere lagen voegt de verbindingslaag zijn eigen besturingsinformatie toe aan het begin van het datapakket. Deze informatie kan bron- en bestemmingsadressen (fysiek of hardware), framelengte-informatie en een indicatie van actieve bovenlaagprotocollen bevatten.

De volgende netwerkconnectoren worden doorgaans geassocieerd met de linklaag:

  • bruggen;
  • slimme hubs;
  • schakelaars;
  • netwerkinterfacekaarten (netwerkinterfacekaarten, adapters, enz.).

De functies van de schakellaag zijn onderverdeeld in twee subniveaus (Tabel 1):

  • controle van toegang tot het transmissiemedium (Media Access Control, MAC);
  • logische linkbesturing (Logical Link Control, LLC).

De MAC-sublaag definieert dergelijke elementen van de verbindingslaag als de logische topologie van het netwerk, de methode van toegang tot het informatietransmissiemedium en de regels voor fysieke adressering tussen netwerkobjecten.

De afkorting MAC wordt ook gebruikt bij het definiëren van het fysieke adres van een netwerkapparaat: het fysieke adres van een apparaat (dat intern wordt bepaald door een netwerkapparaat of netwerkkaart in de fabricagefase) wordt vaak het MAC-adres van dat apparaat genoemd . Voor een groot aantal netwerkapparaten, vooral netwerkkaarten, is het mogelijk om het MAC-adres programmatisch te wijzigen. Tegelijkertijd moet worden bedacht dat de linklaag van het OSI-model beperkingen oplegt aan het gebruik van MAC-adressen: in één fysiek netwerk (segment van een groter netwerk) kunnen niet twee of meer apparaten dezelfde MAC-adressen gebruiken . Het concept van "knooppuntadres" kan worden gebruikt om het fysieke adres van een netwerkobject te bepalen. Het hostadres komt meestal overeen met het MAC-adres of wordt logisch bepaald door hertoewijzing van softwareadressen.

De LLC-sublaag definieert de transmissie- enregels. Deze sublaag van de linklaag werkt nauw samen met de netwerklaag van het OSI-model en is verantwoordelijk voor de betrouwbaarheid van fysieke (met MAC-adressen) verbindingen. De logische topologie van een netwerk definieert de manier waarop en de regels (volgorde) van gegevensoverdracht tussen computers op het netwerk. Netwerkobjecten verzenden gegevens afhankelijk van de logische topologie van het netwerk. De fysieke topologie definieert het fysieke pad van de gegevens; in sommige gevallen weerspiegelt de fysieke topologie echter niet de manier waarop het netwerk functioneert. Het daadwerkelijke datapad wordt bepaald door de logische topologie. Om gegevens langs een logisch pad over te dragen, dat kan verschillen van het pad in het fysieke medium, worden netwerkverbindingsapparaten en mediatoegangsschema's gebruikt. Een goed voorbeeld van het verschil tussen fysieke en logische topologieën is het Token Ring-netwerk van IBM. Token Ring LAN's maken vaak gebruik van koperen kabel, die in een stervormig circuit wordt gelegd met een centrale splitter (hub). In tegenstelling tot een normale stertopologie stuurt de hub inkomende signalen niet door naar alle andere aangesloten apparaten. Het interne circuit van de hub stuurt elk binnenkomend signaal opeenvolgend naar het volgende apparaat in een vooraf bepaalde logische ring, dat wil zeggen in een cirkelvormig patroon. De fysieke topologie van dit netwerk is een ster en de logische topologie is een ring.

Een ander voorbeeld van het verschil tussen fysieke en logische topologieën is het Ethernet-netwerk. Het fysieke netwerk kan worden gebouwd met behulp van koperen kabels en een centrale hub. Er wordt een fysiek netwerk gevormd, gemaakt volgens de stertopologie. Ethernet-technologie omvat echter de overdracht van informatie van de ene computer naar alle andere op het netwerk. De hub moet het signaal dat van een van zijn poorten wordt ontvangen, doorsturen naar alle andere poorten. Er is een logisch netwerk met bustopologie gevormd.

Om de logische netwerktopologie te bepalen, moet u begrijpen hoe signalen daarin worden ontvangen:

  • in logische bustopologieën wordt elk signaal door alle apparaten ontvangen;
  • in logische ringtopologieën ontvangt elk apparaat alleen die signalen die er specifiek naar toe zijn gestuurd.

Het is ook belangrijk om te weten hoe netwerkapparaten toegang krijgen tot de media.

Mediatoegang

Logische topologieën gebruiken speciale regels die de toestemming regelen om informatie naar andere netwerkentiteiten te verzenden. Het controleproces regelt de toegang tot het communicatiemedium. Denk aan een netwerk waarin alle apparaten mogen functioneren zonder regels voor het verkrijgen van toegang tot het transmissiemedium. Alle apparaten in zo'n netwerk verzenden informatie zodra er gegevens beschikbaar komen; deze uitzendingen kunnen elkaar in de tijd soms overlappen. Als gevolg van de superpositie worden de signalen vervormd en gaan de verzonden gegevens verloren. Deze situatie wordt een aanrijding genoemd. Botsingen maken het niet mogelijk om een ​​betrouwbare en efficiënte overdracht van informatie tussen netwerkobjecten te organiseren.

Netwerkbotsingen strekken zich uit tot de fysieke netwerksegmenten waarmee netwerkobjecten zijn verbonden. Dergelijke verbindingen vormen één botsingsruimte, waarin de invloed van botsingen zich uitstrekt tot iedereen. Om de grootte van botsingsruimten te verkleinen door het fysieke netwerk te segmenteren, kunt u bruggen en andere netwerkapparaten gebruiken die verkeersfilterfuncties hebben op de linklaag.

Een netwerk kan niet normaal functioneren totdat alle netwerkentiteiten botsingen kunnen controleren, beheren of verminderen. In netwerken is een methode nodig om het aantal botsingen, interferentie (overlay) van gelijktijdige signalen te verminderen.

Er zijn standaard mediatoegangsmethoden die de regels beschrijven waarmee toestemming voor het verzenden van informatie voor netwerkapparaten wordt beheerd: contentie, het doorgeven van een token en polling.

Voordat u een protocol kiest dat een van deze mediatoegangsmethoden implementeert, moet u speciale aandacht besteden aan de volgende factoren:

  • de aard van de uitzendingen - continu of impulsief;
  • aantal gegevensoverdrachten;
  • de noodzaak om gegevens met strikt gedefinieerde tijdsintervallen over te dragen;
  • het aantal actieve apparaten op het netwerk.

Elk van deze factoren, gecombineerd met voor- en nadelen, zal helpen bepalen welke methode voor mediatoegang het meest geschikt is.

Concurrentie. Op geschillen gebaseerde systemen gaan ervan uit dat toegang tot het transmissiemedium wordt geïmplementeerd op basis van wie het eerst komt, het eerst maalt. Met andere woorden, elk netwerkapparaat concurreert om de controle over het transmissiemedium. Race-systemen zijn zo ontworpen dat alle apparaten op het netwerk alleen gegevens kunnen verzenden als dat nodig is. Deze praktijk resulteert uiteindelijk in gedeeltelijk of volledig verlies van gegevens omdat er daadwerkelijk botsingen optreden. Naarmate elk nieuw apparaat aan het netwerk wordt toegevoegd, kan het aantal botsingen exponentieel toenemen. Een toename van het aantal botsingen vermindert de prestatie van het netwerk, en in het geval van volledige verzadiging van het informatietransmissiemedium, reduceert dit de prestatie van het netwerk tot nul.

Om het aantal botsingen te verminderen, zijn speciale protocollen ontwikkeld die de functie van het luisteren naar het informatieoverdrachtsmedium vóór het begin van de gegevensoverdracht door het station implementeren. Als het luisterende station een signaaloverdracht (van een ander station) detecteert, ziet het af van het verzenden van de informatie en zal het later proberen het te herhalen. Deze protocollen worden Carrier Sense Multiple Access (CSMA) protocollen genoemd. CSMA-protocollen verminderen het aantal botsingen aanzienlijk, maar elimineren ze niet volledig. Er treden echter botsingen op wanneer twee stations de kabel ondervragen: ze detecteren geen signalen, besluiten dat het medium vrij is en beginnen dan tegelijkertijd met zenden.

Voorbeelden van dergelijke conflictprotocollen zijn:

  • meervoudige toegang met carrier control / collision detection (Carrier Sense Multiple Access / Collision Detection, CSMA / CD);
  • meervoudige toegang met dragercontrole / vermijding van botsingen (Carrier Sense Multiple Access / vermijding van botsingen, CSMA / CA).

CSMA/CD-protocollen. De CSMA/CD-protocollen luisteren niet alleen op de kabel voordat ze worden verzonden, maar detecteren ook botsingen en starten hertransmissies. Wanneer een botsing wordt gedetecteerd, initialiseren de stations die gegevens hebben verzonden speciale interne timers met willekeurige waarden. De timers beginnen af ​​te tellen en wanneer nul is bereikt, moeten de stations proberen de gegevens opnieuw uit te zenden. Aangezien de timers zijn geïnitialiseerd met willekeurige waarden, zal een van de stations proberen de gegevensoverdracht voor de andere te herhalen. Dienovereenkomstig zal het tweede station vaststellen dat het datamedium reeds bezet is en wachten tot het vrij komt.

Voorbeelden van CSMA/CD-protocollen zijn Ethernet versie 2 (Ethernet II ontwikkeld door DEC) en IEEE802.3.

CSMA/CA-protocollen. CSMA/CA maakt gebruik van schema's als time-slicing-toegang of het verzenden van een verzoek om toegang tot het medium. Bij gebruik van time-slicing kan elk station alleen informatie verzenden op tijden die strikt voor dit station zijn gedefinieerd. Tegelijkertijd moet het mechanisme voor het beheren van tijdschijven in het netwerk worden geïmplementeerd. Elk nieuw station dat op het netwerk is aangesloten, kondigt zijn verschijning aan, waardoor het proces van herverdeling van tijdplakken voor informatieoverdracht wordt gestart. In het geval van gebruik van gecentraliseerde mediatoegangscontrole, genereert elk station een speciaal verzoek voor verzending, dat aan het controlestation wordt geadresseerd. De meldkamer regelt de toegang tot het transmissiemedium voor alle netwerkobjecten.

Een voorbeeld van CSMA/CA is het LocalTalk-protocol van Apple Computer.

Op race gebaseerde systemen zijn het meest geschikt voor bursty-verkeer (grote bestandsoverdrachten) op netwerken met relatief weinig gebruikers.

Systemen met de overdracht van de marker. In token-passingsystemen wordt een klein frame (token) in een bepaalde volgorde van het ene apparaat naar het andere doorgegeven. Een token is een speciaal bericht dat tijdelijk mediabeheer overdraagt ​​aan het apparaat dat eigenaar is van het token. Het doorgeven van het token verdeelt de toegangscontrole tussen apparaten op het netwerk.

Elk apparaat weet van welk apparaat het de token ontvangt en naar welk apparaat het moet worden doorgegeven. Meestal zijn dergelijke apparaten de dichtstbijzijnde buren van de eigenaar van het token. Elk apparaat neemt periodiek de controle over het token, voert zijn acties uit (verzendt informatie) en geeft het token vervolgens door aan het volgende apparaat voor gebruik. Protocollen beperken de tijd dat een token door elk apparaat kan worden beheerd.

Er zijn verschillende protocollen voor het doorgeven van tokens. Twee netwerkstandaarden die token-passing gebruiken, zijn IEEE 802.4 Token Bus en IEEE 802.5 Token Ring. Een Token Bus-netwerk gebruikt token-passing-toegangscontrole en een fysieke of logische bustopologie, terwijl een Token Ring-netwerk token-passing-toegangscontrole en een fysieke of logische ringtopologie gebruikt.

Token-passing-netwerken moeten worden gebruikt wanneer er tijdsafhankelijk prioriteitsverkeer is, zoals digitale audio- of videogegevens, of wanneer er een zeer groot aantal gebruikers is.

Enquête. Polling is een toegangsmethode die één apparaat (de controller, het primaire of "master"-apparaat genoemd) uitkiest als arbiter voor mediatoegang. Dit apparaat ondervraagt ​​alle andere apparaten (secundaire apparaten) in een vooraf gedefinieerde volgorde om te zien of ze informatie hebben om te verzenden. Om gegevens van een secundair apparaat te ontvangen, stuurt het primaire apparaat er een passend verzoek naar en ontvangt vervolgens gegevens van het secundaire apparaat en stuurt deze naar het ontvangende apparaat. Vervolgens peilt het primaire apparaat een ander secundair apparaat, ontvangt er gegevens van, enzovoort. Het protocol beperkt de hoeveelheid gegevens die elk secundair apparaat kan verzenden nadat het is opgevraagd. Polling-systemen zijn ideaal voor tijdgevoelige netwerkapparaten zoals fabrieksautomatisering.

Deze laag verzorgt ook de verbindingsdienst. Er zijn drie soorten verbindingsdiensten:

  • dienst zonder bevestiging en zonder verbindingen tot stand te brengen (niet-bevestigde verbindingsloos) - verzendt en ontvangt frames zonder stroomcontrole en zonder foutcontrole of pakketvolgorde;
  • verbindingsgerichte service - biedt flow control, foutcontrole en pakketvolgorde door de uitgifte van ontvangstbewijzen (bevestigingen);
  • Erkende verbindingsloze service - gebruikt tickets om de stroom te controleren en fouten in transmissies tussen twee netwerkknooppunten te controleren.

De LLC-sublaag van de linklaag biedt de mogelijkheid om gelijktijdig meerdere netwerkprotocollen (van verschillende protocolstacks) te gebruiken bij het werken via één netwerkinterface. Met andere woorden, als er slechts één netwerkkaart in de computer is geïnstalleerd, maar er moet worden gewerkt met verschillende netwerkdiensten van verschillende fabrikanten, dan biedt de clientnetwerksoftware op het LLC-subniveau de mogelijkheid van dergelijk werk.

netwerklaag

De netwerklaag definieert de regels voor gegevenslevering tussen logische netwerken, het vormen van logische adressen van netwerkapparaten, het definiëren, selecteren en onderhouden van routeringsinformatie, het functioneren van gateways (gateways).

Het belangrijkste doel van de netwerklaag is het oplossen van het probleem van het verplaatsen (leveren) van gegevens naar bepaalde punten in het netwerk. Gegevenslevering op de netwerklaag is in het algemeen vergelijkbaar met gegevenslevering op de datalinklaag van het OSI-model, waar fysieke adressering van apparaten wordt gebruikt om gegevens over te dragen. Adressering op de linklaag verwijst echter slechts naar één logisch netwerk en is alleen geldig binnen dit netwerk. De netwerklaag beschrijft de methoden en middelen om informatie over te dragen tussen vele onafhankelijke (en vaak heterogene) logische netwerken, die, wanneer ze met elkaar verbonden zijn, één groot netwerk vormen. Zo'n netwerk wordt een onderling verbonden netwerk (internetwork) genoemd en de processen van informatieoverdracht tussen netwerken worden internetworking genoemd.

Met behulp van fysieke adressering op de datalinklaag worden gegevens geleverd aan alle apparaten die deel uitmaken van hetzelfde logische netwerk. Elk netwerkapparaat, elke computer bepaalt de bestemming van de ontvangen gegevens. Zijn de gegevens voor de computer bedoeld, dan verwerkt hij ze; zo niet, dan negeert hij ze.

In tegenstelling tot de linklaag kan de netwerklaag een specifieke route in het internetwerk kiezen en vermijden om data naar die logische netwerken te sturen waar de data niet aan geadresseerd is. De netwerklaag doet dit door te schakelen, netwerklaagadressering en het gebruik van routeringsalgoritmen. De netwerklaag is ook verantwoordelijk voor het leveren van de juiste paden voor gegevens over het internetwerk, dat bestaat uit heterogene netwerken.

De elementen en methoden voor het implementeren van de netwerklaag zijn als volgt gedefinieerd:

  • alle logisch gescheiden netwerken moeten unieke netwerkadressen hebben;
  • schakelen definieert hoe verbindingen over het internetwerk tot stand worden gebracht;
  • de mogelijkheid om routering te implementeren zodat computers en routers het beste pad bepalen voor gegevens om door het internetwerk te gaan;
  • het netwerk zal verschillende niveaus van verbindingsservice uitvoeren, afhankelijk van het aantal verwachte fouten binnen het internetwerk.

Routers en sommige switches werken op dit niveau van het OSI-model.

De netwerklaag definieert de regels voor het genereren van logische netwerkadressen voor netwerkobjecten. Binnen een groot internetwerk moet elk netwerkobject een uniek logisch adres hebben. Twee componenten zijn betrokken bij de vorming van het logische adres: het logische adres van het netwerk, dat gemeenschappelijk is voor alle netwerkobjecten, en het logische adres van het netwerkobject, dat uniek is voor dit object. Bij het vormen van het logische adres van een netwerkobject kan ofwel het fysieke adres van het object worden gebruikt, ofwel kan een willekeurig logisch adres worden bepaald. Door het gebruik van logische adressering kunt u de gegevensoverdracht tussen verschillende logische netwerken organiseren.

Elk netwerkobject, elke computer kan veel netwerkfuncties tegelijkertijd uitvoeren, waardoor verschillende services kunnen worden bediend. Om toegang te krijgen tot services, wordt een speciale service-ID gebruikt, die een poort (poort) of een socket (socket) wordt genoemd. Bij toegang tot een service volgt de service-ID onmiddellijk het logische adres van de computer waarop de service wordt uitgevoerd.

Veel netwerken reserveren groepen logische adressen en service-ID's om specifieke, vooraf gedefinieerde en bekende acties uit te voeren. Als het bijvoorbeeld nodig is om gegevens naar alle netwerkobjecten te verzenden, wordt deze naar een speciaal broadcast-adres verzonden.

De netwerklaag definieert de regels voor de overdracht van gegevens tussen twee netwerkentiteiten. Deze verzending kan worden uitgevoerd met behulp van schakelen of routeren.

Er zijn drie manieren om te schakelen bij datatransmissie: circuitschakeling, berichtschakeling en pakketschakeling.

Bij gebruik van circuitschakeling wordt een datatransmissiekanaal tot stand gebracht tussen de zender en de ontvanger. Dit kanaal is gedurende de gehele communicatiesessie actief. Bij gebruik van deze methode zijn lange vertragingen bij de toewijzing van een kanaal mogelijk vanwege het ontbreken van voldoende bandbreedte, de werklast van de schakelapparatuur of de drukte van de ontvanger.

Met het wisselen van berichten kan een heel (niet opgedeeld) bericht op een store-and-forward-basis worden verzonden. Elk tussenapparaat ontvangt een bericht, slaat het lokaal op en verzendt het, wanneer het communicatiekanaal waardoor dit bericht moet worden verzonden, wordt vrijgegeven. Deze methode is zeer geschikt voor het verzenden van e-mailberichten en het organiseren van elektronisch documentbeheer.

Bij het gebruik van pakketschakeling worden de voordelen van de twee voorgaande methoden gecombineerd. Elk groot bericht wordt opgedeeld in kleine pakketjes, die elk opeenvolgend naar de ontvanger worden verzonden. Bij het passeren van het internetwerk wordt voor elk van de pakketten het beste pad op dat moment bepaald. Het blijkt dat delen van één bericht de ontvanger op verschillende tijdstippen kunnen bereiken, en pas nadat alle delen zijn samengevoegd, kan de ontvanger met de ontvangen gegevens werken.

Elke keer dat een datapad wordt bepaald, moet het beste pad worden gekozen. De taak om het beste pad te bepalen, wordt routering genoemd. Deze taak wordt uitgevoerd door routers. De taak van routers is om mogelijke datatransmissiepaden te bepalen, routeringsinformatie bij te houden en de beste routes te selecteren. Routing kan statisch of dynamisch gebeuren. Bij het definiëren van statische routering moeten alle relaties tussen logische netwerken worden gedefinieerd en ongewijzigd blijven. Dynamische routering gaat ervan uit dat de router zelf nieuwe paden kan bepalen of informatie over oude kan wijzigen. Dynamische routering maakt gebruik van speciale routeringsalgoritmen, waarvan de afstandsvector en linkstatus de meest voorkomende zijn. In het eerste geval gebruikt de router informatie uit de tweede hand over de netwerkstructuur van naburige routers. In het tweede geval werkt de router met informatie over zijn eigen communicatiekanalen en werkt hij samen met een speciale representatieve router om een ​​complete netwerkkaart te bouwen.

De keuze van de beste route wordt meestal beïnvloed door factoren zoals het aantal hops door routers (hop count) en het aantal ticks (tijdseenheden) dat nodig is om het bestemmingsnetwerk te bereiken (tick count).

De netwerklaagverbindingsservice werkt wanneer de verbindingslaag LLC-sublaagverbindingsservice van het OSI-model niet wordt gebruikt.

Bij het bouwen van een internetwerk moet u logische netwerken aansluiten die zijn gebouwd met behulp van verschillende technologieën en die een verscheidenheid aan services bieden. Om een ​​netwerk te laten werken, moeten logische netwerken in staat zijn om gegevens correct te interpreteren en informatie te sturen. Deze taak wordt opgelost met behulp van een gateway, een apparaat of een toepassingsprogramma dat de regels van het ene logisch netwerk vertaalt en interpreteert in de regels van een ander. Over het algemeen kunnen gateways op elke laag van het OSI-model worden geïmplementeerd, maar ze worden meestal geïmplementeerd in de bovenste lagen van het model.

transport laag

Met de transportlaag kunt u de fysieke en logische structuur van het netwerk verbergen voor de toepassingen van de bovenste lagen van het OSI-model. Applicaties werken alleen met servicefuncties die vrij universeel zijn en niet afhankelijk zijn van de fysieke en logische netwerktopologieën. Functies van de logische en fysieke netwerken zijn geïmplementeerd op de vorige niveaus, waar de transportlaag gegevens verzendt.

De transportlaag compenseert vaak het ontbreken van een betrouwbare of verbindingsgerichte verbindingsdienst in de lagere lagen. De term "betrouwbaar" betekent niet dat in alle gevallen alle gegevens worden geleverd. Betrouwbare implementaties van transportlaagprotocollen kunnen echter meestal de levering van gegevens bevestigen of weigeren. Als de gegevens niet correct worden afgeleverd bij het ontvangende apparaat, kan de transportlaag opnieuw verzenden of de bovenste lagen informeren over het niet leveren. Bovenliggende niveaus kunnen dan de nodige corrigerende maatregelen nemen of de gebruiker een keuze geven.

Veel protocollen in computernetwerken bieden gebruikers de mogelijkheid om te werken met eenvoudige namen in natuurlijke taal in plaats van complexe en moeilijk te onthouden alfanumerieke adressen. Adres/Naam Resolutie is de functie van het identificeren of toewijzen van namen en alfanumerieke adressen aan elkaar. Deze functie kan worden uitgevoerd door elke entiteit op het netwerk of door speciale serviceproviders die directoryservers, naamservers en dergelijke worden genoemd. De volgende definities classificeren adres-/naamomzettingsmethoden:

  • service-initiatie door de consument;
  • initiatie van de dienstverlener.

In het eerste geval benadert de netwerkgebruiker een dienst met zijn logische naam, zonder de exacte locatie van de dienst te kennen. De gebruiker weet niet of deze service momenteel beschikbaar is. Bij toegang wordt de logische naam toegewezen aan de fysieke naam en het werkstation van de gebruiker initieert rechtstreeks een oproep naar de service. In het tweede geval meldt elke dienst zich periodiek aan alle netwerkklanten. Elk van de klanten weet op elk moment of de dienst beschikbaar is en heeft direct toegang tot de dienst.

Adresseringsmethoden

Serviceadressen identificeren specifieke softwareprocessen die op netwerkapparaten worden uitgevoerd. Naast deze adressen houden serviceproviders de verschillende gesprekken bij die ze hebben met apparaten die om services vragen. De twee verschillende dialoogmethoden gebruiken de volgende adressen:

  • verbindingsidentificatie;
  • Transactie ID.

Een verbindings-ID, ook wel een verbindings-ID, poort of socket genoemd, identificeert elk gesprek. Met een verbindings-ID kan een verbindingsprovider met meer dan één client communiceren. De serviceprovider verwijst naar elke schakeleenheid met zijn nummer en vertrouwt op de transportlaag om andere adressen op de lagere laag te coördineren. De verbindings-ID is gekoppeld aan een bepaald dialoogvenster.

Transactie-ID's zijn vergelijkbaar met verbindings-ID's, maar werken in eenheden die kleiner zijn dan de conversatie. Een transactie bestaat uit een verzoek en een antwoord. Dienstverleners en consumenten houden het vertrek en de aankomst van elke transactie bij, niet het gesprek als geheel.

sessielaag

De sessielaag vergemakkelijkt de interactie tussen apparaten die diensten aanvragen en leveren. Communicatiesessies worden bestuurd via mechanismen die een gesprek tussen communicerende entiteiten tot stand brengen, onderhouden, synchroniseren en beheren. Deze laag helpt de bovenste lagen ook om een ​​beschikbare netwerkservice te identificeren en er verbinding mee te maken.

De sessielaag gebruikt de logische adresinformatie die door de onderste lagen wordt geleverd om servernamen en adressen te identificeren die de bovenste lagen nodig hebben.

De sessielaag initieert ook gesprekken tussen apparaten van serviceproviders en consumentenapparaten. Bij het uitvoeren van deze functie vertegenwoordigt of identificeert de sessielaag vaak elk object en coördineert de toegangsrechten ervoor.

De sessielaag implementeert gesprekscontrole met behulp van een van de drie communicatiemodi: simplex, half duplex en full duplex.

Simplexcommunicatie omvat slechts eenrichtingstransmissie van de bron naar de ontvanger van informatie. Deze manier van communiceren geeft geen feedback (van de ontvanger naar de bron). Half duplex maakt het gebruik van één datatransmissiemedium voor bidirectionele informatieoverdracht mogelijk, maar informatie kan slechts in één richting tegelijk worden verzonden. Full-duplex biedt gelijktijdige overdracht van informatie in beide richtingen via het gegevensoverdrachtmedium.

Het beheer van een communicatiesessie tussen twee netwerkentiteiten, bestaande uit het tot stand brengen van een verbinding, het overbrengen van gegevens, het beëindigen van een verbinding, wordt ook uitgevoerd op deze laag van het OSI-model. Nadat de sessie tot stand is gebracht, kan de software die de functies van dit niveau implementeert, de gezondheid (onderhouden) van de verbinding controleren totdat deze wordt beëindigd.

Presentatie laag

De hoofdtaak van de datapresentatielaag is het omzetten van data in onderling overeengekomen formaten (uitwisselingssyntax) die begrijpelijk zijn voor alle netwerkapplicaties en computers waarop applicaties draaien. Op dit niveau worden ook de taken van datacompressie en decompressie en hun versleuteling opgelost.

Transformatie verwijst naar het veranderen van de volgorde van bits in bytes, de volgorde van bytes in een woord, tekencodes en de syntaxis van bestandsnamen.

De noodzaak om de volgorde van bits en bytes te veranderen is te wijten aan de aanwezigheid van een groot aantal verschillende processors, computers, complexen en systemen. Processors van verschillende fabrikanten kunnen de nul- en zevende bits in een byte anders interpreteren (ofwel de nulbit is de hoogste bit, of de zevende bit). Evenzo worden de bytes die grote eenheden van informatie vormen - woorden - anders geïnterpreteerd.

Om gebruikers van verschillende besturingssystemen informatie te laten ontvangen in de vorm van bestanden met de juiste namen en inhoud, zorgt dit niveau voor de juiste transformatie van de bestandssyntaxis. Verschillende besturingssystemen werken anders met hun bestandssystemen, implementeren verschillende manieren om bestandsnamen te vormen. Informatie in bestanden wordt ook opgeslagen in een specifieke tekencodering. Wanneer twee netwerkobjecten op elkaar inwerken, is het belangrijk dat elk van hen de bestandsinformatie op zijn eigen manier kan interpreteren, maar de betekenis van de informatie mag niet veranderen.

De presentatielaag zet de gegevens om in een onderling overeengekomen formaat (een uitwisselingssyntaxis) die begrijpelijk is voor alle netwerkapplicaties en de computers waarop de applicaties draaien. Het kan ook comprimeren en decomprimeren, evenals gegevens versleutelen en ontsleutelen.

Computers gebruiken verschillende regels voor het weergeven van gegevens met binaire nullen en enen. Hoewel al deze regels een gemeenschappelijk doel proberen te bereiken, namelijk het presenteren van door mensen leesbare gegevens, hebben computerfabrikanten en standaardisatieorganisaties regels opgesteld die elkaar tegenspreken. Wanneer twee computers die verschillende sets regels gebruiken met elkaar proberen te communiceren, moeten ze vaak een aantal transformaties uitvoeren.

Lokale en netwerkbesturingssystemen coderen vaak gegevens om deze te beschermen tegen ongeoorloofd gebruik. Versleuteling is een algemene term die enkele van de methoden voor gegevensbescherming beschrijft. Bescherming wordt vaak uitgevoerd door gegevensversleuteling, waarbij een of meer van de drie methoden worden gebruikt: permutatie, substitutie en algebraïsche methode.

Elk van deze methoden is slechts een speciale manier om gegevens op zo'n manier te beschermen dat ze alleen kunnen worden begrepen door degenen die het coderingsalgoritme kennen. Gegevensversleuteling kan zowel in hardware als software worden uitgevoerd. End-to-end data-encryptie wordt echter meestal in software gedaan en wordt beschouwd als onderdeel van de functionaliteit van de presentatielaag. Om objecten te informeren over de gebruikte coderingsmethode, worden meestal 2 methoden gebruikt: geheime sleutels en openbare sleutels.

Versleutelingsmethoden met geheime sleutels gebruiken een enkele sleutel. Netwerkentiteiten die eigenaar zijn van de sleutel kunnen elk bericht versleutelen en ontsleutelen. Daarom moet de sleutel geheim worden gehouden. De sleutel kan in de hardwarechips worden ingebouwd of door de netwerkbeheerder worden geïnstalleerd. Elke keer dat de sleutel wordt gewijzigd, moeten alle apparaten worden gewijzigd (bij voorkeur niet het netwerk gebruiken om de waarde van de nieuwe sleutel te verzenden).

Netwerkobjecten die gebruikmaken van versleutelingsmethoden met openbare sleutels worden geleverd met een geheime sleutel en een bekende waarde. Het object maakt een openbare sleutel door een bekende waarde te manipuleren via een persoonlijke sleutel. De entiteit die de communicatie initieert, stuurt zijn openbare sleutel naar de ontvanger. De andere entiteit combineert vervolgens wiskundig zijn eigen privésleutel met de openbare sleutel die eraan is doorgegeven om een ​​wederzijds aanvaardbare coderingswaarde vast te stellen.

Het bezit van alleen de publieke sleutel heeft weinig zin voor onbevoegde gebruikers. De complexiteit van de resulterende coderingssleutel is groot genoeg om binnen een redelijke tijd te worden berekend. Zelfs het kennen van uw eigen privésleutel en de openbare sleutel van iemand anders is niet veel hulp bij het bepalen van een andere privésleutel, vanwege de complexiteit van logaritmische berekeningen voor grote getallen.

Toepassingslaag

De applicatielaag bevat alle elementen en functies die specifiek zijn voor elk type netwerkdienst. De zes onderste lagen combineren de taken en technologieën die algemene ondersteuning bieden voor de netwerkservice, terwijl de applicatielaag de protocollen biedt die nodig zijn om specifieke netwerkservicefuncties uit te voeren.

Servers bieden netwerkclients informatie over de soorten services die ze leveren. De basismechanismen voor het identificeren van aangeboden diensten worden geleverd door elementen zoals serviceadressen. Bovendien gebruiken servers dergelijke methoden om hun service te presenteren als actieve en passieve servicepresentatie.

In een Active-serviceadvertentie stuurt elke server periodiek berichten (inclusief serviceadressen) om de beschikbaarheid ervan aan te kondigen. Clients kunnen ook netwerkapparaten pollen voor een bepaald type service. Netwerkclients verzamelen weergaven van servers en vormen tabellen van momenteel beschikbare services. De meeste netwerken die de actieve presentatiemethode gebruiken, definiëren ook een specifieke geldigheidsperiode voor servicepresentaties. Als een netwerkprotocol bijvoorbeeld specificeert dat servicerepresentaties elke vijf minuten moeten worden verzonden, zullen clients een time-out geven voor services die niet in de afgelopen vijf minuten zijn gepresenteerd. Wanneer de time-out verloopt, verwijdert de client de service uit de tabellen.

Servers implementeren een passieve serviceadvertentie door hun service en adres in de directory te registreren. Wanneer klanten willen weten welke services beschikbaar zijn, vragen ze eenvoudig de directory op voor de locatie van de gewenste service en het adres.

Voordat een netwerkservice kan worden gebruikt, moet deze beschikbaar zijn voor het lokale besturingssysteem van de computer. Er zijn verschillende methoden om deze taak uit te voeren, maar elke methode kan worden bepaald door de positie of het niveau waarop het lokale besturingssysteem het netwerkbesturingssysteem herkent. De dienstverlening kan worden onderverdeeld in drie categorieën:

  • het onderscheppen van oproepen van het besturingssysteem;
  • externe modus;
  • gezamenlijke gegevensverwerking.

Bij gebruik van OC Call Interception is het lokale besturingssysteem zich totaal niet bewust van het bestaan ​​van een netwerkdienst. Wanneer een DOS-toepassing bijvoorbeeld probeert een bestand van een netwerkbestandsserver te lezen, gaat het ervan uit dat het bestand zich op lokale opslag bevindt. In feite onderschept een speciaal stukje software een verzoek om een ​​bestand te lezen voordat het het lokale besturingssysteem (DOS) bereikt en stuurt het verzoek door naar een netwerkbestandsservice.

Aan het andere uiterste, in Remote Operation, is het lokale besturingssysteem op de hoogte van het netwerk en is het verantwoordelijk voor het doorsturen van verzoeken naar de netwerkservice. De server weet echter niets over de client. Voor het serverbesturingssysteem zien alle verzoeken aan een dienst er hetzelfde uit, of ze nu intern zijn of via het netwerk worden verzonden.

Ten slotte zijn er besturingssystemen die op de hoogte zijn van het bestaan ​​van het netwerk. Zowel de serviceconsument als de serviceprovider erkennen elkaars bestaan ​​en werken samen om het gebruik van de service af te stemmen. Dit type servicegebruik is doorgaans vereist voor peer-to-peer collaboratieve gegevensverwerking. Collaboratieve gegevensverwerking omvat het delen van om een ​​enkele taak uit te voeren. Dit betekent dat het besturingssysteem op de hoogte moet zijn van het bestaan ​​en de mogelijkheden van anderen en met hen moet kunnen samenwerken om de gewenste taak uit te voeren.

ComputerPers 6 "1999

OSI-referentiemodel

Voor de duidelijkheid is het netwerkproces in het OSI-referentiemodel opgedeeld in zeven lagen. Deze theoretische constructie maakt het gemakkelijker om vrij complexe concepten te leren en te begrijpen. Bovenaan het OSI-model staat de applicatie die toegang nodig heeft tot netwerkbronnen, onderaan staat het netwerk zelf. Naarmate gegevens van laag naar laag worden verplaatst, bereiden de protocollen die op deze lagen werken deze geleidelijk voor op verzending via het netwerk. Zodra het het doelsysteem bereikt, gaan de gegevens omhoog in de lagen, waarbij dezelfde protocollen dezelfde acties uitvoeren, alleen in omgekeerde volgorde. in 1983 Internationale Organisatie voor Standaardisatie(Internationale Organisatie voor Standaardisatie, ISO) en Sector van normalisatieTelecommunicatie van de Internationale Telecommunicatie-unie(Telecommunication Standardization Sector of the International Telecommunication Union, ITU-T) publiceerde het document "The Basic Reference Model for Open Systems Interconnection", waarin een model werd beschreven voor het verdelen van netwerkfuncties tussen 7 verschillende niveaus (Fig. 1.7). Deze zevenlaagse structuur moest de basis vormen voor een nieuwe protocolstack, maar werd nooit commercieel geïmplementeerd. In plaats daarvan wordt het OSI-model gebruikt met bestaande protocolstacks als leer- en referentiehulpmiddel. De meeste protocollen die tegenwoordig populair zijn, dateren van vóór de ontwikkeling van het OSI-model, dus passen ze niet precies bij de zevenlaagse structuur. Vaak worden de functies van twee of zelfs meerdere niveaus van het model gecombineerd in één protocol en komen de protocolgrenzen vaak niet overeen met de grenzen van de OSI-niveaus. Desondanks blijft het OSI-model een uitstekend visueel hulpmiddel voor netwerkonderzoek en associëren professionals functies en protocollen vaak met specifieke lagen.

Gegevensinkapseling

In feite komt de interactie van protocollen die op verschillende niveaus van het OSI-model werken tot uiting in het feit dat elk protocol iets toevoegt: koptekst(header) of (in één geval) aanhangwagen(voettekst) naar de informatie die hij van het bovenstaande niveau heeft ontvangen. Een toepassing genereert bijvoorbeeld een aanvraag voor een netwerkbron. Dit verzoek wordt door de protocolstack verplaatst. Wanneer het de transportlaag bereikt, voegen de transportlaagprotocollen hun eigen kop toe aan het verzoek, bestaande uit velden met informatie die specifiek is voor de functies van dit protocol. De oorspronkelijke aanvraag zelf wordt een gegevensveld (payload) voor het transportlaagprotocol. Nadat de header is toegevoegd, geeft het transportlaagprotocol het verzoek door aan de netwerklaag. Het netwerklaagprotocol voegt zijn eigen kop toe aan de kop van het transportlaagprotocol. Dus voor een netwerklaagprotocol worden het oorspronkelijke verzoek en de transportlaagprotocolkop de payload. Deze hele constructie wordt de payload voor het linklaagprotocol, dat er een header en een trailer aan toevoegt. Het resultaat van deze activiteit is: pakket(pakket) klaar voor verzending over het netwerk. Wanneer het pakket zijn bestemming bereikt, wordt het proces omgekeerd. Het protocol van elk volgend niveau van de stapel (nu van onder naar boven) verwerkt en verwijdert de kop van het equivalente protocol van het verzendende systeem. Wanneer het proces is voltooid, bereikt het oorspronkelijke verzoek de toepassing waarvoor het was bedoeld, in dezelfde vorm waarin het is gegenereerd. Het proces van het toevoegen van headers aan een verzoek (Afbeelding 1-8) dat door een toepassing is gegenereerd, wordt genoemd gegevens inkapseling(gegevens inkapseling). In wezen lijkt deze procedure op het proces van het voorbereiden van een brief voor verzending. Het verzoek is de brief zelf, en het toevoegen van kopteksten is vergelijkbaar met het in een envelop doen van de brief, het schrijven van het adres, het afstempelen en daadwerkelijk verzenden.

Fysieke laag

Op het laagste niveau van het OSI-model - fysiek(fysiek) - de kenmerken van de netwerkapparatuur worden bepaald - de netwerkomgeving, de installatiemethode, het type signalen dat wordt gebruikt om binaire gegevens over het netwerk te verzenden. Daarnaast bepaalt de fysieke laag welk type netwerkadapter op elke computer moet worden geïnstalleerd en welk type hub (indien aanwezig) moet worden gebruikt. Op fysiek niveau hebben we te maken met een koper- of glasvezelkabel of een soort draadloze verbinding. In een LAN zijn de specificaties van de fysieke laag direct gerelateerd aan het linklaagprotocol dat op het netwerk wordt gebruikt. Wanneer u een linklaagprotocol kiest, 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, een willekeurige twisted pair-kabel, glasvezelkabel. De parameters van elk van deze opties worden gevormd uit tal van informatie over de vereisten van de fysieke laag, bijvoorbeeld het type kabel en connectoren, de toegestane lengte van kabels, het aantal hubs, enz. Naleving van deze vereisten is noodzakelijk voor de normale werking van de protocollen. In een kabel die bijvoorbeeld te lang is, merkt het Ethernet-systeem mogelijk pakketbotsingen niet op, en als het systeem geen fouten kan detecteren, kan het deze niet corrigeren, wat resulteert in gegevensverlies. De protocolstandaard voor de verbindingslaag definieert niet alle aspecten van de fysieke laag. Sommigen van hen zijn afzonderlijk gedefinieerd. Een van de meest gebruikte specificaties voor fysieke lagen wordt beschreven in de Commercial Building Telecommunications Cabling Standard, bekend als EIA/TIA 568A. Het is gezamenlijk gepubliceerd Amerikaans Nationaal Instituutdarts(American National Standards Institute, ANSI), Verenigingen vantak van de elektronica-industrie(Electronics Industry Association, EIA) en Vereniging voor communicatie-industrie(Telecommunicatie Industrie Vereniging, TIA). Dit document bevat een gedetailleerde beschrijving van bekabeling voor datanetwerken in industriële omgevingen, inclusief minimale afstand tot bronnen van elektromagnetische interferentie en andere bekabelingsregels. Tegenwoordig wordt het leggen van kabels in grote netwerken meestal toevertrouwd aan gespecialiseerde bedrijven. De ingehuurde aannemer moet bekend zijn met EIA/TIA 568A en andere soortgelijke documenten, evenals met de regels voor de exploitatie van gebouwen in de stad. Een ander communicatie-element gedefinieerd op de fysieke laag is een type signaal voor datatransmissie over een netwerkmedium. Voor kabels met een koperen basis is dit signaal een elektrische lading, voor een glasvezelkabel een lichtpuls. Andere typen netwerkomgevingen kunnen gebruikmaken van radiogolven, infraroodpulsen en andere signalen. Naast de aard van de signalen wordt op fysiek niveau een schema voor hun transmissie vastgesteld, dat wil zeggen een combinatie van elektrische ladingen of lichtpulsen die worden gebruikt om binaire informatie te coderen die door hogere niveaus wordt gegenereerd. Ethernet-systemen gebruiken een signaleringsschema dat bekend staat als: Manchester-codering(Manchester-codering), terwijl Token Ring-systemen gebruiken differentieelManchester(Differentiële Manchester) regeling.

Link laag

Protocol kanaal(data-link) laag zorgt voor de uitwisseling van informatie tussen de hardware van een computer in het netwerk en netwerksoftware. Het bereidt de verzending voor naar het netwerk van de gegevens die ernaar zijn verzonden door het netwerklaagprotocol, en verzendt naar de netwerklaag de gegevens die het systeem van het netwerk heeft ontvangen. Bij het ontwerpen en bouwen van een LAN is het gebruikte linklaagprotocol de belangrijkste factor bij het selecteren van apparatuur en hoe deze wordt geïnstalleerd. Om het linklaagprotocol te implementeren, is de volgende hardware en software vereist: netwerkinterface-adapters (als de adapter een afzonderlijk apparaat is dat op de bus is aangesloten, wordt dit een netwerkinterfacekaart of gewoon een netwerkkaart genoemd); stuurprogramma's voor netwerkadapters; netwerkkabels (of ander netwerkmedium) en bijbehorende aansluitapparatuur; netwerkhubs (in sommige gevallen). Zowel netwerkadapters als hubs zijn ontworpen voor specifieke linklaagprotocollen. Sommige netwerkkabels zijn ook ontworpen voor specifieke protocollen, maar er zijn ook kabels die geschikt zijn voor verschillende protocollen. Verreweg, vandaag (zoals altijd) is Ethernet het meest populaire link-layer-protocol. Ver daarachter ligt Token Ring, gevolgd door andere protocollen zoals FDDI (Fiber Distributed Data Interface). Er zijn gewoonlijk drie hoofdelementen opgenomen in een specificatie van een verbindingslaagprotocol: een frameformaat (d.w.z. een header en trailer toegevoegd aan de netwerklaaggegevens voordat deze aan het netwerk worden doorgegeven); mechanisme voor het controleren van toegang tot de netwerkomgeving; een of meer fysieke laagspecificaties die bij een bepaald protocol worden gebruikt.

Frame-indeling

Het linklaagprotocol voegt een header en een trailer toe aan de gegevens die zijn ontvangen van het netwerklaagprotocol, waardoor het een kader(frame) (Fig. 1.9). Om de post-analogie opnieuw te gebruiken, de kop en de trailer zijn de envelop waarin de brief moet worden verzonden. Ze bevatten de adressen van het verzendende systeem en het ontvangende systeem van het pakket. Voor LAN-protocollen zoals Ethernet en Token Ring zijn deze adressen 6-byte hexadecimale strings 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, appa militaire adressen(hardwareadres) of MAC-adressen (zie hieronder).

Opmerking Protocollen op verschillende niveaus 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 het linklaagprotocol bijvoorbeeld een frame noemt, zou een datagram zijn voor de netwerklaag. Een meer algemene naam voor een structurele gegevenseenheid op elk niveau is: pakket.

Het is belangrijk om te begrijpen dat verbindingslaagprotocollen alleen communicatie tussen computers op hetzelfde LAN toestaan. Het hardware-adres in de header behoort altijd tot een computer op hetzelfde LAN, zelfs als het doelsysteem zich op een ander netwerk bevindt. Andere belangrijke functies van het linklaagframe zijn de identificatie van het netwerklaagprotocol dat de gegevens in het pakket heeft gegenereerd en informatie voor foutdetectie. Op de netwerklaag kunnen verschillende protocollen worden gebruikt, en daarom bevat een protocolframe voor een verbindingslaag meestal code die kan worden gebruikt om te bepalen welk netwerklaagprotocol de gegevens in dit pakket heeft gegenereerd. Aan de hand van deze code stuurt het verbindingslaagprotocol van de ontvangende computer gegevens naar het overeenkomstige protocol van zijn netwerklaag. Om fouten te detecteren, berekent het verzendende systeem: cyclisch cue overtollige code(cyclische redundantiecontrole, CRC) payload 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, is de informatie foutloos verzonden. Anders gaat de ontvanger ervan uit dat het pakket corrupt is en accepteert hij het niet.

Mediatoegangscontrole

Computers op een LAN gebruiken doorgaans een gedeeld half-duplex netwerkmedium. In dit geval is het goed mogelijk dat twee computers tegelijkertijd gegevens gaan verzenden. In dergelijke gevallen treedt een soort pakketbotsing op, botsing(collision), waarbij de gegevens in beide pakketten verloren gaan. Een van de belangrijkste functies van het verbindingslaagprotocol is mediatoegangscontrole (MAC), d.w.z. controle over de gegevensoverdracht door elk van de computers en het minimaliseren van pakketbotsingen. Het controlemechanisme voor mediatoegang is een van de belangrijkste kenmerken van een linklaagprotocol. Ethernet gebruikt Carrier Sense Multiple Access met Collision Detection (CSMA/CD) om de mediatoegang te regelen. Sommige andere protocollen, zoals Token Ring, gebruiken token-passing.

Specificaties fysieke laag

De verbindingslaagprotocollen die op het LAN 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 verwant, omdat de eigenschappen van het netwerkmedium een ​​grote invloed hebben op hoe het protocol de toegang tot het medium regelt. Daarom kunnen we zeggen dat in lokale netwerken de linklaagprotocollen ook de functies van de fysieke laag vervullen. WAN's gebruiken linklaagprotocollen die geen fysieke laaginformatie bevatten, zoals SLIP (Serial Line Internet Protocol) en PPP (Point-to-Point Protocol).

netwerklaag

Op het eerste gezicht lijkt het misschien dat netwerk De (netwerk)laag dupliceert een deel van de functionaliteit van de linklaag. Maar dit is niet zo: de netwerklaagprotocollen zijn "verantwoordelijk" voor er doorheen(end-to-end) verbindingen, terwijl link-layer-protocollen alleen binnen het LAN functioneren. Met andere woorden, de netwerklaagprotocollen zorgen volledig voor de overdracht van het pakket van de bron naar het doelsysteem. Afhankelijk van het type netwerk kunnen de zender en ontvanger zich op hetzelfde LAN bevinden, op verschillende LAN's binnen hetzelfde gebouw of op LAN's die duizenden kilometers van elkaar gescheiden zijn. Wanneer u bijvoorbeeld verbinding maakt met een server op internet, passeren pakketten die door uw computer zijn gemaakt, onderweg tientallen netwerken. Door zich aan te passen aan deze netwerken, zal het linklaagprotocol vele malen veranderen, maar het netwerklaagprotocol blijft helemaal hetzelfde. De hoeksteen van de protocolsuite TCP/IP (Transmission Control Protocol/Internet Protocol) en het meest gebruikte netwerklaagprotocol is IP (Internet Protocol). Novell NetWare heeft zijn eigen IPX-netwerkprotocol (Internetwork Packet Exchange) en kleinere Microsoft Windows-netwerken gebruiken doorgaans het NetBEUI-protocol (NetBIOS Enhanced User Interface). De meeste functies die aan de netwerklaag worden toegeschreven, worden bepaald door de mogelijkheden van het IP-protocol. Net als een linklaagprotocol voegt een netwerklaagprotocol een header toe aan de gegevens die het ontvangt van een hogere laag (Figuur 1.10). Een gegevenselement dat is gemaakt door een netwerklaagprotocol, bestaat uit transportlaaggegevens en een netwerklaagkop en wordt genoemd datagram(datagram).


Adressering

De header van het netwerklaagprotocol bevat, net als de protocolkop van de linklaag, velden met de adressen van de bron- en doelsystemen. In dit geval behoort het doelsysteemadres echter tot de eindbestemming van het pakket en kan het verschillen van het bestemmingsadres in de kop van het verbindingslaagprotocol. Wanneer u bijvoorbeeld het adres van een website invoert in de adresbalk van uw browser, geeft het pakket dat door uw computer wordt gegenereerd het adres van de webserver aan als het adres van het doelsysteem op de netwerklaag, terwijl op de linklaag het adres van de router op uw LAN geeft het doelsysteem aan dat internettoegang biedt. IP gebruikt een eigen adresseringssysteem, dat volledig onafhankelijk is van de adressen van de linklaag. Elke computer in een IP-netwerk krijgt handmatig of automatisch een 32-bits IP-adres toegewezen dat zowel de computer zelf als het netwerk waarop deze zich bevindt, identificeert. In IPX wordt het hardware-adres gebruikt om de computer zelf te identificeren, daarnaast wordt een speciaal adres gebruikt om het netwerk te identificeren waarin de computer zich bevindt. NetBEUI onderscheidt computers door de NetBIOS-namen die tijdens de installatie aan elk systeem zijn toegewezen.

fragmentatie

Netwerklaagdatagrammen moeten vele netwerken doorkruisen op weg naar hun bestemming en daarbij de specifieke eigenschappen en beperkingen van verschillende verbindingslaagprotocollen tegenkomen. Een van die beperkingen is de maximale pakketgrootte die door het protocol is toegestaan. Een Token Ring-frame kan bijvoorbeeld maximaal 4500 bytes zijn, terwijl een Ethernet-frame maximaal 1500 bytes kan zijn. Wanneer een groot datagram dat op een Token Ring-netwerk is gegenereerd, wordt overgebracht naar een Ethernet-netwerk, moet het netwerklaagprotocol het opsplitsen in meerdere fragmenten die niet groter zijn dan 1500 bytes. Dit proces heet fragmentatie(fragmentatie). Tijdens het fragmentatieproces breekt het netwerklaagprotocol het datagram in fragmenten waarvan de grootte overeenkomt met de mogelijkheden van het gebruikte linklaagprotocol. Elk fragment wordt zijn eigen pakket en vervolgt zijn weg naar het doelnetwerklagensysteem. Het brondatagram wordt pas gevormd nadat alle fragmenten de bestemming hebben bereikt. Soms moeten op weg naar het doelsysteem de fragmenten waarin een datagram is gebroken opnieuw worden gefragmenteerd.

Routering

Routering(routing) is het proces waarbij de meest efficiënte route op internet wordt gekozen voor het verzenden van datagrammen van het verzendende systeem naar het ontvangende systeem. In complexe internetten, zoals internet of grote bedrijfsnetwerken, zijn er vaak meerdere paden om van de ene computer naar de andere te gaan. Netwerkontwerpers creëren bewust redundante koppelingen zodat het verkeer zijn weg naar zijn bestemming vindt, zelfs als een van de routers uitvalt. Routers verbinden afzonderlijke LAN's die deel uitmaken van internet. Het doel van een router is om inkomend verkeer van het ene netwerk te ontvangen en door te sturen naar een specifiek systeem op een ander. Er zijn twee soorten systemen op internet: terminal(eindsystemen) en tussenliggend(tussenliggende systemen). Eindsystemen zijn verzenders en ontvangers van pakketten. De router is een tussensysteem. Eindsystemen gebruiken alle zeven lagen van het OSI-model, terwijl pakketten die bij tussenliggende systemen aankomen niet boven de netwerklaag uitstijgen. Daar verwerkt de router het pakket en stuurt het naar de stapel voor verzending naar het volgende doelsysteem (Figuur 1.11).


Om een ​​pakket correct naar zijn bestemming te routeren, houden routers tabellen met netwerkinformatie in het geheugen bij. Deze informatie kan handmatig worden ingevoerd door de beheerder of automatisch worden verzameld van andere routers met behulp van gespecialiseerde protocollen. Een typische vermelding in de routeringstabel bevat het adres van een ander netwerk en het adres van de router waarlangs de pakketten dat netwerk moeten bereiken. Bovendien bevat het item in de routeringstabel: route metrisch - voorwaardelijke beoordeling van de doeltreffendheid ervan. Als er meerdere routes naar een systeem zijn, kiest de router de meest efficiënte en stuurt het datagram naar de linklaag voor verzending naar de router die is gespecificeerd in het tabelitem met de beste metriek. In grote netwerken kan routering een buitengewoon complex proces zijn, maar vaker wel dan niet gebeurt dit automatisch en transparant voor de gebruiker.

Identificatie van transportlaagprotocol

Net zoals de kop van de linklaag het netwerklaagprotocol aangeeft dat de gegevens heeft gegenereerd en verzonden, bevat de kop van de netwerklaag 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 complementeren de functies van netwerklaagprotocollen. Vaak vormen de protocollen van deze lagen die worden gebruikt voor datatransmissie een onderling verbonden paar, wat 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 bevat ook verschillende transportlaagprotocollen, waaronder NCP (NetWare Core Protocol) en SPX (Sequenced Packet Exchange). Het verschil tussen transportlaagprotocollen in 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 met elkaar te communiceren. Dit zorgt ervoor dat de systemen aan staan ​​en klaar zijn voor gebruik. Het TCP-protocol is bijvoorbeeld verbindingsgericht. Wanneer u een browser gebruikt om verbinding te maken met een internetserver, voeren de browser en de server eerst een zogenaamde handdruk in drie stappen(handdruk in drie richtingen). Pas dan stuurt 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 verbindingsgeoriënteerde 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 protocollen van dit type gebruikt om grote hoeveelheden informatie over te dragen die geen enkele foutieve bit mogen bevatten, zoals gegevensbestanden of programma's. Extra kenmerken van verbindingsgerichte protocollen zorgen voor een correcte gegevensoverdracht. Daarom worden deze protocollen vaak betrouwbaar(betrouwbaar). Betrouwbaarheid is in dit geval een technische term en betekent dat elk verzonden pakket wordt gecontroleerd op fouten, daarnaast wordt het verzendende systeem op de hoogte gebracht van de levering van elk pakket. Het nadeel van dit soort protocollen is de aanzienlijke hoeveelheid besturingsgegevens die tussen de twee systemen wordt uitgewisseld. Ten eerste worden er extra berichten verzonden wanneer een verbinding tot stand wordt gebracht en beëindigd. Ten tweede is de kop die aan het pakket wordt toegevoegd door een verbindingsgericht protocol veel groter dan de kop van een verbindingsloos protocol. De header van het TCP/IP-protocol is bijvoorbeeld 20 bytes, terwijl de UDP-header 8 bytes is. Protocol, niet verbindingsgericht(verbindingsloos), brengt geen verbinding tot stand tussen twee systemen vóór gegevensoverdracht. De afzender verzendt de informatie eenvoudig naar het doelsysteem, zonder zich zorgen te maken of het klaar is om gegevens te ontvangen en of dit systeem zelfs bestaat. Systemen nemen doorgaans hun toevlucht tot verbindingsloze protocollen zoals UDP voor korte transacties die alleen uit verzoeken en antwoorden bestaan. Het responssignaal van de ontvanger functioneert impliciet als een transmissiebevestigingssignaal.

Opmerking Verbindingsgerichte en niet-verbindingsgerichte protocollen bestaan ​​niet alleen op de transportlaag. Netwerklaagprotocollen zijn bijvoorbeeld meestal niet verbindingsgericht, omdat ze de betrouwbaarheid van de communicatie overlaten aan de transportlaag.

Transportlaagprotocollen (evenals netwerk- en linklagen) bevatten meestal informatie uit hogere lagen. TCP- en UDP-headers bevatten bijvoorbeeld poortnummers die de toepassing identificeren die het pakket heeft gemaakt en de toepassing waarvoor het is bestemd. Op de sessie(sessie)niveau begint een significante discrepantie tussen de daadwerkelijk gebruikte protocollen en het OSI-model. In tegenstelling tot de lagere lagen zijn er geen speciale sessielaagprotocollen. De functies van deze laag zijn geïntegreerd in protocollen die ook de functies van de presentatie- en applicatielagen uitvoeren. Het transport, netwerk, datalink en fysieke lagen zijn verantwoordelijk voor de daadwerkelijke overdracht van data over het netwerk. De 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 in het netwerk. De belangrijkste diensten zijn dialoogmanagement en dialoogscheiding. De uitwisseling van informatie tussen twee systemen in een netwerk heet dialoog(dialoogvenster). Dialoogvensterbeheer(dialoogbesturing) is om de modus te selecteren waarin de systemen berichten zullen uitwisselen. Er zijn twee van dergelijke modi: half duplex(twee-weg alternatief, TWA) en duplex(twee-weg gelijktijdig, TWS). In half-duplex-modus verzenden de twee systemen ook tokens samen met de gegevens. U kunt alleen informatie overdragen naar de computer die op dat moment over het token beschikt. Dit voorkomt onderweg berichtenbotsingen. Het duplexmodel is complexer. Er zitten geen markeringen in; beide systemen kunnen op elk moment gegevens verzenden, zelfs gelijktijdig. Dialoog scheiding(dialoogscheiding) bestaat uit het opnemen in de gegevensstroom controle punten(checkpoints) waarmee u het werk van twee systemen kunt synchroniseren. De mate van complexiteit van de scheiding van de dialoog hangt af van de modus waarin deze wordt uitgevoerd. In half-duplex-modus voeren systemen een kleine hoeveelheid synchronisatie uit door checkpoint-berichten uit te wisselen. In duplexmodus voeren systemen volledige synchronisatie uit met behulp van de master/actieve token.

Uitvoerend niveau

Op de vertegenwoordiger(presentatie)niveau vervult één functie: het vertalen van syntaxis tussen verschillende systemen. Soms gebruiken computers in een netwerk verschillende syntaxis. De presentatielaag stelt hen in staat om "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 kiezen ze welke ze tijdens de sessie zullen gebruiken. Beide systemen die betrokken zijn bij de verbinding hebben: abstractsyntaxis(abstracte syntaxis) - hun "native" vorm van communicatie. De abstracte syntaxis van verschillende computerplatforms kan verschillen. In het proces van systeemcoördinatie wordt een gemeenschappelijk overdracht syntaxisgegevens(overdrachtssyntaxis). Het verzendende systeem converteert zijn abstracte syntaxis naar de syntaxis voor gegevensoverdracht, en het ontvangende systeem, na voltooiing van de overdracht, vice versa. Indien nodig kan het systeem een ​​syntaxis voor gegevensoverdracht kiezen met extra functies, zoals gegevenscompressie of gegevenscodering.

Toepassingslaag

De applicatielaag is het toegangspunt waardoor programma's toegang krijgen tot het OSI-model en netwerkbronnen. De meeste applicatielaagprotocollen bieden netwerktoegangsservices. Simple Mail Transfer Protocol (SMTP) wordt bijvoorbeeld door de meeste e-mailprogramma's gebruikt 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 linklagen.