osi modell presentationslager. OSI nätverksmodell. Beskrivning av nätverksmodellens nivåer

Bara för att ett protokoll är ett avtal som antagits av två interagerande enheter, i detta fall två datorer som arbetar på ett nätverk, betyder det inte att det nödvändigtvis är standard. Men i praktiken, när de implementerar nätverk, använder de vanligtvis standardprotokoll. Dessa kan vara märkta, nationella eller internationella standarder.

I början av 80-talet utvecklade ett antal internationella standardiseringsorganisationer - ISO, ITU-T och några andra - en modell som spelade en betydande roll i utvecklingen av nätverk. Denna modell kallas ISO/OSI-modellen.

Öppna systeminteroperabilitetsmodell (Open System Interconnection, OSI) definierar olika nivåer av interaktion mellan system i paketväxlingsnätverk, ger dem standardnamn och anger vilka funktioner varje lager ska utföra.

OSI-modellen utvecklades utifrån omfattande erfarenheter från att skapa datornätverk, främst globala, på 70-talet. En fullständig beskrivning av denna modell tar upp mer än 1000 sidor text.

I OSI-modellen (Fig. 11.6) är kommunikationsmedel indelade i sju nivåer: applikation, representativ, session, transport, nätverk, kanal och fysisk. Varje lager behandlar en specifik aspekt av nätverksenhetsinteraktion.


Ris. 11.6.

OSI-modellen beskriver endast systemkommunikationen som implementeras av operativsystemet, systemverktyg och hårdvara. Modellen inkluderar inte medel för slutanvändarapplikationsinteraktion. Applikationer implementerar sina egna kommunikationsprotokoll genom att komma åt systemverktyg. Därför är det nödvändigt att skilja mellan nivån av interaktion mellan applikationer och applikationslager.

Man bör också komma ihåg att applikationen kan ta över funktionerna för några av de övre lagren i OSI-modellen. Till exempel har vissa DBMS inbyggda verktyg Fjärranslutning till filer. I det här fallet använder inte programmet systemfiltjänsten vid åtkomst till fjärrresurser; den kringgår de övre skikten av OSI-modellen och kommer direkt åt de systemfaciliteter som ansvarar för transport meddelanden över nätverket, som finns på de lägre nivåerna av OSI-modellen.

Så låt oss säga att en applikation gör en begäran till ett applikationslager, till exempel en filtjänst. Baserat på denna begäran genererar programvaran på applikationsnivå ett meddelande i standardformat. Ett typiskt meddelande består av en rubrik och ett datafält. Rubriken innehåller tjänstinformation som måste skickas genom nätverket till applikationslagret på destinationsmaskinen för att tala om vilket arbete som behöver utföras. I vårt fall måste rubriken uppenbarligen innehålla information om var filen finns och vilken typ av operation som behöver utföras. Meddelandedatafältet kan vara tomt eller innehålla vissa data, till exempel data som måste skrivas till en fjärrkontroll . Men för att kunna leverera denna information till sin destination finns det fortfarande många uppgifter att lösa, vars ansvar ligger på lägre nivåer.

Efter att ha genererat meddelandet applikationslager skickar ner den i högen representativ nivå. Protokoll representativ nivå baserat på information mottagen från applikationsnivåhuvudet, utför de nödvändiga åtgärderna och lägger till sin egen tjänstinformation till meddelandet - header representativ nivå, som innehåller instruktioner för protokollet representativ nivå destinationsmaskin. Det resulterande meddelandet skickas vidare sessionsnivå, som i sin tur lägger till sin rubrik etc. (Vissa protokoll placerar tjänsteinformation inte bara i början av meddelandet i form av en header, utan även i slutet, i form av en så kallad "trailer".) Slutligen når meddelandet botten, fysisk nivå , som i själva verket överför den via kommunikationslinjer till mottagarmaskinen. Vid denna tidpunkt är meddelandet "övervuxet" med rubriker på alla nivåer (

Modell Open Systems Interconnection (OSI)är skelettet, grunden och basen för alla nätverksenheter. Modellen definierar nätverksprotokoll och distribuerar dem i 7 logiska lager. Det är viktigt att notera att i vilken process som helst rör sig nätverksöverföringskontrollen från lager till lager, och sekventiellt ansluter protokoll vid varje lager.

Video: OSI-modell på 7 minuter

De lägre skikten är ansvariga för fysiska överföringsparametrar, såsom elektriska signaler. Ja - ja, signaler i ledningar överförs med hjälp av representation till strömmar :) Strömmar representeras som en sekvens av ettor och nollor (1:or och 0:or), sedan avkodas data och dirigeras över nätverket. Högre nivåer täcker frågor relaterade till datapresentation. Relativt sett är högre lager ansvariga för nätverksdata ur användarens synvinkel.

OSI-modellen myntades ursprungligen som standardmetoden, en arkitektur eller ett mönster som skulle beskriva nätverksinteraktionen för alla nätverksapplikationer. Låt oss ta en närmare titt, ska vi?


#01: Fysiskt lager

På första nivån OSI-modeller fysiska signaler (strömmar, ljus, radio) sänds från källa till mottagare. På den här nivån arbetar vi med kablar, kontakter i kontakter, kodning av ettor och nollor, modulering och så vidare.

Bland de teknologier som lever på den första nivån kan vi lyfta fram den mest grundläggande standarden - Ethernet. Det finns nu i varje hem.

Observera att inte bara elektriska strömmar. Radiofrekvenser, ljus eller infraröda vågor används också överallt i moderna nätverk.

Nätverksenheter som tillhör den första nivån är hubbar och repeatrar - det vill säga "dumma" hårdvara som helt enkelt kan arbeta med en fysisk signal utan att fördjupa sig i dess logik (utan avkodning).

#02: Datalänknivå

Föreställ dig, vi fick en fysisk signal från första nivån - fysisk. Detta är en uppsättning spänningar med olika amplituder, vågor eller radiofrekvenser. Vid mottagandet kontrollerar och korrigerar den andra nivån överföringsfel. På den andra nivån arbetar vi med konceptet ”ram”, eller som man också säger ”ram”. Här visas de första identifierarna - MAC-adresser. De består av 48 bitar och ser ut ungefär så här: 00:16:52:00:1f:03.

Länkskiktet är komplext. Därför är den konventionellt uppdelad i två undernivåer: logisk kanalkontroll (LLC, Logical Link Control) och mediaåtkomstkontroll (MAC, Media Access Control).

Enheter som växlar och broar lever på denna nivå. Förresten! Ethernet-standarden finns också här. Den är bekvämt placerad på första och andra (1 och 2) nivåerna i OSI-modellen.

#03: Nätverkslager

Låt oss gå upp! Nätverkslagret introducerar termen "routing" och följaktligen IP-adressen. Förresten, för att konvertera IP-adresser till MAC-adresser och tillbaka, används den ARP-protokoll.

Det är på denna nivå som trafikdirigering sker som sådan. Om vi ​​vill gå till sidan hemsida, sedan skickar vi, får ett svar i form av en IP-adress och ersätter den i paketet. Ja - ja, om vi på den andra nivån använder termen ram/ram, som vi sa tidigare, så använder vi här ett paket.

Av enheterna bor Hans Majestät Routern här :)

Processen när data överförs från övre skikt till lägre kallas inkapsling data, och när tvärtom, uppåt, från den första, fysiska till den sjunde, kallas denna process avkapsling data
#04: Transportlager

Transportskiktet, som namnet antyder, tillhandahåller dataöverföring över nätverket. Det finns två huvudsakliga rockstjärnor här - TCP och UDP. Skillnaden är att olika transporter används för olika trafikkategorier. Principen är denna:

  • Trafiken är känslig för förluster- inga problem, TCP (Transmission Control Protocol)! Det ger kontroll över dataöverföring;
  • Vi kommer att förlora lite - ingen stor sak- faktiskt, nu när du läser den här artikeln kan ett par paket ha gått förlorade. Men detta känns inte för dig som användare. UDP (User Datagram Protocol) är bra för dig. Tänk om det var telefoni? Förlusten av paket där är avgörande, eftersom rösten i realtid helt enkelt kommer att börja "kräkta";
#05: Sessionslager

Be vilken nätverksingenjör som helst att förklara sessionslagret för dig. Det kommer att bli svårt för honom att göra detta, infa 100%. Faktum är att i det dagliga arbetet interagerar en nätverksingenjör med de fyra första lagren - fysiskt, kanal, nätverk och transport. Resten, eller de så kallade "övre" nivåerna, relaterar mer till mjukvaruutvecklares arbete :) Men vi ska försöka!

Sessionslagret är ansvarigt för att hantera anslutningar, eller enkelt uttryckt, sessioner. Han sliter isär dem. Kom ihåg memet om " DET VAR INTE EN ENDA rast"? Vi kommer ihåg. Så det här är den femte nivån som testas :)

#06 Presentationslager

På den sjätte nivån sker konvertering av meddelandeformat, såsom kodning eller komprimering. Här bor till exempel JPEG och GIF. Nivån är också ansvarig för att överföra strömmen till det fjärde (transportskiktet).

#07 Applikationsnivå

På sjunde våningen, på toppen av isberget, bor appliceringsskiktet! Här finns nätverkstjänster som gör att vi som slutanvändare kan surfa på Internet. Titta, vilket protokoll använder du för att öppna vår kunskapsbas? Det stämmer, HTTPS. Den här killen är från sjunde våningen. Enkel HTTP, FTP och SMTP lever också här.

Var den här artikeln användbar för dig?

Snälla, berätta varför?

