Hvor mange nivåer inneholder den grunnleggende modellen for åpne systemer? Open Systems Interconnection (OSI) modell

Dette materialet er dedikert til referansen syv-lags OSI-nettverksmodell. Her finner du svaret på spørsmålet hvorfor systemadministratorer trenger å forstå denne nettverksmodellen, alle 7 nivåene i modellen vil bli vurdert, og du vil også lære det grunnleggende om TCP/IP-modellen, som ble bygget på grunnlag av OSI-referansemodellen.

Da jeg begynte å bli involvert i forskjellige IT-teknologier og begynte å jobbe i dette feltet, visste jeg selvfølgelig ikke om noen modell, jeg tenkte ikke engang på det, men en mer erfaren spesialist rådet meg til å studere, eller i stedet forstå denne modellen, og legg til at " hvis du forstår alle prinsippene for samhandling, vil det være mye enklere å administrere, konfigurere nettverket og løse alle slags nettverk og andre problemer" Jeg lyttet selvfølgelig til ham og begynte å grave i bøker, internett og andre informasjonskilder, samtidig som jeg sjekket på det eksisterende nettverket om dette var sant i virkeligheten.

I den moderne verden har utviklingen av nettverksinfrastruktur nådd et så høyt nivå at uten å bygge selv et lite nettverk, en bedrift ( inkl. og liten) vil ikke bare kunne eksistere normalt, så systemadministratorer blir stadig mer etterspurt. Og for høykvalitets konstruksjon og konfigurasjon av ethvert nettverk, må systemadministratoren forstå prinsippene for OSI-referansemodellen, bare slik at du lærer å forstå samspillet mellom nettverksapplikasjoner, og faktisk prinsippene for nettverksdataoverføring, vil jeg prøve å presentere dette materialet på en tilgjengelig måte selv for nybegynnere.

OSI nettverksmodell (åpne systemsammenkobling grunnleggende referansemodell) er en abstrakt modell av hvordan datamaskiner, applikasjoner og andre enheter samhandler på et nettverk. Kort sagt, essensen av denne modellen er at ISO-organisasjonen ( Internasjonal organisasjon for standardisasjon) utviklet en standard for nettverksdrift slik at alle kunne stole på den, og det var kompatibilitet av alle nettverk og interaksjon mellom dem. En av de mest populæreene, som brukes over hele verden, er TCP/IP, som er bygget på grunnlag av en referansemodell.

Vel, la oss gå direkte til nivåene til denne modellen selv, og først bli kjent med det generelle bildet av denne modellen i sammenheng med nivåene.

La oss nå snakke mer detaljert om hvert nivå, det er vanlig å beskrive nivåene til referansemodellen fra topp til bunn, det er langs denne veien interaksjonen skjer, på en datamaskin fra topp til bunn, og på datamaskinen der data er mottatt fra bunn til topp, dvs. dataene går gjennom hvert nivå sekvensielt.

Beskrivelse av nivåene i nettverksmodellen

Påføringslag (7) (påføringslag) er start- og samtidig sluttpunktet for dataene du ønsker å overføre over nettverket. Dette laget er ansvarlig for samspillet mellom applikasjoner over nettverket, dvs. Applikasjoner kommuniserer på dette laget. Dette er det høyeste nivået, og du må huske dette når du løser problemer som oppstår.

HTTP, POP3, SMTP, FTP, TELNET og andre. Med andre ord sender applikasjon 1 en forespørsel til applikasjon 2 ved hjelp av disse protokollene, og for å finne ut at applikasjon 1 sendte forespørselen til applikasjon 2 må det være en sammenheng mellom dem, og det er protokollen som har ansvaret for dette forbindelse.

Presentasjonslag (6)– dette laget er ansvarlig for å kode dataene slik at de senere kan overføres over nettverket og konverterer dem tilbake slik at applikasjonen forstår disse dataene. Etter dette nivået blir dataene for andre nivåer de samme, dvs. det spiller ingen rolle hva slags data det er, enten det er et word-dokument eller en e-postmelding.

Følgende protokoller fungerer på dette nivået: RDP, LPP, NDR og andre.

Øktnivå (5)– er ansvarlig for å opprettholde økten mellom dataoverføringer, dvs. Varigheten av økten varierer avhengig av dataene som overføres, så den må vedlikeholdes eller avsluttes.

Følgende protokoller fungerer på dette nivået: ASP, L2TP, PPTP og andre.

Transportlag (4)– er ansvarlig for påliteligheten av dataoverføring. Den deler også dataene inn i segmenter og setter dem sammen igjen ettersom dataene kommer i forskjellige størrelser. Det er to velkjente protokoller på dette nivået: TCP og UDP. TCP-protokollen garanterer at dataene vil bli levert i sin helhet, men UDP-protokollen garanterer ikke dette, og det er derfor de brukes til forskjellige formål.

Nettverkslag (3)– den er designet for å bestemme veien data skal ta. Rutere fungerer på dette nivået. Han er også ansvarlig for: å oversette logiske adresser og navn til fysiske, bestemme en kort rute, bytte og ruting, overvåke nettverksproblemer. Det er på dette nivået det fungerer IP-protokoll og rutingprotokoller, f.eks. RIP, OSPF.

Linklag (2)– det gir interaksjon på det fysiske nivået; på dette nivået, MAC-adresser nettverksenheter overvåkes og rettes også feil her, dvs. sender en ny forespørsel om den skadede rammen.

Fysisk lag (1)– dette er den direkte konverteringen av alle rammer til elektriske impulser og omvendt. Med andre ord fysisk dataoverføring. De jobber på dette nivået nav.

Slik ser hele dataoverføringsprosessen ut fra denne modellens synspunkt. Det er en referanse og standardisert, og derfor er andre nettverksteknologier og -modeller, spesielt TCP/IP-modellen, basert på den.

TCP IP-modell

TCP/IP-modell er litt forskjellig fra OSI-modellen; for å være mer spesifikk, kombinerer denne modellen noen nivåer av OSI-modellen, og det er bare 4 av dem:

  • Anvendt;
  • Transportere;
  • Nettverk;
  • Kanal.

Bildet viser forskjellen mellom de to modellene, og viser også nok en gang på hvilke nivåer de velkjente protokollene opererer.

Vi kan snakke om OSI-nettverksmodellen og spesifikt om samspillet mellom datamaskiner på et nettverk i lang tid, og det vil ikke passe inn i en artikkel, og det vil være litt uklart, så her prøvde jeg å presentere grunnlaget for denne modellen og en beskrivelse av alle nivåer. Det viktigste er å forstå at alt dette virkelig er sant og filen du sendte over nettverket passerer ganske enkelt " enorm"sti før du når sluttbrukeren, men dette skjer så raskt at du ikke legger merke til det, hovedsakelig takket være utviklet nettverksteknologi.

Jeg håper alt dette vil hjelpe deg å forstå samspillet mellom nettverk.

Konseptet "åpent system" og problemer med standardisering

Den universelle oppgaven om fordelene med standardisering, gyldig for alle bransjer, får spesiell betydning i datanettverk. Essensen av nettverket er tilkoblingen av forskjellig utstyr, noe som betyr at problemet med kompatibilitet er et av de mest akutte. Uten vedtak fra alle produsenter av generelt aksepterte regler for konstruksjon av utstyr, ville fremgang i spørsmålet om å "bygge" nettverk være umulig. Derfor gjenspeiles hele utviklingen av dataindustrien til syvende og sist i standarder - enhver ny teknologi får bare "lovlig" status når innholdet er nedfelt i den aktuelle standarden.

I datanettverk er det ideologiske grunnlaget for standardisering en flernivåtilnærming til utvikling av nettverksinteraksjonsverktøy. Det var på grunnlag av denne tilnærmingen at en standard syv-nivå modell for interaksjon av åpne systemer ble utviklet, som ble et slags universelt språk for nettverksspesialister.

Tilnærming på flere nivåer. Protokoll. Grensesnitt. Protokollstabel

Å organisere interaksjoner mellom enheter på et nettverk er en kompleks oppgave. Som du vet, for å løse komplekse problemer, brukes en universell teknikk - dekomponering, det vil si å bryte et komplekst problem i flere enklere oppgavemoduler (fig. 1.20). Dekomponeringsprosedyren inkluderer en klar definisjon av funksjonene til hver modul som løser et eget problem, og grensesnittene mellom dem. Som et resultat oppnås en logisk forenkling av oppgaven, og i tillegg blir det mulig å modifisere individuelle moduler uten å endre resten av systemet.

Dekomponering bruker ofte en tilnærming på flere nivåer. Det er som følger. Alle de mange modulene er delt inn i nivåer. Nivåene danner et hierarki, det vil si at det er overliggende og underliggende nivåer (fig. 1.21). Settet med moduler som utgjør hvert nivå er dannet på en slik måte at de, for å utføre oppgavene sine, bare sender forespørsler til modulene på det umiddelbart tilstøtende underliggende nivået. På den annen side kan resultatene av arbeidet til alle moduler som tilhører et visst nivå bare overføres til moduler på det tilstøtende høyere nivået. Denne hierarkiske dekomponeringen av problemet krever en klar definisjon av funksjonen til hvert nivå og grensesnittene mellom nivåene. Et grensesnitt definerer et sett med funksjoner som det underliggende laget gir til det øvre laget. Som et resultat av hierarkisk dekomponering oppnås relativ uavhengighet av nivåer, og derfor muligheten for enkel erstatning.

I dette tilfellet kan moduler på lavere nivå for eksempel løse alle problemer knyttet til pålitelig overføring av elektriske signaler mellom to nabonoder. Moduler på et høyere nivå organiserer transporten av meldinger i hele nettverket ved å bruke midlene til det nevnte lavere nivået. Og på toppnivå er det moduler som gir brukerne tilgang til ulike tjenester - fil, utskrift osv. Dette er selvfølgelig bare ett av mange mulige alternativer for å dele opp den generelle oppgaven med å organisere nettverksinteraksjon i private underoppgaver.

En flernivåtilnærming til beskrivelse og implementering av systemfunksjoner brukes ikke bare på nettverksverktøy. Denne driftsmodellen brukes for eksempel i lokale filsystemer, når en innkommende forespørsel om tilgang til en fil behandles sekvensielt av flere programnivåer (fig. 1.22). Forespørselen analyseres først av det øvre nivået, som sekvensielt analyserer det sammensatte symbolske filnavnet og bestemmer den unike filidentifikatoren. Det neste nivået finner med et unikt navn alle hovedkarakteristikkene til filen: adresse, tilgangsattributter osv. Deretter, på et lavere nivå, kontrolleres tilgangsrettigheter til denne filen, og deretter, etter å ha beregnet koordinatene til filområdet som inneholder nødvendige data, fysisk utveksling utføres med ekstern enhet ved hjelp av diskdriveren.

Multi-level representation av nettverksinteraksjonsmidler har sine egne spesifikasjoner på grunn av det faktum at meldingsutvekslingsprosessen involverer to maskiner, det vil si i dette tilfellet er det nødvendig å organisere det koordinerte arbeidet til to "hierarkier". Ved overføring av meldinger må begge deltakerne i en nettsentral godta mange avtaler. For eksempel må de bli enige om nivåene og formen på elektriske signaler, hvordan de skal bestemme lengden på meldinger, bli enige om metoder for å kontrollere påliteligheten osv. Det må med andre ord gjøres avtaler for alle nivåer, med start fra det laveste - bitoverføringsnivå - til det høyeste, implementerer en tjeneste for nettverksbrukere.

I fig. Figur 1.23 viser en modell for interaksjon mellom to noder. På hver side er interaksjonsmidlene representert av fire nivåer. Interaksjonsprosedyren mellom disse to nodene kan beskrives som et sett med regler for samhandlingen mellom hvert par av tilsvarende nivåer for begge involverte parter.

Formaliserte regler som bestemmer rekkefølgen og formatet til meldinger som utveksles mellom nettverkskomponenter på samme nivå, men i forskjellige noder, kalles protokoll.

Moduler som implementerer protokoller for nabolag og er plassert i samme node, samhandler også med hverandre i samsvar med klart definerte regler og ved bruk av standardiserte meldingsformater. Disse reglene kalles vanligvis grensesnitt. Et grensesnitt definerer et sett med tjenester som et gitt lag gir til dets nabolaget.

I hovedsak uttrykker en protokoll og et grensesnitt det samme konseptet, men tradisjonelt i nettverk har de blitt tildelt forskjellige handlingsrom: protokoller definerer reglene for samspillet mellom moduler på samme nivå i forskjellige noder, og grensesnitt definerer reglene for interaksjon av moduler av nabonivåer i samme node.

Verktøyene til hvert nivå må fungere, for det første sin egen protokoll, og for det andre grensesnitt med nabonivåer.

Et hierarkisk organisert sett med protokoller som er tilstrekkelig til å organisere interaksjonen mellom noder i et nettverk kalles stabel med kommunikasjonsprotokoller.

Kommunikasjonsprotokoller kan implementeres i både programvare og maskinvare. Protokoller på lavere nivå implementeres ofte ved å bruke en kombinasjon av programvare og maskinvare, mens protokoller på høyere nivå vanligvis implementeres rent i programvare.

En programvaremodul som implementerer en bestemt protokoll kalles ofte også en "protokoll" for korthets skyld. Dessuten er forholdet mellom en protokoll - en formelt definert prosedyre og en protokoll - en programvaremodul som implementerer denne prosedyren, lik forholdet mellom en algoritme for å løse et bestemt problem og et program som løser dette problemet.

Det er tydelig at den samme algoritmen kan programmeres med ulike grader av effektivitet. På samme måte kan en protokoll ha flere programvareimplementeringer. Det er derfor, når man sammenligner protokoller, bør man ikke bare ta hensyn til logikken i driften, men også kvaliteten på programvareløsninger. Dessuten påvirkes effektiviteten av interaksjon mellom enheter på et nettverk av kvaliteten på hele settet med protokoller som utgjør stabelen, spesielt hvor rasjonelt funksjoner er fordelt mellom protokoller på forskjellige nivåer og hvor godt grensesnittene mellom dem er definert. .

OSI-modell

Bare fordi en protokoll er en avtale vedtatt av to samvirkende enheter, i dette tilfellet to datamaskiner som jobber på et nettverk, betyr ikke det at den nødvendigvis er standard. Men i praksis, når de implementerer nettverk, har de en tendens til å bruke standardprotokoller. Disse kan være proprietære, nasjonale eller internasjonale standarder.

På begynnelsen av 80-tallet utviklet en rekke internasjonale standardiseringsorganisasjoner - ISO, ITU-T og noen andre, en modell som spilte en betydelig rolle i utviklingen av nettverk. Denne modellen kalles modell for interaksjon med åpne systemer (Åpen System Sammenkobling, OSI) eller OSI-modell. OSI-modellen definerer forskjellige lag av systeminteraksjon, gir dem standardnavn og spesifiserer hvilke funksjoner hvert lag skal utføre. OSI-modellen ble utviklet basert på omfattende erfaring fra å lage datanettverk, hovedsakelig globale, på 70-tallet. En fullstendig beskrivelse av denne modellen tar opp mer enn 1000 sider med tekst.

