TCP et le bit alterné
Le protocole TCP
Le protocole TCP
La communication d’application à application
La communication d’application à application
- Les protocoles Ethernet et IP permettent la communication de machine à machine.
- Il est nécessaire d’identifier, pour une adresse IP donnée, chacun des services afin d’y aiguiller les flux d’informations qui leur sont destinés, premier rôle joué par la couche transport.
- Des numéros de port TCP d’écoute sont ainsi définis.
- Lors d’un échange entre deux applications, un port TCP est utilisé au niveau de chaque partenaire.
- Une communication TCP s’établit selon le principe d’une connexion en trois temps :
Les trois étapes de l’établissement d’une connexion TCP
Le découpage des messages en segments et leur réassemblage
Le découpage des messages en segments et leur réassemblage
- Le protocole TCP assure aussi le découpage en segments des informations que les applications lui demandent de transmettre, afin de réguler le volume des échanges entre deux applications qui communiquent.
- Chacun de ces segments est alors encapsulé dans un paquet TCP comprenant en particulier les numéros de ports des applications sources et destinataires.
- Ce paquet TCP est alors transmis à la couche réseau qui l’encapsule dans un datagramme IP.
- Celui-ci est ensuite transmis à la couche liaison de données qui l’encapsule dans une trame Ethernet.
- Celle-ci est transmise à la couche physique qui la code selon un signal physique.
- TCP réalise leur ordonnancement avant de les confier à la couche application.
Le contrôle du débit d’informations et le contrôle d’erreur
Le contrôle du débit d’informations et le contrôle d’erreur
- Le protocole TCP assure aussi de numéroter les segments, afin de les ordonner et de contrôler leur réception.
- L’échange des données peut commencer quand la connexion TCP est établie entre les deux partenaires.
- Lors de l’échange plusieurs étapes/éléments sont à connaître et à prendre en compte :
- la fenêtre d’envoi qui s’adapte dynamiquement au cours de la communication, permet de gérer le débit des données échangées ;
- le délai d’attente d’accusé de réception ;
- l’acquittement du récepteur qui fournit un numéro ;
- la capacité du récepteur à reconstituer l’information de manière ordonnée à partir de segments reçus dans le désordre ;
- l’intérêt de segmenter l’information à envoyer.
Le protocole du bit alterné
Le protocole du bit alterné
- Dans le protocole du bit alterné, l’émetteur envoie les données encapsulées dans des trames contenant, entre autres informations techniques, le bit de séquence.
- Cas où l’échange se passe correctement
- Chaque trame émise est reçue par le destinataire qui envoie un accusé de réception dans lequel le bit de séquence correspond à celui de la trame reçue.
- La couche émettrice alterne la valeur du bit de séquence d’une trame émise à l’autre.
- Le récepteur attend un bit de séquence dont la valeur est censée alterner d’une trame reçue à l’autre.
- En début d’échange, l’émetteur et le récepteur sont synchronisés sur un bit de séquence à 0.
- Cas où la trame émise est rejetée par le récepteur
- La trame émise contient le CRC permettant au récepteur de la trame de vérifier que celle-ci n’a pas été altérée pendant son transit.
- Si le récepteur constate une altération, celui-ci va simplement envoyer à l’émetteur une trame de non-acquittement. L’émetteur renverra alors la trame.
- Cas où une trame n’est pas reçue
- L’émetteur constate qu’il n’a pas reçu d’accusé de réception dans les délais et décide alors de renvoyer la trame dont il n’a pas reçu d’accusé de réception.
- Cas du chevauchement de messages
- Quand l’émetteur renvoie une trame dont il n’a pas reçu l’accusé de réception.
- La seconde trame envoyée arrive à l’émetteur avant la première. *Le récepteur reçoit finalement deux trames identiques, mais écartera la seconde car son bit de séquence ne correspondra pas au bit attendu.
- Cas du chevauchement d’acquittements
- L’acquittement d’un message met trop longtemps à parvenir à l’émetteur.
- Le message est alors transmis à nouveau après le dépassement du délai ; mais le récepteur va rejeter ce message réémis car le bit de séquence de celui-ci ne correspondra pas à celui qu’il attend.