tcp ip model with different layers
Eine vollständige Anleitung zu Schichten des TCP / IP-Modells:
Wir haben alles über gelernt Firewall-Sicherheit in unserem vorherigen Tutorial. In diesem Tutorial erfahren Sie mehr über das TCP / IP-Modell.
Das TCP / IP-Modell bezieht sich auf das Übertragungssteuerungsprotokoll und das Internetprotokoll.
Das aktuelle Internetmodell verwendet dieses Netzwerkmodell für Kommunikationszwecke. Lesen Sie die Schulungs-Tutorials zum Thema Networking für ein klares Verständnis des Konzepts.
Diese Protokolle sind einfach eine Kombination der Regeln, die jede Kommunikation über das Netzwerk regeln. Diese wiederum bestimmen den Weg, der für die Kommunikation zwischen Quelle und Ziel oder dem Internet eingeschlagen werden soll.
Das TCP / IP-Modell besteht aus vier Schichten, die den gesamten Kommunikationsprozess abschließen. In diesem Tutorial werden wir uns eingehend mit der Funktionalität jeder Ebene befassen.
Als Softwaretester ist es erforderlich, sich in das TCP / IP-Modell einzufühlen, da die Softwareanwendungen auf der obersten Ebene, d. H. Der Anwendungsschicht dieses Modells, arbeiten.
Was du lernen wirst:
Netzwerkarchitektur
Die vierschichtige Architektur sieht wie folgt aus:
Die in diesem Netzwerkmodell verwendeten Protokolle und Netzwerke sind in der folgenden Abbildung dargestellt:
Fassen wir die Protokolle und Hauptverwendungen jeder Schicht im TCP / IP-Modell anhand des folgenden Diagramms zusammen.
Was sind die Grundlagen der Computerprogrammierung
Funktionen jeder Schicht im TCP / IP-Modell
Nachfolgend sind die verschiedenen Funktionen jeder Schicht im TCP / IP-Modell aufgeführt.
Netzwerkzugriffsschicht
Die Funktionen der Netzwerkzugriffsschicht sind nachstehend aufgeführt:
- Dies ist die unterste Schicht des TCP / IP-Modells und umfasst alle Funktionen der physischen Schicht und der Datenverbindungsschicht des OSI-Referenzmodells.
- Somit charakterisiert es die Protokolle, Hardware und Medien, die für die Kommunikation verwendet werden sollen.
- Datenpakete von der Internetschicht werden an diese Schicht übergeben, um sie über ein physisches Medium an das Ziel zu senden.
- Die Hauptaufgabe dieser Schicht besteht darin, die Datenbytes zu Rahmen zu kombinieren und einen Mechanismus für die Übertragung von IP-Datenrahmen über das physische Medium bereitzustellen.
- Punkt-zu-Punkt (PPP) ist das Protokoll, mit dem eine Punkt-zu-Punkt-Verbindung zwischen den übermieteten Leitungen hergestellt wird. Es wird auch bereitgestellt, um die Konnektivität zwischen dem Endbenutzer und Internetdienstanbietern über Modems bereitzustellen. Es unterstützt auch die Bereitstellung der IP-Adressen über PPP-Links.
- Die meisten Endbenutzer bevorzugen eine Ethernet-Verbindung, die nur mit dem Ethernet-Datenverbindungsprotokoll funktioniert. Somit wird PPP über Ethernet erstellt, mit dem die gekapselten Datenrahmen innerhalb von Ethernet-Rahmen gesendet werden können.
- PPPoE baut zunächst einen Tunnel zwischen den Endbenutzer-Netzwerkgeräten wie Router und ISP-Router auf. Dann sendet der Router PPP-Frames über diesen Tunnel, da der Tunnel als Punkt-zu-Punkt-Verbindung zwischen den Routern fungiert. Dank dieser Technologie werden jetzt auch Daten über WAN-Netzwerke übertragen.
- PPP verwendet den Authentifizierungsprozess auch zur Überprüfung der Verantwortlichkeit für die Verwendung von Daten mit ISPs. Die Methoden umfassen das Kennwortauthentifizierungsprotokoll (PAP) und das Kanalhandshake-Authentifizierungsprotokoll (CHAP).
Internet-Schicht
- Die zweite Schicht von unten ist die Internetschicht.
- Sobald die Daten durch Hinzufügen der entsprechenden Header im Datenpaket durch TCP oder UDP segmentiert wurden, werden sie zur weiteren Kommunikation an die untere Schicht gesendet.
- Der Zielhost, für den das Datenpaket bestimmt ist, befindet sich möglicherweise in einem anderen Netzwerk, dessen Pfad über verschiedene Router erreicht werden kann. Es ist die Aufgabe der Internetschicht, die logischen Adressen zuzuweisen und die Datenpakete effizient an das Zielnetzwerk weiterzuleiten.
- Internet Layer (IP) ist das beliebteste Protokoll, mit dem diese Aufgabe ausgeführt wird.
Internetprotokoll
Der Zweck dieses Protokolls besteht darin, die Datenpakete gemäß den Informationen im Paketkopf an das Ziel weiterzuleiten, indem eine Reihe von Protokollen befolgt wird.
Durch Hinzufügen eines Headers mit der IP-Adresse der Quelle und des Ziels wird das von TCP oder UDP empfangene Segment in eine als Paket bezeichnete PDU konvertiert. Wenn das Paket am Router ankommt, überprüft es die Zieladresse im Header und leitet das Paket entsprechend an den nächsten Router weiter, um das Ziel zu erreichen.
Lassen Sie uns dies anhand eines Beispiels verstehen:
In der folgenden Abbildung verwendet Host A, wenn er mit Host B kommunizieren möchte, kein Routing-Protokoll, da sich beide im selben Netzwerkbereich befinden und die IP-Adressen desselben Satzes haben.
Wenn Host A jedoch ein Paket an Host C senden möchte, erkennt er mithilfe des Protokolls, dass sich der Zielhost in einem anderen Netzwerk befindet. Daher wird das obige Format in der Routing-Tabelle nachschlagen, um die nächste Hop-Adresse für das Erreichen des Ziels herauszufinden.
In diesem Fall erreicht Host A den Host C über Router A, B und C. Da Router C über einen Switch direkt mit einem Zielnetzwerk verbunden ist, wird das Paket an Host C zugestellt.
Der Router erhält alle routingbezogenen Informationen aus den IP-Headerfeldern. Die Netzwerkschicht von TCP / IP (Datenverbindungsschicht) ist für die End-to-End-Zustellung der Datenpakete verantwortlich.
Paketfluss im Internetprotokoll
IPV4-Header
- Ausführung: Das IPV4 hat die Versionsnummer 4.
- Header-Länge: Es zeigt die Größe des Headers.
- DS-Feld: Das DS-Feld steht für das Feld für differenzierte Dienste und wird zum Erstellen von Paketen bereitgestellt.
- Gesamtlänge: Es gibt die Größe des Headers plus die Größe des Datenpakets an.
- Identifizierung: Dieses Feld wird zum Fragmentieren von Datenpaketen und zum Zuweisen jedes Felds verwendet und hilft dabei, das ursprüngliche Datenpaket zu erstellen.
- Flaggen: Wird verwendet, um das Fragmentierungsverfahren zu bezeichnen.
- Fragmentversatz: Es gibt die Fragmentnummer und den Quellhost an, die sie zum Neuanordnen der fragmentierten Daten in der richtigen Reihenfolge verwenden.
- Zeit zu gehen: Dies wird am Ende des Quellhosts festgelegt.
- Protokoll: Es bezeichnet das Protokoll, das zur Datenübertragung verwendet wird. TCP hat die Protokollnummer 6 und UDP die Protokollnummer 17.
- Header-Prüfsumme: Dieses Feld dient zur Fehlererkennung.
- Ursprungs IP-Addresse: Es speichert die IP-Adresse des Quellend-Hosts.
- Ziel-IP-Adresse: Es speichert die IP-Adresse des Zielhosts.
Wir werden dies in unseren kommenden Tutorials ausführlich besprechen.
Transportschicht
- Dies ist die dritte Schicht von unten, die für die gesamte Datenübertragung verantwortlich ist und beim Aufbau einer durchgängigen logischen Konnektivität zwischen dem Quell- und Zielhost und den Geräten in einem Netzwerk hilfreich ist.
- Zwei Protokolle werden verwendet, um diese Aufgaben auszuführen:
- Das erste ist das Transmission Control Protocol (TCP), ein verbindungsbasiertes und zuverlässiges Protokoll.
- Zweitens ist das User Datagram Protocol (UDP) ein verbindungsloses Protokoll.
- Bevor wir uns eingehend mit diesen beiden Protokollen befassen, werden wir das Konzept von PORT NUMBER diskutieren, das von diesen beiden Protokollen verwendet wird.
Port-Nummer:
In einem Netzwerk kann ein Host-Gerät gleichzeitig Datenverkehr von mehreren Quellen senden oder empfangen.
In einer solchen Situation erkennt das System nicht, zu welcher der Anwendungen die Daten gehören. TCP- und UDP-Protokolle lösen diese Probleme, indem sie eine Portnummer in ihre Header einfügen. Die bekannten Protokolle der Anwendungsschicht werden mit der Portnummer im Bereich von 1 bis 1024 zugewiesen.
Auf der Quellseite wird jeder TCP- oder UDP-Sitzung eine zufällige Portnummer zugewiesen. Die IP-Adresse, die Portnummer und der Protokolltyp, die in Kombination verwendet werden, reformieren einen Socket sowohl am Quell- als auch am Zielende. Da jeder Socket exklusiv ist, können mehrere Hosts im gleichen Zeitintervall Datenverkehr senden oder empfangen.
Die folgende Tabelle zeigt die Portnummer, die mehreren Protokollen der Anwendungsschicht zugewiesen ist, die dem Protokoll der Transportschicht entsprechen.
Anwendungsprotokoll | Transportprotokoll | Port-Nummer |
---|---|---|
DNS | TCP, UDP | 53 |
HTTP | TCP | 80 |
HTTPS | TCP | 443 |
FTP (Kontrolle) | TCP | einundzwanzig |
FTP (Daten) | TCP | zwanzig |
SSH | TCP | 22 |
Telnet | TCP | 2. 3 |
SMTP | TCP | 25 |
TFTP | UDP | 69 |
Mehrere Sitzungen mit Portnummer
TCP
- Wann immer die Anwendungsschicht den Fluss von großem Verkehr oder Daten zirkulieren muss, sendet sie ihn an die Transportschicht, in der der TCP die gesamte End-to-End-Kommunikation zwischen Netzwerken durchführt.
- TCP hat zunächst einen Drei-Wege-Handshake-Prozess zwischen Quelle und Ziel eingerichtet. Anschließend werden die Daten in kleine Abschnitte aufgeteilt, die als Segmente bezeichnet werden. In jedes Segment wird ein Header eingefügt und anschließend an die Internetschicht weitergeleitet.
Die folgende Abbildung zeigt das Format des TCP-Headers.
- Drei-Wege-Handschlag: Dies ist der Prozess, der von TCP bereitgestellt wird, um eine Verbindung zwischen dem Quell- und dem Zielhost im Netzwerk herzustellen. Es wird verwendet, um eine zuverlässige Datenübertragung durchzuführen. Es stellt SYN- und ACK-Flags von Codebits des TCP-Headers bereit, um die Aufgabe auszuführen. Es bietet eine zuverlässige Kommunikation durch positive Bestätigung bei erneuter Übertragung und wird auch als PAR bezeichnet. Das System, das PAR verwendet, sendet das Datensegment erneut, bis es die ACK empfängt. Immer wenn der Empfänger die Daten verwirft, muss der Sender die Daten erneut senden, bis er die positive Bestätigung vom Empfänger empfängt.
Es gibt drei Schritte des Drei-Wege-Händeschüttelns:
- Schritt 1: Der Quellhost A möchte eine Verbindung mit dem Zielhost B herstellen, er sendet ein Segment mit der SYN- und Sequenznummer, was angibt, dass der Host A eine Kommunikationssitzung mit Host B initiieren möchte und mit welcher Sequenznummer er definiert ist in diesem Segment.
- Schritt 2: Der Host B antwortet auf die Anforderung von Host A, wobei SYN und ACK im Signalbit gesetzt sind. ACK bezeichnet die Antwort des empfangenen Segments und SYN bezeichnet die Sequenznummer.
- Schritt 3: Der Host A bestätigt die Antwort von Host B und beide stellen eine sichere Verbindung zwischen ihnen her und beginnen dann mit der Datenübertragung darüber.
Wie in der folgenden Abbildung beschrieben, sendet der Quellhost beim Drei-Wege-Handshake-Prozess zunächst einen TCP-Header an den Zielhost, indem er das SYN-Flag setzt. Als Antwort erhält es das gesetzte SYN- und Bestätigungsflag zurück. Der Zielhost übt die empfangene Sequenznummer plus 1 als Bestätigungsnummer.
TCP IP unterstützt das Client-Server-Modell des Kommunikationssystems.
Drei-Wege-Handshake-Prozess
- Datensegmentierung ::
- Dies ist eine der Funktionen des TCP-Protokolls. Die Anwendungsschicht sendet eine große Anzahl von Daten zur Übertragung an das Ziel an die Transportschicht. Die Transportschicht begrenzt jedoch die Größe der Daten, die auf einmal gesendet werden sollen. Dies erfolgt durch Aufteilen der Daten in kleine Segmente.
- Um die Sequenz von Datensegmenten zu erkennen, wird im TCP-Header eine Sequenznummer verwendet, die die Bytenummer des gesamten Datensegments beschreibt.
- Ablaufsteuerung:
- Der Quellhost sendet die Daten in einem Cluster von Segmenten. Der TCP-Header mit einem Fensterbit wird verwendet, um die Anzahl der Segmente zu ermitteln, die zu einem bestimmten Zeitpunkt gesendet werden können. Es wird verwendet, um dem unbedeutenden Verkehr am Zielende zu entgehen.
- Wenn die Sitzung gestartet wird, ist die Größe des Fensters winzig, aber wenn der Datenverkehr mit der Zeit zunimmt, kann die Größe des Fensters sehr groß werden. Der Zielhost kann das Fenster entsprechend der Steuerung des Flusses anpassen. Daher wird das Fenster als Schiebefenster bezeichnet.
- Die Quelle kann nur die Anzahl der Segmente übertragen, die vom Fenster zugelassen werden. Um mehr Segmente zu senden, wartet es zunächst auf eine Bestätigung vom empfangenden Ende, sobald es die ACK empfängt, und später kann es die Größe des Fensters entsprechend seinen Anforderungen verbessern.
- In der folgenden Abbildung erhöht der Zielhost die Größe von 500 auf 600 und dann auf 800, nachdem er die ACK an den Quellhost zurückgesendet hat.
- Zuverlässige Lieferung und Fehlerbehebung ::
- Nachdem das letzte Segment des festgelegten Fensters vom Ziel empfangen wurde, muss es eine ACK an das Quellende senden. Das ACK-Flag wird im TCP-Header gesetzt und die ACK-Nummer wird als Sequenznummer des angenommenen nachfolgenden Bytes gesetzt. Wenn das Ziel die Segmente nicht in der richtigen Reihenfolge empfängt, sendet es die ACK nicht zurück an die Quelle.
- Dies erklärt die Quelle, dass einige der Segmente während der Übertragung falsch platziert sind und alle Segmente erneut übertragen werden.
- In der folgenden Abbildung wurde gezeigt, dass die Quelle, wenn sie die ACK für das Segment mit der SEQ-Nummer 200 nicht empfangen hat, die Daten erneut überträgt und nach dem Empfang der ACK die nächste Sequenz des Datensegments in sendet entsprechend der Fenstergröße.
- Bestellte Lieferung ::
- Der TCP stellt die sequentielle Übermittlung von Daten an das Ziel sicher. Es liefert die Daten in der Reihenfolge, in der sie von der Anwendungsschicht zur Lieferung an den Zielhost empfangen werden. Zur Aufrechterhaltung der bestellten Lieferung wird daher die Sequenznummer während der Übertragung von Datensegmenten verwendet.
- Verbindungsabbruch ::
- Wenn die Datenübertragung zwischen Quelle und Ziel abgeschlossen ist, beendet der TCP die Sitzung durch Senden von FIN- und ACK-Flags und schließt sie mithilfe eines Vier-Wege-Handshakes.
TCP-Schiebefenster und zuverlässige Lieferung
wie man eine ausführbare JAR-Datei ausführt
UDP (User Datagram Protocol):
Es ist das unzuverlässige und verbindungslose Protokoll für die Datenübertragung. In diesem Protokoll wird im Gegensatz zu TCP kein ACK-Flag generiert, daher wartet der Quellhost nicht auf eine Antwort vom Zielende und überträgt die Daten ohne Verzögerung und wartet auf ACK.
In einem Echtzeitszenario wird UDP verwendet, da das Verwerfen der Datenpakete dem Warten auf Pakete zur erneuten Übertragung vorgezogen wird. Daher wird es am häufigsten beim Spielen, Online-Ansehen von Videos, Chatten usw. verwendet, bei denen die Bestätigung von Daten kein Problem darstellt. In diesen Szenarien erfolgt die Fehlerprüfung und -korrektur auf der Anwendungsebene.
UDP-Header:
- Quellport: Es klassifiziert die Quellendpaketinformationen, die 16 Bit groß sind.
- Zielhafen : Es ist ebenfalls 16 Bit groß und dient zur Klassifizierung des Datendiensttyps am Zielknoten.
- Länge : Zeigt die Gesamtgröße des UDP-Datagramms an. Die maximale Größe des Längenfelds kann die Gesamtgröße des UDP-Headers selbst sein.
- Prüfsumme : Es speichert den Prüfsummenwert, der vom Quellende vor der Übertragung ausgewertet wird. Wenn es keinen Wert enthält, werden alle seine Bits auf Null gesetzt.
UDP-Anwendungen ::
- Es stellt ein Datagramm bereit und ist daher für IP-Tunneling und Netzwerkdateisysteme geeignet.
- Einfach zu verwenden, daher wird es im DHCP- und Trivial File Transfer-Protokoll verwendet.
- Staatenlos zu sein macht es effizient für Streaming-Medienanwendungen wie IPTV.
- Auch für Voice over IP- und Echtzeit-Streaming-Programme geeignet.
- Es unterstützt den Multicast und ist daher für Broadcast-Dienste wie Bluetooth und das Routing-Informationsprotokoll geeignet.
Anwendungsschicht
(i) Dies ist die oberste Schicht des TCP / IP-Modells.
(ii) Es führt alle Aufgaben einer Sitzungsschicht, Präsentationsschicht und Anwendungsschicht des TCP / IP-Modells aus.
(iii) Es kombiniert die Funktionen der Schnittstelle mit verschiedenen Anwendungen, der Datencodierung, der Datenübersetzung und stellt den Zugriff für die Benutzer zur Kommunikation mit verschiedenen Netzwerksystemen bereit.
Die gängigsten Protokolle der Anwendungsschicht sind nachfolgend definiert:
# 1) TELNET: Es steht für Terminal Emulation Protocol. Im Allgemeinen wird der Zugriff auf die Remote-End-Anwendungen praktiziert. Der Telnet-Server, der als Host fungiert, initiiert eine Telnet-Server-Anwendung, um eine Verbindung mit dem als Telnet-Client bezeichneten Remote-End-Host herzustellen.
Nachdem die Verbindung hergestellt wurde, wird sie dem Betriebssystem des Telnet-Servers angezeigt. Die Benutzer auf der Serverseite verwenden Tastatur und Maus, um über TELNET auf den Host am anderen Ende zuzugreifen.
# 2) HTTP: Es steht für Hypertext Transfer Protocol. Es ist die Basis des World Wide Web (WWW). Dieses Protokoll wird verwendet, um den Hypertext zwischen verschiedenen Systemen auszutauschen. Es ist eine Art Anforderungs-Antwort-Protokoll.
Zum Beispiel, Webbrowser wie der Internet Explorer oder Mozilla fungieren als Webclient, und das auf dem PC, auf dem die Website gehostet wird, gestreamte Anwendung fungiert als Webserver.
Somit gibt der Server, der die Ressourcen wie HTML-Dateien und andere vom Client angeforderte Funktionen bereitstellt, eine Antwortnachricht an den Client zurück, die den Inhalt der Abschlussstatusdaten und der angeforderten Daten in der Nachrichtenzeile enthält.
HTTP-Ressourcen werden von URLs (Uniform Resource Locators) erkannt und im Netzwerk positioniert, die URI-Methoden (Uniform Resource Identifiers) HTTP und https bereitstellen.
# 3) FTP: Es steht für File Transfer Protocol. Es wird zum Freigeben oder Übertragen der Dateien zwischen zwei Hosts verwendet. Der Host, auf dem die FTP-Anwendung ausgeführt wird, verhält sich wie der FTP-Server, während sich der andere als FTP-Client verhält.
Der Client-Host, der die Dateifreigabe anfordert, benötigt eine Authentifizierung vom Server, um auf die Daten zugreifen zu können. Nach der Autorisierung kann es vom Server aus auf alle Arten von Dateien zugreifen, Dateien senden oder empfangen.
# 4) SMTP: Das einfache Mail-Transportprotokoll ist eine Übung zum Versenden von E-Mails. Wenn wir den Host für das Senden von E-Mails konfigurieren, verwenden wir SMTP.
# 5) DNS: Jedes der Hostgeräte in einem Netzwerk verfügt über eine eindeutige logische Adresse, die als IP-Adresse bezeichnet wird. Wie bereits erwähnt, sind die IP-Adressen eine Gruppe von so vielen Zahlen und es ist nicht leicht, sie sich zu merken. Wenn wir eine Webadresse in einem Webbrowser wie Google.com eingeben, fordern wir tatsächlich einen Host mit einer IP-Adresse an.
Wir müssen uns jedoch nicht die IP-Adresse der Webseite merken, die wir anfordern, da DNS (Domain Name Server) jeder logischen IP-Adresse einen Namen zuordnet und diese speichert.
Wenn wir also den Browser für eine Webseite eingeben, sendet er die DNS-Abfrage an seinen DNS-Server, um die IP-Adresse dem Namen zuzuordnen. Sobald die Adresse erhalten wurde, wird eine HTTP-Sitzung mit der IP-Adresse erstellt.
# 6) DHCP: Jedes der Hostgeräte in einem Netzwerk benötigt eine IP-Adresse für die Kommunikation mit den anderen Geräten im Netzwerk. Diese Adresse wird durch manuelle Konfiguration oder mithilfe eines dynamischen Host-Konfigurationsprotokolls (DHCP) abgerufen. Bei Verwendung von DHCP wird dem Host automatisch eine IP-Adresse zugewiesen.
beste kostenlose Backup-Software für Mac
Angenommen, ein Netzwerk besteht aus 10.000 Hostgeräten. Die manuelle Zuweisung der IP-Adresse zu jedem Host ist sehr schwierig und zeitaufwändig. Daher verwenden wir das DHCP-Protokoll, um den verbundenen Hostgeräten eine IP-Adresse und andere Informationen zuzuweisen, z. B. Subnetzmasken-IP oder Gateway-IP.
Softwaretestprogramme funktionieren auf dieser Ebene des TCP / IP-Modells, da sie den Endbenutzern ermöglichen, die verschiedenen Dienste zu testen und diese Dienste zu verwenden.
Fazit
Wir haben die verschiedenen Protokolle gesehen, die auf jeder Schicht des TCP / IP-Modells verwendet werden, um die mit der Schicht verbundenen Aufgaben und ihre Vorteile in einem Kommunikationssystem auszuführen.
Alle oben definierten Protokolle haben ihre eigene Bedeutung und unterschiedliche Rollen beim Testen und Anwenden der Softwaretools.
PREV Tutorial | NÄCHSTES Tutorial
Literatur-Empfehlungen
- Alles über Layer 2- und Layer 3-Switches im Netzwerksystem
- Eine vollständige Anleitung zur Firewall: So erstellen Sie ein sicheres Netzwerksystem
- Alles über Router: Routertypen, Routing-Tabelle und IP-Routing
- Was ist Wide Area Network (WAN)? Beispiele für Live-WAN-Netzwerke
- Was sind HTTP- (Hypertext Transfer Protocol) und DHCP-Protokolle?
- Wichtige Protokolle der Anwendungsschicht: DNS-, FTP-, SMTP- und MIME-Protokolle
- IPv4 vs IPv6: Was ist der genaue Unterschied
- Was ist meine IP-Adresse und mein Standort (Überprüfen Sie hier Ihre echte IP)