I OSI-modellen (fig. 1.25) er kommunikasjonsmidler delt inn i syv nivåer:

    Anvendt

    Representant

    Økt

    Transportere

    Nettverk

    Kanal

    Fysisk.

Hvert lag omhandler ett spesifikt aspekt ved interaksjon med nettverksenheter.

OSI-modellen beskriver bare systemkommunikasjon implementert av operativsystemet, systemverktøyene og systemmaskinvaren. Modellen inkluderer ikke midler foron. Applikasjoner implementerer sine egne kommunikasjonsprotokoller ved å få tilgang til systemverktøy. Derfor er det nødvendig å skille mellom applikasjonsinteraksjonslaget og applikasjonslaget.

Du bør også huske på at applikasjonen kan ta over funksjonene til noen av de øvre lagene i OSI-modellen. For eksempel har noen DBMS-er innebygde verktøy for ekstern filtilgang. I dette tilfellet bruker ikke applikasjonen systemfiltjenesten når den får tilgang til eksterne ressurser: den omgår de øvre lagene i OSI-modellen og får direkte tilgang til systemverktøyene som er ansvarlige for å transportere meldinger over nettverket, som er plassert i de nedre lagene av OSI-modell.

Så la oss si at en applikasjon sender en forespørsel til et applikasjonslag, for eksempel en filtjeneste. Basert på denne forespørselen genererer programvaren på applikasjonsnivå en melding i et standardformat. En typisk melding består av en overskrift og et datafelt. Overskriften inneholder tjenesteinformasjon som må sendes gjennom nettverket til applikasjonslaget til destinasjonsmaskinen for å fortelle hvilken arbeid som må gjøres. I vårt tilfelle må overskriften åpenbart inneholde informasjon om plasseringen av filen og hvilken type operasjon som må utføres på den. Meldingsdatafeltet kan være tomt eller inneholde noen data, for eksempel data som må skrives til en ekstern fil. Men for å levere denne informasjonen til destinasjonen, er det fortsatt mange oppgaver som skal løses, og ansvaret for disse ligger på lavere nivåer.

Etter at meldingen er generert, videresender applikasjonslaget den nedover stabelen til det representative laget. Den representative lagprotokollen, basert på informasjonen mottatt fra applikasjonslagsoverskriften, utfører de nødvendige handlingene og legger til sin egen tjenesteinformasjon til meldingen - den representative lagoverskriften, som inneholder instruksjoner for den representative lagprotokollen til destinasjonsmaskinen. Den resulterende meldingen sendes ned til sesjonslaget, som igjen legger til overskriften, osv. (Noen protokollimplementeringer plasserer tjenesteinformasjon ikke bare i begynnelsen av meldingen i form av en overskrift, men også på slutten, i form av en såkalt "trailer" -.) Til slutt når meldingen det nedre, fysiske laget, som faktisk overfører det langs kommunikasjonslinjer til mottakermaskinen. På dette tidspunktet er meldingen "overgrodd" med overskrifter på alle nivåer (fig. 1.26).

Når en melding kommer over nettverket til målmaskinen, mottas den av dets fysiske lag og beveger seg sekvensielt opp fra lag til lag. Hvert nivå analyserer og behandler overskriften på sitt nivå, utfører funksjoner som tilsvarer dette nivået, og fjerner deretter denne overskriften og sender meldingen til det høyere nivået.

Sammen med begrepet beskjed (beskjed) Det er andre termer som brukes av nettverksspesialister for å utpeke dataenheter i utvekslingsprosedyrer. ISO-standarder bruker et felles navn for å betegne enhetene med data som protokoller på forskjellige nivåer håndterer: protokollblokk data ( Protokoll Data Enhet , PDU ). For å utpeke datablokker på visse nivåer - Spesielle navn brukes ofte: ramme, pakke, datagram, segment.

OSI-modellen skiller mellom to hovedtyper av protokoller: Protokollene med forbindelsesetablering (forbindelse- orientert) Før utveksling av data må avsender og mottaker først opprette en forbindelse og eventuelt velge noen protokollparametere som de skal bruke ved utveksling av data. Etter å ha fullført samtalen må de avslutte denne forbindelsen . Telefonen er et eksempel på samhandling , tilkoblingsbasert .

Den andre gruppen av protokoller er protokoller uten først å opprette en forbindelse (forbindelsesløs). Slike protokoller kalles også datagram protokoller. Avsenderen sender ganske enkelt meldingen når den er klar. Å slippe et brev i en postkasse er et eksempel på kommunikasjon uten først å opprette en forbindelse. Når datamaskiner samhandler, brukes begge typer protokoller.

OSI-modelllag

Fysisk lag

Det fysiske laget omhandler overføring av biter over fysiske kommunikasjonskanaler, som koaksialkabel, tvunnet parkabel, fiberoptisk kabel eller digital territoriell krets. Dette nivået er relatert til egenskapene til fysiske dataoverføringsmedier, som båndbredde, støyimmunitet, karakteristisk impedans og andre. På samme nivå bestemmes egenskapene til elektriske signaler som sender diskret informasjon, for eksempel brattheten til pulskantene, spennings- eller strømnivåene til det overførte signalet, type koding og signaloverføringshastighet. I tillegg er kontakttypene og formålet med hver kontakt standardisert her.

Fysiske lagfunksjoner er implementert i alle enheter som er koblet til nettverket. På datamaskinsiden utføres de fysiske lagfunksjonene av nettverksadapteren eller serieporten.

Et eksempel på en fysisk lagprotokoll er 1OBase-spesifikasjonen - Ethernet-teknologi, som definerer kabelen som brukes som kategori 3 uskjermet tvunnet par med en karakteristisk impedans på 100 Ohm, en RJ-45-kontakt, en maksimal fysisk segmentlengde på 100 meter, Manchester-kode for å representere data i kabelen, samt noen andre egenskaper ved miljøet og elektriske signaler.

Datalinklag

Det fysiske laget overfører ganske enkelt biter. Dette tar ikke hensyn til at i enkelte nettverk der kommunikasjonslinjer brukes (delt) vekselvis av flere par med samvirkende datamaskiner, kan det fysiske overføringsmediet være opptatt. Derfor er en av oppgavene til Data Link-laget å sjekke tilgjengeligheten til overføringsmediet. En annen oppgave for lenkelaget er å implementere feildeteksjons- og korrigeringsmekanismer. For å gjøre dette grupperer lenkelaget biter i sett kalt rammer (rammer). Koblingslaget sikrer at hver ramme overføres riktig ved å plassere en spesiell sekvens av biter i begynnelsen og slutten av hver ramme for å skille den, og beregner også en kontrollsum ved å behandle alle bytene i rammen på en bestemt måte og legge til en kontrollsum til rammen. Når en ramme kommer over nettverket, beregner mottakeren igjen sjekksummen av de mottatte dataene og sammenligner resultatet med sjekksummen fra rammen. Hvis de samsvarer, anses rammen som korrekt og akseptert. Hvis kontrollsummene ikke stemmer overens, registreres en feil. Koblingslaget kan ikke bare oppdage feil, men også rette dem ved å sende skadede rammer på nytt. Det skal bemerkes at feilrettingsfunksjonen ikke er obligatorisk for datalinklaget, så noen protokoller på dette nivået har det ikke, for eksempel Ethernet og frame relay.

Linklagsprotokollene som brukes i lokale nettverk inneholder en viss struktur av forbindelser mellom datamaskiner og metoder for å adressere dem. Selv om datalinklaget gir rammelevering mellom to noder på et lokalt nettverk, gjør det dette kun i et nettverk med en veldig spesifikk forbindelsestopologi, nettopp topologien den ble designet for. Typiske topologier som støttes av LAN-linklagsprotokoller inkluderer buss, ring og stjerne, så vel som strukturer avledet fra dem ved bruk av broer og svitsjer. Eksempler på koblingslagsprotokoller er Ethernet, Token Ring, FDDI, lOOVG-AnyLAN.

I lokale nettverk brukes koblingslagsprotokoller av datamaskiner, broer, svitsjer og rutere. På datamaskiner implementeres lenkelagsfunksjoner gjennom felles innsats fra nettverkskort og deres drivere.

I wide area-nettverk, som sjelden har en vanlig topologi, gir datalinklaget ofte meldinger kun mellom to nabodatamaskiner koblet sammen med en individuell lenke. Eksempler på punkt-til-punkt-protokoller (som slike protokoller ofte kalles) er de mye brukte PPP- og LAP-B-protokollene. I slike tilfeller brukes nettverkslagsfasiliteter for å levere meldinger mellom endenoder på tvers av hele nettverket. Dette er hvordan X.25-nettverk er organisert. Noen ganger i globale nettverk er det vanskelig å isolere lenkelagsfunksjonene i sin rene form, siden de er kombinert med nettverkslagsfunksjoner i samme protokoll. Eksempler på denne tilnærmingen inkluderer ATM- og rammereléteknologiprotokoller.

Generelt sett er lenkelaget et veldig kraftig og komplett sett med funksjoner for å sende meldinger mellom nettverksnoder. I noen tilfeller viser koblingslagsprotokoller seg å være selvforsynte transportkjøretøyer og kan tillate applikasjonslagsprotokoller eller applikasjoner å fungere direkte på toppen av dem, uten å involvere nettverks- og transportlagene. For eksempel er det en implementering av SNMP-netdirekte over Ethernet, selv om denne protokollen som standard kjører på toppen av IP-nettverksprotokollen og UDP-transportprotokollen. Naturligvis vil bruken av en slik implementering være begrenset - den er ikke egnet for sammensatte nettverk av forskjellige teknologier, for eksempel Ethernet og X.25, og til og med for et nettverk der Ethernet brukes i alle segmenter, men det er loop -formede forbindelser mellom segmentene. Men i et to-segment Ethernet-nettverk koblet med en bro, vil implementeringen av SNMP over datalinklaget være ganske gjennomførbar.

For å sikre høykvalitets transport av meldinger i nettverk av enhver topologi og teknologi, er funksjonene til lenkelaget imidlertid ikke nok, derfor i OSI-modellen er løsningen på dette problemet tildelt de neste to lagene - nettverk og transportere.

Nettverkslag

Nettverkslaget tjener til å danne et enhetlig transportsystem , forene flere nettverk, og disse nettverkene kan bruke helt andre prinsipper for å sende meldinger mellom endenoder og ha en vilkårlig koblingsstruktur. Funksjonene til nettverkslaget er ganske forskjellige. La oss begynne å vurdere dem ved å bruke eksemplet med å kombinere lokale nettverk.

Lokale nettverkslinklagsprotokoller sikrer datalevering mellom alle noder bare i et nettverk med passende standardtopologi, for eksempel en hierarkisk stjernetopologi. Dette er en veldig streng begrensning som ikke tillater å bygge nettverk med en utviklet struktur, for eksempel nettverk som kombinerer flere bedriftsnettverk til ett enkelt nettverk, eller svært pålitelige nettverk der det er redundante forbindelser mellom noder. Det ville være mulig å gjøre koblingslagsprotokoller mer komplekse for å støtte løkkeoverflødige forbindelser, men prinsippet om ansvarsskillelse mellom lag fører til en annen løsning. For på den ene siden å opprettholde enkelheten til dataoverføringsprosedyrer for standard topologier, og på den annen side for å tillate bruk av vilkårlige topologier, introduseres et ekstra nettverkslag.

På nettverksnivå selve begrepet nett utstyrt med spesifikk betydning. I dette tilfellet forstås et nettverk som en samling av datamaskiner koblet til hverandre i samsvar med en av standard typiske topologier og som bruker en av linklagsprotokollene definert for denne topologien for å overføre data.

Innenfor nettverket er datalevering sikret av det riktige koblingslaget, men datalevering mellom nettverk håndteres av nettverkslaget, som støtter muligheten til å velge overføringsruten for meldinger riktig selv når strukturen til forbindelsene mellom komponentnettverkene har en karakter forskjellig fra det som er tatt i bruk i koblingslagsprotokoller.

Nettverk er koblet til hverandre med spesielle enheter kalt rutere. Ruter - Dette er en enhet som samler inn informasjon om topologien til internettforbindelser og, basert på den, videresender nettverkslagspakker til destinasjonsnettverket. For å overføre en melding fra en avsender på ett nettverk til en mottaker på et annet nettverk, må du angi et visst antall transittoverføringer mellom nettverk, eller humle (fra hop - hoppe), hver gang du velger riktig rute. Dermed er en rute en sekvens av rutere som en pakke passerer gjennom.

I fig. Figur 1.27 viser fire nettverk koblet sammen med tre rutere. Det er to ruter mellom nodene A og B i dette nettverket: den første gjennom rutere 1 og 3, og den andre gjennom rutere 1, 2 og 3.

Problemet med å velge den beste veien kalles ruting, og løsningen er en av hovedoppgavene til nettverksnivået. Dette problemet kompliseres av det faktum at den korteste veien ikke alltid er den beste. Ofte er kriteriet for å velge en rute overføringstiden for data langs denne ruten; det avhenger av kapasiteten til kommunikasjonskanalene og intensiteten i timeplanen, som kan endre seg over tid. Noen rutingalgoritmer prøver å tilpasse seg endringer i belastning, mens andre tar beslutninger basert på langsiktige gjennomsnitt. Ruten kan velges basert på andre kriterier, for eksempel overføringspålitelighet.

Generelt er funksjonene til nettverkslaget bredere enn funksjonene til meldingsoverføring over forbindelser med en ikke-standard struktur, som vi nå har undersøkt ved å bruke eksemplet med å kombinere flere lokale nettverk. Nettverkslaget løser også problemene med å harmonisere ulike teknologier, forenkle adressering i store nettverk, og skape pålitelige og fleksible barrierer for uønsket trafikk mellom nettverk.

Nettverkslagsmeldinger kalles vanligvis pakker (pakker). Ved organisering av pakkelevering på nettverksnivå brukes konseptet "nettverksnummer". I dette tilfellet består mottakerens adresse av en hoveddel - nettverksnummeret og en mindre del - nodenummeret i dette nettverket. Alle noder på samme nettverk må ha samme ledende del av adressen, så begrepet "nettverk" på nettverksnivå kan gis en annen, mer formell definisjon: et nettverk er en samling av noder hvis nettverksadresse inneholder samme nettverksnummer .

På nettverkslaget er to typer protokoller definert. Første type - nettverksprotokoller (rutede protokoller) - implementere promotering av pakker gjennom nettverket. Dette er protokollene som vanligvis menes når folk snakker om nettverkslagsprotokoller. Imidlertid er en annen type protokoll ofte inkludert i nettverkslaget, kalt rutingineller ganske enkelt rutingprotokoller (ruting protokoller). Ved å bruke disse protokollene samler rutere informasjon om topologien til internettforbindelser. Nettverkslagsprotokoller implementeres av programvaremoduler i operativsystemet, samt programvare og maskinvare til rutere.

