Wat is TCP/IP en hoe werkt het?

0
114
TCP/IP

In een netwerk moeten apparaten communiceren. Hiervoor zijn communicatieprotocollen en modellen voor hen ontstaan. Onder hen is er het  TCP/IP  -model. De naam komt van twee van zijn protocollen,  TCP  en  IP  .

Op een eenvoudige manier kan worden gezegd dat het protocol de “taal” is die de apparatuur die in een netwerk is aangesloten, gebruikt om te communiceren. Op deze manier kunnen apparaten van verschillende technologieën, fabrikanten en doeleinden elkaar begrijpen.

Zonder gestandaardiseerde communicatieprotocollen zou het bijvoorbeeld moeilijk zijn om een ​​wereldwijd netwerk als internet te laten bestaan.

Om de creatie van protocollen te standaardiseren, werd het OSI-model (Open Systems Interconnection) in 1971 gecreëerd en in 1983 geformaliseerd. Dit model definieert een protocolarchitectuur voor netwerken. Hiermee kunnen verschillende fabrikanten hun apparatuur produceren om te communiceren, de informatie in de communicatie te interpreteren en de gevraagde taak uit te voeren.

Het OSI-model voorspelt dat een netwerk 7 lagen moet hebben:

Applicatie  – Gespecialiseerde functies op applicatieniveau

Presentatie  – Gegevensopmaak en teken- en codeconversie

Sessie  – Onderhandelen en verbinding maken met een ander knooppunt

Transport  – Middelen en methoden voor het leveren van end-to-end data

Netwerk  – Pakketten routeren over een of meer netwerken

Link  – Detectie en correctie van fouten geïntroduceerd door het transmissiemedium

Fysiek  – Transmissie van bits via het transmissiemedium

TCP/IP

TCP/IP is een verzameling communicatieprotocollen. De naam komt van twee protocollen TCP (Transmission Control Protocol) en het IP (Internet Protocol). Het is bedoeld om alle netwerkcommunicatie, met name webcommunicatie, te standaardiseren.

Dit model is in 1969 ontwikkeld door het Amerikaanse ministerie van Defensie als communicatiemiddel voor het ARPANET, de voorloper van internet. Het had de functie om een ​​grote hoeveelheid informatie uit te wisselen tussen een immens aantal computersystemen waarbij bedrijven, universiteiten en overheidsinstanties betrokken waren, allemaal met grote snelheid en betrouwbaarheid.

Hij moet in staat zijn om binnen het door de betrokken organisaties gevormde netwerk de beste te volgen route te bepalen. In 1983, met de formalisering van het OSI-model, werd TCP/IP aangepast aan het model en gedefinieerd als een netwerkcommunicatiestandaard. Vervolgens uitbreiden naar de externe interconnectie van deze netwerken en de internetcommunicatiestandaard vormen.

Het TCP/IP-model heeft slechts 4 lagen die de 7 lagen van het OSI-model omvatten. De hogere lagen ontvangen informatie en verspreiden deze naar de lagere lagen, waarbij ze aan elk van hen de rol toekennen die het zal spelen tijdens de communicatie.

Vergelijking met OSI-model

In vergelijking met het OSI-model kunt u zien hoe de 4 TCP/IP-lagen en hun functies aan elkaar gerelateerd zijn:

Toepassing (laag 4)

Hier vindt u alle serviceprotocollen die rechtstreeks met de software communiceren om het type aanvraag te identificeren dat wordt uitgevoerd.

Zo vinden we HTTP waarmee we kunnen surfen op het web, DNS dat de url van de browser omzet in een uniek nummer (IP) dat wordt gebruikt om de locatie op het netwerk van het te verbinden medium te identificeren, en SMTP dat wordt gebruikt om e-mails te verzenden. mails, SSH die een veilige externe verbinding mogelijk maakt en vele andere.

Na de communicatie tussen software en de applicatielaag wordt de informatie gecodeerd binnen de protocolstandaard en doorgegeven aan de lagere lagen.

Transport (laag 3)

