76
M1 Informatique, Reseaux Decouverte des r eseaux centr ee sur l’internet M1 Informatique, Reseaux Decouverte des r eseaux centr ee sur l’internet Olivier Togni Universit e de Bourgogne, IEM/LE2I Bureau G206 [email protected] 11 janvier 2018 1 de 76

M1 Informatique, R eseaux D ecouverte des r eseaux centr

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

M1 Informatique, ReseauxDecouverte des reseaux centree sur l’internet

Olivier TogniUniversite de Bourgogne, IEM/LE2I

Bureau [email protected]

11 janvier 2018

1 de 76

Page 2: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Chapitre 1 : Les reseaux et l’internet : une introduction

1. introduction, historique

2. protocole

3. classifications des reseaux

4. reseaux d’acces, FAI

5. modele en couche et architecture de l’internet

2 de 76

Page 3: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

L’internet ?Concretement : reseau d’ordinateurs a l’echelle planetaire

Primergy Primergy

Primergy

Primergy

3 de 76

Page 4: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

L’internet ?Fonctionellement : applications distribuees permettant aux terminaux d’echanger desdonnees

I mel,

I naviguation web,

I transfert de donnees multimedia en flux continu (streaming),

I telehponie sur IP,

I jeux en reseau,

I partage d’egal a egal,

I ...

Rem : toile (web) n’est pas un reseau a part mais une desnombreuses applications utilisant les services de l’internet

4 de 76

Page 5: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Historique

1961-1972 commutation par paquet (MIT, ARPA)→ 1972 : ARPAnet a 15 nœuds

1972-1980 reseaux proprietaires et interfonctionnement dereseaux (ALOHAnet, Telnet, SNA, Cyclades, ...)

1980-1990 proliferation des reseaux (BITNET, CSNET,NSFNET,...)→ 1983 : TCP/IP remplace NCP dans ARPAnet

1990- explosion de l’internet→ Tim Berners-Lee concoit le web (1989-1991)

Rem : et la France ? reseau commute (X.25, Frame Relay)Transpac, Minitel

5 de 76

Page 6: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Definition

Definition

Un protocole definit le format et l’ordre des messages echangesentre deux entites ou plus ainsi que les actions generees au momentde la transmission ou reception d’un message ou autre evenement.

Rem : peut etre decrit par un automate

IETF (Internet Engeenering Task force) : organisme dont le roleest de faire evoluer l’Internet (creation, experimentation,applications des normes de l’internet) → documents RFC (RequestFor Comment), actuellement plus de 6000.

Protocoles principaux de l’internet : TCP et IP

6 de 76

Page 7: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Exemple d’echange

7 de 76

Page 8: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Classifications des reseaux

Differentes classifications suivant :

I la taille du reseau (etendue),

I le mode de fonctionnement (commutation de circuits / parpaquet),

I le mode de transmission (connecte / non connecte).

8 de 76

Page 9: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Commutation de circuits

Pour le cœur de reseauRessources le long d’un chemin pour la communication entre lesterminaux sont reservees pour toute la duree de la sessionPlusieurs circuits par liaison par multiplexage en frequence (FDM)ou temporel (TDM)

commutateur de circuits

liaison de n circuits

− couteux en ressources (si silence)− mise en place prend du temps

9 de 76

Page 10: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Circuits virtuels

VC = virtual circuit constitue de

I chemin source / destination,

I n◦ de VC pour chaque liaison,

I entree dans table de conversion de VC dans chaquecommutateur.

12 22 17

1 2 21

1 12 2 22 1 22 2 17

⇒ Chaque commut. garde une trace (etat) des connexions letraversant

10 de 76

Page 11: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Commutation par paquet

I Ressources utilisees a la demande (pas de reservation) ⇒parfois attente pour acces liaison

I Donnees fragmentees en paquets par l’emetteur. Chaquepaquet contient l’adresse de destination (structurehierarchique).

I Les commutateurs (routeurs) ne gardent pas trace des flux lestraversant.

I Routeur = plusieurs interfaces avec chacune un tampon (filed’attente) en sortie ⇒ delai d’attente suivant encombrement+ perte possible si tampon sature

− mal adapte aux services en temps reel+ meilleur partage, simplicite

11 de 76

Page 12: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Mode connecte / non connecte

I Mode connecte : etablissement d’un connexion entre lesentites par echange de messages de controle (procedure de“poignee de main”) avant le transfert des paquets ⇒

