Survol de la gestion de réseau sous TCP/IP
Tous les protocoles et services dans le logiciel du model TCP/IP ne sont pas représentés.
Les adresses des ports: Point de passage des applications entre la machine et le réseau.
Scénario de base
Les données passent d'une application TCP/IP issues d'un interface API via un port TCP ou UDP vers l'un ou l'autre des protocoles de transport TCP ou UDP.
- Le segment de données passe dans la couche Internet ou le protocole IP ajoute des informations d'adressage local et emballe le tout dans un datagramme.
- Le datagramme IP entre dans la couche accès au réseau pour y être traité par les logiciels d'interface avec le réseau physique.
- La couche d'accès au réseau crée une ou plusieurs trames accessibles au niveau de la ligne de transmission. Dans le cas du réseau Ethernet, la trame peut comprendre des informations relatives à des adresses physiques extraites des tables de mise à jour RARP, ARP.
- La trame de données est ensuite convertie en une chaîne de bit confiée au réseau.
Les fonctions de la couche transport sous TCP/IP
- Interface avec l'application en cours d'exécution sur la machine d'un réseau et non pas simplement ave la machine elle-même.
- Multiplexage et démultiplexage: c'est-à-dire réception des données de plusieurs applications des machines différentes et les achemine sur l'application concernée de la machine réceptrice. Autrement dit la couche transport doit supporter plusieurs applications réseaux tout en gérant le flot de données à destination de la couche Internet.
a destination, la ouche transport effectue un démultiplexage (elle reçoit les données de la couche Internet et les repartit vers les différentes applications). Le multiplexage démultiplexage avec plusieurs machines.
- Contrôle d’erreur, gestion de flot de données et vérification garantit une liaison à zéro défaut et ralenti les échanges sur le réseau. C'est ce qui est fait par TCP. par contre UDP (User Datagramme Protocol) assure un contrôle d'erreur rudimentaire. UDP est utilisé lorsque TCP est superflu.
Protocoles orientés connexion et non orientés connexion
Protocole orienté connexion : TCP
TCP : celui-ci établit et maintient une connexion entre deux machines et surveille l'état de la liaison pendant la transmission.
Le récepteur envoie un accusé de réception de données reçues, tandis que l'émetteur reçoit les informations sur la validité des données acheminées. Ces derniers peut retransmettre les données si nécessaire certaines informations particulières sont transmises pour signaler la fin de la communication.
Protocole orienté connexion TCP:
- Etablir et maintient la connexion
- Surveillance de l'état de la liaison
- Existence des accusés de réception
- Reprise de transmission
- Signal de fin de transmission
Protocole non orienté connexion : UDP
L'émetteur expédie les données sans d'abord transmettre les signaux d'avertissement des débuts de conversation. Le destinataire reçoit les informations sans possibilité de réexpédier un accusé de réception.
Port de communication et socket
Un port logique est une adresse interne prédéterminée qui sert de chemin d'accès bidirectionnel entre les applications et la couche transport.
Dans l'exemple ci-dessus nous avons une machine cliente qui contacte l'application FTP d'une machine serveur sur le port 21.
Un socket est un numéro (adresse du port) associé à une adresse IP, combinaison unique fournissant un point d'entrée pour une application sur une machine donnée.
Exemple d'adresse de socket correspondante au port 21 d'une machine : 111.121.131.141:21 et l'adresse IP: 111.121.131.141
Quelques ports réservés TCP
Numéro de port |
En Anglais |
En Français |
13 |
daytime |
jour et date |
15 |
netstat |
état réseau |
20 |
ftp data |
donnée du protocole de transfert de fichiers |
21 |
ftp (file transfert Protocol) |
Protocole de transfert de fichiers |
23 |
telnet |
connexion d'un terminal réseau |
25 |
smtp |
protocole de courrier simplifier |
42 |
name |
serveur de nom d'hôte |
53 |
domain |
serveur de nom de domaine |
80 |
http |
serveur www |
115 |
sftp |
ftp sécurisé |
144 |
news |
nouvelle |
Quelques ports réservé UDP
Numéro de port |
En Anglais |
En Français |
13 |
daytime |
jour et date |
15 |
netstat |
état du réseau |
19 |
caracter generator |
générateur de caractères |
37 |
time |
serveur temps |
42 |
name |
serveur nom hôte |
53 |
name domain |
serveur de nom de domaine DNS |
67 |
bootps strap protocol service (DHCP) |
serveur DHCP |
68 |
boots strap protocol client DHCP |
protocol client DHCP |
69 |
tftp |
protocole de transfert de fichier ordinaire |
Importance de l'opération de multiplexage et démultiplexage dans une communication réseau
L'adressage par socket permet à TCP et UDP d'effectuer le multiplexage démultiplexage. Ces deux opération permettent au bas niveau de la pile TCP/IP de traiter les données sans tenir compte de leur application d'origine (la couche Internet s'occupe uniquement de reconnaître la machine et le chemin qui mène à cette machine, c'est la couche qui permet d'identifier l'activité que vous voulez mener sur la machine).
La couchez transport effectue de ce faut le lien entre les données circulant dans les deux sens et la couche Internet. C'est ainsi que toutes les applications en cours sur un serveur TELNET, utilisent l'adresse IP du serveur, mais seul le service TELNET utilise l'adresse socket constituée de l'adresse IP du serveur et l'adresse de port réservé 23.
L'adresse de socket est spécifique de l'application fournie par un serveur.
Il y'a 3 application en cours d'exécution, on regarde les ports qui sont 23, 2000, 2800, sur la figure précédente.
Format de données de TCP
Le format de trame sous TCP est assez complexe, nous n'expliciterons que quelques champs de ce format.
- Port source: c'est un champ de 16 bits représentant le numéro de port assigné à l'application sur la machine source.
- Port de destination: c'est un champ de 16 bits représentant le numéro de port assigné à l'application sur ma machine de destination.
- Numéro de séquence: c'est un champ de 32 bits.
- Numéro d'accusé de réception: champ de 32 bits confirme la réception d'un segment de données (la machine source ajoute une certaine séquence d'information dans le segment de données en cas de bonne réception, cette séquence lui sera retournée sans déformation).
- Offset de données (décalage de données): c'est un champ de 4 bits, indique au logiciel TCP qu'elle est la longueur de l'en-tête et par conséquent où commence les véritables données. Offset est un nombre entier de mot de 32 bits.
- Champ réservé: c'est un champ de 6 bits réservé à un utilisation future lorsque le protocole TCP évoluera.
- Drapeau (flad): un bit pour chaque flad, le premier est URG
- URG: une valeur 1 signifie que le segment en cours de transmission est urgent.
- ACK: une valeur de 1 signifie que le champ numéro d'acquisition est significatif (accusé de réception)
- PSH
- RST: une valeur 1 réinitialise la connexion.
- SYN: une valeur de 1 signifie que les numéros de séquence seront synchronisés marquant ainsi le début d'une connexion.
- FIN: une valeur de 1 signifie que la machine émettrice n'a plus de données à transmettre.
- Fenêtre: champ de 16 bits, paramètre utilisé pour le contrôle de flux.
- Somme de contrôle: champ de 16 bits, champ utilisé pour tester l'intégrité du segment de données en cours de transmission.
En d’autres termes, les machines établissent rapidement une comparaison entre les indicateurs reçus et les informations exactes contenues dans le segment. - Pointeur d'urgence: champ de 16 bits, marque le début d'une information urgente dans le segment en cours de transmission.
- Bourrage (remplissage): bits supplémentaires de valeur 0, permettant de s'assurer que les données transmises doivent être un multiple de 32 bits.
- Longueur de données (variable): les véritables données transmises sur le segment.
Le format de données TCP donne toutes les informations sur:
- La gestion
- L'acquittement (accusé de réception)
- Vérification des données en circulation sur le réseau.
Format de données sous UDP
- Port source: ce champ occupe les 16 premier octets de l'en-tête UDP. Il contient le numéro de port UDP de l'application émettant ce datagramme, c'est optionnel. En cas d'absence de ce numéro le récepteur ne pourra répondre à l'expéditeur du message.
- Port de destination: contient le numéro de port auquel UDP de la machine réceptrice délivre le message.
- Longueur: 16 bits, contient la longueur en nombre d'octet du datagramme UDP. Cette longueur inclus l'en-tête UDP plus les données. L'en-tête UDP a une longueur de 4 octets (32 bits).
- Données: de longueur variable.
- Somme de contrôle: champ de 16 bit, est utilisé pour déterminer si oui ou non le datagramme a subit des modifications lors de la transmission.
La notion de pare-feu (Premier niveau de sécurité)
Un pare-feu est un système informatique qui protège un réseau local des tentatives d'accès d'intrus via Internet.
TELNET : utilitaire qui permet à un ordinateur hôte de devenir un terminal du serveur. On peut configurer le serveur de façon à ne plus proposer d'accès telnet sur le port 23 de TCP.
Résultat:
La machine cliente locale dispose de telnet, mais la machine cliente du réseau Internet ne peut accéder à ce service.
Le pare-feu bloque l'accès au serveur telnet à cause du niveau de la couche TCP des datagrammes qui l'attaque (niveau 3 et 4) des machines extérieures au réseau local. Les machines du réseau local fonctionnent au niveau 2 et 1, le pare feu bloque tous les niveau supérieurs extérieurs au réseau local.