Syv-nivå OSI-modell. Dataoverføring over OSI-lag. Innkapsling, dekapsulering. Pakkeinnkapsling og mellomnoder

Innkapsling er prosessen med å overføre data fra det øvre laget av applikasjoner ned (langs protokollstabelen) til det fysiske laget for å bli overført over nettverkets fysiske medium (twisted pair, optisk fiber, Wi-Fi, etc.). Dessuten, på hvert nivå, legger ulike protokoller til sin egen informasjon til de overførte dataene.

La meg minne om at OSI-nettverksmodellen består av 7 lag (applikasjonslag, presentasjonslag, sesjon, transport, nettverk, kanal og fysisk). Alle nettverksenheter fungerer etter OSI-modellen, kun noen bruker alle 7 lag, mens andre bruker mindre. Dette lar deg behandle innkommende data flere ganger raskere.

For eksempel bruker datamaskinen din alle 7 lagene, en ruter bruker 3 lavere lag, en svitsj bruker bare 2 lavere lag.

På figuren kan du se samspillet mellom to datamaskiner som det er en ruter mellom. Datamaskiner PC1 og PC2 kan være både hjemmedatamaskiner og servere. Ruteren, som nevnt ovenfor, fungerer bare på tre nivåer av modellen, det er nok av dem (tre nivåer) til å bane en rute i et hvilket som helst nettverk.

La oss nå gå videre til selve prosessen med innkapsling, dekapsulering.

Innkapsling og dekapsulering

Det vil være lettere å forstå disse innkapslings- og dekapslingsprosessene med et eksempel. La oss si at du ønsket å se på en nettside, skrev inn nettadressen i adressefeltet til nettleseren din og trykket på Enter-knappen. Etter det må nettleseren sende en forespørsel til serveren (der denne nettsiden er lagret) for å motta dataene. Akkurat på dette stadiet er nettstedsadressen du skrev inn data som skal overføres til serveren i form av en forespørsel.

Disse dataene slippes fra applikasjonslaget til presentasjonslaget.

På dette nivået konverterer datamaskinen linjen med inntastet tekst (adresse) til et format som er praktisk for overføring videre til det lavere nivået.

Transportlaget mottar data og bestemmer at videre skal det overføres ved hjelp av TCP-protokollen. Før overføring deler transportlaget dataene opp i datastykker og legger til en overskrift til hver del, som inneholder informasjon om de logiske portene til datamaskiner (hvorfra data ble sendt (for eksempel 1223) og som de er ment for (i denne saken 80)). I transportlaget kalles disse databitene med en overskrift segmenter. Segmentene videresendes videre ned til nettverkslaget.

Nettverkslaget, som mottar hvert segment, deler det inn i enda mindre deler og legger til sin egen overskrift til hver del. Overskriften på nettverkslaget inneholder de logiske nettverksadressene til avsenderen (datamaskinen din) og mottakeren (serveren).

Logiske nettverksadresser er velkjente IP-adresser, det er sannsynligvis fortsatt ikke klart hva tallene og prikkene i dem betyr, men snart vil dette gapet i kunnskap bli fylt med tilsvarende informasjon;)

Disse små dataene som allerede har flere overskrifter (spesifikke overskrifter legges også til i de øvre lagene) kalles pakker på nettverkslaget, som igjen overføres til datalinklaget.

På datalinknivå deles pakker inn i enda mindre datastykker, og en trailer legges til dem i tillegg til overskriften lagt til igjen, bare denne gangen på datalinknivå. På dette nivået inneholder overskriftene de fysiske adressene til sendeenhetene og hvem de er beregnet på, og traileren inneholder den beregnede kontrollsummen, en kode (informasjon) som brukes til å bestemme integriteten til dataene.

De fysiske adressene til enhetene er MAC-adresser.

Disse svært små dataene kalles rammer eller rammer (det samme). Videre overføres rammene til det fysiske laget.

Rammer overføres til det fysiske laget i form av bitsignaler og følger gjennom andre nettverksenheter til destinasjonen.

Hele prosessen med å konvertere data (fra det øvre laget) til signaler (til det nedre laget) kalles innkapsling. Se på figuren nedenfor, det er et generelt skjema for innkapsling fra topp til bunn:


Videre når signalene, som går gjennom flere nettverksenheter (i vårt tilfelle er disse en ruter og en svitsj), mottakeren, i dette tilfellet serveren (Du kan klikke på alle bildene, og de vil øke).


Serverens NIC tar biter (i det fysiske laget) og konverterer dem til rammer (for datalinklaget). Linklaget i omvendt rekkefølge må konvertere rammene til pakker (for nettverkslaget), bare før konvertering ser laget først på MAC-adressen (fysisk adresse) til mottakeren, den må samsvare med MAC-adressen til nettverkskortet, ellers vil rammen bli ødelagt. Deretter beregner lenkelaget (hvis MAC-adressen samsvarer) summen av de mottatte dataene og sammenligner den mottatte verdien med verdien til traileren. La meg minne deg på at verdien av tilhengeren ble beregnet på datamaskinen din, og nå, etter overføring over ledningene, sammenlignes den med den mottatte verdien på serveren, og hvis de samsvarer, konverteres rammen til en pakke. Hvis kontrollkoden for dataintegritet er forskjellig, blir rammen umiddelbart ødelagt.

