Question Est-ce que TCP doit utiliser IP?


Est-il vrai que TCP est court pour TCP / IP et ils signifient la même chose?

Est-ce possible pour TCP être construit sur un autre protocole en plus IP?


104
2017-07-16 20:18


origine


Pourquoi pas? J'ai peut-être vu TCP sur le code morse une fois. - soandos
Un exemple serait un tunnel ICMP, qui utilise TCP sur ICMP. Mais il est vrai que ce n'est pas habituel de construire TCP en plus de tout ce qui n'est pas IP. C’est généralement la couche d’accès au réseau qui utilise une gamme plus large de protocoles et de canaux (tels que les tambours bongo). - Mister Smith
@TomWijsman A essayé un échec? D'après ce que j'ai compris, tout problème lié à la résolution des problèmes et à l'interopérabilité, plutôt que la difficulté de faire fonctionner TCP. - tylerl
@harper Avec un code Morse standard, 200 caractères / minute ne sont certainement pas inconnus pour les opérateurs qualifiés, et la plupart des gens ayant suffisamment de pratique peuvent atteindre 100 c / min (20 wpm). Bien entendu, à ces vitesses, vous n'entendez pas vraiment chaque caractère, mais plutôt le son des mots. (On dit que la caractéristique d’un opérateur qualifié est qu’il se souvient de la conversation, mais pas des mots utilisés.) J'imagine cependant que des caractères de 100 c / min espacés de 50 à 60 c / min seraient réalisables avec taux d'erreur de caractère négligeable. - Michael Kjörling
@harper Cela dépend de votre niveau de précision requis. Pour les bavardages en grande partie (mâchouillage, dans la radio amateur), obtenir un mot ici ou là ne pose pas vraiment de problème, car le contexte importe plus que les mots exacts utilisés. Pour le trafic de télégrammes, les communications d'urgence / de détresse, etc., en particulier si le texte est chiffré, chaque mot et même chaque caractère doit être (pas seulement reçu mais aussi) copiécorrectement (et lisiblement). Notez que j'ai dit que 200 c / min n'est "pas inconnu"; pas banal 100 c / min est cependant assez courant sur les bandes radioamateurs. - Michael Kjörling


Réponses:


TCP et IP (v4 et v6) sont clairement séparables et l’un n’implique pas l’autre, comme le montre l’exemple de TCP sur IPX (RFC 1791).

Cependant, TCP ne peut pas être construit simplement tout protocole réseau. Deux raisons:

  1. Il n'y a pas de champ de taille de segment dans l'en-tête TCP (uniquement le décalage de données, qui donne la taille de l'en-tête TCP). Par conséquent, le protocole TCP ne fonctionnera qu'avec un protocole de couche inférieure contenant suffisamment d'informations pour calculer la taille du segment TCP (c'est-à-dire la taille de la charge utile du protocole de couche inférieure). Cette hypothèse est vraie pour IPv4 (RFC 791), IPv6 (RFC 2460) et IPX (RFC 1791). Mais pas vrai en général, par exemple, pas pour les transporteurs aviaires (RFC 1149) (voir note a).
  2. TCP est uniquement conçu pour fonctionner avec un protocole de réseau sans connexion. Le protocole TCP ne fonctionne pas efficacement sur certains protocoles réseau orientés connexion (par exemple, le service à débit binaire constant ATM), car les deux fonctions de contrôle du taux de combat entraînent des performances très médiocres ou imprévisibles. Un autre exemple dégénéré est TCP sur un tunnel TCP.

La spécification TCP, RFC 793, n'est pas une bonne source pour décider de cette question, car elle admet qu'elle laisse son interface avec la couche inférieure largement indéterminée.