I permet de se preparer a l’envoi ou la reception de paquetsI associe au service de transfert fiable et controle de flux,

congestionI ex : TCP

I Mode non connecte : envoi de paquet entre entites sansprocedure de mise en presence prealable

I permet envoi plus rapide des donneesI pas de fiabilite : la source ne sait pas quels paquets sont arrives

a destinationI ex : UDP

12 de 76

Page 13: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Segmentation de messages

Dans un reseau a commutation par paquet, il est preferable que lesmessages soient segmentes en paquets (plus petits) par la sourceet reconstitues par le destinataire

13 de 76

Page 14: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Retards et pertes

I temps de traitement = temps pour examiner en-tete etdeterminer liaison de sortie → µs pour les routeurs haut debit

I temps d’attente (en file attente sortie) µs → ms

I temps de transmission = temps pour placer tous les bits sur laliaison = L/R ou L = taille du paquet (bits) et R = debit(b/s)

I temps de propagation : depend du support = distance/vitesse,avec vitesse entre 2.108m/s et 3.108m/s

14 de 76

Page 15: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Exemple de traceroute

traceroute to www.cbs.com (64.30.228.49), 30 hops max, 60 byte packets

1 swr-r235.u-bourgogne.fr (193.52.235.97) 0.921 ms 0.919 ms 1.156 ms

2 vl193-te0-0-0-0-dijon-rtr-011.noc.renater.fr (193.51.181.218) 3.353 ms 3.355 ms 3.351 ms

3 te0-3-2-0-lyon1-rtr-001.noc.renater.fr (193.51.177.72) 9.231 ms 9.235 ms 9.230 ms

4 * * *

5 xe-4-3-0-100.mrs10.ip4.gtt.net (77.67.90.117) 16.950 ms 16.955 ms 16.951 ms

6 xe-9-2-4.par22.ip4.gtt.net (89.149.187.166) 19.311 ms 19.268 ms 19.266 ms

7 as3356.par22.ip4.gtt.net (141.136.103.182) 19.243 ms 19.240 ms 19.249 ms

8 ae-1-8.bar1.Phoenix1.Level3.net (4.69.133.29) 163.782 ms 164.497 ms 164.135 ms

9 ae-1-8.bar1.Phoenix1.Level3.net (4.69.133.29) 164.878 ms 163.348 ms 163.977 ms

10 CBS-CORPORA.bar1.Phoenix1.Level3.net (4.53.106.166) 161.593 ms 163.541 ms 162.578 ms

11 ae2-0.io-phx2-ex8216-1.cnet.com (64.30.227.58) 163.266 ms 162.597 ms 166.940 ms

12 * * *

13 * * *

...

30 * * *

15 de 76

Page 16: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Reseaux d’acces

Reseau d’acces = liaison entre le terminal et un routeurperipherique3 modes d’acces :

I residentielI ADSL,I fibre optique + cable coaxial (cable)

I d’entreprise : LAN (le plus souvent Ethernet sur paire torsadeecuivre)

I mobile : WLAN (Wifi, WiMAX, ...)

16 de 76

Page 17: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

ADSL

Asymetric Digital Suscriber Line fait partie des normes xDSL

Modem ADSL = Multimodulateur sur 255 porteuses (4,3125 kHz,8,625 kHz, 12,9375 kHz, ...)Canaux 16-31 : traffic montantCanaux 33-255 : traffic descendant

Autocommutateur

DSLAM

com. telephone

RTC

internet

17 de 76

Page 18: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

LAN et WLAN

vers routeur FAI

Switch

Ethernet Switch

Ethernet

18 de 76

Page 19: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Fournisseurs d’acces internetPlusieurs niveaux de FAI :

I niveau 1 : couverture internationale (ex . UUNet)

I niveau 2 : couverture nationale

Connectes entre eux par des points de presence (POP), pointsd’acces au reseau (NAP) ou noeuds d’echange prives

12

3

19 de 76

Page 20: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Structure en couchesModele en couche OSI normalise par l’ISO en 1997 (ISO 7498)

application

physique

présentation

session

transport

réseau

liaison

Support physique

physique

réseau

liaison

application

physique

présentation

session

transport

réseau

liaison

Support physique

physique

réseau

liaison

émetteur A récepteur B

Communication entre couches

20 de 76

Page 21: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Encapsulation

n-PDU = Packet Data Unit de la couche n