På nettverksnivå blir den logiske adressen (IP-adressen) sjekket; i tilfelle en vellykket sjekk blir pakken konvertert til et segment, og kommer til transportnivået.

På transportnivå sjekkes informasjon fra headeren, hva slags segment det er, hvilken protokoll som brukes, hvilken logisk port den er beregnet på osv. Protokollen som ble brukt var TCP, så et segmentankomstvarsel sendes tilbake til datamaskinen din. Som nevnt ovenfor (når dataene ble pakket inn i et segment), ble i så fall målporten 80 brukt. Fordi denne porten er bare åpen på webserveren, data overføres videre til det øvre nivået.

På de øvre nivåene behandles forespørselen (den angitte nettstedsadressen) av webserveren (det kontrolleres om den forespurte nettsiden er tilgjengelig).

Denne prosessen med å konvertere signaler fra ledning til data kalles prosessen dekapsulering.

Etter at siden er funnet på serveren, konverteres den (tekst, bilder, musikk) til en digital kode, praktisk for innkapsling. En stor mengde data er delt inn i deler og går ned til transportnivå. Der blir et datastykke konvertert til et segment, kun destinasjonsporten vil nå være den du sendte fra (husk, 1223). Segmentet konverteres til en pakke, hvis overskrift inneholder IP-adressen til datamaskinen din og går under. På datalinklaget blir pakken på sin side konvertert til rammer og en header og en trailer legges til. Overskriften inneholder destinasjons-MAC-adressen (i dette tilfellet vil det være gateway-adressen), og traileren inneholder en kontrollkode for dataintegritet. Deretter sender nettverkskortet rammer i form av signaler over kabelen mot datamaskinen din.

Slik foregår nettverkskommunikasjon, innkapsling og dekapsling.

PDU

Du må definitivt huske at de dataene (sammen med overskrifter) som beveger seg fra nivå til nivå (med tillegg av overskrifter eller omvendt) kalles Protocol Data Unit eller PDU... Oversetter vi litterært til russisk, viser det seg mengde data på hvert nivå i modellen... Den første delen av CCNA kommer over PDU-relaterte spørsmål, så husk å huske hva det er;)

Konklusjon

Du er kjent med OSI-nettverksreferansemodellene, TCP/IP (DOD), og prosessene for innkapsling og dekapsulering.

Vi lærte også at forskjellige nettverksenheter opererer på forskjellige nivåer. Men hvilke nettverksenheter som finnes og hvordan de er forskjellige, vil vi finne ut i neste artikkel.

Når en applikasjon sender data ved hjelp av TCP, skyves dataene nedover protokollstabelen, og passerer gjennom hvert lag til de sendes som en strøm av biter over nettverket. Hvert nivå legger til sin egen informasjon til dataene ved å dokke overskrifter. Figur 2 viser denne prosessen. Datablokken som TCP sender til IP-en kalles et TCP-segment. Datablokken som IP-en sender til nettverksgrensesnittet kalles et IP-datagram. Strømmen av biter som overføres over Ethernet kalles en ramme.

Ris. 2

TCP / IP-stabelstruktur

Kort beskrivelse av protokoller

Siden TCP / IP-stabelen ble utviklet før fremveksten av ISO / OSI-modellen for åpne systeminteroperabilitet, selv om den også har en flerlagsstruktur, er samsvaret mellom TCP / IP-stabellagene og OSI-modelllagene ganske vilkårlig.

TCP / IP-protokoller er delt inn i 4 lag

Det laveste (lag IV) tilsvarer de fysiske lagene og datalinklagene til OSI-modellen. Dette laget er ikke regulert i TCP / IP-protokollene, men det støtter alle populære standarder for det fysiske laget og lenkelaget: for lokale nettverk er det Ethernet, Token Ring, FDDI, Fast Ethernet, 100VG-AnyLAN, for globale nettverk - punkt- til-punkt-tilkoblingsprotokoller SLIP og PPP, X.25 pakkesvitsjede LAN-protokoller, rammerelé. Det er også utviklet en spesiell spesifikasjon som definerer bruken av ATM-teknologi som lenkelagstransport. Vanligvis, når en ny LAN- eller WAN-teknologi dukker opp, slutter den seg raskt til TCP/IP-stakken ved å utvikle en RFC som definerer en metode for innkapsling av IP-pakker i rammene.

Det neste nivået (nivå III) er nivået av internettarbeid, som omhandler overføring av pakker ved hjelp av ulike transportteknologier for lokale nettverk, territorielle nettverk, spesielle kommunikasjonslinjer, etc.

Som hovednettverkslagsprotokoll (i form av OSI-modellen) bruker stabelen IP-protokollen, som opprinnelig ble designet som en pakkeoverføringsprotokoll i sammenkoblede nettverk, bestående av et stort antall lokale nettverk, forent av 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 kommunikasjonslinjer med lav hastighet. IP er en datagramprotokoll, det vil si at den ikke garanterer levering av pakker til destinasjonen, men den prøver å gjøre det.

