Vous êtes sur la page 1sur 34

'Module

RX : les rseaux e

Les rseaux : les principes e Comment a marche ? c

Gnralits e e e TCP/IP
Fabrice Harrouet Ecole Nationale dIngnieurs de Brest e harrouet@enib.fr http://www.enib.fr/~harrouet/
&

enib, F.H . . . 1/68

'Les

rseaux : gnralits e e e e

Des rseaux . . . e
Leur rle o Interconnecter des machines informatiques Mettre en commun des ressources Des informations De la puissance de calcul Leurs proprits usuelles e e Dbit e Temps de rponse e Distance de liaison Mode de transmission Qualit de service . . . e
&

enib, F.H . . . 2/68

'Les

rseaux : gnralits e e e e

Proprits e e
Le dbit e Quantit dinformation transmise pendant une dure e e Gnralement exprim en bits par seconde e e e Kb/s, Mb/s, Gb/s Pas des bytes mais des bits ! Eventuellement une autre unit : les bauds e Nombre de signes par seconde Inclue les bits de contrle (parit, start, stop . . . ) o e Ne caractrise que le support physique e Ce qui est indiqu sur la bo e te Tr`s dirent de la quantit de donnes utiles ! e e e e

&

enib, F.H . . . 3/68

'Les

rseaux : gnralits e e e e

Proprits e e
Le temps de rponse e Temps coul entre lenvoi et la rception dune information e e e Pas ncessairement li au dbit e e e La distance de liaison Distance qui spare les dispositifs e Mode de transmission point-`-point (peer-to-peer /unicast) destinataire unique a diusion (broadcast) destinataires a priori inconnus diusion restreinte (multicast) destinataires enregistrs e Connect : un canal de communication e able mais coteux u Non connect : une information furtive e peu able mais conomique e
&

enib, F.H . . . 4/68

'Les

rseaux : gnralits e e e e

Ordres de grandeur
Rseau local : LAN (Local Area Network) e 1m, 100m . . . (bureau, immeuble, campus) Ethernet (10Mb/s), Fast Eth. (100Mb/s), Gigabit Eth. (1Gb/s) WiFi/802.11b (11Mb/s), WiFi/802.11g (54Mb/s) Temps de rponse pour des machines tr`s proches 10s, 100s e e Rseau mtropolitain : MAN (Metropolitan Area Network) e e 1km, 10km . . . (campus, technople, ville), Mb/s Gb/s o Rseau longue distance : WAN (Wide Area Network) e 10km, 100km, 1000km . . . (pays, continent), 100Mb/s Gb/s Temps de rponse pour un satellite 320 ms e Internet : lensemble de tous ces rseaux e Ncessit de pouvoir les interconnecter e e
&

enib, F.H . . . 5/68

'Les

rseaux : gnralits e e e e

La commutation
Transmettre linformation de nuds en nuds Commutation de circuits La plus ancienne (cf oprateurs tlphoniques) e ee La liaison est rserve pour une paire dinterlocuteurs e e Inutilisable pour autre chose Tout le dbit est disponible e Ncessite normment de liaisons e e e

&

enib, F.H . . . 6/68

'Les

rseaux : gnralits e e e e

La commutation
Commutation de messages Multiplexer les liaisons pour en diminuer le nombre La liaison est rserve pendant la transmission dun message e e Un chier, une ligne de commande . . . R-mission totale si probl`me de transmission ee e Un nud attend le message complet avant de le faire suivre long temps de rponse e
Emission A>B Reception A>B Noeud A Noeud B Noeud C Emission B>C Reception B>C
&

Msg

Msg Msg

2 Msg 2

enib, F.H . . . 7/68

'Les

rseaux : gnralits e e e e

La commutation
Commutation de paquets, de trames, de cellules Subdiviser le message pour diminuer le temps de rponse e Paquets/trames : taille variable Cellules : taille xe R-mission partielle si probl`me de transmission ee e Attention au rapport volume donnes utiles / enveloppe e (voir lencapsulation)
Msg1 Noeud A Noeud B Noeud C Msg1 Msg2 Msg2

&

enib, F.H . . . 8/68

'Les

rseaux : gnralits e e e e

Le mod`le en couches e
Le mod`le OSI (Open Systems Interconnection) e Dni par lInternational Standard Organisation e Couches numrotes de 1 ` 7 e e a ` chacune delles doit correspondre un protocole A Plusieurs protocoles possibles pour chaque couche ex : TCP ou UDP en couche 4 Certains sont interdpendants e ex : TCP /UDP en couche 4 ncessitent IP en couche 3 e Protocoles de bout-en-bout Une couche dissimule les dtails des couches infrieures e e Couches diciles ` distinguer et matrialiser dans la pratique a e Mod`le utilis uniquement dans les livres e e Dans la pratique on utilise un mod`le ` 4 couches (TCP /IP ) e a
&

enib, F.H . . . 9/68

'Les

rseaux : gnralits e e e e

Le mod`le en couches e
Le mod`le OSI e
Couches (HTTP, FTP ...) 7 Application (big/little endian ...) 6 (coupure/reprise, 5 synchro ...) (d/multiplexer, ordonner, 4 retransmettre ...) (controle congestion, 3 routage ...) Matriel (mise en forme, 2 collisions ...) (connecteurs, 1 signaux ...) Prsentation Session Transport Rseau Liaison Physique Hte A
&

Units de donnes Protocole dapplication Protocole de prsentation Protocole de session Protocole de transport Application APDU

Prsentation PPDU Session Transport Rseau Liaison Physique Hte B SPDU TPDU Paquet Trame bit

Rseau Liaison Physique Routeur

Rseau Liaison Physique

enib, F.H . . . 10/68

'Les

rseaux : gnralits e e e e

Le mod`le en couches e
Le mod`le TCP /IP e Mod`le ` 4 couches identiables e a Inspir du mod`le DoD (Department of Defense) e e
Mode Utilisateur Mode Noyau Rles ... Couches Application Protocoles HTTP, FTP ...

d/multiplexer, ordonner, retransmettre ...

Transport

TCP, UDP ... (ICMP, IGMP) IP (ARP, RARP) Cartes/drivers

routage, fragmentation

