TCP (Transmission Control Protocol) is een transmissieprotocol dat zorgt voor een geordende en veilige gegevensoverdracht. Het verzendt en ontvangt de datapakketten in dezelfde volgorde. TCP is een vierlaags protocol vergeleken met OSI (Open System Interconnection Model), dat een zeven lagen overdrachtsproces. Het wordt aanbevolen om gegevens via protocollen op hoog niveau te verzenden vanwege de integriteit en veiligheid tussen de server en de client.
TCP heeft een 4-weg handshake nodig voor de beëindiging ervan. Om een verbinding tot stand te brengen heeft TCP een 3-weg handshake nodig. Dus hier zullen we het gedetailleerde proces van TCP bespreken om een 3-weg handdruk voor verbinding en een 4-weg handshake voor de beëindiging ervan . Hier zullen we het volgende bespreken:
Wat is TCP?
Lagen van TCP
TCP-verbinding (een 3-weg handshake)
TCP-beëindiging (een handshake in vier richtingen)
Laten we beginnen.
Wat is TCP?
TCP is een verbindingsgericht protocol, wat betekent dat het eerst de verbinding tussen zender en ontvanger tot stand brengt in de vorm van een handdruk . Nadat beide verbindingen zijn geverifieerd, begint het met het verzenden van pakketten. Het maakt het overdrachtsproces foutloos en zorgt voor de levering van gegevens. Het is een belangrijk onderdeel van de communicatieprotocollen die worden gebruikt om netwerkapparaten op internet met elkaar te verbinden. Het hele internetsysteem is afhankelijk van dit netwerk.
TCP is een van de meest voorkomende protocollen die ervoor zorgen eind tot eind levering. Het garandeert de veiligheid en integriteit van de verzonden gegevens. Er wordt altijd een veilige verbinding tot stand gebracht tussen zender en ontvanger. De zender is de server , en de ontvanger staat bekend als de cliënt . We kunnen ook zeggen dat de gegevensoverdracht plaatsvindt tussen de server en de client. Daarom wordt TCP gebruikt in de meeste protocollen op hoog niveau, zoals FTP (Bestandsoverdrachtprotocol) , HTTP (Hypertekstoverdrachtprotocol) , En SMTP (Eenvoudig Mai-overdrachtsprotocol) .
Lagen van TCP
De gegevens worden vervolgens in pakketten verdeeld, aan het adres toegewezen, verzonden, gerouteerd en ontvangen op de bestemming. Het transmissieproces bestaat uit vier lagen: applicatielaag, transportlaag, internetlaag en datalinklaag. De applicatielaag voert de functie uit die vergelijkbaar is met de bovenste drie lagen (applicatie, presentatie en sessie) van de OSI-model en controle van de gebruikersinterfacespecificaties. De gebruiker heeft interactie met de applicatielaag van het TCP-model, zoals berichten- en e-mailsystemen. De transport laag zorgt voor een betrouwbare en foutloze dataverbinding. Het verdeelt de gegevens die worden ontvangen van de applicatielaag in pakketten, wat helpt bij het creëren van een geordende volgorde. De internetlaag regelt de routering van pakketten en zorgt voor de bezorging van een pakket op de bestemming. De datalinklaag voert een functie uit die vergelijkbaar is met de onderste twee lagen (datalink en fysiek) van het OSI-model. Het is verantwoordelijk voor de gegevensoverdracht tussen de applicaties of apparaten in het netwerk.
Voordat u verdergaat met de TCP-beëindiging, is het essentieel om het concept van de TCP-verbinding te begrijpen. Het zal ons helpen het beëindigingsproces beter te begrijpen.
TCP-verbinding (een 3-weg handshake)
Handshake verwijst naar het proces om verbinding tot stand te brengen tussen de client en de server. Handshake wordt eenvoudigweg gedefinieerd als het proces om een communicatieverbinding tot stand te brengen. Om een pakket te verzenden heeft TCP een drieweg-handshake nodig voordat het gegevens begint te verzenden. De betrouwbare communicatie in TCP wordt genoemd als OVER (Positieve bevestiging, heruitzending). Wanneer een afzender de gegevens naar de ontvanger verzendt, is een positieve bevestiging van de ontvanger nodig die de aankomst van de gegevens bevestigt. Als de bevestiging de afzender niet heeft bereikt, moet deze de gegevens opnieuw verzenden. De positieve bevestiging van de ontvanger brengt een succesvolle verbinding tot stand.
Hier is de server de server en de client de ontvanger. Het bovenstaande diagram toont 3 stappen voor een succesvolle verbinding. Een 3-weg handshake is algemeen bekend als SYN-SYN-ACK en vereist zowel de client- als de serverreactie om de gegevens uit te wisselen. SYN betekent Volgnummer synchroniseren en ACK betekent erkenning . Elke stap is een soort handdruk tussen de zender en de ontvanger.
Het diagram van een succesvolle TCP-verbinding met de drie handshakes wordt hieronder weergegeven:
De drie handdrukken worden in de onderstaande stappen besproken:
Stap 1: SYN
SYN is een segment dat door de client naar de server wordt verzonden. Het fungeert als een verbindingsverzoek tussen de client en de server. Het informeert de server dat de client een verbinding tot stand wil brengen. Het synchroniseren van volgnummers helpt ook bij het synchroniseren van volgnummers die tussen twee apparaten worden verzonden, waarbij hetzelfde SYN-segment bij het verbindingsverzoek om het volgnummer vraagt.
Stap 2: SYN-ACK
Het is een SYN-ACK-segment of een SYN+ACK-segment verzonden door de server. Het ACK-segment informeert de client dat de server het verbindingsverzoek heeft ontvangen en klaar is om de verbinding tot stand te brengen. Het SYN-segment informeert het volgnummer waarmee de server klaar is om met de segmenten te beginnen.
java-arraylijst gesorteerd
Stap 3: ACK
ACK (Acknowledgement) is de laatste stap voordat een succesvolle TCP-verbinding tussen de client en de server tot stand wordt gebracht. Het ACK-segment wordt door de cliënt verzonden als reactie op de ontvangen ACK en SN van de server. Het resulteert in het tot stand brengen van een betrouwbare dataverbinding.
Na deze drie stappen zijn de client en server klaar voor het datacommunicatieproces. De TCP-verbinding en -afsluiting zijn full-duplex, wat betekent dat de gegevens tegelijkertijd in beide richtingen kunnen reizen.
TCP-beëindiging (een handshake in vier richtingen)
Elk apparaat brengt een verbinding tot stand voordat doorgaat met de beëindiging. TCP vereist een 3-weg handshake om een verbinding tot stand te brengen tussen de client en de server voordat de gegevens worden verzonden. Om de datatransmissie te beëindigen of te stoppen, is op dezelfde manier een 4-weg handshake vereist. De segmenten die nodig zijn voor TCP-beëindiging zijn vergelijkbaar met de segmenten om een TCP-verbinding op te bouwen (ACK en SYN), behalve het FIN-segment. Het FIN-segment specificeert een beëindigingsverzoek dat door het ene apparaat naar het andere wordt verzonden.
De client is de gegevenszender en de server is een ontvanger in een gegevensoverdrachtproces tussen de zender en de ontvanger. Bekijk het onderstaande TCP-beëindigingsdiagram dat de uitwisseling van segmenten tussen de client en de server laat zien.
Het diagram van een succesvolle TCP-beëindiging met de vier handshakes wordt hieronder weergegeven:
Laten we het TCP-beëindigingsproces bespreken met behulp van zes stappen, waaronder de verzonden verzoeken en de wachtstatussen. De stappen zijn als volgt:
Stap 1: FIN
FIN verwijst naar de beëindigingsverzoek verzonden door de client naar de server. Het eerste FIN-beëindigingsverzoek wordt door de client naar de server verzonden. Het toont het begin van het beëindigingsproces tussen de client en de server.
Stap 2: FIN_ACK_WAIT
De client wacht op de ACK van het FIN-beëindigingsverzoek van de server. Het is een wachtende staat voor de cliënt.
Stap 3: ACK
De server verzendt het ACK-segment (Acknowledgement) wanneer hij het FIN-beëindigingsverzoek ontvangt. Het geeft aan dat de server klaar is om de verbinding te sluiten en te beëindigen.
Stap 4: FIN_WAIT_2
De client wacht op het FIN-segment van de server. Het is een soort goedgekeurd signaal dat door de server wordt verzonden en dat aangeeft dat de server klaar is om de verbinding te beëindigen.
Stap 5: FIN
Het FIN-segment wordt nu door de server naar de client verzonden. Het is een bevestigingssignaal dat de server naar de client stuurt. Het toont de succesvolle goedkeuring voor de beëindiging.
Stap 6: ACK
De client stuurt nu het ACK-segment (Acknowledgement) naar de server dat hij het FIN-signaal heeft ontvangen, wat een signaal is van de server om de verbinding te verbreken. Zodra de server het ACK-segment ontvangt, verbreekt hij de verbinding.