Verantwoordelijk voor de communicatie tussen de betrokken punten (hosts). Het heeft de functie om de betrouwbaarheid en integriteit van de communicatie te handhaven, te verifiëren of het pakket zijn bestemming heeft bereikt en of de daarin opgenomen gegevens op een integrale manier zijn aangekomen.

Hier vinden we TCP, gebruikt in de point-to-point-verbinding. Omdat het een betrouwbaarder verbindingsprotocol is, wordt het gebruikt in toepassingen die niet veel tolerantie hebben voor pakketverlies.

Ook vinden we het UDP-protocol (User Datagram Protocol), een protocol met een niet zo betrouwbare verbinding. Het verifieert niet de betrouwbaarheid en integriteit van de informatie, maar omdat het niet de controlekenmerken heeft die relevant zijn voor TCP, zorgt het voor een snellere overdracht van informatie.

Zo hebben we TCP als het belangrijkste protocol voor verbinding tussen applicaties en UDP voor mediaverkeer (video’s en audio), waarbij snelheid belangrijker is dan integriteit.

deuren

Deze laag maakt gebruik van logische poorten om ervoor te zorgen dat de applicatie (software) die het gesprek heeft gestart, de gewenste applicatie op zijn bestemming vindt. Deze logische poorten zijn willekeurige virtuele kanalen, over het algemeen gedefinieerd door het besturingssysteem, die worden geopend volgens het type toepassing dat wordt uitgevoerd, bijvoorbeeld HTTP gebruikt poort 80, FTP gebruikt poort 21, enz.

Dit virtuele kanaal zorgt ervoor dat een toepassing die een oproep initieert via poort 80, zoals het gebruik van een browser om een ​​HTTP-pagina op computer A te openen, op de bestemming de webserver vindt die ook de door poort 80 gevraagde HTTP-pagina zal leveren Dit voorkomt dat de informatie verkeerd wordt doorgestuurd naar een andere applicatie, zoals een FTP-server (poort 21).

aanvallen

Sommige soorten hackeraanvallen, zoals DDoS (denial of service), gebruiken de overhead van verzoeken op een bepaalde poort, waardoor de service uitvalt. Miljoenen gelijktijdige verbindingsverzoeken via poort 80 van een webserver kunnen er bijvoorbeeld voor zorgen dat de service wordt verbroken en, als gevolg daarvan, de intrekking van de pagina’s die het host voor gebruikers.

Om dit te voorkomen, probeert de transportlaag voortdurend te analyseren en te meten hoeveel het netwerk wordt belast en voert een “load balance” uit, waardoor de snelheid waarmee pakketten worden verzonden wordt verlaagd om overbelasting te voorkomen.

pakketjes

Een andere belangrijke functie is de juiste aflevering van informatiepakketten, het verifiëren van de volgorde van aankomst van pakketten, omdat tijdens het verkeer sommige pakketten kunnen verdwalen. Ter illustratie, laten we zeggen dat informatie geproduceerd in apparatuur A, bestemd voor apparatuur B, gezien de grootte, bij de oorsprong werd opgedeeld in 10 pakketten en doorgestuurd naar punt B.

Bij het bereiken van punt B verifieert de transportlaag, via TCP, de volgorde en, als er onderweg een pakket verloren is gegaan, vraagt ​​het de oorsprong om het opnieuw te verzenden.

Dus als punt B de pakketten 1, 5, 3 en 2 heeft ontvangen, herschikt TCP de volgorde, controleert het op de afwezigheid van pakket 4, verzoekt om het opnieuw te verzenden van dit pakket en, wanneer het aankomt, plaatst het het in de juiste volgorde zodat de bestemming de informatie volledig interpreteren.

Internet of netwerk (laag 2)

Er kan worden gezegd dat hier de GPS van het TCP/IP-pakket is, omdat we binnen deze laag de bron- en bestemmingsadressen van een verbinding vinden.

Tijdens al het pakketverkeer door het netwerk vindt het verschillende apparaten die het naar de beste route leiden om zijn bestemming te bereiken. Deze apparaten worden routers genoemd en naar analogie kunnen ze worden gedefinieerd als knooppunten van een netwerk.