Remarque a) Pour que TCP puisse réassembler les datagrammes imprimés sur de petites feuilles de papier (qu'elles soient transportées par des pigeons ou un réseau Corvid plus intelligent), la taille de la charge utile devrait être écrite dans un emplacement standard. En variante, une couche d'adaptation pourrait déterminer de manière heuristique la taille du segment. Le scanner optique utilisé dans la mise en œuvre de la pile hôte de la spécification des transporteurs aviaires (RFC 1149) incluait une telle couche d'adaptation heuristique, mais elle reste non documentée.


12
2017-10-22 17:29



Techniquement précis (pour autant que je sache), complet, soutenu par des références, clair et léger. Je lui donnerais une poignée de votes que je pourrais. - Scott


Je n'ai pas lu le tout RFC mais le libellé de la section 1.4 semble suggérer que tout protocole "niveau inférieur" peut être utilisé.

L'interface entre TCP et le protocole de niveau inférieur est essentiellement   non spécifié, sauf qu'il est supposé qu'il existe un mécanisme par lequel   deux niveaux peuvent se transmettre de manière asynchrone.   En règle générale, on s'attend à ce que le protocole de niveau inférieur le spécifie   interface. TCP est conçu pour fonctionner dans un environnement très général de   réseaux interconnectés. Le protocole de niveau inférieur qui est supposé   tout au long de ce document est le protocole Internet.


88
2017-07-16 20:31



L’IP lui-même a été implémenté sur de nombreuses technologies de réseau, même pigeons voyageurs. Les oiseaux ont en fait été utilisés pour démontrer la livraison de paquets Ping ICMP, avec une perte de paquets de 55% (apparemment due à une erreur de l'opérateur) et des latences allant de une à deux heures. Il serait possible d'exécuter TCP en plus de cela, mais la configuration de la connexion nécessiterait beaucoup d'oiseaux .... - RBerteig
A propos du commentaire de RBerteig Considérez un pigeon voyageur portant une carte mini-SDHC. Il y a la différence entre la latence et le débit. :-) - Michael Kjörling
@ MichaelKjörling Cela n'interagirait pas avec RFC 1149: "Le datagramme IP est imprimé, sur un petit rouleau de papier". - kmkaplan
@kmkaplan Sauf si le datagramme a été imprimé sur l'étiquette de la carte SDHC. C'est comme le cliché de plusieurs films - "Oh, en fait, c'est sur le disque dur!" - Jon Hanna
Il faudrait avoir de gros trous dans le pare-feu pour permettre aux transporteurs aviaires de traverser. - squillman


Suite de protocole Internet

TCP n'est pas court pour TCP / IP.

TCP / IP est souvent utilisé comme une manière abrégée de dire "La suite de protocole Internet"et comprend généralement d'autres protocoles standard. Lorsque les gens disent TCP / IP, ils incluent généralement UDP over IP (dans lequel UDP est utilisé au lieu de TCP) et de nombreux autres protocoles tels que ARP, ICMP, DNS, SNMP et autres couches d'application protocoles

Couche d'application

Les applications utilisent des protocoles de couche d'application tels que SMTP (pour le courrier électronique). Celles-ci reposent sur l'un des deux protocoles de couche de transport - TCP et UDP. Quelques protocoles de couche d'application utiliseront l'un ou l'autre UDP et TCP, mais la plupart sont utilisés avec un seul protocole de couche transport.

Couche de transport

TCP et UDP sont deux protocoles de couche de transport utilisés dans la suite de protocoles Internet. S'il y en a d'autres, je ne les connais pas et les autres représenteraient un usage de plus en plus petit.  D'autres protocoles de couche de transport ont été définis - leur utilisation ne représente probablement qu'une faible proportion du trafic IP mondial

Couche d'interréseau

Bien qu'il soit théoriquement possible d'utiliser TCP sur autre chose que IP, en pratique, TCP est toujours utilisé sur IP - le protocole Internet. IP déplace les paquets entre les réseaux (pensez à IP comme connexion de plusieurs réseaux locaux)

Couche d'interface réseau

Ethernet est la famille la plus populaire des protocoles de couche de liaison de bas niveau sur lesquels TCP / IP est acheminé, mais TCP / IP est également largement utilisé sur ATM et autres.

IP layer diagram From bootdiscs.net


Annexe 1 - Une note sur les protocoles de la couche transport

Les seuls protocoles de couche de transport utilisés de manière significative sur les réseaux utilisant Internet Protocol Suite sont TCP et UDP.

† Juste pour le plaisir, j'ai mesuré le trafic sur mon (très) petit réseau local, qui inclut NetBIOS (sur TCP), SSH, Rsync, Email, mises à jour logicielles, DNS, bavardages Windows et quelques autres types de trafic.Wirshark Protocol Hierarchy Statistics

Notez également cette déclaration dans Google FAQ pour leur protocole QUIC

Pourquoi n'avez-vous pas construit un nouveau protocole complet, plutôt que d'utiliser UDP? Les boîtiers intermédiaires sur Internet bloquent généralement le trafic sauf s'il s'agit d'un trafic TCP ou UDP

(mon accent)


76
2017-07-16 21:12



M'a apporté tout le chemin de retour à 1996 et le modèle OSI en.wikipedia.org/wiki/OSI_model - Rudi
Il existe plus de 2 protocoles de couche de transport: en.wikipedia.org/wiki/Transport_layer#Protocols - Stuart Blackler
@StuartBlackler: Un point intéressant, merci. Y a-t-il des composants (autres que TCP et UDP) qui ne correspondent pas à ce que j'appelle la catégorie "utilisation extrêmement réduite des spécialistes" et qui sont utilisés sur IP? Si j'ai mesuré le trafic IP à un Point d'échange Internet, quelle proportion des protocoles de la couche transport serait autre chose que TCP ou UDP? - RedGrittyBrick
Prenez DCCP par exemple, il s'agit toujours d'un nouveau protocole mais j'imagine qu'au cours des prochaines années, vous verrez plus d'applications utiliser le protocole. Raison pour laquelle je ne pense pas que ce soit courant parce que je ne crois pas qu'il existe un support pour cela dans Windows. Pensez-y comme UDP avec le contrôle de congestion. Peut être très pratique pour de nombreuses applications telles que Skype et les jeux :) Regardez-le. Pour répondre à votre question, il s’agit probablement d’une très petite quantité pour le moment. - Stuart Blackler
@Rudi err, vous devez réaliser que ce n'est pas le modèle de référence de l'OSI, et si vous vous en rendez compte, ne trompez pas les gens en leur faisant croire que c'est le cas. Il s'agit du modèle / de l'architecture TCP / IP ... Parfois, l'architecture TCP / IP est décrite avec la terminologie d'OSI, le modèle de référence OSI. Mais les 4 couches affichées et avec ces noms, sont très bien TCP / IP et non OSI. Pas de problème avec le post rouge, mais votre commentaire est trompeur au mieux. - barlop


