Ik zal proberen zo eenvoudig mogelijk te beschrijven wat voor soort beest OSI is en wie het nodig heeft. Als je je leven wilt verbinden met informatietechnologie en helemaal aan het begin van de reis staat, dan is het begrijpen van de OSI-werking gewoon essentieel, elke professional zal je dit vertellen.
Ik zal beginnen met te definiëren hoe het gebruikelijk is. Het OSI-model is een theoretisch ideaal model voor het verzenden van gegevens over een netwerk. Dit betekent dat u in de praktijk nooit een exacte match zult vinden met dit model, het is de maatstaf waar netwerkontwikkelaars en fabrikanten van netwerkapparatuur zich aan houden om de compatibiliteit van hun producten te behouden. Je kunt dit vergelijken met de ideeën van mensen over de ideale persoon - je zult het nergens vinden, maar iedereen weet waar hij naar moet streven.
Ik wil meteen één nuance schetsen - wat binnen het OSI-model over het netwerk wordt verzonden, ik zal gegevens noemen, wat niet helemaal correct is, maar om de beginnende lezer niet met termen te verwarren, heb ik een compromis gesloten met mijn geweten.
Het volgende is het bekendste en best begrepen OSI-modeldiagram. Er zullen meer tekeningen in het artikel staan, maar ik stel voor om de eerste als de belangrijkste te beschouwen:
De tabel bestaat uit twee kolommen, in de beginfase zijn we alleen geïnteresseerd in de juiste. We zullen de tabel van onder naar boven lezen (anders:)). In feite is dit niet mijn gril, maar ik doe het voor het gemak van het assimileren van informatie - van eenvoudig tot complex. Gaan!
Aan de rechterkant van de bovenstaande tabel wordt, van onder naar boven, het pad weergegeven van de gegevens die via het netwerk worden verzonden (bijvoorbeeld van uw thuisrouter naar uw computer). Verduidelijking - als u de OSI-lagen van onder naar boven leest, dan is dit het gegevenspad aan de ontvangende kant, als van boven naar beneden, dan vice versa - de verzendende kant. Ik hoop dat het tot nu toe duidelijk is. Om twijfels volledig weg te nemen, is hier nog een diagram voor de duidelijkheid:
Om het pad van de gegevens en de veranderingen die ermee optreden door de niveaus te volgen, volstaat het om je voor te stellen hoe ze langs de blauwe lijn op het diagram bewegen, eerst van boven naar beneden langs de OSI-niveaus van de eerste computer, dan van van onder naar boven naar de tweede. Laten we nu elk van de niveaus eens nader bekijken.
1) Fysiek (fysiek) - het verwijst naar het zogenaamde "datatransmissiemedium", d.w.z. draden, optische kabel, radiogolven (in het geval van draadloze verbindingen) en dergelijke. Als uw computer bijvoorbeeld via een kabel met internet is verbonden, zijn draden, contacten aan het einde van de draad, contacten van de netwerkkaartconnector van uw computer en interne elektrische circuits op de computerborden verantwoordelijk voor de kwaliteit van gegevensoverdracht op het eerste, fysieke niveau. Netwerkingenieurs hebben het concept van een "probleem met fysica" - dit betekent dat de specialist een fysiek laagapparaat zag als de boosdoener voor de "niet-transmissie" van gegevens, bijvoorbeeld een netwerkkabel ergens gebroken of een zwak signaal niveau.
2) Kanaal (datalink) - dit is veel interessanter. Om de datalinklaag te begrijpen, moeten we eerst het concept van het MAC-adres begrijpen, aangezien hij de hoofdpersoon zal zijn in dit hoofdstuk:). Het MAC-adres wordt ook wel "fysiek adres", "hardwareadres" genoemd. Het is een set van 12 tekens in het getallenstelsel, gescheiden door 6 streepjes of dubbele punten, bijvoorbeeld 08: 00: 27: b4: 88: c1. Het is nodig om een netwerkapparaat op het netwerk uniek te identificeren. In theorie is het MAC-adres wereldwijd uniek, d.w.z. nergens ter wereld kan zo'n adres bestaan en het wordt in de productiefase in een netwerkapparaat "genaaid". Er zijn echter eenvoudige manieren om het in een willekeurige te veranderen, en bovendien aarzelen sommige gewetenloze en weinig bekende fabrikanten niet om bijvoorbeeld een batch van 5000 netwerkkaarten met precies dezelfde MAC vast te klinken. Dienovereenkomstig, als ten minste twee van dergelijke "broederacrobaten" in hetzelfde lokale netwerk verschijnen, zullen er conflicten en problemen ontstaan.
Dus op de datalinklaag worden de gegevens verwerkt door het netwerkapparaat, dat maar in één ding geïnteresseerd is: ons beruchte MAC-adres, d.w.z. hij is geïnteresseerd in de geadresseerde van levering. Link-layer-apparaten bevatten bijvoorbeeld switches (het zijn ook switches) - ze bewaren in hun geheugen de MAC-adressen van netwerkapparaten waarmee ze een directe, directe verbinding hebben, en wanneer ze gegevens ontvangen op hun ontvangende poort, controleren ze de MAC-adressen adressen in de gegevens met de MAC-adressen beschikbaar in het geheugen. Als er een match is, worden de gegevens naar de geadresseerde gestuurd, de rest wordt gewoon genegeerd.
3) Netwerk (netwerk) - "heilig" niveau, begrip van het werkingsprincipe waarvan de netwerkingenieur grotendeels zo is. Hier regeert "IP-adres" met ijzeren vuist, hier is het de basis van de basis. Door de aanwezigheid van een IP-adres wordt het mogelijk om gegevens uit te wisselen tussen computers die geen deel uitmaken van hetzelfde lokale netwerk. De overdracht van gegevens tussen verschillende lokale netwerken wordt routering genoemd, en de apparaten die dit mogelijk maken, zijn routers (het zijn ook routers, hoewel het concept van een router de laatste jaren sterk is verdraaid).
Dus het IP-adres - als je niet in details treedt, dan is dit een set van 12 cijfers in het decimale ("normale") systeem van calculus, verdeeld in 4 octetten, gescheiden door een punt, die is toegewezen aan een netwerk apparaat wanneer verbonden met een netwerk. Hier moet je wat dieper op in: veel mensen kennen bijvoorbeeld een adres uit de serie 192.168.1.23. Het is vrij duidelijk dat hier geen 12 cijfers zijn. Als u het adres echter in volledig formaat schrijft, valt alles op zijn plaats - 192.168.001.023. We zullen in dit stadium niet nog dieper graven, aangezien IP-adressering een apart onderwerp is voor verhaal en weergave.
4) Transportlaag (transport) - zoals de naam al aangeeft, is juist nodig voor de levering en verzending van gegevens naar de geadresseerde. Als we een analogie trekken met onze lankmoedige post, is het IP-adres eigenlijk het bezorg- of ontvangstadres en het transportprotocol is de postbode die de brief kan lezen en weet te bezorgen. Er zijn verschillende protocollen voor verschillende doeleinden, maar ze hebben dezelfde betekenis - levering.
De transportlaag is de laatste, die over het algemeen interessant is voor netwerkingenieurs, systeembeheerders. Als alle 4 de lagere niveaus naar behoren werkten, maar de gegevens de bestemming niet hebben bereikt, moet het probleem worden gezocht in de software van een bepaalde computer. Protocollen van de zogenaamde hogere niveaus zijn een grote zorg voor programmeurs en soms nog voor systeembeheerders (als hij zich bijvoorbeeld bezighoudt met serveronderhoud). Daarom zal ik het doel van deze niveaus in het voorbijgaan beschrijven. Bovendien, als je de situatie objectief bekijkt, worden in de praktijk meestal de functies van meerdere bovenste lagen van het OSI-model overgenomen door één applicatie of service en is het onmogelijk om eenduidig te zeggen waar deze moet worden toegewezen.
5) Sessie - regelt het openen en sluiten van een gegevensoverdrachtsessie, controleert toegangsrechten, regelt de synchronisatie van het begin en einde van de overdracht. Als u bijvoorbeeld een bestand van internet downloadt, stuurt uw browser (of via wat u daar downloadt) een verzoek naar de server waar het bestand zich bevindt. Op dit punt zijn sessieprotocollen ingeschakeld, die zorgen voor een succesvolle download van het bestand, waarna ze in theorie automatisch worden uitgeschakeld, hoewel er opties zijn.
6) Vertegenwoordiger (presentatie) - bereidt gegevens voor op verwerking door de uiteindelijke aanvraag. Als het bijvoorbeeld een tekstbestand is, moet u de codering controleren (zodat "kryakozyabrov" niet werkt), het is mogelijk om het uit het archief uit te pakken…. maar hier is nogmaals duidelijk waar ik eerder over schreef - het is erg moeilijk om te scheiden waar het representatieve niveau eindigt en waar het volgende begint:
7) Toepassing (toepassing) - zoals de naam al aangeeft, het niveau van toepassingen die de ontvangen gegevens gebruiken en we zien het resultaat van het werk van alle niveaus van het OSI-model. U leest deze tekst bijvoorbeeld omdat u deze in de juiste codering, het juiste lettertype, etc. hebt geopend. je browser.
En nu we tenminste een algemeen begrip hebben van de procestechnologie, acht ik het nodig om te vertellen wat bits, frames, pakketten, blokken en data zijn. Als je het je herinnert, heb ik je aan het begin van dit artikel gevraagd om niet op de linkerkolom in de hoofdtabel te letten. Dus haar tijd is gekomen! Nu gaan we alle lagen van het OSI-model nog eens doornemen en zien hoe simpele bits (nullen en enen) worden omgezet in data. We zullen van onderaf dezelfde weg volgen, om de volgorde van het beheersen van het materiaal niet te verstoren.
Op fysiek niveau hebben we een signaal. Het kan elektrisch, optisch, radiogolf, enz. Tot nu toe zijn dit niet eens bits, maar het netwerkapparaat analyseert het ontvangen signaal en zet het om in nullen en enen. Dit proces wordt "hardwareconversie" genoemd. Verder worden de bits al binnen het netwerkapparaat gecombineerd tot bytes (er zijn acht bits in één byte), verwerkt en verzonden naar de datalinklaag.
Op datalinkniveau hebben we de zogenaamde If ruwweg, dan is dit een pakket bytes, van 64 tot 1518, in één pakket, waarvan de switch de header leest, die de MAC-adressen van de ontvanger en afzender bevat, evenals technische informatie. Door de overeenkomsten van het MAC-adres in de kop en in het (geheugen) ervan te zien, verzendt de switch frames met dergelijke overeenkomsten naar het bestemmingsapparaat
Op netwerkniveau worden tot al dit moois ook de IP-adressen van de ontvanger en de afzender toegevoegd, die allemaal uit dezelfde header worden gehaald en dit wordt een pakket genoemd.
Op transportniveau wordt het pakket geadresseerd aan het overeenkomstige protocol, waarvan de code wordt aangegeven in de service-informatie van de kop en wordt gegeven aan de services van de protocollen op het hoogste niveau, waarvoor dit al volledige gegevens zijn, d.w.z. informatie in een verteerbare, bruikbare vorm voor toepassingen.
In onderstaand schema is dit duidelijker te zien:
Dit is een zeer ruwe uitleg van het principe van het OSI-model, ik heb geprobeerd alleen weer te geven wat op dit moment relevant is en waarmee een gewone beginnende IT-specialist waarschijnlijk niet tegenkomt - bijvoorbeeld verouderde of exotische protocollen van het netwerk of transportlagen. Dus Yandex zal je helpen:).