Vous êtes sur la page 1sur 35

ISERT

RESEAUX & SYSTEMES

Architecture TCP/IP
(Transmission Control Protocol/Internet Protocol)

Master Offshoring 2008 : Systme et Rseaux

2008-2009 / Mr BAIDI

Larchitecture TCP/IP


: Plan

Introduction TCP/IP
HISTORIQUE & CONCEPTS LES COUCHES DU MODELE TCP/IP LE PROTOCOLE DE TRANSPORT FIABLE TCP LE PROTOCOLE TRANSPORT DATAGRAM UDP CONCEPTS DE L'INTERCONNEXION L'ADRESSAGE INTERNET ARP : PROTOCOLE DE RESOLUTION D'ADRESSE RARP : PROTOCOLE DE RESOLUTION D'ADRESSE INVERSE LE PROTOCOLE INTERNET IP ROUTAGE DES DATAGRAMMES LE PROTOCOLE ICMP LE SOUS-ADRESSAGE

Qu'est-ce que TCP/IP ? Larchitecture TCP/IP

ARPANET mis en service par le dpartement de la dfense amricain (DOD) 1969

FTP 1973 Telnet 1972 TCP 1974

Suite de protocoles TCP/IP 1982 IP 1981 DNS 1984

1965

1970

1975

1980

1985

      

En 1970, En 1972, En 1973, En 1974, En 1981, En 1983, En 1984,

ARPANET utilise NCP (Network Control Protocol). 1re spcification Telnet, Protocol soumis dans la RFC 318. la RFC 454, intitule File Transfer Protocol est publie. le protocole NCP est spcifi en dtails. le standard IP est publi dans la RFC 791. ARPANET passe de NCP TCP/IP. DNS (Domain Name System) est prsent.

Larchitecture TCP/IP
Les organismes responsables :


L'Internet Society (ISOC) a t cre en 1992, charg : Des technologies et des applications d'inter-connexion de rseaux Internet. du dveloppement des standards et des protocoles assurant le fonctionnement d'Internet. L'Internet Architecture Board (IAB) est le comit consultatif technique de l'ISOC charg de la dfinition des standards Internet, de la publication des RFCs. L'IAB publie une note trimestrielle, l'IAB Official Protocol Standard, qui permet de dterminer la RFC en cours pour chaque protocole.

Larchitecture TCP/IP


L'IAB rgit : l'Internet Engineering Task Force (IETF), l'Internet Assigned Number Authority (IANA) et l'Internet Research Task Force (IRTF). IETF est charge du dveloppement de solutions aux besoins techniques inhrents Internet ainsi que du dveloppement de protocoles Internet. 8 Groupes de travail ( Scurit, Routage, Administration ) IANA supervise et coordonne l'affectation des identificateurs uniques de protocole sur Internet. IRTF est charge de la coordination de tous les projets de recherche lis TCP/IP.

Larchitecture TCP/IP


Les RFC Les standards TCP/IP sont publis dans une srie de documents appels RFC (Request For Comments). Il existe cinq classifications de RFC : Required, Recommended, Elective (Facultatif), Limited Use, Not Recommended
Spcification Protocole UDP Protocole IP Protocole ICMP Protocole TCP Protocole FTP TCP/IP RFC RFC768 RFC791 RFC792 RFC793 RFC959 RFC1180

Larchitecture TCP/IP
TCP/IP est un modle en couches


Afin de pouvoir appliquer le modle TCP/IP n'importe quelle machine, indpendamment de lOS, TCP/IP a t dcompos en modules. Les donnes (paquets) qui circulent sur le rseau sont traites successivement par chaque couche, qui vient rajouter un lment d'information (en-tte) puis sont transmises la couche suivante. Le modle TCP/IP est trs proche du modle OSI qui a t mis au point par l'organisation internationale des standards ISO .

Larchitecture TCP/IP
Contrairement au modle OSI Le modle TCP/IP 4 couches : la couche application, la couche transport, la couche inter-rseaux et la couche d'accs au rseau.

Larchitecture TCP/IP

Larchitecture TCP/IP
- La couche Application : elle prend en charge les protocoles daccs et l'administration rseau assurant :
- le transfert de fichiers, - le courrier lectronique - la connexion distance ...

Les principaux protocoles et applications de cette couche sont :


DNS, SNMP, FTP & TFTP, NFS, HTTP, Telnet, ping, etc ...

larchitecture TCP/IP
La couche transport : permet de segmenter (ou rassembler) plusieurs applications de couche suprieure pour les placer dans le mme flux de donnes, qui est une connexion logique entre des htes. Elle assure donc le service de transport. Son rle est didentifier les applications communicantes suivant la machine et son OS,
UDP
 

TCP
 Connect  Messages

remis dans le bon ordre   Aucun message perdu  La fiabilit de la remise est  Aucun message abm gre par l'application  transfrent de grands volumes de donnes

Non connect Rapide Aucune garantie

