web-dev-qa-db-fra.com

Différence entre les protocoles orientés message et les protocoles orientés flux

J'essaie de comprendre la différence entre ces deux terminologies de réseautage informatique. J'ai cherché sur Internet mais je n'ai pas eu une bonne idée. Quelqu'un pourrait-il m'expliquer ou donner un lien vers une page qui explique cela? Je vous remercie...

33
bala1486

Les protocoles orientés message envoient des données en blocs ou groupes distincts. Le destinataire des données peut déterminer où un message se termine et où commence un autre. Les protocoles de flux envoient un flux continu de données.

Voici un exemple avec les téléphones portables. Les messages texte seraient un protocole orienté message car chaque message texte est distinct des autres messages. Un appel téléphonique est orienté flux car il y a un flux audio continu tout au long de l'appel.

Les protocoles couramment utilisés sur Internet sont UDP (orienté message) et TCP (orienté flux). Wikipedia ces termes pour plus d'informations.

J'espère que cela t'aides

66
Dave Turvey

Les protocoles de flux envoient des données octet par octet. Vous pouvez le voir comme un tuyau où tout ce qui entre d'un côté est transféré de l'autre côté. Il appartient à l'autre partie de déterminer quand elle dispose de suffisamment de données pour en donner un sens.

TCP en est un exemple classique. Une fois que vous avez envoyé "Hello World" par le biais d'un tube, il n'y a aucune garantie qu'il se présente en tant que tel. Il peut venir comme chaque lettre seule, en deux mots ou en un seul morceau. La seule chose que vous savez, c'est que les lettres seront dans le même ordre.

Les protocoles de message sont généralement construits sur des flux mais il y a une couche entre les deux qui prend soin de séparer chaque partie logique d'une autre. Il analyse le flux d'entrée pour vous et vous donne des résultats uniquement lorsque l'ensemble de données arrive et pas tous les états entre les deux. Dans l'exemple précédent, vous ne vous attendriez qu'à un message "Hello World" entier ou rien.

C'est une vue assez simplifiée, mais je pense que cela explique la plus grande différence.

19
Josip Medved

C'est un peu plus compliqué.

En règle générale, il existe deux types différents de types de bas niveau (OSI: physiques):

  • transport orienté package
  • transport par canal

les deux types de transport peuvent être envoyés par modulation de fréquence, modulation d'amplitude, modulation de phase ...

Ces fréquences/amplitudes/... (également appelées modulation analogique) peuvent être améliorées par numérisation. Ou utilisé pour les signaux numériques. C'est ce qu'on appelle la modulation numérique.

voir: https://en.wikipedia.org/wiki/Modulation

Les transports orientés package utilisent une ligne pour plusieurs packages. Les transports orientés canaux utilisent différentes lignes pour différents packages. L'avantage des transports orientés canaux (tels qu'utilisés dans les radios) est que le signal vient instantanément. L'inconvénient est que ce canal est peu utilisé. Ainsi, la bande passante totale est faible. Par conséquent, nous utilisons le transport orienté package pour Internet. Mais, ce transport peut être basé sur la modulation de fréquence orientée canal (comme les Modems-Câbles) ou sur la modulation d'amplitude orientée paquet mono-ligne (comme les Lignes Téléphoniques).

Au final, UDP et TCP sont orientés package dans OSI niveau 5 (Transport). Donc, la question de savoir quelle est la différence entre Streaming et Message-Oriented TCP est une bonne question.

Les flux de shoutcast.com utilisant également TCP sont partitionnés en packages. (Streaming-Packages/Messages sont divisés en TCP-Packages.) Il est possible qu'un package TCP soit perdu. Mere, parce que TCP est orienté adresse et énumère ses packages, le package peut être demandé à nouveau. Cela rend TCP fiable.

Au sommet de TCP sont maintenant des flux. Ils utilisent la possibilité de commander les packages de TCP selon le numéro de package. Le fait est qu'ils envoyer des données, qui sont plus susceptibles de basculer dans le flux à chaque instant.

Peut-être que cela clarifie la question.

Cordialement

3
seboeh

la principale différence entre le flux de messages et le flux d'octets est la limite du message. Le flux de messages gardera également une trace des limites du message, mais pas le flux d'octets.

considérez dans le réseau que les 1024 octets de données sont transmis à l'hôte, puis après une minute, 1024 autres octets ont transmis au même hôte, puis le récepteur recevra totalement 2048 octets de données.

dans cette transmission, le flux de messages enverra deux 1024 octets de messages différents tandis que dans le flux d'octets, le 2048 entier sera transféré au récepteur comme une seule unité.

Ex. Le flux de messages est une séquence de pages. Ex. du flux d'octets téléchargeant une chanson ou un film.

1
M Alzuhair