En annen type protokoll opererer på nettverkslaget, som er ansvarlig for å kartlegge vertsadressen som brukes på nettverkslaget til den lokale nettverksadressen. Slike protokoller kalles ofte adresseoppløsningsprotokoller - Adresseoppløsningsprotokoll, ARP. Noen ganger klassifiseres de ikke som et nettverkslag, men som et kanallag, selv om subtilitetene i klassifiseringen ikke endrer essensen.

Eksempler på nettverkslagsprotokoller er TCP/IP stack IP Internetwork Protocol og Novell IPX stack Internetwork Protocol.

Transportlag

På vei fra avsender til mottaker kan pakker bli ødelagt eller tapt. Mens noen applikasjoner har sin egen feilhåndtering, er det andre som foretrekker å håndtere en pålitelig tilkobling med en gang. . Transportlaget gir applikasjoner eller øvre lag av stabelen - applikasjon og økt - overføring av data med den grad av pålitelighet de krever. OSI-modellen definerer fem klasser av tjenester levert av transportlaget. Disse typer tjenester kjennetegnes ved kvaliteten på tjenestene som tilbys: haster, evnen til å gjenopprette avbrutt kommunikasjon , tilstedeværelsen av midler for å multiplekse flere forbindelser mellom forskjellige applikasjonsprotokoller gjennom en felles transportprotokoll, og viktigst av alt, evnen til å oppdage og korrigere overføringsfeil, slik som forvrengning, tap og duplisering av pakker.

Valget av transportlagstjenesteklasse bestemmes på den ene siden av i hvilken grad problemet med å sikre pålitelighet løses av applikasjoner og protokoller på høyere nivåer enn transporten, og på den andre siden avhenger dette valget av hvor pålitelig datatransportsystemet er i nettverk levert av lagene som ligger under transporten - nettverk, kanal og fysisk. Så, for eksempel, hvis kvaliteten på kommunikasjonskanalene er veldig høy og sannsynligheten for feil som ikke oppdages av protokoller på lavere nivå er liten, er det rimelig å bruke en av de lette transportlagstjenestene som ikke er belastet med mange kontroller, håndtrykk og andre teknikker for å øke påliteligheten. Hvis kjøretøyene på de lavere nivåene i utgangspunktet er svært upålitelige, er det tilrådelig å henvende seg til den mest utviklede transportlagtjenesten, som fungerer med maksimale midler for å oppdage og eliminere feil - ved å bruke foreløpig etablering av en logisk forbindelse, kontroll av meldingslevering av sjekksummer og sykliske nummereringspakker, innstilling av leveringstidsavbrudd osv.

Som regel implementeres alle protokoller, fra transportlaget og over, av programvaren til sluttnodene til nettverket - komponentene i deres nettverksoperativsystemer. Eksempler på transportprotokoller inkluderer TCP- og UDP-protokollene til TCP/IP-stakken og SPX-protokollen til Novell-stakken.

Protokollene til de nedre fire lagene kalles generelt nettverkstransport eller transportdelsystem, siden de fullstendig løser problemet med å transportere meldinger med et gitt kvalitetsnivå i sammensatte nettverk med vilkårlige topologier og forskjellige teknologier. De resterende tre øvre nivåene løser problemet med å tilby applikasjonstjenester basert på det eksisterende transportdelsystemet.

Sesjonslag

Sesjonslaget gir dialogkontroll: det registrerer hvilken part som er aktiv for øyeblikket og gir synkroniseringsverktøy. Sistnevnte lar deg sette inn sjekkpunkter i lange overføringer, slik at du i tilfelle feil kan gå tilbake til siste sjekkpunkt, i stedet for å starte på nytt. I praksis er det få applikasjoner som bruker sesjonslaget, og det implementeres sjelden som separate protokoller, selv om funksjonene til dette laget ofte kombineres med funksjonene til applikasjonslaget og implementeres i en enkelt protokoll.

Representativt nivå

Presentasjonslaget tar for seg formen for presentasjon av informasjon som overføres over nettverket, uten å endre innholdet. På grunn av presentasjonslaget er informasjon som overføres av applikasjonslaget til ett system alltid forståelig for applikasjonslaget til et annet system. Ved hjelp av dette laget kan applikasjonslagsprotokoller overvinne syntaktiske forskjeller i datarepresentasjon eller forskjeller i tegnkoder, slik som ASCII- og EBCDIC-koder. På dette nivået kan datakryptering og dekryptering utføres, takket være at hemmeligholdelse av datautveksling er sikret for alle applikasjonstjenester samtidig. Et eksempel på en slik protokoll er Secure Socket Layer (SSL)-protokollen, som gir sikker meldingsutveksling for applikasjonslagsprotokoller i TCP/IP-stakken.

Påføringslag

Applikasjonslaget er egentlig bare et sett med forskjellige protokoller som nettverksbrukere får tilgang til delte ressurser som filer, skrivere eller hypertekstwebsider gjennom, og også organiserer samarbeidet deres, for eksempel ved å bruke den elektroniske protokollen. Dataenheten som applikasjonslaget opererer på kalles vanligvis beskjed (beskjed).

Det er et veldig bredt utvalg av applikasjonslagstjenester. La oss ta som eksempel i det minste noen av de vanligste implementeringene av filtjenester: NCP i Novell NetWare-operativsystemet, SMB i Microsoft Windows NT, NFS, FTP og TFTP, som er en del av TCP/IP-stakken.

Nettverksavhengige og nettverksuavhengige nivåer

Funksjoner på alle lag av OSI-modellen kan klassifiseres i en av to grupper:

enten til funksjoner som er avhengige av en spesifikk teknisk implementering av nettverket, eller til funksjoner som er orientert for å jobbe med applikasjoner.

De tre nedre lagene - fysisk, datalink og nettverk - er nettverksavhengige, det vil si at protokollene til disse nivåene er nært knyttet til den tekniske implementeringen av nettverket og kommunikasjonsutstyret som brukes. For eksempel betyr overgangen til FDDI-utstyr en fullstendig endring i protokollene til de fysiske og datalinklagene i alle nettverksnoder.

De tre øverste lagene - applikasjon, representativ og sesjon - er applikasjonsorienterte og har liten avhengighet av de tekniske egenskapene til nettverksbygging. Protokollene på disse lagene påvirkes ikke av endringer i nettverkstopologien, utskifting av utstyr eller overgang til annen nettverksteknologi. Dermed vil overgangen fra Ethernet til høyhastighets lOOVG-AnyLAN-teknologi ikke kreve noen endringer i programvare som implementerer funksjonene til applikasjons-, representant- og sesjonsnivåene.

Transportlaget er et mellomlag, det skjuler alle detaljene om funksjonen til de nedre lagene fra de øvre. Dette lar deg utvikle applikasjoner som ikke er avhengig av tekniske midler for direkte transport av meldinger.

I fig. 1.28 viser nivåene til OSI-modellen , som ulike nettverkselementer opererer på. En datamaskin med et nettverks-OS installert på den samhandler med en annen datamaskin ved hjelp av protokoller på alle syv nivåer. Datamaskiner utfører denne interaksjonen indirekte gjennom ulike kommunikasjonsenheter: huber, modemer, broer, svitsjer, rutere, multipleksere. Avhengig av typen, kan en kommunikasjonsenhet operere enten bare på det fysiske laget (repeater), eller ved fysisk og link (bro), eller ved fysisk, link og nettverk, noen ganger også fange opp transportlaget (ruter).

I fig. Figur 1.29 viser samsvaret mellom funksjonene til ulike kommunikasjonsenheter og nivåene til OSI-modellen .

Selv om OSI-modellen er veldig viktig, er den bare en av mange kommunikasjonsmodeller. Disse modellene og deres tilknyttede protokollstabler kan variere i antall lag, deres funksjoner, meldingsformater, tjenester som støttes i de øvre lagene og andre parametere.

OSI referansemodell

For klarhetens skyld er nettverksprosessen i OSI-referansemodellen delt inn i syv lag. Denne teoretiske konstruksjonen gjør ganske komplekse konsepter lettere å lære og forstå. På toppen av OSI-modellen er applikasjonen som trenger tilgang til nettverksressurser, nederst er selve nettverksmiljøet. Etter hvert som data beveger seg fra lag til lag ned, forbereder protokollene som opererer på disse lagene dem gradvis for overføring over nettverket. Når den når målsystemet, beveger dataene seg opp gjennom lagene, med de samme protokollene som utfører de samme handlingene, bare i omvendt rekkefølge. I 1983 Internasjonal organisasjon for standardisasjon(International Organization for Standardization, ISO) og Standardiseringssektorentelekommunikasjon fra International Telecommunications Union(Telecommunication Standardization Sector of International Telecommunication Union, ITU-T) publiserte dokumentet "The Basic Reference Model for Open Systems Interconnection", som beskrev en modell for fordeling av nettverksfunksjoner mellom 7 forskjellige nivåer (fig. 1.7). Denne syvlagsstrukturen skulle danne grunnlaget for en ny protokollstabel, men den ble aldri implementert i kommersiell form. I stedet brukes OSI-modellen med eksisterende protokollstabler som et opplærings- og referanseverktøy. De fleste protokollene som er populære i dag, er før utviklingen av OSI-modellen, så de er ikke akkurat konsistente med dens syvlagsstruktur. Ofte kombinerer en protokoll funksjonene til to eller til og med flere nivåer av modellen, og grensene til protokollene samsvarer ofte ikke med grensene til OSI-lagene. OSI-modellen forblir imidlertid et utmerket visuelt hjelpemiddel for å undersøke nettverksprosesser, og fagfolk forbinder ofte funksjoner og protokoller med spesifikke lag.

Datainnkapsling

I hovedsak manifesteres samspillet mellom protokoller som opererer på forskjellige nivåer av OSI-modellen i det faktum at hver protokoll legger til tittel(overskrift) eller (i ett tilfelle) tilhenger(bunntekst) til informasjonen den mottok fra nivået over. For eksempel genererer en applikasjon en forespørsel til en nettverksressurs. Denne forespørselen flytter nedover protokollstabelen. Når den når transportlaget, legger protokoller på det laget til sin egen overskrift til forespørselen, bestående av felt med informasjon som er spesifikk for funksjonene til den protokollen. Selve den opprinnelige forespørselen blir et datafelt (nyttelast) for transportlagsprotokollen. Etter å ha lagt til overskriften, sender transportlagsprotokollen forespørselen til nettverkslaget. Nettverkslagsprotokollen legger til sin egen overskrift tilen. Således, for en nettverkslagsprotokoll, blir nyttelasten den opprinnelige forespørselen og transportlagets protokolloverskrift. Hele denne konstruksjonen blir nyttelasten for link layer-protokollen, som legger til en header og trailer til den. Resultatet av denne aktiviteten er plastpose(pakke), klar for overføring over nettverket. Når pakken når destinasjonen, gjentas prosessen i revers. Protokollen til hvert påfølgende lag i stabelen (nå fra bunn til topp) behandler og fjerner overskriften til den ekvivalente protokollen til sendersystemet. Når prosessen er fullført, kommer den opprinnelige forespørselen til applikasjonen den var ment for, i samme form som den ble generert. Prosessen med å legge til overskrifter til en forespørsel (figur 1.8) generert av en applikasjon kalles datainnkapsling(datainnkapsling). I hovedsak ligner denne prosedyren prosessen med å forberede et brev for sending med post. Forespørselen er selve brevet, og å legge til overskrifter er det samme som å legge brevet i en konvolutt, skrive adressen, stemple det og faktisk sende det.

Fysisk lag

På det laveste nivået av OSI-modellen - fysisk(fysisk) - egenskapene til nettverksutstyrselementer bestemmes - nettverksmiljøet, installasjonsmetoden, typen signaler som brukes til å overføre binære data over nettverket. I tillegg bestemmer det fysiske laget hvilken type nettverksadapter som må installeres på hver datamaskin og hva slags hub som skal brukes (om nødvendig). På det fysiske nivået har vi å gjøre med kobber eller fiberoptisk kabel eller en slags trådløs tilkobling. I et LAN er de fysiske lagspesifikasjonene direkte relatert til datalinkprotokollen som brukes på nettverket. Når du velger en koblingslagsprotokoll, må du bruke en av de fysiske lagspesifikasjonene som støttes av den protokollen. For eksempel støtter Ethernet link layer-protokollen flere forskjellige fysiske lagalternativer - en av to typer koaksialkabel, en hvilken som helst tvunnet parkabel eller fiberoptisk kabel. Parametrene til hvert av disse alternativene er dannet av en rekke opplysninger om kravene til det fysiske laget, for eksempel type kabel og koblinger, tillatt lengde på kabler, antall hubs osv. Overholdelse av disse kravene er nødvendig for normal drift av protokollene. For eksempel, i en kabel som er for lang, kan det hende at Ethernet-systemet ikke merker pakkekollisjoner, og hvis systemet ikke er i stand til å oppdage feil, kan det ikke rette dem, noe som resulterer i tap av data. Ikke alle aspekter av det fysiske laget er definert av koblingslagsprotokollstandarden. Noen av dem er definert separat. En av de mest brukte fysiske lagspesifikasjonene er beskrevet i Commercial Building Telecommunications Cabling Standard, kjent som EIA/TIA 568A. Den er utgitt i fellesskap American National Institute of Standart(American National Standards Institute, ANSI), Foreninger fraelektronikkindustri(Elektronikkindustriforeningen, EIA) og Kommunikasjonsbransjens forening(Telekommunikasjonsindustriens forening, TIA). Dette dokumentet inneholder en detaljert beskrivelse av kabler for datanettverk i industrielle miljøer, inkludert minimumsavstander fra kilder til elektromagnetisk interferens og andre kablingsretningslinjer. I dag er kabellegging i store nettverk oftest overlatt til spesialiserte selskaper. Entreprenøren som ansettes bør være grundig kjent med EIA/TIA 568A og andre lignende dokumenter, samt bybyggeforskrifter. Et annet kommunikasjonselement definert på det fysiske laget er typen signal for overføring av data over nettverksmediet. For kabler med kobberbase er dette signalet en elektrisk ladning, for en fiberoptisk kabel er det en lyspuls. Andre typer nettverksmiljøer kan bruke radiobølger, infrarøde pulser og andre signaler. I tillegg til signalenes natur, etablerer det fysiske laget deres overføringsmønster, det vil si kombinasjonen av elektriske ladninger eller lyspulser som brukes til å kode den binære informasjonen som genereres av høyere lag. Ethernet-systemer bruker et signalskjema kjent som Manchester-koding(Manchester-koding), og i Token Ring-systemer brukes det differensialManchester(Differensial Manchester) ordning.

Datalinklag

