100% ont trouvé ce document utile (1 vote)
59 vues9 pages

Transmission Tcpip

Transféré par

Marilyne Migan
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
59 vues9 pages

Transmission Tcpip

Transféré par

Marilyne Migan
Copyright
© Attribution Non-Commercial (BY-NC)
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Transmission de l'information & protocoles Internet

Philippe Latu
[Link](at)[Link]
[Link]
Historique des versions $Revision: 1321 $ Anne universitaire 2004-2005 Rsum Lors de la conception de la modlisation OSI, tout a t prvu pour utiliser plusieurs protocoles diffrents aux niveaux rseau et transport. Aujourd'hui, la gnralisation de la technologie Ethernet dans les rseaux locaux et l'utilisation systmatique de l'Internet ont balay cette ouverture aux protocoles multiples. Cet article illustre le fonctionnement de la transmission de l'information sur l'Internet partir de ses protocoles emblmatiques IP, ICMP, TCP et UDP. $Date: 2008-09-24 [Link] +0200 (mer 24 sep 2008) $ PL

Table des matires


1. Copyright et Licence .............................................................................................................................. 1.1. Mta-information ........................................................................................................................ 2. Les couches rseau & transport de l'Internet ............................................................................................. 2.1. Les protocoles tudis ................................................................................................................. 2.2. Les units de donnes ................................................................................................................. 3. Le protocole IP de la couche rseau ........................................................................................................ 4. Les protocoles TCP & UDP de la couche transport ................................................................................... 4.1. Le protocole TCP ....................................................................................................................... 4.2. Le fonctionnement du protocole TCP ............................................................................................ 4.2.1. La segmentation des donnes ............................................................................................. 4.2.2. L'tablissement de la connexion ......................................................................................... 4.2.3. Contrle de flux ............................................................................................................... 4.2.4. fentrage .......................................................................................................................... 4.3. Le protocole UDP ....................................................................................................................... 5. En guise de conclusion .......................................................................................................................... 1 2 2 2 2 3 5 5 7 7 7 7 7 8 8

1. Copyright et Licence
Copyright (c) 2000,2008 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,2008 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.2 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 .

Transmission de l'information & protocoles Internet $Revision: 1321 $

Transmission de l'information & protocoles Internet

1.1. Mta-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 : [Link].pdf3|[Link].gz4.

2. Les couches rseau & transport de l'Internet


Avec le succs des services Internet (noms de domaines, courrier lectronique, Web, etc.) et l'echec des couches hautes du modle OSI (voir Modlisations rseau), les couches rseau & transport du modle TCP/IP occupent une position charnire entre le traitement de l'information (les couches hautes ou services) et sa transmission (les couches basses). Baptiser une modlisation du nom de ses protocoles n'est pas trs acadmique. Le principe d'un modle est de dcrire ce qui doit tre fait et non comment ce doit tre fait. Or, par dfinition, un protocole dcrit comment une srie d'opration doit tre ralise. Cette transgression est justife par le fait que toute la philosophie du fonctionnement de l'Internet est rsume dans les deux protocoles TCP & IP.

2.1. Les protocoles tudis


Le protocole de couche rseau IP Un rseau IP (Internet Protocol) est un rseau commutation de paquet sans mcanisme de contrle d'erreur. Chaque paquet achemin individuellement. C'est au destinataire des paquets de reconstituer, si besoin, la squence des informations. Voir Section 3, Le protocole IP de la couche rseau . Le protocole de couche rseau ICMP Comme le protocole IP ne prvoit aucun contrle, on a introduit un protocole supplmentaire au niveau rseau dont le rle est uniquement de fournir des informations sur l'tat du rseau : ICMP (Internet Control Message Protocol). Le protocole de couche transport TCP La fonction principale du protocole TCP est de fiabiliser les communications de bout en bout entre deux htes distants. Pour cela, il met oeuvre un jeu de mcanismes complexes : poigne de main trois voies, numros de squence indpendants, fentrage de l'acquittement, etc. Voir Section 4.1, Le protocole TCP . Le protocole de couche transport UDP Le protocole UDP est un protocole de transport simplifi l'extrme. Il suppose que le rseau est totalement fiable et ne prvoit aucun mcanisme de contrle et correction d'erreur. C'est aux applications de grer les problmes de transmission le plus souvent l'aide de boucles d'attente. Voir Section 4.3, Le protocole UDP .