Samarbeidslaget inkluderer også alle protokoller knyttet til kompilering og modifikasjon av rutingtabeller, for eksempel RIP (Routing Internet Protocol) og OSPF (Open Shortest Path First) protokoller, samt Internet Control Message Protocol (ICMP). ). Sistnevnte protokoll er ment for utveksling av informasjon om feil mellom ruterne på nettverket og noden - kilden til pakken. Ved hjelp av spesielle ICMP-pakker rapporteres det at en pakke ikke kan leveres, at levetiden eller varigheten av å sette sammen en pakke fra fragmenter er overskredet, unormale parameterverdier, en endring i videresendingsruten og type tjeneste, tilstanden til systemet osv.

Det neste nivået (nivå II) kalles det viktigste. Transmission Control Protocol (TCP) og User Datagram Protocol (UDP) opererer på dette laget. TCP gir pålitelig meldingsoverføring mellom eksterne applikasjonsprosesser ved å opprette virtuelle tilkoblinger. UDP-protokollen gir overføring av applikasjonspakker på en datagrammåte, akkurat som IP, og fungerer bare som en kobling mellom nettverksprotokollen og en rekke applikasjonsprosesser.

Det øvre nivået (nivå I) kalles applikasjonsnivået. I løpet av årene med 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, hyperteksttjenester for tilgang til ekstern informasjon som WWW og mange andre. La oss dvele ved noen av dem mer detaljert.

File Transfer Protocol (FTP) implementerer ekstern filtilgang.

For å sikre pålitelig overføring bruker FTP den tilkoblingsorienterte protokollen, TCP, som transport. I tillegg til å overføre filer, tilbyr FTP andre tjenester. Så brukeren får muligheten til å samhandle med en ekstern maskin, for eksempel kan han skrive ut innholdet i katalogene. Til slutt utfører FTP brukerautentisering. Før de får tilgang til filen, i henhold til protokollen, må brukere oppgi brukernavn og passord. Passordautentisering er ikke nødvendig for å få tilgang til Internetts offentlige FTP-arkivkataloger, og omgås ved å bruke det forhåndsdefinerte anonyme brukernavnet for slik tilgang.

Telnet-protokollen overfører en strøm av byte mellom prosesser og mellom en prosess og en terminal. Denne protokollen brukes oftest til å emulere en terminal på en ekstern datamaskin. Ved bruk av telnet-tjenesten kontrollerer brukeren faktisk den eksterne datamaskinen på samme måte som den lokale brukeren, så denne typen tilgang krever god beskyttelse. Derfor bruker telnet-servere alltid minst passordautentisering og noen ganger kraftigere sikkerhetsfunksjoner som Kerberos.

SNMP (Simple Network Management Protocol) brukes til å organisere nettverksadministrasjon. SNMP ble opprinnelig utviklet for fjernovervåking og administrasjon av Internett-rutere, som tradisjonelt ofte refereres til som gatewayer. Med den økende populariteten til SNMP-protokollen begynte de å bli brukt til å administrere alt kommunikasjonsutstyr - huber, broer, nettverkskort, etc. etc. SNMP-administrasjonsproblemet er delt inn i to oppgaver.

Den første oppgaven er knyttet til overføring av informasjon. Administrasjonsprotokoller definerer interaksjonen mellom SNMP-agenten som kjører på det administrerte utstyret og SNMP-skjermen som kjører på administratorens datamaskin, som ofte refereres til som administrasjonskonsollen. Transportprotokoller definerer meldingsformatene som utveksles mellom agenter og monitoren.

Den andre oppgaven er relatert til kontrollerte variabler som karakteriserer tilstanden til den kontrollerte enheten. Standardene regulerer hvilke data som skal lagres og akkumuleres i enheter, 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 administrert enhet må lagre og hvilke operasjoner som er tillatt på dem.

Introduksjon

Figur 1.4 viser at hovedoppgaven til lenkelaget i TCP/IP-familien av protokoller er å sende og motta (1) IP-datagrammer for IP-modulen, (2) ARP-forespørsler og svar for ARP-modulen, og (3) RARP-forespørsler og svar for RARP-modulen. TCP / IP støtter forskjellige koblingslag avhengig av hvilken type nettverksmaskinvare som brukes: Ethernet, Token ring, FDDI (Fiber Distributed Data Interface), RS-232 serielle linjer, og så videre.

I dette kapittelet skal vi se nærmere på Ethernet-linklaget, to spesialiserte linklag for serielle grensesnitt (SLIP og PPP), og loopback-driveren som finnes i nesten alle implementeringer. Ethernet og SLIP er koblingslagene som brukes for de fleste eksemplene i denne boken. Vi skal også se på Maximum Transmission Unit (MTU), som er en lenkelagskarakteristikk som vi refererer til mange ganger i dette kapittelet og i det følgende. Vi vil også vise deg noen beregninger som du kan bruke til å velge MTU for serielinjen.

Ethernet og IEEE 802-innkapsling

Begrepet Ethernet refererer vanligvis til en standard publisert i 1982 av Digital Equipment Corp., Intel Corp. og Xerox Corp. Det er for tiden hovedteknologien som brukes i lokale nettverk som bruker TCP / IP. Ethernet bruker en tilgangsmetode kalt CSMA / CD, som står for Carrier Sense, Multiple Access with Collision Detection. Utvekslingen utføres med en hastighet på 10 Mbit / s, ved bruk av 48-biters adresser.