Vi beklagar att artikeln inte var användbar för dig: (Snälla, om det inte är svårt, ange varför? Vi kommer att vara mycket tacksamma för ett detaljerat svar. Tack för att du hjälper oss att bli bättre!

Inom nätverksvetenskap, som inom alla andra kunskapsområden, finns det två grundläggande tillvägagångssätt för lärande: rörelse från det allmänna till det specifika och vice versa. Tja, det är inte så att människor i livet använder dessa tillvägagångssätt i sin rena form, men ändå, i de inledande stadierna, väljer varje student själv en av de ovan nämnda riktningarna. För högre utbildning (åtminstone den (efter)sovjetiska modellen) är den första metoden mer typisk, för självutbildning oftast den andra: en person arbetade på nätverket och löste små administrativa uppgifter för en användare då och då, och plötsligt ville han ta reda på hur, egentligen, hur fungerar all den här skiten?

Men syftet med denna artikel är inte filosofiska diskussioner om undervisningsmetodik. Jag skulle vilja uppmärksamma nybörjare på detta allmän och viktigast av allt, från vilken du, som från en spis, kan dansa till de mest sofistikerade privata butikerna. Genom att förstå OSI-modellen med sju lager och lära dig att "känna igen" dess lager i de teknologier du redan känner till, kan du enkelt gå vidare i vilken riktning som helst av nätverksbranschen du väljer. OSI-modellen är det ramverk på vilket all ny kunskap om nätverk kommer att hängas upp.

Denna modell nämns på ett eller annat sätt i nästan all modern litteratur om nätverk, såväl som i många specifikationer av specifika protokoll och teknologier. Eftersom jag inte kände behovet av att uppfinna hjulet på nytt bestämde jag mig för att publicera utdrag ur N. Olifers, V. Olifers arbete (Center Informationsteknik) med titeln "Rollen för kommunikationsprotokoll och det funktionella syftet med huvudtyperna av utrustning i företagsnätverk", som jag anser är den bästa och mest omfattande publikationen om detta ämne.

chefsredaktör

modell

Bara för att ett protokoll är ett avtal mellan två interagerande enheter, i det här fallet två datorer som arbetar i ett nätverk, betyder det inte att det nödvändigtvis är en standard. Men i praktiken, när de implementerar nätverk, tenderar de att använda standardprotokoll. Dessa kan vara proprietära, nationella eller internationella standarder.

International Standards Organization (ISO) har utvecklat en modell som tydligt definierar de olika nivåerna av interaktion mellan systemen, ger dem standardnamn och anger vilket arbete varje nivå ska utföra. Denna modell kallas Open System Interconnection (OSI)-modellen eller ISO/OSI-modellen.

I OSI-modellen är kommunikationen uppdelad i sju lager eller lager (Figur 1.1). Varje nivå handlar om en specifik aspekt av interaktion. Således är interaktionsproblemet uppdelat i 7 specifika problem, som vart och ett kan lösas oberoende av de andra. Varje lager upprätthåller gränssnitt med lagren ovanför och under.

Ris. 1.1. ISO/OSI Open Systems Interconnection Model

OSI-modellen beskriver endast systemkommunikation, inte slutanvändarapplikationer. Applikationer implementerar sina egna kommunikationsprotokoll genom att komma åt systemfaciliteter. Man bör komma ihåg att applikationen kan ta över funktionerna för några av de övre skikten av OSI-modellen, i vilket fall, om nödvändigt, internetarbete den direkt åtkomst till systemverktygen som utför funktionerna i de återstående nedre skikten av OSI-modell.

En slutanvändarapplikation kan använda systeminteraktionsverktyg inte bara för att organisera en dialog med en annan applikation som körs på en annan dator, utan också för att helt enkelt ta emot tjänsterna från en viss nätverkstjänst, till exempel att komma åt fjärrfiler, ta emot e-post eller skriva ut på en delad skrivare.

Så låt oss säga att en applikation gör en begäran till ett applikationslager, till exempel en filtjänst. Baserat på denna begäran genererar programvaran på applikationsnivå ett meddelande i standardformat, som innehåller tjänsteinformation (huvud) och eventuellt överförd data. Detta meddelande vidarebefordras sedan till representantnivån. Presentationslagret lägger till sin rubrik i meddelandet och skickar resultatet ner till sessionslagret, som i sin tur lägger till sin rubrik, och så vidare. Vissa protokollimplementeringar ger att meddelandet inte bara innehåller en rubrik utan även en trailer. Slutligen når meddelandet det lägsta, fysiska lagret, som faktiskt överför det längs kommunikationslinjerna.

När ett meddelande kommer till en annan maskin över nätverket, flyttas det upp sekventiellt från nivå till nivå. Varje nivå analyserar, bearbetar och tar bort rubriken på sin nivå, utför funktioner som motsvarar denna nivå och skickar meddelandet till den högre nivån.

Utöver termen meddelande finns det andra namn som används av nätverksspecialister för att beteckna en enhet för datautbyte. ISO-standarder för protokoll på alla nivåer använder termen "protokolldataenhet" - Protocol Data Unit (PDU). Dessutom används ofta namnen frame, paket och datagram.

ISO/OSI modelllagerfunktioner

Fysiskt lager: Detta lager hanterar överföringen av bitar över fysiska kanaler som koaxialkabel, tvinnad parkabel eller fiberoptisk kabel. Denna nivå är relaterad till egenskaperna hos fysiska dataöverföringsmedier, såsom bandbredd, brusimmunitet, karakteristisk impedans och andra. På samma nivå bestäms egenskaperna hos elektriska signaler, såsom krav på pulskanter, spännings- eller strömnivåer för den överförda signalen, typ av kodning, signalöverföringshastighet. Dessutom standardiseras här kontakttyperna och syftet med varje kontakt.

Fysiska lagerfunktioner implementeras i alla enheter som är anslutna till nätverket. På datorsidan utförs de fysiska lagerfunktionerna av nätverksadaptern eller serieporten.

Ett exempel på ett fysiskt lagerprotokoll är 10Base-T Ethernet-teknikspecifikationen, som definierar kabeln som används som ett kategori 3 oskärmat tvinnat par med en karakteristisk impedans på 100 ohm, en RJ-45-kontakt, maximal längd fysiskt segment på 100 meter, Manchester-kod för att representera data på kabeln och andra egenskaper hos miljön och elektriska signaler.

Data Link Layer: Det fysiska lagret överför helt enkelt bitar. Detta tar inte hänsyn till att i vissa nätverk där kommunikationslinjer används (delas) omväxlande av flera par av interagerande datorer, kan det fysiska överföringsmediet vara upptaget. Därför är en av länkskiktets uppgifter att kontrollera tillgängligheten för överföringsmediet. En annan uppgift för länkskiktet är att implementera feldetekterings- och korrigeringsmekanismer. För att göra detta, vid datalänklagret, grupperas bitar i uppsättningar som kallas ramar. Länklagret säkerställer att varje ram sänds korrekt genom att placera en speciell sekvens av bitar i början och slutet av varje ram för att markera den, och beräknar även en kontrollsumma genom att summera alla bytes i ramen på ett visst sätt och lägga till kontrollsumman till ramen. När ramen anländer, beräknar mottagaren återigen kontrollsumman för mottagen data och jämför resultatet med kontrollsumman från ramen. Om de matchar anses ramen vara korrekt och accepterad. Om kontrollsummorna inte stämmer överens registreras ett fel.

I länklagerprotokoll som används i lokala nätverk, fastställs en viss struktur av kopplingar mellan datorer och metoder för att adressera dem. Även om datalänklagret tillhandahåller ramleverans mellan två valfria noder i ett lokalt nätverk, gör det detta endast i ett nätverk med en mycket specifik anslutningstopologi, exakt den topologi som den designades för. Typiska topologier som stöds av LAN-länklagerprotokoll inkluderar delad buss, ring och stjärna. Exempel på länklagerprotokoll är Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

I lokala nätverk används länklagerprotokoll av datorer, bryggor, switchar och routrar. I datorer implementeras länklagerfunktioner genom gemensamma ansträngningar av nätverkskort och deras drivrutiner.

I globala nätverk, som sällan har en vanlig topologi, säkerställer datalänkslagret utbyte av meddelanden mellan två angränsande datorer anslutna via en individuell kommunikationslinje. Exempel på punkt-till-punkt-protokoll (som sådana protokoll ofta kallas) är de allmänt använda PPP- och LAP-B-protokollen.

Nätnivå Denna nivå tjänar till att bilda ett enhetligt transportsystem som förenar flera nätverk med olika principer för att överföra information mellan ändnoder. Låt oss titta på funktionerna i nätverkslagret med hjälp av lokala nätverk som ett exempel. Det lokala nätverkets länklagerprotokoll säkerställer leverans av data mellan alla noder endast i ett nätverk med lämpligt typisk topologi. Detta är en mycket strikt begränsning som inte tillåter att bygga nätverk med en utvecklad struktur, till exempel nätverk som kombinerar flera företagsnätverk till ett enda nätverk, eller mycket tillförlitliga nätverk där det finns redundanta anslutningar mellan noder. För att å ena sidan bibehålla enkelheten i dataöverföringsprocedurer för standardtopologier, och å andra sidan för att tillåta användningen av godtyckliga topologier, används ett ytterligare nätverksskikt. På denna nivå introduceras begreppet "nätverk". I detta fall förstås ett nätverk som en samling datorer anslutna till varandra i enlighet med en av de typiska standardtopologierna och som använder ett av länkskiktsprotokollen definierade för denna topologi för att överföra data.

Sålunda, inom nätverket, regleras dataleverans av datalänklagret, men dataleverans mellan nätverk hanteras av nätverkslagret.

Nätverkslagermeddelanden kallas vanligtvis paket. Vid organisering av paketleverans på nätverksnivå används konceptet "nätverksnummer". I detta fall består mottagarens adress av nätverksnumret och datornumret på detta nätverk.

Nätverk är anslutna till varandra med speciella enheter som kallas routrar. Routerär en enhet som samlar in information om topologin för internetanslutningar och, baserat på den, vidarebefordrar nätverkslagerpaket till destinationsnätverket. För att kunna överföra ett meddelande från en avsändare som finns på ett nätverk till en mottagare på ett annat nätverk, måste du göra ett antal transitöverföringar (hopp) mellan nätverk, varje gång du väljer lämplig rutt. Således är en rutt en sekvens av routrar genom vilka ett paket passerar.

Problemet med att välja den bästa vägen kallas routing och dess lösning är huvuduppgiften för nätverksnivån. Detta problem kompliceras av det faktum att den kortaste vägen inte alltid är den bästa. Ofta är kriteriet för att välja en rutt tidpunkten för dataöverföring längs denna rutt, det beror på kommunikationskanalernas kapacitet och trafikintensitet, som kan förändras över tiden. Vissa routingalgoritmer försöker anpassa sig till förändringar i belastning, medan andra fattar beslut baserat på långsiktiga medelvärden. Rutten kan väljas utifrån andra kriterier, till exempel överföringssäkerhet.

På nätverksnivå definieras två typer av protokoll. Den första typen avser definitionen av regler för överföring av ändnodsdatapaket från noden till routern och mellan routrar. Det här är de protokoll som vanligtvis menas när man pratar om nätverkslagerprotokoll. Nätverkslagret innehåller också en annan typ av protokoll som kallas protokoll för routing av informationsutbyte. Med hjälp av dessa protokoll samlar routrar in information om topologin för internetanslutningar. Nätverkslagerprotokoll implementeras av, såväl som routermjukvara och hårdvara.

Exempel på nätverkslagerprotokoll är TCP/IP stack IP Internetwork Protocol och Novell IPX stack Internetwork Protocol.

Transportlager: På vägen från avsändaren till mottagaren kan paket skadas eller gå förlorade. Medan vissa applikationer har sin egen felhantering, finns det andra som föredrar att ta itu med en pålitlig anslutning direkt. Transportskiktets uppgift är att säkerställa att applikationer eller de övre skikten av stacken - applikation och session - överför data med den grad av tillförlitlighet som de kräver. OSI-modellen definierar fem klasser av tjänster som tillhandahålls av transportskiktet. Dessa typer av tjänster kännetecknas av kvaliteten på de tjänster som tillhandahålls: brådskande, förmågan att återställa avbruten kommunikation, tillgången på medel för multiplexering av flera anslutningar mellan olika applikationsprotokoll genom ett gemensamt transportprotokoll, och viktigast av allt, förmågan att upptäcka och korrigera överföringsfel, såsom förvrängning, förlust och duplicering av paket.

Valet av transportlagerserviceklass bestäms å ena sidan av i vilken utsträckning problemet med att säkerställa tillförlitlighet löses av applikationer och protokoll på högre nivåer än transportnivån, och å andra sidan beror detta val på hur tillförlitligt hela datatransportsystemet är online. Så, till exempel, om kvaliteten på kommunikationskanalerna är mycket hög och sannolikheten för fel som inte upptäcks av protokoll på lägre nivå är liten, är det rimligt att använda en av de lätta transportlagertjänsterna som inte belastas med många kontroller , handskakning och andra tekniker för att öka tillförlitligheten. Om fordonär till en början mycket opålitliga, då är det lämpligt att vända sig till den mest utvecklade transportnivåtjänsten, som fungerar med maximala medel för att upptäcka och eliminera fel - genom att först upprätta en logisk anslutning, övervaka meddelandeleverans med kontrollsummor och cyklisk numrering av paket, inställning av leveranstidsgränser, etc.

Som regel implementeras alla protokoll, från och med transportlagret programvaraändnoder i nätverket - komponenter i deras nätverksoperativsystem. Exempel på transportprotokoll inkluderar TCP- och UDP-protokollen för TCP/IP-stacken och SPX-protokollet för Novell-stacken.

Sessionslager: Sessionslagret tillhandahåller konversationshantering för att spela in vilken part som för närvarande är aktiv och tillhandahåller även synkroniseringsmöjligheter. De senare låter dig infoga checkpoints i långa överföringar så att du i händelse av misslyckande kan gå tillbaka till den sista checkpointen, istället för att börja om från början. I praktiken är det få applikationer som använder sessionslagret, och det implementeras sällan.

Presentationslager: Detta lager ger en garanti för att information som förmedlas av applikationslagret kommer att förstås av applikationslagret i ett annat system. Vid behov konverterar presentationslagret dataformat till något vanligt presentationsformat, och vid receptionen utförs följaktligen den omvända omvandlingen. På så sätt kan applikationslager övervinna till exempel syntaktiska skillnader i datarepresentation. På denna nivå kan kryptering och dekryptering av data utföras, tack vare vilket sekretessen för datautbyte säkerställs för alla applikationstjänster på en gång. Ett exempel på ett protokoll som fungerar i presentationslagret är Secure Socket Layer (SSL)-protokollet, som tillhandahåller säker meddelandehantering för applikationslagerprotokollen i TCP/IP-stacken.

Applikationsskiktet Applikationsskiktet är egentligen bara en uppsättning av olika protokoll med vilka nätverksanvändare får tillgång till delade resurser som filer, skrivare eller hypertextwebbsidor, och även organiserar sitt samarbete, till exempel med hjälp av protokollet E-post. Den dataenhet som applikationslagret arbetar på kallas vanligtvis meddelande .

Det finns ett mycket brett utbud av applikationslagerprotokoll. Låt oss ge som exempel åtminstone några av de vanligaste implementeringarna av filtjänster: NCP i operativsystemet Novell NetWare, SMB i Microsoft Windows NT, NFS, FTP och TFTP ingår i TCP/IP-stacken.

OSI-modellen, även om den är mycket viktig, är bara en av många kommunikationsmodeller. Dessa modeller och deras tillhörande protokollstackar kan skilja sig åt i antal lager, deras funktioner, meddelandeformat, tjänster som tillhandahålls i de övre lagren och andra parametrar.

Egenskaper för populära kommunikationsprotokollstackar

Så, interaktionen mellan datorer i nätverk sker i enlighet med vissa regler för utbyte av meddelanden och deras format, det vill säga i enlighet med vissa protokoll. En hierarkiskt organiserad uppsättning protokoll, lösa problemet interaktion mellan nätverksnoder kallas en kommunikationsprotokollstack.

Det finns många protokollstackar som används ofta i nätverk. Dessa är stackar som är internationella och nationella standarder, och proprietära stackar som har blivit utbredda på grund av förekomsten av utrustning från ett visst företag. Exempel på populära protokollstackar inkluderar Novells IPX/SPX-stack, TCP/IP-stacken som används i Internetnätverk och i många operativa nätverk UNIX-system, OSI-stack från International Organization for Standardization, DECnet-stack från Digital Equipment Corporation och några andra.

Användningen av en speciell kommunikationsprotokollstack i ett nätverk avgör till stor del nätverkets ansikte och dess egenskaper. Mindre nätverk får bara använda en stack. I stora företagsnätverk ansluter olika nätverk, som regel används flera stackar parallellt.

Kommunikationsutrustning implementerar lägre lagerprotokoll som är mer standardiserade än högre lagerprotokoll, och detta är en förutsättning för framgångsrik samarbete utrustning från olika tillverkare. Listan över protokoll som stöds av en viss kommunikationsenhet är en av de viktigaste egenskaperna hos denna enhet.

Datorer implementerar kommunikationsprotokoll i form av motsvarande mjukvaruelement i ett nätverksoperativsystem, till exempel implementeras länknivåprotokoll vanligtvis i form av nätverksadapterdrivrutiner och överordnade protokoll implementeras i form av server- och klientkomponenter av nätverkstjänster.

Förmågan att fungera bra i en viss operativsystemmiljö är en viktig egenskap hos kommunikationsutrustning. Du kan ofta läsa i annonser för en nätverksadapter eller hubb att den utformades specifikt för att fungera på ett NetWare- eller UNIX-nätverk. Detta innebär att hårdvaruutvecklarna har optimerat dess egenskaper för de protokoll som används i det nätverksoperativsystemet, eller för en given version av deras implementering om dessa protokoll används i olika operativsystem. På grund av särdragen med implementeringen av protokoll i olika operativsystem är en av egenskaperna hos kommunikationsutrustning dess certifiering för förmågan att arbeta i miljön för ett givet operativsystem.

På de lägre nivåerna - fysisk och datalänk - använder nästan alla stackar samma protokoll. Dessa är välstandardiserade protokoll: Ethernet, Token Ring, FDDI och några andra, som gör att samma utrustning kan användas i alla nätverk.

Nätverksprotokollen och protokollen för högre skikt i befintliga standardstackar är mycket varierande och överensstämmer i allmänhet inte med skiktningen som rekommenderas av ISO-modellen. Särskilt i dessa stackar kombineras sessions- och presentationslagerfunktioner oftast med applikationslagret. Denna avvikelse beror på det faktum att ISO-modellen dök upp som ett resultat av en generalisering av redan befintliga och faktiskt använda stackar, och inte vice versa.

OSI stack

En skillnad måste göras mellan OSI-protokollstacken och OSI-modellen. Medan OSI-modellen konceptuellt definierar förfarandet för interaktion mellan öppna system, delar upp uppgiften i 7 lager, standardiserar syftet med varje lager och introducerar standardnamn för lagren, är OSI-stacken en uppsättning mycket specifika protokollspecifikationer som bildar en konsekvent protokollstack. Denna protokollstack stöds av den amerikanska regeringen i dess GOSIP-program. Allt dator nätverk Statliga installationer efter 1990 måste antingen direkt stödja OSI-stacken eller tillhandahålla ett sätt att migrera till den stacken i framtiden. OSI-stacken är dock mer populär i Europa än i USA, eftersom Europa har färre äldre nätverk installerade som använder sina egna protokoll. Det finns också ett stort behov av en gemensam stack i Europa, eftersom det finns så många olika länder.

Detta är en internationell, tillverkaroberoende standard. Det kan möjliggöra samarbete mellan företag, partners och leverantörer. Denna interaktion kompliceras av att ta itu med, namnge och datasäkerhetsproblem. Alla dessa problem är delvis lösta i OSI-stacken. OSI-protokoll kräver mycket datorkraft central processor, vilket gör dem mer lämpade för kraftfulla maskiner snarare än nätverk personliga datorer. De flesta organisationer planerar bara övergången till OSI-stacken. Bland dem som arbetar i denna riktning finns US Navy Department och NFSNET-nätverket. En av de största tillverkarna som stöder OSI är AT&T. Dess Stargroup-nätverk är helt baserat på OSI-stacken.

Av uppenbara skäl överensstämmer OSI-stacken, till skillnad från andra standardstackar, helt med OSI-sammankopplingsmodellen; den inkluderar specifikationer för alla sju lager av sammankopplingsmodellen för öppna system (Figur 1.3).


Ris. 1.3. OSI stack

OSI-stacken stöder Ethernet, Token Ring, FDDI-protokoll samt LLC, X.25 och ISDN-protokoll. Dessa protokoll kommer att diskuteras i detalj i andra avsnitt av manualen.

Tjänster nätverk, transport och session nivåer finns också i OSI-stacken, men de är inte särskilt vanliga. Nätverkslagret implementerar både anslutningslösa och anslutningsbaserade protokoll. OSI-stacktransportprotokollet, i överensstämmelse med de funktioner som definieras för det i OSI-modellen, döljer skillnaderna mellan anslutningsorienterade och anslutningslösa nätverkstjänster så att användarna får den önskade tjänstekvaliteten oavsett det underliggande nätverkslagret. För att tillhandahålla detta kräver transportskiktet att användaren specificerar den önskade tjänstekvaliteten. 5 klasser av transporttjänster har definierats, från lägsta klass 0 till högsta klass 4, som skiljer sig åt i graden av feltolerans och krav på dataåterställning efter fel.

Tjänster applikationsnivå inkluderar filöverföring, terminalemulering, katalogtjänster och e-post. Av dessa är de mest lovande katalogtjänster (X.500-standard), elektronisk post (X.400), virtuellt terminalprotokoll (VT), protokoll för filöverföring, åtkomst och hantering (FTAM), vidarebefordran och jobbhanteringsprotokoll (JTM) . Nyligen har ISO koncentrerat sina ansträngningar på tjänster på toppnivå.

X.400

är en familj av rekommendationer från International Consultative Committee on Telegraphy and Telephony (CCITT) som beskriver system för vidarebefordran av elektroniska meddelanden. Idag är X.400-rekommendationerna det mest populära meddelandeprotokollet. X.400-rekommendationerna beskriver modellen för ett meddelandesystem, protokollen för interaktion mellan alla komponenter i detta system, såväl som de många typer av meddelanden och de möjligheter som avsändaren har för varje typ av meddelande som skickas.

X.400-rekommendationerna definierar följande minsta nödvändiga uppsättning tjänster som ska tillhandahållas användare: åtkomstkontroll, underhåll av unika systemmeddelandeidentifierare, meddelandeleverans eller meddelande om utebliven leverans med anledning, indikering av meddelandeinnehållstyp, indikering av meddelandeinnehållskonvertering, överföring och leveranstidsstämplar, val av leveranskategori (brådskande, icke-brådskande, normal), multicast-leverans, försenad leverans (upp till en specifik tidpunkt), omvandling av innehåll till gränssnitt med inkompatibla postsystem som telex- och faxtjänster, fråga om ett specifikt meddelande levererades, e-postlistor, som kan ha en kapslad struktur, medel för att skydda meddelanden från obehörig åtkomst, baserat på ett asymmetriskt kryptosystem med publik nyckel.

Syftet med rekommendationerna X.500är utvecklingen av globala standarder kundtjänst. Processen att leverera ett meddelande kräver kunskap om mottagarens adress, vilket är ett problem i stora nätverk, så det är nödvändigt att ha en helpdesk som hjälper till att få fram adresser till avsändare och mottagare. I allmänhet är en X.500-tjänst en distribuerad databas med namn och adresser. Alla användare kan eventuellt logga in i den här databasen med en specifik uppsättning attribut.

Följande operationer definieras i namn- och adressdatabasen:

  • läsa - få en adress med ett känt namn,
  • begäran - få ett namn baserat på kända adressattribut,
  • ändring som innebär att ta bort och lägga till poster i en databas.

De största utmaningarna med att implementera X.500-rekommendationerna härrör från omfattningen av detta projekt, som utger sig för att vara en världsomspännande referenstjänst. Därför är programvara som implementerar X.500-rekommendationer mycket besvärlig och ställer höga krav på hårdvarans prestanda.

Protokoll VT löser problemet med inkompatibilitet mellan olika terminalemuleringsprotokoll. För närvarande måste en användare av en persondator som är kompatibel med en IBM PC köpa tre olika program för terminalemulering olika typer och använda olika protokoll. Om varje värddator hade ISO-terminalemuleringsprotokollmjukvara, skulle användaren bara behöva ett program som stödde VT-protokollet. I sin standard har ISO samlat mycket använda terminalemuleringsfunktioner.

Filöverföring är den vanligaste datortjänsten. Tillgång till filer, både lokala och fjärranslutna, behövs av alla applikationer - textredigerare, e-post, databaser eller fjärrstartsprogram. ISO tillhandahåller en sådan tjänst i protokollet FTAM. Tillsammans med X.400-standarden är det den mest populära OSI-stackstandarden. FTAM tillhandahåller faciliteter för att lokalisera och komma åt filinnehåll och inkluderar en uppsättning direktiv för att infoga, ersätta, utöka och rensa filinnehåll. FTAM tillhandahåller också faciliteter för att manipulera filen som helhet, inklusive att skapa, ta bort, läsa, öppna, stänga filen och välja dess attribut.

Spedition och arbetskontrollprotokoll JTM Tillåter användare att vidarebefordra arbete som måste slutföras på värddatorn. Jobbkontrollspråket som möjliggör jobbinlämning talar om för värddatorn vilka åtgärder som ska utföras på vilka program och filer. JTM-protokollet stöder traditionell batchbearbetning, transaktionsbearbetning, fjärrjobbsinmatning och distribuerad databasåtkomst.

TCP/IP-stack

TCP/IP-stacken, även kallad DoD-stacken och Internet-stacken, är en av de mest populära och lovande. Om det för närvarande huvudsakligen distribueras i nätverk med UNIX OS, så är dess implementering i senaste versionerna nätverksoperativsystem för persondatorer (Windows NT, NetWare) är en bra förutsättning för den snabba tillväxten av antalet installationer av TCP/IP-stacken.

Stacken utvecklades på initiativ av det amerikanska försvarsdepartementet (DoD) för mer än 20 år sedan för att koppla ihop det experimentella ARPAnet-nätverket med andra satellitnätverk som en uppsättning gemensamma protokoll för heterogena datormiljöer. ARPA-nätverket stödde utvecklare och forskare inom militära områden. I ARPA-nätverket utfördes kommunikationen mellan två datorer med hjälp av Internet Protocol (IP), som till denna dag är en av de viktigaste i TCP / IP-stacken och visas i stackens namn.

Berkeley University gav ett stort bidrag till utvecklingen av TCP/IP-stacken genom att implementera stackprotokoll i sin version av UNIX OS. Det utbredda antagandet av UNIX-operativsystemet ledde också till att IP och andra stackprotokoll användes i stor utsträckning. Worldwide fungerar på samma stack informationsnätverk Internet, vars division, Internet Engineering Task Force (IETF), är en stor bidragsgivare till förbättringen av stackstandarder publicerade i form av RFC-specifikationer.

Eftersom TCP/IP-stacken utvecklades före tillkomsten av ISO/OSI-modellen för öppna system för sammankoppling, även om den också har en flernivåstruktur, är överensstämmelsen mellan TCP/IP-stackens nivåer och nivåerna i OSI-modellen ganska villkorad .

Strukturen för TCP/IP-protokollen visas i figur 1.4. TCP/IP-protokoll är indelade i 4 lager.

Ris. 1.4. TCP/IP-stack

Den lägsta ( nivå IV ) - nivå mellan nätverksgränssnitt- motsvarar OSI-modellens fysiska och datalänkslager. Denna nivå i TCP/IP-protokollen är inte reglerad, men stöder alla populära standarder för det fysiska och datalänklagret: för lokala kanaler är dessa Ethernet, Token Ring, FDDI, för globala kanaler - deras egna protokoll för att fungera på analog uppringning- upp och förhyrda linjer SLIP/PPP, som upprättar punkt-till-punkt-förbindelser via seriella länkar globala nätverk, och WAN-protokollen X.25 och ISDN. En speciell specifikation har också utvecklats som definierar användningen av ATM-teknik som en datalänkslagertransport.

Nästa nivå ( nivå III ) är det internetarbetande lagret som hanterar överföringen av datagram med hjälp av olika lokala nätverk, X.25-nätverk, ad hoc-linjer, etc. Stacken använder protokollet IP, som ursprungligen utformades som ett protokoll för att överföra paket i sammansatta nätverk bestående av ett stort antal lokala nätverk sammankopplade med både lokala och globala anslutningar. Därför fungerar IP-protokollet bra i nätverk med komplexa topologier, rationellt med hjälp av närvaron av delsystem i dem och ekonomiskt utgifter genomströmning låghastighetskommunikationslinjer. IP-protokollet är ett datagramprotokoll.

Nivån på internetarbete inkluderar också alla protokoll relaterade till kompilering och modifiering av routingtabeller, såsom protokoll för insamling av routinginformation VILA I FRID.(Routing Internet Protocol) och OSPF(Öppna kortaste vägen först), samt Internet Control Message Protocol ICMP(Internet Control Message Protocol). Det senare protokollet är utformat för att utbyta felinformation mellan routern och gatewayen, källsystemet och destinationssystemet, det vill säga att organisera respons. Med hjälp av speciella ICMP-paket rapporteras det att det är omöjligt att leverera ett paket, att livslängden eller varaktigheten för att sammanställa ett paket från fragment har överskridits, onormala parametervärden, en förändring i vidarebefordranvägen och typen av tjänst, tillståndet för systemet osv.

Nästa nivå ( nivå II) kallas basic. Överföringskontrollprotokollet fungerar på denna nivå TCP(Transmission Control Protocol) och User Datagram Protocol UDP(Användardatagram protokoll). TCP-protokollet ger en stabil virtuell anslutning mellan fjärrapplikationsprocesser. UDP-protokollet säkerställer överföring av applikationspaket med hjälp av datagrammetoden, det vill säga utan att upprätta en virtuell anslutning, och kräver därför mindre overhead än TCP.

Högsta nivån ( nivå I) kallas tillämpad. Under många års användning i olika länders och organisationers nätverk har TCP/IP-stacken samlat på sig ett stort antal protokoll och applikationsnivåtjänster. Dessa inkluderar så allmänt använda protokoll som FTP-filkopieringsprotokoll, telnet-terminalemuleringsprotokoll, e-post SMTP-protokoll, som används i Internet-e-post och dess ryska filial RELCOM, hypertexttjänster för åtkomst av fjärrinformation, såsom WWW och många andra. Låt oss titta närmare på några av dem som är närmast relaterade till ämnena i denna kurs.

Protokoll SNMP(Simple Network Management Protocol) används för att organisera nätverkshantering. Ledningsproblemet är här uppdelat i två problem. Den första uppgiften är relaterad till överföring av information. Protokoll för överföring av kontrollinformation bestämmer proceduren för interaktion mellan servern och klientprogrammet som körs på administratörens värd. De definierar meddelandeformaten som utbyts mellan klienter och servrar, liksom formaten för namn och adresser. Den andra utmaningen är relaterad till kontrollerad data. Standarderna reglerar vilken data som ska lagras och ackumuleras i gateways, namnen på dessa data och syntaxen för dessa namn. SNMP-standarden definierar en specifikation informationsbas nätverkshanteringsdata. Denna specifikation, känd som Management Information Base (MIB), definierar de dataelement som en värd eller gateway måste lagra och de tillåtna operationerna på dem.

Filöverföringsprotokoll FTP(Filöverföring Protocol) implementerar fjärråtkomst till filer. För att säkerställa tillförlitlig överföring använder FTP det anslutningsorienterade protokollet - TCP - som transport. Förutom filöverföringsprotokoll erbjuder FTP andra tjänster. Detta ger användaren möjlighet interaktivt arbete med en fjärrmaskin, till exempel, kan den skriva ut innehållet i sina kataloger, FTP tillåter användaren att specificera typen och formatet på data som ska lagras. Slutligen autentiserar FTP användare. Innan de får åtkomst till filen kräver protokollet att användarna anger sitt användarnamn och lösenord.

I TCP/IP-stacken erbjuder FTP den mest omfattande uppsättningen filtjänster, men är också den mest komplexa att programmera. Applikationer som inte kräver alla funktioner i FTP kan använda ett annat, mer kostnadseffektivt protokoll - Simple File Transfer Protocol TFTP(Trivial File Transfer Protocol). Detta protokoll implementerar endast filöverföring, och transporten som används är ett enklare än TCP, anslutningslöst protokoll - UDP.

Protokoll telnet tillhandahåller överföring av en ström av bytes mellan processer, såväl som mellan en process och en terminal. Oftast används detta protokoll för att emulera en fjärrdatorterminal.

IPX/SPX stack

Denna stack är den ursprungliga Novell-protokollstacken, som den utvecklade för sitt NetWare-nätverksoperativsystem redan i början av 80-talet. Protokollen Internetwork Packet Exchange (IPX) och Sequenced Packet Exchange (SPX), som ger stacken dess namn, är direkta anpassningar av Xerox XNS-protokoll, som är mycket mindre vanliga än IPX/SPX. När det gäller installationer är IPX/SPX-protokollen ledande, och detta beror på att själva NetWare OS intar en ledande position med en andel installationer världen över på cirka 65%.

Novell-protokollfamiljen och deras motsvarighet till ISO/OSI-modellen presenteras i figur 1.5.

Ris. 1.5. IPX/SPX stack

fysiska nivåer och datalänknivåer Novell-nätverk använder alla populära protokoll på dessa nivåer (Ethernet, Token Ring, FDDI och andra).

nätverksnivå protokollet fungerar i Novell-stacken IPX, samt dirigera protokoll för informationsutbyte VILA I FRID. Och NLSP(analogt med OSPF-protokollet för TCP/IP-stacken). IPX är ett protokoll som hanterar adressering och routing av paket på Novell-nätverk. IPX-routingbeslut baseras på adressfälten i dess pakethuvud samt information från protokoll för routinginformationsutbyte. Till exempel använder IPX information som tillhandahålls av antingen RIP eller NLSP (NetWare Link State Protocol) för att vidarebefordra paket till måldatorn eller nästa router. IPX-protokollet stöder endast datagrammetoden för meddelandeutbyte, på grund av vilken det förbrukar datorresurser ekonomiskt. Så, IPX-protokollet tillhandahåller tre funktioner: ställa in en adress, upprätta en rutt och skicka datagram.

Transportskiktet för OSI-modellen i Novell-stacken motsvarar SPX-protokollet, som utför anslutningsorienterad meddelandeöverföring.

På toppen applikations-, presentations- och sessionsnivåer NCP- och SAP-protokoll fungerar. Protokoll NCP(NetWare Core Protocol) är ett protokoll för interaktion mellan NetWare-servern och arbetsstationsskalet. Detta applikationslagerprotokoll implementerar klient-serverarkitekturen i de övre skikten av OSI-modellen. Med hjälp av funktionerna i detta protokoll ansluter arbetsstationen till servern, mappar serverkatalogerna till lokala enhetsbokstäver, bläddrar i serverns filsystem, kopierar raderade filer, ändrar deras attribut, etc., och utför även division nätverksskrivare mellan arbetsstationer.

(Service Advertising Protocol) - tjänsteannonseringsprotokollet liknar konceptuellt RIP-protokollet. Precis som RIP tillåter routrar att utbyta routinginformation, tillåter SAP nätverksenheter att utbyta information om tillgängliga nätverkstjänster.

Servrar och routrar använder SAP för att marknadsföra sina tjänster och nätverksadresser. SAP-protokollet tillåter nätverksenheter att ständigt uppdatera information om vilka tjänster som för närvarande är tillgängliga på nätverket. Vid uppstart använder servrar SAP för att meddela resten av nätverket om sina tjänster. När en server stängs av använder den SAP för att meddela nätverket att dess tjänster har upphört.

På Novell-nätverk skickar NetWare 3.x-servrar ut SAP-sändningspaket varje minut. SAP-paket täpper till nätverket avsevärt, så en av huvuduppgifterna för routrar som kommer åt global kommunikation är att filtrera trafik från SAP-paket och RIP-paket.

Funktionerna i IPX/SPX-stacken bestäms av funktionerna i NetWare OS, nämligen dess orientering tidigare versioner(upp till 4.0) för att arbeta i små lokala nätverk bestående av persondatorer med blygsamma resurser. Därför behövde Novell protokoll som krävde ett minsta antal random access minne(begränsat i IBM-kompatibla datorer som kör MS-DOS till 640 KB) och som skulle köras snabbt på processorer med låg processorkraft. Som ett resultat fungerade IPX/SPX-stackprotokollen tills nyligen bra i lokala nätverk och inte så bra i stora företagsnätverk, eftersom de överbelastade långsamma globala länkar med broadcast-paket som används intensivt av flera protokoll i denna stack (till exempel för att upprätta kommunikation mellan klienter och servrar).

Denna omständighet, liksom det faktum att IPX/SPX-stacken är Novells egendom och kräver en licens för att implementera den, har under lång tid begränsat distributionen endast till NetWare-nätverk. Men när NetWare 4.0 släpptes hade Novell gjort och fortsätter att göra stora förändringar i sina protokoll som syftar till att anpassa dem för att fungera i företagsnätverk. Nu implementeras IPX/SPX-stacken inte bara i NetWare utan även i flera andra populära nätverksoperativsystem - SCO UNIX, Sun Solaris, Microsoft Windows NT.

NetBIOS/SMB-stack

Microsoft och IBM arbetade tillsammans på nätverksverktyg för persondatorer, så NetBIOS/SMB-protokollstacken är deras gemensamma idé. NetBIOS introducerades 1984 som en nätverksutvidgning av standardfunktionerna för IBM PC Basic Input/Output System (BIOS) för nätverksprogram PC Network från IBM, som på applikationsnivå (Fig. 1.6) använde SMB-protokollet (Server Message Block) för att implementera nätverkstjänster.

Ris. 1.6. NetBIOS/SMB-stack

Protokoll NetBIOS fungerar på tre nivåer av interaktionsmodellen för öppna system: nätverk, transport och session. NetBIOS kan tillhandahålla en högre servicenivå än IPX- och SPX-protokollen, men har inga routingmöjligheter. NetBIOS är alltså inte ett nätverksprotokoll i ordets strikta bemärkelse. NetBIOS innehåller många användbara nätverksfunktioner som kan hänföras till nätverks-, transport- och sessionslagren, men det kan inte användas för att dirigera paket, eftersom NetBIOS frame exchange-protokollet inte introducerar ett sådant koncept som ett nätverk. Detta begränsar användningen av NetBIOS-protokollet till lokala nätverk som inte är subnät. NetBIOS stöder både datagram och anslutningsbaserad kommunikation.

Protokoll SMB, som motsvarar applikations- och representativa nivåer för OSI-modellen, reglerar interaktionen mellan arbetsstationen och servern. SMB-funktioner inkluderar följande operationer:

  • Sessionshantering. Skapa och bryta en logisk kanal mellan arbetsstationen och filserverns nätverksresurser.
  • Filåtkomst. En arbetsstation kan kontakta filservern med förfrågningar om att skapa och ta bort kataloger, skapa, öppna och stänga filer, läsa och skriva till filer, byta namn på och ta bort filer, söka efter filer, hämta och ställa in filattribut och låsa poster.
  • Utskriftstjänst. Arbetsstationen kan köa filer för utskrift på servern och få information om utskriftskön.
  • Meddelandetjänst. SMB stöder enkel meddelandehantering med följande funktioner: skicka ett enkelt meddelande; skicka ett sändningsmeddelande; skicka början av meddelandeblocket; skicka meddelandeblocktext; skicka slutet av meddelandeblocket; vidarebefordra användarnamn; avbryta försändelsen; få maskinnamnet.

På grund av det stora antalet applikationer som använder API-funktionerna som tillhandahålls av NetBIOS, implementerar många nätverksoperativsystem dessa funktioner som ett gränssnitt till sina transportprotokoll. NetWare har ett program som emulerar NetBIOS-funktioner baserat på IPX-protokollet, och det finns mjukvaruemulatorer för NetBIOS för Windows NT och TCP/IP-stacken.

Varför behöver vi denna värdefulla kunskap? (redaktionell)

En kollega ställde en gång en knepig fråga till mig. Jo, säger han, du vet vad OSI-modellen är... Och varför behöver du den, vad är den praktiska fördelen med den här kunskapen: om du inte visar upp dig framför dummies? Det är inte sant, fördelarna med denna kunskap är ett systematiskt tillvägagångssätt för att lösa många praktiska problem. Till exempel:

  • felsökning (
felsökning)

En användare (bara en vän) kommer till dig som admin (en erfaren nätverkare) och säger - den "ansluter inte" till mig här. Det finns inget nätverk, säger han, och det är det. Du börjar komma på det. Så, baserat på min erfarenhet av att observera mina grannar, märkte jag att en persons handlingar "inte medveten om OSI-modellen i sitt hjärta" kännetecknas av ett karakteristiskt kaotiskt beteende: antingen drar han i en tråd eller plötsligt pysslar han med något i webbläsaren. Och detta leder ofta till det faktum att en sådan "specialist" när han rör sig utan riktning kommer att dra på vad som helst och var som helst utom inom området för problemet och slösa bort mycket av sin egen och andras tid. När man inser att det finns nivåer av interaktion kommer rörelsen att vara mer konsekvent. Och även om utgångspunkten kan vara annorlunda (i varje bok som jag stötte på var rekommendationerna något annorlunda), är den allmänna logiska utgångspunkten för felsökning som följer - om på nivå X interaktionen utförs korrekt, då på nivå X-1 mest antagligen är allt i sin ordning också. Åtminstone för varje specifik ögonblick tid. När jag felsöker i IP-nätverk börjar jag personligen "gräva" från den andra nivån av DOD-stacken, aka det tredje OSI-lagret, aka Internet Protocol. För det första, eftersom det är lättast att utföra en "ytlig undersökning av patienten" (patienten är mer benägen att plinga än inte), och för det andra, om den, tack och lov, plingar, kan du hoppa över de obehagliga manipulationerna av testkablar, nätverkskort och demonteringar etc. trevliga saker;) Även om du i särskilt svåra fall fortfarande måste börja från nivå ett, och på det mest seriösa sättet.

  • ömsesidig förståelse med kollegor