2.2. Les units de donnes


Les protocoles lists ci-avant changent des donnes entre eux lors du passage d'une couche l'autre. On parle d'unit de donne de protocole ou Protocol Data Unit (PDU). Cette notion de PDU est gnrale et n'est pas trs employe en dehors des prsentations sur les modlisations. Avec l'utilisation systmatique des protocoles de l'Internet, on a introduit un vocabulaire spcifique chaque couche. Voici un schma sur lequel figure ce vocabulaire ainsi que les dimensions en octets de chaque lment.

1 2

[Link] [Link] 3 [Link] 4 [Link]

Transmission de l'information & protocoles Internet $Revision: 1321 $

Transmission de l'information & protocoles Internet

Encapsulation - image seule5 Ce schma fait apparatre le format de trame Ethernet. Mme si la technologie Ethernet n'est pas directement lie aux protocoles de l'Internet, son format de trame tend devenir universel. On le retrouve avec les technologies Wifi, les connexions ADSL/PPPOE et mme de plus en plus sur les rseaux tendus. Avant 1997, date laquelle l'IEEE a incorpor le vieux format de trame Ethernet dans le standard officiel, on devait systmatiquement distinguer deux formats de trames suivant le champ type/longueur. La dfinition de trame Ethernet II, celle qui utilise le champ type, a t intgre avec les protocoles de l'Internet partir des documents RFC894 : A Standard for the Transmission of IP Datagrams over Ethernet Networks et RFC1042 : A Standard for the Transmission of IP Datagrams over IEEE 802 Networks. Le champ type de la trame indique le type du protocole de couche suprieure ; IP ou ARP dans la plupart des cas. Pour plus d'informations, voir la rfrence sur les Valeurs du champ type de la trame Ethernet II. Aujourd'hui, on devrait parler de trame IEEE 802.3 avec encapsulation type. La dfinition de trame IEEE 802.3 initiale, celle qui utilise le champ longueur, n'est jamais utilise pour le trafic IP ; donc pour le trafic utilisateur. Seules les communications spcifiques entre quipements rseau utilisent ce format de trame associ des protocoles spcifiques. Aujourd'hui, on devrait parler de trame IEEE 802.3 avec encapsulation longueur. Pour plus d'informations, voir les rfrences Technologie Ethernet.

3. Le protocole IP de la couche rseau


En reprenant le principe l'origine du rseau de communications militaires ARPANET, on doit pouvoir communiquer d'un point un autre de l'Internet quel que soit l'tat du rseau. Une grande partie de l'infrasctructure peut tre dtruite par une frappe nuclaire et les communications doivent toujours tre possibles. C'est ce mode de fonctionnement qui a conduit l'adoption d'un rseau commutation de paquets fonctionnant en mode non connect sans aucune hirarchie. Si un autre principe avec supervision, hirarchie et|ou mode connect avait t retenu il suffirait qu'un point nvralgique soit touch pour interrompre l'ensemble des communications. Le fonctionnement du protocole IP qui a t dcrit dans le document RFC791 : INTERNET PROTOCOL, reprend l'ensemble des caractristiques nonces ci-avant. L'absence totale de mcanisme de contrle et|ou de correction d'erreur est une caractristique importante qui dcoule des mmes principes. La fiabilisation des communications ne se joue pas au niveau rseau mais au niveau transport.
5

[Link]

Transmission de l'information & protocoles Internet $Revision: 1321 $

Transmission de l'information & protocoles Internet

En-tte de paquet IP - image seule6 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 reprsentent le 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 sur une interconnexion rseau sous contrle. Sur l'Internet, les oprateurs dfinissent leurs propres priorits ; donc leurs propres valeurs pour ce champ. Voir l'Extrait du Linux Advanced Routing & Traffic control Howto. 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 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.
6

[Link]

Transmission de l'information & protocoles Internet $Revision: 1321 $

