Question

Existe-t-il un champ / une option / quelque chose que je puisse mettre dans un paquet TCP (que ce soit un syn, un ack ou simplement des données) que je peux être sûr d'être retourné intact par l'autre extrémité?

Par exemple. Je veux "taguer" une connexion particulière (src, srcport, dst, dstport) avec un numéro que je peux toujours lire à partir d'un paquet appartenant à cette connexion. Cela signifie que je peux identifier la connexion sans utiliser le tuple à 4 (comme indiqué ci-dessus).

Était-ce utile?

La solution

Vous pourriez éventuellement abuser de l'option d'horodatage TCP. Cela ne semble toutefois pas être une bonne idée.

Autres conseils

Oui: il s’agit d’un protocole client encapsulé dans le protocole serveur TCP.

En d’autres termes: définissez le protocole client en fonction de vos besoins. N'essayez pas de "bousculer". bits supplémentaires dans le temps système TCP.

Il y a bien sûr la surcharge de options dans TCP, mais je doute que vous trouvez un moyen facile d’y accéder ... et dans tous les cas, vous ne devriez pas.

Vous pouvez avoir une table de recherche dans votre application dans laquelle vous associez votre tag au socket.

Non, il n'y a aucune installation pour ce que vous décrivez.

Généralement, si vous écrivez une application de socket avec plusieurs connexions à d'autres systèmes, gardez une trace du descripteur de socket appartenant à chaque système distant. Lors de la réception de données, vous utilisez le socket (sous une forme ou une autre, vous ne savez ni le système d’exploitation ni la langue que vous utilisez), vous pouvez donc prendre les mesures appropriées en fonction du descripteur de socket utilisé.

Je n'ai jamais vu d'application serveur permettant de suivre les connexions en fonction du tuple d'adresses / ports. Cela semble être beaucoup trop de travail.

En relisant votre question, il semble que vous posiez cette question du point de vue du pilote TCP. Quel type de logiciel écrivez-vous ici?

En UDP, l’IP de destination et le numéro de port de destination sont utilisés pour démultiplexer les paquets, mais dans l’IP de destination TCP, l’IP source, le numéro de port de destination et les numéros de port source (4-tuple) sont nécessaires pour distinguer les connexions. cet usage.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top