Noen år senere publiserte Institute of Electrical and Electronics Engineers (IEEE) 802 Committee et annet sett med standarder. 802.3 beskriver det komplette settet med CSMA/CD-nettverk, 802.4 beskriver token-passerende nettverk, og 802.5 beskriver token-ring-nettverk. Felles for dem alle er 802.2-standarden, som definerer logisk lenkekontroll (LLC) og som er felles for de fleste 802-nettverk. Dessverre definerer kombinasjonen av 802.2 og 802.3 andre rammeformater enn Ethernet (beskriver alle detaljene til IEEE 802 standarder) ...

I TCP/IP-verdenen er IP-datagraminnkapsling definert i RFC 894 for Ethernet-nettverk og RFC 1042 for IEEE 802-nettverk. Vertskravene RFC stiller følgende krav til hver datamaskin som er koblet til Internett via en 10 Mbps Ethernet-kabel:

  1. Datamaskinen må kunne sende og motta pakker innkapslet ved hjelp av RFC 894 (Ethernet).
  2. Datamaskinen må kunne motta RFC 1042 (IEEE 802)-pakker blandet med RFC 894-pakker.
  3. Datamaskinen må kunne sende pakker ved hjelp av RFC 1042-innkapsling. Hvis datamaskinen kan sende begge typer pakker, må pakketypen være konfigurerbar og standardkonfigurasjonen må settes til RFC 894-pakker.

Den mest brukte innkapslingen er RFC 894. Figur 2.1 viser to ulike innkapslingsmetoder. Tallene under hver rute i figuren er størrelsen i byte.

Begge rammeformatene bruker et 48-biters (6-byte) kilde- og destinasjonsadresseformat (802.3 tillater 16-biters adresser, men 48-biters brukes vanligvis). Dette er det vi kaller maskinvareadresser i teksten. ARP- og RARP-protokoller (se og) etablerer samsvar mellom 32-biters IP-adresser og 48-biters maskinvareadresser.

De neste 2 bytene er forskjellige i disse rammeformatene. Lengdefeltet 802 inneholder antall byte etter det, men inneholder ikke kontrollsummen på slutten. Typefeltet i Ethernet definerer typen data som følger den. I ramme 802 vises det samme typefeltet senere i SNAP-overskriften (Sub-Network Access Protocol). Heldigvis samsvarer aldri verdiene i 802-lengdefeltet verdiene i Ethernet-typefeltet, så de to rammeformatene er lett å skille.

I en Ethernet-ramme blir data umiddelbart etterfulgt av typefeltet, mens i en 802-ramme blir det fulgt av 3 LLC 802.2 byte og 5 SNAP 802.2 byte. Feltene DSAP (Destination Service Access Point) og SSAP (Source Service Access Point) er begge satt til 0xAA. ctrl-feltet er satt til 3. De neste 3 byte, org-kode settes til 0. Deretter kommer 2-byte type-feltet, det samme som vi så i Ethernet-rammeformatet (tilleggsverdier som kan vises i typen feltet er beskrevet i RFC 1340).

Kontrollsumfeltet (CRC) identifiserer feil som oppstod under rammetransport (også noen ganger kalt FCS eller rammesjekksekvens).

Minste rammestørrelse for 802.3 og Ethernet krever at datastørrelsen er minst 38 byte for 802.3 eller 46 byte for Ethernet. For å tilfredsstille dette kravet, er det noen ganger satt inn polstringsbyte for å sikre at rammen har riktig lengde.

Vi vil komme over en minimumsstørrelse igjen når vi vurderer bevegelsen av pakker over kabler. Vi skal også se på Ethernet-innkapsling mer enn én gang, fordi det kanskje er den mest brukte formen for innkapsling.

Figur 2.1 IEEE 802.2 / 802.3 (RFC 1042) innkapsling og Ethernet (RFC 894) innkapsling.

Innkapslende sluttbehandlere

Figur 2.5 er en liste over noen typiske MTU-verdier hentet fra RFC 1191. MTU-er er gitt her for punkt-til-punkt-lenker (som SLIP eller PPP), men de er ikke fysiske egenskaper for overføringsmediet. Dette er en logisk begrensning som sikrer tilstrekkelig responstid for interaktiv bruk. I delen av kapittel 2 skal vi se på hvor denne begrensningen kommer fra.

I delen av kapittel 3 vil vi bruke netstat-kommandoen til å bestemme MTUen for et spesifikt grensesnitt.

Nettverk

MTU (bytes)

Hyperkanal
16 Mbps Token ring (IBM)
4 Mbps Token ring (IEEE 802.5)
FDDI
Ethernet
IEEE 802.3 / 802.2
X.25
Punkt til punkt (lav ventetid)

Figur 2.5 Typiske verdier for maksimale overføringsenheter (MTU).

Transport MTU

Når to datamaskiner kommuniserer på samme nettverk, er MTUen for det nettverket viktig. Men når to datamaskiner kommuniserer på forskjellige nettverk, kan hver mellomkobling ha en annen MTU. I dette tilfellet er det ikke MTUen til de to nettverkene som datamaskinene er koblet til som er viktig, men den minste MTUen av en datakanal mellom de to datamaskinene. Det kalles transport MTU (sti MTU).