Protokoll kanal(data-link) nivå sikrer utveksling av informasjon mellom maskinvaren til en datamaskin koblet til nettverket og nettverksprogramvare. Den forbereder data sendt til den av nettverkslagsprotokollen for sending til nettverket, og overfører data mottatt av systemet fra nettverket til nettverkslaget. Når du designer og bygger et LAN, er linklagsprotokollen som brukes den viktigste faktoren for valg av utstyr og hvordan det installeres. For å implementere link layer-protokollen, kreves følgende maskinvare og programvare: nettverksgrensesnittadaptere (hvis adapteren er en separat enhet koblet til bussen, kalles det et nettverkskort eller ganske enkelt et nettverkskort); nettverkskortdrivere; nettverkskabler (eller andre nettverksmedier) og tilhørende tilkoblingsutstyr; nettverkshuber (i noen tilfeller). Både nettverkskort og huber er designet for spesifikke koblingslagsprotokoller. Noen nettverkskabler er også skreddersydd for spesifikke protokoller, men det finnes også kabler som egner seg for ulike protokoller. Selvfølgelig, i dag (som alltid) er den mest populære koblingslagsprotokollen Ethernet. Token Ring ligger langt bak, etterfulgt av andre protokoller som FDDI (Fiber Distributed Data Interface). Det er typisk tre hovedelementer inkludert i enon: rammeformatet (dvs. overskriften og traileren lagt til nettverkslagdataene før overføring til nettverket); mekanisme for å kontrollere tilgang til nettverksmiljøet; en eller flere fysiske lagspesifikasjoner brukt med en gitt protokoll.

Rammeformat

Link layer-protokollen legger til en overskrift og trailer til dataene som mottas fra nettverkslagsprotokollen, og gjør den til ramme(ramme) (Fig. 1.9). Ved å bruke postanalogien igjen, er overskriften og traileren konvolutten for å sende brevet. De inneholder adressene til sende- og mottakssystemene til pakken. For LAN-protokoller som Ethernet og Token Ring er disse adressene 6-byte heksadesimale strenger som er tilordnet nettverksadaptere på fabrikken. De, i motsetning til adressene som brukes på andre nivåer av OSI-modellen, kalles appa militære adresser(maskinvareadresse) eller MAC-adresser (se nedenfor).

Merk Protokoller på forskjellige lag av OSI-modellen har forskjellige navn på strukturene de lager ved å legge til en overskrift til data som kommer fra en høyere protokoll. For eksempel, det en koblingslagsprotokoll kaller en ramme vil være et datagram til nettverkslaget. Et mer generelt navn for en strukturell enhet av data på ethvert nivå er plastpose.

Det er viktig å forstå at koblingslagsprotokoller kun gir kommunikasjon mellom datamaskiner på samme LAN. Maskinvareadressen i overskriften tilhører alltid en datamaskin på samme LAN, selv om målsystemet er på et annet nettverk. Andre viktige funksjoner til lenkelagsrammen er identifikasjon av nettverkslagsprotokollen som genererte dataene i pakken og informasjon for feildeteksjon. Nettverkslaget kan bruke forskjellige protokoller, så koblingslagsprotokollrammen inkluderer vanligvis kode som kan brukes til å identifisere hvilken nettverkslagsprotokoll som genererte dataene i den pakken. Veiledet av denne koden, videresender koblingslagsprotokollen til den mottakende datamaskinen dataene til den tilsvarende protokollen til nettverkslaget. For å oppdage feil, beregner sendesystemet syklisk cue redundant kode(syklisk redundanssjekk, CRC) av nyttelasten og skriver den til rammetilhengeren. Ved mottak av pakken, utfører måldatamaskinen de samme beregningene og sammenligner resultatet med innholdet i traileren. Hvis resultatene samsvarer, ble informasjonen overført uten feil. Ellers antar mottakeren at pakken er skadet og godtar den ikke.

Medietilgangskontroll

Datamaskiner på et LAN deler vanligvis et halv-dupleks nettverksmedium. I dette tilfellet er det ganske mulig at to datamaskiner vil begynne å overføre data samtidig. I slike tilfeller oppstår en slags pakkekollisjon, kollisjon(kollisjon), der data i begge pakkene går tapt. En av hovedfunksjonene til datalink layer-protokollen er media access control (MAC), dvs. å kontrollere overføringen av data fra hver datamaskin og minimere pakkekollisjoner. Medietilgangskontrollmekanismen er en av de viktigste egenskapene til en linklagsprotokoll. Ethernet bruker en mekanisme med bærerfølelse og kollisjonsdeteksjon (Carrier Sense Multiple Access with Collision Detection, CSMA/CD) for å kontrollere tilgangen til mediet. Noen andre protokoller, for eksempel Token Ring, bruker token-overføring.

Spesifikasjoner for fysiske lag

Linklagsprotokoller som brukes i LAN støtter ofte mer enn ett nettverksmedium, og ett eller flere fysiske lagspesifikasjoner er inkludert i protokollstandarden. Datalinken og fysiske lagene er nært beslektet fordi egenskapene til nettverksmediet i betydelig grad påvirker hvordan protokollen styrer tilgangen til mediet. Derfor kan vi si at i lokale nettverk utfører linklagsprotokoller også funksjonene til det fysiske laget. WAN-er bruker koblingslagsprotokoller som ikke inkluderer fysisk laginformasjon, for eksempel SLIP (Serial Line Internet Protocol) og PPP (Point-to-Point Protocol).

Nettverkslag

Ved første øyekast kan det virke som Nettverk(nettverk) laget dupliserer noen funksjoner i datalinklaget. Men dette er ikke sant: nettverkslagsprotokoller er "ansvarlige" for ende til ende(ende-til-ende) kommunikasjon, mens koblingslagsprotokoller kun fungerer innenfor et LAN. Med andre ord sikrer nettverkslagsprotokoller fullstendig overføring av en pakke fra kilden til målsystemet. Avhengig av typen nettverk, kan avsender og mottaker være på samme LAN, på forskjellige LAN i samme bygning, eller på LAN atskilt med tusenvis av kilometer. For eksempel, når du kommuniserer med en server på Internett, passerer pakker generert av datamaskinen din gjennom dusinvis av nettverk på vei til den. Linklagsprotokollen vil endres flere ganger for å imøtekomme disse nettverkene, men nettverkslagsprotokollen vil forbli den samme hele veien. Hjørnesteinen i protokollpakken TCP/IP (Transmission Control Protocol/Internet Protocol) og den mest brukte nettverkslagsprotokollen er Internet Protocol (IP). Novell NetWare har sin egen IPX (Internetwork Packet Exchange) nettverksprotokoll, og små Microsoft Windows-nettverk bruker vanligvis NetBEUI (NetBIOS Enhanced User Interface)-protokollen. De fleste funksjonene som er tildelt nettverkslaget bestemmes av egenskapene til IP-protokollen. Som en koblingslagsprotokoll legger en nettverkslagsprotokoll til en overskrift til dataene den mottar fra et høyere lag (figur 1.10). Et dataelement opprettet av en nettverkslagsprotokoll består av transportlagdata og en nettverkslagsoverskrift og kalles datagram(datagram).


Adressering

Nettverkslagsprotokolloverskriften, somn, inneholder felt med adressene til kilde- og målsystemene. Men i dette tilfellet tilhører destinasjonssystemets adresse den endelige destinasjonen til pakken og kan avvike fra destinasjonsadressen i koblingslagets protokolloverskrift. For eksempel, når du skriver inn adressen til et nettsted i nettleserens adresselinje, spesifiserer pakken som genereres av datamaskinen adressen til målnettverksnivåsystemet som adressen til webserveren, mens adressen til lenkelaget er adressen. av ruteren på ditt LAN som gir Internett-tilgang. IP bruker sitt eget adresseringssystem, som er helt uavhengig av lenkelagsadresser. Hver datamaskin i et IP-nettverk tildeles manuelt eller automatisk en 32-biters IP-adresse som identifiserer både selve datamaskinen og nettverket den er plassert på. I IPX brukes en maskinvareadresse for å identifisere selve datamaskinen, i tillegg brukes en spesiell adresse for å identifisere nettverket datamaskinen befinner seg på. NetBEUI skiller datamaskiner med NetBIOS-navnene som er tildelt hvert system under installasjonen.

Fragmentering

Nettverkslagsdatagrammer må krysse flere nettverk på vei til destinasjonen, og møte de spesifikke egenskapene og begrensningene til forskjellige koblingslagsprotokoller. En slik begrensning er den maksimale pakkestørrelsen tillatt av protokollen. For eksempel kan en Token Ring-ramme være opptil 4500 byte stor, mens Ethernet-rammer kan være opptil 1500 byte stor. Når et stort datagram generert i et Token Ring-nettverk overføres til et Ethernet-nettverk, må nettverkslagsprotokollen bryte det opp i flere fragmenter på ikke mer enn 1500 byte store. Denne prosessen kalles fragmentering(fragmentering). Under fragmenteringsprosessen bryter nettverkslagsprotokollen datagrammet i fragmenter, hvis størrelse tilsvarer egenskapene til datalinklagprotokollen som brukes. Hvert fragment blir en uavhengig pakke og fortsetter sin vei til målnettverkslagsystemet. Kildedatagrammet dannes først etter at alle fragmenter har nådd målet. Noen ganger, på vei til målsystemet, må fragmentene som datagrammet er brutt inn i, fragmenteres på nytt.

Ruting

Ruting(ruting) er prosessen med å velge den mest effektive ruten på Internett for overføring av datagrammer fra sendersystemet til mottakssystemet. I komplekse internettverk, for eksempel Internett eller store bedriftsnettverk, er det ofte flere veier for å komme fra en datamaskin til en annen. Nettverksdesignere oppretter bevisst redundante koblinger slik at trafikk kan finne veien til målet selv om en av ruterne svikter. Rutere brukes til å koble til individuelle LAN som er en del av Internett. Hensikten med en ruter er å akseptere innkommende trafikk fra ett nettverk og videresende det til et spesifikt system på et annet. Det finnes to typer systemer på internettnettverk: terminal(endesystemer) og mellomliggende(mellomsystemer). Sluttsystemer er avsendere og mottakere av pakker. En ruter er et mellomsystem. Sluttsystemer bruker alle de syv lagene i OSI-modellen, mens pakker som kommer til mellomsystemer ikke hever seg over nettverkslaget. Der behandler ruteren pakken og sender den ned i stabelen for overføring til neste målsystem (Figur 1.11).


For å rute pakken riktig til målet, lagrer rutere tabeller med nettverksinformasjon i minnet. Denne informasjonen kan legges inn manuelt av administratoren eller samles inn automatisk fra andre rutere ved hjelp av spesialiserte protokoller. En typisk rutetabelloppføring inkluderer adressen til et annet nettverk og adressen til ruteren som pakker må reise til det nettverket gjennom. I tillegg inneholder rutetabellelementet ruteberegning - betinget vurdering av effektiviteten. Hvis det er flere ruter til et system, velger ruteren den mest effektive og sender datagrammet til datalinklaget for overføring til ruteren spesifisert i tabelloppføringen med den beste metrikken. I store nettverk kan ruting være en uvanlig kompleks prosess, men som oftest gjøres det automatisk og ubemerket av brukeren.

Transport Layer Protocol Identification

Akkurat som koblingslagsoverskriften spesifiserer nettverkslagsprotokollen som genererte og sendte dataene, inneholder nettverkslagsoverskriften informasjon om transportlagprotokollen som dataene ble mottatt fra. Basert på denne informasjonen videresender mottakssystemet innkommende datagrammer til passende transportlagsprotokoll.

Transportlag

Funksjoner utført av protokoller transportere(transport) lag, utfyller funksjonene til nettverkslagsprotokoller. Ofte danner protokollene til disse nivåene som brukes for dataoverføring et sammenkoblet par, som kan sees i eksemplet med TCP/IP: TCP-protokollen opererer på transportlaget, IP på nettverkslaget. De fleste protokollsuiter har to eller flere transportlagsprotokoller som utfører forskjellige funksjoner. Et alternativ til TCP er UDP (User Datagram Protocol). IPX-protokollpakken inkluderer også flere transportlagsprotokoller, inkludert NCP (NetWare Core Protocol) og SPX (Sequenced Packet Exchange). Forskjellen mellom transportlagsprotokoller fra et bestemt sett er at noen er tilkoblingsorienterte og andre ikke. Systemer som bruker protokollen forbindelse orientert(tilkoblingsorientert), før de overfører data, utveksler de meldinger for å etablere kommunikasjon med hverandre. Dette sikrer at systemene er slått på og klare til bruk. TCP-protokollen er for eksempel tilkoblingsorientert. Når du kobler til en Internett-server ved hjelp av en nettleser, utfører nettleseren og serveren først en såkalt tre-trinns håndtrykk(treveis håndtrykk). Først etter dette sender nettleseren adressen til den ønskede websiden til serveren. Når dataoverføringen er fullført, utfører systemene det samme håndtrykket for å avslutte forbindelsen. I tillegg utfører tilkoblingsorienterte protokoller tilleggshandlinger, som å sende et pakkebekreftelsessignal, segmentere data, kontrollere flyten og oppdage og korrigere feil. Vanligvis brukes protokoller av denne typen til å overføre store mengder informasjon som ikke må inneholde en eneste feilbit, for eksempel datafiler eller programmer. Ytterligere funksjoner ved tilkoblingsorienterte protokoller sikrer korrekt dataoverføring. Det er derfor disse protokollene ofte kalles pålitelig(pålitelig). Pålitelighet i dette tilfellet er et teknisk begrep og betyr at hver pakke som sendes kontrolleres for feil, og sendersystemet blir varslet om levering av hver pakke. Ulempen med denne typen protokoll er den betydelige mengden kontrolldata som utveksles mellom de to systemene. Først sendes ytterligere meldinger når kommunikasjon er etablert og avsluttet. For det andre er overskriften lagt til pakken av en tilkoblingsorientert protokoll vesentlig større enn overskriften til en tilkoblingsløs protokoll. For eksempel er TCP/IP-protokolloverskriften 20 byte, og UDP-overskriften er 8 byte. Protokoll, ikke tilkoblingsorientert(forbindelsesløs), etablerer ikke en forbindelse mellom to systemer før data overføres. Avsenderen overfører ganske enkelt informasjon til målsystemet uten å bekymre seg for om den er klar til å akseptere dataene eller om systemet i det hele tatt eksisterer. Vanligvis tyr systemer til tilkoblingsløse protokoller som UDP for korte transaksjoner som kun består av forespørsler og svarsignaler. Responssignalet fra mottakeren fungerer implisitt som et overføringsbekreftelsessignal.

Merk Tilkoblingsorienterte og tilkoblingsløse protokoller er ikke begrenset til transportlaget. For eksempel er nettverkslagsprotokoller vanligvis ikke tilkoblingsorienterte, siden de er avhengige av transportlaget for å sikre kommunikasjonspålitelighet.