För att illustrera denna punkt ska jag ge dig ett exempel från livet. En dag bjöd mina vänner från ett litet företag in mig att besöka mig för att ta reda på varför nätverket inte fungerade bra, och för att ge några rekommendationer i denna fråga. Jag kommer till kontoret. Och det visar sig att de till och med har en administratör där, kallad enligt den gamla goda traditionen "programmerare" (och i själva verket sysslar han främst med FoxPro;) - en gammal IT-specialist före perestrojkan. Jag frågar honom, vad har du för nätverk? Han: "Vad menar du? Tja, bara ett nätverk." Nätverket är i allmänhet som ett nätverk. Tja, jag har några vägledande frågor: vilket protokoll används på nätverksnivå? Han: "VART är det här?" Jag förtydligar: "Tja, IP eller IPX eller vad du nu har..." "Åh", säger han, "det verkar ja: IPX/något annat!" Förresten, "det-finns-något annat", som du kanske har märkt, ligger lite högre från nätverksnivån, men det är inte meningen... Det typiska är att han byggde detta nätverk och till och med underhöll det dåligt . Det är inte förvånande att det vissnade bort... ;) Om jag hade känt till OSI skulle jag ha klottrat fram ett diagram på 5 minuter - från 10Base-2 till applikationsprogram. Och du skulle inte behöva krypa under bordet för att inspektera koaxialkablarna.

  • lära sig ny teknik