M1H3

M1H3H2

M1H3H2H1

M

M2

H2H3 M2

H3

H1H2 H3 M2

M1H3

M1H3H2

M1H3H2H1

M

M2

H2H3 M2

H3

H1H2 H3 M21−PDU

2−PDU

3−PDU

21 de 76

Page 22: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Fonctions des couches

I Detection d’erreurs → ameliorer fiabilite

I controle de flux → eviter saturation d’un poste plus lent avecdes PDU

I segmentation et reassemblage → diviser les groupes dedonnees volumineux cote emetteur et les reconstituer coterecepteur

I multiplexage → plusieurs session de niveau superieur peuventpartager une meme connexion de niveau inferieur

I etablissement de connexion → procedure de mise en presenceavec d’autres postes

22 de 76

Page 23: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Architecture de l’internetArchitecture = couches + protocoles

1 Physique

2 Liaison

3 Réseau

4 Transport

5 Session

6 Présentation

7 Application Application:

Accès au réseau:Ethernet, TokenRing,FDDI, PPP,...

TCP, UDP

SSH, HTTP,Telnet, DNS, ...

Architecture TCP/IPModèle OSI

Transport:

ARPICMPInter−réseau: IP

23 de 76

Page 24: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Les couches de l’internet 1/2

I Couche ApplicationI Responsable de l’execution des differentes applications reseauI Multitude de protocoles (HTTP pour le web, SMTP pour la

messageire electronique, FTP pour le transfert de fichiers, ...)I Facile de creer des protocoles personnels de couche application

I Couche TransportI transport des messages de la couche ApplicationI TCP : service oriente connexion, garantie livraison et controle

de flux et de saturationI UDP : service sans connexion (service minimum)

24 de 76

Page 25: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Les reseaux et l’internet : une introduction

Les couches de l’internet 2/2

1. Couche ReseauI acheminement des datagrammes (IP)I routage : plusieurs protocoles intra ou inter domaineI gestion des erreurs : ICMP

2. Couche LiaisonI transmission des paquets IP d’un noœud au nœud suivantI service offert depend du protocole utilise (Ethernet, PPP,

ATM, ...)

3. Couche PhysiqueI transmettre suite de bits correspondant a la trame du noœud

au nœud suivantI depend du protocole et du support physique

25 de 76

Page 26: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

Chapitre 2 : La couche Application

1. Principes des applications reseaux

2. Le web et HTTP

3. Le DNS

4. le courriel

26 de 76

Page 27: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

Les elements de la couche Application

I les processus sur differents terminaux communiquent ens’envoyant des messages

I les applications reseau utilisent des protocoles de niveauapplication

I l’agent utilisateur est interface entre l’utilisateur etl’application

Ex : le web =

I norme sur le format des documents (HTML)

I navigateurs web (IE, Firefox, chrome, ...)

I serveurs web (Apache, Microsoft, ...)

I protocole HTTP (RFC 2616)

27 de 76

Page 28: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

Protocoles de niveau application

Definissent la facon dont les processus situes sur des systemesd’exploitation differents echangent mutuellement des messages :

I type de messages echanges (requete, reponse, ...)

I syntaxe (differents champs et delimitation)

I semantique (sens des informations contenues dans les champs)

I regles utilisees pour savoir quand et comment un processusdoit envoyer (ou repondre a) un message

Rem : de nombreux protocoles sont publics (definis par des RFC),d’autres sont du domaine prive (ex. skype)

28 de 76

Page 29: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

Architecture client-serveur

I Serveurs : toujours actifs, adresse IP permanante

I clients : pas toujours connectes, adresse IP dynamique, necommuniquent pas directement entre eux

Primergy

Primergy

serveur 2client

requete

requete

reponse

reponse

serveur 1

Processus identifies par couple (adresse IP, n◦ de port)

29 de 76

Page 30: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

Architecture pair a pair

I les pairs communiquent directement entre eux

I chaque pair demande des services et en propose en retour

I serveurs pas toujours actifs, adresse IP changent → gestiondifficile

I auto-scalable : les nouveaux pairs apportent de nouveauxservices et de nouvelles demandes

I ex. : BitTorrent

30 de 76

Page 31: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

Services necessaires a une application

Application Perte dedonnees

Debit Sensibilite au temps

Transfert de fichier Interdite Flexible nonCourrierelectronique

Interdite Flexible non