Transportlagsprotokoller (så vel som nettverks- og datalinklag) inneholder vanligvis informasjon fra høyere lag. For eksempel inkluderer TCP- og UDP-hodene portnumre som identifiserer applikasjonen som oppsto pakken og applikasjonen den er destinert til. På økt(sesjons)nivå, begynner et betydelig avvik mellom de faktisk brukte protokollene og OSI-modellen. I motsetning til lavere lag, er det ingen dedikerte sesjonslagsprotokoller. Funksjonene til dette laget er integrert i protokoller som også utfører funksjonene til representant- og applikasjonslaget. Transport, nettverk, datalink og fysiske lag er ansvarlige for selve overføringen av data over nettverket. Protokoller for økten og høyere nivåer har ingenting med kommunikasjonsprosessen å gjøre. Sesjonslaget inkluderer 22 tjenester, hvorav mange definerer hvordan informasjon utveksles mellom systemer på nettverket. De viktigste tjenestene er dialogstyring og dialogseparasjon. Utveksling av informasjon mellom to systemer på et nettverk kalles dialog(dialog). Dialogledelse(dialogkontroll) består i å velge modus som systemene skal utveksle meldinger i. Det er to slike moduser: halv dupleks(toveis alternativ, TWA) og tosidig(toveis samtidig, TWS). I halv-dupleks-modus overfører de to systemene også tokens sammen med dataene. Informasjon kan bare overføres til datamaskinen som for øyeblikket har tokenet. Dette unngår meldingskollisjoner underveis. Dupleksmodellen er mer komplisert. Det er ingen markører i den; begge systemene kan overføre data når som helst, til og med samtidig. Splittende dialog(dialogseparasjon) består av inkludering i datastrømmen kontrollpunkter(sjekkpunkter) som tillater synkronisering av driften av to systemer. Vanskelighetsgraden for å dele dialogen avhenger av modusen den utføres i. I halv-dupleks-modus utfører systemene mindre synkronisering ved å utveksle sjekkpunktmeldinger. I full dupleksmodus utfører systemene full synkronisering ved hjelp av master/aktiv token.

Utøvende nivå

representant Presentasjonslaget utfører en enkelt funksjon: syntaksoversettelse mellom forskjellige systemer. Noen ganger bruker datamaskiner på et nettverk forskjellige syntakser. Det representative laget lar dem "enes" om en felles syntaks for utveksling av data. Når du oppretter en forbindelse på presentasjonslaget, utveksler systemene meldinger om hvilke syntakser de har og velger den de skal bruke under økten. Begge systemene som er involvert i forbindelsen har abstraktsyntaks(abstrakt syntaks) er deres "native" form for kommunikasjon. De abstrakte syntaksene til forskjellige dataplattformer kan variere. Under systemkoordineringsprosessen, en felles overføre syntaksdata(overføringssyntaks). Det overførende systemet konverterer sin abstrakte syntaks til dataoverføringssyntaks, og mottakersystemet, når overføringen er fullført, gjør det motsatte. Om nødvendig kan systemet velge en dataoverføringssyntaks med tilleggsfunksjoner, for eksempel datakomprimering eller kryptering.

Påføringslag

Applikasjonslaget er inngangspunktet der programmer får tilgang til OSI-modellen og nettverksressurser. De fleste applikasjonslagsprotokoller gir nettverkstilgangstjenester. For eksempel er SMTP (Simple Mail Transfer Protocol) det de fleste e-postprogrammer bruker til å sende meldinger. Andre applikasjonslagsprotokoller, for eksempel FTP (File Transfer Protocol), er i seg selv programmer. Applikasjonslagsprotokoller inkluderer ofte sesjons- og presentasjonslagsfunksjoner. Som et resultat inneholder en typisk protokollstabel fire separate protokoller som opererer på applikasjons-, transport-, nettverks- og datalinklagene.

For å lage nye (og oppgradere gamle) datanettverk uten å støte på problemer med kompatibilitet og interaksjon mellom ulike nettverksenheter, er det utviklet spesielle standarder - nettverksmodeller. Det finnes ulike nettverksmodeller, men de vanligste og generelt aksepterte er: OSI og . Disse modellene er basert på prinsippet om å dele nettverket i lag.

OSI referansemodell

Den første fasen av utviklingen av LAN-, MAN- og WAN-nettverk var kaotisk på mange måter. På begynnelsen av 1980-tallet økte størrelsen på nettverkene og antallet deres kraftig. Ettersom selskaper innså at de kunne spare betydelige penger og øke effektiviteten ved å bruke nettverksteknologier, skapte de nye nettverk og utvidet eksisterende like raskt som nye nettverksteknologier og nytt utstyr dukket opp.

På midten av 1980-tallet begynte imidlertid de samme selskapene å oppleve problemer med å utvide sine eksisterende nettverk. Nettverk med forskjellige spesifikasjoner og implementert på forskjellige måter ble stadig vanskeligere å kommunisere med hverandre. Bedrifter som befant seg i denne situasjonen var de første som innså at det var nødvendig å gå bort fra å bruke proprietær nettverkssystemer.

For å løse problemet med inkompatible nettverk og deres manglende evne til å kommunisere med hverandre, har International Organization for Standardization (ISO) utviklet ulike nettverksopplegg, som DECnet, Systems Network Architecture (SNA) og TCP-protokollstabelen.IP. Formålet med å lage slike ordninger var å utvikle et felles regelverk for drift av nettverk for alle brukere. Som et resultat av denne forskningen utviklet ISO en nettverksmodell som kunne hjelpe utstyrsprodusenter med å lage nettverk som var kompatible med hverandre og samhandlet med suksess. Prosessen med å bryte ned et komplekst nettverkskommunikasjonsproblem i mindre oppgaver kan sammenlignes med prosessen med å sette sammen en bil.
Prosessen med å designe, produsere deler og sette sammen en bil, sett som en helhet, er svært kompleks. Det er usannsynlig at det vil være en spesialist som kan løse alle de nødvendige oppgavene når du monterer en bil: sette sammen en bil fra tilfeldig utvalgte deler eller for eksempel,
ved fremstilling av sluttproduktet direkte fra jernmalm. Av denne grunn er designingeniører involvert i å designe en bil, støperiingeniører designer støpeformer for støping av deler, og monteringsingeniører og teknikere er engasjert i å montere komponenter og en bil fra ferdige deler.

OSI referansemodell (OSI referansemodell), kunngjort i 1984, var et beskrivende opplegg opprettet av ISO-organisasjonen. Denne referansemodellen ga utstyrsprodusenter et sett med standarder som muliggjorde større interoperabilitet og mer effektiv interoperabilitet mellom de ulike nettverksteknologiene og utstyret produsert av en rekke selskaper rundt om i verden.
OSI-referansemodellen er den primære modellen som brukes som
grunnleggende for nettverkskommunikasjon.
Selv om det finnes andre modeller, er de fleste maskinvare- og programvareprodusenter avhengige av OSI-referansemodellen, spesielt når de ønsker å trene brukere på produktene deres. OSI-referansemodellen regnes i dag som det beste tilgjengelige verktøyet for å lære brukere hvordan nettverk fungerer og mekanismene for å sende og motta data over et nettverk.

OSI-referansemodellen definerer nettverksfunksjonene som utføres av hvert av lagene. Enda viktigere, det gir grunnlaget for å forstå hvordan informasjon flyter over nettverket. I tillegg beskriver OSI-modellen hvordan informasjon eller datapakker beveger seg fra programmer"applikasjoner (som regneark eller tekstbehandlere) over et nettverksoverføringsmedium (som ledninger) til andre programmer"applikasjoner som kjører på en annen datamaskin på det nettverket. hvis avsender og mottaker bruker ulike typer overføringsmedier.

Lag av OSI Network Model (også kalt OSI Reference Model)

OSI-nettverksmodellen inneholder syv nummererte lag, som hver utfører sine egne spesifikke funksjoner i nettverket.

  • Nivå 7- applikasjonsnivå.
  • Nivå 6- nivå av datapresentasjon.
  • Nivå 5- øktnivå.
  • Nivå 4- transportnivå.
  • Nivå 3- nettverksnivå.
  • Nivå 2- kanalnivå.
  • Nivå 1- fysisk nivå.

Lagdiagram av OSI-nettverksmodellen

Denne inndelingen av funksjoner som utføres av nettverket kalles lagdeling. Å dele nettverket i syv lag gir følgende fordeler:

  • er delt inn i mindre og enklere stadier;
  • nettverkskomponenter er standardiserte, noe som gjør det mulig å bruke og støtte utstyr fra forskjellige produsenter på nettverket;
  • å dele datautvekslingsprosessen i lag tillater kommunikasjon mellom ulike typer maskinvare og programvare;
  • endringer på ett nivå påvirker ikke funksjonen til andre nivåer, noe som lar deg raskt utvikle ny programvare og maskinvareprodukter;
  • Nettverkskommunikasjon er delt inn i mindre komponenter, noe som gjør dem lettere å studere.

Lag av OSI-nettverksmodellen og deres funksjoner

For å overføre datapakker over et nettverk fra en avsender til en mottaker, må hvert lag i OSI-modellen utføre sitt eget sett med funksjoner. Disse funksjonene er beskrevet nedenfor.

Lag 7: Applikasjonslag

Påføringslag er nærmest brukeren og leverer tjenester til hans applikasjoner. Den skiller seg fra andre lag ved at den ikke tilbyr tjenester til andre lag; i stedet gir den tjenester kun til applikasjoner som er utenfor OSI-referansemodellen. Eksempler på slike applikasjoner inkluderer regneark (som Excel) eller tekstbehandlere (som Word). Applikasjonslaget bestemmer tilgjengeligheten av kommunikasjonspartnere for hverandre, og synkroniserer også kommunikasjon og etablerer enighet om datagjenopprettingsprosedyrer i tilfelle feil og dataintegritetsprosedyrer. Eksempler på lag syv-applikasjoner inkluderer protokoller Telnet Og HTTP.

Lag 6: Datapresentasjonslag

Oppgave presentasjonslag er å sikre at applikasjonslagsinformasjon sendt av ett system (senderen) kan leses av applikasjonslaget til et annet system (mottakeren). Om nødvendig konverterer presentasjonslaget dataene til et av de mange eksisterende formatene som støttes av begge systemene. En annen viktig oppgave for dette laget er datakryptering og dekryptering. Typiske nivå seks grafikkstandarder er PICT, TIFF og JPEG. Eksempler på nivå seks standarder i referansemodellen som beskriver formatet for å presentere lyd og video er MIDI- og MPEG-standardene.

Nivå 5: Sesjonsnivå

Som navnet på dette nivået viser, øktlag etablerer, administrerer og avslutter en kommunikasjonsøkt mellom to arbeidsstasjoner. Sesjonslaget leverer sine tjenester til presentasjonslaget. Den synkroniserer også dialogen mellom presentasjonslagene til de to systemene og administrerer datautveksling. I tillegg til den primære pågående funksjonen for administrasjon, gir øktlaget effektiv dataoverføring, den nødvendige tjenesteklassen og nødvarsler når det er problemer på sesjonslaget, presentasjonslaget eller applikasjonslaget. Eksempler på Layer 5-protokoller inkluderer Network File System (NFS), X-Window System og AppleTalk Session Protocol (ASP).

Lag 4: Transportlag

Transportlag segmenterer dataene fra sendestasjonen og setter dem sammen til én helhet ved mottakerenden. Grensen mellom transportlaget og sesjonslaget kan betraktes som grensen mellom applikasjonsprotokoller og dataprotokoller. Mens applikasjons-, presentasjons- og sesjonslagene tar for seg kommunikasjonsaspektene knyttet til å kjøre applikasjoner, tar de fire nederste lagene for seg transport av data over nettverket. Transportlaget forsøker å tilby dataoverføringstjenesten på en måte som skjuler detaljene i dataoverføringsprosessen fra øvre lag. Spesielt er oppgaven til transportlaget å sikre pålitelig dataoverføring mellom to arbeidsstasjoner.
Når det tilbys kommunikasjonstjenester, etablerer, vedlikeholder og avslutter transportlaget virtuelle kretser etter behov. For å sikre påliteligheten til transporttjenesten brukes overføringsfeildeteksjon og informasjonsflytstyring. Eksempler på Layer 4-protokoller inkluderer Transmission Control Protocol (TCP), User Datagram Protocol (UDP) og Sequenced Packet Exchange (SPX).

Lag 3: Nettverkslag

Nettverkslag er et komplekst nivå som gir rutevalg og sammenkobling av to arbeidsstasjoner, som kan plasseres i nettverk som er geografisk fjernt fra hverandre. I tillegg løser nettverkslaget logiske adresseringsproblemer. Eksempler på Layer 3-protokoller inkluderer Internet Protocol (IP), Internet Packet Exchange (IPX) og AppleTalk.

Lag 2: Linklag

Datalinklag sikrer pålitelig dataoverføring over en fysisk kanal. Samtidig løser datalinklaget problemene med fysisk (i motsetning til logisk) adressering, nettverkstopologianalyse, nettverkstilgang, feilmelding, bestilt levering av rammer og flytkontroll.

Lag 1: Fysisk lag

Fysisk lag Definerer elektriske, prosedyremessige og funksjonelle spesifikasjoner for å aktivere, vedlikeholde og deaktivere fysiske koblinger mellom endesystemer. Fysiske lagspesifikasjoner definerer spenningsnivåer, tidspunkt for spenningsendringer, fysiske datahastigheter, maksimale overføringsområder, fysiske tilkoblinger og andre lignende parametere.

P.S. Det er ikke for ingenting at OSI-nettverksmodellen regnes som referansemodellen, fordi... lar deg standardisere ulike nettverksteknologier, sikrer samspillet mellom nettverksenheter og applikasjoner på forskjellige nivåer. En klar forståelse av nivåinndelingen gir en fullstendig forståelse av organiseringen av datanettverk. Hvis noe ikke er klart nå, må du fylle dette gapet nå, fordi å lære mer komplekse ting vil være svært vanskelig.
I praksis brukes en enklere en som har 4 nivåer.

I nettverksvitenskap, som i alle andre kunnskapsfelt, er det to grunnleggende tilnærminger til læring: bevegelse fra det generelle til det spesifikke og omvendt. Vel, det er ikke slik at folk i livet bruker disse tilnærmingene i sin rene form, men likevel, i de innledende stadiene, velger hver student selv en av de ovennevnte retningene. For høyere utdanning (i det minste den (post)sovjetiske modellen) er den første metoden mer typisk, for selvutdanning oftest den andre: en person jobbet på nettverket, løste små administrative oppgaver for én bruker fra tid til annen, og plutselig ville han finne ut hvordan, egentlig, hvordan fungerer all denne dritten?

Men hensikten med denne artikkelen er ikke filosofiske diskusjoner om undervisningsmetodikk. Jeg vil gjerne introdusere oppmerksomheten til nybegynnere som nettverker generell og viktigst av alt, hvorfra du, som fra en komfyr, kan danse til de mest sofistikerte private butikkene. Ved å forstå syvlags OSI-modellen og lære å "gjenkjenne" lagene i teknologiene du allerede kjenner, kan du enkelt bevege deg fremover i hvilken som helst retning av nettverksindustrien du velger. OSI-modellen er rammeverket som eventuell ny kunnskap om nettverk skal henges opp på.

