Vous êtes sur la page 1sur 22

LP Chteau-Blanc

Section Bac Pro MRIM

Les Rseaux

les protocoles TCP/IP

Version 3 Auteur : Christophe VARDON professeur STI Bac Pro MRIM formateur TICE iufm

Les rseaux locaux (LAN)

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

Table des matires


1. Historique - Applications...........................................................................................................................3 1.1. Les atouts TCP/IP..........................................................................................................................3 1.2. Quelles applications ?....................................................................................................................3 1.3. Protocole, pilote, interface.............................................................................................................3 1.4. Version de IP.................................................................................................................................4 1.5. Place dans le modle OSI..............................................................................................................4 2. A quoi servent les protocoles TCP/IP ? : fonctionnalits des protocoles IP, TCP, ARP, ICMP...............5 3.Analyse du protocole IP (Internet Protocol)................................................................................................6 3.1. Structure d'une adresse IP..............................................................................................................6 3.3. Des adresses rserves!..................................................................................................................7 3.4. Les domaines et les noms de machine...........................................................................................7 3.5. La fonction de routage...................................................................................................................7 3.6. Les masques de (sous-)rseau........................................................................................................8 3.7 Description du datagramme IP :...................................................................................................10 4.Analyse des protocoles TCP et UDP (Transfert Control Protocol)..........................................................12 4.1. Fonctionnalits.............................................................................................................................12 4.2. Description du segment ..............................................................................................................13 4.3. Etablissement d'une connection TCP..........................................................................................14 4.4. Diffrences entre TCP et UDP....................................................................................................14 4.5. Etude de cas des services WINDOWS XP Pro et 2000 Advanced Server..................................15 5. Analyse du protocole ARP (Address Resolution Protocol) ....................................................................16 6. Analyse du protocole ICMP.....................................................................................................................17 7. La multidiffusion : le protocole IGMP.....................................................................................................18 7.2 Routage/commutation multicast...................................................................................................18 7.3 IGMP Snooping............................................................................................................................19 7.4 Analyse d'un dialogue de multidiffusion impliquant IGMP........................................................20 7.5 Le mappage des adresses IP multicast et MAC...........................................................................21 7.6 Structure d'une trame IGMP .......................................................................................................22

Les rseaux locaux (LAN)

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

1. Historique - Applications
Ce protocole de communication a t mis au point partir d'une tude commande au dbut des annes 1970 par le DARPA (Defense Advanced Project Research Agency) dpendant du DoD (Department of Defense) Amricain. L'objectif tait de mettre au point un protocole de communication permettant d'interconnecter les ordinateurs de toutes marques dont disposait l'arme des US. Les premires implmentations ont t ralises au dbut des annes 1980 . Elles introduisaient les notions de : couches de communication. Le protocole TCP/IP ne respecte pas totalement la norme OSI.

1.1. Les atouts TCP/IP


Il a t adopt trs tt par les systmes Unix, ce qui lui apport fiabilit et crdit. Les spcifications sont du domaine public, et elles sont facilement accessibles tous, ce qui a permis de nombreux dveloppements dans les milieux universitaires et de la recherche. Les spcifications sont fournies sous la forme de RFC (Request for Comments). Diversit technologique : il est disponible sur la plupart des plates-formes matrielles et systmes d'exploitation, de l'ordinateur personnel (PC ou Mac) au plus gros calculateur vectoriel (Cray, ... ). Adaptabilit technique : Il est utilisable sur la plupart des rseaux physiques ( Ethernet 802.3 , Token Ring 802.5, liaisons sries ) et mme travers d'autres rseaux publics ( X25, Numris). Diversit logicielle : De trs nombreux logiciels ont t dvelopps sur TCP/IP, qu'ils soient du domaine public ou vendus par des socits spcialises. C'est le principe de : IP au-dessus de tout , il fonctionne sur :
Ethernet (RFC894) Token Ring Liaison srie de 9,6Kbits/s 2Mbits/s SLIP (RFC1055) PPP (Point to Point Protocol), X25 FDDI (RFC1188) FastEthernet 100Mbps ATM

1.2. Quelles applications ?


r-commands : (ou remote commandes) : excution d'une commande distance sur une autre machine du rseau local telnet : connexion interactive ftp ( File Transfert Protocol) : transfert de fichier smtp (Simple Mail Tranfert Protocol) : messagerie nfs : (Network File System): systme de fichiers rpartis

Sur un mme rseau physique (Ethernet par exemple) le protocole TCP/IP peut cohabiter avec d'autres protocoles de niveau 3 . Pour cela dans la trame de niveau 2 un champ identifie le type de protocole de niveau 3.

1.3. Protocole, pilote, interface


Plusieurs protocoles peuvent mme cohabiter sur une mme machine : le niveau 2 est gr par le pilote (driver) de la carte (Ethernet par ex), au dessus duquel il y a plusieurs "piles" de niveau suprieur. Le paquet extrait de la trame est transmis la pile correspondant au type de protocole (cf notion de SAP Service Access Point - du modle OSI)

Les rseaux locaux (LAN)

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