La raison pour laquelle TCP / IP est une abréviation si commune (par opposition à, disons, UDP / IP ou SCTP / IP) est que les deux protocoles ont été conçus ensemble, et dans le document original de Vint Cerf et Bob Kahn, les deux concepts étaient combinés en un seul protocole. Peu de temps après, ils ont été divisés en IP pour assurer le routage et TCP pour assurer le contrôle du flux, le multiplexage, la détection des erreurs, etc. Ce n'est que six ans plus tard que l'UDP a fourni une couche de multiplexage "légère" surcharge liée à TCP.

Pourtant, TCP et IP sont deux choses distinctes et totalement et intentionnellement indépendantes. Le fait que TCP ne nécessite pas d'IP apparaît immédiatement avec le fait que TCP peut s'exécuter sans modification sur IPv4 et IPv6, deux protocoles complètement différents.

Avec un peu de travail, vous pourriez créer un protocole IP concurrent qui servirait les mêmes objectifs, mais il devrait probablement contenir la plupart des fonctionnalités, sinon toutes, et finirait probablement par ressembler beaucoup à IP. Vous pourriez soutenir que les extensions vers IP (telles que IPSec) sont en fait des protocoles alternatifs de couche 3, alors vous y êtes.


34
2017-07-17 08:00



Correct - la première version de TCP incluait les fonctionnalités d'IP. Peut-être une autre raison pour laquelle les gens disent "TCP / IP" est que la plupart du temps, lorsque vous envoyez des données via IP, vous voulez garantir que tout soit livré et dans le bon ordre. Par exemple, tous les trafics HTTP et FTP utilisent le protocole TCP. Les données en temps réel constituent une catégorie d'exceptions. Skype, par exemple, utilise UDP, car vous préférez obtenir le dernier paquet dans une conversation que tout arrêter pour en obtenir un que vous avez manqué. - Nathan Long


