tcp ip model with different layers
Een complete gids voor lagen van TCP / IP-model:
We hebben er alles over geleerd Firewall-beveiliging in onze vorige tutorial. Hier leren we in deze tutorial over het TCP / IP-model.
Het TCP / IP-model verwijst naar het transmissiecontroleprotocol en het internetprotocol.
Het huidige internetmodel gebruikt dit netwerkmodel voor communicatiedoeleinden. Lees het Trainingshandleidingen over netwerken voor een duidelijk begrip van het concept.
Deze protocollen zijn gewoon een combinatie van de regels die elke communicatie via het netwerk regelen. Deze bepalen op hun beurt het pad dat moet worden gevolgd voor de communicatie tussen de bron en de bestemming of internet.
hoe assert te gebruiken in selenium webdriver
Het TCP / IP-model bestaat uit vier lagen die het algehele communicatieproces afronden. In deze tutorial gaan we dieper in op de functionaliteit van elke laag.
Als softwaretester is het noodzakelijk om je in te leven in het TCP / IP-model, aangezien de softwareapplicaties werken op de bovenste laag, de applicatielaag van dit model.
Wat je leert:
Netwerk architectuur
De architectuur met vier lagen is als volgt:
Protocollen en netwerken die in dit netwerkmodel worden gebruikt, worden weergegeven in de onderstaande afbeelding:
Laten we de protocollen en de belangrijkste toepassingen van elke laag in het TCP / IP-model samenvatten met behulp van het onderstaande diagram.
Functies van elke laag in het TCP / IP-model
Hieronder staan de verschillende functies van elke laag in het TCP / IP-model vermeld.
Netwerktoegangslaag
De functies van de netwerktoegangslaag worden hieronder gegeven:
- Dit is de onderste laag van het TCP / IP-model en bevat alle functionaliteit van de fysieke laag en de datalinklaag van het OSI-referentiemodel.
- Het karakteriseert dus de protocollen, hardware en media die voor communicatie worden gebruikt.
- Datapakketten van de internetlaag worden naar deze laag gestuurd voor verzending naar de bestemming via een fysiek medium.
- De belangrijkste taak van deze laag is om de databytes te combineren tot frames en een mechanisme te bieden voor de verzending van IP-dataframes over het fysieke medium.
- Point-to-point (PPP) is het protocol dat wordt gebruikt om een point-to-point verbinding te maken met de huurlijnen. Het wordt ook ingezet om via modems connectiviteit te bieden tussen de eindgebruiker en internetproviders. Het ondersteunt ook voor het verstrekken van de IP-adressen via PPP-links.
- De meeste eindgebruikers geven de voorkeur aan een Ethernet-link die alleen werkt op het Ethernet-datalinkprotocol. Aldus wordt PPP over Ethernet gecreëerd, waarmee de ingekapselde dataframes binnen Ethernet-frames kunnen worden verzonden.
- PPPoE bouwt in eerste instantie een tunnel op tussen de netwerkapparaten van de eindgebruiker, zoals de router en de ISP-router. Vervolgens stuurt de router PPP-frames over die tunnel terwijl de tunnel werkt als een punt-naar-punt-verbinding tussen de routers. Dankzij deze technologie worden nu ook gegevens over WAN-netwerken verzonden.
- PPP gebruikt ook het authenticatieproces om de verantwoording voor het gebruik van gegevens bij ISP's te controleren. De methoden omvatten wachtwoordverificatieprotocol (PAP) en kanaalhandshake-verificatieprotocol (CHAP).
Internetlaag
- De tweede laag van onderen is de internetlaag.
- Zodra de gegevens zijn gesegmenteerd door TCP of UDP door de corresponderende headers toe te voegen aan het datapakket, zal het deze naar de lagere laag sturen voor verdere communicatie.
- De bestemmingshost waarnaar het datapakket is bestemd, kan zich in een ander netwerk bevinden waarvan het pad kan worden bereikt via verschillende routers. Het is de taak van de internetlaag om de logische adressen toe te wijzen en de datapakketten efficiënt naar het bestemmingsnetwerk te leiden.
- Internetlaag (IP) is het meest populaire protocol dat wordt gebruikt om deze taak uit te voeren.
internet Protocol
Het doel van dit protocol is om de datapakketten naar de bestemming te leiden volgens de informatie in de pakketkop door een reeks protocollen te volgen.
Door een header toe te voegen met het IP-adres van de bron en de bestemming, wordt het van TCP of UDP ontvangen segment geconverteerd naar een PDU die bekend staat als een pakket. Wanneer het pakket bij de router aankomt, kijkt het naar het bestemmingsadres in de koptekst en stuurt het vervolgens overeenkomstig door naar de volgende router om de bestemming te bereiken.
Laten we dit begrijpen met een voorbeeld:
In de onderstaande afbeelding zal host A, wanneer hij wil communiceren met host B, geen enkel routeringsprotocol gebruiken, aangezien beide zich in hetzelfde netwerkbereik bevinden met de IP-adressen van dezelfde set.
Maar als Host A een pakket naar Host C wil sturen, ontdekt het met behulp van het protocol dat de bestemmingshost van een ander netwerk is. Het bovenstaande formaat zal dus in de routeringstabel opzoeken om het volgende hop-adres te achterhalen om de bestemming te bereiken.
In dit geval zal host A de host C bereiken via router A, B en C.Aangezien router C rechtstreeks is verbonden met een bestemmingsnetwerk via een switch, wordt het pakket afgeleverd bij Host C.
De router haalt alle routeringsgerelateerde informatie uit de IP-headervelden. De netwerklaag van TCP / IP (datalinklaag) is verantwoordelijk voor de end-to-end levering van de datapakketten.
Pakketstroom in internetprotocol
IPV4-koptekst
- Versie: De IPV4 heeft versienummer 4.
- Lengte kop: Het toont de grootte van de koptekst.
- DS veld: DS field staat voor gedifferentieerd services veld en wordt ingezet voor het construeren van pakketten.
- Totale lengte: Het geeft de grootte van de header plus de grootte van het datapakket aan.
- Identificatie: Dit veld wordt gebruikt voor fragmentatie van datapakketten en voor het toewijzen van elk veld en helpt daardoor bij het construeren van het originele datapakket.
- Vlaggen: Wordt gebruikt om de fragmentatieprocedure aan te duiden.
- Fragment offset: Het geeft het fragmentnummer en de bronhost aan die deze gebruikt om de gefragmenteerde gegevens in de juiste volgorde te herschikken.
- Tijd om weg te gaan: Dit wordt ingesteld aan de bronhost.
- Protocol: Het geeft het protocol aan dat het gebruikt voor het verzenden van gegevens. TCP heeft protocolnummer 6 en UDP heeft protocolnummer 17.
- Header Checksum: Dit veld wordt gebruikt voor foutdetectie.
- Bron IP adres: Het slaat het IP-adres van de bron-eindhost op.
- Bestemming IP Adres: Het slaat het IP-adres van de bestemmingshost op.
We zullen dit in detail bespreken in onze aanstaande tutorials.
Transport laag
- Dit is de derde laag van onderen die verantwoordelijk is voor de algehele overdracht van gegevens en nuttig is bij het tot stand brengen van een end-to-end logische connectiviteit tussen de bron- en bestemmingshost en de apparaten in een netwerk.
- Er worden twee protocollen gebruikt om deze taken uit te voeren:
- Ten eerste is er het Transmission Control Protocol (TCP), een op verbindingen gebaseerd en betrouwbaar protocol.
- Ten tweede is er het User Datagram Protocol (UDP), dat een verbindingsloos protocol is.
- Voordat we deze twee protocollen diepgaand onderzoeken, zullen we het concept van POORTNUMMER bespreken dat door beide protocollen wordt gebruikt.
Poortnummer:
In een netwerk kan een hostapparaat verkeer van verschillende bronnen tegelijk verzenden of ontvangen.
In een dergelijke situatie herkent het systeem niet tot welke van de applicaties de gegevens behoren. TCP- en UDP-protocollen lossen deze problemen op door een poortnummer in de koptekst te plaatsen. De bekende toepassingslaagprotocollen worden toegewezen met het poortnummer in het bereik van 1 tot 1024.
Aan de bronzijde wordt aan elke TCP- of UDP-sessie een willekeurig poortnummer toegewezen. Het IP-adres, poortnummer en type protocol dat in combinatie wordt gebruikt, hervormt een socket aan zowel de bron- als de bestemmingszijde. Omdat elke socket exclusief is, kunnen verschillende hosts met hetzelfde tijdsinterval verkeer verzenden of ontvangen.
De onderstaande tabel toont het poortnummer dat is toegewezen aan verschillende toepassingslaagprotocollen die overeenkomen met het transportlaagprotocol.
Toepassingsprotocol | Transportprotocol | Poortnummer |
---|---|---|
DNS | TCP, UDP | 53 |
HTTP | TCP | 80 |
HTTPS | TCP | 443 |
FTP (controle) | TCP | eenentwintig |
FTP (gegevens) | TCP | twintig |
SSH | TCP | 22 |
Telnet | TCP | 2. 3 |
SMTP | TCP | 25 |
TFTP | UDP | 69 |
Meerdere sessies met poortnummer
TCP
- Telkens wanneer de applicatielaag de stroom van enorm verkeer of gegevens moet laten circuleren, stuurt het deze naar de transportlaag waarin de TCP alle end-to-end-communicatie tussen netwerken uitvoert.
- TCP heeft aanvankelijk een drieweg-handshake-proces opgezet tussen de bron en de bestemming en vervolgens splitst het de gegevens op in kleine stukjes die bekend staan als segmenten, en bevat een header in elk segment en stuurt het vervolgens door naar de internetlaag.
De onderstaande afbeelding toont het formaat van de TCP-header.
- Handdruk met drie richtingen: Het is het proces dat door TCP wordt ingezet om een verbinding tot stand te brengen tussen de bron- en bestemmingshost in het netwerk. Het wordt gebruikt om betrouwbare gegevensoverdracht uit te voeren. Het gebruikt SYN- en ACK-vlaggen van codebits van de TCP-header om de taak uit te voeren. Het zorgt voor betrouwbare communicatie door positieve bevestiging met herverzending uit te voeren en is ook bekend als PAR. Het systeem dat PAR gebruikt, zal het gegevenssegment opnieuw verzenden totdat het de ACK ontvangt. Telkens wanneer de ontvanger de gegevens weggooit, moet de afzender de gegevens opnieuw verzenden totdat hij de positieve ACK van de ontvanger ontvangt.
Er zijn 3 stappen voor handshaking in drie richtingen, die als volgt zijn:
- Stap 1: De bronhost A wil een verbinding tot stand brengen met de bestemmingshost B, deze verzendt een segment met het SYN en het volgnummer, wat aangeeft dat de host A een communicatiesessie met host B wil starten en met welk volgnummer het is gedefinieerd in dat segment.
- Stap 2: De host B reageert op het verzoek van host A met SYN en ACK ingesteld in de signaalbit. ACK geeft het antwoord van het ontvangen segment aan en SYN geeft het volgnummer aan.
- Stap 3: De host A bevestigt het antwoord van de host B en beide brengen een veilige verbinding tussen hen tot stand en beginnen vervolgens met de gegevensoverdracht erover.
Zoals beschreven in de onderstaande afbeelding, stuurt de bronhost in het drieweg-handshakeproces eerst een TCP-header naar de bestemmingshost door de SYN-vlag in te stellen. Als reactie krijgt het de set SYN en bevestigingsvlag terug. De bestemmingshost gebruikt het ontvangen volgnummer plus 1 als het bevestigingsnummer.
TCP IP ondersteunt het client-server-model van het communicatiesysteem.
Handdruk in drie richtingen
- Gegevenssegmentatie
- Dit is een van de kenmerken van het TCP-protocol. De applicatielaag stuurt een groot aantal gegevens voor verzending naar de bestemming naar de transportlaag. Maar de transportlaag beperkt de grootte van de gegevens die in één keer worden verzonden. Dit wordt gedaan door de gegevens op te splitsen in kleine segmenten.
- Om de volgorde van datasegmenten te herkennen, wordt een volgnummer gebruikt in de TCP-header en dat beschrijft het byte-nummer van het hele datasegment.
- Doorstroomregeling:
- De bronhost verzendt de gegevens in een cluster van segmenten. De TCP-header met een vensterbit wordt gebruikt om het aantal segmenten te achterhalen dat in één keer kan worden verzonden. Het wordt gebruikt om het onbeduidende verkeer aan het eind van de bestemming te ontwijken.
- Wanneer de sessie is gestart, is de grootte van het venster klein, maar naarmate het verkeer met de tijd toeneemt, kan de grootte van het venster enorm worden. De bestemmingshost kan het venster aanpassen in overeenstemming met de stroom. Het raam wordt dus een schuifraam genoemd.
- De bron kan alleen het aantal segmenten verzenden dat door het venster is toegestaan. Om meer segmenten te verzenden, wacht het eerst op een bevestiging van de ontvangende kant zodra het de ACK heeft ontvangen, en later kan het de grootte van het venster naar behoefte vergroten.
- In de onderstaande afbeelding vergroot de bestemmingshost de grootte van 500 naar 600 en vervolgens naar 800 nadat de ACK is teruggestuurd naar de bronhost.
- Betrouwbare levering en foutherstel
- Nadat het laatste segment van het besliste venster door de bestemming is ontvangen, moet het een ACK naar het bronuiteinde sturen. ACK-vlag wordt ingesteld in de TCP-header en het ACK-nummer wordt geplaatst als het volgnummer van de veronderstelde volgende byte. Als de bestemming de segmenten niet in de juiste volgorde ontvangt, wordt de ACK niet teruggestuurd naar de bron.
- Dit verklaart de bron dat enkele van de segmenten tijdens de verzending zoek zijn geraakt en dat alle segmenten opnieuw worden verzonden.
- In de onderstaande afbeelding is geïllustreerd dat wanneer de bron de ACK voor het segment met SEQ-nummer 200 niet heeft ontvangen, deze de gegevens opnieuw verzendt en na ontvangst van de ACK de volgende reeks van het gegevenssegment in in overeenstemming met de venstergrootte.
- Bestelde levering
- Het TCP zorgt voor de opeenvolgende levering van gegevens aan de bestemming. Het levert de gegevens in de volgorde waarin ze deze van de applicatielaag ontvangen voor levering aan de bestemmingshost. Om de bestelde levering te handhaven, gebruikt het volgnummer tijdens de verzending van gegevenssegmenten.
- Verbindingsbeëindiging
- Wanneer de datatransmissie tussen bron en bestemming is voltooid, beëindigt de TCP de sessie door FIN- en ACK-vlaggen te verzenden en gebruikt het een vierzijdige handshake om deze te sluiten.
TCP-schuifvenster en betrouwbare levering
User Datagram Protocol (UDP):
Het is het onbetrouwbare en verbindingsloze protocol voor gegevensoverdracht. In dit protocol genereert het, in tegenstelling tot TCP, geen ACK-vlag, daarom wacht de bronhost niet op een antwoord van het bestemmingsuiteinde en verzendt het de gegevens zonder enige vertraging en wacht op ACK.
In een real-time scenario wordt UDP gebruikt omdat het laten vallen van de datapakketten wordt verkozen boven het wachten op pakketten voor herverzending. Het wordt dus het meest gebruikt bij gamen, online video kijken, chatten enz. Waar erkenning van gegevens geen probleem is. In deze scenario's vinden foutcontrole en -correctie plaats op de applicatielaag.
UDP-koptekst:
- Bronpoort: Het classificeert de bron-eindpakketinformatie die 16 bit groot is.
- Haven van bestemming : Het is ook 16 bits groot en gebruikt om het type gegevensservice op het bestemmingsknooppunt te classificeren.
- Lengte : Het geeft de totale grootte van het UDP-datagram aan. De maximale grootte van het lengteveld kan de totale grootte van de UDP-header zelf zijn.
- Checksum : Het slaat de checksumwaarde op die wordt geëvalueerd door het bronuiteinde vóór verzending. Als het geen waarde bevat, worden alle bits op nul gezet.
UDP-toepassingen
- Het voorziet in datagram, dus het is geschikt voor IP-tunneling en netwerkbestandssysteem.
- Eenvoudig in gebruik, daarom wordt het gebruikt in DHCP en het triviale protocol voor bestandsoverdracht.
- Omdat het staatloos is, is het efficiënt voor het streamen van mediatoepassingen zoals IPTV.
- Ook geschikt voor voice over IP en real-time streamingprogramma's.
- Het ondersteunt de multicast en is dus geschikt voor uitzenddiensten zoals Bluetooth en routeringsinformatieprotocol.
Applicatielaag
(i) Dit is de bovenste laag van het TCP / IP-model.
(ii) Het voert alle taken uit van een sessielaag, presentatielaag en applicatielaag van het TCP / IP-model.
(iii) Het combineert de functies van koppeling met verschillende toepassingen, gegevenscodering, gegevensvertaling en verschaft toegang voor de gebruikers om te communiceren met verschillende netwerksystemen.
De meest voorkomende toepassingslaagprotocollen worden hieronder gedefinieerd:
# 1) TELNET: Het staat voor terminal-emulatieprotocol. Het oefent doorgaans de toegang tot externe eindapplicaties. De telnet-server die fungeert als de host, initieert een telnet-servertoepassing om een verbinding tot stand te brengen met de externe host die bekend staat als de telnet-client.
Nadat de verbinding tot stand is gebracht, wordt deze gepresenteerd aan het besturingssysteem van de telnet-server. De mensen op de server gebruiken het toetsenbord en de muis om via TELNET de host aan het andere uiteinde te bedienen en te benaderen.
# 2) HTTP: Het staat voor Hypertext Transfer Protocol. Het is de basis van het World Wide Web (WWW). Dit protocol wordt gebruikt om de hypertekst tussen verschillende systemen uit te wisselen. Het is een soort verzoek-antwoordprotocol.
Bijvoorbeeld Webbrowser zoals internet explorer of Mozilla fungeert als een webclient en de applicatie die wordt gestreamd op de pc waarop de website wordt gehost, fungeert als een webserver.
De server die de bronnen levert, zoals HTML-bestanden en andere functies die door de cliënt worden aangevraagd, stuurt dus een antwoordbericht naar de cliënt met de inhoud van de voltooiingsstatusgegevens en de gevraagde gegevens in de berichtregel.
HTTP-bronnen worden herkend en op het netwerk gepositioneerd door uniforme resource locators (URL's) die uniforme resource identifiers (URI) -methoden HTTP en https gebruiken.
# 3) FTP: Het staat voor file transfer protocol. Het wordt gebruikt voor het delen of overbrengen van bestanden tussen twee hosts. De host waarop de FTP-applicatie draait, gedraagt zich als de FTP-server, terwijl de andere zich gedraagt als de FTP-client.
De clienthost die om het delen van bestanden vraagt, heeft authenticatie van de server nodig om toegang te krijgen tot de gegevens. Eenmaal geautoriseerd, heeft het toegang tot elk type bestand van de server, kan het bestanden verzenden of ontvangen.
# 4) SMTP: Simple mail transport protocol is een oefening om e-mails te versturen. Wanneer we de host configureren voor het verzenden van e-mails, gebruiken we SMTP.
# 5) DNS: Elk van de host-apparaten in een netwerk heeft een uniek logisch adres dat het IP-adres wordt genoemd. Zoals reeds besproken zijn de IP-adressen een groep van zoveel getallen en is het niet gemakkelijk te onthouden. Wanneer we een webadres typen in een webbrowser zoals Google.com, dan vragen we eigenlijk om een host met een IP-adres.
Maar we hoeven het IP-adres van de webpagina waar we om vragen niet te onthouden, aangezien DNS (domeinnaamserver) een naam toewijst aan elk logisch IP-adres en deze opslaat.
hoe torrented-bestanden te openen op mac
Dus wanneer we de browser voor een webpagina typen, verzendt deze de DNS-query naar zijn DNS-server om het IP-adres aan de naam toe te wijzen. Zodra het het adres heeft gekregen, wordt een HTTP-sessie gebouwd met het IP-adres.
# 6) DHCP: Elk van de host-apparaten in elk netwerk heeft een IP-adres nodig voor communicatie met de andere apparaten in het netwerk. Het krijgt dit adres door handmatige configuratie of door een dynamisch hostconfiguratieprotocol (DHCP) te gebruiken. Als u DHCP gebruikt, krijgt de host automatisch een IP-adres toegewezen.
Stel dat een netwerk uit 10.000 hostapparaten bestaat. Het handmatig toewijzen van een IP-adres aan elke host is dan ook erg moeilijk en kost ook tijd, daarom gebruiken we het DHCP-protocol voor het toewijzen van een IP-adres en andere informatie aan de aangesloten hostapparaten, zoals een subnetmasker-IP of gateway-IP.
Softwaretestprogramma's werken op deze laag van het TCP / IP-model, aangezien het de eindgebruikers in staat stelt de verschillende services te testen en die services te gebruiken.
Gevolgtrekking
We hebben de verschillende protocollen gezien die op elke laag van het TCP / IP-model worden gebruikt om de taken uit te voeren die bij de laag horen en hun voordelen in een communicatiesysteem.
Alle hierboven gedefinieerde protocollen hebben hun eigen betekenis en verschillende rollen bij het testen en toepassen van de softwaretools.
PREV-zelfstudie VOLGENDE zelfstudie
Aanbevolen literatuur
- Alles over Layer 2- en Layer 3-switches in een netwerksysteem
- Een complete gids voor firewall: hoe u een veilig netwerksysteem bouwt
- Alles over routers: soorten routers, routeringstabel en IP-routering
- Wat is Wide Area Network (WAN): Live WAN-netwerkvoorbeelden
- Wat zijn HTTP- (Hypertext Transfer Protocol) en DHCP-protocollen?
- Belangrijke toepassingslaagprotocollen: DNS-, FTP-, SMTP- en MIME-protocollen
- IPv4 versus IPv6: wat is het exacte verschil
- Wat is mijn IP-adres en locatie (controleer hier uw echte IP-adres)