Je sais que TCP et UDP sont construits sur IP, et je connais les différences entre TCP et UDP, mais je suis confus quant à ce qu'est exactement une "IP brute". Serait-il juste de dire que TCP et UDP implémentent tous deux IP, mais que IP en soi n'est pas capable de transférer des données? Ou IP est-il une forme de communication de très bas niveau, qui est encore plus abstraite par TCP et UDP?
18
Réponses:
IP est un protocole de couche 3 . TCP / UDP sont des protocoles de couche 4 . Ils servent chacun à des fins différentes.
La couche 3 est en charge de la livraison de bout en bout . Sa seule fonction est d'ajouter tout ce qui est nécessaire à un paquet pour obtenir un paquet d'un hôte à un autre.
La couche 4 est chargée de la livraison de service à service . Sa seule fonction est de séparer les flux de données. Votre ordinateur peut avoir plusieurs programmes en cours d'exécution, chacun qui envoie / reçoit des bits sur le fil. IE: Vous pouvez avoir plusieurs onglets de navigateur en cours d'exécution, diffuser la radio Internet, exécuter un téléchargement, exécuter des torrents légaux , utiliser une application de chat, etc. application unique qui en a besoin. En voici une illustration:
IP n'est pas en mesure de livrer un paquet au service / à l'application correcte. Et TCP / UDP n'est pas en mesure de livrer un paquet d'un bout à l'autre de l'Internet.
TCP et IP fonctionnent ensemble pour leur permettre d'atteindre le «but final» de la communication Internet.
Les données qui doivent passer d'un hôte à un autre sont générées par les couches supérieures du modèle OSI.
Ces données sont transmises à L4 qui ajoutera les informations nécessaires pour fournir les données de service à service, comme un en-tête TCP avec un port source et de destination. Les données et l'en-tête L4 sont désormais appelés segment.
Ensuite, le segment sera transmis à L3 qui ajoutera les informations nécessaires pour livrer le segment de bout en bout, comme un en-tête IP avec une adresse IP source et destination. L'en-tête L3 et le segment peuvent maintenant être appelés un paquet.
Ce processus est connu sous le nom d' encapsulation et de désencapsulation (ou parfois décapsulation). Voici une animation de son fonctionnement:
Si cela n'a pas de sens, je suggère de lire davantage sur le modèle OSI et sur la façon dont chaque couche a des responsabilités différentes qui fonctionnent toutes ensemble pour accomplir le déplacement d'un paquet sur Internet .
la source
inside an IP header is usually a TCP or UDP header
n'est pas correct, l'en-tête TCP / UDP n'est pas à l'intérieur de l'en-tête IP, il est à l'intérieur de la partie données du paquet IP.IP peut transmettre des données très bien, le problème est ce qui se passe lorsque ces données arrivent à l'autre bout. Les seules informations d'identification sont les adresses IP des hôtes et un numéro de protocole. Aucun d'entre eux ne permet de distinguer à quel socket les données sont destinées.
Il est possible que les programmes utilisent IP directement via ce que l'on appelle des "sockets bruts", mais l'absence d'un mécanisme approprié pour décider quel socket envoyer les données soulève des problèmes de sécurité et de performances (le noyau doit envoyer les données à tous les sockets bruts). pour un numéro de protocole donné). Pour cette raison, la possibilité d'ouvrir des "sockets bruts" est généralement limitée à root (ou l'équivalent de votre plate-forme).
UDP est une couche assez minimale sur IP. Il ajoute des numéros de port pour identifier à quel socket les données sont destinées et une somme de contrôle (pour rejeter les paquets corrompus). L'application reste responsable du traitement des paquets perdus, du contrôle de la congestion et de la division des données en paquets de taille appropriée.
TCP est un protocole plus complexe qui, en plus de fournir des numéros de port et des sommes de contrôle, divise les flux d'octets en paquets, les réassemble ensuite à leur destination et fournit des fonctionnalités de contrôle de congestion et de récupération.
la source
IP est un protocole OSI de couche 3, tandis que TCP et UDP sont des protocoles OSI de couche 4. En tant que protocole de couche 3, IP peut transporter de nombreux protocoles de couche 4 différents. TCP et UDP sont probablement les plus courants, mais ils ne sont pas les seuls. Les protocoles de couche 4 sont ce que les applications utilisent comme connexions de bout en bout. IP transporte les protocoles de couche 4 d'un réseau à l'autre (d'hôte à hôte). Les protocoles de couche 2, comme Ethernet, transportent les protocoles de couche 3 sur un réseau local.
Vous devriez rechercher le modèle OSI, mais réalisez qu'il s'agit d'un modèle conceptuel et que le monde réel ne correspond souvent pas exactement.
la source