Denne modellen er nevnt på en eller annen måte i nesten enhver moderne litteratur om nettverk, så vel som i mange spesifikasjoner av spesifikke protokoller og teknologier. Uten å føle behovet for å finne opp hjulet på nytt, bestemte jeg meg for å publisere utdrag fra arbeidet til N. Olifer, V. Olifer (Information Technology Center) med tittelen «Rollen til kommunikasjonsprotokoller og det funksjonelle formålet med hovedtypene av utstyr i bedriftsnettverk ", som jeg anser som den beste og mest omfattende publikasjonen om dette emnet.

Ansvarlig redaktør

modell

Bare fordi en protokoll er en avtale mellom to samvirkende enheter, i dette tilfellet to datamaskiner som jobber på et nettverk, betyr det ikke at det nødvendigvis er en standard. Men i praksis, når de implementerer nettverk, har de en tendens til å bruke standardprotokoller. Disse kan være proprietære, nasjonale eller internasjonale standarder.

Den internasjonale standardiseringsorganisasjonen (ISO) har utviklet en modell som tydelig definerer de ulike nivåene av interaksjon mellom systemene, gir dem standardnavn og spesifiserer hvilket arbeid hvert nivå skal gjøre. Denne modellen kalles Open System Interconnection (OSI)-modellen eller ISO/OSI-modellen.

I OSI-modellen er kommunikasjonen delt inn i syv lag eller lag (Figur 1.1). Hvert nivå omhandler ett spesifikt aspekt ved interaksjon. Dermed er interaksjonsproblemet dekomponert i 7 spesielle problemer, som hver kan løses uavhengig av de andre. Hvert lag opprettholder grensesnitt med lagene over og under.

Ris. 1.1. ISO/OSI Open Systems Interconnection Model

OSI-modellen beskriver bare systemkommunikasjon, ikke sluttbrukerapplikasjoner. Applikasjoner implementerer sine egne kommunikasjonsprotokoller ved å få tilgang til systemfasiliteter. Det bør tas i betraktning at applikasjonen kan overta funksjonene til noen av de øvre lagene i OSI-modellen, i så fall, om nødvendig, får den direkte tilgang til systemverktøyene som utfører funksjonene til de resterende nedre lagene i OSI-modell.

En sluttbrukerapplikasjon kan bruke systeminteraksjonsverktøy ikke bare for å organisere en dialog med en annen applikasjon som kjører på en annen maskin, men også ganske enkelt for å motta tjenestene til en bestemt nettverkstjeneste, for eksempel tilgang til eksterne filer, motta e-post eller skrive ut på en delt skriver.

Så la oss si at en applikasjon sender en forespørsel til et applikasjonslag, for eksempel en filtjeneste. Basert på denne forespørselen genererer programvaren på applikasjonsnivå en melding i standardformat, som inneholder tjenesteinformasjon (header) og muligens overførte data. Denne meldingen videresendes deretter til representantnivå. Presentasjonslaget legger til overskriften til meldingen og sender resultatet ned til øktlaget, som igjen legger til overskriften, og så videre. Noen protokollimplementeringer sørger for at meldingen ikke bare inneholder en overskrift, men også en trailer. Til slutt når meldingen det laveste, fysiske laget, som faktisk overfører det langs kommunikasjonslinjene.

Når en melding kommer til en annen maskin over nettverket, flytter den seg sekvensielt opp fra nivå til nivå. Hvert nivå analyserer, behandler og sletter overskriften på sitt nivå, utfører funksjoner som tilsvarer dette nivået og sender meldingen til det høyere nivået.

I tillegg til begrepet melding, er det andre navn som brukes av nettverksspesialister for å betegne en enhet for datautveksling. ISO-standarder for protokoller på alle nivåer bruker begrepet "protokolldataenhet" - Protocol Data Unit (PDU). I tillegg brukes ofte navnene ramme, pakke og datagram.

ISO/OSI modelllagfunksjoner

Fysisk lag: Dette laget omhandler overføring av biter over fysiske kanaler som koaksialkabel, tvunnet parkabel eller fiberoptisk kabel. Dette nivået er relatert til egenskapene til fysiske dataoverføringsmedier, som båndbredde, støyimmunitet, karakteristisk impedans og andre. På samme nivå bestemmes egenskapene til elektriske signaler, for eksempel krav til pulskanter, spennings- eller strømnivåer til det overførte signalet, type koding, signaloverføringshastighet. I tillegg er kontakttypene og formålet med hver kontakt standardisert her.

Fysiske lagfunksjoner er implementert i alle enheter som er koblet til nettverket. På datamaskinsiden utføres de fysiske lagfunksjonene av nettverksadapteren eller serieporten.

Et eksempel på en fysisk lagprotokoll er 10Base-T Ethernet-teknologispesifikasjonen, som definerer kabelen som brukes som kategori 3 uskjermet tvunnet par med en karakteristisk impedans på 100 Ohm, en RJ-45-kontakt, en maksimal fysisk segmentlengde på 100 meter, Manchester-kode for å representere data på kabelen, og andre egenskaper ved miljøet og elektriske signaler.

Data Link Layer: Det fysiske laget overfører ganske enkelt biter. Dette tar ikke hensyn til at i enkelte nettverk der kommunikasjonslinjer brukes (delt) vekselvis av flere par med samvirkende datamaskiner, kan det fysiske overføringsmediet være opptatt. Derfor er en av oppgavene til lenkelaget å sjekke tilgjengeligheten til overføringsmediet. En annen oppgave for lenkelaget er å implementere feildeteksjons- og korrigeringsmekanismer. For å gjøre dette, ved datalinklaget, blir biter gruppert i sett kalt rammer. Koblingslaget sikrer at hver ramme overføres riktig ved å plassere en spesiell sekvens av biter i begynnelsen og slutten av hver ramme for å markere den, og beregner også en sjekksum ved å summere alle bytene i rammen på en bestemt måte og legge til sjekksummen til rammen. Når rammen ankommer, beregner mottakeren igjen sjekksummen av de mottatte dataene og sammenligner resultatet med sjekksummen fra rammen. Hvis de samsvarer, anses rammen som korrekt og akseptert. Hvis kontrollsummene ikke stemmer overens, registreres en feil.

Linklagsprotokollene som brukes i lokale nettverk inneholder en viss struktur av forbindelser mellom datamaskiner og metoder for å adressere dem. Selv om datalinklaget gir rammelevering mellom to noder på et lokalt nettverk, gjør det dette kun i et nettverk med en veldig spesifikk forbindelsestopologi, nettopp topologien den ble designet for. Typiske topologier som støttes av LAN-linklagsprotokoller inkluderer delt buss, ring og stjerne. Eksempler på koblingslagsprotokoller er Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

I lokale nettverk brukes koblingslagsprotokoller av datamaskiner, broer, svitsjer og rutere. På datamaskiner implementeres lenkelagsfunksjoner gjennom felles innsats fra nettverkskort og deres drivere.

I globale nettverk, som sjelden har en vanlig topologi, sørger datalinklaget for utveksling av meldinger mellom to nabodatamaskiner koblet sammen med en individuell kommunikasjonslinje. Eksempler på punkt-til-punkt-protokoller (som slike protokoller ofte kalles) er de mye brukte PPP- og LAP-B-protokollene.

Nettverksnivå Dette nivået tjener til å danne et enhetlig transportsystem som forener flere nettverk med ulike prinsipper for overføring av informasjon mellom endenoder. La oss se på funksjonene til nettverkslaget ved å bruke lokale nettverk som et eksempel. Den lokale nettverkslinklagsprotokollen sikrer levering av data mellom alle noder bare i et nettverk med passende typisk topologi. Dette er en veldig streng begrensning som ikke tillater å bygge nettverk med en utviklet struktur, for eksempel nettverk som kombinerer flere bedriftsnettverk til ett enkelt nettverk, eller svært pålitelige nettverk der det er redundante forbindelser mellom noder. For på den ene siden å opprettholde enkelheten til dataoverføringsprosedyrer for standard topologier, og på den annen side for å tillate bruk av vilkårlige topologier, brukes et ekstra nettverkslag. På dette nivået introduseres konseptet "nettverk". I dette tilfellet forstås et nettverk som en samling av datamaskiner koblet til hverandre i samsvar med en av standard typiske topologier og som bruker en av linklagsprotokollene definert for denne topologien for å overføre data.

Innen nettverket reguleres altså datalevering av datalinklaget, men datalevering mellom nettverk håndteres av nettverkslaget.

Nettverkslagsmeldinger kalles vanligvis pakker. Ved organisering av pakkelevering på nettverksnivå brukes konseptet "nettverksnummer". I dette tilfellet består mottakerens adresse av nettverksnummeret og datamaskinnummeret på dette nettverket.

Nettverk er koblet til hverandre med spesielle enheter kalt rutere. Ruter er en enhet som samler inn informasjon om topologien til internettforbindelser og, basert på den, videresender nettverkslagspakker til målnettverket. For å overføre en melding fra en avsender som befinner seg på ett nettverk til en mottaker som befinner seg på et annet nettverk, må du foreta et antall transittoverføringer (hopp) mellom nettverk, hver gang du velger riktig rute. Dermed er en rute en sekvens av rutere som en pakke passerer gjennom.

Problemet med å velge den beste veien kalles ruting og løsningen er hovedoppgaven til nettverksnivået. Dette problemet kompliseres av det faktum at den korteste veien ikke alltid er den beste. Ofte er kriteriet for å velge en rute tidspunktet for dataoverføring langs denne ruten; det avhenger av kapasiteten til kommunikasjonskanalene og trafikkintensiteten, som kan endre seg over tid. Noen rutingalgoritmer prøver å tilpasse seg endringer i belastning, mens andre tar beslutninger basert på langsiktige gjennomsnitt. Ruten kan velges basert på andre kriterier, for eksempel overføringspålitelighet.

På nettverksnivå er to typer protokoller definert. Den første typen refererer til definisjonen av regler for overføring av endenodedatapakker fra noden til ruteren og mellom rutere. Dette er protokollene som vanligvis menes når folk snakker om nettverkslagsprotokoller. Nettverkslaget inkluderer også en annen type protokoll kalt ruting aver. Ved å bruke disse protokollene samler rutere informasjon om topologien til internettforbindelser. Nettverkslagsprotokoller implementeres av, samt ruterprogramvare og maskinvare.

Eksempler på nettverkslagsprotokoller er TCP/IP stack IP Internetwork Protocol og Novell IPX stack Internetwork Protocol.

Transportlag: På vei fra avsender til mottaker kan pakker bli ødelagt eller tapt. Mens noen applikasjoner har sin egen feilhåndtering, er det andre som foretrekker å håndtere en pålitelig tilkobling med en gang. Transportlagets jobb er å sikre at applikasjoner eller de øvre lagene i stabelen – applikasjon og økt – overfører data med den grad av pålitelighet de krever. OSI-modellen definerer fem klasser av tjenester levert av transportlaget. Disse typene tjenester utmerker seg ved kvaliteten på tjenestene som tilbys: haster, evnen til å gjenopprette avbrutt kommunikasjon, tilgjengeligheten av midler for multipleksing av flere forbindelser mellom forskjellige applikasjonsprotokoller gjennom en felles transportprotokoll, og viktigst av alt, evnen til å oppdage og rette overføringsfeil, som forvrengning, tap og duplisering av pakker.

Valget av transportlagstjenesteklasse bestemmes på den ene siden av i hvilken grad problemet med å sikre pålitelighet løses av applikasjoner og protokoller på høyere nivåer enn transporten, og på den andre siden avhenger dette valget av hvor pålitelig hele datatransportsystemet er online. Så, for eksempel, hvis kvaliteten på kommunikasjonskanalene er veldig høy, og sannsynligheten for feil som ikke oppdages av protokoller på lavere nivå er liten, er det rimelig å bruke en av de lette transportlagstjenestene som ikke er belastet med mange kontroller , håndtrykk og andre teknikker for å øke påliteligheten. Hvis kjøretøyene i utgangspunktet er veldig upålitelige, er det tilrådelig å henvende seg til den mest utviklede transportnivåtjenesten, som fungerer ved å bruke maksimale midler for å oppdage og eliminere feil - ved å bruke den foreløpige etableringen av en logisk forbindelse, overvåke leveringen av meldinger ved hjelp av kontrollsummer og syklisk nummerering av pakker, etablering av leveringstidsavbrudd osv.

Som regel implementeres alle protokoller, fra transportlaget og over, av programvaren til sluttnodene til nettverket - komponentene i deres nettverksoperativsystemer. Eksempler på transportprotokoller inkluderer TCP- og UDP-protokollene til TCP/IP-stakken og SPX-protokollen til Novell-stakken.

Sesjonslag: Sesjonslaget gir samtaleadministrasjon for å registrere hvilken part som for øyeblikket er aktiv og gir også synkroniseringsfasiliteter. Sistnevnte lar deg sette inn sjekkpunkter i lange overføringer, slik at du i tilfelle feil kan gå tilbake til siste sjekkpunkt, i stedet for å starte på nytt. I praksis er det få applikasjoner som bruker sesjonslaget, og det implementeres sjelden.

Presentasjonslag: Dette laget gir sikkerhet for at informasjon som formidles av applikasjonslaget vil bli forstått av applikasjonslaget i et annet system. Om nødvendig konverterer presentasjonslaget dataformater til et vanlig presentasjonsformat, og i resepsjonen utfører følgelig den omvendte konverteringen. På denne måten kan applikasjonslag overvinne for eksempel syntaktiske forskjeller i datarepresentasjon. På dette nivået kan kryptering og dekryptering av data utføres, takket være at hemmeligholdelse av datautveksling er sikret for alle applikasjonstjenester på en gang. Et eksempel på en protokoll som opererer i presentasjonslaget er Secure Socket Layer (SSL)-protokollen, som gir sikker meldingsutveksling for applikasjonslagsprotokollene til TCP/IP-stakken.

Applikasjonslag Applikasjonslaget er egentlig bare et sett med forskjellige protokoller som nettverksbrukere får tilgang til delte ressurser som filer, skrivere eller hypertekstwebsider gjennom, og også organiserer samarbeidet deres, for eksempel ved hjelp av elektronisk postprotokoll. Dataenheten som applikasjonslaget opererer på kalles vanligvis beskjed .

Det er et veldig bredt utvalg av applikasjonslagsprotokoller. La oss gi som eksempler i det minste noen av de vanligste implementeringene av filtjenester: NCP i Novell NetWare-operativsystemet, SMB i Microsoft Windows NT, NFS, FTP og TFTP, som er en del av TCP/IP-stakken.

Selv om OSI-modellen er veldig viktig, er den bare en av mange kommunikasjonsmodeller. Disse modellene og deres tilknyttede protokollstabler kan variere i antall lag, deres funksjoner, meldingsformater, tjenester som tilbys i de øvre lagene og andre parametere.

Kjennetegn på populære kommunikasjonsprotokollstabler