Rseau (Internet) Liens (Data Link)

delivrer/recevoir le signal

&

enib, F.H . . . 11/68

'Les

rseaux : gnralits e e e e

Le mod`le en couches e
Encapsulation Chaque couche encapsule la couche suprieure e Chaque couche poss`de ses propres structures de donnes e e Permet dacheminer, de router, de dmultiplexer . . . e (cf lenveloppe postale)
Entte applicatif Entte transport Entte rseau Prambule liens Eth. : 8 Entte liens Eth. : 14 IP : 20 Donnes utiles

Donnes de la couche transport

Donnes de la couche rseau

Donnes de la couche liens TCP : 20 Eth : 6 1460

Remorque liens Eth. : 4

Exemple : TCP/IP/Ethernet, de 1.4% (1/72) 95% (1460/1526) de donnes applicatives (sans fragmentation)
& %

enib, F.H . . . 12/68

'

Les rseaux : TCP/IP e

La couche liens de TCP /IP

Transmettre physiquement un signal entre les dispositifs Couche physique (1) du mod`le OSI e Dpendant du support physique (mdium) et des cartes e e Structurer les signaux transmis Couche liaison (2) du mod`le OSI e Notion de trame (vocabulaire !) Cas particulier tudi ici : e e Thoriquement une innit de solutions e e Dans la pratique, essentiellement Ethernet et 802.?

&

enib, F.H . . . 13/68

'

Les rseaux : TCP/IP e

La couche liens de TCP /IP


La couche physique dEthernet Codage Manchester : limiter la sensibilit aux parasites e Etats haut/bas fronts montants/descendants Ncessite une frquence double e e CSMA/CD (Carrier Sense Multiple Access / Collision Detection) Ecouter si le mdium est libre e Transmettre le signal au mdium tout en coutant e e Sil y a collision, la trame est corrompue attendre alatoirement avant de r-essayer e e Dnomination usuelle : DbitBase-mdium e e e 10Base-T : 10Mb/s, paire torsade, 100m max. e 100Base-T : 100Mb/s, paire torsade non blinde, 20m max. e e ...
&

enib, F.H . . . 14/68

'

Les rseaux : TCP/IP e

La couche liens de TCP /IP


La couche physique dEthernet
+E +E

111 000 11 00 111 000

+E

11 00 11 00 11 00 11 00 11 00 11 00

>=IFS

AA AA AA AA AA AA AA Prambule

AB Trame Ethernet CRC

>=IFS

IFS: Inter Frame Spacing, 9.6s

SFD (Starting Frame Delimitor)

&

enib, F.H . . . 15/68

'

Les rseaux : TCP/IP e

La couche liens de TCP /IP


La trame Ethernet, protocole MAC (Medium Access Control ) Adresse MAC : proprit de la carte rseau ee e Unique, xe en dur par le fabricant e Code fabriquant (3 octets), numro de carte (3 octets) e (Organizationally Unique Identier , IEEE , chier OUI.txt) Proto : type des donnes, comment les interprter ? e e 0x0800 : IP (0x0800), ARP (0x0806), RARP (0x8035) . . . Bourrage (padding) : la trame doit faire 60 octets minimum Trame de dure minimale 51.2s (10Mb/s) e Donnes limites ` MTU (Maximum Transmission Unit) : 1500 octets e e a
8 prambule+SFD 6 adresse MAC destination 6 adresse MAC source 2 proto calcul du CRC 46 1500 octets donnes bourrage 4 CRC

&

enib, F.H . . . 16/68

'

Les rseaux : TCP/IP e

La couche liens de TCP /IP


Emission dune trame Ethernet Adresse MAC destinataire, proto et donnes fournis e Inscription de ladresse MAC de la carte comme source On peut la forcer avec une raw socket ! (ou par conguration) Calcul du CRC Rception dune trame Ethernet e Vrication du CRC e Vrication de ladresse MAC destination e Adresse de la carte qui coute e Adresse de diusion (FF:FF:FF:FF:FF:FF) Tout, avec une raw socket en mode promiscuous ! Remonte de la trame en vue de son traitement e
&

enib, F.H . . . 17/68

'

Les rseaux : TCP/IP e

La couche liens de TCP /IP


Echanges de trames Ethernet Les machines dun mme brin peuvent communiquer e Allonger les brins avec des rpteurs e e Simple remise en forme du signal Relier plusieurs brins par un concentrateur (hub) Ce qui arrive sur un port est rpt sur tous les autres e ee Le trac monopolise tous les brins ! Relier plusieurs brins par un commutateur (switch) Il maintient une table (adresse MAC/port) Adresse source mise ` jour de la table a Adresse destination choix du port demission Cloisonnement : pas de trac sur tous les brins
&

enib, F.H . . . 18/68

'

Les rseaux : TCP/IP e

La couche liens de TCP /IP


Echanges de trames entre rseaux htrog`nes e e e e Utilisation dun pont (bridge) Machine disposant de plusieurs types dinterfaces Les protocoles doivent tre compatibles e Linformation dterminante est ladresse MAC e Exemple : Ethernet et Token Ring Sinon, recours ` la couche rseau (routeur) a e

Transport 4 Rseau 3 Liaison 2 Physique 1 Couches OSI Hte A Rpteurs, Concentrateurs Commutateurs, Ponts Routeurs Hte B

&

...

enib, F.H . . . 19/68

'

Les rseaux : TCP/IP e

La couche liens de TCP /IP

Bilan/limitations Limit ` des procds compatibles (MAC ) ea e e Conna les adresses MAC de tous les dispositifs ! tre Procd non able e e Dtection de collision mission valide e e Vrication du CRC rception valide e e (mais pas de retransmission en cas de probl`me !) e On ne sait pas quune trame na pas t reue ! ee c

&

enib, F.H . . . 20/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Utilise le protocole IP (Internet Protocol ) Echanges de paquets/datagrammes (vocabulaire !) En relation avec les protocoles ARP , RARP , ICMP et IGMP Abstraire lidentication des dispositifs Attribution dune adresse IP Pouvoir changer de carte sans prvenir tout Internet ! e Permettre le routage Communiquer ` travers des rseaux htrog`nes a e ee e Dissimuler les dtails de connexion e Grer la fragmentation e Respecter les MTU de la couche liens Dcouper les datagrammes en paquets et les rassembler e e
&