Wanneer de router het pakket ontvangt, leest het de internet- (of netwerk) laag, controleert het het bestemmingsadres, controleert de interne lijst met routes die het heeft en stuurt het pakket naar het juiste pad, wat het langste pad kan zijn met het minste verkeer of de kortste.

Bij het bereiken van de bestemming slaat de apparatuur het bronadres van het ontvangen pakket op, activeert het de gevraagde applicatie in de transportlaag, voert de gevraagde actie uit in de applicatielaag, formuleert het antwoord, kapselt het antwoord in een ander TCP/IP-pakket in, zet het als bestemming het opgeslagen bronadres en voegt het adres in als het bronadres.

Binnen deze laag kunnen we de ICMP- en IGMP-protocollen vinden. De eerste wordt gebruikt om diagnoses te verzenden via het netwerk dat onderweg is. De tweede wordt gebruikt voor gegevensmulticastbeheer.

Een andere functie van deze laag is om routeringsprotocollen te dragen. Bijvoorbeeld BGP, OSPF en RIP, die vastgelegde informatie over netwerkverkeer aan routers leveren terwijl het protocol er doorheen gaat. Hierdoor kunnen deze toestellen hun routelijsten verbeteren. Richt u ook beter op toekomstige pakketten.

Link of natuurkunde (laag 1)

Zijn functie is het identificeren van de fysieke verbinding van het netwerk waar het pakket doorheen reist. Bijvoorbeeld Ethernet, Wi-Fi, Inbelmodem, ATM, FDDI, Token Ring, X.2. Bovendien draagt ​​het de identiteit met zich mee van de hardware die de pakketverzending heeft veroorzaakt, en slaat het zijn MAC-adres op.

Verantwoordelijk voor het aanpassen van het pakket aan de fysieke omgeving waarin het reist. Het stelt het pakket in staat om op verschillende manieren te reizen, door verschillende onderlinge verbindingen en interoperaties van zeer heterogene netwerken. Dit is een van de grootste troeven van TCP/IP. Oudere protocollen lieten alleen verkeer op hetzelfde fysieke medium toe.

Het is via deze laag dat een notebook of smartphone, die via Wi-Fi met internet is verbonden, een verzoek ontvangt dat via de radiofrequentie wordt verzonden, het signaal kan laten omzetten in de optische vezel van de internetapparatuur die door de operator wordt geleverd en aankomt op de bestemming. .

Een ander kenmerk van deze laag is de vertaling van namen en logische adressen naar fysieke adressen, naast het beheer van het verkeer en de snelheid van de communicatiekanalen.

Ten slotte is een andere functie het opdelen van informatie in kleinere pakketten, zoals we vermeldden in het voorbeeld in de transportlaag.

Terwijl de transportlaag verantwoordelijk is voor de juiste volgorde van pakketten met onderverdeelde informatie, is de datalinklaag verantwoordelijk voor de verdeling en deze informatie.

Het heeft ook de volgende kenmerken:

  • Verbindingen tot stand brengen en beëindigen;
  • Storingen melden en corrigeren;
  • Gebruik analoge of digitale signalen in verbindingen;
  • Gebruik geleide (kabels) of niet-geleide (radio, magnetron) middelen;
  • Emissie van meer dan één signaal op hetzelfde fysieke medium;
  • Toewijzen van logische naar fysieke adressen;
  • Zet fysieke adressen om in logisch (IP-adres);
  • Schakel pakketten binnen een apparaat;
  • Hiermee kan TCP/IP op verschillende hardware worden geïmplementeerd.

Het TCP-protocol

TCP is een betrouwbaar transportlaagprotocol dat ervoor moet zorgen dat gegevens volledig worden verzonden naar de juiste bestemmingshosts in de volgorde waarin ze zijn verzonden.

TCP verdeelt (segmenteert) de informatie die van de applicatielaag wordt ontvangen in kleinere informatieblokken, ook wel datagrammen genoemd, en sluit een identificatieheader in waarmee de doelhost de gegevens opnieuw kan samenstellen. Deze header bevat een set bits (checksum) waarmee de gegevens en de header zelf kunnen worden gevalideerd.