Transport MTU mellom to verter er kanskje ikke konstant. MTU avhenger av trafikkbelastningen for øyeblikket. Det avhenger også av ruten. Ruten kan være asymmetrisk (ruten fra A til B er kanskje ikke den samme som ruten fra B til A i det hele tatt), så MTU er kanskje ikke den samme for de to retningene.

RFC 1191 beskriver en bane-MTU-oppdagelsesmekanisme. Vi skal se på hvordan denne mekanismen fungerer etter at vi har beskrevet ICMP og IP-fragmentering. I delen av kapittel 11 vil vi se nærmere på ICMP unreachable feilen som brukes i denne mekanismen, og i delen av kapittel 11 vil vi vise en versjon av traceroute-programmet som bruker mekanismen for å bestemme transport MTU til målet. Avsnittene i kapittel 11 og kapittel 24 viser hvordan UDP og TCP fungerer når implementeringen støtter MTU-deteksjon.

Beregner seriell linjebelastning

Hvis linjehastigheten er 9600 bps, hvor 1 byte er 8 bits pluss 1 startbit og 1 stoppbit, vil linjehastigheten være 960 byte/sek. Å sende en 1024 byte-pakke med denne hastigheten vil ta 1066 ms. Hvis vi bruker en SLIP-kanal for en dialogapplikasjon og en applikasjon som FTP kjører samtidig med den, som sender eller mottar pakker på 1024 byte, må vi vente, siden den gjennomsnittlige ventetiden til vår interaktive pakke vil være 533 ms.

Dette betyr at dialogpakken vår sendes over røret før enhver annen "stor" pakke. De fleste SLIP-applikasjoner gir pakkeseparasjon etter tjenestetype ved å sende samtaletrafikk før datatrafikk. Dialogtrafikk er vanligvis Telnet, Rlogin og kontrolldelen (brukerkommandoer, men ikke data) FTP.

Naturligvis er en slik inndeling etter tjeneste ufullkommen. Det har ingen effekt på ikke-interaktiv trafikk som allerede er i kø for overføring (for eksempel av en seriell driver). Nye modeller av modemer som har store buffere og tillater å bufre ikke-interaktiv trafikk i modemets buffer, noe som også påvirker forsinkelsen av dialogtrafikk.

Å vente i 533ms er ikke akseptabelt for et interaktivt svar. Fra et menneskelig perspektiv vet vi at latens lengre enn 100-200ms er uakseptabelt [Jacobson 1990a]. Latency refererer til tiden mellom sending av en pakke og retur av et svar (vanligvis et tegnekko).

Å redusere MTU på en SLIP-kobling til 256 betyr at den maksimale tiden en kobling kan okkuperes av én ramme er 266 ms, og halvparten av det (gjennomsnittlig latenstid) er 133 ms. Dette er bedre, men fortsatt ikke perfekt. Grunnen til at vi valgte denne verdien (som 64 og 128 sammenligner) er for å utnytte datalinken bedre (som når du overfører en stor fil). I tilfellet med en 261 byte CSLIP-ramme med en 5 byte header (256 databyte), brukes 98,1 % av linjen til dataoverføring og 1,9 % til header. Å redusere MTU til mindre enn 256 reduserer den maksimale linjebåndbredden vi kan få når vi overfører data.

En MTU-verdi på 296 for en punkt-til-punkt-kobling (Figur 2.5) innebærer 256 byte med data og 40 byte med TCP- og IP-hoder. Siden MTU er en verdi som IP lærer fra koblingslaget, bør denne verdien inkludere standard TCP- og IP-overskrifter. Dette er hvordan IP tar fragmenteringsbeslutningen. IP-en vet ingenting om header-komprimeringen som CSLIP gjør.

Vår gjennomsnittlige ventetidsberegning (halvparten av tiden det tar å overføre en maksimal rammestørrelse) gjelder kun for SLIP-lenken (eller PPP), som brukes til å overføre interaktiv og datatrafikk. Når bare interaktiv trafikk utveksles, er overføringstiden for én byte med data i hver retning (i tilfelle av en komprimert 5-byte header) omtrent 12,5 ms, med en hastighet på 9600 bps. Dette passer godt inn i 100-200ms-området vi nevnte tidligere. Vær også oppmerksom på at komprimering av overskriftene fra 40 til 5 byte reduserer latensen per byte fra 85 ms til 12,5 ms.

Dessverre er ikke disse beregningene helt korrekte når feilretting og komprimering brukes i modemer. Komprimering i modemer reduserer antall byte som sendes over linjen, men feilretting kan øke overføringstiden for disse bytene. Disse beregningene gir oss imidlertid et utgangspunkt for å ta en intelligent avgjørelse.

I de følgende kapitlene vil vi bruke disse serielinjeberegningene for å bestemme noen av timerverdiene som brukes ved overføring av pakker over serielle linjer.

Korte konklusjoner