Transmission de l'information & protocoles Internet 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 IP. Destination Address : 32 bits Adresse IP de l'hte qui doit recevoir le paquet. Voir Adressage IP. 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 doublemot 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.

4. Les protocoles TCP & UDP de la couche transport


Relativement au protocole IP de la couche rseau, le protocole TCP de la couche transport ont un rle de fiabilisation des communications entre 2 extrmits. Avec la couche transport, on aborde le domaine des communications de bout en bout indpendantes de l'tat du sous-rseau. Les paquets peuvent tre arrivs destination par des chemins diffrents et dans le dsordre. Mme si l'appelation courante de la modlisation n'a retenu que TCP comme protocole de transport, il existe deux protocoles distincts suivant le type de rseau utilis. Le protocole TCP fonctionne en mode connect et assure un service fiable tandis que le protocole UDP assure un service de datagramme en mode non connect sans aucune garantie de fiabilit.

4.1. Le protocole TCP


Historiquement, c'est le premier protocole de transport dvelopp pour l'Internet. Les premires spcifications ARPANET prvoyaient un transport de l'information trs fiable indpendant du type et de l'tat du rseau. Le fonctionnement du protocole TCP a t dcrit dans le document RFC793 : Transmission Control Protocol. Protocole de bout en bout. Les processus pairs des couches transport de deux quipements connects dialoguent l'un avec l'autre sans rien connatre du rseau. C'est au niveau IP que l'on se proccupe de la fragmentation et du rassemblage des paquets. Protocole orient connexion. La fiabilit du transport TCP dpend de l'tablissement d'une connexion entre les processus pairs qui veulent dialoguer. L'tablissement d'une connexion est ralis par l'change d'informations telles que le numro de port, le numro de squence et la taille de fentre.

Transmission de l'information & protocoles Internet $Revision: 1321 $

Transmission de l'information & protocoles Internet

En-tte TCP - image seule7 Source Port : 16 bits Numro du port source. Ce numro correspond au point de communication (socket inet) utilis par le service de la couche application de l'metteur. Destination Port : 16 bits Numro du port destination. Ce numro correspond au point de communication (socket inet) utilis par le service de la couche application du destinataire. Sequence Number : 32 bits Le protocole TCP a besoin de garder une trace de toutes les donnes qu'il reoit de la couche application de faon tre sr qu'elles ont bien t reues par le destinataire. De plus, le protocole doit tre sr que ces donnes ont t reues dans l'ordre dans lequel elles ont t envoyes. Il doit retransmettre toute donne perdue. On affecte un numro de squence chaque octet de donne pour en garder une trace lors du processus de transmission, rception et acquittement. Dans la pratique, ce sont des blocs d'octets qui sont grs en utilisant les numros de squence de dbut et de fin de bloc. Les numros de squence sont ncessaires la mise en oeuvre du systme de fentre glissante du protocole TCP. C'est ce systme qui garantit fiabilit et contrle de flots de donnes. Acknowledgment Number : 32 bits Le rle des numros d'acquittement est le mme que celui des numros de squence. Simplement, chaque extrmit en communication initie son propre jeu de numros. Ainsi chaque extrmit assure la fiabilisation et le contrle de flux de faon autonome. Data Offset : 4 bits Nombre de mots de 32 bits contenus dans l'en-tte TCP. Indication du dbut des donnes. Tout en-tte TCP, avec ou sans options, est un multiple de mots de 32 bits. Reserved : 6 bits Champ rserv pour une utilisation ultrieure. Les 6 bits doivent tre 0. Control bits : 6 bits Ces bits sont les indicateurs d'tat qui servent l'tablissement, au maintien et la libration des connexions TCP. Leur rle est essentiel dans le fonctionnement du protocole. URG : indique que le champ Urgent Pointer est significatif ; ie. une partie des donnes du segment sont urgentes. ACK : indique que le champ Acknowledgment field est significatif ; ie. le segment acquitte la transmission d'un bloc de d'octets. PSH : utilisation de la fonction Push RST : indique un arrt ou un refus de connexion.
7

[Link]

Transmission de l'information & protocoles Internet $Revision: 1321 $

