Introduktion til OSI

Da ARPA-netværket netop var under udvikling, ville vi virkelig gøre det så smart som muligt. Men jo mere komplekst netværket er, jo sværere er det at udvikle og vedligeholde. Som en løsning blev det foreslået at opdele alle netværksfunktioner i logiske lag.

Netværksdriftsmodellen omtales som netværksmodellen for ISO/OSI Open Systems Interconnection Base Reference Model. Kort fortalt - OSI-modellen (Open Systems Interconnection).

OSI model

I alt er der 7 niveauer i denne model. Samspillet mellem niveauer er strengt standardiseret og minimeret. Det lavere niveau har ingen idé om tilstedeværelsen af ​​højere niveauer og deres struktur.

Det laveste lag kan bare sende bits . Ikke engang sende, nemlig sende. Han aner ikke, om de vil eller ej. Sendt og glemt.

Et højere niveau opererer allerede med grupper af bit- frames , og kender lidt til netværkets fysiske enhed, forstår MAC-adresser og lignende.

Det næste niveau er batch. Han er endnu klogere og ved, hvordan man arbejder med netværks IP-adresser. Og så videre.

Hvorfor er alt dette nødvendigt? For at maksimere fleksibiliteten.

Forestil dig, at hvert lag er et Java-interface, og det kan have flere forskellige implementeringer. Så også her. På det fysiske niveau kan du sende bits over ledningen, sende over luften (Wi-Fi), sende via satellit, og alle andre niveauer vil ikke engang vide noget om det. Og alt vil fungere efter hensigten.

OSI protokol stak

Du kan studere protokolstakken mere detaljeret på billedet nedenfor :

Men hvis du ikke er systemadministrator, behøver du ikke en sådan detaljering af protokoller. Mere interessant kan studiet af TCP (Transmission Control Protocol) / IP (Internet Protocol) protokolstakken være.

De tre øverste lag i OSI-modellen, dvs. applikationslaget, præsentationslaget og sessionslaget, skelnes ikke separat i TCP/IP-modellen, som kun har et applikationslag over transportlaget:

Fordeling af protokoller efter lag af OSI-modellen

TCP/IP OSI
Anvendt Anvendt HTTP, SMTP, SNMP, FTP, Telnet, SSH, SCP, SMB, NFS, RTSP, BGP
Repræsentation XDR, AFP, TLS, SSL
session ISO 8327 / CCITT X.225, RPC, NetBIOS, PPTP, L2TP, ASP
Transportere Transportere TCP, UDP, SCTP, SPX, ATP, DCCP, GRE
netværk netværk IP, ICMP, IGMP, CLNP, OSPF, RIP, IPX, DDP
kanaliseret kanaliseret Ethernet, Token ring, HDLC, PPP, X.25, Frame relay, ISDN, ATM, SPB, MPLS, ARP/td>
Fysisk elektriske ledninger, radiokommunikation, fiberoptiske ledninger, infrarød stråling

TCP/IP protokolstak

TCP/IP-protokolstakken inkluderer fire lag:

  • Applikationslag _
  • Transport lag
  • Internetlag (netværkslag) (internetlag)
  • Linklag (Netværksadgangslag)

Protokollerne i disse lag implementerer fuldt ud al OSI-modellens funktionalitet. Al brugerinteraktion i IP-netværk er bygget på TCP/IP-protokolstakken.

TCP/IP-protokolstakken er uafhængig af den fysiske hardware, hvilket blandt andet sikrer fuldstændig gennemsigtig interaktion mellem kablede og trådløse netværk.

Applikationslaget er det sted, hvor de fleste netværksapplikationer kører.

Anvendelseslag

Til interaktion mellem programmer er der protokoller på højt niveau til udveksling af information. For eksempel arbejder browsere ved hjælp af HTTP-protokollen, post sendes ved hjælp af SMTP-protokollen, Telegram arbejder ved hjælp af sin egen krypterede protokol.

Men vi er ikke særlig interesserede i private protokoller. Oftest vil du støde på bulk-protokoller såsom en ftp-klient til FTP (filoverførsel), SSH (sikker forbindelse til en fjernmaskine), DNS (oversættelse af tegn til IP-adresse) og mange andre.

Næsten alle disse protokoller kører oven på TCP, selvom nogle kører over UDP (User Datagram Protocol) for at fremskynde tingene. Men vigtigst af alt har disse protokoller standardporte. Eksempel:

  • 20 FTP til TCP-port 20 (til dataoverførsel) og 21 (til kontrolkommandoer)
  • 22-SSH
  • 23 - Telnet
  • 53 - DNS-forespørgsler
  • 80-HTTP
  • 443 - HTTPS

Disse porte er defineret af Naming Assignment and Unique Parameters Agency (IANA).

Der er flere andre populære applikationslagsprotokoller: Echo, Finger, Gopher, HTTP, HTTPS, IMAP, IMAPS, IRC, NNTP, NTP, POP3, POPS, QOTD, RTSP, SNMP, SSH, Telnet, XDMCP.

transportlag

Transportlagsprotokoller er designet til at løse problemet med garanteret meddelelseslevering.

En besked (datapakke) kan sendes og gå tabt et sted på netværket. I dette tilfælde er det op til transportlaget at overvåge disse situationer og sende beskeden igen, hvis det er nødvendigt.

En anden vigtig opgave for transportlagsprotokollen er at kontrollere rækkefølgen, hvori meddelelser ankommer. Det sker ofte, at beskeder blev sendt i én rækkefølge og ankom i en anden. Og hvis man sammensætter et stort budskab fra sådanne stykker, får man noget sludder.

For at forhindre dette i at ske, opregner transportlaget enten beskeder eller sender ikke en ny, før den har modtaget bekræftelse på modtagelsen af ​​den forrige. De automatiske routingprotokoller, der logisk er til stede på dette lag (fordi de kører oven på IP) er faktisk en del af netværkslagsprotokollerne.

TCP-protokollen er en "garanteret" forbindelses-præ-etableret transportmekanisme, der giver en applikation et pålideligt dataflow, sikrer, at modtagne data er fejlfri, anmoder om data i tilfælde af tab og eliminerer duplikering af data.

TCP giver dig mulighed for at regulere belastningen på netværket, samt reducere ventetiden på data ved overførsel over lange afstande. Desuden garanterer TCP, at de modtagne data blev sendt i nøjagtig samme rækkefølge. Dette er dens største forskel fra UDP.

UDP er en forbindelsesfri datagramprotokol. Det kaldes også en "upålidelig" overførselsprotokol, i betydningen manglende evne til at verificere leveringen af ​​en meddelelse til adressaten, samt den mulige blanding af pakker. Programmer, der kræver garanteret datatransmission, bruger TCP-protokollen.

UDP bruges typisk i applikationer som videostreaming og spil, hvor pakketab tolereres, og genforsøg er vanskeligt eller uberettiget, eller i challenge-response applikationer (såsom DNS-forespørgsler), hvor etablering af en forbindelse kræver flere ressourcer end gensende.

Både TCP og UDP bruger et nummer kaldet en port til at definere protokollen for det øvre lag.