Pages web Interdite Flexible nonFichier av en tempsreel

Acceptable qques kb/s a10 Mb/s

oui : qques centainede ms

Fichier av enregistre Acceptable qques kb/s a10 Mb/s

oui : qques s

Jeux interactifs Acceptable qques kb/s oui : qques centainesde ms

Messagerie instan-tanee

Interdite Flexible oui et non

31 de 76

Page 32: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

Services fournis par TCP et UDP

TCP : service oriente connexion et transport fiableUDP : service sans connexion et non fiable

Application Protocole applicatif protocole de transportCourier electronique SMTP TCPAcces terminal distant Telnet TCPWeb HTTP TCPTransfert de fichiers FTP TCPserveur de fichier distant NFS UDP ou TCPMultimedia en streaming souvent proprietaire UDP ou TCPTelephonie sur internet souvent proprietaire generalement UDP

Rem : d’autres protocoles de transport existent, par ex. SCTP

32 de 76

Page 33: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

Securisation de TCP

I TCP & UDPI pas cryptesI mots de passe traversent l’internet en clair

I SSL/ TLS (depuis 2001, IETF)I fournit une connexion TCP crypteeI integrite des donnees, authentification de bout en boutI au niveau application : les applications utilisent une librairie

SSL qui ”parle” a TCPI ex. HTTPS = HTTP sur TLS

33 de 76

Page 34: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

Sockets

Processus envoie/recoit des messages vers/depuis ses sockets

Accès au réseau

Réseau

Transport

Application

process

Accès au réseau

Réseau

Transport

Application

process developpeur

controle par

controle

par OS

socket

34 de 76

Page 35: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

HTTP

HTTP et le web

I HTTP = HyperText Transfert ProtocolI HTTP 1.0 (→ 1996, RFC 1945)I HTTP 1.1 (1999, compatible avec 1.0 (RFC 2616 + RFC

7230-7237))I HTTP 2.0 (2015, RFC 7540) pour rapidite, provient de SPDY

de Google

I Page web constituee de plusieurs objets : fichier HTML,image, clip, applet, ...

I objet identifie par une URL (Uniform Ressource Locator)ex : http://www.monserveur/monsite/photo.png

I Client web (navigateur) demande, recoit et affiche les pagesweb (pole client de HTTP)

I Serveur web heberge les objets web (pole serveur de HTTP)et les envoie en reponses aux requetes

35 de 76

Page 36: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

HTTP

HTTP et le web (suite)

I utilise TCPI le client initie une connexion TCP aupres du serveur (port 80)I le serveur accepte la dmeande de connexion du clientI messages HTTP echanges entre le navigateur (client HTTP)

et le serveur Web (serveur HTTP)I fermeture connexion TCP

I HTTP est un protocole sans etat : le serveur ne maintien pasd’information sur les requetes precedentes du client

Primergy requete

reponsereponse

requete

serveur ApachePC, firefox PDA, Safari

36 de 76

Page 37: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

HTTP

Connexion persistante

I connexion non persistante : au plus un objet envoye sur laconnexion TCP (puis fermeture)ex. : HTTP 1.0 utilise des connexions non persistantes

I connexion persistante : plusieurs objets peuvent etre envoyeslors d’une meme connexion TCPConnexion fermee si inactivite longueHTTP 1.1 les deux (par defaut persistante)

I avec pipelinage (envoi requete suivante sans attendre reponse)ou sans

⇒ plus rapide

37 de 76

Page 38: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

HTTP

Messages HTTP

I 2 types de messages : requete ou reponse

I format ASCII ⇒ lisibleI Trois requetes les plus courantes (9 en HTTP 1.1) :

I GET : obtenir un objetI HEAD : obtenir informations sur objet sans demander l’objet

en lui-memeI POST : transmettre des donnees pour modifier ou creer un

objet

38 de 76

Page 39: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

HTTP

Format des requetes HTTP

Lignes d'en-tête

méthode sp sp cr lfversionURL

cr lfvaleurnom du champs d'en-tête

cr lfvaleurnom du champs d'en-tête

~~~~

cr lf

~~ ~~ corps

Ligne d'état

GET /somedir/page.html HTTP/1.1

Host: www.someschool.edu

Connection: close

User-agent: Mozilla/5.0

Accept-language: fr

39 de 76

Page 40: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

HTTP

Reponses HTTP

HTTP/1.1 200 OK

Connection: close

