Beruflich Dokumente
Kultur Dokumente
Les Rseaux
Version 3 Auteur : Christophe VARDON professeur STI Bac Pro MRIM formateur TICE iufm
LP Chteau-Blanc
LP Chteau-Blanc
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.
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.
LP Chteau-Blanc
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 .
,*
LP Chteau-Blanc
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
LP Chteau-Blanc
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.
LP Chteau-Blanc
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.
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
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.
LP Chteau-Blanc
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
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
LP Chteau-Blanc
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.
LP Chteau-Blanc
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.
10
LP Chteau-Blanc
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.
11
LP Chteau-Blanc
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).
12
LP Chteau-Blanc
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.
13
LP Chteau-Blanc
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]
14
LP Chteau-Blanc
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.
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
15
LP Chteau-Blanc
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
Capturez une demande et une rponse ARP avec Ethereal puis imprimez le dtail de celle-ci. Commentez chaque ligne.
16
LP Chteau-Blanc
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
Capturez une demande et une rponse ARP avec Ethereal puis imprimez le dtail de celle-ci. Commentez chaque ligne.
17
LP Chteau-Blanc
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.
18
LP Chteau-Blanc
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.
19
LP Chteau-Blanc
20
LP Chteau-Blanc
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
21
LP Chteau-Blanc
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 Checksum :
Somme de contrle
22