Stimmt es, dass TCP die Abkürzung für TCP / IP ist und dasselbe bedeutet?
Ist es möglich, dass TCP auf einem anderen Protokoll als IP basiert ?
Stimmt es, dass TCP die Abkürzung für TCP / IP ist und dasselbe bedeutet?
Ist es möglich, dass TCP auf einem anderen Protokoll als IP basiert ?
Antworten:
TCP und IP (v4 und v6) sind definitiv trennbar, und eines impliziert das andere nicht, wie das Beispiel von TCP über IPX ( RFC 1791 ) zeigt.
TCP kann jedoch nicht über jedes Netzwerkprotokoll aufgebaut werden. Zwei Gründe:
Die TCP-Spezifikation RFC 793 ist keine gute Quelle, um diese Frage zu beantworten, da sie zugibt, dass ihre Schnittstelle mit der unteren Schicht weitgehend unbestimmt bleibt.
Hinweis a) Damit TCP auf kleinen Blättern gedruckte Datagramme (ob von Tauben oder einem intelligenteren Corvid-Netzwerk) wieder zusammensetzen kann, muss die Größe der Nutzlast an einem Standardspeicherort angegeben werden. Alternativ könnte eine Anpassungsschicht die Segmentgröße heuristisch bestimmen. Der optische Scanner, der bei der Implementierung des Host-Stacks der Avian Carrier Spec ( RFC 1149 ) verwendet wurde, enthielt eine solche heuristische Anpassungsschicht, die jedoch nicht dokumentiert ist.
Ich habe nicht den gesamten RFC gelesen, aber die Sprache in Abschnitt 1.4 scheint darauf hinzudeuten, dass jedes "untergeordnete" Protokoll verwendet werden kann.
Die Schnittstelle zwischen TCP und Protokoll der unteren Ebene ist im Wesentlichen nicht spezifiziert, mit der Ausnahme, dass angenommen wird, dass es einen Mechanismus gibt, durch den die beiden Ebenen Informationen asynchron aneinander weitergeben können. Normalerweise erwartet man, dass das Protokoll der unteren Ebene diese Schnittstelle spezifiziert. TCP wurde entwickelt, um in einer sehr allgemeinen Umgebung miteinander verbundener Netzwerke zu funktionieren. Das Protokoll der unteren Ebene, das in diesem Dokument verwendet wird, ist das Internetprotokoll.
TCP ist keine Abkürzung für TCP / IP.
TCP / IP wird häufig als Abkürzung für " The Internet Protocol Suite " verwendet und enthält normalerweise andere Standardprotokolle. Wenn Leute TCP / IP sagen, schließen sie normalerweise UDP über IP (in dem UDP anstelle von TCP verwendet wird) und viele andere Protokolle wie ARP, ICMP, DNS, SNMP und andere Protokolle der Anwendungsschicht ein.
Anwendungen verwenden Anwendungsschichtprotokolle wie SMTP (für E-Mail). Diese befinden sich auf einem von zwei Transportschichtprotokollen - TCP und UDP. Einige Protokolle der Anwendungsschicht verwenden UDP und / oder TCP, die meisten werden jedoch nur mit einem Transportschichtprotokoll verwendet.
TCP und UDP sind zwei Transportschichtprotokolle, die in der Internet Protocol Suite verwendet werden. Wenn es andere gibt, kenne ich sie nicht und alle anderen würden einen verschwindend kleinen Fachgebrauch darstellen. Andere Transportschichtprotokolle wurden definiert - ihre Verwendung macht wahrscheinlich nur einen kleinen Teil des globalen IP-Verkehrs aus †
Während es theoretisch möglich sein könnte, TCP über etwas anderes als IP zu verwenden, wird TCP in der Praxis immer über IP verwendet - das Internetprotokoll. IP verschiebt Pakete zwischen Netzwerken (IP bedeutet, dass mehrere LANs miteinander verbunden werden)
Ethernet ist nur die beliebteste Familie von Low-Level-Link-Layer-Protokollen, auf denen TCP / IP übertragen wird. TCP / IP wird jedoch auch häufig über ATM und andere Geräte verwendet.
Die einzigen Transportschichtprotokolle, die in Netzwerken, die die Internet Protocol Suite verwenden, in erheblichem Umfang verwendet werden, sind TCP und UDP.
† Aus Spaß habe ich den Datenverkehr in meinem (sehr) kleinen LAN gemessen, zu dem NetBIOS (über TCP), SSH, Rsync, E-Mail, Software-Updates, DNS, allgemeines Windows-Box-Chatter und einige andere Arten von Datenverkehr gehören.
Beachten Sie auch diese Erklärung in den FAQ von Google zu deren QUIC-Protokoll
Warum haben Sie kein ganz neues Protokoll erstellt, anstatt UDP zu verwenden? Mittlere Boxen im Internet blockieren heutzutage im Allgemeinen den Verkehr, es sei denn, es handelt sich um TCP- oder UDP-Verkehr
(meine Betonung)
Der Grund, warum TCP / IP eine so gebräuchliche Abkürzung ist (im Gegensatz zu UDP / IP oder SCTP / IP), liegt darin, dass die beiden Protokolle zusammen entworfen wurden und im Originalpapier von Vint Cerf und Bob Kahn die beiden Konzepte zu einem einzigen Protokoll zusammengefasst. Bald danach wurden sie in IP unterteilt, um Routing und TCP für Flusskontrolle, Multiplexing, Fehlererkennung usw. bereitzustellen. Erst sechs Jahre später wurde UDP eingeführt, um eine "leichte" Multiplexing-Schicht ohne den Rest der zu bieten Overhead mit TCP beteiligt.
Dennoch sind TCP und IP zwei getrennte Dinge und völlig und absichtlich unabhängig. Die Tatsache, dass TCP keine IP erfordert, wird sofort deutlich, da TCP sowohl auf IPv4 als auch auf IPv6, zwei völlig unterschiedlichen Protokollen, unverändert ausgeführt werden kann.
Mit ein wenig Arbeit könnten Sie ein konkurrierendes IP-Protokoll erstellen, das den gleichen Zwecken dient, aber wahrscheinlich die meisten, wenn nicht alle, gleichen Funktionen enthalten muss und wahrscheinlich sowieso sehr nach IP aussieht. Sie könnten argumentieren, dass IP-Erweiterungen (wie IPSec) tatsächlich alternative Layer-3-Protokolle sind.
Sie können IP durch etwas anderes ersetzen. Genau das tun Sie, wenn Sie TCP über IPv6 verwenden. TCP ist immer noch TCP, aber die IP ist v6 statt v4.
AFAIK, niemand hat andere Layer-3-Protokolle erstellt, um mit TCP über diesen Protokollen zu arbeiten, aber es gibt keinen Grund, warum Sie das nicht könnten.
TCP und IP sind wie Butter über Brot.
Sie können alles andere, das mit beiden Protokollen funktioniert, koppeln , aber diese beiden sind so komplementär, dass es nur eine sehr zuverlässige Möglichkeit ist , Daten zu übertragen und den Bauch mit Internetdaten zu füllen. Es schmiert die Röhre, damit andere trockene Lebensmittel und das Daten-Handshaking diese Paarung unterstützen. Aber in keiner Weise ist es exklusiv.
F Ist es jedoch nicht möglich, dass TCP auf einem anderen Protokoll als IP basiert?
A Ja, das ist möglich. Ich mag die Beispiele für Morsecode und Pigeon für TCP ohne IP.
Ich habe immer gehört, dass TCP die Abkürzung für TCP / IP ist
Eigentlich steht es für Transmission Control Protocol over Internet Protocol
und sie bedeuten dasselbe.
Das stimmt nicht.
Erstens ist Ethernet das Low-Level-Hardwaresystem, das steuert, wie die eigentlichen Hardwareteile funktionieren.
Stellen Sie sich IP als Telefonsystem oder Verkehrszeichen vor. Es bietet die grundlegende Steuerung der Verbindung von System zwei Punkten zusammen.
TCP hingegen ist eher ein Messaging-System oder ein Verkehrskontrollbeamter, der Nachrichten / Autos zum richtigen Punkt leitet.
Zusammengenommen bietet TCP / IP ein System zur zuverlässigen Übertragung von Daten zu und von zwei verbundenen Geräten.
Wenn Sie im Internet Daten senden oder empfangen möchten, ist der IP-Teil des Systems der Teil, der das Herstellen der tatsächlichen Hardwareverbindungen mit den Kabeln (oder Funkwellen) steuert. Der TCP-Teil des Systems ist die Software, die dafür verantwortlich ist, die Daten aufzunehmen und aufzubrechen, zu senden, die empfangenen Daten wieder zusammenzusetzen und die Daten zu überprüfen und gegebenenfalls erneut zu senden.
Es gibt unzählige Erklärungen mit Analogien und technischen Details, insbesondere in Videoform . DifferenceBetween.net hat ein besonders gutes Thema zu diesem Thema .
Ist es jedoch nicht möglich, dass TCP auf einem anderen Protokoll als IP basiert?
Ja, Sie könnten in der Tat ein alternatives System für TCP erstellen , das IP verwendet. Schauen Sie sich die Internet Protocol Suite für einige Details an.
> the fact that !TCP can go over IP does not necessarily mean TCP can go over !IP Huh?
psusi versucht mit "!" klug zu sein als "nicht Operator". Sein Kommentar sollte lauten: "Die Tatsache, dass etwas, das nicht TCP ist, über IP gehen kann, bedeutet nicht zwangsläufig, dass TCP über etwas gehen kann, das nicht IP ist." Es wird auf den letzten Satz Ihrer Antwort verwiesen, der die Existenz von "Alternate Systems to TCP" zeigte. Zu zeigen, dass Alternativen zu TCP existieren, bedeutet jedoch nicht unbedingt, dass Alternativen zu IP existieren.
TCP ist ein Layer 4-Protokoll. Es bietet garantierten Datentransport in Form eines bestellten Datenstroms von einem Prozess auf einem Computer zu einem anderen Prozess auf demselben / einem anderen Computer.
IP ist ein Layer-3-Protokoll. Es ermöglicht den Transport von einem Host zum anderen.
Solange es ein Protokoll gibt, das Daten von Host zu Host übertragen kann, funktioniert TCP.
TCP kann also über jedes Protokoll implementiert werden, aber wir haben nur IP gemacht. IP ist einfach und erledigt die Arbeit.
Es ist kein weiteres Layer 3-Protokoll erforderlich.
Wenn Sie ein Netzwerk entwerfen, müssen Sie für jede der verschiedenen "Ebenen" (die Sie sich als verschiedene Abstraktionsebenen vorstellen können, die Netzwerkdesigner gerne mögen) eine Reihe von Protokollen auswählen (die im Grunde genommen Sätze von Kommunikationsregeln zwischen Computern sind) Beachten Sie dies beim Erstellen und Kombinieren von Protokollen.
Einfachere Version: Protokolle sind wie Kisten, in die wir unsere Nachrichten legen . Diese Boxen haben unterschiedliche Größen, und Sie platzieren Ihre Nachricht in der kleinsten Box, dann in der kleinsten Box in einer Box, die ein wenig größer ist usw. Bei der Auswahl eines Protokollsatzes wird für jede Box festgelegt, welche Art von Box Sie verwenden. " Ebene ", die Ihre Nachricht umgibt.
TCP und IP sind Protokolle für zwei unabhängige Schichten, die zusammen erstellt wurden und zusammen verwendet werden können. kann aber sehr gut mit anderen protokollen verwendet werden. Das kommt ziemlich häufig vor: Sie können IP zusammen mit einem Nicht-TCP-Protokoll oder TCP zusammen mit einem Nicht-IP-Protokoll verwenden .
Der Grund, warum TCP / IP eine so verbreitete Abkürzung ist, ist, dass diese beiden Protokolle zusammen die Basis des Internets bildeten und der Schlüssel zu seinem Erfolg waren .
(TCP und IP verfügen über einige Funktionen, die speziell für die gemeinsame Verwendung entwickelt wurden. Dies wird von Puristen häufig beanstandet, hindert Sie jedoch nicht wirklich daran, sie mit anderen Protokollen zu verbinden.)
Ich denke, es ist möglich, TCP über IPX-Transport auszuführen, wenn Sie nachrüsten möchten.
Ist es jedoch nicht möglich, dass TCP auf einem anderen Protokoll als IP basiert?
Neben dem klassischen TCP / IPv4 und TCP / IPv6 wurden einige experimentelle Protokolle entwickelt, zum Beispiel:
Im Rahmen unserer Bemühungen um Net100 und Probe zur Verbesserung der Massenübertragung in Hochgeschwindigkeitsnetzen mit hoher Latenz haben wir eine instrumentierte und einstellbare Version von TCP entwickelt, die über UDP ausgeführt wird. Der UDP-TCP-ähnliche Transport dient als Testumgebung für das Experimentieren mit TCP-ähnlichen Steuerelementen auf der Anwendungsebene, die TReno ähnelt.
Und iproxy: TCP-Dienste über UDP ausführen , was mehr Spaß macht:
iproxy besteht aus einem clientseitigen Proxy und einem serverseitigen Proxy, mit denen beliebige TCP / IP-Dienste über Broadcast, Multicast oder Unicast UDP ausgeführt werden können. Ursprünglich wurde es als Methode konzipiert, Server, denen im LAN keine IP-Adresse zugewiesen wurde, über eine webbasierte Schnittstelle zu konfigurieren.
Sie sehen also: TCP bei Unicast-UDP und sogar TCP bei Broadcast- oder Multicast-UDP !
AFAIK nur TCP / IPv4 und TCP / IPv6 genießen eine umfangreiche Bereitstellung.
Die Antwort ist nein! Zum Beispiel gibt es einen alten RFC, der TCP über IPX beschreibt: http://tools.ietf.org/html/rfc1791
Für diejenigen mit kurzen Erinnerungen war IPX das Novell Netware-Protokoll: http://en.wikipedia.org/wiki/Internetwork_Packet_Exchange
Es gibt bereits Implementierungen von TCP über verschiedene Protokolle, die den Transport eines Basis-Datagramms unterstützen. Tatsächlich müssen nicht einmal die Routing-Informationen angegeben werden (TCP benötigt nicht einmal IP für die Arbeit, lediglich ein serila-Link mit einem impliziten Empfänger würde ausreichen).
Sie haben also TCP über UDP implementiert (Vorteil: Sie verwenden einen einzelnen Port auf der "Server" -Seite oder Sie können ihn über eine vorhandene Verbindung einbetten, die verschiedene Multiplex-Kanäle transportiert). Nur die IP-Ebene stellt das Routing bereit, TCP benötigt es jedoch nicht. Entscheidend ist nur, dass das Konzept einer MTU von der unteren Ebene bereitgestellt wird.
Auf diese Weise kann das Protokoll die Einschränkungen der NAT-Übertragung umgehen, ohne einen UPnP-Übersetzungsport für einen bestimmten Host registrieren zu müssen. Es ermöglicht eine unabhängige Abstimmung von MTU und MSS, die für jeden Client und nicht für jeden gemeinsam genutzten Zwischenrouter optimiert ist. Andere Routing-Protokolle sind möglich (auch für die Auslieferung über Multicast- und Broadcast-Netze). Und Sie haben die Wahl der Sicherheitsmechanismen.
Ein Beispiel für die Verwendung ist Gogo6.net (das seinen IPv6-Transportkanal über eine TCP-Sitzung mithilfe einer Neuimplementierung von TCP über UDP v4 implementiert). Es funktioniert auf den meisten Routern für den Heimzugriff, die immer noch nur eine IPv4-Adresse haben und die UPnP-Methode nicht immer unterstützen ; ohne dass es von Benutzern unter Verwendung einer für die Anwendung spezifischen konstanten Portnummer konfiguriert werden muss, auch wenn sie nicht ausgeführt wird)
Andere Beispiele sind die Kapselung von TCP über HTTP (oder HTTPS) Version 1.1 mit der systemeigenen "gestreamten" Erweiterung. Die meisten VPNs, die das Überbrücken von Netzwerken über das Internet ermöglichen, tun dasselbe. Die Bridge kann sogar mehrere Protokolle kapseln: Ethernet, PPP, IPv4 und IPv6 (nur Erweiterung des lokalen LAN- oder Ethernet-Segments), NetBEUI / LanMan, Routererkennung (innerhalb des Bridged-Netzwerks), auch im Raw-Modus (DHCPv4 oder DHCPv6 zulassen) das überbrückte Netzwerk. HTTPS wird verwendet, weil die Kapselung über HTTPS auch die Verschlüsselung und Authentifizierung für das Einrichten und Sichern der Bridge ermöglicht, jedoch keine End-to-End-Authentifizierung / Verschlüsselung für Clients und Server über das überbrückte Netzwerk erfordert und weil Router in hohem Maße für HTTP optimiert sind und HTTPS.
Es gibt Beispiele für Kommunikationssysteme im Militär, die TCP, aber nicht IP verwenden, da der Kommunikationspfad eine serielle Verbindung ist, die nicht über Router usw. geroutet wird Es scheint leicht möglich zu sein, IP nicht zu verwenden, wenn sich Ihr "Routing" -Protokoll unterscheidet.