Date: Tue, 09 Aug 2011 15:44:04 GMT

Server: Apache/2.2.3 (CentOS)

Last-Modified: Tue, 09 Aug 2011 15:11:03 GMT

Content-Length: 6821

Content-Type: text/html

(data data data data data ...)

Quelques autres codes :

301 Moved Permanently

400 Bad Request

404 Not Found

505 HTTP Version Not Supported40 de 76

Page 41: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

HTTP

Cookies

I Crees par Netscape pour gerer les etatsI permet au serveur de memoriser des donnees cote client :

I cle de sessionI preferences de l’utilisateur sur le siteI achats realises, ...

I Set-Cookie dans reponse du serveur pour demander au clientde creer le cookie

I contient plusieurs champs : Nom, Valeur, Domaine, Dateperemption, ...

41 de 76

Page 42: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

HTTP

Cookies

client server

usual http response msg

usual http response msg

cookie file

one week later:

usual http request msgcookie: 1678 cookie-

specificaction

access

ebay 8734usual http request msg Amazon server

creates ID1678 for user

create entry

usual http response set-cookie: 1678

ebay 8734amazon 1678

usual http request msgcookie: 1678 cookie-

specificaction

access

ebay 8734amazon 1678

backenddatabase

(de Kurose et Ross, Computer networking : a top-down approach, 6E, Pearson)

42 de 76

Page 43: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

HTTP

Caches

I permettent de reduire les delais de reponseI deux types de caches :

I cache navigateurI cache proxy HTTP

I repose sur GET conditionnel (If-modified-since : <date> )

43 de 76

Page 44: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

HTTP

Proxy HTTP

I utilise regulierement des requetes HEAD pour proposer desfichiers non perimes

I Etag : identifie un objet sur le serveur (si objet modifie ⇒Etag modifie) utilise avec If-match, If-none-match

I negociation de contenu : Accept-langage:<l1>, <l2>,

... (ponderation possible)

44 de 76

Page 45: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

DNS

Identification des hotes

I Vie reelle : humain identifies de plusieurs facons (nom, n◦

secu, n◦ permis conduire, ...)I internet : hotes identifies de deux facons :

I Nom d’hotes (ex. cnn.com, ufrsciencestech.u-bourgogne.fr)I apprecies par les humainsI pas ou peu d’info sur localisationI longueur variable

I adresses IP (IPv4 : 32 bits, ex : 193.52.237.96)I hierarchique : reseau + sous-reseau + numero hote

I Translation effectuee par DNS

45 de 76

Page 46: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

DNS

Domain Name System

DNS (RFC 1034, 1035 + recents)

1. BDD distribuee sur hierarchie de serveur DNS

2. protocole de niveau application permettant aux hotes dequestionner la BDD

I souvent serveur Unix + logiciel BIND (Berkeley InternetName Domain)

I utilise UDP sur port 53 (TCP pour recopie BDD entreserveurs)

I point critique de l’architecture TCP/IP ! !

46 de 76

Page 47: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

DNS

Domain Name System (suite)

Donne aussi d’autres informations comme

I alias d’hote (1 hote = nom canonique + alias 1, alias 2, ...)

I alias de mel (ex : smtp.u-bourgogne.fr =zproxy.u-bourgogne.fr)

I equilibrage de chargeex : serveurs de google.fr = plusieurs adresses IPrequete DNS www.google.fr → ensemble d’adresses dansordre different a chaque reponse

47 de 76

Page 48: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

DNS

Hierarchie

Root servers + Top Level Domains (TLD) + Authoritative servers+ local servers

48 de 76

Page 49: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

DNS

Serveurs racine

13 serveurs racine (root-servers [a-m].root-servers.net) dontneuf dupliques, soit plus de 130 serveurs physiques