Jag har redan uppehållit mig vid denna viktiga aspekt i förordet och jag kommer att upprepa det igen: när du studerar ett nytt protokoll bör du först och främst förstå a) i vilken eller vilka protokollstack det hör och b) i vilken del av stapeln och med vem det interagerar underifrån och vem med honom på toppen... :) Och detta kommer att ge dig fullständig klarhet i ditt huvud. Och det finns olika meddelandeformat och API:er - ja, det är en fråga om teknik :)

Alexander Goryachev, Alexey Niskovsky

För att nätverksservrar och klienter ska kunna kommunicera måste de arbeta med samma protokoll för informationsutbyte, det vill säga de måste "tala" samma språk. Protokollet definierar en uppsättning regler för att organisera utbytet av information på alla nivåer av interaktion mellan nätverksobjekt.

Det finns en referensmodell för öppet system för sammankoppling, ofta kallad OSI-modellen. Denna modell har utvecklats av International Organization for Standardization (ISO). OSI-modellen beskriver interaktionsschemat för nätverksobjekt, definierar en lista med uppgifter och regler för dataöverföring. Den innehåller sju nivåer: fysisk (fysisk - 1), kanal (Data-länk - 2), nätverk (nätverk - 3), transport (Transport - 4), session (session - 5), datapresentation (presentation - 6 ) och tillämpas (Ansökan - 7). Två datorer anses kunna kommunicera med varandra i ett visst lager av OSI-modellen om deras programvara som implementerar nätverksfunktioner i det lagret tolkar samma data på samma sätt. I detta fall upprättas direkt kommunikation mellan två datorer, kallad "punkt-till-punkt".