Met deze set bits kan de bestemmingshost informatie herstellen in geval van transmissiefouten of in gevallen waarin de informatie niet kan worden hersteld of het TCP/IP-pakket verloren gaat tijdens de transmissie. Het is de taak van TCP om het pakket opnieuw te verzenden.

Om ervoor te zorgen dat de bronhost er zeker van is dat het pakket zonder fouten is aangekomen, informeert de bestemmingshost de transmissiestatus door een  bevestigingsbericht  te verzenden.

Om te kunnen identificeren tot welke service een bepaald datagram behoort, gebruikt TCP het concept van poorten. Aan elke poort is een service gekoppeld. Na het bepalen van de poort wordt alle communicatie met de applicatie via deze uitgevoerd en geadresseerd.

TCP-functies

Gegevensoverdracht  : Full-duplex standaard tussen 2 punten, dat wil zeggen dat beide aangesloten punten gelijktijdig kunnen zenden en ontvangen.

Gegevensoverdracht met verschillende prioriteiten  : interpreteert de prioriteitssignalen en organiseert de routering van datagrammen dienovereenkomstig.

Tot stand brengen en vrijgeven van verbindingen  : Verzoekt en accepteert de initiatie en beëindiging van transmissies tussen  hosts  .

Sequencing  : Bestellen van ontvangen pakketten.

Segmentatie en opnieuw samenstellen  : verdeelt grotere informatie in kleinere pakketten voor verzending. Dus, ze identificeren om ze bij ontvangst correct te hergroeperen.

Flow control  : Analyseert de transmissiecondities (snelheid, fysiek medium, verkeer, enz.) en past de datagrammen voor deze transmissie aan.

Foutcontrole: door middel van de set bits (checksum) van zijn kop, verifieert het of de verzonden gegevens vrij zijn van fouten. Naast detectie is het ook mogelijk om deze te corrigeren.

IP-multiplexing  : aangezien het concept van poorten wordt gebruikt, is het mogelijk om gegevens van verschillende soorten services (verschillende poorten) naar dezelfde bestemmingshost te verzenden.

Het IP-protocol

Het IP-protocol definieert de mechanica van datagramtransmissie, met als een karakteristieke verbindingsoriëntatie. Elk IP-pakket wordt behandeld als een onafhankelijke informatie-eenheid en heeft geen relatie met een ander.

Het is verantwoordelijk voor de communicatie tussen de hosts van een TCP/IP-netwerk en beheert het transport van een bericht van een bronhost naar een bestemmingshost. Het doet dit zelfs wanneer uw datagram door meerdere subnetten moet gaan.

Het IP-protocol is echter onbetrouwbaar omdat het geen gebruik maakt van stroomregeling of foutafhandeling. Dit is de verantwoordelijkheid van protocollen op een hogere laag.

De meest relevante functies zijn de toewijzing van een adresseringsschema dat onafhankelijk is van de adressering van het gebruikte netwerk en onafhankelijk van de netwerktopologie zelf.

Bovendien heeft het de mogelijkheid om routeringsbeslissingen te nemen en routeringsbeslissingen te nemen voor het transport van berichten tussen de elementen die de netwerken met elkaar verbinden.

IP-functies

Onbetrouwbare datagramservice;

Hiërarchische adressering;

Gemak van fragmentatie en hermontage van pakketten;

Speciaal veld dat aangeeft welk transportprotocol op het hoogste niveau moet worden gebruikt;

Identificatie van het belang van het datagram en het vereiste betrouwbaarheidsniveau om prioriteit te geven bij de verzending;

Verwijdering en levenslange controle van pakketten die op het netwerk circuleren.

Het IP-adres

Het is de unieke en ondubbelzinnige identificatie van elk van de hosts die een netwerk vormen. Het is een set van 32 bits, normaal geschreven in decimaal en verdeeld over 4 octetten. Het volgt de specificaties die zijn gedefinieerd door de  NIC  (  Network Information Center  ). De NIC wijst en beheert IP-adressen over de hele wereld. Op deze manier is de veiligheid en uniciteit van de adressen gegarandeerd.

Het is gekoppeld aan de host, ook met een netwerkmasker dat de identificatie, limieten en het aantal apparatuur op het netwerk definieert waarop deze host is aangesloten.

