Documente Academic
Documente Profesional
Documente Cultură
Philippe Latu
philippe.latu(at)linux-france.org
http://www.linux-france.org/prj/inetdoc/
Historique des versions $Revision: 1.3 $ Anne universitaire 2004-2005 $Date: 2004/09/20 20:26:19 $ PL
1. Copyright et Licence
Copyright (c) 2000,2005 Philippe Latu. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".
Copyright (c) 2000,2005 Philippe Latu. Permission est accorde de copier, distribuer et/ou modifier ce document selon les termes de la Licence de Documentation Libre GNU (GNU Free Documentation License), version 1.1 ou toute version ultrieure publie par la Free Software Foundation ; sans Sections Invariables ; sans Texte de Premire de Couverture, et sans Texte de Quatrime de Couverture. Une copie de la prsente Licence est incluse dans la section intitule Licence de Documentation Libre GNU .
1.1. Meta-information
Cet article est crit avec DocBook1 XML sur un systme Debian GNU/Linux2. Il est disponible en version imprimable aux formats PDF et Postscript : transport.pdf3|transport.ps.gz4.
1 2
$Revision: 1.3 $
Version : 4 bits Version du protocole IP code sur 4 bits : 0100 pour IPv4 et 0110 pour IPv6. Internet Header Length : 4 bits, IHL Longueur de l'en-tte en mots de 32 bits. Cette valeur est utilise pour distinguer la partie en-tte de la partie donnes du paquet. La reprsentation usuelle de l'en-tte se fait sur 32 bits de largeur. Comme les champs Options et Padding ne sont pas obligatoires, la valeur minimum du champ IHL est 5 (0101). Type Of Service : 8 bits, TOS Champ dcoup en 2 parties. Les 3 premiers bits sont appels precedence et les 5 derniers reprsententle type de service. La dfinition d'origine prvoyait 3 choix : low-delay, high-reliability et high-throughput. Ce marquage des paquets est utilisable pour dfinir des flux prioritaires. Voir Gestionnaires de mise en file d'attente simples, sans classes7. Sur l'Internet, les routeurs ne tiennent gnralement pas compte de ce champ. Total Length : 16 bits Longueur du datagramme : en-tte & donnes. La taille minimum est de 21 octets (en-tte + 1 octet de donne). Comme se champ est reprsent sur 16 bits, la taille maximum est de 2^16 - 1, soit 64 Ko. Identification : 16 bits Chaque paquet IP reoit un numro d'identification sa cration. Il est possible qu'un paquet soit dcoup en
5 6
$Revision: 1.3 $
Transport de l'information avec TCP/IP fragments avant d'atteindre sa destination finale. Chaque fragment appartient au mme paquet IP. Chaque fragment possde le mme numro d'identification. Flags : 3 bits Ce champ contient 3 indicateurs d'tat : Reserved flag : doit toujours tre 0. Don't Fragment (DF) : 0 si le paquet peut tre fragment ; 1 s'il ne doit pas tre fragment. More Fragments (MF) : 1 si d'autres fragments sont attendus ; 0 s'il n'y a pas/plus de fragments. Fragment Offset : 13 bits Position du fragment dans le datagramme courant. Cette position est compte en octets. Time To Live : 8 bits, TTL Ce compteur est dcrment chaque traverse de routeur. Si la valeur 0 est atteinte, le paquet est jet. Cela signifie qu'il ne peut tre dlivr sa destination finale. La valeur initiale du champ TTL dpend du systme d'exploitation utilis. Protocol : 8 bits Ce champ spcifie le protocole utilis dans les donnes du paquet IP. Par exemple, la valeur 1 indique que le protocole utilis est ICMP. On sait ainsi que ce paquet n'est pas destin une application. Les diffrentes valeurs de ce champs sont listes dans le fichier /etc/protocols sur les systmes GNU/Linux ou *BSD. Header Checksum : 16 bits A chaque cration ou modification d'un paquet, une somme de contrle (cyclic redundancy check) est calcule sur son en-tte. Lorsque le paquet arrive destination, cette somme est recalcule. Si le rsultat diffre, c'est que le paquet a t endommag lors de son trajet. Source Address : 32 bits Adresse IP de l'hte qui a mis le paquet. Voir Adressage IP8. Destination Address : 32 bits Adresse IP de l'hte qui doit recevoir le paquet. Voir Adressage IP9. Options and Padding Cette partie de l'en-tte est optionnelle. Ce champ est utilis pour fournir des instructions spcifiques de distribution du paquet qui ne sont pas couvertes par les autres champs de l'en-tte. La taille maximum de ces insturctions est limite 40 octets regroups en double-mots de 32 bits. Les bits de padding servent complter le dernier double-mot de 32 bits. Data C'est le dernier champ du paquet IP. Il contient les donnes du paquet. Celles ci peuvent dbuter par un en-tte de couche transport (4) qui donnera d'autres instructions l'application qui recevra les donnes. Le champ Data peut aussi contenir un message ICMP qui ne contient aucune donne utilisateur.
8 9
http://www.linux-france.org/prj/inetdoc/articles/adressage.ip/ http://www.linux-france.org/prj/inetdoc/articles/adressage.ip/
$Revision: 1.3 $
Source Port : 16 bits Numro du port source. Destination Port : 16 bits Numro du port destination. Sequence Number : 32 bits Si SYN = 0, le numro de squence est celui du premier octet de donnes de ce segment. Si SYN = 1, il s'agit du numro de squence initital ISN. le premier octet de donne est ISN+1. Acknowledgment Number : 32 bits Si le bit ACK = 1, ce champ contient le numro de squence attendu par l'metteur du segment. Data Offset : 4 bits Taille de l'en-tte TCP en mots de 32 bits. Reserved : 6 bits Champ rserv pour une utilisation ultrieure. Les 6 bits doivent tre 0. Control bits : 6 bits URG : Urgent Pointer field significant ACK : Acknowledgment field significant PSH : Push Function RST : Reset the connection SYN : Synchronize sequence numbers FIN : No more data from sender Window : 16 bits Nombre d'octets de donnes partir de celui indiqu par le champ Acknowledgment. Checksum : 16 bits
10 11
http://www.faqs.org/rfcs/rfc793.html http://www.linux-france.org/prj/inetdoc/articles/modelisation/
$Revision: 1.3 $
Transport de l'information avec TCP/IP Somme de contrle sur 16 bits de l'en-tte et des donnes. Urgent Pointer : 16 bits Ce champ est interprt uniquement si le bit de contrle URG est 1. Le pointeur donne le numro de squence de l'octet qui suit les donnes urgentes . Options : variable il existe 2 formats d'options : un seul octet de catgorie d'option ou un octet de catgorie d'option suivi d'un octet de longueur d'option et de l'octet des donnes de l'option.
4.2.1. La segmentation des donnes La fonction de transport est effectue segment par segment de faon autonome. Plusieurs applications peuvent mettre leurs segments successivement. Ces segments peuvent avoir un ou plusieurs destinataires.
4.2.3. Contrle de flux Un contrle de flux est ncessaire pour prvenir la congestion des transferts : Un serveur performant peut gnrer plus de trafic que le rseau ne peut en supporter. Un serveur peut tre sollicit par un nombre trs lev de clients.
$Revision: 1.3 $
4.2.4. fentrage Un dispositif de fentrage de l'acquittement a t implant pour prserver la bande passante. Si l'metteur devait attendre un acquittement aprs l'mission de chaque segment, la qualit de la transmission serait dgrade.
Source Port : 16 bits Numro du port source. Ce champ est optionnel. Destination Port : 16 bits Numro du port destination. Length : 16 bits Longueur en octets du datagramme UDP incluant l'en-tte et les donnes. Checksum : 16 bits Somme de contrle sur 16 bits de l'en-tte et des donnes.
$Revision: 1.3 $