Implementering av OSI-modellen genom protokoll kallas protokollstackar. Det är omöjligt att implementera alla funktioner i OSI-modellen inom ramen för ett specifikt protokoll. Vanligtvis implementeras uppgifter på en specifik nivå av ett eller flera protokoll. En dator måste köra protokoll från samma stack. I det här fallet kan datorn använda flera protokollstackar samtidigt.

Låt oss överväga de uppgifter som lösts på varje nivå i OSI-modellen.

Fysiskt lager

På denna nivå av OSI-modellen definieras följande egenskaper hos nätverkskomponenter: typer av anslutningar för dataöverföringsmedia, fysiska nätverkstopologier, metoder för dataöverföring (med digital eller analog signalkodning), typer av synkronisering av överförda data, separation kommunikationskanaler med frekvens- och tidsmultiplexering.

Implementeringar av OSI-protokollen för fysiskt lager samordnar reglerna för sändning av bitar.

Det fysiska lagret innehåller inte en beskrivning av transmissionsmediet. Emellertid är implementeringar av fysiska lagerprotokoll specifika för ett speciellt överföringsmedium. Det fysiska lagret är vanligtvis associerat med anslutningen av följande nätverksutrustning:

  • koncentratorer, nav och repeatrar som regenererar elektriska signaler;
  • överföringsmediaanslutningar som tillhandahåller ett mekaniskt gränssnitt för att ansluta anordningen till överföringsmediet;
  • modem och diverse konvertera enheter utföra digitala och analoga konverteringar.

Detta lager av modellen definierar de fysiska topologierna i företagsnätverket, som är byggda med hjälp av en kärnuppsättning standardtopologier.

Först in grunduppsättningär en busstopologi. I detta fall är alla nätverksenheter och datorer anslutna till en gemensam dataöverföringsbuss, som oftast bildas med hjälp av en koaxialkabel. Kabeln som utgör den gemensamma bussen kallas ryggraden. Från varje enhet som är ansluten till bussen sänds signalen i båda riktningarna. För att ta bort signalen från kabeln måste speciella brytare (terminator) användas i ändarna av bussen. Mekanisk skada på motorvägen påverkar driften av alla enheter som är anslutna till den.

Ringtopologi innebär att alla nätverksenheter och datorer kopplas till en fysisk ring. I denna topologi sänds alltid information längs ringen i en riktning - från station till station. Varje nätverksenhet måste ha en informationsmottagare på ingångskabeln och en sändare på utgångskabeln. Mekanisk skada på informationsöverföringsmediet i en enda ring kommer att påverka driften av alla enheter, men nätverk byggda med en dubbelring har som regel en feltoleransmarginal och självläkande funktioner. I nätverk byggda på en dubbelring sänds samma information längs ringen i båda riktningarna. Om kabeln är skadad kommer ringen att fortsätta att fungera som en enkel ring med dubbel längd (självläkande funktioner bestäms av den hårdvara som används).

Nästa topologi är stjärntopologin, eller stjärnan. Den tillhandahåller närvaron av en central enhet till vilken andra nätverksenheter och datorer är anslutna via strålar (separata kablar). Nätverk byggda på en stjärntopologi har en enda felpunkt. Denna punkt är den centrala enheten. Om den centrala enheten misslyckas kommer inte alla andra nätverksdeltagare att kunna utbyta information med varandra, eftersom allt utbyte endast utfördes via den centrala enheten. Beroende på typ av centralenhet kan signalen som tas emot från en ingång sändas (med eller utan förstärkning) till alla utgångar eller till en specifik utgång till vilken informationsmottagarenheten är ansluten.

En helt ansluten (mesh) topologi har hög feltolerans. När nätverk med en liknande topologi byggs är var och en av nätverksenheterna eller datorerna anslutna till alla andra komponenter i nätverket. Denna topologi har redundans, vilket gör att den verkar opraktisk. I små nätverk används denna topologi sällan, men i stora företagsnätverk kan en helt mesh-topologi användas för att ansluta de viktigaste noderna.

De övervägda topologierna byggs oftast med kabelanslutningar.

Det finns en annan topologi som använder trådlösa anslutningar, - cellulär. I den kombineras nätverksenheter och datorer till zoner - celler (celler), som endast interagerar med cellens transceiverenhet. Informationsöverföring mellan celler utförs av transceiveranordningar.

Datalänkskikt

Denna nivå bestämmer nätverkets logiska topologi, reglerna för att få tillgång till dataöverföringsmediet, löser problem relaterade till adressering av fysiska enheter inom det logiska nätverket och hantering av informationsöverföring (överföringssynkronisering och anslutningstjänst) mellan nätverksenheter.

Länklagerprotokoll definieras av:

  • regler för att organisera fysiska lagerbitar (binära ettor och nollor) i logiska grupper av information som kallas ramar. En ram är en länklagerdataenhet som består av en sammanhängande sekvens av grupperade bitar, med ett huvud och en svans;
  • regler för att upptäcka (och ibland korrigera) överföringsfel;
  • flödeskontrollregler (för enheter som arbetar på denna nivå av OSI-modellen, till exempel broar);
  • regler för att identifiera datorer i ett nätverk genom deras fysiska adresser.

Liksom de flesta andra lager lägger datalänklagret till sin egen kontrollinformation i början av datapaketet. Denna information kan inkludera källadress och destinationsadress (fysisk eller hårdvara), ramlängdsinformation och en indikation på aktiva övre skiktsprotokoll.

