115 votes

Le TCP doit-il utiliser l'IP ?

Est-il vrai que TCP est le diminutif de TCP/IP et ils signifient la même chose ?

Est-il possible pour TCP pour être construit sur un autre protocole que IP ?

91voto

LawrenceC Points 70381

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

L'interface entre TCP et le protocole de niveau inférieur est essentiellement non spécifiée, sauf qu'il est supposé qu'il existe un mécanisme par lequel les deux niveaux peuvent se transmettre des informations de manière asynchrone. En général, on s'attend à ce que le protocole de niveau inférieur spécifie cette interface. 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é dans ce document est le protocole Internet.

79voto

RedGrittyBrick Points 78148

Suite de protocoles Internet

TCP n'est pas l'abréviation de TCP/IP.

TCP/IP est souvent utilisé comme un raccourci pour dire " La suite de protocoles Internet "et comprend généralement d'autres protocoles standard. Lorsque l'on parle de TCP/IP, on inclut généralement le protocole UDP sur IP (dans lequel UDP est utilisé à la place de TCP) et un grand nombre d'autres protocoles tels que ARP, ICMP, DNS, SNMP et d'autres protocoles de la couche application.

Couche d'application

Les applications utilisent des protocoles de la couche application tels que le SMTP (pour le courrier électronique). Ces protocoles reposent sur l'un des deux protocoles de la couche transport - TCP et UDP. Quelques protocoles de couche d'application utilisent l'un ou l'autre ou les deux protocoles UDP et TCP, mais la plupart ne sont utilisés qu'avec un seul protocole de couche de 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 une utilisation spécialisée extrêmement limitée. 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 Internetwork

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

Couche d'interface réseau

Ethernet n'est que la famille la plus populaire de protocoles de couche de liaison de bas niveau sur lesquels TCP/IP est porté, mais TCP/IP est également largement utilisé sur ATM et d'autres.

IP layer diagram From bootdiscs.net


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

Les seuls protocoles de couche transport utilisés de manière significative sur les réseaux qui utilisent la suite de protocoles Internet sont TCP et UDP.

†Juste pour le plaisir, j'ai mesuré le trafic sur mon (très) petit réseau local, qui comprend NetBIOS (sur TCP), SSH, Rsync, courrier électronique, mises à jour de logiciels, DNS, bavardage général de la boîte Windows et quelques autres types de trafic. Wirshark Protocol Hierarchy Statistics

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

Pourquoi n'avez-vous pas créé un tout nouveau protocole, plutôt que d'utiliser UDP ? Les boîtes intermédiaires sur Internet aujourd'hui bloquent généralement le trafic, sauf s'il s'agit de trafic TCP ou UDP.

(c'est moi qui souligne)

34voto

mike511 Points 637

La raison pour laquelle TCP/IP est une abréviation si courante (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 ont été 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 de flux, le multiplexage, la détection d'erreurs, etc. Ce n'est que six ans plus tard que l'UDP a été introduit pour fournir une couche de multiplexage "légère" sans le reste de la surcharge impliquée par TCP.

Pourtant, TCP et IP sont deux choses distinctes et complètement et intentionnellement indépendantes. Le fait que TCP n'ait pas besoin d'IP apparaît immédiatement dans le fait que TCP peut fonctionner sans modification sur IPv4 et IPv6, qui sont deux protocoles complètement différents.

Avec un peu de travail, vous pourriez créer un protocole concurrent d'IP qui servirait les mêmes objectifs, mais il devrait probablement contenir la plupart, sinon la totalité, des mêmes fonctionnalités, et finirait probablement par ressembler beaucoup à IP de toute façon. On pourrait arguer que les extensions d'IP (comme IPSec) sont effectivement des protocoles de couche 3 alternatifs, et c'est ainsi.

25voto

Bob Briscoe Points 401

TCP et IP (v4 & v6) sont définitivement séparables, et l'un n'implique pas l'autre, comme le prouve l'exemple de TCP sur IPX ( RFC 1791 ).

Cependant, le TCP ne peut pas être construit sur seulement tout protocole de réseau. Deux raisons :

  1. Il n'y a pas de champ de taille de segment dans l'en-tête TCP (seulement le Data Offset, 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 qui comprend 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 ce n'est pas vrai en général, par exemple, pas pour les porteurs aviaires ( RFC 1149 ) (voir note a).
  2. TCP est uniquement conçu pour fonctionner sur un protocole de réseau sans connexion. TCP ne fonctionne effectivement pas sur certains protocoles de réseau orientés connexion (par exemple, le service ATM à débit constant), car les deux fonctions de contrôle du débit de combat entraînent des performances très médiocres ou imprévisibles. Un autre exemple dégénéré est le TCP sur un tunnel TCP.

La spécification TCP, RFC 793 En effet, il admet que son interface avec la couche inférieure reste largement indéterminée.

Note a) Pour que TCP puisse réassembler des datagrammes imprimés sur de petites feuilles de papier (qu'ils soient transportés par des pigeons ou par un réseau de corvidés plus intelligent), la taille de la charge utile devrait être inscrite à un endroit standard. Alternativement, une couche d'adaptation pourrait déterminer heuristiquement la taille du segment. Le lecteur optique utilisé dans l'implémentation de la pile hôte de la spécification des transporteurs aviaires ( RFC 1149 ) comprenait une telle couche d'adaptation heuristique, mais elle reste non documentée.

22voto

empi89 Points 77

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.

A ma connaissance, personne n'a créé d'autres protocoles de couche 3 pour fonctionner avec TCP au-dessus d'eux, mais il n'y a aucune raison pour que vous ne puissiez pas le faire.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X