La couche transport du modèle OSI permet de créer une conversation entre deux applications, au travers du réseau. La bonne tenue de cette conversion implique un moyen d’identifier les applications, de créer une session de communication et de gérer les flux de données échangés.
Les deux principaux protocoles de cette couche sont TCP et UDP.
Transmission Control Protocol (TCP)
TCP est un protocole de couche 4 permettant une communication fiable entre deux applications.
Au niveau de TCP, les données échangées s’appellent des segments :
En début de conversation, TCP établit une session de communication avec un three way handshake : TCP est un protocole en mode connecté.
TCP segmente les données échangées entre les applications, les réassemble, vérifie qu’elles sont bien arrivées et détecte les erreurs de transmission : TCP est un protocole fiable.
User Datagram Protocol (UDP)
Le protocole UDP est aussi un protocole de couche 4. Il permet à une application de transmettre des données de manière non fiable, mais avec plus de fluidité que TCP.
Au niveau d’UDP, les données échangées s’appellent des datagrammes.
Ports et Socket
TCP et UDP attribuent à chaque application un numéro de port, sur 2 octets, qui se note en décimal, de 0 à 65536. Le port permet d’identifier les applications, source et destinataire, d’un échange.
Les ports 0 à 1023 sont dits « bien connus » (well known). Les ports 1024 à 49151 sont enregistrés. Les ports restants sont dits dynamiques.
L’association d’une adresse IP et d’un port s’appelle un socket. Ex : 105.48.204.36:80