Dette kapittelet diskuterte det laveste laget av Internett-protokollfamilien, datalinklaget. Vi har dekket forskjellen mellom Ethernet- og IEEE 802.2 / 802.3-innkapslinger, og innkapslingen som brukes i SLIP og PPP. Siden både SLIP og PPP ofte brukes på trege lenker, gir de metoder for å komprimere vanlige felt (som nesten alltid er de samme). Dette forbedrer responstiden.

Loopback-grensesnittet finnes i de fleste design. Dette grensesnittet kan nås via en spesiell adresse, vanligvis 127.0.0.1, eller ved å sende IP-datagrammer til en av vertens egne IP-adresser. Data som sendes til loopback-grensesnittet blir fullstendig behandlet av transportlaget og IP når de går gjennom protokollstakken.

Vi har beskrevet en viktig egenskap ved de fleste lenkelag, MTU, og det tilsvarende transport MTU-konseptet. Ved å bruke standard MTU for serielle linjer, beregnet vi tidsforsinkelsen som eksisterer på SLIP- og CSLIP-koblinger.

Dette kapittelet diskuterer bare noen få vanlige kanalteknologier som brukes i TCP/IP i dag. En av grunnene til at TCP / IP brukes med hell er muligheten til å jobbe på toppen av nesten hvilken som helst kanalteknologi.

Øvelser

Hvis systemet ditt støtter netstat (1)-kommandoen (se kapittel 3, seksjon), bruk den til å bestemme grensesnittene på systemet og deres MTU-er.

TCP / IP-protokollstabelen har midler til å støtte en rekke fysiske nettverk og transportsystemer, inkludert IZERNET, DSL, Wi-Fi, etc.

Administrering av verter, nemlig maskinvaren til vertene, utføres på datalinklaget til TCP/IP-arkitekturen. Protokollene med høyere lag vet ikke nøyaktig hvordan maskinvaren brukes. Data overføres over nettverket i form av pakker, pakkene har en maksimal størrelse bestemt av begrensningene til lenkelaget. Hver pakke består av en overskrift og nyttig innhold. Overskriften inneholder informasjon om hvor pakken kom fra og hvor den går, også overskriften kan inneholde en kontrollsum, informasjon spesifikk for en bestemt protokoll og andre instruksjoner angående behandling av innholdet i pakken. Nyttelasten til pakken er dataene som skal sendes. Navnet på den grunnleggende blokken med overførte data avhenger av protokolllaget til TCP/IP-stabelarkitekturen. Datalinklaget bruker begrepet ramme eller ramme, IP-laget bruker begrepet pakke, og transportlaget bruker begrepet segment. En klar til å sende pakke sendes gjennom protokollstabelen, og hver protokoll legger til sin egen overskrift. Dermed blir den genererte pakken til én protokoll det nyttige innholdet i pakken generert av den neste protokollen. Denne operasjonen kalles innkapsling (forsegling). På mottakssiden blir innkapslede pakker gjenvunnet i omvendt rekkefølge når de reiser opp i stabelen.

ARP er en adresseoversettelsesprotokoll.

ARP-protokoller er maskinvareuavhengige. For selve dataoverføringen på datalinklaget må det brukes maskinvareadresser (MAC-adresser). ARP bestemmer hvilken maskinvareadresse som er knyttet til en bestemt IP-adresse. ARP kan brukes på ethvert nettverk som støtter koblingslagskringkasting. Når PC A ønsker å sende en pakke til PC B, bruker den ARP for å finne maskinvareadressen til PC B. Exodus. en ARP-forespørsel inkluderer IP-adressen og MAC-adressen til den forespørrende parten, slik at søkeren kan svare uten å sende sin egen ARP-forespørsel, dette lar begge datamaskinene lære hverandres adresser i en enkelt pakkeutvekslingsøkt. Andre datamaskiner som hørte den opprinnelige kringkastingsforespørselen, kan skrive forespørselens IP-adresse inn i tabellen. Hver datamaskin koblet til nettverket lager en spesiell tabell i minnet kalt ARP CACHE. Denne tabellen lagrer resultatene av de siste ARP-forespørslene.

IP-pakkeformat

Det er en direkte sammenheng mellom antall pakkehodefelt og den funksjonelle kompleksiteten til protokollen. Jo enklere overskriften er, jo enklere er protokollen. De fleste handlingene til protokollen har blitt overført til pakkehodefeltet, ved å studere navnet på hvert felt i IP-pakkehodet får vi ikke bare funksjonell kunnskap, men blir også kjent med de grunnleggende funksjonene til protokollen. En IP-pakke består av en header og data.

Ruting i tcp/ip-nettverk

Begrepet ruting brukes i 2 tilfeller:

    Prosedyren for å finne en nettverksadresse i spesielle tabeller for overføring av en pakke til en destinasjonsnode.

    Prosessen med å bygge et slikt bord.

Rutetabell

Verter sender bare pakker til gatewayer som er fysisk koblet til samme nettverk. Lokale verter kan bare flytte pakker 1 trinn mot destinasjonsverten. Derfor inkluderer de ikke informasjon om ikke-sammenhengende gatewayer i den lokale rutingtabellen. Hver gateway som pakken passerer gjennom, tar en beslutning om bevegelsen, og analyserer sin egen rutingtabell.

Rutingtabeller opprettholdes (er) statiske, dynamiske eller kombinert.