enib, F.H . . . 21/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Ladresse IP Attribue ` une interface rseau dune machine e a e plusieurs adresses IP si plusieurs interfaces Constitue de quatre octets (IPv4 ) (ex : 192.168.20.236) e Associe ` un masque de sous-rseau (ex : 255.255.240.0) e a e (IP &masque) adresse de rseau (ex : 192.168.16.0) e (IP |~masque) adresse de diusion (ex : 192.168.31.255) Dsignation usuelle dun rseau : e e adresse/largeur de masque (ex : 192.168.16.0/20)
192 Adresse IP 11000000 255 Masque de sousrseau 11111111 192 Adresse de rseau 11000000 192 Adresse de diffusion 11000000
&

168 10101000 255 11111111 168 10101000 168 10101000

20 00010100 240 11110000 16 00010000 31 00011111

236 11101100 0 00000000 0 00000000 255 11111111

enib, F.H . . . 22/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


La commande ifconfig (ipconfig sous M$DO$ )
# ifconfig eth0 Link encap:Ethernet HWaddr 00:04:75:DA:CF:7A inet addr:192.168.20.236 Bcast:192.168.31.255 Mask:255.255.240.0 UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 RX packets:29425810 errors:0 dropped:0 overruns:1 frame:0 TX packets:5159651 errors:0 dropped:0 overruns:0 carrier:22 collisions:371719 txqueuelen:100 RX bytes:2830141606 (2699.0 Mb) TX bytes:2566938591 (2448.0 Mb) Interrupt:11 Base address:0xc000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:464512 errors:0 dropped:0 overruns:0 frame:0 TX packets:464512 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:478999862 (456.8 Mb) TX bytes:478999862 (456.8 Mb) Link encap:Ethernet HWaddr 00:50:56:C0:00:08 inet addr:172.16.51.1 Bcast:172.16.51.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:1896 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

vmnet8

#
&