Transmission de l'information & protocoles Internet SYN : indique une demande de synchronisation de numro de squence ; ie. demande d'ouverture de connexion TCP. FIN : indique que l'metteur n'a plus de donnes transmettre ; ie. demande de libration de connexion. Window : 16 bits Nombre d'octets de donnes partir de celui indiqu par le champ Acknowledgment. Checksum : 16 bits 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 entre 0 et 44 octets 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. Le fonctionnement du protocole TCP


D'aprs le format du message TCP, on peut rsumer le fonctionnement de la couche transport de la modlisation TCP/ IP en quatre points. Le protocole TCP de la couche transport : segmente les donnes des applications, tablit une connexion de bout-en-bout, met les segments d'un hte l'autre, assure la fiabilit du transport des segments entre les htes connects.

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. Segmentation des donnes des applications par la couche Transport - image seule8

4.2.2. L'tablissement de la connexion


Les tapes de l'tablissement de la connexion sont : Etablissement de la connexion - image seule9

4.2.3. Contrle de flux


Un contrle de flux est ncessaire pour prvenir la congestion des transfertscw : 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.

Contrle de flux TCP - image seule10

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.
8 9

[Link] [Link] 10 [Link]

Transmission de l'information & protocoles Internet $Revision: 1321 $

Transmission de l'information & protocoles Internet

Fentrage de l'acquittement - image seule11

4.3. Le protocole UDP


Le protocole UDP est apparu avec le dveloppement des rseaux locaux dont la fiabilit permet de s'affranchir des fonctions de contrle. C'est un protocole minimum sans garantie de dlivrance des messages et sans squencement. Format de l'en-tte UDP - image seule12 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.

5. En guise de conclusion
Cette prsentation est loin d'tre exhaustive. Pour aller plus avant dans la comprhension des mcanismes de fonctionnement des protocoles, voici quelques documents de rfrence : Modlisations rseau Modles OSI & Internet Le document Modlisations rseau13 est une synthse comparative entre les modlisations OSI et Internet. On montre que la modlisation OSI correspond au volet transmission de l'information et que le modle Internet correspond au volet traitement de l'information. Les protocoles TCP et IP constituent la charnire entre les deux modles. Technologie Ethernet Principes & normalisations Le document Technologie Ethernet14 est une prsentation gnrale des caractristiques techniques d'Ethernet et de ses diffrentes normalisations. RFC894 : A Standard for the Transmission of IP Datagrams over Ethernet Networks Le document RFC894 Standard for the transmission of IP datagrams over Ethernet networks15 de 1984 spcifie la mthode standard d'encapsulation des datagrammes IP sur Ethernet. RFC1042 : A Standard for the Transmission of IP Datagrams over IEEE 802 Networks Le document RFC1042 Standard for the transmission of IP datagrams over IEEE 802 networks16 de 1988 spcifie la mthode standard d'encapsulation des datagrammes IP et des requtes ARP sur les rseaux IEEE 802. Valeurs du champ type de la trame Ethernet II Le fichier ETHER TYPES17 contient la liste des diffrentes valeurs du champ type des trames Ethernet II.
11 12

[Link] [Link] 13 [Link] 14 [Link] 15 [Link] 16 [Link] 17 [Link]

Transmission de l'information & protocoles Internet $Revision: 1321 $

Transmission de l'information & protocoles Internet Protocoles Internet RFC791 : INTERNET PROTOCOL Le document RFC791 Internet Protocol18 de 1981 spcifie le protocole IP. Adressage IP La matrise de l'adressage IP est essentielle toutes les manipulations autour des rseaux. Elle justifie un document part entire ; c'est l'objet de l'article Adressage IP19. Extrait du Linux Advanced Routing & Traffic control Howto La section Gestionnaires de mise en file d'attente simples, sans classes20 dcrit l'utilisation des valeurs du champ Type Of Service (TOS) de l'en-tte IP avec le noyau Linux. RFC793 : Transmission Control Protocol Le document RFC793 Transmission Control Protocol21 de 1981 spcifie le protocole TCP.

18 19

[Link] [Link] 20 [Link] 21 [Link]

Transmission de l'information & protocoles Internet $Revision: 1321 $

Vous aimerez peut-être aussi