Larchitecture TCP/IP
Les protocoles orients connexion: la machine rceptrice envoie des accuss de rception lors de la communication, la machine mettrice est garante de la validit des donnes qu'elle envoie. Les protocoles non orients connexion: la machine mettrice envoie des donnes sans prvenir la machine rceptrice, la machine rceptrice reoit les donnes sans envoyer d'avis de rception la premire.

larchitecture TCP/IP
- La couche Inter-Rseaux ( La couche Internet ) : dfinit les datagrammes, gre les notions d'adressage IP permet l'acheminement des datagrammes vers des machines distantes ainsi que de la gestion de leur fragmentation et de leur assemblage rception. Il contient notamment IP, ARP, RARP, ICMP.
ARP permet d'obtenir les adresses matrielles d'htes situs sur le mme rseau physique. ICMP envoie des messages et signale des erreurs concernant la remise d'un paquet. IGMP utilis par les htes IP pour signaler les membres de groupe d'htes aux routeurs multicast locaux. IP est principalement charg de l'adressage et du routage des paquets entre les htes et les rseaux.

Larchitecture TCP/IP


La couche d'Accs au rseau : contient la couche liaison et physique du modle OSI. L'implmentation de cette couche est laisse libre. Cette implmentation est lie la technologie utilise sur le rseau local : Ethernet II et 802.3, FDDI ( Fiber Distributed Data Interface ), ATM, etc ...

Larchitecture TCP/IP
Encapsulation des donnes Lors d'une transmission, les donnes traversent chacune des couches : au niveau de la machine mettrice. A chaque couche, une information est ajoute au paquet de donnes, il s'agit d'un en-tte, ensemble d'informations qui garantit la transmission. Au niveau de la machine rceptrice, lors du passage dans chaque couche, l'en-tte est lu, puis supprim. Ainsi, la rception, le message est dans son tat originel...

Larchitecture TCP/IP
A chaque niveau, le paquet de donnes change d'aspect, ainsi les appellations changent suivant les couches :


Le paquet de donnes est appel message au niveau de la couche Application Le message est ensuite encapsul sous forme de segment dans la couche Transport. Le segment une fois encapsul dans la couche Internet prend le nom de datagramme on parle de trame au niveau de la couche Accs rseau.

Larchitecture TCP/IP
Les caractristiques du protocole TCP


TCP permet de formater les donnes en segments de longueur variable afin de les "remettre" au protocole IP. TCP permet de remettre en ordre les datagrammes en provenance du protocole IP. TCP permet de vrifier le flot de donnes afin d'viter une saturation du rseau. TCP permet de multiplexer les donnes, de faire circuler simultanment des informations provenant de sources distinctes sur une mme ligne. TCP permet enfin l'initialisation et la fin d'une communication de manire courtoise.

Larchitecture TCP/IP
TCP est un protocole orient connexion il permet deux machines qui communiquent de contrler l'tat de la transmission.

Larchitecture TCP/IP
Format des messages TCP Segment : unit de transfert du protocole TCP.
0 4 10 16 24 31

Port source

Port destination

Numro de squence Numro dacquittement N * 32bits HLEN rserv Flags Checksum fentre pointeur urgence padding

Options ventuelles Donnes . . .

Larchitecture TCP/IP
Champ Source Port Destination Port Fonction Port TCP de l'hte expditeur. Port TCP de l'hte de destination. Il s'agit d'une extrmit pour les communications. Sequence Number La squence des octets transmis dans un segment. Le numro de squence permet de vrifier que tous les octets ont t reus. Ack Number Le numro de squence de l'octet que l'hte local s'attend recevoir ensuite. Data Length Longueur du segment TCP. Reserved Rserv. Flags Spcifie le contenu des drapeaux. Window Le nombre d'octets que le rcepteur souhaite recevoir sans accus de rception Checksum Vrifie que l'en-tte n'est pas altr. Urgent Pointer Lorsque des donnes urgentes sont transmises (URG 1), ce champ pointe sur la fin des donnes urgentes dans le segment.

Larchitecture TCP/IP


Flags : indique la nature du segment : URG : les donnes sont mises sans dlai, les donnes reues sont remises sans dlai.

SYN : utilis linitialisation de la connexion et pour indiquer o la numrotation squentielle commence. Initial Sequence Number. FIN : utilis lors de la libration de la connexion; PSH : fonction push transmet lapplication rceptrice, les donnes correspondantes sans attendre plus de donnes de lmetteur. RST : utilis par une extrmit pour indiquer lautre extrmit quelle doit rinitialiser la connexion.

Larchitecture TCP/IP
Le champs


Options :

Permet de ngocier la taille maximale des segments changs. Cette option n'est prsente que dans les segments d'initialisation de connexion (SYN 1). TCP calcule une taille maximale de segment de manire ce que le datagramme IP rsultant corresponde au MTU du rseau. La recommandation est de 536 octets. La taille optimale du segment correspond au cas o le datagramme IP nest pas fragment.