Vanwege het bestaan ​​van netwerken van verschillende groottes, wordt het concept van adresklasse gebruikt. Het is dus mogelijk om de volgende klassen te onderscheiden:

A  : 128 netwerken met de mogelijkheid om 16 miljoen hosts aan te spreken;

B  : 16384 netwerken met de mogelijkheid om 64.000 hosts aan te spreken;

C  : 2 miljoen netwerken met de mogelijkheid om 256 hosts aan te spreken;

D  : staat toe dat een datagram over een reeks hosts wordt verdeeld;

E  : Dit zijn adressen die beginnen met 1111 en zijn gereserveerd voor toekomstig gebruik.

Het internet gebruikt standaard klasse C voor het aanspreken van zijn netwerken en  hosts.  Dus wanneer een nieuwe  ISP  (  Internet Service Provider  ) verbinding maakt met internet, ontvangt deze minstens een set van 256 adressen om op zijn  hosts te gebruiken  . Dus gelijktijdige toegang tot internet door 256 gebruikers.

Naarmate het internet exponentieel groeide, namen de beschikbare IP-adressen drastisch af en een manier om het onvermijdelijke tekort aan IP-adressen op te lossen, was door het concept van subnetten te creëren.

IPv4 en IPv6

Aanvankelijk was het internet niet ontworpen voor commercieel gebruik. Daarom werd IPv6 gecreëerd met de mogelijke uitputting van adressen, naast verbeteringen in technologie. IPv6 heeft 128-bits adressen. Op deze manier is er een enorm groter aantal adressen mogelijk.

TCP/IP-kwaliteiten

TCP/IP is het standaardprotocol. Het heeft immers een reeks kwaliteiten die een enorme veelzijdigheid in communicatie mogelijk maken. Bovendien maakt het standaardisatie mogelijk bij de ontwikkeling van nieuwe technologieën in software en hardware. Met name de volgende kwaliteiten kunnen als belangrijkste worden vermeld:

Standaardisatie  : het is een standaard en een routeerbaar protocol dat het meest complete en geaccepteerde is dat momenteel beschikbaar is. Alle moderne besturingssystemen ondersteunen TCP/IP. Ook de meeste grote netwerken vertrouwen erop voor het grootste deel van hun verkeer.

Interconnectiviteit  : is een technologie voor het verbinden van ongelijksoortige systemen. Er zijn veel standaard connectiviteitshulpprogramma’s beschikbaar om toegang te krijgen tot en gegevens over te dragen tussen deze verschillende systemen. Deze omvatten   FTP   (  File Transfer Protocol  ) en   Telnet   (  Terminal Emulation Protocol  ).

Routing  : Hiermee kunnen oudere en nieuwere technologieën verbinding maken met internet. Het werkt met lijnprotocollen zoals  PPP  (  Point to Point Protocol  ). Op deze manier is een externe verbinding mogelijk vanaf een inbellijn of een speciale lijn. Ook als de IPC-mechanismen en interfaces die het meest worden gebruikt door besturingssystemen, zoals Windows-sockets en NetBIOS.

Robuust protocol  : het is schaalbaar en multiplatform, met een structuur die kan worden gebruikt in client/server-besturingssystemen, waardoor het gebruik van toepassingen van deze omvang tussen twee ver verwijderde punten mogelijk is.

Internet  : via de TCP/IP-protocolsuite krijgen we toegang tot internet. Lokale netwerken distribueren internettoegangsservers (proxyservers). Lokale hosts maken verbinding met deze servers om toegang te krijgen tot internet. Deze toegang kan alleen worden bereikt als de computers zijn geconfigureerd om TCP/IP te gebruiken.

Conclusie

Kortom, TCP/IP geeft aan hoe gegevens via internet worden uitgewisseld. Het biedt end-to-end communicatie. Het identificeert hoe ze moeten worden verpakt, geadresseerd, verzonden, gerouteerd en ontvangen op de bestemming.

TCP/IP vereist weinig centraal beheer en is ontworpen om netwerken betrouwbaar te maken. Hiermee is het mogelijk om automatisch te herstellen van een storing van elk apparaat op het netwerk.

Geef een reactie