Jag kommer att försöka beskriva på ett enklast möjliga sätt vilken typ av odjur OSI är och vem som behöver det. Om du vill koppla ditt liv till informationsteknik och är i början av resan, är det helt enkelt viktigt att förstå OSI-operationen, alla proffs kommer att berätta detta för dig.
Jag börjar med att definiera hur det är vanligt. OSI-modellen är en teoretisk idealmodell för överföring av data över ett nätverk. Detta innebär att du i praktiken aldrig kommer att hitta en exakt matchning med den här modellen, det är riktmärket som nätverksutvecklare och tillverkare av nätverksutrustning följer för att bibehålla kompatibiliteten för sina produkter. Du kan jämföra detta med människors idéer om den perfekta personen - du hittar den inte någonstans, men alla vet vad de ska sträva efter.
Jag vill omedelbart skissera en nyans - vad som överförs via nätverket inom OSI-modellen kommer jag att ringa data, vilket inte är helt korrekt, men för att inte förväxla nybörjaren med villkor gjorde jag en kompromiss med mitt samvete.
Följande är det mest kända och mest förstådda OSI-modelldiagrammet. Det kommer att finnas fler teckningar i artikeln, men jag föreslår att den första är den viktigaste:
Tabellen består av två kolumner, i början är vi bara intresserade av den rätta. Vi kommer att läsa tabellen från botten till toppen (annars:)). I själva verket är detta inte mitt infall, men jag gör det för att underlätta informationen - från enkel till komplex. Gå!
På höger sida av ovanstående tabell, nedifrån och upp, visas sökvägen för data som överförs via nätverket (till exempel från din hemrouter till din dator). Förtydligande - om du läser OSI-skikten från botten till toppen, kommer detta att vara databanan på den mottagande sidan, om från topp till botten, och vice versa - den sändande sidan. Jag hoppas att det är klart hittills. För att helt undanröja tvivel, här är ett annat diagram för tydlighet:
För att spåra datavägen och de förändringar som sker med dem genom nivåerna är det tillräckligt att föreställa sig hur de rör sig längs den blå linjen i diagrammet, först flyttar från topp till botten längs OSI-nivåerna från den första datorn, sedan från ner till topp till andra. Låt oss nu titta närmare på var och en av nivåerna.
1) Fysisk (phisical) - det hänvisar till det så kallade "dataöverföringsmediet", dvs. ledningar, optisk kabel, radiovågor (vid trådlösa anslutningar) och liknande. Till exempel, om din dator är ansluten till Internet via en kabel, så är ledningar, kontakter i slutet av kabeln, kontakter på nätverkskortets kontakt på datorn samt interna elektriska kretsar på datorns kort, ansvariga för kvaliteten på dataöverföringen på den första fysiska nivån. Nätverksingenjörer har begreppet "fysikproblem" - det betyder att specialisten såg en fysisk lageranordning som skyldige till "icke-överföring" av data, till exempel, en nätverkskabel bryts någonstans eller en låg signal nivå.
2) Kanal (datalänk) - det här är mycket mer intressant. För att förstå datalänkskiktet måste vi först förstå begreppet MAC-adress, eftersom det är han som kommer att vara huvudpersonen i detta kapitel:). MAC-adressen kallas också "fysisk adress", "maskinvaruadress". Det är en uppsättning med 12 tecken i nummersystemet, åtskilda av 6 streck eller kolon, till exempel 08: 00: 27: b4: 88: c1. Det behövs för att unikt identifiera en nätverksenhet i nätverket. I teorin är MAC-adressen globalt unik, dvs. ingenstans i världen kan det finnas en sådan adress, och den "sys" in i en nätverksenhet i produktionsfasen. Det finns dock enkla sätt att ändra den till en godtycklig, och dessutom tvekar vissa skruvliga och lite kända tillverkare att nita till exempel ett parti på 5000 nätverkskort med exakt samma MAC. Följaktligen, om minst två sådana "broderakrobater" dyker upp i samma lokala nätverk, kommer konflikter och problem att börja.
Så vid datalänkskiktet behandlas data av nätverksenheten, som bara är intresserad av en sak - vår ökända MAC-adress, dvs. han är intresserad av leveransadressen. Till exempel inkluderar länklagerenheter switchar (de är också switchar) - de håller i sitt minne MAC-adresserna till nätverksenheter som de har en direkt, direkt anslutning till, och när de tar emot data i sin mottagningsport kontrollerar de MAC adresser i data med MAC-adresser tillgängliga i minnet. Om det finns en matchning skickas data till adressaten, resten ignoreras helt enkelt.
3) Nätverk (nätverk) - "helig" nivå, förståelse för principen för drift som till största delen gör nätverksingenjören sådan. Här reglerar "IP-adress" med en järnhand, här är det grunden för grunderna. På grund av närvaron av en IP-adress blir det möjligt att överföra data mellan datorer som inte ingår i samma lokala nätverk. Överföringen av data mellan olika lokala nätverk kallas routing, och enheterna som gör det möjligt att göra detta är routrar (de är också routrar, även om konceptet med en router under de senaste åren har blivit kraftigt förvrängt).
Så, IP-adressen - om du inte går in i detaljer, så är detta en uppsättning med 12 siffror i decimalsystemet ("normalt"), beräknat på fyra oktetter, åtskilda av en punkt, som tilldelas ett nätverk enheten när den är ansluten till ett nätverk. Här måste du gå lite djupare: till exempel, många vet en adress från 192.168.1.23-serien. Det är helt uppenbart att det inte finns några 12 siffror här. Men om du skriver adressen i fullformat faller allt på plats - 192.168.001.023. Vi kommer inte att gräva ännu djupare i detta skede, eftersom IP-adressering är ett separat ämne för berättelse och visning.
4) Transportskikt (transport) - som namnet antyder behövs exakt för leverans och sändning av data till adressaten. Med en analogi med vår långmodiga post är IP-adressen faktiskt leverans- eller mottagningsadressen, och transportprotokollet är brevbäraren som kan läsa och vet hur man levererar brevet. Det finns olika protokoll för olika ändamål, men de har samma betydelse - leverans.
Transportlagret är det sista, vilket i stort sett är av intresse för nätverksingenjörer, systemadministratörer. Om alla 4 lägre nivåer fungerade som de borde, men data inte nådde målet, måste problemet letas efter i programvaran för en viss dator. Protokoll för de så kallade övre nivåerna är mycket angelägna för programmerare och ibland fortfarande för systemadministratörer (om han till exempel arbetar med serverunderhåll). Därför kommer jag vidare att beskriva syftet med dessa nivåer i förbigående. Dessutom, om du tittar objektivt på situationen, oftast, i praktiken, tas funktionerna i flera övre lager av OSI-modellen över av en applikation eller tjänst, och det är omöjligt att säga entydigt var du ska tilldela den.
5) Session - styr öppningen och stängningen av en dataöverföringssession, kontrollerar åtkomsträttigheter, kontrollerar synkroniseringen av början och slutet av överföringen. Om du till exempel laddar ner en fil från Internet skickar din webbläsare (eller genom vad du laddar ner där) en begäran till servern där filen finns. Vid denna tidpunkt är sessionsprotokoll aktiverade, vilket säkerställer en lyckad nedladdning av filen, varefter de i teorin automatiskt stängs av, även om det finns alternativ.
6) Representant (presentation) - förbereder data för behandling av den slutliga ansökan. Om det till exempel är en textfil, måste du kontrollera kodningen (så att "kryakozyabrov" inte fungerar), det är möjligt att packa upp den från arkivet …. men här återigen spåras tydligt det jag skrev om tidigare - det är väldigt svårt att skilja var representantnivån slutar och var nästa börjar:
7) Applikation (applikation) - som namnet antyder, nivån på applikationer som använder mottagen data och vi ser resultatet av arbetet på alla nivåer i OSI-modellen. Du läser till exempel den här texten eftersom du öppnade den i rätt kodning, rätt typsnitt etc. din webbläsare.
Och nu, när vi åtminstone har en allmän förståelse för processteknologin, anser jag att det är nödvändigt att berätta om vad bitar, ramar, paket, block och data är. Om du kommer ihåg bad jag dig i början av den här artikeln att inte vara uppmärksam på den vänstra kolumnen i huvudtabellen. Så, hennes tid har kommit! Nu ska vi gå igenom alla lager i OSI-modellen igen och se hur enkla bitar (nollor och enor) omvandlas till data. Vi kommer att gå samma väg nerifrån och upp för att inte störa sekvensen av att bemästra materialet.
På den fysiska nivån har vi en signal. Det kan vara elektrisk, optisk, radiovåg etc. Hittills är detta inte ens bitar, men nätverksenheten analyserar den mottagna signalen och konverterar den till nollor och enor. Denna process kallas "hårdvarukonvertering". Vidare, redan inne i nätverksenheten, kombineras bitarna till byte (det finns åtta bitar i en byte), bearbetas och överförs till datalänkskiktet.
På datalänksnivån har vi den så kallade If roughly, då är detta ett paket byte, från 64 till 1518, i ett paket, från vilket omkopplaren läser rubriken, som innehåller MAC-adresserna för mottagaren och avsändaren, samt teknisk information. Ser matchningarna för MAC-adressen i rubriken och i dess (minne) sänder växeln ramar med sådana matchningar till målenheten
På nätverksnivå läggs också mottagarens och avsändarens IP-adresser till alla dessa godheter, som alla extraheras från samma rubrik och detta kallas ett paket.
På transportnivå adresseras paketet till motsvarande protokoll, vars kod anges i rubrikens tjänstinformation och ges till tjänsterna i de övre nivåprotokollen, för vilka detta redan är fullständig data, dvs. information i en smältbar, användbar form för applikationer.
I diagrammet nedan kommer detta att ses tydligare:
Detta är en väldigt grov förklaring av OSI-modellens princip, jag försökte bara visa vad som är relevant just nu och som en vanlig nybörjare IT-specialist osannolikt kommer att stöta på - till exempel föråldrade eller exotiska protokoll i nätverket eller transportlager. Så Yandex hjälper dig:).