Larchitecture TCP/IP
Le mcanisme de connexion entre 2 applications TCP : poigne de main en trois temps :
1.

La machine mettrice (le client) transmet un segment dont le drapeau SYN est 1, avec un numro d'ordre N, que l'on appelle numro d'ordre initial du client La machine rceptrice (le serveur) reoit le segment initial, puis lui envoie un segment accus_ rception dont les drapeaux ACK et SYN sont 1. Le champ accus de rception contient ISN +1. Le client transmet au serveur un accus de rception, un segment dont le drapeau ACK 1, et SYN zro  Son numro d'ordre est incrment  le numrod'accus de rception = ISN(serveur) + 1

2.

3.

Larchitecture TCP/IP
mcanisme TCP three ways handshake

Larchitecture TCP/IP
Transfert de donnes en TCP et contrle de flux :
TCP _SEG_SYN ( SEQ=999) TCP _SEG_SYN_ACK (SEQ=4999, ACK=1000, WINDOW=300) TCP _SEG_ACK (SEQ=1000, ACK=5000, WINDOW=500) TCP _SEG ( SEQ=1000, LG=200) TCP _SEG (SEQ=1200, LG=100) Attente d'acquittement car la limite de fentre est atteinte TCP _SEG_ACK( ACK=1300) TCP _SEG (SEQ=1300, LG=100) TCP _SEG (SEQ=1400, LG=100) TCP _SEG (SEQ=1500, LG=100) Attente nouveau ...

Larchitecture TCP/IP


Une connexion TCP est libre en un processus dit trois temps modifi :
TCP source Fin seq=x ack=x+1 + fin applicatif
Lautre extrmit peut continuer mettre

TCP destination

Applicatif close Fin seq=y ack=x+1 Ack y+1

Larchitecture TCP/IP


RST peut tre utilis lorsque les extrmits sont


dsynchroniss
TCP source

TCP destination Established ?? seq=300 ack=100


abort close

Crash Closed Syn-sent seq=400 CTL=SYN ?? Syn-sent seq=100 CTL=RST

Larchitecture TCP/IP
Segmentation, contrle de flux : Les donnes transmises TCP constituent un flot d'octets de longueur variable. TCP divise ce flot de donnes en segments en utilisant un mcanisme de fentrage. Un segment est mis dans un datagramme IP. La technique du fentrage : La technique acquittement simple pnalise les performances puisqu'il faut attendre un acquittement avant d'mettre un nouveau message. Une fentre de taille T, permet l'mission d'au plus T messages "non acquitts" avant de ne plus pouvoir mettre.

Larchitecture TCP/IP : Fentrage


.
Source Rseau Destination Emission de Mi Emission de Mi+1 Emission de Mi+2 Reception de Ai Rception de Mi Emission de Ai

Fentrage de taille 3

Larchitecture TCP/IP
Le proctocole UDP


Les messages UDP contiennent deux parties : un en-tte UDP 0 les donnes. 16 31
Port UDP source Lgr message UDP Port UDP dest. Checksum UDP

Donnes ...
 

Port source (16 bits) / Port destination (16 bits) Longueur totale (16 bits)
 

Entte : 8 octets Donnes : 0 65527 octets de contrle (16 bits) est optionnel ( 0 si non utilis).

Somme

Larchitecture TCP/IP
Notion de port


1 port 1 point daccs dans 1 machine adresse de service Numro sur 16 bits ( 0 Deux classes de ports 0 1023 : Ports rservs 65535 : Ports libres (ou presque) 65535 )

 

1024
 

Pas dutilisation prcise Souvent allous la demande, par lO.S.

Larchitecture TCP/IP Exemple




Le protocole HTTP Surcouche de UDP (ou de TCP

Requte HTTP : Le Client demande un port UDP  1843 Le Client envoie datagramme  IP client : 1843 IP serveur : 80 Le Serveur envoie une rponse (page Web)  IP serveur : 80 IP Client : 1843  Le port 1843 est rendu la machine Client

Larchitecture TCP/IP : UDP


Acheminement du paquet travers les couches

Larchitecture TCP/IP
.

Extrait des ports TCP rservs


No port
20 21 23 25 37 42 53 79 80 110 111
.

Mot-cl
FTP-DATA FTP TELNET SMTP TIME NAMESERVER DOMAIN FINGER HTTP POP3 SUNRPC

Description
File Transfer [Default Data] File Transfer [Control] Telnet Simple Mail Transfer Time Host Name Server Domain Name Server Finger WWW Post Office Protocol -V3 SUN Remote Procedure Call

Larchitecture TCP/IP
Extrait des ports UDP rservs
No port 7 13 37 42 53 67 68 69 123 161 Mot-cl Description

ECHO Echo DAYTIME Daytime TIME Time NAMESERVER Host Name Server DOMAIN Domain Name Server BOOTPS Boot protocol server BOOTPC Boot protocol client TFTP Trivial File transfert protocol NTP Network Time Protocol SNMP Simple Network Management Protocol.