Statisk metode - en rutetabell dannes i gatewayen, som forblir uendret gjennom hele systemets tid. Statisk ruting er en effektiv løsning for et relativt stabilt lokalnettverk. Det er enkelt å administrere, pålitelig i drift, men krever kunnskap om nettverkstopologien på tidspunktet for dannelsen av denne tabellen. De fleste datamaskiner på et slikt lokalnettverk har bare én tilgang til andre nettverk, så ruting utføres langs en standardrute. I nettverk med mer kompleks topologi kreves dynamisk ruting, som utføres av en spesiell prosess som leder og ruter rutingtabellene. Rutingprosessen er fikset på forskjellige verter som samhandler med hverandre for å bestemme nettverkstopologien og løse problemet med å levere en pakke til en ekstern node.

Pakkeinnkapsling og mellomnoder

Når du flytter en pakke med applikasjonsprosessdata gjennom nivåene fra topp til bunn hvert nytt nivå legger til sin egen tjenesteinformasjon til pakken i form av en overskrift og kanskje slutt (tilhenger) - informasjon plassert på slutten av meldingen.

Denne operasjonen kalles innkapsling toppnivådataene til bunnnivåpakken. Tjenesteinformasjon er ment for et objekt på samme nivå på en ekstern datamaskin, formatet og tolkningen bestemmes av protokollen for dette nivået.

Dataene som kommer fra det øvre laget kan være pakker med allerede innkapslede data fra et enda høyere lag.

Når en pakke mottas fra det nedre laget, deles den opp i overskrift, trailer og data. Tjenesteinformasjonen fra headeren og traileren blir analysert, og i samsvar med den tas det en beslutning om hva som skal gjøres med dataene i den mottatte pakken.

Et av alternativene er å sende data til et av objektene på øverste nivå (som skal angis i den analyserte tjenesteinformasjonen). Sistnevnte betrakter på sin side disse dataene som en pakke med sin tjenesteinformasjon og data for et enda høyere nivå, og prosedyren gjentas inntil brukerdataene, fjernet for all tjenesteinformasjon, når søknadsprosessen.

Men det er en mulighet for at pakken ikke vil bli fraktet til det høyeste nivået (for eksempel hvis denne datamaskinen er en mellomstasjon på vei mellom avsender og mottaker). I dette tilfellet vil objektet til det tilsvarende nivået, når det analyserer tjenesteinformasjonen, legge merke til at pakken på dette nivået ikke er adressert til den. Objektet vil da ta de nødvendige trinnene for å omdirigere pakken til destinasjonen eller returnere den til avsenderen med en feilmelding, men vil uansett ikke presse dataene til toppnivået.

OSI-baserte protokoller brukes sjelden:

På grunn av dens ikke alltid berettigede kompleksitet;

OSI-modellen er referansebasen for klassifisering og kartlegging av protokollstabler.

Modell og fire lag med TCP/IP-stabler

Nett Internett skiller seg fra andre nettverk i sine protokoller og først og fremst av TCP/IP-protokollene.

Protokoll- den et sett med regler, definere arten av brukerinteraksjon, sekvens av utførelse ved dem handlinger i utveksling av informasjon.

TCP / IP-term midler alt relatert til kommunikasjonsprotokoller mellom datamaskiner i et nettverk. Denne protokollen er en samling av flere protokoller, applikasjonsprogrammer og til og med selve nettverket.

TCP / IP-protokollen har fått navnet sitt fra to typer kommunikasjonsprotokoller:

Transmission Control Protocol (TCP);

Internett-protokoll (IP).

På denne måten , TCP/IP- fellesnavn for en stabel med nettverksprotokoller på forskjellige nivåer, brukt på Internett.

Funksjoner av TCP / IP.

Åpne protokollstandarder utviklet uavhengig av programvare og maskinvare;

Uavhengighet fra det fysiske overføringsmediet;

Unikt adresseringssystem;

Standardiserte protokoller på høyt nivå for vanlige tilpassede tjenester.

TCP/IP-protokollstabelen er delt inn i fire lag :

jeg søkte). Applikasjoner som fungerer med TCP / IP-stakken kan også fungere som presentasjonslag og delvis i OSI-sesjonsmodellen.

Vanlige eksempler på applikasjoner er programmer telnet, ftp, WWW-servere og klienter (nettlesere), e-postprogrammer. For å sende data over nettverket til en annen applikasjon, får den tilgang til en eller annen transportlagmodul;

II.transport Protokollene til dette laget gir transparent (ende-til-ende) datalevering mellom to applikasjonsprosesser. De bruker Internett-laget til å sende og motta data sendt til hverandre. Det er to hovedprotokoller på transportlaget:

1. TCP (Transmission Control Protocol) - pålitelig tilkoblingsorientert protokoll: den styrer den logiske kommunikasjonsøkten zi (etablerer, vedlikeholder og lukker en forbindelse) mellom prosesser og sikrer pålitelig (feilfri og garantert) levering av applikasjonsdata fra prosess til prosess;

På denne måten , TCP-protokollsikrer pålitelig levering, ufeilbarlighet og korrekt opptaksprosedyre overført data.