enib, F.H . . . 23/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Lattribution des rseaux, des adresses IP e Monde : IANA (www.iana.org), Europe : RIPE (www.ripe.net) Numros de machines au choix ` lintrieur des rseaux e a e e Les classes dadresses IP Classe A : premier bit ` 0 (0.X.X.X ` 127.X.X.X) a a Masque de sous-rseau implicite : 255.0.0.0 e Au maximum 16777214 adresses IP distinctes Classe B : deux premiers bits ` 10 (128.0.X.X ` 191.255.X.X) a a Masque de sous-rseau implicite : 255.255.0.0 e Au maximum 65534 adresses IP distinctes Classe C : trois premiers bits ` 110 (192.0.0.X ` 239.255.255.X) a a Masque de sous-rseau implicite : 255.255.255.0 e Au maximum 254 adresses IP distinctes
&

enib, F.H . . . 24/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Les classes dadresses IP Classe D : quatre premiers bits ` 1110 a Adresses de diusion restreinte (multicast) Classe E : cinq premiers bits ` 11110 a Usage rserv e e CIDR (Classless InterDomain Routing) Prciser explicitement un masque de sous-rseaux e e Factoriser les entres des tables de routage (supernetting) e ex : 192.168.20.0 et 192.168.21.0 192.168.0.0/16 Dcouper en sous-rseaux internes (scurit, administration) e e e e ex : 172.16.0.0 172.16.10.0/24 et 172.16.20.0/24 (dcouper un classe B en 256 sous-rseaux de 254 machines) e e
&

enib, F.H . . . 25/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Conguration dune interface
# ifconfig eth1 172.16.200.12 # ifconfig eth1 eth1 Link encap:Ethernet HWaddr 00:E0:18:F3:D3:DF inet addr:172.16.200.12 Bcast:172.16.255.255 Mask:255.255.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:227 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 b) TX bytes:150706 (147.1 Kb) Interrupt:5 # ifconfig eth1 172.16.200.12 broadcast 172.16.200.255 netmask 255.255.255.0 # ifconfig eth1 eth1 Link encap:Ethernet HWaddr 00:E0:18:F3:D3:DF inet addr:172.16.200.12 Bcast:172.16.200.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:227 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 b) TX bytes:150706 (147.1 Kb) Interrupt:5 #

&

enib, F.H . . . 26/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Les adresses IP particuli`res e 127.0.0.0/8 : interface de rebouclage 127.0.0.1 localhost Associe au priphrique virtuel loopback e e e 0.0.0.0/255.255.255.255 : src/dest pour autoconguration BOOTP , DHCP . . . Adresses de rseaux privs e e Par convention non routes sur Internet (juste en interne) e 10.0.0.0/8 : 1 seul rseau de classe A e 172.16.0.0/12 : 16 rseaux de classe B e 192.168.0.0/16 : 256 rseaux de classe C e

&

enib, F.H . . . 27/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Le paquet IP Il constitue la partie donnes de la trame Ethernet e
0 version 4 taille entte 4 8 16 type de service (TOS) 8 16 protocole 8 drapeaux 3 24 taille totale en octets dcalage de fragmentation 32 16 13 16 32 32 32 4 * taille entte (de 20 60 octets)

identification Time To Live (TTL)

somme de contrle de lentte (avec options)

adresse IP source adresse IP destination options facultatives

donnes

&

enib, F.H . . . 28/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Le paquet IP version : 4 pour IPv4 , 6 pour IPv6 (non trait ici) e taille entte : nombre de mots de 32 bits de lentte (de 5 ` 15) e e a TOS : 3 bits ignors, 4 bits signicatifs, 1 bit nul e Minimiser le dlai, le dbit, la abilit, le cot montaire ? e e e u e Choix exclusif, utilis (ou non !) par les routeurs e taille totale : taille en octets du paquet (entte + donnes) e e identication : numro de datagramme (++ ` chaque envoi) e a drapeaux , dcalage : voir la fragmentation e TTL : voir le routage protocole : type des donnes, comment les interprter ? e e ICMP (1), IGMP (2), TCP (6), UDP (17) . . . somme de contrle, source/destination : . . . o options : mots de 32 bits (infos de routage . . . )
&

enib, F.H . . . 29/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Relation adresse IP adresse MAC Protocole ARP (Address Resolution Protocol ) Au dessous dIP mais troitement li, proto.Ethernet=0x0806 e e Les dispositifs rseau ont tous une table de rsolution ARP e e Paires (adresse IP , adresse MAC ) Mise ` jour dynamique + oubli priodique a e Mise ` jour statique ` la demande a a Envoi dun paquet vers une adresse IP ( table ARP ) / Emission dune requte ARP (who-has) pour ladresse IP e (trame Ethernet, destination=broadcast MAC ) Toutes les machines du rseau local reoivent la requte e c e Celle qui a ladresse IP demande rpond ` lmetteur e e a e Lmetteur connait maintenant ladresse MAC recherche e e
&

enib, F.H . . . 30/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Contenu dune requte/rponse ARP e e type matriel : Ethernet (1) . . . e type protocole : IP (0x0800) . . . taille adresse matrielle : 6 pour Ethernet e taille adresse protocole : 4 pour IP opration : requte/rponse ARP (1/2), RARP (3/4) e e e adresses source/destination matriel/protocole : e Requte : MAC1 , IP1 , 00:00:00:00:00:00, IP2 ? e Rponse : MAC2 , IP2 , MAC1 , IP1 e nb : adresses MAC redondantes avec la trame Ethernet
2 type matriel 2 1 1 2 taille matr. taille proto. taille matr. taille proto. (Eth: 6) (IP: 4) (Eth: 6) (IP: 4) type taille taille @ matriel @ protocole @ matriel @ protocole opration protocole matr. proto. source source destination destination Requte/rponse ARP, Ethernet/IP: 28 octets (bourrage ncessaire)

&

enib, F.H . . . 31/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e

Relation adresse MAC adresse IP Protocole RARP (Reverse Address Resolution Protocol ) Au dessous dIP mais troitement li, proto.Ethernet=0x8035 e e Le contenu de la trame est identique ` ARP a Utilis principalement pour la conguration automatique e DHCP : obtenir une adresse IP et toute la conguration rseau e depuis un serveur ddi e e BOOTP : dmarrer sans disque, par le rseau e e ...

&

enib, F.H . . . 32/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Le routage Faire parvenir les paquets IP Les adresses MAC ne susent pas repose sur les adresses IP Procd saut-`-saut (hop-by-hop) si je ne sais pas, je dl`gue e e a ee Procd non able, les paquets peuvent ne pas arriver ! e e Les dispositifs rseau ont tous une table de routage e O` envoyer un paquet destin ` telle adresse IP ? u ea Destination : adresse dune machine ou dun rseau e Passerelle : une machine qui saura acheminer le paquet Interface : la carte rseau ` utiliser e a Du plus spcique au plus gnral e e e

&

enib, F.H . . . 33/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Exemple de table de routage
# ifconfig eth0 Link encap:Ethernet HWaddr 00:04:75:DA:CF:7A inet addr:192.168.20.236 Bcast:192.168.31.255 Mask:255.255.240.0 ... eth1 Link encap:Ethernet HWaddr 00:E0:18:F3:D3:DF inet addr:172.16.200.12 Bcast:172.16.200.255 Mask:255.255.255.0 ... lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 ... vmnet8 Link encap:Ethernet HWaddr 00:50:56:C0:00:08 inet addr:172.16.51.1 Bcast:172.16.51.255 Mask:255.255.255.0 ... # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 172.16.51.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8 172.16.200.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.16.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 192.168.16.1 0.0.0.0 UG 0 0 0 eth0 #

&

enib, F.H . . . 34/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Les routeurs (passerelles) Dispositif de la couche rseau (niveau 3 OSI ) e Dispose de plusieurs interfaces Sait faire passer les paquets de lune ` lautre a TTL-- (64 0), paquet dtruit si TTL nul (ICMP ), e permet de stopper les boucles Paquet rout entrant : destination IP = destination MAC e Paquet rout sortant : source IP = source MAC e Routage statique : table de routage dnie en dur e Convient ` un usage local a Routage dynamique : mise ` jour de la table de routage a Protocoles ddis RIP , EGP , BGP . . . e e Ncessaire pour le routage dInternet e
&

enib, F.H . . . 35/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Exemple dutilisation de routeurs, installation simple Attribution dune adresse externe xe Attribution dun rseau accessible depuis lextrieur e e Nb : si connexion par modem (Fournisseur dAcc`s ` Internet) e a Attribution dune seule adresse externe (non-xe en gnral) ! e e Remplacer 195.221.233.0/24 par un sous-rseau priv e e Utiliser NAT (Network Address Translation) sur gate, voir le cours Firewall Rien nest accessible depuis lextrieur e (sauf ventuellement si ladresse externe est connue) e
Internet route par dfaut room1, room2 195.221.233.1 193.50.69.218 gate (routeur+firewall) 195.221.233.1 195.221.233.0/24 195.221.233.3 195.221.233.2 room2 room1

&

enib, F.H . . . 36/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Exemple dutilisation de routeurs, installation plus classique Rseau 195.221.233.0/24 accessible depuis lextrieur e e DMZ (De-Militarized Zone) Rseaux 192.168.X.0/24 privs e e NAT (Network Address Translation), voir le cours Firewall
routes par dfaut ftp, www 195.221.233.1 room1, room2 192.168.16.1 room2A, room2B 192.168.21.1 Zone dmilitarise 195.221.233.3 ftp Internet 193.50.69.218 gate (routeur+firewall) 195.221.233.1 192.168.16.1 192.168.16.0/24 192.168.16.2 192.168.16.3 room1 room2 (routeur) 192.168.21.1 192.168.21.0/24 192.168.21.3 192.168.21.2 room2B room2A

195.221.233.0/24 195.221.233.2 www

route vers 192.168.21.0/24 gate, room1, room3 ... 192.168.16.3


&

enib, F.H . . . 37/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


La fragmentation Respecter les MTU de la couche liens Dcouper les datagrammes IP en paquets IP et les rassembler e e datagramme : unit logique du point de vue de la couche rseau e e paquet : unit physique du point de vue de la couche liens e Communication de bout-en-bout au niveau rseau e La fragmentation, le rassemblage sont transparents e
1 datagramme IP : 20+3000 (>MTU) Entte de Entte IP transport Entte IP Entte de donnes ... (1/3) transport 20+1480 (=MTU) Entte IP (2/3) donnes ...

donnes ...

20+1480 (=MTU) 3 paquets IP

Entte IP donnes ... (3/3) 20+40 (<MTU)

&

enib, F.H . . . 38/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


La fragmentation Un paquet IP peut tre re-fragment e e MTU intermdiaire < MTU dorigine e Rassemblage ralis par le destinataire uniquement e e e Un paquet perdu retransmettre tout le datagramme (nb : on ne le sait pas ` ce niveau, IP est non able) a
fragmentation en 3 paquets IP (20+1480, 20+1480, 20+40)
MTU=1500

pas de nouvelle fragmentation


MTU=1500

source envoi dun datagramme IP (20+3000)

routeur
MTU=552

routeur

destination rception dun datagramme IP (20+3000)

nouvelle fragmentation (20+532, 20+532, 20+416, 20+532, 20+532, 20+416, 20+40)


&

enib, F.H . . . 39/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


La fragmentation : les champs de lentte IP (suite) e identication : constant pour chaque fragment dun datagramme drapeaux : 1 bit ` 1, 2 bits signicatifs a dont fragment : chec (ICMP ) si besoin de fragmenter e more fragments : dautres fragments suivent dcalage : position des donnes du paquet dans le datagramme e e Rassemblage des paquets en datagrammes e Si dcalage non nul, vrier quon a reu les paquets prcdents e e c e e Si more fragments, vrier quon a reu les paquets suivants e c Mmes source/identication, encha e nement taille/dcalage ok, e pas de more fragments pour le dernier datagramme complet Timeout pour oublier les datagrammes incomplets
&

enib, F.H . . . 40/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Les messages ICMP (Internet Control Message Protocol ) Au dessus dIP mais troitement li, proto.IP =1 e e Un jeu de messages diversi (erreurs, mise au point . . . ) e Format de message tr`s dpendant du type (pas de dtails ici) e e e
type=8 type=0 type=3 type=3 type=3 type=5 type=11 ...
0 type 8

code=0 code=0 code=1 code=3 code=4 code=0-3 code=0,1 ...


8

: echo request : echo reply : no route to host : connection refused : fragmentation ncessaire mais interdite e : redirection, une meilleure route existe : le champ TTL a atteint 0 ...
16 code 8 24 somme de contrle du message complet 32 16

donnes supplmentaires dpendantes de la nature du message

&

enib, F.H . . . 41/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Les messages ICMP , le programme ping Tester si une adresse IP est joignable (machine ou diusion) Envoie un ICMP echo request et attend lICMP echo reply -R pour noter les adresses de sortie (dans les options IP , 9 max.)
# ping 195.221.233.9 PING 195.221.233.9 (195.221.233.9) 56(84) bytes of data. 64 bytes from 195.221.233.9: icmp_seq=1 ttl=254 time=2.37 ms 64 bytes from 195.221.233.9: icmp_seq=2 ttl=254 time=1.20 ms --- 195.221.233.9 ping statistics --2 packets transmitted, 2 received, 0% packet loss, time 1005ms rtt min/avg/max/mdev = 1.201/1.788/2.376/0.589 ms # ping -R 195.221.233.9 PING 195.221.233.9 (195.221.233.9) 56(124) bytes of data. 64 bytes from 195.221.233.9: icmp_seq=1 ttl=254 time=3.11 ms RR: 192.168.20.236 195.221.233.1 195.221.233.9 195.221.233.9 192.168.16.1 192.168.20.236 64 bytes from 195.221.233.9: icmp_seq=2 ttl=254 time=2.72 ms --- 195.221.233.9 ping statistics --2 packets transmitted, 2 received, 0% packet loss, time 1012ms rtt min/avg/max/mdev = 2.723/2.920/3.118/0.204 ms
&

<---[Ctrl-C]

(same route) <---[Ctrl-C]

enib, F.H . . . 42/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Les messages ICMP , le programme traceroute Lister les routeurs qui permettent datteindre une machine cible Envoi dun datagramme IP vers la cible avec un TTL de 1, 2, 3 . . . Routeur qui met TTL ` 0 envoie un ICMP (type=11) ` la source a a Ladresse IP dentre du routeur est dans lICMP en question e Incrmenter TTL jusqu` atteindre la cible e a -I pour envoyer un ICMP echo request (par dfaut UDP /33434 risque dtre ltr par les rewalls) e e e
# traceroute -In 192.44.75.206 traceroute to 192.44.75.206 (192.44.75.206), 30 hops max, 38 byte packets 1 192.168.16.1 1.241 ms 1.252 ms 1.361 ms 2 192.168.128.20 4.301 ms 3.292 ms 3.326 ms 3 193.50.69.217 3.272 ms 3.122 ms 3.142 ms 4 193.48.78.29 3.904 ms 3.735 ms 3.755 ms 5 193.48.78.18 4.996 ms 4.964 ms 4.993 ms 6 193.50.69.90 5.672 ms 5.674 ms 5.355 ms 7 192.44.75.206 6.018 ms 4.592 ms 4.422 ms #
&

enib, F.H . . . 43/68

'

Les rseaux : TCP/IP e

La couche rseau de TCP /IP e


Bilan/limitations de IP IP est li ` dautres protocoles (ARP , RARP , ICMP , IGMP ) ea Permet de joindre une machine quelconque sur Internet Quels que soient les procds de la couche liens e e Mme si on ne sait pas exactement par o` passer e u La fragmentation et le rassemblage sont transparents e (sil est dlivr, un datagramme IP reste un datagramme) e e Comment conna t-on ladresse IP de la cible ? (DNS ) Permet la diusion au sein dun rseau local e Adresse IP destination : adresse de diusion du rseau e Ncessairement contenu dans une trame diuse e e Protocole non able Quelques indications dchec (ICMP ) e On ne sait pas quun datagramme IP na pas t reu ee c
&

enib, F.H . . . 44/68

'

Les rseaux : TCP/IP e

La couche transport de TCP /IP


Deux protocoles de transport sont principalement utiliss e Utilisables par les applications non privilgies e e UDP : mode non connect e TCP : mode connect e D/multiplexer selon un numro de port e e Ne pas sadresser ` la machine dans sa globalit a e Sadresser ` un service particulier de cette machine a Numro de port : entier de 16 bits e Well Known Ports : 0 1023 (privil`ges requis) e Registered Ports : 1024 49151 Dynamic and/or Private Ports : 49152 65535 Voir www.iana.org (ou /etc/services)
&

enib, F.H . . . 45/68

'

Les rseaux : TCP/IP e

La couche transport de TCP /IP

Le protocole UDP (User Datagram Protocol ) Permet dchanger des datagrammes (vocabulaire !) e D/multiplexage selon les numros de port e e Somme de contrle calcule sur lensemble du datagramme o e (IP : uniquement sur les enttes des paquets) e Protocole non able Si IP ne dlivre pas un datagramme, UDP nen sait rien e UDP IP + numros de ports + somme de contrle e o Fonctionne en mode non connect e Peu coteux en trac u

&

enib, F.H . . . 46/68

'

Les rseaux : TCP/IP e

La couche transport de TCP /IP


Le datagramme UDP Il constitue la partie donnes du datagramme IP e ports : . . . taille : entte (8) + donnes e e somme de contrle : pseudo-entte + entte + donnes o e e e Inutilise si nulle (facultative) e
0 8 numro de port source taille totale en octets 16 16 16 24 numro de port destination somme de contrle 32 16 16

donnes

&

enib, F.H . . . 47/68

'

Les rseaux : TCP/IP e

La couche transport de TCP /IP


Le pseudo-entte UDP e Nexiste pas ! Infos extraites du datagramme IP Juste utilis dans la calcul de la somme de contrle e o Permet des vrications redontantes (erreurs de routage . . . ) e
0 pseudoentte 8 16 adresse IP source adresse IP destination zro protocole IP (17 pour UDP) taille totale UDP (la mme que plus loin !) numro de port destination somme de contrle 24 32 32 32 16 16 16 calcul de la somme de contrle

8 16 16

entte

numro de port source taille totale en octets

donnes

&

enib, F.H . . . 48/68

'

Les rseaux : TCP/IP e

La couche transport de TCP /IP


Taille maximale des donnes dun datagramme UDP e Limite thorique impose par IP e e Taille du datagramme IP sur 16 bits Entte IP de 20 ` 60 octets e a Entte UDP 8 octets e Il devrait donc rester 65507 octets de donnes UDP e En pratique, limite impose par la taille des tampons e Gnralement dimmensionns pour 8192 octets de donnes e e e e Ajustable par des appels syst`mes (API socket) e Les datagrammes IP doivent supporter 576 octets de donnes e Beaucoup dappli. se limitent ` 512 octets de donnes UDP a e Limitation volontaire, dmarche tr`s prudente e e
&

enib, F.H . . . 49/68

'

Les rseaux : TCP/IP e

La couche transport de TCP /IP


Le protocole TCP (Transmission Control Protocol ) Orient connexion e Ouverture/fermeture explicite de la connexion Transmission bidirectionnelle de ots doctets (byte stream) (peut sapparenter ` la communication par tube . . . ) a Le ot est dcoup en segments TCP (vocabulaire !) e e Protocole able Chaque segment transmis a un numro de squence e e Mcanisme dacquitement pour chaque segment transmis e Retransmission si ncessaire (timeouts) e Echec explicite si probl`me grave e

&

enib, F.H . . . 50/68

'

Les rseaux : TCP/IP e

La couche transport de TCP /IP


Le segment TCP Il constitue la partie donnes du datagramme IP e
0 8 numro de port source 16 16 numro de squence numro dacquittement taille entte 4 rserv (zro) URG ACK PSH RST SYN FIN taille de fentre pointeur urgent 24 numro de port destination 32 16 32 32 16 16 32 4 * taille entte (de 20 60 octets)

somme de contrle

16 options facultatives

donnes

&

enib, F.H . . . 51/68

'

Les rseaux : TCP/IP e

La couche transport de TCP /IP


Le segment TCP ports, squence, acquittement : . . . e taille entte : nombre de mots de 32 bits de lentte (de 5 ` 15) e e a URG : le champ pointeur urgent est valide ACK : le champ acquittement est valide PSH : passer ` lapplication au plus tt (tampons non pleins) a o RST : demande de rinitialisation de la connexion e SYN : demande de synchronisation de squence (init.) e FIN : n de transmission fentre : retard prvu pour lacquittement (non trait ici) e e e somme de contrle : pseudo-entte + entte + donnes o e e e Comme pour UDP mais obligatoire Proto.IP =6, taille calcule depuis le datagramme IP e pointeur urgent : donnes ` traiter durgence (non trait ici) e a e
&

enib, F.H . . . 52/68

'

Les rseaux : TCP/IP e

La couche transport de TCP /IP


Numros de squence et dacquittement TCP e e Init. dune connexion choix dun ISN (Initial Sequence Number ) Algorithme propre au syst`me e Utilis ensuite comme compteur de donnes e e Lacquittement dun segment reprend ce numro e On lui ajoute le volume de donnes du segment reu e c ++ si le bit SYN ou FIN est positionn e Dtermine le prochain numro de squence attendu e e e Chaque extrmit a son propre numro de squence e e e e Permet une communication bidirectionnelle Les segments changs doivent toujours tre acquitts e e e e Gn`re plus de trac que de simples datagrammes e e Retransmission apr`s un timeout si pas dacquittement e Risque de doublons si transmission lente, TCP les limine e
&

enib, F.H . . . 53/68

'

Les rseaux : TCP/IP e

La couche transport de TCP /IP


Diagramme temporel dune communication TCP
Hte A / port A ISN=1000

SYN, seq=1000 SYN, ACK, seq=4000, ack=1001

Hte B / port B ISN=4000 A se connecte B threeway handshake

ACK, seq=1001, ack=40 01


write()

ACK, seq=1001, ack=40

01, data=100 octets

read() Communication de A vers B

01 ACK, seq=4001, ack=11

write() read()

01, data=200 octets ACK, seq=4001, ack=11 ACK, seq=1101, ack=42 01


Communication de B vers A

close()

FIN, ACK, seq=1101,

ack=4201

EOF close() A puis B ferment la connexion (linverse aurait t possible)

02 ACK, seq=4201, ack=11 ack=1102 FIN, ACK, seq=4201, ACK, seq=1102, ack=42 02
&

enib, F.H . . . 54/68

'

Les rseaux : TCP/IP e

La couche transport de TCP /IP


Diagramme dtat de TCP e
transitions normales pour un client transitions normales pour un serveur transitions particulires (non dtailles ici) CLOSED 1 LISTEN 3 2

1 listen() 2 connect() / e:SYN 3 r:SYN / e:SYN,ACK 4 r:SYN,ACK / e:ACK 5 r:ACK 6 close() / e:FIN 7 r:FIN / e:ACK 6 8 r:ACK 9 close() / e:FIN 10 r:FIN / e:ACK 11 r:ACK 12 dlais expir (30s, 1mn, 2mn)
&

SYN_RCVD ouverture passive 5 ESTABLISHED transfert de donnes fermeture active FIN_WAIT_1 8 FIN_WAIT_2 10 TIME_WAIT CLOSING

4 7

SYN_SENT ouverture active fermeture passive CLOSE_WAIT 9 LAST_ACK 11

12

enib, F.H . . . 55/68

'

Les rseaux : TCP/IP e

La couche transport de TCP /IP


Ouverture dune connexion TCP Envoi de SYN (ouverture active) Rponse avec SYN galement (ouverture passive) e e Tentative de connexion TCP ` un port inexistant a Aucun processus ncoute sur ce port e Un RST est envoy en rponse au SYN e e Fermeture normale dune connexion TCP Le tampon dcriture est envoy, puis FIN e e Avortement dune connexion TCP Envoi de RST , le tampon dcriture est perdu e Timer keep alive en cas de matriel dbranch, arrt e e e e e Connexion ouverte jusqu` FIN ou RST a Envoi de temps en temps de segments vides (ACK attendu)
&

enib, F.H . . . 56/68

'

Les rseaux : TCP/IP e

La couche transport de TCP /IP

Bilan/limitations de UDP et TCP Protocoles accessibles aux processus non privilgis e e Choix de lun ou lautre selon les besoins applicatifs TCP : able, ot bidirectionnel, coteux u UDP : non-able, orient messages, peu coteux e u donnes furtives ` validit limite (pertes acceptables) e a e e Diusion sur un rseau local uniquement en UDP e diusion IP + ltrage selon numro de port e Mise en uvre plus dtaille dans le cours sur les sockets e e Il existe dautres protocoles de transport (IP over IP . . . )

&

enib, F.H . . . 57/68

'

Les rseaux : TCP/IP e

La couche application de TCP /IP


Une innit dapplications . . . e Certaines sont normalises, services de base e telnet, ssh, dns, nfs, smtp . . . Des processus (serveurs) coutent sur des ports particuliers e http : 80/TCP, dns : 53/TCP/UDP, X11 : 6000/TCP/UDP . . . Des processus (clients) tablissent une connexion (TCP ) ou envoient e des messages (UDP ) en vue dobtenir le service Donnes formates selon un protocole applicatif e e Sous UNIX , possibilit dutiliser inetd/xinetd e Evite de charger en mmoire une multitude de serveurs qui coutent e e inetd/xinetd coute un ensemble de ports TCP /UDP e passe la main d`s quil y a une connexion/un message e
&

enib, F.H . . . 58/68

'

Les rseaux : TCP/IP e

La couche application de TCP /IP

La commande netstat Observer ltat des connexions e


# netstat -pantu Active Internet connections (servers and established) Proto Local Address Foreign Address State tcp 0.0.0.0:929 0.0.0.0:* LISTEN tcp 0.0.0.0:935 0.0.0.0:* LISTEN tcp 0.0.0.0:139 0.0.0.0:* LISTEN tcp 0.0.0.0:973 0.0.0.0:* LISTEN tcp 0.0.0.0:111 0.0.0.0:* LISTEN tcp 0.0.0.0:6000 0.0.0.0:* LISTEN tcp 0.0.0.0:21 0.0.0.0:* LISTEN tcp 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0.0.0.0:631 0.0.0.0:* LISTEN tcp 127.0.0.1:43189 127.0.0.1:139 ESTABLISHED tcp 127.0.0.1:21 127.0.0.1:43187 ESTABLISHED tcp 127.0.0.1:139 127.0.0.1:43189 ESTABLISHED tcp 127.0.0.1:43187 127.0.0.1:21 ESTABLISHED ... PID/Program name 1174/rpc.mountd 1177/rpc.statd 1211/smbd 1220/amd 1143/rpc.portmap 1231/X 1218/proftpd: (acce 1152/sshd 1191/cupsd 15451/smbclient 15411/proftpd: harr 15452/smbd 15410/ftp

&

enib, F.H . . . 59/68

'

Les rseaux : TCP/IP e

La couche application de TCP /IP


La commande netstat
... udp udp udp udp udp udp udp udp udp udp udp udp udp udp udp udp udp udp udp udp # 0.0.0.0:32768 0.0.0.0:2049 172.16.200.12:137 172.16.51.1:137 192.168.20.236:137 0.0.0.0:137 172.16.200.12:138 172.16.51.1:138 192.168.20.236:138 0.0.0.0:138 0.0.0.0:926 0.0.0.0:800 0.0.0.0:929 0.0.0.0:932 127.0.0.1:32952 0.0.0.0:68 0.0.0.0:974 0.0.0.0:111 0.0.0.0:1022 0.0.0.0:1023 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 0.0.0.0:* 1213/nmbd 1213/nmbd 1213/nmbd 1213/nmbd 1213/nmbd 1213/nmbd 1213/nmbd 1213/nmbd 1174/rpc.mountd 1177/rpc.statd 1177/rpc.statd 15452/smbd 27292/dhcpcd 1220/amd 1143/rpc.portmap 1220/amd 1220/amd

&

enib, F.H . . . 60/68

'

Les rseaux : TCP/IP e

La couche application de TCP /IP


Le syst`me de noms de domaines DNS (Domain Name System) e Adresses IP diciles ` manipuler pour les utilisateurs a On prf`re utiliser des mots qui voquent quelque chose ee e Ce nest pas un probl`me technique mais humain ! e TCP /IP en ignore tout utilis par les applications e Un nom de domaine : liste de mots spars 2 ` 2 par un point e e a Chaque mot contient 63 caract`res au maximum e Pas de distinction majuscule/minuscule Un FQDN dsigne une machine dans un rseau e e (Fully Qualied Domain Name) ex : www.enib.fr, machine www dans le rseau enib.fr e Les points relatent la structure hirarchique des domaines e (www dans le domaine enib, lui-mme dans le domaine fr) e
&

enib, F.H . . . 61/68

'

Les rseaux : TCP/IP e

La couche application de TCP /IP


Nom de domaine adresse IP Fonction gethostbyname() de la libc Consulter le chier /etc/hosts (C:\WINDOWS\HOSTS sous M$DO$ ) Associer une adresse IP ` un (ou des) nom de domaine a Mise ` jour manuelle envisageable pour un parc tr`s rduit ! a e e Interroger un serveur DNS (voir le chier /etc/resolv.conf) Interroger la machine dsigne sur le port 53/UDP/TCP e e Serveur DNS secondaire si le primaire est en panne Complter implicitement le nom de domaine si pas de point e
# cat /etc/hosts 127.0.0.1 localhost 192.168.20.236 nowin nowin.enib.fr 192.168.21.221 winout winout.enib.fr # cat /etc/resolv.conf nameserver 192.168.18.4 nameserver 192.168.18.3 search enib.fr #
&

enib, F.H . . . 62/68

'

Les rseaux : TCP/IP e

La couche application de TCP /IP


Le serveur DNS Maintient une liste semblable ` /etc/hosts a Uniquement pour les machines de la zone dautorit e Autres noms de domaine ? Demander ` un DNS racine a ex : .enib.fr . Le DNS racine conna les DNS des zones infrieures, etc t e ex : . .fr .enib.fr, .univ-brest.fr . . . Il sagit dune base de donnes distribue e e Chaque serveur DNS ne maintient que des informations partielles Larborescence des DNS donne acc`s ` lensemble e a Les serveurs ont un cache avec une dure dexpiration e (viter de refaire la recherche compl`te ` chaque fois) e e a
&

enib, F.H . . . 63/68

'

Les rseaux : TCP/IP e

La couche application de TCP /IP


Larborescence des serveurs DNS
DNS racine .

.arpa rserv pour la rsolution inverse

.com .edu .gov institutions ducatives autres organisations gouvernementales US organisations commerciales

.int organisations internationales

.mil militaire US

.net rseau

.org autres organisations

.ae

.fr

.zw

.univbrest.fr .enib.fr

.mysubdomain.enib.fr domaines gographiques


enib, F.H . . . 64/68
%

domaines gnriques
&

'

Les rseaux : TCP/IP e

La couche application de TCP /IP


Exemple : rapatrier la page http://www.opengl.org
Requte ARP pour le DNS local e Rponse ARP pour le DNS local e Requte DNS pour www.opengl.org e (DNS.enib.fr routeur . . . Internet. . . routeur DNS.opengl.org) Rponse DNS pour www.opengl.org e Requte ARP pour le routeur e Rponse ARP pour le routeur e SYN vers www.opengl.org/80 via le routeur (. . . ) (. . . ) SYN /ACK depuis www.opengl.org via le routeur ACK vers www.opengl.org via le routeur (. . . ) Requte HTTP vers www.opengl.org via le routeur (. . . ) e (. . . ) ACK depuis www.opengl.org via le routeur (. . . ) Rponse HTTP depuis www.opengl.org via le routeur e ACK vers www.opengl.org via le routeur (. . . ) (. . . ) FIN /ACK depuis www.opengl.org via le routeur ACK vers www.opengl.org via le routeur (. . . ) FIN /ACK vers www.opengl.org via le routeur (. . . ) (. . . ) ACK depuis www.opengl.org via le routeur
&

enib, F.H . . . 65/68

'

Les rseaux : annexes e

Annexe : Vocabulaire pour les units de donnes e e


Couche liens, Ethernet, 802.2 /802.3 Une trame Couche rseau, IP e Du point de vue de la couche infrieure : un paquet e Du point de vue de la couche suprieure : un datagramme e Couche transport, UDP Du point de vue de la couche infrieure : un datagramme e Du point de vue de la couche suprieure : un message e Couche transport, TCP Du point de vue de la couche infrieure : un segment e Du point de vue de la couche suprieure : un ot e
&

enib, F.H . . . 66/68

'

Les rseaux : annexes e

Annexe : Somme de contrle sur 16 bits o


Utilis dans les enttes IP , UDP et TCP e e Champ somme de contrle donnes du calcul !!! o e Il faut mettre ce champ ` zro avant deectuer le calcul a e Volume de donnes concern pas ncessairement pair e e e
unsigned short checksum16(const void * addr, unsigned short size) { unsigned long sum=0; while(size>1) { sum+=*(((const unsigned short *)addr)++); size-=sizeof(unsigned short); } if(size) { sum+=*((const unsigned char *)addr); } while(sum>>16) { sum=(sum&0x0000FFFF)+(sum>>16); } return(~sum); }
&

// somme sur 32 bits si retenues

// additionner des entiers // de 16 bits // un octet supplementaire ? // poids fort dun entier // de 16 bits // replier la somme sur // 32 bits pour obtenir un // entier de 16 bits // le complement de ce calcul
%

enib, F.H . . . 67/68

'

Les rseaux : annexes e

Annexe : Quelques RFC (Request For Comments)


Descriptions dtailles de ce qui doit tre normalis e e e e On peut les obtenir sur http://www.ietf.org/rfc.html Couche liens, Ethernet, 802.2 /802.3 RFC 894, RFC 1042 Couche rseau, IP , ARP , RARP , ICMP e RFC 791, RFC 826, RFC 903, RFC 792 Couche transport, UDP , TCP RFC 768, RFC 793 Couche application, DNS RFC 1034, RFC 1035
&

enib, F.H . . . 68/68