Så samspillet mellom datamaskiner i nettverk skjer i samsvar med visse regler for utveksling av meldinger og deres formater, det vil si i samsvar med visse protokoller. Et hierarkisk organisert sett med protokoller som løser problemet med interaksjon mellom nettverksnoder kalles en kommunikasjonsprotokollstabel.

Det er mange protokollstabler som er mye brukt i nettverk. Dette er stabler som er internasjonale og nasjonale standarder, og proprietære stabler som har blitt utbredt på grunn av utbredelsen av utstyr fra et bestemt selskap. Eksempler på populære protokollstakker inkluderer Novells IPX/SPX-stabel, TCP/IP-stakken som brukes på Internett og mange nettverk basert på UNIX-operativsystemet, OSI-stakken til International Standards Organization, DECnet-stakken til Digital Equipment Corporation og flere andre.

Bruken av en bestemt kommunikasjonsprotokollstabel i et nettverk bestemmer i stor grad ansiktet til nettverket og dets egenskaper. Mindre nettverk kan bruke bare én stabel. I store bedriftsnettverk som kobler sammen ulike nettverk, brukes vanligvis flere stabler parallelt.

Kommunikasjonsutstyr implementerer lavere lags protokoller som er mer standardiserte enn høyere lags protokoller, og dette er en forutsetning for vellykket samarbeid mellom utstyr fra ulike produsenter. Listen over protokoller som støttes av en bestemt kommunikasjonsenhet er en av de viktigste egenskapene til denne enheten.

Datamaskiner implementerer kommunikasjonsprotokoller i form av tilsvarende programvareelementer i et nettverksoperativsystem, for eksempel implementeres protokoller på koblingsnivå vanligvis i form av nettverksadapterdrivere, og protokoller på øvre nivå implementeres i form av server- og klientkomponenter av nettverkstjenester.

Evnen til å fungere godt i et bestemt operativsystemmiljø er en viktig egenskap ved kommunikasjonsutstyr. Du kan ofte lese i annonser for en nettverksadapter eller hub at den er designet spesielt for å fungere på et NetWare- eller UNIX-nettverk. Dette betyr at maskinvareutviklerne har optimalisert egenskapene for protokollene som brukes i det nettverksoperativsystemet, eller for en gitt versjon av implementeringen hvis disse protokollene brukes i forskjellige operativsystemer. På grunn av særegenhetene ved implementeringen av protokoller i forskjellige operativsystemer, er en av egenskapene til kommunikasjonsutstyr sertifiseringen for evnen til å jobbe i miljøet til et gitt operativsystem.

På de lavere nivåene - fysisk og datalink - bruker nesten alle stabler de samme protokollene. Dette er godt standardiserte protokoller: Ethernet, Token Ring, FDDI og noen andre, som gjør at det samme utstyret kan brukes i alle nettverk.

Nettverks- og høyere lags protokoller for eksisterende standard stabler er svært variable og samsvarer generelt ikke med lagdelingen anbefalt av ISO-modellen. Spesielt i disse stablene kombineres sesjons- og presentasjonslagsfunksjoner oftest med applikasjonslaget. Dette avviket skyldes det faktum at ISO-modellen dukket opp som et resultat av en generalisering av allerede eksisterende og faktisk brukte stabler, og ikke omvendt.

OSI-stabel

Det må skilles mellom OSI-protokollstakken og OSI-modellen. Mens OSI-modellen konseptuelt definerer prosedyren for interaksjon av åpne systemer, dekomponerer oppgaven i 7 lag, standardiserer formålet med hvert lag og introduserer standardnavn for lagene, er OSI-stakken et sett med veldig spesifikke protokollspesifikasjoner som danner en konsistent protokollstabel. Denne protokollstabelen støttes av den amerikanske regjeringen i sitt GOSIP-program. Alle offentlige datanettverk installert etter 1990 må enten støtte OSI-stakken direkte eller gi et middel til å migrere til stabelen i fremtiden. Imidlertid er OSI-stakken mer populær i Europa enn i USA, ettersom Europa har færre eldre nettverk installert som bruker sine egne protokoller. Det er også et stort behov for en felles stabel i Europa, siden det er så mange forskjellige land.

Dette er en internasjonal, produsentuavhengig standard. Det kan muliggjøre samarbeid mellom selskaper, partnere og leverandører. Denne interaksjonen er komplisert ved å adressere, navngi og datasikkerhetsproblemer. Alle disse problemene er delvis løst i OSI-stakken. OSI-protokoller krever mye CPU-prosessorkraft, noe som gjør dem mer egnet for kraftige maskiner i stedet for nettverk av personlige datamaskiner. De fleste organisasjoner planlegger bare overgangen til OSI-stakken. Blant dem som jobber i denne retningen er US Navy Department og NFSNET-nettverket. En av de største produsentene som støtter OSI er AT&T. Stargroup-nettverket er helt basert på OSI-stakken.

Av åpenbare grunner samsvarer OSI-stakken, i motsetning til andre standardstabler, fullt ut OSI-sammenkoblingsmodellen; den inkluderer spesifikasjoner for alle syv lagene i den åpne systemsammenkoblingsmodellen (Figur 1.3).


Ris. 1.3. OSI-stabel

OSI-stakken støtter Ethernet, Token Ring, FDDI-protokoller, samt LLC, X.25 og ISDN-protokoller. Disse protokollene vil bli diskutert i detalj i andre deler av håndboken.

Tjenester nettverk, transport og økt nivåer er også tilgjengelige i OSI-stakken, men de er ikke veldig vanlige. Nettverkslaget implementerer både tilkoblingsløse og tilkoblingsbaserte protokoller. OSI-stakktransportprotokollen, i samsvar med funksjonene som er definert for den i OSI-modellen, skjuler forskjellene mellom tilkoblingsorienterte og tilkoblingsløse nettverkstjenester slik at brukerne får ønsket kvalitet på tjenesten uavhengig av det underliggende nettverkslaget. For å gi dette krever transportlaget at brukeren spesifiserer ønsket kvalitet på tjenesten. Det er definert 5 klasser av transporttjenester, fra laveste klasse 0 til høyeste klasse 4, som er forskjellige i grad av feiltoleranse og krav til datagjenoppretting etter feil.

Tjenester applikasjonsnivå inkluderer filoverføring, terminalemulering, katalogtjenester og e-post. Av disse er de mest lovende katalogtjenester (X.500-standard), elektronisk post (X.400), virtuell terminalprotokoll (VT), protokoll for filoverføring, tilgang og administrasjon (FTAM), videresending og jobbadministrasjonsprotokoll (JTM) . Nylig har ISO konsentrert sin innsats om tjenester på toppnivå.

X.400

er en familie av anbefalinger fra International Consultative Committee on Telegraphy and Telephony (CCITT) som beskriver elektroniske meldingsvideresendingssystemer. I dag er X.400-anbefalingene den mest populære meldingsprotokollen. X.400-anbefalingene beskriver modellen for et meldingssystem, protokollene for interaksjon mellom alle komponenter i dette systemet, samt de mange typene meldinger og mulighetene som avsenderen har for hver type melding som sendes.

X.400-anbefalingene definerer følgende minimumskrav med tjenester som skal leveres til brukere: tilgangskontroll, vedlikehold av unike systemmeldingsidentifikatorer, meldingslevering eller ikke-leveringsvarsling med begrunnelse, meldingsinnholdstypeindikasjon, meldingsinnholdskonvertering, overføring og leveringstidsstempler, valg av leveringskategori (haster, ikke-haster, normal), multicast-levering, forsinket levering (opp til et bestemt tidspunkt), transformering av innhold til grensesnitt med inkompatible postsystemer som telex- og fakstjenester, spørre om en spesifikk melding ble levert, e-postlister, som kan ha en nestet struktur, midler for å beskytte meldinger mot uautorisert tilgang, basert på et asymmetrisk offentlig nøkkelkryptosystem.

Hensikten med anbefalingene X.500 er å utvikle globale helpdesk-standarder. Prosessen med å levere en melding krever kunnskap om mottakerens adresse, noe som er et problem i store nettverk, så det er nødvendig å ha en helpdesk som hjelper til med å innhente adressene til avsendere og mottakere. Generelt er en X.500-tjeneste en distribuert database med navn og adresser. Alle brukere har potensielt lov til å logge på denne databasen ved å bruke et spesifikt sett med attributter.

Følgende operasjoner er definert i navne- og adressedatabasen:

  • lesing - få en adresse med et kjent navn,
  • forespørsel - å få et navn basert på kjente adresseattributter,
  • modifikasjon som involverer sletting og tilføyelse av poster i en database.

Hovedutfordringene med å implementere X.500-anbefalingene stammer fra omfanget av dette prosjektet, som utgir seg for å være en verdensomspennende referansetjeneste. Derfor er programvare som implementerer X.500-anbefalinger svært tungvint og stiller høye krav til maskinvareytelse.

Protokoll VT løser problemet med inkompatibilitet mellom forskjellige terminalemuleringsprotokoller. For øyeblikket må en bruker av en personlig datamaskin som er kompatibel med en IBM PC, for å jobbe med VAX, IBM 3090 og HP9000 datamaskiner samtidig, kjøpe tre forskjellige programmer for å emulere terminaler av forskjellige typer og bruke forskjellige protokoller. Hvis hver vertsdatamaskin hadde ISO-terminalemuleringsprotokollprogramvare, ville brukeren bare trenge ett program som støttet VT-protokollen. I sin standard har ISO akkumulert mye brukte terminalemuleringsfunksjoner.

Filoverføring er den vanligste datatjenesten. Tilgang til filer, både lokale og eksterne, er nødvendig for alle applikasjoner – tekstredigerere, e-post, databaser eller fjernstartsprogrammer. ISO gir en slik tjeneste i protokollen FTAM. Sammen med X.400-standarden er det den mest populære OSI-stabelstandarden. FTAM tilbyr fasiliteter for lokalisering og tilgang til filinnhold og inkluderer et sett med direktiver for å sette inn, erstatte, utvide og slette filinnhold. FTAM gir også fasiliteter for å manipulere filen som en helhet, inkludert å opprette, slette, lese, åpne, lukke filen og velge dens attributter.

Videresending og arbeidskontrollprotokoll JTM Lar brukere videresende arbeid som må fullføres på vertsdatamaskinen. Jobbkontrollspråket som muliggjør jobbinnsending forteller vertsdatamaskinen hvilke handlinger som skal utføres på hvilke programmer og filer. JTM-protokollen støtter tradisjonell batchbehandling, transaksjonsbehandling, ekstern jobbregistrering og distribuert databasetilgang.

TCP/IP-stabel

TCP/IP-stakken, også kalt DoD-stakken og Internett-stakken, er en av de mest populære og lovende kommunikasjonsprotokollstakkene. Hvis det i dag hovedsakelig distribueres i nettverk med UNIX OS, er implementeringen i de nyeste versjonene av nettverksoperativsystemer for personlige datamaskiner (Windows NT, NetWare) en god forutsetning for den raske veksten i antall installasjoner av TCP/ IP-stabel.

Stabelen ble utviklet på initiativ fra det amerikanske forsvarsdepartementet (DoD) for mer enn 20 år siden for å koble det eksperimentelle ARPAnet-nettverket med andre satellittnettverk som et sett med vanlige protokoller for heterogene datamiljøer. ARPA-nettverket støttet utviklere og forskere innen militære felt. I ARPA-nettverket ble kommunikasjonen mellom to datamaskiner utført ved hjelp av Internet Protocol (IP), som til i dag er en av de viktigste i TCP / IP-stakken og vises i stabelens navn.

Berkeley University ga et stort bidrag til utviklingen av TCP/IP-stakken ved å implementere stackprotokoller i sin versjon av UNIX OS. Den utbredte bruken av UNIX-operativsystemet førte også til utbredt bruk av IP og andre stackprotokoller. Denne stabelen driver også Internett, hvis Internet Engineering Task Force (IETF) er en viktig bidragsyter til utviklingen av stabelstandarder publisert i form av RFC-spesifikasjoner.

Siden TCP/IP-stakken ble utviklet før bruken av ISO/OSI-sammenkoblingsmodellen for åpne systemer, selv om den også har en flernivåstruktur, er samsvaret mellom TCP/IP-stabelnivåene og nivåene til OSI-modellen ganske betinget. .

Strukturen til TCP/IP-protokollene er vist i figur 1.4. TCP/IP-protokoller er delt inn i 4 nivåer.

Ris. 1.4. TCP/IP-stabel

Den laveste ( nivå IV ) - nivå av nettverksgrensesnitt - tilsvarer de fysiske nivåene og datalinknivåene til OSI-modellen. Dette nivået i TCP/IP-protokollene er ikke regulert, men støtter alle populære standarder for det fysiske og datalinklaget: for lokale kanaler er disse Ethernet, Token Ring, FDDI, for globale kanaler - deres egne protokoller for drift på analog oppringning- opp og leide linjer SLIP/PPP, som etablerer punkt-til-punkt-forbindelser via WAN-seriekoblinger, og WAN-protokollene X.25 og ISDN. Det er også utviklet en spesiell spesifikasjon som definerer bruken av ATM-teknologi som en datalinklagstransport.

Neste nivå ( nivå III ) er internettarbeidslaget som omhandler overføring av datagrammer ved bruk av ulike lokale nettverk, X.25-nettverk, ad hoc-linjer osv. Stabelen bruker protokollen IP, som opprinnelig ble utformet som en protokoll for overføring av pakker i sammensatte nettverk bestående av et stort antall lokale nettverk forbundet med både lokale og globale forbindelser. Derfor fungerer IP-protokollen godt i nettverk med komplekse topologier, rasjonelt ved å bruke tilstedeværelsen av undersystemer i dem og økonomisk bruke båndbredden til lavhastighets kommunikasjonslinjer. IP-protokollen er en datagramprotokoll.

Nivået på internettarbeid inkluderer også alle protokoller relatert til kompilering og modifikasjon av rutingtabeller, for eksempel protokoller for innsamling av rutinginformasjon HVIL I FRED.(Routing Internet Protocol) og OSPF(Åpne Shortest Path First), samt Internet Control Message Protocol ICMP(Internet Control Message Protocol). Sistnevnte protokoll er designet for å utveksle informasjon om feil mellom ruteren og gatewayen, kildesystemet og destinasjonssystemet, det vil si å organisere tilbakemelding. Ved å bruke spesielle ICMP-pakker rapporteres det at det er umulig å levere en pakke, at levetiden eller varigheten av å sette sammen en pakke fra fragmenter er overskredet, unormale parameterverdier, en endring i videresendingsruten og typen tjeneste, tilstanden til systemet osv.

Neste nivå ( nivå II) kalles grunnleggende. Overføringskontrollprotokollen fungerer på dette nivået TCP(Transmission Control Protocol) og User Datagram Protocol UDP(Bruker Datagram Protocol). TCP-protokollen gir en stabil virtuell forbindelse mellom eksterne applikasjonsprosesser. UDP-protokollen sikrer overføring av applikasjonspakker ved bruk av datagrammetoden, det vil si uten å etablere en virtuell forbindelse, og krever derfor mindre overhead enn TCP.

