• Aucun résultat trouvé

Il n'existe auunlivregeneralanotreonnaissane

N/A
N/A
Protected

Academic year: 2022

Partager "Il n'existe auunlivregeneralanotreonnaissane"

Copied!
44
0
0

Texte intégral

(1)

DES SYST

EMES D'EXPLOITATION :

LES CAS LINUX

VOLUME UN

ETHERNET, IP et UDP

Patrik Cegielski

egielskiuniv-paris12.fr

Juin 2005

(2)
(3)

UniversiteParis12-IUT

RouteforestiereHurtault

F-77300Fontainebleau

egielskiuniv-paris12.fr

(4)
(5)

Prefae

On peut distinguerquatre niveauxen e qui onernelesrapports entre une personneet le

sous-systemereseaud'un systemed'exploitation:

{ Auniveauutilisateur,onutilisedesappliations(logiiels)faisantinterveniruneonnexion

informatique, tellesqueleourriereletronique,laonsultationdepagesweb,letransfert

dehiers.

{ Le niveau administrateur onsiste a parametrer le sous-systeme reseau du systeme d'ex-

ploitation,aletenirajouretaapporterdesressouresauxutilisateurs(attributiond'une

adresseIP,parexemple).

{ Leniveauprogrammationreseaupermet deonevoirdesappliations,queelles-isoient

utilisees loalement ou onnaissent une grande diusion. Cette programmation se fait

presquetoujoursenlangageCenutilisantdesappelssystemeonstituantuneAPI(Appli-

ationProgrammer Interfae).

{ Le niveau oneption du noyau reseau onsiste a onevoir et a implementer ette API

reseau.

Le but de e livre est de faire omprendre l'implementation du sous-systeme reseau des

systemesd'exploitation,'est-a-diredel'APIreseau.Ilexistedetresnombreuxlivres(ennombre

tropimportantm^eme)pourderireleniveauutilisateur,quifaitdetoutefaonmaintenantpar-

tiedelaulturedebasedetoutunhaun.Ilestm^emepartieintegrantedu\solefondamental"

de l'eole telque deni en Frane en 2004. L'administration reseauaegalement donnee lieu a

unelitteratureabondante,parexemple[K-D{01℄.Lalitteraturesurlaprogrammationreseauest

moinsfournie:larefereneest[STE{90℄dansleasUnix.Lalitteraturesurl'implementationdu

sous-sytemereseauest plus quemaigrihonne ([HER{00℄, [WPRMB{02℄, [C-P{02℄). Il n'existe

auunlivregeneralanotreonnaissane.

Le hoix dusystemed'exploitation permettant d'illustrer notre proposs'est tout naturelle-

mentportesurLinux,puisquenouspouvonsnousenprourerlessourestresfailement.

Notre but n'estpas d'etudierTOUTEl'implementation dusous-systemereseau(Linux), e

quiouperaitplusieursvolumesommeelui-i,dontlenombredepagesestdejasuÆsamment

imposant.Nousvoulonssimplement,sil'onpeutdire,etudierunasreeldepuisledebutjusqu'a

lan.

Dans la premiere partie, nous donnons une vue d'ensemble sur les reseaux et les modeles

d'arhiteture(OSIaseptouhes,TCP/IPatroisouhesetlemodelemixteainqouhes),

nousderivonstresrapidementlaouhephysique(premiereouhe)puisquelaprogrammation

(etdonlesous-systemereseau)n'yaquefaire.Pourillustrerlaouheliaison(deuxiemeouhe),

nousavonshoisiEthernet,quiestlareferenepourLinux.Laouhereseau(troisiemeouhe)

est illustree ave IP, devenu larefereneabsolue quelleque soit lereseau. Bienque le modele

(6)

ouhe) ave UDP et non TCP, e qui est plus simple bien que deja suÆsamment omplexe

omme ela. Iln'y apas a s'interroger sur lehoix de l'API reseau puisque l'API des sokets

est,ommeIP,devenulareferenepresqueexlusive.LorsdelapresentationdeetteAPI,nous

donnonsquelques programmestressimples,e qui nousaurapermisde derirelesous-systeme

reseaud'unboutal'autre.

Lapremierepartierestegenerale,l'implementationLinuxn'yjoueauunr^ole.Danslaseonde

partie, nousetudionsl'implementation Linux delareeptiond'un datagrammeUDP, depuisla

trame Ethernet et en passant parle paquet IP ordinaire.Nous ommenons parla reeption,

m^emes'il abienfallul'envoyer,arsonimplementationestplussimplequel'envoi.

Latroisiemepartietraitedel'envoid'undatagrammeUDP.

Lagure0-1montre lahierarhieentre leshapitres.

Reeption General Linux Envoi

Generalites h1 h10

TCP/IP h5 h11

h9 h12

h13

Couhephysique h2

CouheLiaison h3 h14

h4 h15

h8 h16

h17

h19 h34

Couhereseau h18

h20

h21

h22

h23 h33

h36 h36

Couhetransport h24

h25 h32

APIreseau h6 h26

h7 h27

h28

h29

h30 h35 h31

Fig.1{Hierarhieentreleshapitres

Lesous-systemereseauestdevenupartieintegrantedessystemesd'exploitationatuels.Nous

supposonsdonqueleleteuraitquelquesnotionssurl'implementationdessystemesd'exploita-

tionengeneraletdeLinuxenpartiulier.Ilexisteunelitteratureassezonsequentesuresujet,

souventexellente.Nousnouspermettonsdereommandernotrelivre[CEG{03℄,quiillustreles

proposparletoutpremiernoyauLinux,quineonernedonquel'essentiel,equiestsuÆsant

pouraborderevolume.

(7)

Celivren'ad'autrebut quedepublierenunseulvolumelesaspetssuivantsdel'implemen-

tationd'unsous-systemereseau:

{ lesoneptsgenerauxsous-jaentsal'implementationd'unsous-systemereseau;

{ lesoneptsfondamentauxd'Ethernetet deTCP/IP;

{ ladoumentationsurunontr^oleurdeperipheriquereseau,asavoirlearte3Com501pour

ompatible PC;

{ unepresentationdeshoixfaitspourl'implementationdeLinux,suivied'extraitsdehiers

soures, reperables failement par l'indiation CodeLinux situee en marge, paraphrases

en franais; es paraphrases ne sont pas theoriquement indispensables mais oh ombien

appreiablesenpratique.

Nousparleronsquelquefoisde\fontiongenerale"enderivantrapidementleomportement

de elle-imais sansnous reporterauxsoures dansleas ou elane onernepaslesreseaux

aproprementparler.CetouvrageestdejasuÆsammentimposantommeelaparsataille pour

quenousn'ayonspasarevoirtoutel'implementationdusystemed'exploitation.

L'indexest une partiefondamentale dulivre, etpasseulementparlevolumeoupe(apeu

pres30pages):

{ Il s'agit tout d'abordd'un index desonepts fondamentaux onernant lesreseaux. On

s'y refererapour herherrapidement un motdont on ne onna^t pasla signiation ou

pourlequelonvoudraitplusd'informations.Ilrenvoiealapageou ilestdeni.

{ Il s'agit egalement d'un ditionnaire franais-anglais et anglais-franais de es m^emes

onepts.Ladenominationanglaisedetoutoneptesttoujoursindiqueeentreparenthese

lorsqueelui-iestintroduit(enfranais).Cetindexserviraertainementegalementaeux

qui, souieuxdelalanguefranaise,veulementeviterlesangliismes.Pourtelmotanglais

renontre,l'indexindiqueaquelpagelemotfranaisorrespondant(etsa tradutionan-

glaiseentreparentheses)estdeni.

{ Il s'agit egalement d'un index des grandsnoms qui ont partiipe aux reseaux, bien que

et aspet n'a pas enore ete assez developpea notre go^ut (peut-^etre pour une edition

ulterieure?).

{ Les soures, de faon generale et de Linux en partiulier, sont souvent d'approhe un

peu repoussante ar il est diÆile de s'y retrouver.On dispose maintenant pour ela de

l'exellentoutillxrquenousderivonsauhapitre10.Celui-ionna^tependantquelques

limites (il n'indexe pas les onstantes denies dans un type enumere par exemple) et,

surtout, il ne renvoie pas aux ommentaires adequats. Notre index referene toutes les

onstantes,maros,variables,fontionsettouslestypesfondamentauxdel'implementation

dusous-systemereseaudeLinux,renvoyantalapageouladenitionestiteeetommentee.

Laversiondunoyauhoisiepouretteeditionest2.6.10,'est-a-direladerniereversionau

momentdelandelaredationdee livre.

{ On n'aertainementpasinter^et aetudierlessoureshierparhierar laphilosophie

de mise en hier n'est pas suÆsamment oherente pour Linux. On peut ependant, a

l'oasiondel'etudedeteloutelpointd'un hier, sedemandersi ettepartie duhier

est ommentee dans e livre. C'est pourquoi les hiers sont indexes, ave leslignes des

hiersommeseond niveaud'indexation.

Notre espoirserait,tell'aigle,de pouvoirsurvoleret immensehampqu'estle reseaupour

avoirune vue d'ensembleet, laou a nousinteresse pluspartiulierement,piquer jusqu'ausol

pourenvoirlemoindredetail.

Cet espoirest-il realise? C'est autre histoire mais 'est en tousas le but verslequel nous

(8)
(9)

Table des matieres

Prefae v

1 Lesreseauxinformatiques 1

1.1 Introdutionauxreseaux . . . 1

1.1.1 Originedesreseauxinformatique . . . 1

1.1.2 Notiondereseauinformatique . . . 2

1.1.3 Materieletlogiielpourreseau . . . 2

1.1.4 Protooles. . . 2

1.1.5 Systemesproprietairesetsystemesouverts. . . 2

1.2 Reseauetommutation . . . 3

1.2.1 Notiondeommutation . . . 3

1.2.2 Typesdeommutation. . . 4

1.2.3 Reseauxhierarhisesetreseauxmailles. . . 6

1.3 Modelesenouhes. . . 7

1.3.1 Etudegenerale . . . 7

1.3.2 ModeleOSI . . . 9

1.3.3 SuiteTCP/IP . . . 10

1.3.4 Lemodele dessokets . . . 11

1.3.5 Modelehybride . . . 11

1.3.6 CasdeLinux . . . 11

1.3.7 Lesen-t^etesdeprotoole . . . 12

1.4 Historique . . . 12

1.4.1 Naissanedesordinateurs . . . 12

1.4.2 Terminauxdistants. . . 13

1.4.3 Premieremiseenreseau:1965 . . . 13

1.4.4 Reseauxdeommuniation . . . 13

1.4.5 Commutation parpaquets . . . 14

1.4.6 Lepremierreseau:ARPANETen1971 . . . 14

I Couhes physique et de liaison 17 2 Laouhe physique 21 2.1 Lessupportsphysiques. . . 22

2.2 Interfaesupportphysique/ordinateur . . . 22

2.2.1 Rappelssurlesliaisonsserie. . . 22

2.2.2 LasynhronisationetleodageManhester . . . 24

(10)

2.3.1 Hierarhiesuivantlataille . . . 25

2.3.2 Reseauadiusionet reseaupoint-a-point . . . 26

2.4 Reseauxloaux . . . 27

2.4.1 Tehnologiedesreseauxloaux . . . 27

2.4.2 Topologiedesreseauxloaux . . . 27

2.5 Historique . . . 30

2.5.1 Emergenedereseauxdereherhe . . . 30

2.5.2 Naissanedesreseauxadiusion:ALOHANET . . . 31

2.5.3 Naissanedesreseauxloaux:Ethernet . . . 32

2.5.4 Interreseaux. . . 33

3 Vue d'ensemblesur laouhe liaison 35 3.1 Determinationdestrames . . . 36

3.1.1 Paquet,trameetsommedeontr^ole . . . 36

3.1.2 Deoupageentrames. . . 37

3.2 Garantiedetransmissionorrete . . . 39

3.2.1 Premiereidee:onrmation ouinrmation . . . 39

3.2.2 Deuxiemeidee:onrmationet delai . . . 40

3.2.3 Troisiemeidee:fen^etreglissante . . . 40

3.3 Contr^oledeux. . . 41

3.4 Gestiondesanaux . . . 42

3.4.1 Alloationstatiquedesanaux . . . 42

3.4.2 Gestiondesanaux aaesmultiples . . . 43

4 Ethernet 45 4.1 VuegeneralesurEthernet . . . 45

4.1.1 Couhephysique:typesde^ablageEthernet . . . 45

4.1.2 Couhedeliaison:detetiondesollisions . . . 46

4.2 LestandardIEEE . . . 47

4.2.1 IEEEetlesreseauxloaux . . . 47

II Vue d'ensemble sur TCP/IP 51 5 L'arhiteture TCP/IP 55 5.1 Vued'ensemble . . . 55

5.1.1 Historique. . . 55

5.1.2 Denitiondesstandards . . . 57

5.1.3 Vued'ensembledel'arhitetureTCP/IP . . . 58

5.2 ProtoolesdelasuiteTCP/IP . . . 59

5.2.1 Protoolesdelaouhed'aes . . . 59

5.2.2 Protoolesdelaouhereseau . . . 59

5.2.3 Protoolesdelaouhedetransport . . . 60

5.2.4 Lesprotoolesd'appliation . . . 60

5.3 LesadressesreseauInternet . . . 61

5.3.1 AdresseIP . . . 61

5.3.2 Multiplexageauniveautransport . . . 62

6 API des sokets: l'interfae BSD 65

(11)

6.1.1 Notiondesoket . . . 66

6.1.2 Typesdeommuniation . . . 66

6.2 Pairedesoketsloales . . . 67

6.2.1 Creation. . . 67

6.2.2 Letureeterituresurdessokets . . . 69

6.2.3 Fermeturedessokets . . . 69

6.3 Soketpourommuniationonnetee . . . 70

6.3.1 Cylesdeviedansleasdesommuniationsonnetees. . . 70

6.3.2 Creationd'unesoket . . . 71

6.3.3 Speiationdesadresses . . . 72

6.3.4 L'ordrereseaudesotets . . . 73

6.3.5 Connexionauserveur . . . 74

6.3.6 Initialisationd'unserveur . . . 75

6.3.7 Attente delient . . . 76

6.3.8 Aeptationdelient. . . 76

6.3.9 Ouvertured'unhierdesoket . . . 77

6.3.10 Exempledeserveur. . . 77

6.4 Donneesurgentes . . . 78

6.4.1 Notion . . . 78

6.4.2 Envoietreeptiondesdonneesurgentes . . . 79

6.5 Soketpourommuniationnononnetee. . . 80

6.5.1 Cylesdeviedansleasdesommuniationsnononnetees . . . 80

6.5.2 Lesfontionsd'envoiet dereeptiondemessage . . . 80

6.5.3 Exemple . . . 81

6.6 Semi-arr^etd'unesoket . . . 84

7 APIdes sokets: niveauavane 85 7.1 Donneesdispersees . . . 86

7.1.1 Lesentrees-sortiessursoket . . . 86

7.1.2 Veteurd'entree-sortie . . . 86

7.1.3 Syntaxedesfontions . . . 86

7.1.4 Exemple . . . 87

7.2 Donneesanillaires . . . 87

7.2.1 Notion . . . 87

7.2.2 Lesfontionsdetransmissiondemessages . . . 88

7.2.3 Struturedesdonneesanillaires . . . 89

7.3 Lesoptions . . . 91

8 Unexemplede arte reseau:3Com 501 93 8.1 Desriptiondelaarte . . . 94

8.1.1 Interfaelogiielle . . . 94

8.1.2 Leregistredeommanded'emission: TCR . . . 95

8.1.3 Leregistredestatutd'emission:TSR . . . 95

8.1.4 Leregistredeommandedereeption:RCR . . . 95

8.1.5 Leregistredestatutdereeption:RSR . . . 96

8.1.6 Leregistredeommandeauxiliaire:ACR . . . 96

8.1.7 Leregistredestatutauxiliaire:ASR . . . 97

8.2 Emissionet reeption. . . 97

8.2.1 Choixdel'adressedebaseet del'IRQ . . . 97

(12)

8.2.3 Reeptiond'unetrame . . . 98

9 Quelques protoolesreseau 99 9.1 ProtooleEthernet . . . 100

9.1.1 Protooledesous-ouheMACpourEthernet. . . 100

9.1.2 Protoole802.3delasous-ouheLLC . . . 102

9.2 LeprotooledeouhereseauIPv4 . . . 102

9.2.1 Etudegeneraledelaouhereseau . . . 102

9.2.2 Cequenefaitpaslaouhereseau . . . 102

9.2.3 Lestribulationsd'unpaquet IP . . . 103

9.2.4 Fragmentation . . . 104

9.2.5 Leroutage . . . 105

9.2.6 RoutageetadresseIP . . . 106

9.2.7 En-t^eteIPv4 . . . 108

9.3 Leprotooledeouhedetransport UDP . . . 111

9.3.1 L'en-t^eteUDP . . . 111

9.3.2 Seurisationoptionnelleparsommedeontr^ole . . . 112

III Vue generale sur l'implementationLinux 115 10Implementationgenerale de Linux 117 10.1 Organisationduodesoure. . . 118

10.1.1 Premierniveau . . . 118

10.1.2 Repertoireonernantlesreseaux. . . 118

10.1.3 Strutured'unhiersoure. . . 119

10.1.4 Aideauparoursduodesoure . . . 121

10.2 Denitiondetypesportables . . . 121

10.2.1 TypesPosix. . . 121

10.2.2 Typesentiers . . . 123

10.2.3 Tailles . . . 125

10.3 Gestiondelamemoire . . . 125

10.3.1 Reservationetliberationdememoirenoyau . . . 125

10.3.2 Copieentreespaenoyauetespaeutilisateur. . . 126

10.3.3 Cahesmemoire . . . 126

10.4 LagestiondutempsdanslenoyauLinux . . . 127

10.4.1 Duree . . . 127

10.4.2 Filed'attente deminuteurs . . . 128

10.5 SMP . . . 128

10.6 GestiondesativitesdanslenoyauLinux . . . 128

10.6.1 Ativitesdebase . . . 129

10.6.2 Partiesbasseset tasklets. . . 130

10.6.3 Interruptionslogiielles . . . 131

10.7 Operationsatomiques . . . 132

10.7.1 Operationsatomiquessurlesbits . . . 132

10.7.2 Operationsatomiquessurlesentiers . . . 133

10.7.3 Verrousrotatifs . . . 134

10.7.4 Verrousrotatifsdeleture-eriture . . . 136

10.7.5 Semaphore . . . 138

(13)

10.9 InitialisationdusystemeLinux . . . 139

10.9.1 Fontionsd'initialisation. . . 139

10.9.2 Coded'initialisation . . . 140

11 Vue d'ensemble 141 11.1 ReeptiondedonneesviaundatagrammeUDP . . . 142

11.1.1 ReeptiondelatrameEthernetparlaartereseau . . . 142

11.1.2 Reuperationdupaquetparl'ordinateur. . . 142

11.1.3 Traitementdupaquet parlaouhereseau . . . 143

11.1.4 Traitementdudatagrammeparlaouhedetransport . . . 143

11.1.5 Reuperationparl'utilisateur . . . 143

11.2 EnvoidedonneesviaundatagrammeUDP . . . 143

11.2.1 Envoiparl'utilisateur . . . 143

11.2.2 Traitementdudatagrammeparlaouhedetransport . . . 144

11.2.3 EnvoidespaquetsordinairessousIPv4 . . . 144

11.2.4 Envoidelatrame . . . 144

11.3 Historique . . . 144

12 Lestamponsde soket 147 12.1 Strutured'untampondesoket . . . 148

12.1.1 Espaedet^eteet espaedequeued'untampondesoket . . . 148

12.1.2 Fragmentationd'untampondesoket . . . 148

12.2 Desripteurdetampon. . . 149

12.2.1 Denitiondutype . . . 149

12.2.2 Champsrelatifsauxlistesdedesripteurs detampon. . . 152

12.2.3 Provenanedutampon . . . 153

12.2.4 En-t^etesdesouhesdeprotoole. . . 153

12.2.5 Attributsdivers. . . 154

12.3 Filesd'attente detamponsdesoket . . . 157

13Gestion des tamponsde soket 159 13.1 Generationet liberationdesdesripteursdetampon . . . 160

13.1.1 Soures . . . 160

13.1.2 Alloationd'untampondesoket . . . 160

13.1.3 Liberationrapided'untampondesoket. . . 162

13.1.4 Liberationpropred'untampondesoket . . . 164

13.2 Manipulationdutampon . . . 166

13.2.1 Espaesdet^eteet dequeue . . . 166

13.2.2 Ajustementdelataille d'untamponvide . . . 167

13.2.3 Manipulationduompteurdereferenes . . . 170

13.2.4 Detetiondelonage . . . 170

13.3 Gestiondeslesd'attentedepaquets. . . 172

13.3.1 Carateresgeneraux . . . 172

13.3.2 Gestiondesstruturesdelesd'attente . . . 172

13.3.3 Gestiondestamponsd'uneled'attente . . . 173

13.4 Initialisationdel'antememoiredestamponsdesoket . . . 181

13.5 Fontionsdeopie . . . 181

13.5.1 Dupliationd'undesripteurdetampon . . . 181

13.5.2 Copied'untamponet desondesripteur . . . 183

(14)

13.5.4 Copied'untamponet desondesripteuravemodiation . . . 189

13.6 Ajustementd'unezonedesdonneesoupee . . . 190

13.6.1 Retraitdedonneesaudebut . . . 190

13.6.2 Retraitalan . . . 195

13.6.3 Extensiondel'espaedet^ete . . . 196

13.7 Alloationd'untampondesoketpourl'emission. . . 197

14Strutures de donneespour le pilote 199 14.1 Desripteurd'interfaedeperipheriquereseau . . . 200

14.1.1 PhilosophieLinuxdeshiersdeperipheriquereseau . . . 200

14.1.2 Denitiondutype . . . 201

14.1.3 Partievisible . . . 205

14.1.4 Champsgeneraux . . . 209

14.1.5 Membresonernantlasous-ouheMAC . . . 214

14.1.6 Membresonernantlaouhereseau . . . 219

14.1.7 Methodesdupilotedeartereseau . . . 220

14.1.8 Autreshamps . . . 222

14.2 Entreedeahed'en-t^etemateriel . . . 222

14.3 Implementationdel'ordrereseaudesotets . . . 224

14.3.1 Implementationgenerique . . . 224

14.3.2 CasdesmiroproesseursIntel . . . 227

15Detetiond'une arte reseau (1) Aspet general 229 15.1 Premiereetape . . . 230

15.1.1 Casdesperipheriquesliesstatiquement . . . 230

15.1.2 Casdesperipheriquesmodularises . . . 232

15.2 Deuxiemeetape:alloationd'unnom . . . 233

15.2.1 Alloationdunom etpassagealatroisiemeetape . . . 233

15.2.2 Manipulationd'unperipheriquedesigneparunnom . . . 236

15.3 Attributiond'unindexetinsertiondanslaliste . . . 238

15.3.1 Cha^nesdenotiation. . . 239

15.3.2 Fontionprinipale . . . 241

15.3.3 Alloationd'unetramedederoutement . . . 245

15.3.4 Attributiond'unindex . . . 246

15.3.5 Rattahementaugestionnairedest^ahes. . . 247

15.3.6 Initialisationduminuteur . . . 249

15.4 Miseenfontionnementdesperipheriquesreseau . . . 249

15.4.1 Fontionprinipale . . . 249

15.4.2 Montagedusystemedehiers . . . 251

16Detetiond'une arte reseau (2)Le as d'Ethernet 255 16.1 StruturesdedonneespourEthernet . . . 256

16.1.1 Constantes . . . 256

16.1.2 Lestypesdeprotoole . . . 256

16.1.3 Strutured'en-t^etedetrame . . . 257

16.2 Detetion etinitialisationdesartesEthernet . . . 258

16.2.1 Detetion desperipheriquesEthernet. . . 258

16.2.2 Initialisationd'unearteEthernet . . . 261

(15)

16.3 OperationslieesaEthernet . . . 264

17Detetiond'une arte reseau (3)Cas 3Com501 267 17.1 Desriptionduontr^oleurdelaarte . . . 268

17.1.1 Commentairegeneral. . . 268

17.1.2 Lesregistres. . . 269

17.2 Detetion etinitialisationdelaarte3Com . . . 271

17.2.1 Fontionprinipale . . . 271

17.2.2 Etablissementdesparametresaudemarrage . . . 273

17.2.3 Liberationd'undesripteurdeperipheriquereseau . . . 274

17.2.4 Veriationdelapresenephysiquedelaarte . . . 274

18 Attributiond'une adresse a unearte reseau 279 18.1 Laommandeifonfig . . . 280

18.1.1 Fontionnalite . . . 280

18.1.2 Listedesperipheriquesreseauenativite . . . 280

18.1.3 Ativation desperipheriquesdunoyau . . . 281

18.1.4 Ativation etdesativationd'unperipheriquemodularise. . . 281

18.2 Aspet generaldel'ativation . . . 281

18.2.1 Fontiond'ouverture . . . 281

18.2.2 Ativation delaled'attente enemission . . . 283

18.2.3 Demarrageduminuteurdeproblemesd'emission . . . 285

18.3 Casdelaarte3Com501 . . . 286

18.3.1 Installationdugestionnaired'interruption . . . 286

18.3.2 Reinitialisation . . . 287

IV Reeption 289 19 Reeption des trames 291 19.1 Ationdugestionnaired'interruption. . . 292

19.1.1 Demultiplexage:reeptionouemission . . . 292

19.1.2 Traitementenasdereeption . . . 294

19.2 Creationd'unnouveautampondesoket . . . 296

19.3 Determinationduprotooledeouhereseau . . . 298

19.4 Misedunouveautamponenled'attente . . . 300

19.4.1 Filed'attente d'unmiroproesseur. . . 300

19.4.2 Fontiondemiseenled'attente . . . 302

19.5 Passagealaouhesuperieure . . . 304

19.5.1 Typedepaquet . . . 304

19.5.2 Proessusdepassagealaouhesuperieure . . . 309

19.6 Preparationautraitementdans laouhesuperieure . . . 312

19.6.1 Determinationdupaquetatraiter . . . 312

19.6.2 Traitementd'unpaquet . . . 314

19.6.3 Livraisonalaouhesuperieure . . . 317

19.7 Reuperationdesinformationsstatistiques . . . 318

19.7.1 Casgeneral . . . 318

19.7.2 Casdelaarte3Com501 . . . 318

(16)

20.1 ImplementationLinuxdel'en-t^eteIP. . . 319

20.2 Caluldelasommedeontr^ole IP . . . 320

21Tables de routage 323 21.1 Remplissagedestablesderoutage . . . 324

21.1.1 Caluldelatablederediretion . . . 324

21.1.2 Laommandeip . . . 324

21.2 Struturedestables deroutage . . . 327

21.2.1 TablesderoutageetsouresLinux . . . 327

21.2.2 Desriptiondelastruturedestablesderoutage . . . 328

21.3 Initialisationdestables deroutagestatiques . . . 332

21.3.1 Delaration . . . 332

21.3.2 Initialisationlorsdudemarragedusysteme . . . 333

21.3.3 Numerosdestables. . . 334

21.3.4 Attributiondesparametrespardefaut . . . 335

21.4 Insertiond'unelementdansunetable . . . 335

21.4.1 Struturesdedonneespourl'insertion . . . 336

21.4.2 Fontioninterne d'insertion . . . 340

21.5 Fontion internederetraitd'uneentree . . . 355

21.6 Consultationd'unetable . . . 357

21.6.1 Struturededonneespourlaonsultation . . . 357

21.6.2 Fontioninterne deonsultation . . . 359

21.6.3 Interfaeavelesfontionsderediretion . . . 362

22Cahe de routage 363 22.1 Strutureduahederoutage. . . 364

22.1.1 Cahededestination . . . 364

22.1.2 Entreedeahederoutage . . . 367

22.1.3 Cahederoutage . . . 368

22.2 InitialisationduahederoutageIP . . . 368

22.3 Interfaeahederoutage/fontionsderediretion . . . 372

22.3.1 Caluldel'indexdanslatable deroutage . . . 372

22.3.2 Insertiondanslatabledehahage . . . 372

23Reeption des paquetsordinairessous IPv4 377 23.1 Triet ontr^oledel'integritedupaquet . . . 378

23.1.1 Triet ontr^ole . . . 378

23.1.2 Etapeoptionnelle: lespointsd'anrage . . . 381

23.2 Deuxiemeetape:routageettraitementdesoptions . . . 382

23.2.1 Vued'ensemble . . . 382

23.2.2 Fontionderediretionenentree . . . 384

23.2.3 Choixdelafontiondetraitementdupaquet . . . 397

23.3 Remiseloaledespaquets . . . 397

23.3.1 Premiereetape:reassemblagedesfragments. . . 397

23.3.2 GestiondesprotoolesdetransportdanslaouheIP . . . 398

23.3.3 Deuxiemeetape:demultiplexagedelaouhedetransport . . . 399

24Les desripteurs de ouhe transport 403 24.1 Struturedesdesripteursdeouhetransport . . . 404

(17)

24.1.2 Attributsommuns. . . 406

24.1.3 Attributsdeontr^ole . . . 408

24.1.4 Attributsassoiesauxoptionsdessokets . . . 410

24.1.5 Fontionsmembre . . . 411

24.2 Alloationet liberation. . . 411

24.2.1 Alloation . . . 411

24.2.2 Gestionduompteurdereferene. . . 413

24.2.3 Liberation. . . 414

24.3 Gestiondesdonneesassoiees . . . 416

24.3.1 Initialisationdesdonnees . . . 416

24.3.2 Verrouillage . . . 418

24.3.3 Initialisationdudelai . . . 419

25 Reeption des datagrammesUDP 421 25.1 ImplementationLinuxgeneraled'UDP . . . 421

25.1.1 ImplementationLinuxdel'en-t^eteUDP . . . 421

25.1.2 Caluldelasommedeontr^ole . . . 422

25.2 ReeptiondesdatagrammesUDP. . . 428

25.2.1 Fontiondetraitementprinipale. . . 428

25.2.2 Veriationrapidedelasommedeontr^ole . . . 431

25.2.3 ConsultationdelatabledehahageUDP . . . 433

25.2.4 TraitementdudatagrammeUDP . . . 436

25.2.5 Misedanslaled'attentedereeptionUDP . . . 438

26Installation de la famillede protoolesIPv4 441 26.1 Manipulationdesfamilles deprotooles . . . 442

26.1.1 Famillesdeprotooles . . . 442

26.1.2 Lestypesdeommuniation. . . 444

26.1.3 LesprotoolesdelasuiteTCP/IPv4 . . . 449

26.2 Implementation . . . 449

26.2.1 Tableaudesfamilles deprotooles . . . 449

26.2.2 Enregistrementd'untypedeommuniationIPv4 . . . 452

26.2.3 InstallationdelasuitedeprotoolesTCP/IPv4. . . 453

27Implementationdes hiers de type soket 459 27.1 Implementationgeneraledeshiers . . . 460

27.1.1 Systemedehiersvirtuel . . . 460

27.1.2 Super-blo . . . 461

27.1.3 Nudd'information . . . 463

27.1.4 Desripteurdehier . . . 465

27.1.5 Repertoire. . . 466

27.1.6 Typesdehiers . . . 466

27.1.7 Delarationd'unsystemedehiers . . . 467

27.1.8 Enregistrementd'unsystemedehiers . . . 467

27.2 Desripteurdesoket. . . 468

27.2.1 Denitiondutype . . . 468

27.2.2 Lesetatsd'unesoket . . . 469

27.2.3 Lesdrapeaux . . . 469

27.2.4 Letypeoperationssurune soket. . . 469

(18)

27.3.1 Lastruture. . . 470

27.3.2 Enregistrement . . . 470

27.4 Systemedehiersdesokets . . . 471

27.4.1 Obtentiondusuper-blo . . . 471

27.4.2 Liberationd'unsuper-blo. . . 474

27.5 Operationssurlessuper-blos. . . 475

27.5.1 Ensembledesoperations. . . 475

27.5.2 Statutdusystemedehiers . . . 475

27.5.3 Alloationd'undesripteurdenudd'information . . . 476

27.5.4 Liberationd'undesripteurdenudd'information . . . 477

27.6 Operationssurlesrepertoiresdesoket . . . 477

27.7 Operationssurleshiersdetypesoket. . . 477

27.8 Premieresimplementationsdefontions . . . 479

27.8.1 Implementationdupositionnement . . . 479

27.8.2 Implementationdelasrutation . . . 479

27.8.3 Implementationdunonmappageenmemoirevive . . . 480

27.8.4 Implementationdel'ouverturedehier . . . 481

27.8.5 Implementationdesevenementsasynhrones . . . 481

27.8.6 Implementationdelaliberationdehier . . . 482

28Creationet fermeturedes sokets 485 28.1 Creationd'unesoket . . . 486

28.1.1 Traitementgeneral . . . 486

28.1.2 CasdelafamilledeprotoolesIPv4 . . . 495

28.2 Semi-arr^etd'unesoket . . . 500

28.2.1 Traitementgeneral . . . 500

28.2.2 CasdeIPv4. . . 502

28.2.3 FontiondedeonnexionspeiqueaUDP . . . 503

28.3 Fermeture d'unesoket. . . 506

29Initialisation d'un serveur 509 29.1 Partiegenerale . . . 510

29.1.1 Fontiond'appel . . . 510

29.1.2 Passageespaeutilisateur/espaenoyau . . . 510

29.2 CasdeIPv4 . . . 511

29.2.1 Fontionspeiqued'initialisationduserveur . . . 511

29.2.2 Determinationdutyped'adresse . . . 513

29.3 ObtentionetveriationduportdansleasUDP . . . 514

30Reeption d'un datagrammepar unesoket 519 30.1 Typesliesauxfontionsd'entree-sortie . . . 520

30.1.1 Veteursd'entree-sortie . . . 520

30.1.2 En-t^etedemessage. . . 520

30.1.3 En-t^etedeontr^ole . . . 520

30.2 Implementationgeneraledelareeptiondesdatagrammes . . . 521

30.2.1 Fontiond'appel . . . 521

30.2.2 Reeptiondemessagedesoket . . . 522

30.2.3 Passageespaenoyau/espaeutilisateur . . . 523

30.2.4 Fontioninterne dereeptiond'unmessage . . . 524

(19)

30.4 CasdeUDP. . . 526

30.5 Lienavelestamponsdesoket . . . 529

30.5.1 Instantiationdedesripteurdetamponenreeption . . . 529

30.5.2 Copied'undatagrammedansl'espaeutilisateur . . . 533

30.5.3 Liberationd'untampondedatagramme . . . 537

V Envoi 539 31Envoid'un datagrammepar unesoket 541 31.1 Niveauimplementationdessokets . . . 542

31.1.1 Fontiond'appel . . . 542

31.1.2 Envoidemessagedesoket . . . 543

31.1.3 Fontioninterne d'envoidemessage . . . 543

31.2 CasdeIPv4 . . . 544

31.2.1 Appelalafontionspeiquealaouhedetransport . . . 544

31.2.2 Attributionautomatiquedenumerodeport . . . 545

32Envoide datagrammesordinairessousUDP 547 32.1 Fontiond'envoispeiqueaUDP . . . 548

32.1.1 Desription . . . 548

32.1.2 Implementation. . . 548

32.2 RegroupementdedonneesUDP. . . 555

32.2.1 Fontionprinipale . . . 555

32.2.2 Instantiationd'un tampondesoket pourl'emission . . . 561

32.2.3 Reuperationdesfragments . . . 564

32.3 Constitutiondudatagramme . . . 566

32.4 Envoidudatagrammealaouhereseau. . . 569

33Envoide paquetsordinairessous IPv4 571 33.1 Premiereetape:routaged'unpaquet ordinaire . . . 572

33.1.1 Reherhedansleahederoutage . . . 572

33.1.2 ReherheetenduealaFIB . . . 573

33.2 Seondeetape:onstitutiondupaquetIP . . . 581

33.2.1 ImplementationdesoptionsIP . . . 581

33.2.2 Reuperationdesfragments . . . 581

33.3 Transfertdelaouhereseaualaouheinferieure . . . 585

33.3.1 Premieresous-etape:determinationdelafontiondetransfert . . . 585

33.3.2 Deuxiemesous-etape:fragmentationeventuelle . . . 586

33.3.3 Troisiemesous-etape:positionnementdutypedupaquet . . . 586

33.3.4 Quatriemesous-etape:passagealaouheinferieure . . . 586

34Envoide trames 589 34.1 Transmissionalaartereseau:partiegenerale . . . 590

34.1.1 Premiereetape:miseenled'attente . . . 590

34.1.2 Deuxiemeetape: reuperationdespaquets. . . 596

34.1.3 Troisiemeetape:envoi . . . 601

34.2 Partiespeiquealaarte. . . 603

34.2.1 Etudegenerale . . . 603

(20)

34.3 Reational'envoi. . . 607

34.3.1 Reponsedugestionnaired'interruption. . . 607

34.3.2 Ationlorsqueledelaiesteoule . . . 609

35Desativation etretrait 611 35.1 Desativation . . . 612

35.1.1 Casgeneral . . . 612

35.1.2 Casdelaarte3Com501 . . . 614

35.2 Retraitd'unperipheriquereseau . . . 615

35.2.1 Demontagedusystemedehier . . . 619

35.2.2 Demontagedusystemedehiers . . . 619

35.2.3 Attentedesreferenes . . . 619

VI Complement sur IP: la fragmentation 621 36Fragmentationpourla ouhe reseau:le asde IPv4 623 36.1 Fragmentation . . . 624

36.2 Reassemblage . . . 632

36.2.1 Cahedefragment . . . 632

36.2.2 Traitementdureassemblage . . . 634

36.2.3 Traitementlorsdel'expirationdudelai . . . 643

36.3 Initialisationdelafragmentation . . . 645

VII Appendies 647

Bibliographie 649

Index 654

(21)

Table des gures

1 Hierarhieentreleshapitres . . . vi

1.1 Grapheomplet . . . 3

1.2 Reseauave ommutateurentral . . . 4

1.3 Reseaudistribue . . . 6

1.4 Pilereseau. . . 8

2.1 Niveauxlogiques . . . 23

2.2 Synhronisation . . . 23

2.3 CodageManhester. . . 24

2.4 Reseauetendu . . . 26

2.5 Reseaumahineamahine. . . 28

2.6 Reseauenbus. . . 29

2.7 Reseauenanneau. . . 29

2.8 Reseauenetoile. . . 30

2.9 Croissaned'Arpanet:(a)deembre1969(b)juillet1970() mars1971(d)avril 1972(e)septembre1972 . . . 31

2.10 EpinedorsaleNSFNET en1988. . . 32

2.11 ArhiteturedupremierreseauEthernet. . . 33

3.1 Strutured'unetrame . . . 36

3.2 Deomptagedesotets . . . 37

3.3 Faniondesignalisation . . . 38

3.4 Conrmationet inrmation . . . 39

3.5 Fen^etreglissante . . . 41

4.1 Typesde^ablagesEthernet . . . 46

4.2 TypesdeonnexionsEthernet. . . 47

4.3 Sous-ouhesMACet LLC . . . 49

5.1 Numerosdeportbien onnusdesserveurs . . . 63

7.1 Donneesanillaires . . . 89

9.1 Fragmentationd'unpaquetIP . . . 105

9.2 Tabledehahage . . . 106

9.3 Pseudoen-t^eteUDP . . . 112

12.1 Tampondesoket etsondesripteur . . . 150

(22)

19.1 Gestiondesprotoolesdereseau . . . 306

21.1 Tablederoutage . . . 328

22.1 Strutureduahederoutage. . . 368

36.1 Cahedefragment . . . 632

(23)

Chapitre 1

Les reseaux informatiques

1.1 Introdution aux reseaux

1.1.1 Origine des reseaux informatique

Lanotiondealul estl'unedesgrandesonqu^etesdel'humanite,ertainementapparueau

neolithique pour les besoins de omptabilite des ressoures indispensables pour les premieres

ites,onernantlehepteletlesreservesdenourriture.Lesgrandesquantitesmanipuleespour

etteomptabiliteaonduitareherherrapidementdesoutilsd'aidesaualul(petitsailloux,

puis abaque, puis mahine arithmetique de Pasal...). La notion d'ordinateur, outil universel

d'aide aux aluls dans la mesure ou, par denition, un ordinateur est apable de aluler e

quiest alulableparn'importequeloutil,date de1936aveladenitionparAlanTuringde

sa elebremahine (en fait un modele, ar il s'agit d'une mahine imaginaire). La realisation

eetived'ordinateursattendraenorequelquesannees,puisque lepremierdatede1949 1

.

Quelquesanneesapres,ilfutenvisagedepartagerl'uniteentraled'unordinateurentreplu-

sieurs sites, soit pour des raisons de bonne eonomie, soit pour des raisons intrinsequement

liees a l'appliation envisagee (projet SAGE [pour Semi-Automati Ground Environment, en-

vironnement au sol semi-automatique℄ de surveillane radar des

Etats-Unis). L'alliane des

teleommuniationset del'informatiqueetaitnee.

Au milieudesannees1960vintl'ideederelierlesunitesentraleselles-m^emes.

1.Cequel'onvendsouslenomd'ordinateurn'estpasreellementunemahineuniverselle.Mathematiquement

(24)

1.1.2 Notion de reseau informatique

Un reseau informatiques 2

(omputer network en anglais) est un ensemble d'ordinateurs

et deperipheriques(imprimantes,traeurs,sanners,et.) onnetesensembleparlebiaisd'un

support physique (enanglais medium). La onnexion peut ^etre direte (par ^able oaxial,par

exemple) ouindirete(parmodem).

1.1.3 Materiel et logiiel pour reseau

Commepourlessystemesinformatiques 3

,ladistintionentremateriel etlogiiel estimpor-

tante dansleasdesreseaux.

L'objetdee livreonernelelogiielet nonlemateriel.Lematerielreseaunousappara^tra

ommeunebo^tenoirefontionnantparfaitement.Nousnedironsdumaterielqueequi enest

stritementneessairepouromprendrelelogiielassoie.

1.1.4 Protooles

1.1.4.1 Notionde protoole

Dans un reseau informatique, lorsqu'un ordinateur envoie des informations a un autre, les

materiels et les logiiels sont en general dierents. On adon besoin d'un ensemble de regles

pouroordonnerl'ehangedeesinformations.Celles-iformentunprotoole,nomdonnepar

TomMarillen1966([HL{96℄,p.83).

Lemotprovientevidemmentdulangagediplomatique.Lesdiplomatessuiventdesregleslors

desdisussionsentrenations,appeleesunprotoole.Leprotoolediplomatiqueindiquequ'ilne

fautpasinsulter sesh^otes etqu'ilfautt^aherderespeterlesoutumesloales.Laplupartdes

ambassadeset desonsulats abritentdes speialistesduprotoole, dontler^ole est des'assurer

quetout sepasse harmonieusementlorsdesrenontres. Leprotooleest unensemble deregles

quidoivent^etresuiviespour\jouerlejeu",pourreprendreuneexpressiondiplomatique.

1.1.4.2 Suitede protooles

Lesprotoolesontevolue.Deproessustressimples(\je t'envoieunaratere,tu meleren-

voies, et je m'assureque les deux orrespondent")au depart, ils sont devenus des meanismes

omplexes qui prennenten ompte tous les problemeset onditionsde transfert possibles. Un

protooleuniquequiouvriraittouslesaspetsdutransfertseraitdetailletropimportante,diÆ-

iled'emploiettropspeialise.Plusieursprotoolesontdonetedeveloppes,hauns'aquittant

d'unet^ahespeique.

On appellesuite de protoolesunensemble deprotoolesoherentsqui ouvre pratique-

menttouslesbesoinsdeommuniation.

1.1.5 Systemes proprietaires et systemes ouverts

Audebut,iln'yavaitqu'unreseau(ARPANET)avesesprotoolesassoies.Devantlesues

deelui-i,desproduits ommeriauxfurentdeveloppes,pluspartiulierementpourlesreseaux

2.Desormaisnousneparleronsquedereseauaulieudereseau informatique.L'histoiredespremiersreseaux

deteleommuniation(premiersessais,telegrapheoptique,telegrapheeletrique,telegraphied'images,telephone,

transmissionradioetsystemesdeommutation)estonteedans[HUU{03 ℄.

3.Onappellesysteme informatiqueunpostedetravail informatiqueomplet:ordinateur, biens^ur,mais

aussi peripheriques(tels que imprimante ou sanner) et logiiels. De nos jours, les outils reseau font partie

(25)

loauxetetendus.Chaqueonstruteuravaitsalignedeproduits,materielsommelogiiels.On

parledesystemeproprietaire.Lessoures,etm^emelesspeiationsompletes,dessystemes

proprietairessontrarementdiusees. Cei presente une diÆultepourla oneptiondes inter-

reseaux.

Paropposition,unsystemeouvertestunsystemedontaumoinslesspeiationsompletes

sontdiusees,eventuellementlessouresdeslogiiels.

Lemouvementdessystemesouvertsn'estpasneaproposdesreseaux,m^emesi'estlaqu'il

a onnu son plus grand sues puisqu'il n'existe plus de systeme proprietaire, mais a propos

des systemes d'exploitation. Jusqu'aux annees 1980, haque onstruteur de materiel avait sa

lignedeproduits,etonetaitdansunetreslargemesuredependantdeeonstruteurpourtout

e qui onernaitlelogiiel et le materiel.Certainsonstruteursprotaient deette situation

pourpratiquer destarifsprohibitifsoupourimposerertainesongurationsaleurslients.Le

ressentimentdeslientspritunetelleampleurqueesderniersnirentparimposerleurssouhaits.

IBMommenapardiuserleodeduBIOSdesesmiro-ordinateurs.DEC(DigitalEquipment

Corporation)passad'unsystemed'exploitationproprietaire,VMS,sursesmini-ordinateursaun

systemed'exploitationouvertdetypeUnix.Seslientsluienfurentgreetl'entreprisevenditplus

de mahines. Mirosoft essaiede faire passer satehnologie .NET ommeun standardECMA

(European ComputerManufaturer Assoiation), sanstotalementyreussirpourl'instant(seule

laspeiationdulangageC#estdenieparunstandardECMApourl'instant,debut2005).

1.2 Reseau et ommutation

Leselementsd'un reseaude teleommuniationdoivent^etrereliesentreeux et eisur une

distanequelquefoistreseloignee.Commentrealiserei?

1.2.1 Notion de ommutation

En1876,peudetempsapresqu'AlexanderGrahamBelleutdeposesonbrevetd'inventiondu

telephone,il yeutunevagueenormededemandes. Audebut,lestelephonesetaientvenduspar

paireetilappartenaitaulientdelesrelieral'aided'unleletrique(lavoieduretoursefaisait

parlaterre).Siunepersonnesouhaitaitonverseravenautresinterlouteurs,illuifallait^etre

raordepar autantde ls aux n domiilesde es derniers. Onaboutita e qu'on appelleun

grapheomplet,representealagure1.1.

Fig.1.1{Grapheomplet

En l'espae d'un an les villes se trouverent prises dans un enhev^etrement sauvage de ls

passantpar-dessuslestoits etlesarbres.Ildevinttresvitelair qu'unmodeled'interonnexion

(26)

BellreagitaettesituationenfondantlasoieteBellTelephoneCompany,quirealanotion

de entral telephoniqueet mit le premier entral en plae aNew Heaven (Connetiut) en

1878. La soieteamena un leletriqueahaquedomiile oubureau d'abonne. Poureetuer

unappel,lelientdevaittournerunemanivellequiproduisaitunesonnerieauniveauduentral

telephonique, attirant l'attention d'une operatrie. Celle-i se hargeait ensuite de raorder

manuellement la ligne de l'appelant a elle du orrespondant appele au moyen d'un ^able de

jontionsuruntableaude ommutation.Ce modele entraliseestillustrealagure1.2.

Fig.1.2{Reseauaveommutateurentral

Tres rapidement d'autresentraux furent rees un peu partout. Et omme les lients sou-

haitaient pouvoir appeler des orrespondantsdans d'autresvilles, il a fallu interonneter es

entraux.Ce fut, laenore,d'abordungraphe omplet,puisdesentrauxde seond niveauet

ainsidesuite.Ilyeutjusqu'ainqniveauxdeentraux.

1.2.2 Types de ommutation

Les divers reseaux de teleommuniation ont onduit a plusieurs types de ommutation,

ommenousallonslevoir.

1.2.2.1 Commutationde iruits

Si d'un poste telephonique de New-York vous demandez le22 a Asnieres a une operatrie,

elle-iontateleentralinterurbain,quivaontaterleentralreliantle^abletransatlantique

aunentralenEurope,quiontateunentralenFrane,quiontateunentraldanslaregion

parisienne,quiontatelenumerodemande.Parunjeudehesdanshaundeessixentraux,

unheminphysiqueest etablide l'appelantversl'appele. Un telheminest appeleuniruit

dans le jargon de latelephonie (m^eme s'il ne s'agit pas d'un iruitau sens de la theorie des

graphes).Onparleraplustarddeommutationdeiruits(iruit swithingenanglais)pour

etypedeommutationlorsqued'autrestypesdeommutationappara^tront.Unelignephysique

estdedieeaetteommuniationduranttout letempsdelaommuniation,d'oulepaiementa

ladureedelaommuniation.

Au debutdel'eredelatelephonie,laonnexionphysiqueetaitetabliemanuellementomme

nousvenonsdelerappeler.Onparleraplustarddeommutationmanuelle.Peuapresl'inven-

tion dutelephone, unequipement automatiquede ommutation eletro-meanique fut invente

par AlmonStrowger et fututilisependantpresde ent ans. Au debut des annees 1970, il fut

remplaeparunequipementeletronique,maisleprinipeestlem^eme.

Legrosavantagedelaommuniationdeiruitsestqu'uneligneestentierementdedieeala

ommuniation.Ellepresenteependantegalementtroisgrosinonvenients:

(27)

negligeable.Ce qui est aeptable pour une ommuniation telephonique le serait moins

pourunreseauinformatique.

{ Il peut arriverque toutes lesliaisonsd'un entral a l'autre soient oupees. Onvousde-

mande alorsderenouvelervotreappelulterieurement.

{ Le debit n'est pas utilise de faon optimale. Lors des silenes dans la ommuniation

telephonique,quipeuventparfois^etrelongslorsqu'undesorrespondantsreherhequelque

hose,leiruitest toujoursdedieaetteommuniation.

1.2.2.2 Commutationde messages

Uneautretehniquedeommutationestlaommutationdemessages(messageswithing

enanglais).Lorsqu'elleestmiseenuvre,auunheminphysiquen'estetabliauprealableentre

l'emetteuretlereepteur.Lorsquel'emetteurenvoieunblodedonnees,elui-ieststokedans

lepremierentraldeommutation(appelerouteurdanse as),ontr^olepourverierqu'ilne

omporte pasd'erreurs puistransmis au routeur suivant.On parlede transmission dieree

(store-and-forwardenanglais).

Cettetehniquedeommutationfutmiseenuvre danslespremierssystemeseletromea-

niquesdeteleommuniationspourtransmettrelestelegrammes.

L'enormeavantageest quele debit est utilise aumieux et quele temps d'etablissementdu

iruitn'existe plus.Cependantlesstokagessuessifsentra^nentdes delaisqui emp^eheraient

l'utilisationd'unetelleommutationpourlavoix,parexemple.

1.2.2.3 Commutationpar paquets

Danslaommutationdemessages,latailledesblosn'estpaslimitee.Celaapouronsequene

quelesrouteursdoiventdisposerdedisquespourplaerenmemoiretamponleslongsblos.Un

seulblopeutmonopoliserune ligneentredeuxrouteurs pendantdesminutes.Cettetehnique

deommutationestdoninadapteeautrainteratif.Deplus,siungrosmessageaetealtere,

ilesttotalementperduouilfautlerenvoyerintegralement.C'estpourquoilaommutationpar

paquets(paket swithingenanglais)aetedeveloppee.

La ommutation de paquets est analoguea laommutation de messagesmais les messages

sontdeoupesenpaquetsd'unetaillemaximale,equievitelesdisquestamponetlaongestion

durantplusieursminutesdueaungrosmessage.

Les paquets empruntent eventuellement des hemins dierents, e qui peut entra^ner des

arriveesdesordonnees.Onnumerotedonlespaquets.

Lepremierpaquetd'unmessagequienomporteplusieurspeut^etretransmisparunrouteur

avantqueledeuxiemepaquet nesoit ompletementarrive,equi reduit ledelaiet ameliorele

debit.

Laommutationdepaquetsoreunemeilleuretoleraneauxpannesquelaommutationde

iruits.Siunrouteurdevientindisponible,lespaquetspeuventleontourneretpoursuivreleur

hemin.

1.2.2.4 Casdes reseauxinformatiques

Dans leas desreseaux informatique, onutilise leplussouventla ommutation de paquets

('est leaspourInternet) et plusrarementlaommutationde iruits('estle asde ATM),

maisjamaislaommutation demessages.

Onappelleroutagel'algorithmeutiliseparunrouteurpourdeterminerl'ordinateuroulerou-

teurauquelilfautenvoyerlepaquetqu'ilvientdereevoirpourqueelui-iarriveadestination

(28)

1.2.3 Reseaux hierarhises et reseaux mailles

Les reseaux informatiques se distinguent des autres reseaux de teleommuniationdans la

mesure ou ils sont mailles et non hierarhises. L'utilisation de reseaux distribues au lieu des

reseauxhierarhisesutilisesentelephoniefutpr^oneeparPaulBaranavantdedevenirrealitelors

delarealisationdesreseauxinformatiques.

Paul Baran s'interessades 1960 ala apaitede survie des systemes de ommuniationen

as d'attaque nuleaire.

A l'epoque, les reseaux de ommuniation a longue distane etaient

extremementvulnerablesethorsd'etatdesupporteruneattaquenuleaire.Pourtantlepouvoir

qu'avait le president des

Etats-Unis de ommander ou d'annuler l'envoi de missiles nuleaires

reposaitsuressystemesdeommuniationsvulnerables.Baranaetel'undespremiersaetablir,

aumoins de faon theorique, que leprobleme pouvait ^etre resolu.Iletait arriveal'idee qu'un

reseaudetransmissiondedonneespouvait^etrerenduplusrobusteetplusableenintroduisant

des niveaux de redondane eleves. Le meanisme de defense qui onsiste a diviser une vaste

struture,uniqueetvulnerable,endenombreusesparties,seretrouvedansmaintesappliations,

ommeleompartimentagedeseuritedesnavires.Theoriquement,iletaitpossibled'installerun

reseauavedenombreusesonnexionsredondantes.Maisilyavaitunerestritiontehnique:tous

lessignauxsurlereseautelephoniqueetaientanalogiques.Lepland'aheminementsurereseau

interdisaitd'utiliserplusdeinqliaisonslesunesalasuitedesautresaausedel'alterationdu

signal.Baranproposa donunagenementenreseau reparti (ditaussi distribue)ommele

montrelagure1.3[BAR{60,BAR{64℄.

Fig.1.3 {Reseaudistribue

Neanmoins une question demeurait, nous faisant passer du qualitatif au quantitatif: quel

degrederedondanefallait-il introduire danslesonnexions entrenuds voisinspourgarantir

lapersistanedureseau?Baraneetuade nombreusessimulations.Ilenonlutqu'ilsuÆrait

d'unfaibleniveauderedondane:quehaquenudsoitonneteatroisouquatreautrespermet

(29)

1.3 Modeles en ouhes

Lapartielogiielledesreseauxomprendungrandnombredefontions,haunerelevantd'un

protoole. Un ensemble de protoolesoherentouvrantl'ensembledes besoinspourunreseau

s'appelleune suitedeprotooles. L'ensembled'unetelle suites'appelleunmodele reseauou

arhiteture reseau.

1.3.1

Etude generale

1.3.1.1 Notion

Imaginezquevousdeviezerireunprogrammequifournissedesfontionsdereseauatoutes

lesmahinesdevotrereseauloal.L'eritured'unlogiieluniquesehargeantdetouteslest^ahes

neessaires ala ommuniationentre plusieurs ordinateurs serait unvrai auhemar. De plus,

dansl'hypotheseouvousarriveriezagerertouslesmaterielspresentssurlereseau,leprogramme

resultantseraitbientropgrandpour^etremaintenuoum^emeexeute.

Ilestplusraisonnabledediviserhaquedomained'operationsengroupesdenaturesprohes.

Lesgroupessontassezevidentsadiserner.Ungroupetraitedutransportdesdonnees,unautre

de l'empaquetage des messages, un autre des appliations utilisateur, et. Chaque groupe de

t^ahesprohesest appeleuneouhe.Onobtientainsiunmodeleen ouhes.

Les ouhes d'une arhiteture reseau sont ensees ^etre des entites autonomes et indepen-

dantes.Une ouhene peutevidemmentpaseetuer une t^aheobservablesansinteragirave

d'autresouhesmais,dupointdevuedelaprogrammation,ellessontindependantes. Ellesne

doiventinteragirlesunesavelesautresquegr^aealeurinterfaeproprementdenie.

1.3.1.2 Pile reseau

Dans unmodele enouhes,lesouhes sontnumeroteesde 1aN, allantduniveauleplus

prohe dumateriel(onernantle port serie,puis laartereseau)au niveaule plusprohede

l'appliationdel'utilisateur(ourriereletronique,transfertdehier...). Plusonestprohedu

materiel,pluslenumerodeouheestbas.

Chaqueprotooleenapsulelesdonneesdansunensembleplusgrandomprenantengeneral

un en-t^ete et quelquefois un suÆxe. Supposons qu'il n'y ait pas de suÆxe. Les donnees de

l'utilisateursontenapsuleesavel'en-t^eteduniveauN:

en-t^eteN donnees

Cela devient des donnees de niveauN qui sont enapsulees ave l'en-t^ete de niveau N-1 pour

obtenirdesdonneesdeniveauN-1:

en-t^eteN-1 en-t^eteN donnees

etainsidesuitejusqu'auxdonneesenapsuleesdeniveau1:

en-t^ete1 . .. en-t^eteN-1 en-t^eteN donnees

(30)

L'inter^etdesmodelesenouheest,qu'ahaqueniveau,iln'estpasbesoindepasserenrevue

l'ensembledesen-t^etesmaisuniquementeluiduniveauorrespondant.

On parleaussi depile reseau,stak en anglais,ar onpeutonsidererquelesen-t^etesdes

niveaux N a 1sont empilesau-dessus desdonnees de base lorsde l'expedition et qu'elles sont

depileeslorsdelareeption,ommelemontrelagure1.3([K-R{01℄, p.52).

Fig.1.4{Pilereseau

1.3.1.3 Inter^ets et realisations

Les modelesen ouhespresententbeauoup d'inter^et.Lasuite deprotoolesest beauoup

plussimpleaonevoir:leprotooled'unniveaudonnepeut^etreonuparuneequipedierente

du protoole d'un autre niveau.Il enest dem^eme dela suite delogiiels mettant en plae e

modele.De plus, lesmateriels atifsdureseaun'ont aonsidererque lesniveaux les plusbas,

parexemple:

{ unrepeteurneonsidereraquelesdonneesbrutes,sansm^emeentrerdansledetail,autre-

mentditneonerneraquelaouhephysqiue;

{ unrouteurneonsidereraquelesen-t^etesdesouheslesplusbassespourobtenirl'adresse

dedestination.

Deuxmodelesfurentdeveloppespratiquementenparallele:lemodeleOSI(parl'organisme

destandardisationinternationalISO)etlasuiteTCP/IP(d'apreslenomdedeuxdesprotooles

delasuite).Retrospetivementons'aperoitqu'unmodeleestlargementdominant,pournepas

direexlusif:lasuiteTCP/IP.Ilest quandm^emeinteressantdedirequelquesmotsdumodele

OSI,m^emes'il est desormais pratiquement abandonne,ar lesdeux ouheslesplusbasses ne

(31)

1.3.2 Modele OSI

L'ISO(International StandardisationOrganisation),l'organisationdestandardisationlaplus

prioritairedans lemondeentier,fondeeen 1947,aproposeunmodeleen septouhesen1984

[ISO7498-1℄,appelemodeleOSI, enfaitOSI{RMpourOpen SystemsInteronnetionRefe-

reneModel (modele dereferened'interonnetiondessystemesouverts):

7 Appliation

6 Signiation Couhessuperieures

5 Session

4 Transport

3 Reseau Couhesinferieures

2 Liaisondesdonnees

1 Physique

Le modele OSI ne derit auune implementation reelle d'un systeme partiulier, mais se

ontente dedenirlest^ahesdesdierentes ouhes.

Lesouhesd'appliation,depresentationetdesessionsonttouteslestroisorienteesapplia-

tion,'est-a-direqu'ellespresententl'interfaede l'appliational'utilisateur.Ces trois ouhes

sonttotalementindependantesdesouhessitueessouselles,ellesneonnaissentriendelafaon

dontlesdonneesparviennental'appliation.Ellessontappeleesouhes superieures.

Lesquatreouhes inferieuressehargentdelatransmissiondesdonnees,engerantl'em-

paquetage,leroutage,laveriationetlatransmissiondehaqueensemblededonnees.Ellesne

fontauunediereneentrelesdiversesappliations.

Detaillonsmaintenantler^oledehaunedesseptouhes:

{ Laouhephysique(physiallayerenanglais)ontr^olelatransmissiondesdierentsbits

via unsupportphysique(mediaenanglais). C'estdans etteouhequ'on s'oupedela

faon dont lessuites de bitssontonverties (sans struturation)en signauxphysiques et

transmisesviaunsupportphysique(^abledeuivre,bredeverre,radio,et.).Laouhe

physiquedenitlesproeduresdeodagephysique(telleoutelledierenedepotentielpar

exemple),lageometriedesonneteursenhablesetlestypesdessupports speiaux.Les

protoolesdeetteouhedependentdusupport physique.

{ La ouhe de liaisondes donnees(data link layerenanglais) esthargeede latrans-

missionorretedesdonneesd'unpointdureseauaunautrereliediretementaluiviaun

supportphysique.Elles'oupede laorretiondeserreurs survenantlorsdeette trans-

mission (dierentes des erreurs dans lesdonnees elles-m^emes, traitees dans laouhe de

transport).Elledoitteniromptedesinterferenesdesignal(frequentes,pouvantprovenir

deplusieurssoures,parmilesquelleslesrayonsosmiquesetlesinterferenesmagnetiques

provenantd'autresequipements).

{ La ouhe reseau(networklayer enanglais)est hargeedelatransmissiondesdonnees

d'un point dureseau aunautre, queelui-i soit reliediretementaluiou non. Ils'agit

d'aborddedeterminerunhemin(ouroute,ommeonpreferel'appelerdanslevoabulaire

des reseaux)del'expediteurversledestinataireenutilisantdes mahinesintermediaires:

on parle du routage physique des donnees. Elle est hargee egalement de l'adaptation

des unites de donnees a la taille admissible de la ouhe liaison existante: on parle de

fragmentation.

{ La ouhe transport (transport layer en anglais) se harge du multiplexage (lors de

l'envoi)etdudemultiplexage(lorsdelareeption),'est-a-dirededistribuerauxdifferen-

(32)

Ilyamultiplexagelorsqueplusieursommuniationstransitentparunsupportphy-

sique unique.Le demultiplexage est l'inverse dumultiplexage. Le multiplexage est in-

dispensablepourprendreenhargedenombreusesonnexionssimultanement,tout enne

disposantquederessoureslimitees.Un exemplelassiqueestunbureaudistantompre-

nantvingtterminaux.Chaque terminalpourrait^etreonneteau bureauprinipalparle

biaisd'unelignetelephoniquedediee.Aulieud'utiliservingtlignes,onpeutaussis'arranger

pourmultiplexerlesonnexionsanden'utiliserquetroisouquatrelignestelephoniques.

Elle peut, de plus, assurer d'autres t^ahes. Elle peut etablir, maintenir et termi-

ner les ommuniations entre deux mahines (dans le as des ommuniations dites

onnetees). Elle peut seharged'assurer que les donnees envoyees orrespondentaux

donnees reues, tout aumoins modulo ertainspointsde omparaisonet,si elles neor-

respondentpas,demanderaequelesdonneessoientenvoyeesanouveau.Ellepeutgerer

l'envoidesdonnees,endeterminantl'ordreet laprioritedel'envoi.

{ Laouhe desession(session layerenanglais)ontr^olel'ehangestruturededialogues

vialesliaisonsdeommuniation.Ilest,parexemple,possibledeontr^olerauoursd'une

sessionsiletransfertdesdonneespeutavoirlieusimultanementdanslesdeuxsensousiun

seulpartenairealafoisdisposedudroitd'emission.Dansedernieras,laouhesession

gereledroitd'emission.Elleopereavelaouhed'appliationpourfournirdesensembles

de donnees simples,appelespoints de synhronisation,qui permettent al'appliation

deonna^trel'etatdeprogressiondelatransmissionetdelareeptiondesdonnees.Ils'agit

dond'uneouhedetemporisationet deontr^oledesux.

{ La ouhe de presentation (presentation layeren anglais)ontr^olelapresentationdes

donnees atransmettre sous une forme ne dependant pasdes systemes. Elle onvertit les

donnees de l'appliation en un format ommun, souvent appele la representation a-

nonique, par exemplepoureviter leproblemedu ode (Uniode, ASCII ou EBDIC) de

representationdesarateres,leproblemeduformat(petit-boutienougrand-boutien)des

entiersoulafaond'indiquerlepassagealaligne.

Leseulproblemequirelevedeette ouhequenousaborderonsseraeluionernant

leformat(petit-boutienougrand-boutien).

{ La ouhe d'appliation(appliation layer enanglais) est l'interfaeutilisateur versle

systeme OSI.C'est laque residentles appliations telles quele ourriereletronique.La

t^ahe de la ouhe d'appliation est d'aÆher les informations reues et d'envoyer aux

ouhesinferieureslesdonneesfourniesparl'utilisateur.

1.3.3 Suite TCP/IP

L'arhitetureTCP/IPestsimilaireaumodeleOSImaisnemetenjeuquetroisouhes,ar

elleombinelesouhessuperieuresOSI enune seuleet nes'oupepasdesouhesen-dessous

delaouhereseau,lesprotoolesdesesouhesetantpropresaureseausous-jaent.Elledate

de1974maiselleest denie,apresoupen1989,danslasetion1.1.3de[RFC1122℄:

Appliation

Transport

Internet

{ Laouhe appliation(appliation layerenanglais)regroupetouteslest^ahesorientees

appliation,'est-a-direellesdesouhes5a7dumodele OSI.

{ Laouhe transport(transportlayerenanglais),ommedanslemodeleOSI,permetle

(33)

{ LaouheInternet(Internetlayerenanglais)estprinipalementhargeedederouterles

paquets IPdel'expediteuraudestinataireatraverslereseau.Elleorrespondalaouhe

reseaudumodeleOSI.

1.3.4 Le modele des sokets

Les modeles i-dessus datentde 1984 et 1989. Tout seomplique enorepar le fait queles

sokets,mises enplae en1983,ommenous leverronsplusloin,donnent lieuaunmodeledu

sous-systemereseaudessystemesd'exploitation entrois ouhesave unvoabulaire dierent,

maisquel'onpeutrelier auxmodelespreedents:

{ Laouhephysiquen'interferepasdutout avelesous-systemereseaudessystemesd'ex-

ploitation, dononn'enparlepas.

{ Les protoolesde laouheliaison sonttraitesdans lapartieeletronique(leontr^oleur)

desartesreseau.Iln'y adonpasbesoinnonplusd'enparlerauniveaudusous-systeme

reseau.

{ La ouhe reseau s'appelle famille d'adresses, la mise en plae des sokets retenant

essentiellementlastruturedesadresses.

{ Laouhetransports'appelletype de ommuniation.

{ Unetroisiemeouhe,appeleeprotoole,avaiteteprevuesilesdeuxouhespreedentes

n'etaientpassuÆsantes.Onla retrouveommeparametre(presque toujoursegal azero)

maisnesert pasagrandhose.

{ Lesouhessuperieuresonernentlesappliationset nonlesous-systemereseau,donon

nes'enoupepas.

1.3.5 Modele hybride

L'Internet et laplupart des reseaux intranets d'entreprise ont reours aune arhiteture

hybride TCP/IP{OSIqui s'appuie sur les ouhesbasses de l'arhiteture OSI pour speier

lesinfrastruturesdereseaudetypeLANouautres:

Appliation

Transport

Reseau

Liaison

Physique

Nousverronsdeplusque laouhe liaisondedonneesest divisee endeux sous-ouhesdansle

standardIEEE.

1.3.6 Cas de Linux

Linuxserefereaumodelehybridemaislamiseenplaeonduitadeux ommentaires:

{ Linuxnes'oupepasdutoutdelaouhephysiquepuisque auunelementdeprogram-

mationn'intervientae niveau.Lamiseen uvredes protoolesde laouhe liaisonest

presqueentierementtraiteedanslesartesreseaudenosjours;Linuxn'adonpasas'en

preoupersi e n'estsous laforme d'une interfaeave elle-i (il faut bien ommener

(34)

{ Linuxnerespetepasentierementlaphilosophiedesouhesaveuneinterfaebiendenie.

Nousverrons,parexemple,quel'onpassediretemntdelaouheappliationalaouhe

reseaudansertainsas(plusexatementlorsdel'envoidedonneesUDP).

1.3.7 Les en-t^etes de protoole

Une unite d'information est omposee de donnees et d'informations de ontr^ole de ette

unite d'information. Ces informations de ontr^ole sont generalement assemblees dans un blo

venantavantlesdonnees, e qui estle aspourtouslesprotooles deTCP/IP.Onappellees

informationsunen-t^ete de protoole.

Lorsque l'unite d'informationest passee ala ouheinferieure, elle-iajouteson en-t^ete a

l'united'informationpassee,onsidereeommelesdonneesde etteouheinferieure.De ette

maniere,lorsqu'une unite d'informationest partie delaouhed'appliation, aumoment ou il

atteintlaouhephysique,elleontientquatreen-t^etesdeprotoole(septavelemodele OSI).

Pourmieuxvisualisereproessus,onpeutserepresenterlesdierentesouhesd'unoignon.

L'interieurestonstitueparlesdonneesaenvoyer.

Ahaquefoisquel'united'informationpasse

a travers une des ouhes, une ouhe d'oignon est ajoutee. Lorsqu'elle aparouru toutes les

ouhes,plusieursen-t^etes deprotooleentourentlesdonnees initiales.Lorsquel'united'infor-

mation est envoyee a traverstoutes les ouhes en partant du bas (sur une autre mahine en

general),haqueouhepelel'en-t^etedeprotooleluiorrespondant.Lorsquelaouhed'appli-

ationdedestinationest atteinte,ilneresteplusquelesdonneesinitiales.

OSI dispose d'une desription formelle pour tout e proessus. La ouhe en ours porte

le numero N. Les donnees N-utilisateur a transferer doivent ^etre preedees d'informations de

ontr^ole de N-protoole (N-PCI pour Protool Control Information) pour former une unite

de donnees de N-protoole (N-PDU pour Protool Data Unit). Les N-PDU sont passesspar

l'intermediaire d'un point d'aes de N-servie (N-SAP pour Servie Aess Point) sous la

forme d'un ensemble de parametres de servie omprenant une unitede donnees de N-servie

(N-SDUpourServieDataUnit).LesparametresdeservieomprenantlesN-SDUsontappeles

lesdonneesd'utilisateurdeN-servie(N-SUDpourServieUserData),misdevantle(N-1)-PCI

pourformerunautre(N-1)-PDU.

1.4 Historique

Une bonne introdution a l'histoiredes reseaux est [HL{96℄. Elle aeteerite pardes jour-

nalistes qui ont pu, d'une part, onsulter les douments de litterature grise tres diÆilement

aessibleset,d'autrepart,interviewerlespremiersateursdeette histoire.Elle ontientune

tresgrandedoumentation dontleseul reprohequel'on puisse faireest lanonvisibilitede la

struturationparlemanquedetitreset sous-titressuÆsammentexpliites.

1.4.1 Naissane des ordinateurs

Il n'existe pas, a ma onnaissane, d'etude abordable sur l'origine de la omptabilite au

Neolithique,nisurl'originedualul.

Lanotiondemahinedealuluniverseletl'apparitiondespremiersordinateurssontontes,

aunniveaudehautevulgarisationavedespointeurssurlalitteratureprimaire,dans[DAV{00℄,

(35)

1.4.2 Terminaux distants

Nous avonsvu qu'unepremierealliane entre informatiqueet teleommuniationest l'utili-

sationdeterminauxdistantsdel'uniteentrale,parfoissituesaplusieursmilliersdekilometres.

Le premier problemearesoudrepour ela est elui des utilisateursmultiples (time-sharing

en anglais). Cei est unproblemedu systemed'exploitation. En1961 est developpe le CTSS

(Compatible Time Sharing System) auMIT (Massahussets Institute of Tehnology), premiere

realisationimportante maisenoreexperimentaledansedomaine.

Ceionduira,en1964,ungroupedeherheursduMIT,desBellLaboratoriesetdeGeneral

Eletrias'assoierpourinitierledeveloppementd'unsystemed'exploitationmulti-utilisateur.

IlsbaptiserentleurambitieuxprojetMULTICS(MultiplexedInformationandComputingSys-

tem).Ce projetn'apasvraimentaboutietseraabandonneen1968.Ilest ependantal'origine

deUnix,quidatede1971.

Du point de vue materiel, dans les premiersessais d'utilisation des terminaux distants, on

utilisaitdeslignestelex.

En1974,IBMlaneleSNA(SystemsNetworkArhiteture)quinormaliselaommuniation

entreunordinateuret lesterminauxdistants.VTAM (Virtual Teleommuniation AessMe-

thod) tourne surl'ordinateur(un IBM370) alorsqueNCP(Network Control Program)tourne

surleontr^oleurdeommuniationpouretablir etsurveillerenpermaneneletra.

1.4.3 Premiere mise en reseau: 1965

Lapremieremiseenreseau,entredeuxordinateurs(etnonuneuniteentraleetunterminal),

eutlieuen1965.LepsyhologueTomMarilllanaetteannee-launepetitesoietedesystemes

en tempspartage.Maisson prinipal investisseur ayantfaitdefautaladerniereminute, il dut

herher un ontrat de reherhe et developpement. Il proposa don a l'ARPA de mener une

experiene demise en reseau, en joignant l'ordinateurTX-2 duLinoln Laboratoryet le SDC

Q-32situeaSantaMonia.La soietedeMarilletaitsipetite quel'ARPA luireommandade

proederasonexperiene sousl'egide duLinoln Laboratory. L'idee plut auxresponsablesdu

Linolnet ilshargerentLarryRobertsdesurveillerleprojet.

La liaisonentre les deux ordinateursetaitrealisee gr^ae aun serviespeialde la Western

Union:quatrelsenduplexintegral.Marillbranhaitsurette liaisonuntypedemodemrudi-

mentaire,operanta2000bitsparseonde,qu'ilappelaitunomposeurautomatique(automati

dialer). Marill etablit une proedure pour grouper les arateres en messages, les envoyer et

verierqu'ilsarrivent.Si auunausedereeptionnesuivait,lemessageetaittransmisanou-

veau.Ilappela\protoole"demessagel'ensembledesproedurespourfaireirulerl'information

danslesdeuxsens.Endepitdeleurseorts,lorsqueMarilletRobertsonneterenteetivement

lesdeuxmahines, leresultatfutmitige:letempsdereponseetaitmediore(voir[HL{96℄,pp.

82{83).

M^emesi le resultatn'est pasvraimentelui esompte,il s'agit bien de lapremieremise en

reseau:lesordinateursontdessystemesd'exploitationdierentset onutilisedesprotooles.

1.4.4 Reseaux de ommuniation

Denosjours,\reseau"sansadjetifdesignetoujoursunreseauinformatique.Lereseauestun

oneptgeneraltresutilisedepuislereseaudenosonnaissanespersonnellesjusqu'auxreseaux

deommuniationetdeteleommuniation.

LesreseauxdeommuniationoherentsommenentavelesRomainspourlesroutes,revus

auxdix-neuviemesieleavelereseauderoutesnationales(departementalesetviinales)etelui

(36)

Les reseaux de teleommuniation ommenent ave les feux dans l'Antiquite, les signaux

de fumee des indiens d'Amerique, les relais de poste au debut des Temps modernes. Il prit

vraimentsonessoraveletelegrapheoptiquedeChappesousleRevolutionpuisaveletelegraphe

eletrique qui le detronera dans laseonde moitiedu dix-neuviemesiele. C'est aussi le debut

despremiers^ablestransatlantiques.Lereseautelephoniquesuivraavelanaissanedesgrandes

soietestelles que AT&T aux

Etats-Uniset les PTTdependantdiretement dugouvernement

dansdenombreuxpaysdontlaFrane.

1.4.5 Commutation par paquets

L'utilisation de laommutation par paquets fut pronee independanmment par PaulBaran

aux

Etats-Uniset DonaldDaviesaLondes.

Nousavonsvui-dessusommentPaulBaranenestvenueal'ideedel'utilisationdesreseaux

mailles.LaseondeontributiondeBaranauxreseauxaeteplusrevolutionnaireenore:dislo-

queregalementles messagespour obtenirla ommutation par paquets,qu'il appelait \blos-

messages". Dans le modele de Baran, haque nudde ommuniation ontenait une table de

routagequiseomportaitommeunesortedeoordinateurouderegulateur.Ilesperaitpersua-

derAT&T des avantages de sonprojet maise ne futpasleas. En1965 ependant, inqans

apress'^etrelanedansleprojet,Baranobtintl'appuiompletdelaRANDquivoul^utonstruire

un reseaude ommutation distribue.Malheureusement AT&T, qui disposait du monopole des

teleommuniations,s'yopposa.Baransetournaalorsversd'autresprojets(voir[HL{96℄,pp.72{

78).

A Londres, a l'automne 1965, juste apresque Baran eut laissetomber son projet, Donald

Watts Davies, quarante et unans, physiien au British National Physial Laboratory (NPL),

erivait une premierenote exposantsesidees apropos d'un nouveaureseau d'ordinateursfort

prohedeeluideBaran.LeprintempssuivantildonnaitaLondresuneonferenepubliqueou

il derivait l'envoide petits blosde donnees {qu'il appelait \paquets"{ atraversunreseau

numeriquesurleprinipedustokageetretransmission.En1966,apresl'annonedesontravail

preurseursurlaommutationparpaquets,ilfutnommehefdeladivisioninformatiqueduNPL.

LesmotifsquiavaientonduitDaviesal'ideed'unreseaudeommutationparpaquetsn'avaient

rienavoiravelespreoupationsmilitairesquiavaientpousseBaran.Daviesvoulaitsimplement

reerunnouveaureseaupublideommuniation.Ilaprevulaneessitedema^triserladiversite

des materiels et des logiiels, autrement dit les dierenesseparant leslangages informatiques

oulessystemesd'exploitation desmahines.Contrairementalareationtresfra^hed'AT&T a

l'egardde Baran, lesteleommuniationsbritanniques ontepouse lesidees deDavies.Cela l'a

enourageaherherunnanementpourb^atir unreseauexperimental auNPL(voir[HL{96℄,

pp.78{81).

Latheoriedelaommutation parpaquets aeteegalementetudieeparLeonardKleinrok

en1959lorsqu'iletaitetudiantdetroisiemeyleauMIT([KLE{61℄,[KLE{64℄).Ileetuaun

travailtheoriqueimportant qui derivait une serie de modeles analytiques pourles reseauxde

ommuniation.

1.4.6 Le premier reseau: ARPANET en 1971

Le vendredi 4 otobre 1957, l'Union Sovietique lane le premier satellite artiiel, appele

Spoutnik. Les Ameriains onsiderent ela omme une menae. Le president Einsenhowerde-

mandele7janvier1958auCongreslesfondsneessairespourreerl'ARPA(AdvanedResearh

Projets Ageny). Diretement lieau president at au seretaire ala defense, et organisme de

Références

Documents relatifs

timers : expiration d’un timer ou un tick (p ´eriode) d’horloge syst `eme autres p ´eriph ´eriques : touche clavier, clic souris, paquet ethernet,.. Exceptions et Interruptions

– Il ne peut y avoir plus d’un processus dans sa section critique en mˆeme temps – Un processus en dehors de sa section critique ne peut bloquer un autre

Jacques Gangloff (ENSPS) Syst `emes temps r ´eel et syst `emes embarqu ´es Ann ´ee scolaire 2007-2008 1 /

Savoir d´ efinir les notions d’apprentissage automatique Savoir d´ efinir apprentissage supervis´ e et non-supervis´ e Connaitre la notion de sur-apprentissage.. Connaitre les

Arbre de d´ ecision Inf´ erence bay´ esienne R´ eseau bay´ esien. Classification non param´ etrique Intelligence

[r]

Pour chacune des valeurs propres, d´ eterminer un vecteur propre associ´ e.. b) D´ eterminer une matrice P et une matrice diagonale D telles que C = P

[r]