Aller au contenu principal

I Aperçu

Le protocole réseau offre trois facilités :

  1. Établissement de connexion

  2. Contrôle de flux

  3. Reconnexion

La reconnexion est examinée séparément de l'établissement de connexion, en partie à cause de la complexité de la reconnexion et en partie parce que je n'ai pas suffisamment d'expérience du protocole pour présenter ces concepts de manière intégrée.

Établissement de connexion​

L'établissement de connexion fonctionne essentiellement de la même manière que dans NWG/RFC #33. Le changement majeur est qu'une forme plus générale de commutation est fournie indépendamment de l'établissement, de sorte que l'établissement est simplifié du fait qu'il n'inclut pas les procédures de commutation.

Un scénario approximatif pour l'établissement de connexion suit :

  1. Le processus PA dans l'hôte A s'empare de la socket SA et demande une connexion avec la socket SB. Le processus PA y parvient au moyen d'un appel système.

  2. En parallèle avec ce qui précède, le processus PB dans l'hôte B s'empare de la socket SB et demande une connexion avec la socket SA.

  3. En réponse à la demande du processus PA, le programme de contrôle du réseau dans l'hôte A (appelé NCPA) envoie une commande Demande de connexion (RFC) à l'hôte B. Le NCPB dans l'hôte B envoie une commande similaire à l'hôte A. Aucun ordre n'est impliqué : le NCPB peut envoyer la commande au NCPA avant ou après avoir reçu la commande du NCPA.

  4. NCPA et NCPB savent tous deux que la connexion est établie lorsque chacun a reçu une commande RFC et que chacun a reçu le RFNM correspondant à celle qu'il a envoyée. Ils informent alors respectivement les processus PA et PB que la connexion est établie.

L'une des règles respectées est que soit SA est une socket d'émission et SB une socket de réception, soit l'inverse. Cette condition est parfois énoncée ainsi : "SA et SB doivent former une paire émission/réception."

  1. Le processus émetteur peut maintenant émettre.

Contrôle de flux​

Afin d'empêcher un processus émetteur de submerger un processus récepteur, il est nécessaire que le processus récepteur puisse arrêter le flux(*). Le contrôle de flux est intégré au traitement des RFNM par le réseau. Lorsqu'un hôte récepteur souhaite inhiber le flux sur un lien particulier, l'hôte envoie un message spécial à son IMP, ce qui provoque la modification du prochain RFNM sur ce lien. L'hôte émetteur interprète ce message comme un RFNM et comme une demande d'arrêt de l'émission. Une commande de contrôle de confirmation est renvoyée.

Lorsque l'hôte récepteur est prêt à recevoir de nouveau, il envoie une commande (RSM) indiquant à l'hôte émetteur de reprendre l'émission.

Reconnexion​

Pour de très nombreuses raisons, il est souhaitable de pouvoir commuter une extrémité (ou les deux) d'une connexion d'une socket à une autre. Selon les restrictions imposées au processus de commutation, la mise en œuvre peut être facile ou difficile. Pour atteindre la plus grande généralité, je présente ici un schéma de reconnexion dynamique, ce qui signifie que la reconnexion peut avoir lieu même après que le flux a commencé. Il se peut que, dans la majorité des cas, ce schéma soit bien plus coûteux qu'il ne le faudrait ; toutefois, les avantages suivants sont revendiqués :

  1. Toutes les diverses formes de commutation de connexions sont fournies.

  2. La reconnexion n'introduit aucun surcoût dans le traitement des messages envoyés sur une connexion, c'est-à-dire que tout le coût est supporté lors du traitement du protocole.


*BB&N soutient qu'une mise en tampon illimitée devrait être fournie. Il est possible que ce serait une stratégie appropriée : mais elle est étrangère à ma façon de penser, et j'ai fondé la conception du protocole sur l'hypothèse qu'un petit tampon seulement est fourni à l'extrémité de réception de chaque connexion.