Följande nätverksanslutningsenheter är vanligtvis associerade med datalänklagret:

  • broar;
  • smarta nav;
  • strömbrytare;
  • nätverkskort (nätverksgränssnittskort, adaptrar, etc.).

Länklagrets funktioner är uppdelade i två undernivåer (tabell 1):

  • mediaåtkomstkontroll (MAC);
  • logisk länkkontroll (Logical Link Control, LLC).

MAC-underskiktet definierar sådana länklagerelement som den logiska nätverkstopologin, metoden för åtkomst till informationsöverföringsmediet och reglerna för fysisk adressering mellan nätverksobjekt.

Förkortningen MAC används också för att bestämma den fysiska adressen för en nätverksenhet: den fysiska adressen för en enhet (som bestäms inom nätverksenheten eller nätverkskortet vid tillverkningsstadiet) kallas ofta för den enhetens MAC-adress. För ett stort antal nätverksenheter, särskilt nätverkskort, är det möjligt att programmässigt ändra MAC-adressen. Man måste komma ihåg att datalänkskiktet i OSI-modellen lägger begränsningar på användningen av MAC-adresser: i ett fysiskt nätverk (ett segment av ett större nätverk) kan det inte finnas två eller flera enheter som använder samma MAC-adresser. För att bestämma den fysiska adressen för ett nätverksobjekt kan begreppet "nodadress" användas. Värdadressen sammanfaller oftast med MAC-adressen eller bestäms logiskt under omtilldelning av programvaruadress.

LLC-underskiktet definierar reglerna för synkronisering av överförings- och tjänsteanslutningar. Detta underskikt av datalänklagret interagerar nära med nätverkslagret i OSI-modellen och är ansvarigt för tillförlitligheten hos fysiska (med MAC-adresser) anslutningar. Den logiska topologin för ett nätverk bestämmer metoden och reglerna (sekvensen) för dataöverföring mellan datorer i nätverket. Nätverksobjekt överför data beroende på nätverkets logiska topologi. Den fysiska topologin definierar den fysiska vägen för datan; Men i vissa fall återspeglar inte den fysiska topologin hur nätverket fungerar. Den faktiska datavägen bestäms av den logiska topologin. Nätverksanslutningsenheter och mediaåtkomstscheman används för att överföra data längs en logisk väg, som kan skilja sig från vägen i det fysiska mediet. Bra exempel skillnader mellan fysisk och logisk topologi - IBMs Token Ring-nätverk. Token Ring lokala nätverk använder ofta kopparkabel, som läggs i en stjärnformad krets med en central splitter (hub). Till skillnad från en vanlig stjärntopologi vidarebefordrar inte hubben inkommande signaler till alla andra anslutna enheter. Hubbens interna kretsar skickar varje inkommande signal sekventiellt nästa enhet i en förutbestämd logisk ring, det vill säga i ett cirkulärt mönster. Den fysiska topologin för detta nätverk är stjärna, och den logiska topologin är ring.

Ett annat exempel på skillnaderna mellan fysiska och logiska topologier är Ethernet-nätverk. Det fysiska nätverket kan byggas upp med kopparkablar och en central hubb. Ett fysiskt nätverk bildas, gjort enligt stjärntopologin. Emellertid möjliggör Ethernet-teknik överföring av information från en dator till alla andra i nätverket. Hubben måste vidarebefordra signalen som tas emot från en av dess portar till alla andra portar. Ett logiskt nätverk med en busstopologi har bildats.

För att bestämma den logiska topologin för ett nätverk måste du förstå hur signaler tas emot i det:

  • i logiska busstopologier tas varje signal emot av alla enheter;
  • I logiska ringtopologier tar varje enhet endast emot de signaler som skickades specifikt till den.

Det är också viktigt att veta hur nätverksenheter kommer åt informationsöverföringsmediet.

Mediaåtkomst

Logiska topologier använder speciella regler som styr tillstånd att överföra information till andra nätverksobjekt. Styrprocessen styr åtkomsten till kommunikationsmediet. Tänk på ett nätverk där alla enheter får fungera utan några regler för att få tillgång till överföringsmediet. Alla enheter i ett sådant nätverk sänder information så snart datan är klar; dessa sändningar kan ibland överlappa varandra i tid. Som ett resultat av överlappning förvrängs signalerna och överförda data går förlorade. Denna situation kallas en kollision. Kollisioner tillåter inte att organisera tillförlitlig och effektiv överföring av information mellan nätverksobjekt.

Kollisioner i nätverket sträcker sig till de fysiska nätverkssegment som nätverksobjekt är anslutna till. Sådana förbindelser bildar ett enda kollisionsutrymme, där kollisionspåverkan sträcker sig till alla. För att minska storleken på kollisionsutrymmen genom att segmentera det fysiska nätverket kan du använda bryggor och andra nätverksenheter som har trafikfiltreringsmöjligheter i datalänklagret.

Ett nätverk kan inte fungera korrekt förrän alla nätverksenheter kan övervaka, hantera eller mildra kollisioner. I nätverk behövs någon metod för att minska antalet kollisioner och störningar (överlagring) av samtidiga signaler.

Det finns standardmetoder för medieåtkomst som beskriver reglerna för vilka tillstånd att överföra information kontrolleras för nätverksenheter: konflikt, token-passering och polling.

Innan du väljer ett protokoll som implementerar en av dessa mediaåtkomstmetoder bör du vara särskilt uppmärksam på följande faktorer:

  • överföringens karaktär - kontinuerlig eller pulsad;
  • antal dataöverföringar;
  • behovet av att överföra data med strikt definierade tidsintervall;
  • antal aktiva enheter i nätverket.

Var och en av dessa faktorer, i kombination med dess fördelar och nackdelar, hjälper till att avgöra vilken medieåtkomstmetod som är mest lämplig.

Konkurrens. Konfliktbaserade system förutsätter att åtkomst till överföringsmediet implementeras enligt först till kvarn-principen. Med andra ord, varje nätverksenhet konkurrerar om kontroll av överföringsmediet. Konfliktbaserade system är utformade så att alla enheter i nätverket kan överföra data endast efter behov. Denna praxis resulterar i slutändan i partiell eller fullständig dataförlust eftersom kollisioner faktiskt inträffar. När varje ny enhet läggs till i nätverket kan antalet kollisioner öka exponentiellt. En ökning av antalet kollisioner minskar nätverkets prestanda, och i fallet med fullständig mättnad av informationsöverföringsmediet minskar det nätverkets prestanda till noll.

För att minska antalet kollisioner har speciella protokoll tagits fram som implementerar funktionen att lyssna på informationsöverföringsmediet innan stationen börjar sända data. Om en lyssningsstation upptäcker att en signal sänds (från en annan station), kommer den att avstå från att sända informationen och kommer att försöka igen senare. Dessa protokoll kallas CSMA-protokoll (Carrier Sense Multiple Access). CSMA-protokoll minskar antalet kollisioner avsevärt, men eliminerar dem inte helt. Kollisioner inträffar dock när två stationer avsöker kabeln, hittar inga signaler, bestämmer att mediet är rent och sedan samtidigt börjar sända data.

Exempel på sådana kontradiktoriska protokoll är:

  • Carrier Sense Multiple Access/Collision Detection (CSMA/CD);
  • Carrier Sense Multiple Access/Collision Avoidance (CSMA/CA).

CSMA/CD-protokoll. CSMA/CD-protokoll lyssnar inte bara på kabeln före sändning, utan upptäcker även kollisioner och initierar omsändningar. När en kollision upptäcks initierar stationerna som sänder data speciella interna timers med slumpmässiga värden. Timrarna börjar räkna ner, och när noll uppnås måste stationer försöka återsända data. Eftersom timern initierades med slumpmässiga värden kommer en av stationerna att försöka upprepa dataöverföringen före den andra. Följaktligen kommer den andra stationen att fastställa att dataöverföringsmediet redan är upptaget och kommer att vänta på att det blir ledigt.

Exempel på CSMA/CD-protokoll är Ethernet version 2 (Ethernet II, utvecklad av DEC) och IEEE802.3.

CSMA/CA-protokoll. CSMA/CA använder scheman som tidsdelningsåtkomst eller att skicka en begäran för att få tillgång till mediet. När man använder time slicing kan varje station sända information endast vid strikt definierade tider för denna station. I det här fallet måste en mekanism för att hantera tidssegment implementeras i nätverket. Varje ny station som är ansluten till nätverket meddelar om dess utseende och initierar därigenom processen att omfördela tidssegment för informationsöverföring. Vid användning av centraliserad åtkomstkontroll till överföringsmediet genererar varje station en speciell överföringsbegäran, som adresseras till styrstationen. Centralstationen reglerar åtkomsten till överföringsmediet för alla nätobjekt.

Ett exempel på CSMA/CA är Apple Computers LocalTalk-protokoll.

Konferensbaserade system är mest lämpade för användning med bursty trafik (stora filöverföringar) i nätverk med relativt få användare.

System med tokenöverföring. I token-passeringssystem skickas en liten ram (token) i en specifik ordning från en enhet till en annan. En token är ett speciellt meddelande som överför temporär kontroll av överföringsmediet till enheten som håller token. Att passera token distribuerar åtkomstkontroll mellan enheter i nätverket.

Varje enhet vet vilken enhet den tar emot token från och vilken enhet den ska skicka den till. Vanligtvis är dessa enheter de närmaste grannarna till tokenägaren. Varje enhet får med jämna mellanrum kontroll över token, utför dess åtgärder (sänder information) och skickar sedan token vidare till nästa enhet för användning. Protokollen begränsar den tid varje enhet kan kontrollera token.

Det finns flera token-passeringsprotokoll. Två nätverksstandarder som använder token-passering är IEEE 802.4 Token Bus och IEEE 802.5 Token Ring. Ett Token Bus-nätverk använder token-passerande åtkomstkontroll och en fysisk eller logisk busstopologi, medan ett Token Ring-nätverk använder token-passerande åtkomstkontroll och en fysisk eller logisk ringtopologi.

Token-passerande nätverk bör användas när det finns tidskänslig prioritetstrafik, såsom digital ljud- eller videodata, eller när det finns ett mycket stort antal användare.

Undersökning. Polling är en åtkomstmetod som tilldelar en enhet (kallad styrenhet, primär eller "master"-enhet) för att fungera som en medlare av åtkomst till mediet. Denna enhet pollar alla andra enheter (sekundära) i någon fördefinierad ordning för att se om de har information att överföra. För att ta emot data från en sekundär enhet skickar den primära enheten en begäran till den och tar sedan emot data från den sekundära enheten och vidarebefordrar den till den mottagande enheten. Den primära enheten pollar sedan en annan sekundär enhet, tar emot data från den och så vidare. Protokollet begränsar mängden data som varje sekundär enhet kan sända efter polling. Pollingsystem är idealiska för tidskänsliga nätverksenheter, såsom utrustningsautomation.

Detta lager tillhandahåller även anslutningstjänster. Det finns tre typer av anslutningstjänster:

  • okvitterad anslutningslös tjänst - skickar och tar emot ramar utan flödeskontroll och utan felkontroll eller paketsekvensering;
  • anslutningsorienterad tjänst - tillhandahåller flödeskontroll, felkontroll och paketsekvensering genom att utfärda kvitton (bekräftelser);
  • bekräftelse anslutningslös tjänst - använder kvitton för att styra flöde och kontrollera fel under överföringar mellan två nätverksnoder.

LLC-underskiktet i datalänklagret ger möjligheten att samtidigt använda flera nätverksprotokoll (från olika protokollstackar) när man arbetar genom ett enda nätverksgränssnitt. Med andra ord, om din dator bara har en LAN-kort, men det finns ett behov av att arbeta med olika nätverkstjänster från olika tillverkare, då ger klientnätverksprogramvara på LLC-undernivå möjligheten till sådant arbete.

Nätverkslager

Nätverksnivån bestämmer reglerna för dataleverans mellan logiska nätverk, bildandet av logiska adresser för nätverksenheter, definitionen, valet och underhållet av routinginformation och driften av gateways.

