Concevoir son propre protocole réseau par-dessus UDP - Introduction
Petite introduction à cette nouvelle série d'article destiné à vous aider à concevoir un protocole fiable par-dessus UDP.
Sommaire
- 1. Introduction
- 2. Connexion, fiabilité et intégrité
- 3. MTU et congestion
- 4. Le problème du NAT
- 5. Attaques et chiffrement
- 6. Conclusion
Bienvenue dans cette série d'articles destinée à aborder, théoriquement, les points importants à prendre en compte lors de la conception de son propre protocole réseau par-dessus UDP.
À la base, tout le contenu de cette série d'article faisait partie d'un seul et même article, qui lui-même à l'origine faisait partie de ma série d'article sur le réseau dans les jeux vidéos. Mais au fur et à mesure de l'écriture, je me suis rendu compte que j'avais simplement trop de choses à dire pour en faire un morceau d'article ou même un article entier.
Du coup dans cette série d'article nous allons aborder les différentes problématiques que vous risquez de rencontrer dans la conception de votre propre protocole et les quelques solutions qui y sont, vous verrez parfois du pseudo-code mais à aucun moment du code source directement exploitable.
Si vous cherchez une solution toute faite, je ne peux que vous recommander le troisième article de ma série Le réseau dans les jeux vidéos qui présente justement divers protocoles et bibliothèques existants.
Les raisons qui peuvent vous pousser à faire votre propre procole réseau sont relativement nombreuses, particulièrement dans le domaine du temps réel (et donc du jeu vidéo) car il existe peu de standards basé sur UDP et les standards basés sur TCP fonctionnent assez mal pour le temps réel.
Vous trouverez plus d'explications sur ceci dans mon autre série d'article sur le réseau dans les jeux vidéos, plus précisément dans le chapitre 2 TCP vs UDP.
Nous allons donc aborder tous les gros points importants qu'il vous faut au moins connaître pour être efficace, et ça commence avec la gestion des connexions, de la fiabilité et de l'intégrité, c'est par ici.