web-dev-qa-db-fra.com

Définition des unités de réseau: fragment, segment, paquet, trame, datagramme

Quelles unités sont utilisées dans la terminologie du réseau? Où les utilisons-nous?

Je sais ce qui suit - mais je ne suis pas sûr de leur signification:

  • Fragment
  • Segment
  • Paquet
  • Frame
  • Datagramme

Peuvent-ils être attribués à une couche OSI spécifique? Est-ce plus complexe?

42
schmijos

Prenant de la section 1.2 dans TCP/IP illustré: Vol 1 par Richard Stevens et al., Considérons la pile TCP/IP à 4 couches:

        +-------------+-------------------------+
        | Application |  Telnet, FTP, etc       |
        +-------------+-------------------------+
        | Transport   |  TCP, UDP               |
        +-------------+-------------------------+
        | Network     |  IP, ICMP               |
        +-------------+-------------------------+
        | Link        | drivers, interface card | 
        +-------------+-------------------------+

Segment : Si le protocole de transport est TCP, l'unité de données envoyée de TCP vers la couche réseau est appelée Segment .

Datagramme : Il est utilisé en 2 couches. Si le protocole réseau est IP, l'unité de données est appelée Datagramme . Au niveau de la couche transport, si le protocole est UDP, nous utilisons également le datagramme. Par conséquent, nous les différencions comme Datagramme UDP , Datagramme IP .

Frame : Représentation de la couche physique.

Paquet : C'est un terme plus générique utilisé soit par couche transport, soit couche réseau. Paquet TCP , Paquet UDP , Paquet IP etc. Je n'ai pas vu pour représenter les unités de données de la couche physique.

Fragment : Je suppose ici que lorsqu'une unité de données est découpée par un protocole pour s'adapter à la taille MTU, l'unité de données résultante est appelée Fragments . Mais je suppose.

66
Bhaskar

La réponse ci-dessus est complète. Néanmoins, je pense que le terme paquet vient de la commutation de paquets si je m'en souviens bien.

Il existe 2 types:

commutation de circuits est une méthodologie de mise en œuvre d'un réseau de télécommunications dans lequel deux nœuds de réseau établissent un canal de communication dédié (circuit) à travers le réseau avant que les nœuds puissent communiquer. Le circuit garantit la pleine bande passante du canal et reste connecté pendant la durée de la session de communication. Le circuit fonctionne comme si les nœuds étaient physiquement connectés comme avec un circuit électrique. (Wiki)

commutation de paquets est une méthode de communication en réseau numérique qui regroupe toutes les données transmises - quel que soit leur contenu, leur type ou leur structure - en blocs de taille appropriée, appelés paquets. (Wiki)

Je l'aurais défini moi-même, mais juste pour être sûr.

Voici donc le terme paquet. En ce qui concerne le fragment je suis d'accord avec la réponse de Josua Schmid.

4
Omar

Ces termes sont utilisés pour désigner la couche OSI à laquelle nous nous référons, les données restent les mêmes, mais les en-têtes et les remorques sont ajoutés ou supprimés.

Dans la couche Phy, c'est-à-dire la couche physique, les données réelles sont en "bits", c'est-à-dire 0 et 1.

Lorsqu'il atteint la couche de liaison de données ou la couche 2, il devient un "cadre" avec les adresses mac source et de destination ajoutées.

Lorsqu'il atteint la troisième couche ou la couche réseau, il devient un "paquet" auquel sont attachées les adresses IP source et de destination.

Enfin, il devient "segment" au niveau de la couche 4 ou de la couche TCP/IP. Fondamentalement, le terme "segment" est utilisé pour TCP et "datagrammes" pour UDP.

Alors qu'en est-il des autres couches comme: la session, la présentation et l'application? Dans ces couches, les données sont appelées "PDU" ou "unité de données de protocole".

Donc, quand quelqu'un dit qu'une "trame" est reçue par un périphérique réseau, alors vous savez que le périphérique est un commutateur.

Le routeur reçoit un paquet et le traite.

3
guo

Frame car la représentation de la couche physique ne me semble pas exacte à 100%. C'est principalement dans la couche de liaison de données, qui est au-dessus du physique.

Pour une définition plus opérationnelle, je dirais qu'une trame est une unité de données de protocole qui a les moyens de déterminer ses limites. Exemples:

  • une trame HDLC a des drapeaux au début et à la fin et un peu de bourrage
    mécanisme
  • une trame Ethernet utilise le préambule et SFD
  • GFP utilise la délimitation de trames HEC, comme ATM

Un cellule, comme dans ATM, juste pour introduire un terme de plus, est une trame de longueur fixe.

Un paquet est plutôt une unité de données de protocole qui s'appuie sur une unité de couche inférieure pour déterminer ses limites. Il peut tenir exactement dans un cadre ou être divisé en fragments si nécessaire. Dans ce dernier cas, des mécanismes de fragmentation et de remontage doivent être imaginés. Datagram est principalement un synonyme de paquet.

Un flux de données d'application peut être divisé en segments. Un segment est transporté sur un datagramme, puis les segments sont réassemblés dans le flux d'application d'origine. Cela est généralement fait par la couche TCP. Donc, dans TCP nous avons le flux d'application sur TCP segment sur datagramme IP sur trame de liaison de données. Dans UDP il n'y a pas de segmentation, donc le datagramme UDP est mappé un à un sur le datagramme IP.

2
Halberdier

un datagramme est .... Une entité autonome et indépendante de données transportant suffisamment d'informations pour être routées de la source vers l'ordinateur de destination sans se fier aux échanges antérieurs entre cet ordinateur source et destination et le réseau de transport. (... utilisé dans UDP)

un segment est .... Une unité de données de protocole qui consiste en un en-tête TCP et une donnée d'application (paquet) qui provient de la couche d'application (supérieure)

1
raja

Je suis d'accord avec les réponses ci-dessus, mais il est important de souligner que cela suppose la pile TCP/IP. Si nous utilisons le modèle OSI, qui à mon avis est plus répandu, nous aurions le cas suivant:

Couche de transport: Segment si TCP, Datagramme si UDP Couche réseau: Datagramme, Le fragment peut être utilisé s'il est divisé (ce serait toujours un datagramme) Couche de liaison de données: Trame en sous-couche MAC, trame ou bit en sous-couche LLC (dépend de quel niveau vous travaillez avec, ils ne sont pas interchangeables) Couche physique: Bit

Et comme mentionné dans les réponses précédentes, le paquet est plus générique, il peut être utilisé pour la couche Transport, Réseau ou Liaison de données, mais PAS pour la couche physique. À ce niveau, il n'a pas encore été "emballé". Je dirais donc que c'est la plus grande différence entre le modèle de pile TCP/IP et le modèle OSI. Le modèle OSI décompose la couche physique de la pile TCP/IP en deux couches: liaison de données et physique.

J'espère que cela t'aides.

1
cestevez