Huvudmålet med nätverkslagret är att lösa problemet med att flytta (leverera) data till specificerade punkter i nätverket. Dataleverans vid nätverkslagret liknar i allmänhet dataleverans vid datalänkslagret i OSI-modellen, där fysisk enhetsadressering används för att överföra data. Adressering vid datalänklagret gäller dock endast ett logiskt nätverk och är endast giltigt inom det nätverket. Nätverkslagret beskriver metoderna och medlen för att överföra information mellan många oberoende (och ofta heterogena) logiska nätverk som, när de är sammankopplade, bildar ett stort nätverk. Ett sådant nätverk kallas ett internetverk, och processerna för informationsöverföring mellan nätverk kallas internetarbete.

Genom att använda fysisk adressering vid datalänklagret levereras data till alla enheter på samma logiska nätverk. Varje nätverksenhet, varje dator bestämmer syftet med mottagna data. Om informationen är avsedd för datorn, så bearbetar den den, men om inte, ignorerar den den.

Till skillnad från datalänklagret kan nätverkslagret välja en specifik rutt i internetverket och undvika att skicka data till logiska nätverk som data inte är adresserade till. Nätverkslagret gör detta genom växling, nätverkslagsadressering och routingalgoritmer. Nätverkslagret ansvarar också för att säkerställa korrekta vägar för data genom internetverket som består av heterogena nätverk.

Nätverkslagrets implementeringselement och metoder definieras enligt följande:

  • alla logiskt separata nätverk måste ha unika nätverksadresser;
  • switching definierar hur anslutningar görs över internetarbetet;
  • förmågan att implementera routing så att datorer och routrar avgör den bästa vägen för data att passera genom internetarbetet;
  • nätverket kommer att utföra olika nivåer av anslutningstjänst beroende på antalet förväntade fel inom det sammankopplade nätverket.

Routrar och vissa switchar fungerar på detta lager av OSI-modellen.

Nätverkslagret bestämmer reglerna för bildandet av logiska nätverksadresser för nätverksobjekt. Inom ett stort sammankopplat nätverk måste varje nätverksobjekt ha en unik logisk adress. Två komponenter är involverade i bildandet av en logisk adress: den logiska nätverksadressen, som är gemensam för alla nätverksobjekt, och den logiska adressen för nätverksobjektet, som är unik för detta objekt. När den logiska adressen för ett nätverksobjekt skapas kan antingen den fysiska adressen för objektet användas eller en godtycklig logisk adress bestämmas. Användningen av logisk adressering gör att du kan organisera dataöverföring mellan olika logiska nätverk.

Varje nätverksobjekt, varje dator kan utföra många nätverksfunktioner samtidigt, vilket säkerställer driften av olika tjänster. För att komma åt tjänster används en speciell tjänstidentifierare, som kallas en port eller socket. Vid åtkomst till en tjänst följer tjänstens identifierare omedelbart efter den logiska adressen till den dator som tillhandahåller tjänsten.

Många nätverk reserverar grupper av logiska adresser och tjänstidentifierare i syfte att utföra specifika, fördefinierade och välkända åtgärder. Till exempel, om det är nödvändigt att skicka data till alla nätverksobjekt, kommer sändningen att göras till en speciell sändningsadress.

Nätverkslagret definierar reglerna för överföring av data mellan två nätverksobjekt. Denna överföring kan göras med hjälp av switching eller routing.

Det finns tre metoder för växling för dataöverföring: kretsväxling, meddelandeväxling och paketväxling.

Vid användning av kretskoppling upprättas en dataöverföringskanal mellan sändaren och mottagaren. Denna kanal kommer att vara aktiv under hela kommunikationssessionen. När du använder den här metoden är långa förseningar i kanalallokering möjliga på grund av bristen på tillräcklig bandbredd, belastning på omkopplingsutrustningen eller mottagarens upptagenhet.

Meddelandeväxling gör att du kan sända ett helt (inte uppdelat i delar) meddelande med hjälp av "store-and-forward"-principen. Varje mellanliggande enhet tar emot ett meddelande, lagrar det lokalt och skickar det när kommunikationskanalen som meddelandet ska skickas är ledig. Denna metod är väl lämpad för att överföra e-postmeddelanden och organisera elektronisk dokumenthantering.

Paketväxling kombinerar fördelarna med de två föregående metoderna. Varje stort meddelande delas upp i små paket, som vart och ett skickas sekventiellt till mottagaren. När varje paket passerar genom internetarbetet bestäms den bästa vägen för det ögonblicket. Det visar sig att delar av ett meddelande kan komma fram till mottagaren vid olika tidpunkter, och först efter att alla delar samlats ihop kommer mottagaren att kunna arbeta med den mottagna datan.

Varje gång du bestämmer nästa väg för data måste du välja den bästa vägen. Uppgiften att bestämma den bästa vägen kallas routing. Denna uppgift utförs av routrar. Routrarnas uppgift är att fastställa möjliga dataöverföringsvägar, underhålla routinginformation och välja de bästa vägarna. Routing kan göras statiskt eller dynamiskt. När du anger statisk routing måste alla relationer mellan logiska nätverk specificeras och förbli oförändrade. Dynamisk routing förutsätter att routern själv kan fastställa nya vägar eller ändra information om gamla. Dynamisk routing använder speciella routingalgoritmer, varav de vanligaste är avståndsvektor och länktillstånd. I det första fallet använder routern andrahandsinformation om nätverksstrukturen från angränsande routrar. I det andra fallet arbetar routern med information om sina egna kommunikationskanaler och interagerar med en speciell representativ router för att bygga en komplett nätverkskarta.

Valet av den bästa rutten påverkas oftast av faktorer som antalet hopp genom routrar (hoppantal) och antalet tick (tidsenheter) som krävs för att nå destinationsnätverket (tick count).

Anslutningstjänsten för nätverkslager fungerar när anslutningstjänsten för LLC-underlagret i datalänklagret i OSI-modellen inte används.

När du bygger ett sammankopplat nätverk måste du ansluta logiska nätverk som byggts med olika tekniker och tillhandahåller en mängd olika tjänster. För att ett nätverk ska fungera måste logiska nätverk kunna korrekt tolka data och styra information. Denna uppgift löses med hjälp av en gateway, som är en enhet eller ett applikationsprogram som översätter och tolkar reglerna för ett logiskt nätverk till reglerna för ett annat. I allmänhet kan gateways implementeras på alla nivåer av OSI-modellen, men oftast implementeras de på de övre nivåerna av modellen.

Transportlager

Transportlagret låter dig dölja nätverkets fysiska och logiska struktur från applikationer i de övre lagren av OSI-modellen. Applikationer fungerar endast med tjänstefunktioner som är ganska universella och inte beror på de fysiska och logiska nätverkstopologierna. Funktioner av logiska och fysiska nätverk implementeras i tidigare lager, där transportlagret sänder data.

Transportskiktet kompenserar ofta för bristen på tillförlitlig eller anslutningsorienterad anslutningstjänst i lägre skikt. Termen "pålitlig" betyder inte att all data kommer att levereras i alla fall. Pålitliga implementeringar av transportlagerprotokoll kan dock vanligtvis erkänna eller neka leverans av data. Om data inte levereras korrekt till den mottagande enheten, kan transportskiktet återsända eller informera övre skikt om att leverans inte var möjlig. Övre nivåer kan sedan vidta nödvändiga korrigerande åtgärder eller ge användaren valmöjligheter.

Många protokoll i dator nätverk ge användare möjligheten att arbeta med enkla namn på naturligt språk istället för komplexa och svåra att komma ihåg alfanumeriska adresser. Adress/namnupplösning är en funktion för att identifiera eller mappa namn och alfanumeriska adresser till varandra. Denna funktion kan utföras av varje enhet i nätverket eller av speciella tjänsteleverantörer som kallas katalogservrar ( katalogserver), namnservrar osv. Följande definitioner klassificerar adress-/namnupplösningsmetoder:

  • konsumentinitiering av tjänst;
  • initierat av tjänsteleverantören.

I det första fallet kommer en nätverksanvändare åt en tjänst med dess logiska namn, utan att veta den exakta platsen för tjänsten. Användaren vet inte om denna tjänst är tillgänglig i det här ögonblicket. Vid kontakt matchas det logiska namnet med det fysiska namnet och användarens arbetsstation initierar ett samtal direkt till tjänsten. I det andra fallet meddelar varje tjänst alla nätverksklienter om sig själv på en periodisk basis. Varje kund vet när som helst om tjänsten är tillgänglig och vet hur man kontaktar tjänsten direkt.

Adresseringsmetoder

Tjänsteadresser identifierar specifika programvaruprocesser som körs på nätverksenheter. Utöver dessa adresser övervakar tjänsteleverantörer olika konversationer de har med enheter som efterfrågar tjänster. Två olika konversationsmetoder använder följande adresser:

  • anslutnings-ID;
  • Transaktions ID.

En anslutningsidentifierare, även kallad anslutnings-ID, port eller socket, identifierar varje konversation. Med hjälp av ett anslutnings-ID kan en anslutningsleverantör kommunicera med mer än en klient. Tjänsteleverantören hänvisar till varje växlingsenhet med dess nummer och förlitar sig på transportskiktet för att koordinera andra lägre skiktadresser. Anslutnings-ID:t är kopplat till en specifik konversation.

Transaktions-ID:n liknar anslutnings-ID:n, men fungerar i enheter som är mindre än en konversation. En transaktion består av en begäran och ett svar. Tjänsteleverantörer och konsumenter spårar avgång och ankomst för varje transaktion, inte hela konversationen.

Sessionslager

Sessionslagret underlättar kommunikation mellan enheter som begär och levererar tjänster. Kommunikationssessioner styrs genom mekanismer som upprättar, underhåller, synkroniserar och hanterar dialog mellan kommunicerande enheter. Detta lager hjälper också de övre lagren att identifiera och ansluta till tillgängliga nätverkstjänster.

Sessionslagret använder logisk adressinformation som tillhandahålls av lägre lager för att identifiera namn och serveradresser, som behövs av de övre nivåerna.

Sessionslagret initierar också konversationer mellan tjänsteleverantörsenheter och konsumentenheter. När den här funktionen utförs representerar eller identifierar sessionslagret ofta varje objekt och koordinerar åtkomsträttigheterna till det.

Sessionslagret implementerar dialoghantering med hjälp av en av tre kommunikationsmetoder - simplex, halv duplex och full duplex.

Enkel kommunikation innebär endast enkelriktad överföring av information från källan till mottagaren. Denna kommunikationsmetod ger ingen feedback (från mottagare till källa). Halvduplex tillåter användning av ett dataöverföringsmedium för dubbelriktade informationsöverföringar, men information kan endast överföras i en riktning åt gången. Full duplex säkerställer samtidig överföring av information i båda riktningarna över dataöverföringsmediet.

Administration av en kommunikationssession mellan två nätverksobjekt, bestående av anslutningsetablering, dataöverföring, anslutningsavslutning, utförs också på denna nivå av OSI-modellen. Efter att en session har upprättats kan programvara som implementerar funktionerna i detta lager kontrollera funktionen hos (underhålla) anslutningen tills den avslutas.

Datapresentationslager

Huvuduppgiften för datapresentationslagret är att omvandla data till ömsesidigt konsekventa format (utbytessyntax) som är begripliga för alla nätverksapplikationer och de datorer som applikationerna körs på. På denna nivå löses även uppgifterna med datakomprimering och -dekomprimering och deras kryptering.

Konvertering avser att ändra bitordningen för bytes, byteordningen för ord, teckenkoder och filnamnssyntax.

Behovet av att ändra ordningen på bitar och bytes beror på närvaron av ett stort antal olika processorer, datorer, komplex och system. Processorer från olika tillverkare kan tolka noll- och sjundebitarna i en byte olika (antingen är nollbiten den mest signifikanta eller den sjunde biten). På liknande sätt tolkas byten som utgör stora informationsenheter - ord - olika.

För att användare av olika operativsystem ska få information i form av filer med korrekt namn och innehåll säkerställer detta lager korrekt konvertering av filsyntax. Olika operativsystem hanterar sina filsystem, implementera olika sätt att bilda filnamn. Information i filer lagras också i en specifik teckenkodning. När två nätverksobjekt interagerar är det viktigt att var och en av dem kan tolka filinformation på olika sätt, men betydelsen av informationen bör inte ändras.