1.4. Version de IP
On utilise actuellement la version 4 de TCP/IP (dite : ipv4), et on passera progressivement la version 6 (dite : ipv6)dans les annes venir .

1.5. Place dans le modle OSI

,*

Les rseaux locaux (LAN)

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

2. A quoi servent les protocoles TCP/IP ? : fonctionnalits des protocoles IP, TCP, ARP, ICMP
PROBLME : comment identifier la machine destinataire d'un message circulant sur le rseau ? (MAUVAISE) RPONSE : l' adresse MAC de la carte rseau n'est pas suffisante car elle ne donne aucune indication sur le rseau dont fait partie la machine : on est limit au rseau local; (BONNE) RPONSE : Il faut une adresse qui identifie la machine elle-mme, mais aussi le rseau (LAN) dont elle fait partie.

le protocole IP autorise l'attribution d'une adresse de type rseau.machine chaque poste informatique. l'adresse IP permet d'identifier le rseau et la machine destinataire d'un message. Conclusion : le protocole IP a pour rle d'identifier la source et le destinataire d'une trame et de fournir une route pour son acheminement. (fonction de routage)

Oui, mais : sur la machine destinataire peuvent tourner plusieurs logiciels; par exemple Internet Explorer pour naviguer sur le Web et Outlook Express pour le courrier lectronique.

PROBLME : comment le systme d'exploitation va-t-il savoir quelle application sont destines les donnes recues ? RPONSE : le protocole TCP rajoute la trame un numro (appel port TCP ) qui indique l' application destinataire des donnes (ex : le port 80 pour le web/http) Un socket est une adresse rseau constitue par la concatnation d'une adresse Internet avec un numro de port TCP (ex : 192.168.1.2:80).

Well known ports Les numros de port standarts sont dfinis la RFC1700; compltez le tableau suivant :

Application Web - http (ex : IE5.5) Mail - smtp (ex : Outlook) proxy http (ex : squid proxy serv) administration distante - snmp telnet (remote terminal)

n du port TCP

Application Transfert de fichier - ftp courrier entrant - pop partage de fichier - netbios

n du port TCP

Les rseaux locaux (LAN)

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

3.Analyse du protocole IP (Internet Protocol)


L'adresse IP d'une machine est une adresse de niveau rseau code sur 32 bits ( ie 4 octets en IPv4) qui est en gnral note sous la forme de 4 chiffres spars par des points. On parle de notation en dcimal point. Chaque champ, qui reprsente un octet, peut prendre des valeurs entre 0 et 255. Exemple : 192.93.116.3

3.1. Structure d'une adresse IP


L'adresse IP est constitue d'un champ numro de rseau (1, 2 ou 3 octets) et d'un champ numro de machine dans le rseau ( 3, 2 ou 1 octets). L'adresse ip = adresse de rseau + adresse de machine. Les rseaux TCP/IP sont rangs en 3 classes A, B ou C :

classe A : 1 127 .X.X.X Partie rseau Partie hte

0XXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX

classe B : 128 191 .X.X.X Partie rseau

Partie hte

XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX classe C : 192 223 .X.X.X ( les adresses > 223 sont rserves d'autres usages) Partie rseau Partie hte

XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX Le nombre de machines dans le rseau dpend donc de la classe du rseau. Chaque octet du champ machine peut prendre des valeurs entre 1 et 254. Les valeurs 0 (tous les bits 0) et 255 (tous les bits 1) sont rserves : - Un champ machine tout 0 sert dsigner le numro de rseau (notamment pour le routage) - Un champ tout 1 indique un message de broadcast adress toutes les machines IP du rseau.

Les rseaux locaux (LAN)

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

3.3. Des adresses rserves!


0.0.0.0 est rserve pour la route par dfaut. L'adresse dsigne tous les rseaux. Tous les paquets destins un rseau inconnu, seront dirigs vers cette route. 127.0.0.0 est rserve au trafic IP de la machine locale. Une interface locale porte en gnrale l'adresse 127.0.0.1 appele adresse de "loopback" ou boucle locale. Trois plages d'adresses peuvent tre librement utilises pour monter un rseau priv. Voici ces adresses : Classe A 10.x.x.x, Classe B 172.16.x.x 172.31.x.x, Classe C 192.168.x.x.

Note : aucun paquet provenant d'un rseau priv ou destination d'un rseau priv, ne peut (ou ne doit...) tre rout sur l'internet.

3.4. Les domaines et les noms de machine


Il est peu commode de dsigner une machine par son adresse IP. L'utilisateur humain utilise un nom qui se prsente sous la forme : nom_machine.sous_domaine.domaine (ex : www.google.fr). Malgr tout, c'est l'adresse IP chiffre qui est utilise en interne dans les paquets au cours des changes. Il faut donc un mcanisme qui permette de traduire le nom_machine en adresse IP. Des ordinateurs appels Serveurs de noms ou DNS se chargent de cette traduction

3.5. La fonction de routage


Les rseaux IP sont interconnects par des routeurs IP (parfois appels passerelles ). Chaque station IP doit connatre le routeur par lequel il faut sortir pour pouvoir atteindre un rseau extrieur. Un routeur dispose de plusieurs interfaces rseau et contient une table qui lui indique sur quelle interface tel ou tel rseau est reli. Il oriente donc physiquement la trame sur la bonne route! Exemple :

Rseau 1 --> Interface Ethernet 1 Rseau 2 --> Interface Ethernet 2 Autres rseau --> Interface Modem

Les tables de routage peuvent tre statiques dans le cas de rseaux simples, ou dynamiques dans le cas de rseaux maills. Le protocole d'change dynamique des tables IP sur un rseau local est RIP ( Routing Information Protocol) ou le protocole OSPF.

Les rseaux locaux (LAN)

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

3.6. Les masques de (sous-)rseau


Les masques de rseau Pour que le rseau Internet puisse router (acheminer) les paquets de donnes, il faut quil connaisse ladresse IP du rseau local de destination. Pour la calculer partir de ladresse IP de destination, on utilise le masque de sous rseau. A chaque classe dadresses est associ un masque de rseau, ou netmask, qui est constitu de 32 bits. Le tableau suivant fournit les diffrents masques pour les trois classes traditionnelles. Classe A B C Masque 255. 0. 0. 0 255. 255. 0. 0 255. 255. 255. 0

Un ET logique appliqu entre le masque de rseau et ladresse IP permet dobtenir ladresse dun rseau correspondant. Calcul de ladresse rseau en dcimal @ IP Masque Rseau @ Rseau Calcul de ladresse rseau en binaire @ IP 1100 0001 Masque Rseau 1111 1111 @ Rseau 1100 0001 193 255 193 1111 1100 1111 1111 1111 1100 252 255 252 19 255 19 3 0 0 0000 0011 0000 0000 0000 0000

0001 0011 1111 1111 0001 0011

Ainsi, laide du masque de rseau, on peut dfinir, pour toute adresse IP : Ladresse rseau associe, la partie hte associe, ladresse de diffusion associe qui dsigne tous les htes de ce rseau. Le tableau suivant fournit ces informations pour trois adresses IP prises parmi les trois classes fondamentales. Adresse IP Classe Masque de rseau Adresse de rseau Adresse de diffusion Complment 1 du masque Partie hte de ladresse 10. 25. 2. 5 A 255. 0. 0. 0 10. 0. 0. 0 10. 255. 255. 255 0.255.255.255 0.25.2.5 172. 17. 5. 8 B 255. 255. 0. 0 172. 17. 0. 0 172. 17. 255. 255 0.0.255.255 0.0.5.8 192. 168. 53. 24 C 255. 255. 255. 0 192. 168. 53. 0 192. 168. 53. 255 0.0.0.255 0.0.0.24

Les rseaux locaux (LAN)

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

Les masques de sous - rseaux Parfois, on est amen rpartir les adresses IP dun mme rseau de classe A, B ou C sur plusieurs supports physiques. Par exemple , si on dispose dune cinquantaine de machines, rpartir sur trois rseaux Ethernet par exemple, il serait inutilement couteux d'acheter trois rseaux de classe C : une seule classe C peut dj accueillir 254 machines.

Pour rsoudre ce problme, il faut introduire un nouveau type de masque : le masque de sous - rseaux.

Le principe est simple : le rseau est dcoup en sous - rseaux de mme taille. Pour cela, la partie hte des adresses est elle-mme dcoupe en deux plages de bits : la plage des bit de poids forts correspond aux bits identifiant les sous rseaux lautre plage dsigne le numro de machine dans le sous rseau.

Les rseaux locaux (LAN)

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

3.7 Description du datagramme IP :


La structure gnrale d'un datagramme IP est reprsente sur la figure suivante :
4
Version Long. Entte Identification Dure de Vie Protocole Adresse IP Source Adresse IP destination Options Options Donnes Bourrage

8
Type de Service

16
Flag

19

24
Longueur Totale du datagramme Fragment Checksum

32
1 2 3 4 5

Version (Vers) Sur ces 4 bits est cod le numro de version du protocole IP utilis. Actuellement, il s'agit pratiquement toujours de la version 4 (0100). Le numro 5 sert des applications exprimentales et la version 6 est en cours de mise en service (celle-ci utilise une autre structure de datagramme). Longueur d'entte (I.H.L.) Comme la longueur d'une entte de datagramme IP est variable, elle est code sur 4 bits, sous forme de mots de 32 bits (4 octets). (Par exemple, 5 reprsente 5 fois 32 bits, soit 20 octets). Type de service (Type of Service ToS) Ce champ de 8 bits possde la structure suivante : (Pour linstant une seule option peut tre slectionne) Priorit 0

Type de Service
-dlai +dbit +fiable -cot

0 7

3 bits indiquant la priorit. - 000 (Par dfaut - priorit la moins leve) - 111 (supervision rseau- priorit la plus leve). Cette partie est utilise par certaines passerelles. 4 bits indiquant le type de service souhait (en fonctionnement normal, ils sont tous zro) : - Le premier bit demande au routeur de choisir un chemin ayant un dlai de transmission le plus court possible (par exemple choisir de passer par un cble sous marin plutt que par une liaison satellite) - Le deuxime bit demande au routeur un dbit lev. - Le troisime bit demande au routeur de diriger les paquets vers des liaisons fiables - Le quatrime bit demande au routeur de choisir un chemin ayant un cot minimum. 1 bit rserv pour le futur, devant actuellement rester zro sauf pour certains cas exprimentaux.

Longueur du datagramme (Long. Totale) Longueur totale du datagramme (entte + donnes), en octets. Comme ce champ est cod sur 16 bits, la longueur maximale d'un datagramme IP est de 65535 octets. Attention : si un datagramme est fragment, ce champ fait rfrence la longueur du fragment courant et non la longueur du datagramme initial.

Les rseaux locaux (LAN)

10

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

Fragmentation Si le routeur reoit un datagramme trop grand pour le support sur lequel il doit lenvoyer, il est obliger de fragmenter ce datagramme. Il est donc ncessaire de reprer ces fragments et de faire en sorte que le rcepteur des fragments dun datagramme puisse recoller les morceaux dans le bon ordre pour reconstituer le datagramme. 3 champs permettent de rsoudre ce problme. Identification (ID) Ce champ sur 16 bits sert identifier un datagramme ou les fragments d'un datagramme fragment. En effet, ce champ a la mme valeur pour tous les fragments provenant d'un mme datagramme. Drapeau (Flg) Ces 3 bits donnent des informations concernant la fragmentation : 0 DF MF

Le premier n'est pas utilis et doit rester zro. Le deuxime sert interdire la fragmentation du datagramme (0 - Autoris, 1 - Interdit) (appel bit de nonfragmentation ou Dont Fragment DF). Le troisime est zro s'il s'agit du dernier fragment du datagramme et un si d'autres fragments doivent encore arriver (appel bit fragments suivre ou More Fragment MF).

Place du fragment (Fragment) Ce nombre cod sur 13 bits indique la position qua le 1er octet de donne du fragment dans le datagramme (non fragment). Ce nombre est un multiple de 8 octets. Ainsi, une valeur de 10 signifierait que le 1er octet de donne de ce fragment est en fait loctet 80 du datagramme non fragment. S'il s'agit du premier fragment, ou si le datagramme n'est pas fragment, tous les bits sont zro. Dure de vie (Time to Live TTL) Thoriquement, ce champ doit indiquer sur 8 bits le nombre de secondes pendant lequel le datagramme est autoris voyager. A chaque passage d'une passerelle, on retire le temps qu'a pris la traverse de la passerelle. En pratique, comme ce temps est souvent infrieur une seconde, on retire 1, ce qui fait que ce champ indique plus souvent le nombre de passerelles par lesquelles le datagramme peut passer qu'une dure proprement dite. Quand le champ dure de vie atteint zro, le datagramme est dtruit et un message d'erreur est envoy l'metteur. Cette mthode permet d'viter qu'un datagramme ne circule indfiniment en boucle. Numro de protocole (Protocole) Ce champ de 8 bits indique quel protocole de niveau plus lev est destin le datagramme (SAP). La valeur zro est rserve. Quelques exemples de valeurs : (La liste complte se trouve dans la RFC 790) 1 : ICMP (Internet Control Message Protocol) 6 : TCP (Transmission Control Protocol) 17 : UDP (User Datagram Protocol) Adresse IP source Adresse IP de l'metteur du datagramme. Adresse IP destination Adresse IP du destinataire du datagramme. Donnes Ce sont les donnes du datagramme proprement dites. Rsum : Le protocole Internet est responsable de ladressage et du routage entre machines, du cheminement des paquets de donnes dans le rseau, de la constitution et du rassemblage des paquets. Les fonctionnalits assures par IP peuvent se dduire de lexamen de len-tte du paquet. Il identifie entre autres la source et la destination du paquet et comporte des identificateurs de fragmentation.

Les rseaux locaux (LAN)

11

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

4.Analyse des protocoles TCP et UDP (Transfert Control Protocol)


Nous avons jusqu' prsent surtout parl de la partie IP ; nous allons maintenant tudier la partie TCP de TCP/IP. Extrait de la RFC793 : TCP fournit un moyen d'tablir une communication fiable entre deux tches excutes sur deux ordinateurs autonomes raccords un rseau de donnes.

4.1. Fonctionnalits
Le protocole TCP est le protocole majeur de toute larchitecture INTERNET. Cest un protocole qui fonctionne en mode connect. Il dispose dun ensemble de fonctionnalits. En voici quelques unes : - Identification prcise de lmetteur et du destinataire - Gestion des accuss de rception - Dlivrance de donnes fiable, squentielle et sans duplication - Mcanisme de contrle de flux - Connexions passives et actives - Multiplexage (plusieurs connexions simultanes sur un mme support).

Les rseaux locaux (LAN)

12

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

4.2. Description du segment


0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Port source | Port destinataire | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Numro de squence | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Accus de rception | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Data | |U|A|P|R|S|F| | | Offset| Rserv |R|C|S|S|Y|I| Fentre | | | |G|K|H|T|N|N| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Checksum | Pointeur de donnes urgentes | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | donnes | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Port source: 16 bits Le numro de port de la source. Port Destinataire: 16 bits Le numro de port du destinataire. Numro de squence: 32 bits Le numro du premier octet de donnes par rapport au dbut de la transmission (sauf si SYN est marqu). Si SYN est marqu, le numro de squence est le numro de squence initial (ISN) et le premier octet pour numro ISN+1. Accus de rception: 32 bits

Si ACK est marqu ce champ contient le numro de squence du prochain octet que le rcepteur s'attend recevoir. Une fois la connexion tablie, ce champ est toujours renseign. Data Offset: 4 bits La taille de l'en-tte TCP en nombre de mots de 32 bits. Il indique l ou commence les donnes. L'en-tte TCP, dans tous les cas une taille correspondant un nombre entier de mots de 32 bits.

Rserv: 6 bits Rservs pour usage futur. Doivent ncessairement tre 0. Bits de contrle: 6 bits (de gauche droite):

Communique la position d'une donne urgente en donnant son dcalage par rapport au numro de squence. Le pointeur doit pointer sur l'octet suivant la donne urgente. Ce champs n'est interprt que lorsque URG est marqu. Options: variable Les champs d'option peuvent occuper un espace de taille variable la fin de l'en-tte TCP. Ils formeront toujours un multiple de 8 bits. Un paramtre d'option commence toujours sur un nouvel octet. Bourrage (padding): variable Les octets de bourrage terminent l'en-tte TCP:

URG: Pointeur de donnes urgentes significatif ACK: Accus de rception significatif PSH: Fonction Push RST: Rinitialisation de la connexion SYN: Synchronisation des numros de squence FIN: Fin de transmission

Fentre: 16 bits Le nombre d'octets partir de la position marque dans l'accus de rception que le rcepteur est capable de recevoir. Checksum: 16 bits La somme de contrle Pointeur de donnes urgentes: 16 bits

de sorte que le nombre d'octet de celle-ci soit toujours multiple de 4 (32 bits) de sorte que l'offset de donnes marqu dans l'en-tte corresponde bien au dbut des donnes applicatives.

Les rseaux locaux (LAN)

13

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

4.3. Etablissement d'une connection TCP


Considrons la capture de trame effectue avec Ethereal :
No. Time 10 10.181832 11 10.204707 12 10.204848 13 10.205333 Source 192.168.0.10 212.27.35.1 192.168.0.10 192.168.0.10 Destination 212.27.35.1 192.168.0.10 212.27.35.1 212.27.35.1 Protocol TCP TCP TCP HTTP Info 4252 > http [SYN] http > 4252 [SYN, ACK] 4252 > http [ACK] GET / HTTP/1.1

L'tablissement d'une connexion TCP suit un protocole strict :


Une requte de synchronisation [SYN] de la part de l'initiateur du dialogue (le client), une rponse d'accus rception de la synchronisation [SYN,ACK] de la part du serveur, un accus rception du client [ACK]

4.4. Diffrences entre TCP et UDP


TCP est un protocole beaucoup plus complexe quUDP, il se charge, entre autres, de remettre en ordre, avant leur dlivrance, les paquets qui lui parviennent. Le protocole UDP (User Datagram Protocol) est un protocole de transmission de datagrammes sur le rseau qui fournit de manire optionnelle un certain nombre de contrles. Un datagramme est un paquet de donnes considr comme une entit isole et indpendante, cest--dire quil comporte dans son entte toutes les informations ncessaires son acheminement travers le rseau jusqu son destinataire. La transmission de paquets composant le message est donc assure de manire totalement indpendante pour chaque paquet. On pourrait, dans une certaine mesure, comparer ce type de service au service postal qui prend en charge les messages et assure leur transport destination mais sans garantir le chemin parcouru par chaque message, ni le temps mis pour le parcourir, ni fortiori le respect dune squentialit dans la dlivrance des messages.

Les rseaux locaux (LAN)

14

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

4.5. Etude de cas des services WINDOWS XP Pro et 2000 Advanced Server
On utilise un outil de hacker pour lister les ports ouverts sur une machine Windows : cela nous permet de dterminer les services qui tournent ; L'outil Nmap donne les rsultant suivants sur un Windows 2000 Advanced Server :
Starting nmap V. 2.54BETA25 ( www.insecure.org/nmap/ ) Interesting ports on fenetre-w2k.hsc.fr (192.70.106.143): (The 65524 ports scanned but not shown below are in state: closed) Port State Service 25/tcp open smtp 80/tcp open http 135/tcp open loc-srv 139/tcp open netbios-ssn 443/tcp open https 445/tcp open microsoft-ds 1025/tcp open listen 1026/tcp open nterm 1027/tcp open unknown 3372/tcp open unknown 4983/tcp open unknown Nmap run completed -- 1 IP address (1 host up) scanned in 115 seconds nmap -sU 192.70.106.143 -p 1-65535 Starting nmap V. 2.54BETA25 ( www.insecure.org/nmap/ ) Interesting ports on fenetre-w2k.hsc.fr (192.70.106.143): (The 65527 ports scanned but not shown below are in state: closed) Port State Service 135/udp open loc-srv 137/udp open netbios-ns 138/udp open netbios-dgm 445/udp open microsoft-ds 500/udp open isakmp 1028/udp open unknown

On fait de mme avec une machine XP Pro; Finalement aprs avoir vrifi les applications correspondant ces ports, voici les services ouverts en standard sous 2000 et XP :
Service Serveur IIS Port (s) 25/tcp 80, 443/tcp 3456/udp >1024/tcp, >1024/udp <4000-5000>/tcp 500/udp 137/udp, 138/udp, 139/tcp 139/tcp, 445/tcp 135/tcp, 135/udp 3372/tcp, >1024/tcp >1024/tcp >1024/udp Service(s) Windows SMTP (Simple Mail Transfert Protocol) Worid Wide Web Publishing Service IIS Admin Service ? 2 ports dynamiques (RPC) 1 port (site d'administration) IPSEC Policy Agent TCP/IP NetBIOS Helper Service Server, Workstation Remote Procdure Call (RPC) Distributed Transaction Coordinator Task Scheduler Messenger

Protocole IKE NetBIOS sur TCP CIFS/SMB Portrnapper RPC MSDTC Tches programmes Messenger

FIG.

1 - Services rseaux sur un systme Windows 2000 serveur

Service Protocole IKE Protocole NTP UPnP Cache DNS NetBIOS sur TCP CIFS/SMB Portmapper RPC Tches programmes Messenger
FIG.

Port(s) 500/udp 123/udp 5000/tcp, 1900/udp >1024/udp 137/udp, 138/udp, 139/tcp 139/tcp, 445/tcp 135/tcp, 135/udp >1024/tcp >1024/udp

Service(s) Windows IPSEC Policy Agent Windows Time SSDP Discover-y Service DNS Client TCP/IP NetBIOS Helper Service Server, Workstation Remote Procdure Call (RPC) Task Scheduler Messenger

2 - Services rseaux sur un systme Windows XP professionnel

Les rseaux locaux (LAN)

15

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

5. Analyse du protocole ARP (Address Resolution Protocol)


C'est un protocole de rsolution (~traduction) d' adresse l'intrieur du rseau local (LAN)
Ladressage lintrieur dun rseau local (~Ethernet!) se fait grce ladresse MAC > Ethernet ne connait pas les adresses IP! ae ! > Il est ncessaire dtablir un lien entre ladresse IP dune station et son adresse MAC pour quun paquet IP arrivant dans un rseau local puisse tre achemin vers la bonne station. Cest le protocole ARP qui va permettre dtablir ce lien.

ARP traduit des adresses de type INTERNET sur 32 bits en adresses ETHERNET sur 48 bits. ARP se prsente comme un service qui gre des tables de correspondance dadresses et rpond des requtes didentification. Lorsquil reoit une requte, il cre un message de demande ARP : qui possde l'adresse IP x.x.x.x ? ; qui est diffus (broadcast) tout le rseau en attente dune rponse positive de la part dune des machines connectes. Une rponse positive provoque une mise jour par ARP de ses tables de traduction dadresses. Par exemple : un quipement A veut envoyer un datagramme IP un quipement B qui est connect sur le mme LAN; Fatalement , il doit lencapsuler dans une trame de la couche MAC (en gnral Ethernet-802.3). Le problme est que A ne connat priori que ladresse IP de B et pas son adresse MAC. Il faut donc un protocole qui permette de dcouvrir ladresse MAC de B partir de son adresse IP. Cest le rle du protocole ARP. Voici quelques trames captures avec Ethereal :
No. Time 1 0.000000 2 121353 46 20.961 Source 00:50:ba:eb:32:10 00:40:f4:1c:d8:e4 Micrsoft_54:00:00 Destination ff:ff:ff:ff:ff:ff 00:50:ba:eb:32:10 Broadcast Protocol ARP ARP ARP Info Who has 192.168.2.2? Tell 192.168.2.1 192.168.2.2 is at 00:40:f4:1c:d8:e4 Who has 213.36.80.1? Tell 213.36.24.90

Commentez cette trames

Capturez une demande et une rponse ARP avec Ethereal puis imprimez le dtail de celle-ci. Commentez chaque ligne.

Les rseaux locaux (LAN)

16

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

6. Analyse du protocole ICMP


Le protocole ICMP (Internet Control Message Protocol) constitue le protocole des messages derreur. Les messages ICMP sont classs en plusieurs catgories : La premire est constitue de tous les messages rsultant dun incident rseau, o quil se soit produit, et qui peuvent tre transmis lmetteur du paquet ayant subi lincident. On peut classer dans cette catgorie les erreurs de routage ou celles qui rsultent dune indisponibilit du destinataire. La seconde classe est constitue de tous les messages derreur induits par des incidents entre une machine hte et la porte (gateway) par laquelle passent les paquets, par exemple, il peut sagir dune procdure de routage qui informe lhte dun meilleur chemin que celui qui a t choisi lorigine. La dernire catgorie concerne tout ce qui est gestion de rseau, les tests de connexion, les mesures de performances et de trafic (ping). Toutes les actions, transmissions ou redirections induites par un message ICMP sont prises en charge par la couche ICMP de IP. Voici quelques trames captures avec Ethereal lors d'une commande ping 192.168.2.2 :
No. Time

5 0.233602 6 121353.49

192.168.2.1 192.168.2.2

Source

Destination

192.168.2.2 192.168.2.1

Protocol

ICMP ICMP

Info

Echo (ping) request Echo (ping) reply

Commentez cette trames

Capturez une demande et une rponse ARP avec Ethereal puis imprimez le dtail de celle-ci. Commentez chaque ligne.

Les rseaux locaux (LAN)

17

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

7. La multidiffusion : le protocole IGMP


anglais multicast Modle OSI Niveau 3

Le protocole IGMP (Internet Group Management Protocol) est un protocole utilis pour accder un groupe de multidiffusion IP. La multidiffusion est une technique intgre au protocole IP (multicast) qui permet plusieurs machines destinataires de recevoir une mme trame. Par rapport du broadcast, qui s'adresse toutes les machines du rseau, le muticast ne s'adresse qu' un groupe de machines cibles au sein du rseau.

Le groupe d'ordinateur multicast est identifi par une adresse IP de groupe multicast de classe D. Le protocole IGMP permet un PC de s'enregistrer dans ce groupe. Rappel : la plage d'adresses de classe D va de 224.0.0.1 239.255.255.254. Les adresses 224.0.0.1 224.0.0.255 sont rservs des fonctions spcifiques au rseau local (LAN). Les adresses 239.0.0.0 239.255.255.255 sont rserves pour des usages privs.

7.2 Routage/commutation multicast


Pour que le mcanisme fonctionne, il faut qu'il existe dans le rseau un routeur qui gre le multicast et qui puisse se joindre au groupe multicast. Les switches qui grent le protocole IGMP peuvent remplir ce rle. Par contre la plupart des routeurs internet ne le grent pas, ce qui explique qu'il est difficile d'utiliser cette technique sur internet.
Trafic gnr : 1. 2. 3. le serveur envoie une seule trame au routeur multicast. Le routeur envoie une trame vers chacun des 2 switches. Chaque switch envoie une trame vers chacun des client qui font partie du groupe multicast.

Les rseaux locaux (LAN)

18

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

7.3 IGMP Snooping


l' IGMP Snooping est la fonction intgre dans certains commutateur, qui consistent couter et grer le trafic IGMP venant des clients et du serveurs. Les commutateurs qui ne possdent pas cette fonction transmettent les trames multicast sur tous leurs ports (e.g. en broadcast), ce qui gnre un gros trafic inutile. Dans le cas de l'IGMP snooping, le commutateur travaille au niveau 3 du modle OSI; il doit conserver dans sa mmoire une table pour chaque groupe multicast; cette table contient les n de port correspondants aux machines qui appartiennent au groupe. Quand il reoit la trame multicast, il la retransmet sur tous ces ports. Exemple : La mise en fonction de l'IGMP snooping sur le Netgear FS726T est trs simple. Exemple 2 : La mise en fonction de l'IGMP snooping sur le DLINK 1228 permet un rglage fin de nombreux paramtres.

Remarque : dans le cas de l'utilisation d'un concentrateur (HUB), il n'y a pas problme particulier puisque toutes les machines reoivent toutes les trames : ce sont les cartes rseaux et le systme d'exploitation du client qui grent l'IGMP.

Les rseaux locaux (LAN)

19

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

7.4 Analyse d'un dialogue de multidiffusion impliquant IGMP


(source : http://www.reseaucerta.org)

Analyse et interprtation de la capture de trame lors d'une multidiffusion Ghost :


N 1 2 3 4 5 6 Adresse Source Serveur Client Serveur Client Serveur Client Adresse Destinataire 224.77.0.0 224.77.0.0 Client Serveur Client Serveur Protocole IGMP: Type 6, Ver2 Membership UDP: D=6666 S=1025 LEN=268 UDP: D=1025 S=6666 LEN=268 TCP: D=1063 S=1025 - SYN TCP: D=1025 S=1063 - SYN - ACK TCP: D=1063 S=1025 - ACK Commentaire Le serveur cre le groupe 224.77.0.0 Le client 'vrifie' l'existence du groupe 224.77.0.0 Confirmation du serveur Connexion TCP en trois phases - Phase 1 - SYN Connexion TCP en trois phases - Phase 2 - SYN - ACK Connexion TCP en trois phases - Phase 3 - ACK La connexion tant tablie, le client et le serveur s'changent divers paramtres ...comme TCP 7 58 Client <--> Serveur protocole propritaire Ghost le type de ghost (trame 10) "clone,mode=pload,src=@mcdf" le secteur de boot de la partition (trame 35) 59 61 63 64 65 66 67 68 - 70 71 72 73 74 - 75 76 - 81 82 - 87 88 - 91 92 7921 7922 Client Serveur Client Client Serveur Client Client Client Serveur Serveur Serveur Client Serveur Client Serveur Serveur Client 224.77.1.0 Serveur 224.77.1.0 224.0.0.2 224.77.3.44 Serveur 224.77.3.44 224.0.0.2 224.77.3.44 Serveur 224.77.3.44 Serveur 224.77.3.44 TCP: D=1063 S=1025 - FIN TCP: D=1025 S=1063 - FIN IGMP: Type 6, Ver2 Membership report UDP: D=1061 S=7777 UDP: D=7777 S=1062 IGMP: Type 7, Leave Group IGMP: Type 6, Ver2 Membership UDP: D=1061 S=7777 UDP: D=7777 S=1062 IGMP: Type7, Leave Group UDP: D=7777 S=1062 UDP: D=1061 S=7777 UDP: D=7777 S=1062 UDP: D=1061 S=7777 UDP: D=7777 S=1062 Succession de trames UDP Serveur --> 224.77.3.44 Client 224.0.0.2 IGMP: Type7, Leave Group Le Client annonce au routeur qu'il quitte le groupe 224.7.33.44 Le Serveur diffuse l'image. Le Client envoie des informations Le Serveur annonce au routeur qu'il quitte le groupe 224.77.0.0 Le Client annonce au routeur qu'il quitte le groupe 224.77.1.0 Le Client devient membre du groupe 224.77.3.44 change d'informations dont le nom de la session : @MCdf Le Client annonce la fin de la connexion Le Serveur annonce la fin de la connexion Le Client devient membre du groupe 224.77.1.0

Client --> Serveur

Les rseaux locaux (LAN)

20

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

7.5 Le mappage des adresses IP multicast et MAC


Nous savons que l'adresse MAC correspondant une adresse IP de Broadcast est FF:FF:FF:FF:FF:FF Mais qu'en est-il quand nous sommes en prsence d'adresses IP Multicast ? L'adresse IP (224.77.3.44) dsigne un groupe destinataire, il faut donc que l'adresse MAC associe dsigne un groupe. Prenons la structure d'une adresse MAC classique :

00 - A0 - CC - E0 - CF - D1
Zone OUI Zone Vendeur La Zone OUI (Organizationally Unique Identifier) est un identifiant sur 3 octets attribu par IEEE. L'octet de poids fort de la zone OUI possde une structure particulire. N du bit signification 7 6 5 4 3 2 1 0

U/L I/G

Si I/G = 0, il s'agit d'une adresse individuelle, si I/G = 1, il s'agit d'une adresse de groupe, Si U/L = 0, il s'agit d'une attribution universelle, si U/L = 1, il s'agit d'une attribution locale. Donc cela veut dire que pour une adresse MAC Multicast, le bit de poids faible de l'octet de poids fort sera gal 1. En ralit, une adresse MAC Multicast commence toujours par 01-00-5E-XX-XX-XX. Pour la partie Zone Vendeur, l'adresse Multicast est construite partir de l'adresse IP. Les 23 bits de poids faible de l'adresse IP Multicast sont transfrs dans les 23 bits de poids faible de l'adresse MAC. Ainsi, pour l'adresse IP multicast 224.77.3.44, nous dterminons l'adresse MAC suivante : Adresse IP sur 32 bits ==> 224 77 3 44

1 1 1 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0

0 0

1 1

0 0

0 0

5 5

E E

0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0

Dans notre cas, voici le mappage IP-MAC pour chaque adresse multicast utilise : IP 224.0.0.2 224.77.0.0 224.77.1.0 224.77.3.44 MAC 01:00:5E:00:00:02 01:00:5E:4D:00:00 01:00:5E:4D:01:00 01:00:5E:4D:03:2C

Les rseaux locaux (LAN)

21

Les protocoles TCP/IP

LP Chteau-Blanc

Section Bac Pro MRIM

7.6 Structure d'une trame IGMP


IGMP est un protocole de niveau 3 (couche Rseau - OSI) qui fait partie intgrante de IP. Donc, la trame IGMP est encapsule dans une trame IP comme les trames ICMP. IGMP est identifi au niveau IP par la valeur 2 dans la zone Protocol. Une trame IGMP est relativement simple :

Structure de l'entte IGMP Le champ Type :


Elle dtermine la nature du message IGMP. Il y a 3 types de messages.

0x11 : Requte pour identifier les groupes ayant des membres actifs. 0x12 : Rapport d'appartenance au groupe mis par un membre actif du groupe (IGMP version 1) 0x16 : Rapport d'appartenance au groupe mis par un membre actif du groupe (IGMP version 2) 0x17 : Un membre annonce son dpart du groupe

Le champ Max Response Time :


Cette zone n'est utile que pour les messages de type 0x11. Elle indique le temps d'attente maximum pour un client avant l'mission du rapport d'appartenance. L'unit utilise est le 1/10 de seconde. Pour les autres types de messages (0x11, 0x17) cette zone est initialise 0.

Le champ Checksum :
Somme de contrle

Le champ Group Address :


Dans les messages de type 0x11, cette zone est zro quand le message IGMP ne concerne pas un groupe dtermin. Quand le message concerne un groupe identifi, cette zone contient l'adresse du groupe pour lequel on veut connatre l'existence de membres actifs. Dans les messages de type 0x12, 0x16 ou 0x17, cette zone contient l'adresse IP du groupe concern.

Les rseaux locaux (LAN)

22

Les protocoles TCP/IP