Vous pouvez remplacer IP par autre chose. En fait, c'est exactement ce que vous faites lorsque vous utilisez TCP sur IPv6. TCP est toujours TCP, mais l'IP est v6 au lieu de v4.

AFAIK, personne n'a créé d'autres protocoles de couche 3 pour travailler avec TCP au dessus d'eux, mais il n'y a aucune raison pour que vous ne le puissiez pas.


22
2017-07-17 02:43





TCP et IP sont comme le beurre sur le pain.

Vous pouvez coupler tout ce qui fonctionne avec l'un ou l'autre protocole, mais ces deux sont tellement complémentaire c'est juste un délicieux moyen fiable à transférer des données et remplissez le ventre avec des données Internet. Il lubrifie le tube pour permettre aux autres produits alimentaires secs et aux échanges de données de prendre en charge cette association. Mais ce n’est en aucun cas exclusif.

Q  Cependant, le protocole TCP ne peut-il pas être construit sur un autre protocole que l’IP?

UNE  Oui c'est possible. J'aime le code Morse et les exemples Pigeon de TCP sans IP.


8
2017-07-17 19:16





J'ai toujours entendu dire que TCP est l'abréviation de TCP / IP

En fait, il représente Protocole de contrôle de transmission sur Internet

et ils signifient la même chose.

Ce n'est pas correct.

Premièrement, Ethernet est le système matériel de bas niveau qui contrôle le fonctionnement des composants matériels.

Ensuite, pensez à IP comme un système téléphonique ou des panneaux de signalisation. Il fournit le contrôle de base du système de connexion de deux points ensemble.

TCP d'autre part, elle ressemble plus à un système de messagerie ou à un agent de contrôle du trafic qui dirige les messages / voitures au bon endroit.

TCP / IP, ensemble, fournit un système de transfert fiable des données vers et depuis deux périphériques connectés.

Avec Internet, lorsque vous souhaitez envoyer ou recevoir des données, la partie IP du système est la partie qui contrôle les connexions matérielles réelles avec les câbles (ou les ondes sans fil). La partie TCP du système est le logiciel chargé de prendre les données et de les décomposer, de les envoyer, de réassembler les données reçues et de vérifier les données et de les renvoyer si nécessaire.

Il y a d'innombrables explications avec des analogies et des détails techniques disponibles, en particulier dans formulaire vidéo. DifferenceBetween.net a une très bonne idée à ce sujet assujettir.

Cependant, le protocole TCP ne peut-il pas être construit sur un autre protocole que l’IP?

Oui, vous pourriez en effet créer un système alternatif à TCP qui utilise IP. Jetez un oeil à la Suite de protocole Internet pour quelques détails.


6
2017-07-16 20:36



Il est un peu trompeur de dire que la propriété intellectuelle prévoit de "connecter" deux points ensemble. L’IP permet d’envoyer des données discrètes les paquets d'une machine à l'autre; chaque paquet est indépendant de tous les autres. TCP fournit l'illusion d'un continu connexion, qui est en réalité une séquence de paquets envoyés via IP. - Wyzard
L'IP n'est pas liée à la signalisation matérielle ou physique. Cela est géré par des technologies de niveau inférieur, par ex. Ethernet - Wyzard
Il y a beaucoup de problèmes avec cette réponse, et la question est totalement absente. Tout d’abord, Ethernet n’est qu’un protocole de couche de liaison utilisé pour transmettre l’IP. Il y en a beaucoup d'autres, et IP ne sait ou ne se soucie d'aucun d'entre eux. IP n'a rien à voir avec le matériel; c'est la couche de routage entre les réseaux, au-dessus du matériel utilisé pour les connecter. Le point de la question était de savoir si vous pouviez utiliser le protocole TCP sur autre chose que l’IP, que vous utilisiez quelque chose d’autre que le protocole TCP qui utilise l’IP (voir UDP pour un exemple). - psusi
@synetech, la question était ne pas "peut-on utiliser autre chose sur IP". Il était "peut TCP être utilisé sur autre chose", c'est-à-dire sans pour autant IP - Wyzard
> the fact that !TCP can go over IP does not necessarily mean TCP can go over !IP Huh? psusi essaie d'être intelligent en utilisant "!" comme "pas opérateur". Son commentaire doit se lire comme suit: "le fait que quelque chose qui n'est pas TCP puisse passer par IP ne signifie pas nécessairement que TCP peut passer par-dessus quelque chose qui n'est pas IP". Il se réfère à la dernière phrase de votre réponse, qui montre l’existence de "systèmes alternatifs au protocole TCP". Cependant, montrer que des alternatives au protocole TCP n'existent pas n'implique pas nécessairement que des alternatives à la propriété intellectuelle existent. - Lie Ryan


