Inleiding tot OSI

Toen het ARPA-netwerk net werd ontwikkeld, wilden we het echt zo slim mogelijk maken. Maar hoe complexer het netwerk, hoe moeilijker het is om het te ontwikkelen en te onderhouden. Als oplossing werd voorgesteld om alle netwerkfuncties op te delen in logische lagen.

Het netwerkbeheermodel wordt het netwerkmodel van het ISO/OSI Open Systems Interconnection Base Reference Model genoemd. In het kort - het OSI-model (Open Systems Interconnection).

OSI-model

In totaal zijn er 7 niveaus in dit model. De interactie van niveaus is strikt gestandaardiseerd en geminimaliseerd. Het lagere niveau heeft geen idee van de aanwezigheid van hogere niveaus en hun structuur.

De onderste laag kan alleen bits versturen . Zelfs niet verzenden, namelijk verzenden. Hij heeft geen idee of ze dat willen of niet. Verzonden en vergeten.

Een hoger niveau werkt al met groepen bits - frames en weet een beetje van het fysieke apparaat van het netwerk, begrijpt MAC-adressen en dergelijke.

Het volgende niveau is batch. Hij is nog slimmer en weet hoe hij met netwerk-IP-adressen moet werken. Enzovoort.

Waarom is dit allemaal nodig? Om de flexibiliteit te maximaliseren.

Stel je voor dat elke laag een Java-interface is en dat deze verschillende implementaties kan hebben. Dus ook hier. Op fysiek niveau kun je bits over de draad verzenden, via de ether (Wi-Fi) verzenden, via satelliet verzenden en alle andere niveaus zullen er niet eens iets van weten. En alles zal werken zoals bedoeld.

OSI-protocolstack

U kunt de protocolstack in meer detail bestuderen in de onderstaande afbeelding :

Maar als je geen systeembeheerder bent, dan heb je zo'n detaillering van protocollen niet nodig. Interessanter is wellicht de studie van de protocolstack TCP (Transmission Control Protocol) / IP (Internet Protocol).

De bovenste drie lagen in het OSI-model, d.w.z. de applicatielaag, de presentatielaag en de sessielaag, worden niet afzonderlijk onderscheiden in het TCP/IP-model, dat alleen een applicatielaag boven de transportlaag heeft:

Distributie van protocollen door lagen van het OSI-model

TCP/IP OSI
Toegepast Toegepast HTTP, SMTP, SNMP, FTP, Telnet, SSH, SCP, SMB, NFS, RTSP, BGP
Vertegenwoordiging XDR, AFP, TLS, SSL
sessie ISO 8327 / CCITT X.225, RPC, NetBIOS, PPTP, L2TP, ASP
Vervoer Vervoer TCP, UDP, SCTP, SPX, ATP, DCCP, GRE
netwerk netwerk IP, ICMP, IGMP, CLNP, OSPF, RIP, IPX, DDP
geleid geleid Ethernet, Token Ring, HDLC, PPP, X.25, Frame Relay, ISDN, ATM, SPB, MPLS, ARP/td>
Fysiek elektrische draden, radiocommunicatie, glasvezeldraden, infraroodstraling

TCP/IP-protocolstack

De TCP/IP-protocolstack omvat vier lagen:

  • Applicatielaag _
  • Transport laag
  • Internetlaag (Netwerklaag) (Internetlaag)
  • Link-laag (netwerktoegangslaag)

De protocollen van deze lagen implementeren alle functionaliteit van het OSI-model volledig. Alle gebruikersinteractie in IP-netwerken is gebaseerd op de TCP/IP-protocolstack.

De TCP/IP-protocolstack is onafhankelijk van de fysieke hardware, wat onder meer zorgt voor een volledig transparante interactie tussen bedrade en draadloze netwerken.

De toepassingslaag is waar de meeste netwerktoepassingen worden uitgevoerd.

Applicatielaag