(voir http://www.root-servers.org/)

49 de 76

Page 50: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

DNS

Requete iterative/recursive

1

2

3

6

87

5

4DNS local

root DNS

TLD DNS

dns1.proxad.net

atlas.free.fr

1

2

8

DNS local

root DNS

TLD DNS

dns1.proxad.net

atlas.free.fr

7

mit.edu

authoritative DNS

chronos.mit.edu chronos.mit.edu

mit.edu

authoritative DNS

54

6

3

����������������

����������������

������������

������������

���������������

���������������

���������

���������

������

���������������

���������������

���������

���������

������

������������

������������

������������

������������

���������������

���������������

���������

���������

������

���������������

���������������

���������

���������

������

��������������������

��������������������

���������

���������

������

��������������������

��������������������

���������

���������

������

������������

������������

������������

������������

�����������

�����������

�����������

�����������

������������

������������

������������

������������

������������

������������

������������

������������

�����������

�����������

�����������

�����������

������������

������������

������������

������������

������������

������������

������������

������������

+ cache (correspondance gardee en memoire par DNS local)

50 de 76

Page 51: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

DNS

Enregistrements

RR = ressource record = (Name, Value, Type, TTL)

I TTL : combien de temps garder la ressource en cache

I Type :

A Name = hostname, Value = adresse IPv4AAAA Name = hostname, Value = adresse IPv6

NS Name = domain, Value = hostname du serveurayant authorite

CNAME Value = cannonical hostnameMX Value = nom cannonique de serveur mel

PTR Name = (adresse IP en sensinverse).in-addr.arpa., Value = hostname

51 de 76

Page 52: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

Le courrier electronique

Le courriel

I Un des tous premiers services de l’internet (Hotmail : premierweb-mel en 1996)

I Communication asynchrone, rapide, peu couteux, nombreusesameliorations : attachements, hyperliens, texte au formatHTML, photos,...

I Repose sur trois composantes : agents utilisateurs, serveurs demel, protocole SMTP

(de Kurose et Ross, Computer networking : a top-down approach, 6E, Pearson)

52 de 76

Page 53: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

Le courrier electronique

Agent utilisateur

I l’envoi de mel pourrait se faire de l’agent utilisateurdirectement vers le serveur SMTP du recepteur, maispreferable de passer par un serveur SMTP “local”

I plusieurs protocoles d’acces a boite distante : POP3, IMAP,Web-mel

I POP3 (RFC 1939) est simple mais limite. Trois phases :autorisation, transaction, mise a jour et deux modes :download et delete ou dowload et keep.

I Internet Mail Access Protocol (IMAP, RFC 3501) est pluscomplexe mais permet de gerer une hierarchie de dossiers adistance et de ne recuperer qu’une partie d’un mel (en-tete oupartie d’un message MIME).

I Web-mel : l’envoi depuis le navigateur web vers le serveurSMTP ainsi que l’envoi entre le serveur SMTP et le navigateurdu recepteur se font en utilisant HTTP plutot que SMTP etIMAP ou POP3.

53 de 76

Page 54: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

Le courrier electronique

Simple Mail Transfer Protocol (SMTP)

I RFC 5321, mais SMTP date d’avant 1982

I Utilise TCP, partie Client et partie serveur

I Le corps du message doit etre code en ASCII 7-bits (donc lescontenus multimedia doivent etre encodes avant envoi)

I Dialogue direct de serveur SMTP de l’emetteur avec leserveur SMTP du recepteur. Si srv recept. non actif, attentedu cote serv. emet. puis nouvelles tentatives

I Comparaison avec HTTP :I Les deux utilisent tous deux des connections TCP persistantesI HTTP est un proto. de type “pull” et SMTP de type “push”I pas de restriction de codage ASCII 7-bits avec HTTPI transfert de texte + image : dans le meme message SMTP vs.

dans des messages HTTP differents

54 de 76

Page 55: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Application

Le courrier electronique

Simple Mail Transfer Protocol (SMTP)

Exemple de dialogue client (C) - serveur (S) :> telnet smtp.u-bourgogne.fr 25

S: 220 zproxy01.u-bourgogne.fr ESMTP Postfix

C: HELO bidule.net

S: 250 zproxy01.u-bourgogne.fr

C: MAIL FROM: <[email protected]>

S: 250 2.1.0 Ok

C: RCPT TO: <[email protected]>

S: 250 2.1.5 Ok

C: DATA

S: 354 End data with <CR><LF>.<CR><LF>

C: Salut vielle branche,

C: ca baigne ?

C: .

S: 250 2.0.0 Ok: queued as 7B14B2D4762

C: QUIT

S: 221 2.0.0 Bye

55 de 76

Page 56: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

Protocoles de transport

I les protocoles de couche transport proposent unecommunication logique entre processus sur des hotes differents

I paquets de transport = segments (parfois appelesdatagrammes pour UDP)

I implantes sur les hotes terminaux (pas sur les routeurs)

I il en existe plusieurs (TCP, UDP, SCTP, DCCP, TFRC, ...)

56 de 76

Page 57: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

Multiplexage/demultiplexage

I couche reseau : service d’hote a hote

I couche transport : service de process a process

I segments contiennent des champs numero de port source etdestination qui servent a indiquer de quelle applicationprovient le paquet et a quelle application il est destine

I Trois types de ports :

1. les ports ”systeme” (0-1023) sont affectes a des applicationsstandard et assignes par IETF Ex : HTTP=80, SSH=22, ...voir /etc/services sous Linux et OS X ;

2. les ports ”utilisateur” (1024-49151) assignes par IANA3. les ports ”dynamiques” et/ou prives (49152-65535)

57 de 76

Page 58: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

Identifiants de transport

I UDP : (adr dst, port dst)

I TCP : (adr src, port src, adr dst, port dst)

Primergy Primergy

(@C, port C

, @B, port B

)

(@A, port A, @B, port B) A

C

B

UDP

(@A, port A, @B, port B) A

C

B

TCP

(@C, port C, @

B, port B)

58 de 76

Page 59: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

Mecanisme de fiabilisation

I acquittements positifs et negatifs,

I numerotation des paquets,

I numerotation des acquittements.

Optimisations :

I piggypacking : ajout d’acquittements dans paquets dedonnees envoyes dans l’autre sens

I fenetre d’anticipation (pipelinage) : permet l’envoi d’uncertain nombre de paquets sans attendre d’acquittements⇒ besoin de tampons pour paquets non encore acquittes

59 de 76

Page 60: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

Acquittements positifs et negatifs

ACK

A B

NACK

ACK

Temps

A B

paquet2

TemporisateurT0

T0

T0

60 de 76

Page 61: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

Numerotation des paquets

A B

TempoT0

T0

paquet(1)

A B

TempoT0

T0

paquet(1)

ACK

61 de 76

Page 62: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

Numerotation des acquittements

A B

paquet(2)

TempoT0

T0

T0

A B

TempoT0

T0paquet(1)

T0

62 de 76

Page 63: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

Controle d’erreur

I champs Checksum (16 bits) = somme des mots de 16 bits del’entete et complement a 1

I meme si controle d’erreurs effectue dans couches inferieures(ex. Ethernet) car controle de bout en bout

Ex. pour 001110110101011110000110 sur 8 bits :00111011 + 01010111 = 1001001010000110 + 10010010 = 00011011Checksum : 11100100

63 de 76

Page 64: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

UDP (User Datagramm Protocol, RFC 768)

Service de transport non fiable en mode non connecte, peu devaleur ajoutee par rapport a IP

I multiplexage/demultiplexage

I controle d’erreur sur entete mais pas de reprise sur erreur(segment errone jete ou passe au process avec warning)

Utile quand :

I donnees a envoyer tres rapidement,

I petites quantites de donnees,

I perte de paquets pas tres importante,

I donnees multicast

Utilise par les applis DNS, TFTP, streaming, VoixSurIP

64 de 76

Page 65: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

Format d’un paquet UDP

0 7 8 15 16 23 24 31

+--------+--------+--------+--------+

| Source | Destination |

| Port | Port |

+--------+--------+--------+--------+

| | |

| Length | Checksum |

+--------+--------+--------+--------+

|

| data octets ...

+---------------- ...

length : longueur des donnees en octets, y compris en-teteChecksum : somme de controle sur pseudo en-tete incluant lesadresses IP

65 de 76

Page 66: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

TCP

TCP (Transmission Control Protocol, RFC 793)

Service de transport fiable en mode connecte (sur IP non fiable,sans connexion) =>

I etablissement, maintien et fermeture d’une connexion virtuelle

I acquittements, sequencement et reassemblage des donnees

I controle de flux par fenetre glissante

Utilise par la plupart des applis : HTTP, SSH, FTP, SMTP, ...95% du trafic Internet est transporte par TCP

66 de 76

Page 67: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

TCP

Format des segments TCP

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

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Source Port | Destination Port |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Sequence Number |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Acknowledgment Number |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Data | |U|A|P|R|S|F| |

| Offset| Reserved |R|C|S|S|Y|I| Window |

| | |G|K|H|T|N|N| |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Checksum | Urgent Pointer |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Options | Padding |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| data |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Data offset = nombre de mots de 32 bits de l’enteteUrgent pointer : position du dernier bit de donne urgente dans lesegment

67 de 76

Page 68: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

TCP

Gestion de la connexion TCP

SYN+ACK N(S)=y, N(A)=x+1

ACK N(S)=x+1, N(A)=y+1

SYN N(S)=x

Etablissement

Serveur Client ServeurClient

Fermeture

FIN

ACK

ACK

FIN

68 de 76

Page 69: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

TCP

sequencement TCP

Exemple : session telNetServeurClient

ACK, N(S)=79, N(A)=43, data=’C’

N(S)=42, ACK=79, data=’C’

ACK N(S)=43, N(A)=80

saisie de ’C’

acquitementrenvoi de ’C’ en echo

acquitementde l’echo de ’C’

69 de 76

Page 70: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

TCP

Temporisation

Combien de temps attendre si pas de ACK recu suite a l’envoi d’unsegment TCP ?Ce delai (Timeout) doit etre superieur au RTT. Il est calcule apartir d’une estimation du RTT moyen et en y ajoutant une margede securite

RTTmoyen = (1− α)RTTmoyen + αRTTechantillonVarianceRTT = (1− β)VarianceRTT + β|RTTechantillon− RTTmoyen|Delai = RTTmoyen + 4VarianceRTT

valeurs typiques de α, β : α = 0.125 et β = 0.25

Si retransmission, alors Timeout double

70 de 76

Page 71: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

TCP

Envoi des acquittements

Timeout peut etre long mais possibilite de s’apercevoir d’une perteavant : ACK dupliques (ACK pour un segment qui a deja eteacquitte)

Evenement Action

arrivee segment avec NS attenduet data jusqu’a NS deja acquittees

attendre 500 ms l’arrivee d’unautre segment avant envoi ACK

arrivee segment avec NS attenduet segment recu en attente ACK

envoyer un ACK immediatementpour les deux

arrivee segment avec NS plusgrand qu’attendu trou)