TCP est un protocole de couche 4. Il fournit un transport garanti des données sous la forme d'un flux ordonné d'un processus sur un ordinateur à un autre processus sur le même / un autre ordinateur.

IP est un protocole de couche 3. Il assure le transport d'un hôte à l'autre.

Tant qu'il existe un protocole capable d'héberger le transfert de données, TCP fonctionnera.

Ainsi, TCP peut être implémenté sur n’importe quel protocole, mais nous n’avons fait que l’IP. IP est simple et fait le travail.

Aucun autre protocole de couche 3 n'est nécessaire.


5
2017-07-17 00:05



Qu'en est-il de l'IPv6? - curiousguy
Qu'en est-il de l'IPv6? C'est juste de la propriété intellectuelle. L'interface d'envoi et de réception d'un paquet reste la même. Donc, TCP peut utiliser la même fonction. OS peut simplement remplacer le pointeur de fonction de IPv4 et IPv6 et cela fonctionnerait toujours. Je ne suis pas sûr de ce que vous dites ici? - snihalani
IPv6 et IPv4 sont similaire, avec interfaces similaires pour les couches supérieures, mais certainement pas le même protocole et pas strictement fonctionnellement équivalent non plus. - curiousguy
Vous pourriez aussi bien prétendre que UDP est le même protocole que IP, car ils offrent des interfaces extrêmement similaires aux couches supérieures: définissez les adresses d’un terminal local et distant, envoyez et recevez des paquets ... - curiousguy


Lorsque vous concevez un réseau, vous devez choisir un ensemble de protocoles (qui sont essentiellement des ensembles de règles de communication entre les machines), pour chacun des différents "couches" (que vous pouvez imaginer comme différents niveaux d'abstraction, garder à l'esprit lors de la création et de la combinaison de protocoles).

Version plus simple: les protocoles sont comme des boîtes dans lesquelles nous mettons nos messages. Ces boîtes ont des tailles différentes, et vous placez votre message dans la plus petite boîte, puis la plus petite boîte dans une boîte un peu plus grande, etc. Choisir un ensemble de protocoles, c'est choisir le type de boîte que vous utiliserez pour chaque boîte. layer "qui entoure votre message.

TCP et IP sont des protocoles pour deux couches indépendantes créées ensemble et utilisables ensemble. mais peut très bien être utilisé avec d'autres protocoles. Cela arrive assez souvent: vous pouvez utiliser IP avec un protocole non-TCP ou TCP avec un protocole non-IP.

La raison pour laquelle TCP / IP est une abréviation si commune est que ces deux protocoles ont constitué, ensemble, la base d’Internet et ont été la clé de son succès..

(TCP et IP ont des fonctionnalités spécialement conçues pour fonctionner ensemble, ce dont les puristes se plaignent souvent, mais ils ne vous empêchent pas vraiment de les connecter avec d'autres protocoles)


3
2017-07-17 14:19





Je pense qu'il est possible d'exécuter le transport TCP sur IPX, si vous voulez aller en rétro.


2
2017-07-17 16:41



Vous pensez probablement quand IPX a été tunnellisé sur TCP / IP. Ce qui sans surprise n'a pas duré longtemps. - andygavin
tools.ietf.org/html/rfc1791 - GDR