Datapresentationsskiktet omvandlar data till ett ömsesidigt konsekvent format (utbytessyntax) som är förståeligt av alla nätverksanslutna applikationer och de datorer som applikationerna körs på. Det kan också komprimera och expandera, samt kryptera och dekryptera data.

Datorer använder olika regler för att representera data med binära ettor och nollor. Även om alla dessa regler försöker uppnå det gemensamma målet att presentera läsbar data, har datortillverkare och standardorganisationer skapat regler som motsäger varandra. När två datorer som använder olika uppsättningar regler försöker kommunicera med varandra behöver de ofta utföra vissa transformationer.

Lokala operativsystem och nätverksoperativsystem krypterar ofta data för att skydda dem från obehörig användning. Kryptering är en allmän term som beskriver flera metoder för att skydda data. Skydd utförs ofta med hjälp av datakryptering, som använder en eller flera av tre metoder: permutation, substitution eller algebraisk metod.

Var och en av dessa metoder är helt enkelt ett speciellt sätt att skydda data på ett sådant sätt att det bara kan förstås av någon som känner till krypteringsalgoritmen. Datakryptering kan utföras antingen i hårdvara eller i mjukvara. Dock sker end-to-end datakryptering vanligtvis programmatiskt och anses vara en del aven. För att meddela objekt om vilken krypteringsmetod som används används vanligtvis 2 metoder - hemliga nycklar och publika nycklar.

Krypteringsmetoder för hemlig nyckel använder en enda nyckel. Nätverksenheter som äger nyckeln kan kryptera och dekryptera varje meddelande. Därför måste nyckeln hållas hemlig. Nyckeln kan byggas in i hårdvaruchipsen eller installeras av nätverksadministratören. Varje gång nyckeln ändras måste alla enheter modifieras (det är tillrådligt att inte använda nätverket för att överföra värdet på den nya nyckeln).

Nätverksobjekt som använder krypteringsmetoder med offentlig nyckel är försedda med en hemlig nyckel och något känt värde. Ett objekt skapar en offentlig nyckel genom att manipulera ett känt värde genom en privat nyckel. Entiteten som initierar kommunikationen skickar sin publika nyckel till mottagaren. Den andra enheten kombinerar sedan matematiskt sin egen privata nyckel med den publika nyckel som ges till den för att ställa in ett ömsesidigt acceptabelt krypteringsvärde.

Att endast äga den publika nyckeln är till liten nytta för obehöriga användare. Komplexiteten hos den resulterande krypteringsnyckeln är tillräckligt hög för att den kan beräknas inom rimlig tid. Att ens känna till din egen privata nyckel och någon annans publika nyckel är inte mycket hjälp för att bestämma den andra hemliga nyckeln - på grund av komplexiteten i logaritmiska beräkningar för stora tal.

Appliceringsskikt

Applikationsskiktet innehåller alla element och funktioner som är specifika för varje typ av nätverkstjänst. De nedre sex lagren kombinerar de uppgifter och tekniker som ger allmänt stöd för en nätverkstjänst, medan applikationslagret tillhandahåller de protokoll som behövs för att utföra specifika nätverkstjänster.

Servrar förser nätverksklienter med information om vilka typer av tjänster de tillhandahåller. De viktigaste mekanismerna för att identifiera de tjänster som erbjuds tillhandahålls av sådana element som tjänsteadresser. Dessutom använder servrar sådana metoder för att presentera sin tjänst som aktiv och passiv tjänstpresentation.

När du utför en aktiv tjänstreklam skickar varje server med jämna mellanrum meddelanden (inklusive tjänsteadresser) som meddelar att den är tillgänglig. Klienter kan också fråga nätverksenheter för en specifik typ av tjänst. Nätverksklienter samlar in representationer gjorda av servrar och bildar tabeller över för närvarande tillgängliga tjänster. De flesta nätverk som använder den aktiva representationsmetoden definierar också en specifik giltighetsperiod för servicerepresentationer. Till exempel om nätverksprotokoll anger att tjänsteinlämningar måste skickas var femte minut, kommer klienter att tidsgränsa de tjänstebidrag som inte har skickats in under de senaste fem minuterna. När tidsgränsen går ut tar klienten bort tjänsten från sina tabeller.

Servrar utför passiv tjänsteannonsering genom att registrera sin tjänst och adress i katalogen. När kunderna vill bestämma tillgängliga typer tjänsten frågar de helt enkelt katalogen efter platsen för den önskade tjänsten och dess adress.

Innan en nätverkstjänst kan användas måste den göras tillgänglig för datorns lokala operativsystem. Det finns flera metoder för att lösa detta problem, men varje sådan metod kan bestämmas av den position eller nivå på vilken den lokala operativ system känner igen nätverksoperativsystemet. Tjänsten som tillhandahålls kan delas in i tre kategorier:

  • avlyssning av operativsystemsamtal;
  • fjärrläge;
  • gemensam databehandling.

När du använder OC Call Interception är det lokala operativsystemet helt omedvetet om att det finns en nätverkstjänst. Till exempel, när en DOS-applikation försöker läsa en fil från en nätverksfilserver, tror den att filen finns på den lokala lagringsenheten. Egentligen en speciell bit programvara fångar upp en filläsningsbegäran innan den når det lokala operativsystemet (DOS) och vidarebefordrar begäran till nätverksfiltjänsten.

I den andra ytterligheten, i fjärrstyrningsläge, är det lokala operativsystemet medvetet om nätverket och ansvarar för att skicka förfrågningar till nätverkstjänsten. Servern vet dock ingenting om klienten. För serveroperativsystemet ser alla förfrågningar till en tjänst likadana ut, oavsett om de är interna eller sänds över nätverket.

Slutligen finns det operativsystem som är medvetna om nätverkets existens. Både tjänstekonsumenten och tjänsteleverantören känner igen varandras existens och samarbetar för att samordna användningen av tjänsten. Denna typ av tjänstanvändning krävs vanligtvis för peer-to-peer-samarbetande databehandling. Samverkande databehandling innebär att dela databehandlingskapacitet för att utföra en enda uppgift. Det innebär att operativsystemet måste vara medvetet om andras existens och förmåga och kunna samarbeta med dem för att utföra den önskade uppgiften.

ComputerPress 6"1999

För att harmonisera driften av nätverksenheter från olika tillverkare och säkerställa interaktionen mellan nätverk som använder olika signalutbredningsmiljöer, har en referensmodell för interaktion med öppna system (OSI) skapats. Referensmodellen bygger på en hierarkisk princip. Varje nivå tillhandahåller tjänster till den högre nivån och använder tjänsterna på den lägre nivån.

Databehandlingen börjar på applikationsnivå. Efter detta passerar data genom referensmodellens alla lager och skickas genom det fysiska lagret till kommunikationskanalen. Vid mottagning sker omvänd bearbetning av data.

OSI-referensmodellen introducerar två begrepp: protokoll Och gränssnitt.

Ett protokoll är en uppsättning regler på grundval av vilka lagren i olika öppna system interagerar.

Ett gränssnitt är en uppsättning medel och metoder för interaktion mellan element i ett öppet system.

Protokollet definierar reglerna för interaktion mellan moduler på samma nivå i olika noder, och gränssnittet - mellan moduler av angränsande nivåer i samma nod.

Det finns totalt sju lager av OSI-referensmodellen. Det är värt att notera att riktiga högar använder färre lager. Till exempel använder den populära TCP/IP bara fyra lager. Varför är det så? Vi ska förklara lite senare. Låt oss nu titta på var och en av de sju nivåerna separat.

OSI-modelllager:

  • Fysisk nivå. Bestämmer typen av dataöverföringsmedium, de fysiska och elektriska egenskaperna hos gränssnitten och typen av signal. Detta lager behandlar bitar av information. Exempel på fysiska lagerprotokoll: Ethernet, ISDN, Wi-Fi.
  • Datalänknivå. Ansvarig för åtkomst till överföringsmediet, felkorrigering och tillförlitlig dataöverföring. Vid receptionen Data som tas emot från det fysiska lagret packas i ramar, varefter deras integritet kontrolleras. Om det inte finns några fel överförs data till nätverkslagret. Om det finns fel kasseras ramen och en begäran om återsändning genereras. Datalänklagret är uppdelat i två underlager: MAC (Media Access Control) och LLC (Local Link Control). MAC reglerar åtkomsten till det delade fysiska mediet. LLC tillhandahåller nätverkslagertjänster. Omkopplare fungerar vid datalänklagret. Exempel på protokoll: Ethernet, PPP.
  • Nätverkslager. Dess huvudsakliga uppgifter är routing - bestämma den optimala dataöverföringsvägen, logisk adressering av noder. Dessutom kan denna nivå ha till uppgift att felsöka nätverksproblem (ICMP-protokoll). Nätverkslagret fungerar med paket. Exempel på protokoll: IP, ICMP, IGMP, BGP, OSPF).
  • Transportlager. Designad för att leverera data utan fel, förluster och duplicering i den sekvens som de överfördes. Utför end-to-end-kontroll av dataöverföring från avsändare till mottagare. Exempel på protokoll: TCP, UDP.
  • Sessionsnivå. Hanterar skapande/underhåll/avslutande av en kommunikationssession. Exempel på protokoll: L2TP, RTCP.
  • Verkställande nivå. Konverterar data till önskad form, kryptering/kodning, komprimering.
  • Appliceringsskikt. Ger interaktion mellan användaren och nätverket. Interagerar med applikationer på klientsidan. Exempel på protokoll: HTTP, FTP, Telnet, SSH, SNMP.

Efter att ha bekantat oss med referensmodellen, låt oss titta på TCP/IP-protokollstacken.

Det finns fyra lager definierade i TCP/IP-modellen. Som framgår av figuren ovan kan ett TCP/IP-lager motsvara flera lager av OSI-modellen.

TCP/IP-modellnivåer:

  • Nätverksgränssnittsnivå. Motsvarar de två lägre skikten i OSI-modellen: datalänk och fysisk. Baserat på detta är det tydligt att denna nivå bestämmer egenskaperna hos överföringsmediet (tvinnat par, optisk fiber, radio), typen av signal, kodningsmetod, åtkomst till överföringsmediet, felkorrigering, fysisk adressering (MAC-adresser) . I TCP/IP-modellen fungerar Ethrnet-protokollet och dess derivator (Fast Ethernet, Gigabit Ethernet) på denna nivå.
  • Sammankopplingsskikt. Motsvarar nätverkslagret i OSI-modellen. Tar över alla dess funktioner: routing, logisk adressering (IP-adresser). IP-protokollet fungerar på denna nivå.
  • Transportlager. Motsvarar transportskiktet i OSI-modellen. Ansvarig för att leverera paket från källa till destination. På denna nivå två protokoll används: TCP och UDP. TCP är mer tillförlitligt än UDP genom att skapa begäranden före anslutning för vidaresändning när fel uppstår. Men samtidigt är TCP långsammare än UDP.
  • Appliceringsskikt. Dess huvudsakliga uppgift är att interagera med applikationer och processer på värdar. Exempel på protokoll: HTTP, FTP, POP3, SNMP, NTP, DNS, DHCP.

Inkapsling är en metod för att paketera ett datapaket där oberoende pakethuvuden abstraheras från rubrikerna på lägre nivåer genom att inkludera dem i högre nivåer.

Låt oss titta på specifikt exempel. Låt oss säga att vi vill gå från en dator till en webbplats. För att göra detta måste vår dator förbereda en http-begäran för att få tillgång till resurserna för webbservern där webbplatssidan vi behöver lagras. På applikationsnivå läggs en HTTP-rubrik till webbläsardatan. Därefter, vid transportlagret, läggs en TCP-rubrik till vårt paket, som innehåller avsändarens och mottagarportnumren (port 80 för HTTP). På nätverkslagret genereras en IP-header som innehåller IP-adresserna för avsändaren och mottagaren. Omedelbart före överföringen läggs en Ethrnet-header till vid länklagret, som innehåller den fysiska (MAC-adressen) för avsändaren och mottagaren. Efter alla dessa procedurer sänds paketet i form av informationsbitar över nätverket. Vid receptionen sker det omvända förfarandet. Webbservern på varje nivå kontrollerar motsvarande rubrik. Om kontrollen lyckas slängs rubriken och paketet går till högsta nivån. Annars slängs hela paketet.




Topp