Ich weiß, dass sowohl TCP als auch UDP auf IP aufbauen, und ich kenne die Unterschiede zwischen TCP und UDP, aber ich bin verwirrt darüber, was genau "rohe IP" ist. Wäre es fair zu sagen, dass sowohl TCP als auch UDP IP implementieren, aber diese IP an und für sich nicht in der Lage ist, Daten zu übertragen? Oder ist IP eine sehr untergeordnete Kommunikationsform, die durch TCP und UDP weiter abstrahiert wird?
18
Antworten:
IP ist ein Layer 3- Protokoll. TCP / UDP sind Layer 4- Protokolle. Sie dienen jeweils unterschiedlichen Zwecken.
Schicht 3 ist für die End-to-End-Zustellung zuständig . Seine einzige Funktion ist das Hinzufügen von allem, was zu einem Paket notwendig ist, um ein Paket von einem Host zu einem anderen zu bekommen.
Schicht 4 ist für die Service-to-Service-Lieferung zuständig . Seine einzige Funktion besteht darin, Datenströme zu trennen. Auf Ihrem Computer können mehrere Programme ausgeführt werden, die jeweils Bits an die Leitung senden / empfangen. IE: Sie könnten mehrere Browser-Registerkarten ausführen, Internetradio streamen, einen Download ausführen, einige legale Torrents ausführen, eine Chat-Anwendung verwenden usw. Alle diese empfangen Einsen und Nullen von der Leitung, und Schicht 4 trennt die einzelnen Datenströme von der einzigartige Anwendung, die sie benötigt. Hier ist eine Illustration:
IP kann ein Paket nicht an den richtigen Dienst / die richtige Anwendung senden. Und TCP / UDP kann kein Paket von einem Ende des Internets zum anderen übermitteln.
Sowohl TCP als auch IP arbeiten zusammen, um es beiden zu ermöglichen, das "Endziel" der Internetkommunikation zu erreichen.
Daten, die von einem Host zu einem anderen gelangen müssen, werden von den oberen Schichten des OSI-Modells generiert.
Diese Daten werden an L4 weitergegeben, der die Informationen hinzufügt, die für die Übermittlung der Daten von Dienst zu Dienst erforderlich sind, z. B. ein TCP-Header mit einem Quell- und einem Zielport. Der Daten- und der L4-Header werden nun als Segment bezeichnet.
Dann wird das Segment an L3 übergeben, das die Informationen hinzufügt, die erforderlich sind, um das Segment von Ende zu Ende zu liefern, wie ein IP-Header mit einer Quell- und Ziel-IP-Adresse. Der L3-Header und das Segment können nun als Paket bezeichnet werden.
Dieser Prozess wird als Einkapselung und Entkapselung (oder manchmal auch Entkapselung) bezeichnet. Hier ist eine Animation, wie es funktioniert:
Wenn dies keinen Sinn ergibt, empfehle ich, mehr über das OSI-Modell zu lesen und wie jede Schicht unterschiedliche Verantwortlichkeiten hat, die alle zusammenarbeiten, um ein Paket über das Internet zu transportieren .
quelle
inside an IP header is usually a TCP or UDP header
ist nicht korrekt, der TCP / UDP-Header befindet sich nicht im IP-Header, sondern im Datenteil des IP-Pakets.IP kann Daten problemlos übertragen. Das Problem ist, was passiert, wenn diese Daten am anderen Ende ankommen. Die einzigen Identifikationsinformationen sind die IP-Adressen der Hosts und eine Protokollnummer. Keiner von beiden bietet eine Möglichkeit, zu unterscheiden, für welchen Socket die Daten bestimmt sind.
Es ist für Programme möglich, IP direkt über sogenannte "Raw-Sockets" zu verwenden, aber das Fehlen eines geeigneten Mechanismus für die Entscheidung, welcher Socket Daten senden soll, wirft Sicherheits- und Leistungsprobleme auf (der Kernel muss die Daten an alle Raw-Sockets senden) für eine bestimmte Protokollnummer). Aus diesem Grund ist die Möglichkeit, "Raw Sockets" zu öffnen, normalerweise auf "root" (oder die entsprechende Plattform) beschränkt.
UDP ist eine recht minimale Schicht über IP. Es werden Portnummern hinzugefügt, um zu identifizieren, für welchen Socket die Daten bestimmt sind, und eine Prüfsumme (um beschädigte Pakete abzulehnen). Die Anwendung ist weiterhin dafür verantwortlich, mit verlorenen Paketen umzugehen, die Überlastung zu kontrollieren und die Daten in entsprechend große Pakete aufzuteilen.
TCP ist ein komplexeres Protokoll, das nicht nur Portnummern und Prüfsummen zur Verfügung stellt, sondern auch Byte-Streams in Pakete aufteilt, dann an ihrem Ziel wieder zusammensetzt und Funktionen zur Überlastungskontrolle und Wiederherstellung bietet.
quelle
IP ist ein OSI-Layer-3-Protokoll, während TCP und UDP OSI-Layer-4-Protokolle sind. Als Layer-3-Protokoll kann IP viele verschiedene Layer-4-Protokolle tragen. TCP und UDP sind wahrscheinlich die häufigsten, aber nicht die einzigen. Layer-4-Protokolle werden von Anwendungen als End-to-End-Verbindungen verwendet. IP transportiert Layer-4-Protokolle von Netzwerk zu Netzwerk (Host zu Host). Layer-2-Protokolle transportieren wie Ethernet Layer-3-Protokolle in einem LAN.
Sie sollten das OSI-Modell untersuchen, sich jedoch darüber im Klaren sein, dass es sich um ein konzeptionelles Modell handelt und die reale Welt häufig nicht genau übereinstimmt.
quelle