Protokoll TCP (Overføringskontrollprotokoll, Transfer Control Protocol) gir ende-til-ende datalevering mellom applikasjonsprosesser som kjører på noder som kommuniserer over nettverket.

Modul TCP utfører overføring av kontinuerlige datastrømmer mellom sine klienter i begge retninger... Kunder TCP er søknadsprosessene som kaller modulen TCP om nødvendig motta eller sende data til en klientprosess på en annen node.

Protokoll TCP behandler klientdata som en kontinuerlig utolket strøm av pakker. TCP deler denne strømmen i deler for videresending til en annen node i TCP-segmenter av en viss størrelse. For å sende eller motta en segmentmodul TCP kaller modulen IP.

På denne måten , TCP deler informasjonen som skal sendes inn i flere deler... Nummerer hver del for å gjenopprette rekkefølgen senere. For å sende denne nummereringen sammen med dataene, dekker han hver enkelt informasjon med sitt eget omslag - en konvolutt som inneholder den relevante informasjonen. Dette er TCP-konvolutten. Den resulterende TCP-pakken legges i en egen IP-konvolutt og det oppnås en IP-pakke som nettverket allerede vet hvordan det skal håndtere.

Mottakeren (TCP-modul (prosess)) pakker ut IP-konvoluttene ved mottak og ser TCP-konvoluttene, pakker dem også ut og legger dataene i en sekvens av deler på riktig sted. Hvis noe mangler, krever han å sende dette stykket på nytt. Til slutt blir informasjonen samlet inn i riktig rekkefølge og fullstendig gjenopprettet. Nå sendes denne matrisen høyere til brukeren (til disk, til skjerm, til utskrift).

Internett bruker et stort antall andre protokoller, men dette nettverket blir ofte referert til som TCP/IP-nettverk, siden disse to protokoller er avgjørende.

2. UDP (User Datagram Protocol) - brukerdatagramprotokoll er en upålitelig tilkoblingsløs protokoll: dette betyr at verken en logisk økt eller pålitelig levering av applikasjonsdata leveres av denne protokollen. Faktisk tilbyr UDP ingen andre tjenester enn multipleksing av pakker med applikasjonsdata - det vil si å dirigere data til en eller annen applikasjon avhengig av portnummeret. UDP-tjenester brukes, for eksempel domenenavnsystemet (DNS), nettverksfilsystemet NFS;



III. Nettverk (nettverk eller Internett). Hovedprotokollen til dette laget er Internet Protocol (IP). Denne protokollen er sentrum som hele TCP/IP-stakken er bygget rundt.

IP-protokollansvarlig for å finne en rute(eller ruter) på Internett fra en datamaskin til en annen gjennom mange mellomliggende nettverk, gatewayer og rutere, og overføring av datablokker langs disse rutene.

Protokoll IP er en upålitelig protokoll forbindelsesløs... Dette betyr at protokollen IP bekrefter ikke levering av data, kontrollerer ikke integriteten til de mottatte dataene og utfører ikke en bekreftelsesoperasjon (håndtrykk)- utveksling av tjenestemeldinger som bekrefter etableringen av en forbindelse med destinasjonsnoden og dens beredskap til å motta data.

Protokoll IP behandler hvert datagram som en uavhengig enhet, uten tilknytning til andre datagrammer i Internett. Etter at datagrammet er sendt til nettverket, blir dets videre skjebne ikke på noen måte kontrollert av avsenderen (på protokollnivå IP). Hvis datagrammet ikke kan leveres, blir det ødelagt. Noden som ødela datagrammet kan sende til returadressen ICMP-melding, om årsaken til feilen.

En av hovedoppgavene løst av protokollen IP, - ruting av datagrammer, de. bestemme banen til et datagram fra en vert til en annen basert på mottakerens adresse.

På denne måten , IP-protokoll leverer blokker med data kalt datagrammer fra en IP-adresse til en annen over et datanettverk. En IP-adresse er en unik 32-bits identifikator for en datamaskin (mer presist, nettverksgrensesnittet). Dataene for et datagram er en blokk med data som overføres til IP-modulen av transportlaget. IP-modulen går foran disse dataene med en overskrift som inneholder kilde- og destinasjons-IP-adressene og annen tjenesteinformasjon, og datagrammet som genereres på denne måten blir overført til nettverkstilgangslaget for sending over dataoverføringskanalen;

IV. Nettverkstilgang), som utfører følgende funksjoner:

· Kartlegging av IP-adresser til fysiske nettverksadresser. Denne funksjonen utføres av Address Resolution Protocol. ARP (Address Resolution Protocol);

· Innkapsling av IP-datagrammer i rammer for overføring over en fysisk kanal og utvinning av datagrammer fra rammer. Dette krever ingen kontroll over overføringsfeilen, siden i TCP / IP-stakken er slik kontroll tildelt transportlaget eller til selve applikasjonen;

· Bestemmelse av metoden for tilgang til overføringsmediet, det vil si metoden som datamaskinen etablerer sin rett til å utføre dataoverføring på;

· Bestemmelse av representasjon (koding) av data i det fysiske miljøet;

· Sending og mottak av en ramme.

Ofte fungerer hele protokollstabler som laget for tilgang til nettverket; så snakker de om IP over ATM, IP over IPX osv.