envoyer ACK dupliqueimmediatement

arrivee segment qui comble un troupartiellement ou totalement

envoyer ACK immediatement sisegment comble le debut du trou

71 de 76

Page 72: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

TCP

Controle de flux TCP

Le champs ”Fenetre” (window) du segment TCP indique lenombre d’octets que l’entite est capable de recevoir (taille de lafenetre de reception)

de la couche IPDonnees provenant

d’applicationProcessus

Espace disponibleDonnees TCPa l’interieurdu tampon

Buffer recept

Fenetre Recept

72 de 76

Page 73: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

TCP

Controle de congestion

Variable congwin maintenue par chaque entite TCP : emetteurverifie quedernier octet envoye - dernier octet acqte ≤ min(congwin, fenetre)perte = Timeout ou 3 ACK dupliques → indication de congestionpour l’emetteurCongestion → Router overflow → perte paquet IP → pertesegment TCPEvolution de congwin : ACK recu → congwin augmentee ; perte →congwin diminueeDebit environ congwin/RTT octets/s

73 de 76

Page 74: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

TCP

Algorithme de controle de congestion

Defini dans RFC 5681 (TCP congestion control, 2009)Trois modes :

1. Slow start

2. Congestion avoidance

3. Fast recovery (optionnel)

74 de 76

Page 75: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

TCP

Slow start et Congestion avoidance

I Slow startDebit initial : 1 MSS (Maximum Segment Size = MTU -40octets en-tete IP + TCP)ACK recu ⇒ Congwin+ = 1MSS ⇒ 2 segments envoyes2 ACK recu ⇒ Congwin+ = 2MSS⇒ doublement du debit a chaque RTTPerte ⇒ congwin = 1MSS

I Congestion avoidance : quand congwin arrive a la moite de savaleur lors de la derniere perte (la congestion est proche),alors congwin+ = 1MSS a chaque RTT

75 de 76

Page 76: M1 Informatique, R eseaux D ecouverte des r eseaux centr

M1 Informatique, Reseaux Decouverte des reseaux centree sur l’internet

Couche Transport

TCP

Fast recovery (Reno)

I congwin+ = 1MSS pour chaque ACK duplique recu pour lesegment manquant qui a fait passer en mode Fast recovery

I Timeout ⇒ passage en mode Slow Start

I De nombreuses autres variantes de l’algorithme de controle decongestion de TCP existent (Vegas, CUBIC, ...)

I En conclusion : debit en ”dents de scie”, de type AIMD(additive increase, multiplicative decrease)

76 de 76