Voor de interactie van programma's zijn er protocollen op hoog niveau voor de uitwisseling van informatie. Browsers werken bijvoorbeeld met het HTTP-protocol, mail wordt verzonden met het SMTP-protocol, Telegram werkt met zijn eigen versleutelde protocol.

Maar we zijn niet erg geïnteresseerd in privéprotocollen. Meestal zult u bulkprotocollen tegenkomen, zoals een ftp-client voor FTP (bestandsoverdracht), SSH (beveiligde verbinding met een externe machine), DNS (vertaling van karakter naar IP-adres) en vele andere.

Bijna al deze protocollen draaien bovenop TCP, hoewel sommige over UDP (User Datagram Protocol) lopen om de zaken te versnellen. Maar belangrijker is dat deze protocollen standaardpoorten hebben. Voorbeeld:

  • 20 FTP naar TCP-poort 20 (voor gegevensoverdracht) en 21 (voor besturingsopdrachten)
  • 22-SSH
  • 23 - Telenet
  • 53 - DNS-query's
  • 80-HTTP
  • 443 - HTTPS

Deze poorten worden gedefinieerd door de Naming Assignment and Unique Parameters Agency (IANA).

Er zijn verschillende andere populaire applicatielaagprotocollen: Echo, Finger, Gopher, HTTP, HTTPS, IMAP, IMAPS, IRC, NNTP, NTP, POP3, POPS, QOTD, RTSP, SNMP, SSH, Telnet, XDMCP.

transport laag

Transportlaagprotocollen zijn ontworpen om het probleem van gegarandeerde berichtbezorging op te lossen.

Een bericht (datapakket) kan ergens op het netwerk worden verzonden en verloren gaan. In dit geval is het aan de transportlaag om deze situaties te monitoren en het bericht indien nodig opnieuw te verzenden.

Een andere belangrijke taak van het transportlaagprotocol is het regelen van de volgorde waarin berichten binnenkomen. Het komt vaak voor dat berichten in de ene volgorde zijn verzonden en in een andere zijn aangekomen. En als je uit zulke stukken een grote boodschap samenstelt, krijg je onzin.

Om dit te voorkomen, somt de transportlaag berichten op of verzendt geen nieuwe totdat hij een ontvangstbevestiging van de vorige heeft ontvangen. De automatische routeringsprotocollen die logisch aanwezig zijn op deze laag (omdat ze bovenop IP draaien) maken eigenlijk deel uit van de netwerklaagprotocollen.

Het TCP-protocol is een "gegarandeerd" transportmechanisme dat een vooraf ingestelde verbinding tot stand brengt en een toepassing voorziet van een betrouwbare gegevensstroom, ervoor zorgt dat ontvangen gegevens foutloos zijn, gegevens opnieuw opvraagt ​​in geval van verlies en duplicatie van gegevens elimineert.

Met TCP kunt u de belasting van het netwerk regelen en de wachttijd voor gegevens bij verzending over lange afstanden verkorten. Bovendien garandeert TCP dat de ontvangen gegevens in exact dezelfde volgorde zijn verzonden. Dit is het belangrijkste verschil met UDP.

UDP is een verbindingsloos datagramprotocol. Het wordt ook wel een "onbetrouwbaar" overdrachtsprotocol genoemd, in de zin van het onvermogen om de bezorging van een bericht aan de geadresseerde te verifiëren, evenals de mogelijke vermenging van pakketten. Toepassingen die een gegarandeerde gegevensoverdracht vereisen, gebruiken het TCP-protocol.

UDP wordt meestal gebruikt in toepassingen zoals videostreaming en gaming waarbij pakketverlies wordt getolereerd en opnieuw proberen moeilijk of ongerechtvaardigd is, of in challenge-response-toepassingen (zoals DNS-query's) waarbij het tot stand brengen van een verbinding meer middelen kost dan opnieuw verzenden.

Zowel TCP als UDP gebruiken een nummer dat een poort wordt genoemd om het protocol van de bovenste laag te definiëren.