Toppnivå ( nivå I) kalles anvendt. I løpet av mange års bruk i nettverkene til forskjellige land og organisasjoner har TCP/IP-stakken akkumulert et stort antall protokoller og tjenester på applikasjonsnivå. Disse inkluderer så mye brukte protokoller som FTP-filkopieringsprotokollen, telnet-terminalemuleringsprotokollen, SMTP-postprotokollen som brukes i Internett-e-post og dens russiske filial RELCOM, hyperteksttjenester for tilgang til ekstern informasjon, som WWW og mange andre. La oss se nærmere på noen av dem som er mest knyttet til emnene for dette kurset.

Protokoll SNMP(Simple Network Management Protocol) brukes til å organisere nettverksadministrasjon. Ledelsesproblematikken er her delt i to problemstillinger. Den første oppgaven er knyttet til overføring av informasjon. Protokoller for overføring av kontrollinformasjon bestemmer prosedyren for interaksjon mellom serveren og klientprogrammet som kjører på administratorens vert. De definerer meldingsformatene som utveksles mellom klienter og servere, samt formatene for navn og adresser. Den andre utfordringen er knyttet til kontrollerte data. Standardene regulerer hvilke data som skal lagres og akkumuleres i gatewayer, navnene på disse dataene og syntaksen til disse navnene. SNMP-standarden definerer en spesifikasjon for en informasjonsdatabase for nettverksadministrasjon. Denne spesifikasjonen, kjent som Management Information Base (MIB), definerer dataelementene som en vert eller gateway må lagre og de tillatte operasjonene på dem.

Filoverføringsprotokoll FTP(File Transfer Protocol) implementerer ekstern filtilgang. For å sikre pålitelig overføring bruker FTP den tilkoblingsorienterte protokollen - TCP - som transport. I tillegg til filoverføringsprotokoll tilbyr FTP andre tjenester. Dette gir brukeren muligheten til å interagere interaktivt med en ekstern maskin, for eksempel kan han skrive ut innholdet i katalogene; FTP lar brukeren spesifisere typen og formatet på dataene som skal lagres. Til slutt autentiserer FTP brukere. Før de får tilgang til filen, krever protokollen at brukerne oppgir brukernavn og passord.

I TCP/IP-stakken tilbyr FTP det mest omfattende settet med filtjenester, men er også det mest komplekse å programmere. Applikasjoner som ikke krever alle egenskapene til FTP kan bruke en annen, mer kostnadseffektiv protokoll - Simple File Transfer Protocol TFTP(Trivial File Transfer Protocol). Denne protokollen implementerer kun filoverføring, og transporten som brukes er en enklere enn TCP, tilkoblingsløs protokoll - UDP.

Protokoll telnet gir overføring av en strøm av byte mellom prosesser, så vel som mellom en prosess og en terminal. Oftest brukes denne protokollen til å emulere en ekstern datamaskinterminal.

IPX/SPX stack

Denne stabelen er den originale Novell-protokollstakken, som den utviklet for sitt NetWare-nettverksoperativsystem tilbake på begynnelsen av 80-tallet. Internetwork Packet Exchange (IPX) og Sequenced Packet Exchange (SPX)-protokollene, som gir stabelen navnet, er direkte tilpasninger av Xerox sine XNS-protokoller, som er mye mindre vanlige enn IPX/SPX. Når det gjelder installasjoner, er IPX/SPX-protokollene de ledende, og dette skyldes at NetWare OS selv inntar en ledende posisjon med en andel installasjoner på verdensbasis på ca. 65 %.

Novell-protokollfamilien og deres korrespondanse med ISO/OSI-modellen er presentert i figur 1.5.

Ris. 1.5. IPX/SPX stack

fysiske nivåer og datakoblingsnivåer Novell-nettverk bruker alle populære protokoller på disse nivåene (Ethernet, Token Ring, FDDI og andre).

nettverksnivå protokollen fungerer i Novell-stakken IPX, samt ruting av inHVIL I FRED. Og NLSP(analogt med OSPF-protokollen til TCP/IP-stakken). IPX er en protokoll som omhandler adressering og ruting av pakker på Novell-nettverk. IPX-rutingsbeslutninger er basert på adressefeltene i pakkehodet, samt informasjon fra protokoller for utveksling av rutinginformasjon. For eksempel bruker IPX informasjon gitt av enten RIP eller NLSP (NetWare Link State Protocol) for å videresende pakker til måldatamaskinen eller neste ruter. IPX-protokollen støtter bare datagram-metoden for meldingsutveksling, på grunn av hvilken den forbruker dataressurser økonomisk. Så IPX-protokollen gir tre funksjoner: angi en adresse, etablere en rute og sende datagrammer.

Transportlaget til OSI-modellen i Novell-stakken tilsvarer SPX-protokollen, som utfører tilkoblingsorientert meldingsoverføring.

På toppen applikasjons-, presentasjons- og øktnivåer NCP- og SAP-protokoller fungerer. Protokoll NCP(NetWare Core Protocol) er en protokoll for interaksjon mellom NetWare-serveren og arbeidsstasjonsskallet. Denne applikasjonslagsprotokollen implementerer klient-server-arkitekturen i de øvre lagene av OSI-modellen. Ved å bruke funksjonene til denne protokollen kobler arbeidsstasjonen seg til serveren, tilordner serverkatalogene til lokale stasjonsbokstaver, skanner serverens filsystem, kopierer eksterne filer, endrer attributtene deres osv., og deler også en nettverksskriver mellom arbeidsstasjoner.

(Service Advertising Protocol) - tjenesteannonseringsprotokollen er konseptuelt lik RIP-protokollen. Akkurat som RIP lar rutere utveksle rutinginformasjon, lar SAP nettverksenheter utveksle informasjon om tilgjengelige nettverkstjenester.

Servere og rutere bruker SAP til å annonsere for sine tjenester og nettverksadresser. SAP-protokollen lar nettverksenheter kontinuerlig oppdatere informasjon om hvilke tjenester som for øyeblikket er tilgjengelige på nettverket. Ved oppstart bruker servere SAP for å varsle resten av nettverket om tjenestene deres. Når en server slår seg av, bruker den SAP til å varsle nettverket om at tjenestene har opphørt.

På Novell-nettverk sender NetWare 3.x-servere ut SAP-kringkastingspakker hvert minutt. SAP-pakker tetter nettverket betydelig, så en av hovedoppgavene til rutere som får tilgang til global kommunikasjon er å filtrere trafikk fra SAP-pakker og RIP-pakker.

Funksjonene til IPX/SPX-stakken skyldes funksjonene til NetWare OS, nemlig orienteringen til de tidlige versjonene (opptil 4.0) for arbeid i små lokale nettverk bestående av personlige datamaskiner med beskjedne ressurser. Derfor trengte Novell protokoller som krevde en minimumsmengde RAM (begrenset i IBM-kompatible datamaskiner som kjører MS-DOS til 640 KB) og som ville kjøre raskt på prosessorer med lav effekt. Som et resultat fungerte IPX/SPX stackprotokollene inntil nylig bra i lokale nettverk og ikke så godt i store bedriftsnettverk, siden de overbelastet langsomme globale koblinger med kringkastingspakker som brukes intensivt av flere protokoller i denne stabelen (for eksempel til etablere kommunikasjon mellom klienter og servere).

Denne omstendigheten, samt det faktum at IPX/SPX-stakken er Novells eiendom og krever lisens for å implementere den, har i lang tid begrenset distribusjonen kun til NetWare-nettverk. Men da NetWare 4.0 ble utgitt, hadde Novell gjort og fortsetter å gjøre store endringer i protokollene sine for å tilpasse dem til å fungere i bedriftsnettverk. Nå er IPX/SPX-stakken implementert ikke bare i NetWare, men også i flere andre populære nettverksoperativsystemer - SCO UNIX, Sun Solaris, Microsoft Windows NT.

NetBIOS/SMB stack

Microsoft og IBM jobbet sammen om nettverksverktøy for personlige datamaskiner, så NetBIOS/SMB-protokollstabelen er deres felles idé. NetBIOS-verktøy dukket opp i 1984 som en nettverksutvidelse av standardfunksjonene til det grunnleggende input/output-systemet (BIOS) til IBM PC for PC Network-nettverksprogrammet fra IBM, som på applikasjonsnivå (fig. 1.6) brukte SMB ( Server Message Block) protokoll for å implementere nettverkstjenester. .

Ris. 1.6. NetBIOS/SMB stack

Protokoll NetBIOS fungerer på tre nivåer av interaksjonsmodellen for åpne systemer: nettverk, transport og økt. NetBIOS kan gi et høyere servicenivå enn IPX- og SPX-protokollene, men har ikke rutingmuligheter. Dermed er ikke NetBIOS en nettverksprotokoll i ordets strenge forstand. NetBIOS inneholder mange nyttige nettverksfunksjoner som kan tilskrives nettverks-, transport- og sesjonslagene, men den kan ikke brukes til å rute pakker, siden NetBIOS-rammeutvekslingsprotokollen ikke introduserer et slikt konsept som et nettverk. Dette begrenser bruken av NetBIOS-protokollen til lokale nettverk som ikke er undernett. NetBIOS støtter både datagram og tilkoblingsbasert kommunikasjon.

Protokoll SMB, som tilsvarer applikasjons- og representative nivåer for OSI-modellen, regulerer interaksjonen mellom arbeidsstasjonen og serveren. SMB-funksjoner inkluderer følgende operasjoner:

  • Sesjonsledelse. Oppretting og brudd av en logisk kanal mellom arbeidsstasjonen og nettverksressursene til filserveren.
  • Filtilgang. En arbeidsstasjon kan kontakte filserveren med forespørsler om å opprette og slette kataloger, opprette, åpne og lukke filer, lese og skrive til filer, gi nytt navn og slette filer, søke etter filer, hente og angi filattributter og låse poster.
  • Utskriftstjeneste. Arbeidsstasjonen kan sette filer i kø for utskrift på serveren og få informasjon om utskriftskøen.
  • Meldingstjeneste. SMB støtter enkle meldinger med følgende funksjoner: send en enkel melding; sende en kringkastingsmelding; send starten av meldingsblokken; send meldingsblokktekst; send slutten av meldingsblokken; videresend brukernavn; kansellere forsendelsen; få maskinnavnet.

På grunn av det store antallet applikasjoner som bruker API-funksjonene levert av NetBIOS, implementerer mange nettverksoperativsystemer disse funksjonene som et grensesnitt til transportprotokollene deres. NetWare har et program som emulerer NetBIOS-funksjoner basert på IPX-protokollen, og det finnes programvareemulatorer for NetBIOS for Windows NT og TCP/IP-stakken.

Hvorfor trenger vi denne verdifulle kunnskapen? (redaksjonell)

En kollega stilte meg en gang et vanskelig spørsmål. Vel, sier han, du vet hva OSI-modellen er... Og hvorfor trenger du den, hva er den praktiske fordelen med denne kunnskapen: med mindre du viser deg frem foran dummies? Det er ikke sant, fordelene med denne kunnskapen er en systematisk tilnærming til å løse mange praktiske problemer. For eksempel:

  • feilsøking (
feilsøking)

En bruker (bare en venn) kommer til deg som en admin (en erfaren nettverker) og sier - den "kobler seg ikke" til meg her. Det er ikke noe nettverk, sier han, og det er det. Du begynner å finne ut av det. Så, basert på min erfaring med å observere naboene mine, la jeg merke til at handlingene til en person som "ikke er klar over OSI-modellen i hjertet sitt" er preget av karakteristisk kaotisk oppførsel: enten drar han i en ledning, eller plutselig tukler han med noe i nettleseren. Og dette fører ofte til det faktum at en slik "spesialist" beveger seg uten retning, vil dra på alt og hvor som helst bortsett fra i området av problemet, og kaste bort mye av sin egen og andres tid. Når man innser eksistensen av nivåer av interaksjon, vil bevegelsen være mer konsistent. Og selv om utgangspunktet kan være forskjellig (i hver bok jeg kom over var anbefalingene litt forskjellige), er den generelle logiske forutsetningen for feilsøking som følger - hvis på nivå X samhandlingen utføres riktig, så på nivå X-1 mest sannsynligvis er alt i orden også. I det minste for hver enkelt øyeblikk tid. Når jeg feilsøker i IP-nettverk, begynner jeg personlig å "grave" fra det andre nivået av DOD-stakken, også kjent som det tredje OSI-laget, også kalt Internett-protokoll. For det første, fordi det er lettest å utføre en "overfladisk undersøkelse av pasienten" (pasienten er mer sannsynlig å pinge enn ikke), og for det andre, hvis den, gudskjelov, pinger, kan du hoppe over de ubehagelige manipulasjonene av testkabler, nettverkskort og demonteringer osv. hyggelige ting;) Selv om du i spesielt alvorlige tilfeller fortsatt må starte fra nivå en, og det på den mest seriøse måten.

  • gjensidig forståelse med kolleger

For å illustrere dette poenget vil jeg gi deg et eksempel fra livet. En dag inviterte vennene mine fra et lite selskap meg til å besøke meg for å finne ut hvorfor nettverket ikke fungerte bra, og for å gi noen anbefalinger om denne saken. Jeg kommer til kontoret. Og det viser seg at de til og med har en administrator der, kalt i henhold til den gode gamle tradisjonen "programmerer" (og faktisk driver han hovedsakelig med FoxPro;) - en gammel IT-spesialist før perestroika. Vel, jeg spør ham, hva slags nettverk har du? Han: "Hva mener du? Vel, bare et nettverk." Nettverket er generelt som et nettverk. Vel, jeg har noen veiledende spørsmål: hvilken protokoll brukes på nettverksnivå? Han: "HVOR er dette?" Jeg presiserer: "Vel, IP eller IPX eller hva du har..." "Å," sier han, "det virker ja: IPX/noe annet!" Forresten, "det-er-noe annet", som du kanskje har lagt merke til, ligger litt høyere fra nettverksnivået, men det er ikke poenget... Det typiske er at han bygde dette nettverket og til og med vedlikeholdte det dårlig. . Det er ikke overraskende at det visnet bort... ;) Hvis jeg hadde visst om OSI, ville jeg ha skrevet ut et diagram på 5 minutter - fra 10Base-2 til applikasjonsprogrammer. Og du trenger ikke å krype under bordet for å inspisere koaksialledningene.

  • lære nye teknologier

Jeg har allerede dvelet ved dette viktige aspektet i forordet, og jeg vil gjenta det igjen: når du studerer en ny protokoll, bør du først og fremst forstå a) i hvilken(e) protokollstabel(er) den hører hjemme og b) i hvilken del av stabelen og hvem det samhandler med nedenfra og hvem med ham på toppen... :) Og dette vil gi deg fullstendig klarhet i hodet ditt. Og det er forskjellige meldingsformater og APIer - vel, det er et spørsmål om teknologi :)