Protocoles TCP/IP et Internet expliqué
Protocoles TCP/IP et Internet expliqué
2 Architecture des protocoles TCP/IP. ................................................................................................................... 2.3 Adressage. ..........................................................................................................................................................! 2." La couche liaison d'Internet. .............................................................................................................................12 2.".1 Le rseau #thernet .....................................................................................................................................13 2.".2 La liaison $LIP ..........................................................................................................................................1% 2.".3 La liaison PPP ............................................................................................................................................1& 2."." Les protocoles A'P et 'A'P ....................................................................................................................1( 2. Le protocole IP. ................................................................................................................................................21 2. .1 Le datagra))e IP. .....................................................................................................................................22 2. .2 La *rag)entation des datagra))es IP. .....................................................................................................2 2. .3 Le routage IP. .............................................................................................................................................2& 2. ." La gestion des erreurs. ...............................................................................................................................31 2.% Les protocoles TCP et +,P. .............................................................................................................................33 2.%.1 Le protocole +,P. .....................................................................................................................................3" 2.%.2 Le protocole TCP. ......................................................................................................................................3% 2.& Les applications. ..............................................................................................................................................."1 2.&.1 Protocole de d)arrage - .//TP. ............................................................................................................"2 2.&.2 Conne0ion 1 distance - Telnet et 'login. ..................................................................................................."" 2.&.3 $2st3)e de *ichiers en rseau - 45$. ........................................................................................................" 2.&." Trans*ert de *ichier - T5TP et 5TP. ............................................................................................................"% 2.&. Courrier lectronique - s)tp. ....................................................................................................................."! 2.&.% 4e6s - nntp ................................................................................................................................................ 7 2.&.& 8orld 8ide 8e9 - http.. ............................................................................................................................ " 2.! /utils co))uns d'utilisation d'un rseau sous +ni0. ....................................................................................... % 2.!.1 5ichiers de con*iguration. .......................................................................................................................... & 2.!.2 :uelques co))andes utiles ...................................................................................................................... ( 3. Langages pour le 6e9. ........................................................................................................................................%"
2. Le rseau Internet et les protocoles TCP/IP. Ces 1 derni3res annes ont ;u )erger de nou;elles techniques rendant possi9le l'interconne0ion de rseau0 di**rents <internetworking= en les *aisant appara>tre co))e un unique en;ironne)ent de co))unication ho)og3ne. /n dsigne ce s2st3)e d'interconne0ion sous le no) d'internet? sachant que rseau Internet et Internet dsignent l'ense)9le de ces internets dont le point co))un est de *onctionner en sui;ant les protocoles TCP/IP <Transmission Control Protocol/Internet Protocol=. Le 9ut de ce chapitre est d'tudier co))ent *onctionne l'ense)9le de ces protocoles.
2.1 Historique et organisation d'Internet. Les tra;au0 de l'A'PA <Advanced Research Project Agency= d9ut3rent au )ilieu des annes &7 et a;aient pour 9ut de d;elopper un rseau 1 co))utation de paquets pour relier ses centres de recherches dans le 9ut de partager des quipe)ents in*or)atiques et changer des donnes et du courrier. Le 9ut tait de conce;oir un rseau rsistant 1 des attaques )ilitaires. Il ne *allait donc pas qu'il co)porte de points n;ralgiques dont la destruction aurait entra>n l'arr@t co)plet du rseau. C'est ainsi? que d3s le dpart le rseau A'PA4#T *ut conAu sans n ud particulier le dirigeant? et de telle sorte que si une ;oie de co))unication ;enait 1 @tre dtruite? alors le rseau soit capa9le d'ache)iner les in*or)ations par un autre che)in. C'est ;ers 1(!7 qu'est apparu le rseau Internet? tel qu'on le conna>t )aintenant? lorsque l'A'PA co))enAa 1 *aire ;oluer les ordinateurs de ses rseau0 de recherche ;ers les nou;eau0 protocoles TCP/IP et qu'elle se )it 1 su9;entionner l'uni;ersit de .erBele2 pour qu'elle int3gre TCP/IP 1 son s2st3)e d'e0ploitation +ni0 <.$,=. Ainsi la quasi totalit des dparte)ents d'in*or)atique des uni;ersits a)ricaines put co))encer 1 se doter de rseau0 locau0 qui en quelques annes seront interconnects entre eu0 sous l'i)pulsion de la 4$5 <National Science oundation=.2 C@)e si d3s son origine Internet co)prenait des socits pri;es? cellesDci taient plus ou )oins lies 1 la recherche et au d;eloppe)ent? alors qu'1 l'heure actuelle les acti;its co))erciales s'2 sont considra9le)ent )ultiplies? et ceci surtout depuis l'arri;e du we! en 1((3.
Figure 2.1: Les grandes dates d'Internet. La *igure 2.1 <source I$/C? [Link]= donne un rsu) des grandes tapes de l';olution d'Internet au ni;eau )ondial qui co)portait en 1((% plus de 177 777 rseau0 di**rents per)ettant de regrouper presque 17 )illions d'ordinateurs dans le )onde. Cais les statistiques sont di**iciles 1 ta9lir et sont par*ois *antaisistes ou 9iaises par des considrations politiques ou co))erciales.
Figure: E;olution du no)9re de )achines connectes 1 Internet +ne 9onne source d'in*or)ation est encore l'I$/C dont sont e0traites les donnes de la *igure 2.2. Pour ce qui est de la 5rance? apr3s des tentati;es a;ortes de constitution d'un rseau de la recherche? puis l'apparition du rseau #A'4 <"uro#ean Academic and Research Network= 9as sur des protocoles et des ordinateurs I.C? un d9ut de rseau 9Fti sur des ordinateurs +ni0 et TCP/IP apparu sous le no) de 54#T. C'est 1 la *in des annes !7 que les ca)pus uni;ersitaires s'quip3rent )assi;e)ent de rseau0 #thernet et cr3rent des rseau0 rgionau0 9ass sur TCP/IP. L'ou;erture 1 l'Internet )ondial <1 l'poque presque e0clusi;e)ent nordDa)ricain= eut lieu en 1(!! et ensuite la cration de 'enater <R$seau National de Tlcommunications #our l%"nseignement et la Recherche= en 1((" sont les grandes dates de l';olution d'Internet en 5rance. Co))e l'ense)9le des protocoles TCP/IP n'est pas issu d'un constructeur unique? )ais )ane de la colla9oration de )illiers de personnes 1 tra;ers le )onde? une structure de *onctionne)ent originale a t i)agine d3s le d9ut. Apr3s des ;olutions successi;es? c'est )aintenant l'IA. <Internet Architecture &oard= qui est le co)it charg de coordonner l'architecture? les orientations? la gestion et le *onctionne)ent d'Internet. L'IA. co)porte deu0 9ranches principales l'I#T5 <Internet "ngineering Task orce? [Link]= s'occupe des pro9l3)es techniques 1 court et )o2en ter)e et est di;is en ( Gones <applications? scurit? routage et adressage? etc...= chacune dote d'un responsa9le. l'I'T5 <Internet Research Task orce? [Link]= coordonne les acti;its de recherche relati;es 1 TCP/IP.
Par ailleurs? il e0iste l'I$/C <The Internet Society = qui est lie 1 l'IA. et qui aide ceu0 qui souhaitent s'intgrer 1 la co))unaut d'Internet. ,e no)9reu0 renseigne)ents sur le *onctionne)ent et les organis)es lis 1 Internet sont disponi9les sur le 6e9 de l'I$/C [Link]. Aucun constructeur? ou diteur de logiciel? ne peut s'approprier la technique TCP/IP? les docu)entations techniques sont donc )ises 1 disposition de tous par l'I4T#'4IC <Internet Network In'ormation Center 1 partir de son site 6e9 [Link]/ds/[Link]=. Les docu)ents relati*s au0 tra;au0 sur Internet? les nou;elles propositions de d*inition ainsi que les )odi*ications de protocoles? tous les standards TCP/IP? 2 sont pu9lis sous la *or)e de '5C <Re(uest or Comments? appels 1 co))entaires=. Tous les '5C sont pu9lis par un )e)9re de l'IA. et sont nu)rots squentielle)ent? une proposition de '5C s'appelle un Internet )ra't qui sera discut? )odi*i? et en*in adopt ou reHet par les )e)9res du do)aine concern par la note technique.
"
Figure 2.!: Architecture d'une pile TCP/IP Les logiciels TCP/IP sont structurs en quatre couches de protocoles qui s'appuient sur une couche )atrielle co))e illustr dans la *igure 2.3. La couche de liens est l'inter*ace a;ec le rseau et est constitue d'un dri;er du s2st3)e d'e0ploitation et d'une carte d'inter*ace de l'ordinateur a;ec le rseau. La couche rseau ou couche IP <Internet Protocol= g3re la circulation des #a(uets 1 tra;ers le rseau en assurant leur routage. #lle co)prend aussi les protocoles ICCP <Internet Control *essage Protocol= et IICP <Internet +rou# *anagement Protocol= La couche trans#ort assure tout d'a9ord une co))unication de 9out en 9out en *aisant a9straction des )achines inter)diaires entre l')etteur et le destinataire. #lle s'occupe de rguler le *lu0 de donnes et assure un transport *ia9le <donnes trans)ises sans erreur et reAues dans l'ordre de leur )ission= dans le cas de TCP <Transmission Control Protocol= ou non *ia9le dans le cas de +,P <,ser )atagram Protocol=. Pour +,P? il n'est pas garanti qu'un paquet <appel dans ce cas datagramme= arri;e 1 9on port? c'est 1 la couche application de s'en assurer. La couche a##lication est celle des progra))es utilisateurs co))e telnet <conne0ion 1 un ordinateur distant=? 5TP < ile Trans'ert Protocol=? $CTP <Sim#le *ail Trans'ert Protocol=? etc...
Figure: Co))unication entre deu0 )achines du )@)e rseau Cette architecture et ces di**rents protocoles per)ettent de *aire *onctionner un rseau local? par e0e)ple sur un 9us #thernet reliant un ordinateur client A qui interroge un ser;eur 5TP .? co))e illustr dans la *igure 2." Cais? ceci per)et surtout de constituer un internet? c'estD1Ddire une interconne0ion de rseau0 ;entuelle)ent htrog3nes co))e illustr dans la *igure 2. .
Figure: Interconne0ion de deu0 rseau0 Ici les ordinateurs A et . sont des syst-mes terminau. et le routeur est un syst-me intermdiaire. Co))e on peut le ;oir? la re)ise du datagra))e ncessite l'utilisation de deu0 trames di**rentes? l'une du rseau #thernet entre la )achine A et le routeur? l'autre du rseau ToBenD'ing entre le routeur et la )achine .. Par opposition? le principe de structuration en couches indique que le paquet reAu par la couche transport de la )achine . est identique 1 celui )is par la couche transport de la )achine A. Lorsqu'une application en;oie des donnes 1 l'aide de TCP/IP les donnes tra;ersent de haut en 9as chaque couche Husqu'1 a9outir au support ph2sique oJ elles sont alors )ises sous *or)e se suite de 9its.
Figure: #ncapsulation des donnes par la pile des protocoles TCP/IP. L'enca#sulation illustre dans la *igure 2.% consiste pour chaque couche 1 aHouter de l'in*or)ation au0 donnes en les co))enAant par des en/t0tes? ;oire en aHoutant des in*or)ations de re)orque. ,ans le cas du protocole +,P 1 la place de TCP? les seuls change)ents sont que l'unit d'in*or)ation pass 1 IP s'appelle un datagramme ,)P dont l'enDt@te a une taille de ! octets.
&
2.! Adressage. Chaque ordinateur du rseau Internet dispose d'une adresse IP unique code sur 32 9its. Plus prcis)ent? chaque inter*ace dispose d'une adresse IP particuli3re. #n e**et? un )@)e routeur interconnectant 2 rseau0 di**rents poss3de une adresse IP pour chaque inter*ace de rseau. +ne adresse IP est touHours reprsente dans une notation dcimale #ointe constitue de " no)9res <1 par octet= co)pris chacun entre 7 et 2 et spars par un point. Ainsi [Link] est l'adresse IP d'une des principales )achines du rseau de l'uni;ersit d'Angers.
Figure 2.": Les cinq classes d'adressses IP Plus prcis)ent? une adresse IP est constitue d'une paire 1id2 de rseau3 id2 de machine4 et appartient 1 une certaine classe <A? .? C? , ou #= selon la ;aleur de son pre)ier octet? co))e dtaill dans la *igure 2.&. Le ta9leau ciDapr3s donne l'espace d'adresses possi9les pour chaque classe. classe A . C , # adresses [Link] 1 [Link] [Link] 1 [Link] [Link] 1 [Link] [Link] 1 [Link] [Link] 1 [Link]
Ainsi? les adresses de classe A sont utilises pour les tr3s grands rseau0 qui co)portent plus de 21%K% 3% ordinateurs. Au ni;eau )ondial? il ne peut e0ister plus de 12& tels rseau0? par e0e)ple celui de la d*ense a)ricaine ou du CIT? )ais la politique actuelle est de ne plus d*inir de tels rseau0. Les adresses de classe . sont utilises pour les rseau0 a2ant entre 2!K2 % et 21%K% 3% ordinateurs? 1" 9its d*inissent l'adresse du rseau et 1% 9its celle d'une )achine sur le rseau. $eules 2 % )achines sont possi9les sur un rseau de classe C dont le no)9re possi9le dpasse les 2 )illions <K221=. L'o9tention d'une adresse IP pour crer un nou;eau rseau est gre par l'I4T#'4IC de )ani3re dcentralise? 1 sa;oir qu'un organis)e national g3re les de)andes pour chaque pa2s. #n 5rance c'est l'I4'IA <Institut National de Recherche en In'ormati(ue et Automati(ue= qui est charg de cette tFche. Au lieu d'utiliser un adressage plat 1? 2? 3? ... la )thode retenue est plus e**icace car elle per)et une e0traction rapide du nu)ro de rseau 1 l'intrieur d'une adresse IP ce qui *acilitera le routage. Toutes les co)9inaisons )ath)atique)ent possi9les pour identi*ier un rseau ou une )achine ne sont pas per)ises car certaines adresses ont des signi*ications particuli3res. [Link] est utilise par une )achine pour conna>tre sa propre adresse IP lors d'une processus d'a)orAage par e0e)ple <id. de rsea n l!.<id. de machine! est gale)ent utilise pour dsigner une )achine sur son rseau lors d'un 9oot gale)ent
<id. de rsea !.<id. de machine n l! n'est Ha)ais a**ecte 1 une )achine car elle per)et de dsigner le rseau luiD)@)e <id. de rsea !.<id. de machine a"ec to s ses #its $ 1! est une adresse de di''usion ou de !roadcasting? c'estD1Ddire qu'elle dsigne toutes les )achines du rseau concern. +n datagra))e adress 1 cette adresse sera ainsi en;o2 1 toutes les )achines du rseau. [Link] est une adresse de di**usion locale car elle dsigne toutes les )achines du rseau auquel appartient l'ordinateur qui utilise cette adresse. L'a;antage par rapport 1 l'adresse prcdente est que l')etteur n'est pas o9lig de conna>tre l'adresse du rseau auquel il appartient. 127.%.&.' est une adresse de re9ouclage qui est utilise pour per)ettre les co))unications interD processus sur un )@)e ordinateur ou raliser des tests de logiciels car tout logiciel de co))unication rece;ant des donnes pour cette adresse les retourne si)ple)ent 1 l')etteur. Les adresses de classe A de [Link] 1 [Link]? de classe . de 172.1(.0.0 1 [Link] et de classe C de 192.1(8.0.0 1 192.1(8.255.255 sont rser;es 1 la constitution de rseau0 pri;s autre)ent appels intranet2.1.
Le s2st3)e des adresses IP per)et gale)ent la d*inition d'adresses de sous/rseau. en dcoupant la partie rser;e 1 l'adresse des )achines sur un rseau en deu0 parties dont la pre)i3re sera un identi*icateur de sousD rseau. Ainsi un seul rseau de classe .? sur lequel on pourrait no))er % 3% )achines pourra @tre dco)pos en 2 " sousDrseau0 de 2 " )achines? de la )ani3re dcrite ciDdessous. s r 1( #its!.<id. de so s)rsea s r 8 #its!.<id. de machine s r 8 #its! L'ad)inistrateur d'un rseau peut dcider de dcouper oJ il ;eut la Gone des identi*icateurs de )achines? )ais le dcoupage Lautour du .M *acilite le tra;ail des routeurs. /n peut gale)ent adopter le )@)e principe pour un rseau de classe C. Cette technique a pour e**et de pro;oquer un routage hirarchique. <id. de rsea
Figure: Adressage de sousDrseau La *igure illustre le cas d'un rseau %.&.0.0 dcoup en deu0 sousDrseau0 %.&.1.0 et %.&.2.0. Pour tout le reste d'Internet? il n'e0iste qu'un seul rseau %.&.0.0 et tous les routeurs traitent les datagra))es 1 destination de ce rseau de la )@)e *aAon. Par contre? le routeur ' se sert du troisi3)e octet <gal 1 1 ou 2= de l'adresse contenue dans les datagra))es qui lui pro;iennent pour les diriger ;ers le sousDrseau auquel ils sont destins assurant ainsi un routage hirarchique. /utre l'adresse IP? une )achine doit gale)ent conna>tre le no)9re de 9its attri9us 1 l'identi*icateur du sousD rseau et 1 celui de la )achine. Cette in*or)ation est rendue disponi9le grFce 1 un mas(ue de sous/rseau ou su!net netmask qui est un )ot de 32 9its contenant des 9its 1 1 au lieu et place de l'identi*icateur de rseau et de sousDrseau et des 9its 1 7 au lieu et place de l'identi*icateur de )achines. Ainsi le )asque2.2255.255.255.0 indique que les 2" pre)iers 9its d'une adresse dsignent le sousDrseau et les ! derniers une )achine. Le )asque [Link] < <1(2=17K<11777777=2= indique que les 2% pre)iers 9its dsignent le sous rseau et les % derniers une )achine. ,e cette )ani3re 1 partir de l'adresse d'un datagra))e et de son )asque de sousDrseau une )achine peut dter)iner si le datagra))e est destin 1 une )achine sur son propre sousDrseau? 1 une )achine sur un autre sousDrseau de son rseau ou 1 une )achine e0trieure 1 son sousDrseau. Par e0e)ple? dans le cadre du rseau de la *igure oJ le )asque de sousDrseau est [Link] supposons que notre )achine soit celle identi*ie par l'adresse IP %.&.1.2.
$i l'adresse de destination est %.&.1.1? un LetM entre la reprsentation 9inaire de cette adresse est de celle du )asque de sousDrseau donne %.&.1.0 1 sa;oir l'adresse du sousDrseau de notre )achine? donc le datagra))e est destin 1 une )achine de ce )@)e sousDrseau. $i l'adresse de destination est %.&.2.1? un calcul du )@)e genre donne %.&.2.0 c'estD1Ddire l'adresse d'un autre sousDrseau du )@)e rseau. $i l'adresse de destination est *.+.,.- <a;ec di**rent de celui auquel appartient notre )achine. = le rsultat sera l'adresse d'un rseau
.ien que la nu)rotation IP 1 l'aide d'adresses nu)riques soit su**isante technique)ent? il est pr*ra9le pour un hu)ain de dsigner une )achine par un no). Cais se pose alors le pro9l3)e de la d*inition des no)s et de leur )ise en correspondance a;ec les nu)ros IP. Au d9ut des annes !7? le rseau A'PA4#T co)portait un peu plus de 277 ordinateurs et chacun possdait un *ichier /etc/hosts identi*iant les no)s de ces ordinateurs sui;is de leur nu)ro IP. Lorsqu'une )odi*ication inter;enait? il su**isait de )ettre 1 Hour ce *ichier. Pour *aire *ace 1 l'e0plosion du no)9re d'ordinateurs relis 1 Internet? il a t )is en place un s2st3)e de 9ase de donnes distri9ues - le syst-me de noms de domaines <,4$ - )omain Name System= qui *ournit la correspondance entre un no) de )achine et son nu)ro IP.
Figure: $2st3)e de no)s de do)aines. #n *ait? le ,4$ est un espace de no)s hirarchis co))e illustr dans la *igure 2.(. Chaque n ud a un no) d'au plus %3 caract3res et la racine de l'ar9re a un no) nul <les )inuscules et )aHuscules sont indi**rencies=. +ne 5one est un sousDar9re de cette hirarchie. Le nom de domaine d'un n ud est la concatnation de son no) a;ec celui de ses anc@tres dans l'ar9re. La responsa9ilit du no))age est su9di;ise par ni;eau? les ni;eau0 suprieurs dlguant leur autorit au0 sousDdo)aines qu'ils crent eu0D)@)es. Il *aut 9ien a;oir 1 l'esprit que le dcoupage n'a dans certains cas aucune 9ase gographique N on trou;e des do)aines .com partout dans le )onde. Le )canis)e qui per)et la rsolution d'un no) en une adresse IP est gr par des serveurs de noms qui reprsentent une 9ase de donnes distri9ue des no)s de do)aine. :uand une personne a reAu l'autorit de grer une Gone elle doit )aintenir au )oins deu0 ser;eurs de no)s - un #rimaire et un ou plusieurs secondaires. Les secondaires ont des ser;eurs redondants par rapport au pri)aire de )ani3re 1 *aire *ace 1 une d*aillance d'un s2st3)e. Lorsqu'une )achine est aHoute 1 une Gone? l'ad)inistrateur de la Gone doit aHouter son no) et son nu)ro IP dans le *ichier disque du ser;eur pri)aire qui se recon*igure alors en *onction de ces nou;elles donnes. :uant 1 eu0? les ser;eurs secondaires interrogent rguli3re)ent <toutes les 3 h= le pri)aire et *ait les )ises 1 Hour ncessaires en cas d';olution de la 9ase de donnes. Lorsqu'un ser;eur de no)s reAoit une de)ande? il ;ri*ie si le no) appartient 1 l'un des sousDdo)aines qu'il g3re. $i c'est le cas il traduit le no) en une adresse en *onction de sa 9ase de donnes et ren;oie la rponse au de)andeur. $inon? il s'adresse 1 un ser;eur de no) racine qui conna>t le no) et l'adresse IP de chaque ser;eur de no)s pour les do)aines de second ni;eau. Ce ser;eur de no) racine lui ren;oie alors l'adresse d'un ser;eur de no)s 1 contacter? et ainsi de suite? par interrogations successi;es de ser;eurs de no)s il sera capa9le de *ournir l'adresse de)ande. Pour ;iter de *aire trop sou;ent de telles requ@tes? tout ser;eur de no)s stocBe dans une ))oire cache les correspondances
17
<nu)ro IP? no) de )achine= de )ani3re 1 pou;oir *ournir la rponse i))diate)ent si une )@)e de)ande lui par;ient ultrieure)ent.
11
2.# La couc e liaison d'Internet. Le 9ut de la couche de liens de la pile TCP/IP est d'en;o2er et rece;oir des datagra))es IP pour la couche IP? d'en;o2er des requ@tes A'P <respt. 'A'P= et de rece;oir des rponses pour le )odule A'P <respt. 'A'P=. 4ous e0a)inons ici les caractristiques des deu0 pre)i3res couches du )od3le /$I <couches ph2sique et de liens= dans le cas d'un rseau local #thernet et d'une liaison srie reliant un ordinateur 1 Internet ;ia un )ode) connect sur le port srie de cet ordinateur.
$ous%sections 2.".1 Le rseau #thernet 2.".2 La liaison $LIP 2.".3 La liaison PPP 2."." Les protocoles A'P et 'A'P
12
2.#.1 Le rseau &t ernet #thernet est le no) donn 1 une des technologies les plus utilises pour les rseau0 locau0 en 9us. #lle a t in;ente par Oero0 au d9ut des annes &7 et nor)alise par l'I### <Institute 'or "lectrical and "lectronics "ngineers4 ;ers 1(!7 sous la nor)e I### !72. Tout d'a9ord? il e0iste plusieurs technologies ph2siques pour ta9lir un rseau #thernet. 67 !ase 8 ou thick "thernet est un rseau 1 9ase de cF9le coa0ial de 1?2& c) de dia)3tre? d'une longueur de 77 ) )a0i)u) et ter)in 1 chaque e0tr)it par une rsistance. Chaque ordinateur est reli? par un cordon A+I Attachment ,nit Inter'ace=? 1 un 9o>tier appel transceiver luiD)@)e connect au cF9le par l'inter)diaire d'une prise L ;a)pire M. Le transcei;er est capa9le de dtecter si des signau0 nu)riques transitent sur le cF9le et de les traduire en signau0 nu)riques 1 destination de l'ordinateur? et in;erse)ent. 67 !ase 9 ou thin "thernet est un rseau 1 9ase d'un cF9le coa0ial plus *in et plus souple? )oins rsistant au0 pertur9ations lectro)agntiques que le 17 9ase ? )ais d'un coPt in*rieur. Le transcei;er et le cF9le A+I ne sont plus utiles car l'ordinateur est reli directe)ent au cF9le par l'inter)diaire d'une prise .4C en T intgre 1 la carte #thernet de l'ordinateur. 67 !ase T ou twisted #air "thernet est un rseau dans lequel chaque ordinateur est reli? par un cF9le de t2pe paire torsade? 1 un point central appel hu! qui si)ule l'e**et d'un transcei;er et de son cF9le A+I. La conne0ion des cF9les se *ait par l'inter)diaire d'une prise 'Q" et les hu9s doi;ent @tre ali)ents lectrique)ent. Ils si)ulent ainsi le *onctionne)ent d'un 9us alors que la topologie ph2sique du rseau est une toile.
CaHoritaire)ent? les rseau0 #thernet ont un d9it de 17C9it/s2.3 et les in*or)ations sont trans)ises sur le 9us sans garantie de re)ise. Chaque transcei;er capte toutes les tra)es qui sont )ises sur le cF9le et les redirige ;ers le contrRleur de l'ordinateur qui reHettera les tra)es qui ne lui sont pas destines et en;erra au processeur celles qui le concernent? c'estD1Ddire celles dont l'adresse de destination est gale 1 celle de la carte rseau. Co))e il n'2 a pas d'autorit centrale qui g3re l'acc3s au cF9le? il est possi9le que plusieurs stations ;euillent )ettre si)ultan)ent sur le cF9le. C'est pourquoi chaque transcei;er coute le cF9le pendant qu'il )et des donnes a*in de dtecter des ;entuelles pertur9ations. $i une collision est dtecte par le transcei;er? celuiDci pr;ient le coupleur qui arr@te d')ettre et attend un laps de te)ps alatoire co)pris entre 7 et une certaine dure a;ant de r)ettre ses donnes. $'il 2 a encore un pro9l3)e de collision? alors un nou;eau te)ps d'attente est tir au sort entre 7 et ? puis entre 7 et ? etc... Husqu'1 ce que la tra)e soit )ise. Ce principe est Husti*i par le *ait que si une pre)i3re collision se produit? il 2 a de *ortes chances que les dlais d'attente tirs au sort par chacune des 2 stations soient tr3s proches? donc il ne sera pas surprenant d'a;oir une nou;elle collision. #n dou9lant 1 chaque *ois l'inter;alle des dlais d'attente possi9les on aug)ente les chances de ;oir les retrans)issions s'taler sur des dures relati;e)ent longues et donc de di)inuer les risques de collision. Cette technologie s'appelle C$CA/C, <Carrier Sense *ulti#le Access with Collision )etect4. #lle est e**icace en gnrale )ais a le d*aut de ne pas garantir un dlai de trans)ission )a0i)al apr3s lequel on est sPr que la tra)e a t )ise? donc cela ne per)et pas de l'en;isager pour des applications te)ps rel. Les adresses ph2siques #thernet sont codes sur % octets <"! 9its= et sont censes @tre uniques car les constructeurs et l'I### g3re cet adressage de )ani3re 1 ce que deu0 coupleurs ne portent pas la )@)e adresse2.". #lles sont de trois t2pes D unicast dans le cas d'une adresse )onodestinataire dsignant un seul coupleur D !roadcast dans le cas d'une adresse de di**usion gnrale <tous les 9its 1 1= qui per)et d'en;o2er une tra)e 1 toutes les stations du rseau D multicast dans le cas d'une adresse )ultidestinataire qui per)et d'adresser une )@)e tra)e 1 un ense)9le de stations qui ont con;enu de *aire partie du groupe que reprsente cette adresse )ultipoint. /n ;oit donc qu'un coupleur doit @tre capa9le de reconnaitre sa propre adresse ph2sique? l'adresse de )ulticast? et toute adresse de groupe dont il *ait partie. Au ni;eau des tra)es? la nor)alisation I### !722. d*init un *or)at de tra)e lg3re)ent di**rent de celui du ;rita9le #thernet. Ainsi? le '5C !(" d*init les tra)es #thernet et le '5C 17"2 d*init celles des rseau0 I## !72 co))e illustr dans la *igure 2.17.
13
Figure 2.1': #ncapsulation #thernet et I### !72.3. Cais la ;ariante la plus usite est l'#thernet. Les deu0 tra)es utilisent des adresses )atrielles source et destination de % octets <adresse #thernet= et un C'C de " octets )ais di**rent sur les points sui;ants. D ,ans le *or)at #thernet le troisi3)e cha)p contient le ty#e de donnes trans)ises selon que c'est un datagra))e IP? une requ@te ou rponse A'P ou 'A'P. Puis? ;iennent les donnes trans)ises qui peu;ent a;oir une taille allant de "% 1 1 77 octets. ,ans le cas de donnes trop petites? co))e pour les requ@tes et rponse A'P et 'A'P <;oir la sousDsection 2."."= on co)pl3te a;ec des !its de !ourrage ou #adding. D ,ans le *or)at I### !72? le troisi3)e cha)p indique le no)9re d'octets de la tra)e sans co)pter le C'C. Etant donn qu'aucune des ;aleurs possi9les pour le cha)p t2pe de la tra)e #thernet ne peut reprsenter une longueur de tra)e? ce cha)p peut per)ettre de distinguer les encapsulations. Pour la sousDcouche LLC le cha)p ,$AP <)estination Service Access Point= dsigne le ou les protocoles de ni;eau suprieur 1 qui sont destines les donnes de la tra)e et le cha)p $$AP <Source Service Access Point= dsigne le protocole qui a )is la tra)e. Ici leur ;aleur he0adci)ale est ..? c'estD1Ddire la ;aleur dsignant le protocole $4AP <Su!/Network Access Protocol=. Le cha)p de contrRle ctrl est )is gal 1 3 et les 3 octets du cha)p org code sont )is 1 7. #nsuite? on trou;e le cha)p ty#e qui a la )@)e signi*ication que celui de la tra)e #thernet. ,e no)9reu0 quipe)ents )atriels inter;iennent dans la constitution ph2sique d'un rseau #thernet? ce paragraphe dcrit quelques uns de ceu0 qui inter;iennent au0 ni;eau0 1 et 2 du )od3le /$I. +n r#teur opre de )ani3re ph2sique unique)ent? donc au ni;eau de la couche 1 du )od3le /$I. Il se contente de retrans)ettre et d'a)pli*ier tous les signau0 qu'il reAoit? sans aucun autre traite)ent. +n L hu9 M est un rpteur 17 9ase T )ultiport qui ren;oie donc le signal qu'il reAoit par l'un de ses ports ;ers tous ses autres ports. +n #ont est un quipe)ent qui inter;ient dans l'architecture d'un rseau en reliant deu0 seg)ents disHoints de ce rseau. Le pont appartient 1 la couche 2 du )od3le /$I car il ;a *iltrer les tra)es du rseau en *onction de leur origine et destination? )ais il ne se proccuppe pas du logiciel rseau de ni;eau suprieur <TCP/IP? ,#C4et? IPO? ...=.
Figure 2.11: 5onctionne)ent d'un pont.. ,ans la con*iguration de la *igure 2.11 le pont sera capa9le de dter)iner que les ordinateurs A et . sont sur le seg)ent 1 et les ordinateurs C et , sur le seg)ent 2. Il peut o9tenir ces in*or)ations car il L
1"
;oit passer M toutes les tra)es pro;enant des ordinateurs appartenant au0 deu0 seg)ents qu'il relie et grFce au0 adresses d'origine contenues dans les tra)es? il peut se construire une ta9le d'adresses ))orisant la cartographie du rseau. Ainsi? si une tra)e est en;o2e de A ;ers .? ou de C ;ers ,? elle ne *ranchira pas le pont car celuiDci aura dtect que c'est inutile. Cais si la tra)e pro;enant de A est destine 1 C ou ,? elle le tra;ersera sans aucun autre traite)ent. L'utilisation d'un pont peut ainsi a)liorer le d9it d'un rseau car toutes les tra)es ne sont pas trans)ises sur tout le rseau. ,'autre part? cela peut per)ettre d'aug)enter la con*identialit du rseau en isolant certains ordinateurs des autres de )ani3re 1 ce que certaines tra)es soient i)possi9les 1 capturer par des ordinateurs L espions M collectionnant toutes les tra)es qui circulent sur le rseau? )@)e celles qui ne lui sont pas destines. +n commutateur est en *ait un pont )ultiport qui ;a aiguiller chacune des tra)es qu'il reAoit ;ers le seg)ent sur lequel se trou;e l'ordinateur de destination de la tra)e. Cependant? chacun de ses ports est ha9ituelle)ent reli 1 un seg)ent contenant un no)9re restreint d'ordinateurs? ;oire 1 un seul s'il s'agit par e0e)ple d'un ser;eur tr3s sollicit.
2.#.2 La liaison $LIP $LIP <Serial :ink Internet Protocol? '5C 17 = est un protocole per)ettant d'en;o2er des paquets IP entre deu0 ordinateurs relis par une liaison srie <par e0e)ple? grFce 1 deu0 )ode)s 9ranchs sur les ports '$D232 et une ligne tlphonique=. ,ans ce cas il n'2 a pas 9esoin de pr;oir un adressage de ni;eau 2? puisque la liaison est point 1 point <une seule )achine 1 chaque e0tr)it du lien=. Par contre? il s'agit de dli)iter le d9ut et la *in des paquets IP. L'encapsulation d'un paquet IP a;ant de l'en;o2er sur la ligne consiste si)ple)ent 1 le *aire ter)iner par le caract3re spcial /01 </0c7= co))e illustr dans la *igure 2.12.
Figure 2.12: #ncapsulation $LIP. Pour ;iter des pro9l3)es de 9ruit? certaines i)plantations de $LIP *ont gale)ent d9uter l'en;oi du paquet IP par un caract3re /01. Pour qu'un caract3re /01 *aisant partie des donnes du paquet IP ne soit pas interprt co))e la *in du paquet? l')etteur le re)place par la squence d'chappe)ent *2345/*6 /*65/01 <70d9 70dc=. $i le caract3re *2345/*6 *ait partie des donnes 1 trans)ettre? alors la squence *2345/*6 /*65/*6 <70d9 70dd= est trans)ise 1 sa place. +n des d*auts de ce protocole est qu'il *aut que les deu0 e0tr)its aient *i0 prala9le)ent leurs adresses IP? car la liaison $LIP ne leur per)et pas de se les changer. $i un site o**re ;ia un seul )ode) l'acc3s 1 Internet 1 plusieurs personnes? cela ne posera pas de pro9l3)e. #n e**et? chaque personne aura con*igur son ordinateur a;ec le nu)ro IP *ournit par l'ad)inistrateur du rseau et co))e une seule conne0ion est possi9le 1 la *ois la duplication du )@)e nu)ro IP n'est pas g@nante. $eule)ent? si le site o**re un deu0i3)e )ode) sur le )@)e nu)ro tlphonique? les utilisateurs ignoreront 1 quel )ode) ils sont connects. S ce )o)ent l1? il *audra que le s2st3)e indique 1 chaque utilisateur co))ent con*igurer son ordinateur en *onction de l'utilisation ou non de l'autre )ode) de telle )ani3re que la )@)e adresse IP ne soit pas donne 1 deu0 personnes di**rentes si)ultan)ent. ,ans ce genre d'utilisation $LIP a le d*aut de ne pas o**rir d'acc3s contrRler par )ot de passe. ,e plus? il n'2 a pas de cha)p t2pe donc la ligne ne peut pas @tre utilise en )@)e te)ps pour un autre protocole. #t en*in? il n'2 a pas de contrRle de la trans)ission. $i une tra)e su9it des pertur9ations? c'est au0 couches suprieures de de le dtecter. Calgr tout? $LIP est un protocole large)ent utilis et e0iste aussi dans une ;ersion a)liore C$LIP <Com#ressed S:IP=.
1%
2.#.! La liaison PPP PPP <Point to Point Protocol= <'5C 1%%1= est un protocole qui corrige les d*iciences de $LIP en o**rant les *onctionnalits sui;antes. D utilisation sur des liaisons point 1 point autres que srie? co))e O2 ou '4I$ D le transport de protocoles de ni;eau 3 <IP? ,ecnet? AppletalB? ...= D la co)pression des enDt@tes IP et TCP pour aug)enter le d9it de la liaison D gestion d'un contrRle d'acc3s au rseau par authenti*ication selon le protocole PAP qui ncessite la donne d'un )ot de passe au d9ut de la co))unication ou le protocole CHAP qui per)et l'change de sceau0 cr2pts tout au long de la co))unication D dtection et correction d'erreurs de trans)ission D ne pas utiliser des codes qui risquent d'@tre interprts par les )ode)s D con*iguration auto)atique de la station client selon ses protocoles de couche rseau <IP? IPO? AppletalB=. Le protocole PPP est celui classique)ent utilis par les *ournisseurs d'acc3s 1 Internet pour connecter leurs a9onns selon le sch)a de la *igure 2.13.
Figure: Conne0ion 1 Internet par )ode) et PPP. Le processus de conne0ion d'un client quip d'un ordinateur sous 8indo6s? Cac/$? Linu0 ou autre est le sui;ant. Le )ode) du client appelle le nu)ro de tlphone du *ournisseur et la conne0ion tlphonique s'ta9lit si l'un au )oins de ses )ode)s est li9re. L'identi*ication du client se *ait par en;oi d'un no) d'utilisateur et d'un )ot de passe soit directe)ent par l'utilisateur? soit selon l'un des protocoles PAP ou CHAP. Pour PAP <Protocol Authenti'ication Protocol= le ser;eur de co))unication en;oie 1 l'ordinateur un paquet pour de)ander le no) d'utilisateur et le )ot de passe et l'ordinateur ren;oie ces in*or)ations directe)ent. CHAP <Challenge ;andshake Authenti'ication Protocol= *onctionne de la )@)e )ani3re sau* que le ser;eur de co))unication en;oie d'a9ord une cle* qui ;a per)ettre de cr2pter l'en;oi du no) d'utilisateur et du )ot de passe. +ne *ois l'identi*ication du client controle? le ser;eur de co))unication en;oie une adresse IP? dite dynami(ue car elle ;arie selon les conne0ions? 1 l'ordinateur du client qui 1 partir de l1 se retrou;e intgr au rseau Internt a;ec une adresse IP pour tout le te)ps que durera sa conne0ion.
1&
Figure 2.1#: #ncapsulation PPP. ,e )ani3re plus technique l'encapsulation PPP illustre dans la *igure 2.1" est proche du standard H,LC de l'I$/ <;oir section 1.".2= et est telle que chaque tra)e co))ence et *init par un *anion de ;aleur 077e soit en 9inaire 01111110. La ;aleur du cha)p adresse est touHours *i0e 1 07ff puisqu'elle est inutile ici dans le cas d'une liaison point 1 point. Le cha)p contrRle est *i0 1 0703. Le cha)p protocol a le )@)e rRle que la cha)p t2pe de la tra)e #thernet. Le C'C assure la dtection des erreurs de trans)ission. Le pro9l3)e de l'apparition du *anion 01111110 au )ilieu des donnes 1 trans)ettre est rgl des deu0 )ani3res sui;antes. D ,ans le cas d'une liaison s2nchrone? 1 l')ission un 9it 1 0 est s2st)atique)ent aHout apr3s 1 et il est retir 1 la rception. D ,ans le cas d'une liaison as2nchrone? le *anion 077e est re)plac par la suite 077d 075e? et le code 077d est luiD)@)e re)plac par la suite 077d 075d. ,e plus tout octet / de ;aleur in*rieure 1 0720 <32 en dci)al=? correspondant donc 1 un code de contrRle A$CII? sera re)plac par la squence 077d 89 oJ . Ainsi? on est sPr que ces caract3res ne seront pas interprts par les )ode)s co))e des caract3res de co))andes. Par d*aut? les 32 ;aleurs sont traites ainsi )ais il est possi9le d'utiliser le protocole de contrRle de liens pour spci*ier pour quels caract3res unique)ent on *ait cette trans*or)ation.
1!
2.#.# Les protocoles A(P et (A(P Etant donn que le protocole IP? et ses adresses? peu;ent @tre utiliss sur des architectures )atrielles di**rentes <rseau #thernet? ToBenD'ing? ...= possdant leur propres adresses ph2siques? il 2 a ncessit d'ta9lir les correspondances 9iuni;oques entre adresses IP et adresses )atrielles des ordinateurs d'un rseau. Ceci est l'o9Het des protocoles A'P <Address Resolution Protocol= et 'A'P <reverse Address Resolution Protocol=. A'P *ournit une correspondance d2na)ique entre une adresse IP connue et l'adresse )atrielle lui correspondant? 'A'P *aisant l'in;erse. 4ous nous plaAons dans le cas d'une correspondance 1 ta9lir entre IP et #thernet et la ncessit de la rsolution d'adresse *ournie par A'P appara>t dans l'e0e)ple ciDdessous dcri;ant le d9ut d'une conne0ion 5TP. 1. 2. 3. ". Le client 5TP con;ertit l'adresse du ser;eur 5TP <e0 - "ega. ni")[Link]= en une adresse IP <193.49.1(2.1= 1 l'aide du *ichiers /etc/hosts ou d'un ser;eur de no)s <,4$=. Le client 5TP de)ande 1 la couche TCP d'ta9lir une conne0ion a;ec cette adresse. TCP en;oie une requ@te de conne0ion 1 ce ser;eur en )ettant un datagra))e IP contenant l'adresse IP #n supposant que les )achines client et ser;eur sont sur le )@)e rseau local #thernet? la )achine )ettrice doit con;ertir l'adresse IP sur " octets en une adresse #thernet sur % octets a;ant d')ettre la tra)e #thernet contenant le paquet IP. C'est ce que ;a *aire A'P. Le )odule A'P en;oie une requ@te A'P dans une tra)e #thernet <donne dans la *igure 2.1 = a;ec une adresse de destination )ulticast. Ainsi? toutes les )achines du rseau local reAoi;ent cette requ@te contenant l'adresse IP 1 rsoudre. La couche A'P de la )achine ;ise <ici "ega. ni")[Link]= reconna>t que cette requ@te lui est destine et rpond par une rponse A'P contenant son adresse )atrielle [Link].;:.<:42:43. Les autres )achines du rseau ignorent la requ@te. La rponse A'P est reAue par l')etteur de la requ@te. Pour ce retour? il n'2 a pas de pro9l3)e de rsolution puisque l'adresse ph2sique de l')etteur tant en;o2e dans la requ@te elle est connue de la )achine qui rpond. La rponse A'P est reAue par la couche A'P du client 5TP? et le dri;er #thernet peut alors )ettre le paquet IP a;ec la 9onne adresse #thernet de destination.
%.
&.
!.
Figure: 'equ@te ou rponse A'P sur un rseau #thernet. Les deu0 pre)iers cha)ps d'une tra)e #thernet <;oir *igure 2.1 = )ise par A'P sont con*or)es 1 l'enDt@te d'une tra)e #thernet ha9ituelle et l'adresse de destination sera [Link]? l'adresse )ulticast dsignant toutes les )achines du rseau 1 la *ois. La ;aleur du cha)p t2pe de tra)e est 07080( indiquant le protocole A'P. Le cha)p t2pe de )atriel est gal 1 1 pour un rseau #thernet et et celui t2pe de protocole est gal est 07800 pour IP. Les tailles en octets spci*ies ensuite sont % <% octets pour une adresse #thernet= et " <" octets pour une adresse IP=. Le cha)p op ;aut 1 pour une requ@te A'P et 2 pour une rponse A'P. Les quatre cha)ps sui;ants contiennent des adresse et sont redondants dans le cas de l'adresse #thernet )etteur d'une requ@te A'P? et non renseigns dans le cas de l'adresse #thernet ci9le d'une requ@te A'P. La )achine qui reconna>t son nu)ro IP 1 l'intrieur d'une requ@te A'P qu'elle reAoit la ren;oie en 2 inter;ertissant les adresses IP ci9le et )etteur? ainsi que les adresses #thernet ci9le <apr3s l'a;oir su9stitue 1 l'adresse de di**usion dans l'enDt@te et renseigne dans le corps de la tra)e= et #thernet )etteur. Pour ;iter la )ultiplication des requ@tes A'P? chaque )achine g3re un cache dans lequel elle ))orise les correspondances adresses IP/adresses #thernet dH1 rsolues prala9le)ent. Ainsi? le )odule A'P ne lancera une requ@te que lorsqu'il ne trou;era pas cette correspondance dans le cache? sinon il se contentera d')ettre les donnes qu'il reAoit d'IP en a2ant *i0er correcte)ent l'adresse ph2sique de destination. Cependant? les correspondances ne sont pas conser;es ind*ini)ent car cela pourrait pro;oquer des erreurs lorsque l'on change un ordinateur <ou une
1(
carte rseau= sur le rseau en conser;ant un )@)e nu)ro IP pour cet ordinateur )ais ;ide))ent pas la )@)e adresse ph2sique. :uant 1 lui? le protocole 'A'P Houe le rRle in;erse de A'P en per)ettant de dter)iner l'adresse IP d'un quipe)ent dont on conna>t l'adresse ph2sique. Ceci est nota))ent utile pour a)orcer une station sans disques? ou un TO? qui n'a pas en ))oire son adresse IP )ais seule)ent son adresse )atrielle. Le *or)at d'une tra)e 'A'P est celui de la *igure 2.1 = oJ le cha)p t2pe de tra)e ;aut 070835 et le cha)p op ;aut 3 pour une requ@te 'A'P et 4 pour une rponse. +ne requ@te 'A'P est di**use sous *or)e de 9roadcast? donc toutes les )achines du rseau la reAoi;ent et la traitent. Cais la plupart des )achines ignorent si)ple)ent cette de)ande? seuls? le ou les ser;eurs 'A'P du rseau ;ont traiter la requ@te grFce 1 un ou plusieurs *ichiers et ;ont retourner une rponse contenant l'adresse IP de)ande.
27
2.) Le protocole IP. Co))e on a pu le ;oir dans la *igure 2.3 le protocole IP <Internet Protocol? '5C &(1= est au c ur du *onctionne)ent d'un internet. Il assure sans [Link] un ser;ice non 'ia!le de dli;rance de datagra))es IP. Le ser;ice est non *ia9le car il n'e0iste aucune garantie pour que les datagra))es IP arri;ent 1 destination. Certains peu;ent @tre perdus? dupliqus? retards? altrs ou re)is dans le dsordre. /n parle de re)ise au )ieu0 <!est e''ort delivery= et ni l')etteur ni le rcepteur ne sont in*or)s directe)ent par IP des pro9l3)es rencontrs. Le )ode de trans)ission est non connect car IP traite chaque datagra))e indpenda))ent de ceu0 qui le prc3dent et le sui;ent. Ainsi en thorie? au )oins? deu0 datagra))es IP issus de la )@)e )achine et a2ant la )@)e destination peu;ent ne pas sui;re o9ligatoire)ent le )@)e che)in. Le rRle du protocole IP est centr autour des trois *onctionnalits sui;antes chacune tant dcrite dans une des sousDsections 1 ;enir. D d*inir le *or)at du datagra))e IP qui est l'unit de 9ase des donnes circulant sur Internet D d*inir le routage dans Internet D d*inir la gestion de la re)ise non *ia9le des datagra))es $ous%sections 2. .1 Le datagra))e IP. 2. .2 La *rag)entation des datagra))es IP. 2. .3 Le routage IP. 2. ." La gestion des erreurs.
21
2.).1 Le datagra**e IP. Co))e cela a dH1 t illustr dans la *igure 2.% on rappelle qu'un datagra))e IP est constitu d'une enDt@te sui;ie d'un cha)p de donnes.
Figure 2.1+: $tructure d'un datagra))e IP. $a structure prcise est dtaille dans la *igure 2.1% et co)porte les cha)ps sui;ants. D La version code sur " 9its le nu)ro de ;ersion du protocole IP utilis <la ;ersion courante est la "? d'oJ son no) d'IP;"=. Tout logiciel IP doit d'a9ord ;ri*ier que le nu)ro de ;ersion du datagra))e qu'il reAoit est en accord a;ec luiD)@)e. si ce n'est pas le cas le datagra))e est tout si)ple)ent reHet. Ceci per)et de tester des nou;eau0 protocoles sans inter*rer a;ec la 9onne )arche du rseau. D La longueur d%en/t0te reprsente sur " 9its la longueur? en no)9re de )ots de 32 9its? de l'enDt@te du datagra))e. Ce cha)p est ncessaire car une enDt@te peut a;oir une taille suprieure 1 27 octets <taille de l'enDt@te classique= 1 cause des options que l'on peut 2 aHouter. D Le ty#e de services 1T<S4 est cod sur ! 9its? indique la )ani3re dont doit @tre gr le datagra))e et se dco)pose en si0 sousDcha)ps co))e suit. 7 1 2 3 " % & priorit , T ' C inutilis Le cha)p #riorit ;arie de 7 <priorit nor)ale? ;aleur par d*aut= 1 & <priorit )a0i)ale pour la super;ision du rseau= et per)et d'indiquer l'i)portance de chaque datagra))e. C@)e si ce cha)p n'est pas pris en co)pte par tous les routeurs? il per)ettrait d'en;isager des )thodes de contrRle de congestion du rseau qui ne soient pas a**ectes par le pro9l3)e qu'elles cherchent 1 rsoudre. Les " 9its ,? T? ' et C per)ettent de spci*ier ce que l'on ;eut pri;ilgier pour la trans)ission de ce datagra))e <nou;el '5C 1" =. , est )is 1 1 pour essa2er de )ini)iser le dlai d'ache)ine)ent <par e0e)ple choisir un cF9le sousD)arin plutRt qu'une liaison satellite=? T est )is 1 1 pour )a0i)iser le d9it de trans)ission? ' est )is 1 1 pour assurer une plus grande *ia9ilit et C est )is 1 1 pour )ini)iser les coPts de trans)ission. $i les quatre 9its sont 1 1? alors c'est la scurit de la trans)ission qui doit @tre )a0i)ise. Les ;aleurs reco))andes pour ces " 9its sont donnes dans la ta9le 2.1. Ta,leau 2.1: T2pe de ser;ice pour les applications standard.
22
application telnet/rlogin 5TP contrRle trans*ert $CTP co))andes donnes 44TP $4CP
1 7
7 1
7 7
7 7
1 7 7 7
7 1 7 7
7 7 7 1
7 7 1 7
Ces " 9its ser;ent 1 a)liorer la qualit du routage et ne sont pas des e0igences incontourna9les. $i)ple)ent? si un routeur conna>t plusieurs ;oies de sortie pour une )@)e destination il pourra choisir celle qui correspond le )ieu0 1 la de)ande. D La longueur totale contient la taille totale en octets du datagra))e? et co))e ce cha)p est de 2 octets on en dduit que la taille co)pl3te d'un datagra))e ne peut dpasser % 3 octets. +tilise a;ec la longueur de l'enDt@te elle per)et de dter)iner oJ co))encent e0acte)ent les donnes transportes. D Les cha)ps identi'ication? dra#eau. et d#lacement de 'ragment inter;iennent dans le processus de *rag)entation des datagra))es IP et sont dcrits dans la sousDsection 2. .2. D La dure de vie <TTL= indique le no)9re )a0i)al de routeurs que peut tra;erser le datagra))e. #lle est initialise 1 N <sou;ent 32 ou %"= par la station )ettrice et dcr)ent de 1 par chaque routeur qui le reAoit et le re0pdie. Lorsqu'un routeur reAoit un datagra))e dont la dure de ;ie est nulle? il le dtruit et en;oie 1 l'e0pditeur un )essage ICCP. Ainsi? il est i)possi9le qu'un datagra))e LtourneM ind*ini)ent dans un internet. Ce cha)p sert gale)ent dans la ralisation du progra))e tracero te donn dans la section 2.!.2. D Le #rotocole per)et de coder quel protocole de plus haut ni;eau a ser;i a cr ce datagra))e. Les ;aleurs codes sur ! 9its sont 1 pour ICCP? 2 pour IICP? % pour TCP et 1& pour +,P. Ainsi? la station destinatrice qui reAoit un datagra))e IP pourra diriger les donnes qu'il contient ;ers le protocole adquat. D Le total de contr=le d%en/t0te <header checBsu)= est calcul 1 partir de l'enDt@te du datagra))e pour en assurer l'intgrit. L'intgrit des donnes transportes est elle assure directe)ent par les protocoles ICCP? IICP? TCP et +,P qui les )ettent. Pour calculer cette so))e de contrRle? on co))ence par la )ettre 1 Gro. Puis? en considrant la totalit de l'enDt@te co))e une suite d'entiers de 1% 9its? on *ait la so))e de ces entiers en co)pl)ent 1 1. /n co)pl)ente 1 1 cette so))e et cela donne le total de contrRle que l'on ins3re dans le cha)p pr;u. A la rception du datagra))e? il su**it d'additionner tous les no)9res de l'enDt@te et si l'on o9tient un no)9re a;ec tous ses 9its 1 1? c'est que la trans)ission s'est passe sans pro9l3)e. #0e)ple - $oit le datagra))e IP dont l'enDt@te est la sui;ante 4500 05dc e733 222# ff11 chec=s m c02c 4d(0 c02c 4d01 La so))e des )ots de 1% 9its en co)pl)ents 1 1 donne (e08? son co)pl)ent 1 1 est 91f7. Le datagra))e est donc e0pdi a;ec cette ;aleur de checBsu). D Les adresses IP source et destination contiennent sur 32 9its les adresses de la )achine )ettrice et destinataire *inale du datagra))e. D Le cha)p o#tions est une liste de longueur ;aria9le? )ais touHours co)plte par des 9its de !ourrage pour atteindre une taille )ultiple de 32 9its pour @tre en con*or)it a;ec la con;ention qui d*init le cha)p longueur de l'enDt@te. Ces options sont tr3s peu utilises car peu de )achines sont aptes 1 les
23
grer. Par)i elles? on trou;e des options de scurit et de gestion <do)aine )ilitaire=? d'enregistre)ent de la route? d'esta)pille horaire? routage strict? etc... Les cha)ps non encore prciss le sont dans la section sui;ante car ils concernent la *rag)entation des datagra))es.
2"
2.).2 La -rag*entation des datagra**es IP. #n *ait? il e0iste d'autres li)ites 1 la taille d'un datagra))e que celle *i0e par la ;aleur )a0i)ale de % 3 octets. 4ota))ent? pour opti)iser le d9it il est pr*ra9le qu'un datagra))e IP soit encapsul dans une seule tra)e de ni;eau 2 <#thernet par e0e)ple=. Cais? co))e un datagra))e IP peut transiter 1 tra;ers Internet sur un ense)9le de rseau0 au0 technologies di**rentes il est i)possi9le de d*inir? a priori <lors de la d*inition du '5C=? une taille )a0i)ale des datagra))es IP qui per)ette de les encapsuler dans une seule tra)e quel que soit le rseau <1 77 octets pour #thernet et ""&7 pour 5,,I par e0e)ple=. /n appelle la taille )a0i)ale d'une tra)e d'un rseau le *T, <*[Link] Trans'ert ,nit= et elle ;a ser;ir 1 *rag)enter les datagra))es trop grands pour le rseau qu'ils tra;ersent. Cais? si le CT+ d'un rseau tra;ers est su**isa))ent grand pour accepter un datagra))e? ;ide))ent il sera encapsul tel quel dans la tra)e du rseau concern.
Figure 2.1": 5rag)entation d'un datagra))e IP. Co))e on peut le ;oir dans la *igure 2.1& la *rag)entation se situe au ni;eau d'un routeur qui reAoit des datagra))es issus d'un rseau 1 grand CT+ et qui doit les re0pdier ;ers un rseau 1 plus petit CT+. ,ans cet e0e)ple? si la station A? relie 1 un rseau #thernet? en;oie un datagra))e de 1377 octets 1 destination de la station .? relie gale)ent 1 un rseau #thernet? le routeur '1 ;a de;oir *rag)enter ce datagra))e de la )ani3re sui;ante. enDt@te du donnes1 donnes2 donnes3 datagra))e initial datagra))e %77 %77 177 octets octets octets
*rag)ent1
enDt@te du *rag)ent1
dplace)ent 7
*rag)ent2
enDt@te du *rag)ent2
dplace)ent %77
*rag)ent3
enDt@te du *rag)ent3
dplace)ent 1277
La taille d'un *rag)ent est choisie la plus grande possi9le tout en tant un )ultiple de ! octets. +n datagra))e *rag)ent n'est rasse)9l que lorsqu'il arri;e 1 destination *inale? )@)e s'ils tra;ersent des rseau0 a;ec un plus grand CT+ les routeurs ne rasse)9lent pas les petits *rag)ents. ,e plus chaque *rag)ent est rout de )ani3re totale)ent indpendante des autres *rag)ents du datagra))e d'oJ il pro;ient. Le destinataire *inal qui reAoit un pre)ier *rag)ent d'un datagra))e ar)e un te)porisateur de rasse)9lage? c'estD1Ddire un dlai )a0i)al d'attente de tous les *rag)ents. $i? pass ce dlai? tous les *rag)ents ne sont pas arri;s il dtruit les *rag)ents reAus et ne traite pas le datagra))e. Plus prcis)ent? l'ordinateur destinataire dcr)ente? 1 inter;alles rguliers? de une unit le cha)p TTL de chaque *rag)ent en attente de rasse)9lage. Cette technique per)et gale)ent de ne pas *aire coe0ister au )@)e instant deu0 datagra))es a;ec le )@)e identi*iant. Le processus de *rag)entationDrasse)9lage est rendu possi9le grFce au0 di**rents cha)ps sui;ants. Le cha)p d#lacement de 'ragment prcise la localisation du d9ut du *rag)ent dans le datagra))e initial. S part cela? les *rag)ents sont des datagra))es dont l'enDt@te est quasi)ent identique 1 celle du datagra))e original. Par
e0e)ple? le cha)p identi'ication est un entier qui identi*ie de )ani3re unique chaque datagra))e )is et qui est recopi dans le cha)p identi*ication de chacun des *rag)ents si ce datagra))e est *rag)ent. Par contre? le cha)p longueur total est recalcul pour chaque *rag)ent. Le cha)p dra#eau. co)prend trois 9its dont deu0 qui contrRlent la *rag)entation. $'il est positionn 1 1 le pre)ier 9it indique que l'on ne doit pas *rag)enter le datagra))e et si un routeur doit *rag)enter un tel datagra))e alors il le reHette et en;oie un )essage d'erreur 1 l'e0pditeur. +n autre 9it appel 'ragments > suivre est )is s2st)atique)ent 1 1 pour tous les *rag)ents qui co)posent un datagra))e sau* le dernier. Ainsi? quand le destinataire reAoit le *rag)ent dont le 9it *rag)ent 1 sui;re est 1 7 il est apte 1 dter)iner s'il a reAu tous les *rag)ents du datagra))e initial grFce nota))ent au0 cha)ps o**set et longueur totale de ce dernier *rag)ent. $i un *rag)ent doit @tre 1 nou;eau *rag)ent lorsqu'il arri;e sur un rseau a;ec un encore plus petit CT+? ceci est *ait co))e dcrit prcde))ent sau* que le calcul du cha)p dplace)ent de *rag)ent est *ait en tenant co)pte du dplace)ent inscrit dans le *rag)ent 1 traiter.
2%
2.).! Le routage IP. Le routage est l'une des *onctionnalits principales de la couche IP et consiste 1 choisir la )ani3re de trans)ettre un datagra))e IP 1 tra;ers les di;ers rseau0 d'un internet. /n appellera ordinateur un quipe)ent reli 1 un seul rseau et routeur un quipe)ent reli 1 au )oins deu0 rseau0 <cet quipe)ent pou;ant @tre un ordinateur? au sens classique du ter)e? qui assure les *onctionnalits de routage=. Ainsi un routeur r)ettra des datagra))es ;enus d'une de ses inter*aces ;ers une autre? alors qu'un ordinateur sera soit l'e0pditeur initial? soit le destinataire *inal d'un datagra))e. ,'une )ani3re gnrale on distingue la remise directe? qui correspond au trans*ert d'un datagra))e entre deu0 ordinateurs du )@)e rseau? et la remise indirecte qui est )ise en u;re dans tous les autres cas? c'estD1Ddire quand au )oins un routeur spare l'e0pditeur initial et le destinataire *inal. Par e0e)ple? dans le cas d'un rseau #thernet? la re)ise directe consiste 1 encapsuler le datagra))e dans une tra)e #thernet apr3s a;oir utilis le protocole A'P pour *aire la correspondance adresse IP adresse ph2sique <;oir les sections 2.".1 et 2."."= et 1 )ettre cette tra)e sur le rseau. L'e0pditeur peut sa;oir que le destinataire *inal partage le )@)e rseau que luiD)@)e en utilisant si)ple)ent l'adresse IP de destination du datagra))e. Il en e0trait l'identi*icateur de rseau et si c'est le )@)e que celui de sa propre adresse IP2.%alors la re)ise directe est su**isante. #n *ait? ce )canis)e de re)ise directe se retrou;e touHours lors de la re)ise d'un datagra))e entre le dernier routeur et le destinataire *inal. Pour sa part? la re)ise indirecte ncessite de dter)iner ;ers quel routeur en;o2er un datagra))e IP en *onction de sa destination *inale. Ceci est rendu possi9le par l'utilisation d'une ta!le de routage spci*ique 1 chaque routeur qui per)et de dter)iner ;ers quelle ;oie de sortie en;o2er un datagra))e destin 1 un rseau quelconque. E;ide))ent? 1 cause de la structure locale)ent ar9orescente d'Internet la plupart des ta9les de routage ne sont pas tr3s grandes. Par contre? les ta9les des routeurs interconnectant les grands rseau0 peu;ent atteindre des tailles tr3s grandes ralentissant d'autant le tra*ic sur ces rseau0. ,'un point de ;ue *onctionnel une ta9le de routage contient des paires d'adresses du t2pe <)? R= oJ ) est l'adresse IP d'une )achine ou d'un rseau de destination et R l'adresse IP du routeur sui;ant sur la route )enant 1 cette destination. Tous les routeurs )entionns dans une ta9le de routage doi;ent 9ien sPr @tre directe)ent accessi9les 1 partir du routeur considr. Cette technique? dans laquelle un routeur ne conna>t pas le che)in co)plet )enant 1 une destination? )ais si)ple)ent la pre)i3re tape de ce che)in? est appele routage #ar sauts successi's <ne.t/ho# routing=. +ne ta9le de routage contient aussi une route #ar d'aut qui spci*ie un routeur par d*aut ;ers lequel sont en;o2s tous les datagra))es pour lesquels il n'e0iste pas de route dans la ta9le.
Figure: #0e)ple d'interconne0ion de rseau. La *igure 2.1! donne un e0e)ple d'interconne0ion d'un rseau de classe . 1"7.2 2.7.7 su9di;is en 3 sousD rseau0 de )asques respecti*s 2 .2 .2 .7 pour l'#thernet du haut? 2 .2 .2 .22"2.& pour l'#thernet du 9as et le sousDrseau $LIP. Les )asques de sousDrseau sont associs par d*aut 1 chaque inter*ace d'une )achine ou sont ;entuelle)ent spci*i sur chaque ligne des ta9les de routage. ,ans l'e0e)ple donn ici? la ta9le de routage si)ple de l'ordinateur R? <sous s2st3)e uni0 $un= est la sui;ante. destination 1"7.2 2.13.% 12&.7.7.1 de*ault gate6a2 1"7.2 2.13.3 12&.7.7.1 *lags re*cnt use +IH 7 +H 1 7 7 7 7 inter*ace e)d7 lo7 e)d7
1"7.2 2.13.33 +I
2&
"
2 7"3 e)d/
Les 'lags ont la signi*ication sui;ante. + La route est en ser;ice. I La route est un routeur <gateway=. $i ce *lag n'est pas positionn la destination est directe)ent connecte au routeur? c'est donc un cas de re)ise directe ;ers l'adresse IP de destination. H La route est un ordinateur <host=? la destination est une adresse d'ordinateur. ,ans ce cas? la correspondance entre l'adresse de destination du paquet 1 LrouterM et l'entre destination de la ta9le de routage doit @tre totale. $i ce *lag n'est pas positionn? la route dsigne un autre rseau et la destination est une adresse de rseau ou de sousDrseau. Ici? la correspondance des identi*icateurs de rseau0 est su**isante. , La route a t cre par une redirection. C La route a t )odi*ie par une redirection. La colonne com#teur de r'rence <re'cnt indique le no)9re de *ois oJ la route est utilise 1 l'instant de la consultation. Par e0e)ple? TCP conser;e la )@)e route tant qu'il l'utilise pour la conne0ion sousDHacente 1 une application<telnet? *tp? ...=. La colonne use a**iche le no)9re de paquets en;o2s 1 tra;ers l'inter*ace de cette route qui est spci*ie dans la derni3re colonne de la )@)e ligne. L'adresse 12&.7.7.1 est celle de lo7? l'inter*ace de loo#!ack? qui sert 1 pou;oir *aire co))uniquer une )achine a;ec elleD)@)e. La destination de'ault sert 1 indiquer la destination de tous les datagra))es qui ne peu;ent @tre LroutsM par l'une des autres routes. L'utilisation d'une ta9le de routage se *ait sui;ant l'algorith)e de routage IP donn ciDdessous. 4rocd re >o tage34?donnes 1at : datagramme@ +a# : +a#le de ro tageA d# t 1 :B adresse 34 de destination de 1at 0 :B identificate r d rsea de 1 si 0 est ne adresse de rsea directement accessi#le alors en"oCer 1at "ers l9adresse 1 s r ce rsea D il C a rsol tion de l9adresse 34@ en adresse phCsiE e@ encaps lation de 1at dans ne trame phCsiE e et mission de la trameF sinon po r chaE e entre de +a# faire 0:Brs ltat d et logiE e de 1 et d masE e de so s)rsea si 0Bl9adresse rsea o so s)rsea de la destination de l9entre alors ro ter 1at "ers cette destination sortir finsi finpo r si a c ne correspondance n9est tro "e alors reto rner $ l9application d9origine d datagramme ne erre r de ro tage host nreacha#le o nreacha#le networ= finsi finsi fin
2!
L'ta9lisse)ent d'une ta9le de routage est stati(ue lorsqu'elle rsulte de la con*iguration par d*aut d'une inter*ace? ou de la co))ande ro te 1 partir d'un *ichier de d)arrage? ou grFce 1 une redirection ICCP <;oir la section 2. ."=. Cais d3s que le rseau de;ient non tri;ial? on utilise le routage dynami(ue qui consiste en un protocole de co))unication entre routeurs qui in*or)ent chacun de leurs ;oisins des rseau0 au0quels ils sont connects. IrFce 1 ce protocole? les ta9les de routage ;oluent dans le te)ps en *onction de l';olution des routes. L'un des protocoles de routage les plus populaires est RIP <Routing In'ormation Protocol= qui est un protocole de t2pe vecteur de distance. C'estD1Ddire que les )essages changs par des routeurs ;oisins contiennent un ense)9le de distances entre routeur et destinations qui per)et de ractualiser les ta9les de routage. Ce protocole utilise une )trique si)ple - la distance entre une source et une destination est gale au no)9re de sauts qui les sparent. #lle est co)prise entre 1 et 1 ? la ;aleur 1% reprsentant l'Lin*iniM. Ceci i)plique que 'IP ne peut @tre utilis qu'1 l'intrieur de rseau0 qui ne sont pas trop tendus. +n )essage 'IP est encapsul dans un datagra))e +,P de la )ani3re dcrite dans la *igure 2.1(.
Figure 2.1.: #ncapsulation d'un )essage 'IP. Le cha)p commande *i0 1 1 indique une requ@te pour de)ander tout ou partie d'une ta9le de routage et *i0 1 2 pour trans)ettre une rponse <d'autres ;aleurs hors nor)es actuelle)ent e0istent gale)ent=. Le cha)p version est positionn 1 1 et 1 2 dans la ;ersion de 'IP2. Pour des adresses IP? le cha)p identi'icateur de 'amille d%adresses est touHours *i0 1 2. S l'initialisation? le d)on de routage en;oie une requ@te 'IP 1 chaque inter*ace pour de)ander les ta9les de routage co)pl3tes de chacun de ses ;oisins. $ur une liaison point 1 point la requ@te est en;o2e 1 l'autre e0tr)it? sinon elle est en;o2e sous *or)e de 9roadcast sur un rseau. Le *onctionne)ent nor)al de 'IP consiste 1 di**user des rponses soit toutes les 37 secondes? soit pour une )ise 1 Hour dclenche par la )odi*ication de la )trique d'une route. +ne rponse contient une adresse de destination? acco)pagne de sa )trique? de l'adresse du prochain routeur?d'un indicateur de )ise 1 Hour rcente et de te)porisations. Le processus 'IP )et 1 Hour sa ta9le de routage locale en e0a)inant les entres retournes dont il ;ri*ie d'a9ord la ;alidit - adresse de classe A?. ou C? nu)ro de rseau di**rent de 12& et 7 <sau* pour l'adresse par d*aut [Link]=? nu)ro d'ordinateur di**rent de l'adresse de di**usion? )trique di**rente de l'Lin*iniM. 'IP e**ectue ensuite les )ises 1 Hour propres 1 l'algorith)e L;ecteur de distanceM sui;ant. D $i l'entre n'e0istait pas dans la ta9le et si la )trique reAue n'est pas in*inie? alors on aHoute cette nou;elle entre co)pose de la destination? de l'adresse du prochain routeur <c'est celui qui en;oie la rponse=? de la )trique reAue. /n initialise la te)porisation correspondante. D $i l'entre tait prsente a;ec une )trique suprieure 1 celle reAue? on )et 1 Hour la )trique et le prochain routeur et on rinitialise la te)porisation. D $i l'entre tait prsente et que le routeur sui;ant correspond 1 l')etteur de la rponse? on rinitialise la te)porisation et on )et 1 Hour la )trique a;ec celle reAue si elles di**3rent. D ,ans les autres cas on ignore l'entre.
2(
Cette )thode correspond 1 l'algorith)e de .ell)anD5ord de recherche de plus courts che)ins dans un graphe. +n des d*auts de 'IP est de ne pas grer les adresses de sousDrseau0. Cais de telles entres peu;ent @tre annonces ;ia le une inter*ace appartenant 1 ce sousDrseau pour pou;oir 9n*icier du )asque qui 2 est attach et @tre correcte)ent interprtes. #n*in? 'IP )et un te)ps asseG long <quelques )inutes= pour se sta9iliser apr3s la d*aillance d'une liaison ou d'un routeur ce qui peut occasionner des 9oucles de routage. 'IP2 est un protocole qui tend 'IP en utilisant les " cha)ps laisss 1 7 par 'IP dans ses )essages. Le pre)ier sert 1 *i0er un domaine de routage identi*iant le d)on de routage qui a )is le paquet et le quatri3)e l%adresse IP d%un routeur de saut suivant. Ces deu0 cha)ps ont ser;i 1 lancer si)ultan)ent plusieurs d)ons de routage sur un )@)e support leur utilisation a t a9andonne. Le deu0i3)e cha)p est un identi'icateur de route pour supporter des protocoles de routes e0ternes et le troisi3)e sert 1 spci*ier un mas(ue de sous/rseau pour chaque entre de la rponse. <SP <<#en Shortest Path irst= est un nou;eau t2pe de protocole de routage d2na)ique qui li)ine les li)itations de 'IP. C'est un protocole d%tat de liens? c'estD1Ddire qu'ici un routeur n'en;oie pas des distances 1 ses ;oisins? )ais il teste l'tat de la connecti;it qui le relie 1 chacun de ses ;oisins. Il en;oie cette in*or)ation 1 tous ses ;oisins? qui ensuite le propagent dans le rseau. Ainsi? chaque routeur peut possder une carte de la topologie du rseau qui se )et 1 Hour tr3s rapide)ent lui per)ettant de calculer des routes aussi prcises qu'a;ec un algorith)e centralis. #n *ait? 'IP et /$P5? sont des protocoles de t2pe I+P <Interior +ateway Protocol= per)ettant d'ta9lir les ta9les des routeurs internes des syst-mes autonomes. +n s2st3)e autono)e peut @tre d*ini par un ense)9le de routeurs et de rseau0 sous une ad)inistration unique. Cela peut donc aller d'un seul routeur connectant un rseau local 1 Internet? Husqu'1 l'ense)9le des rseau0 locau0 d'une )ultinationale. La r3gle de 9ase tant qu'un s2st3)e autono)e assure la conne0it totale de tous les points qui le co)posent en utilisant nota))ent un protocole de routage unique. S un ni;eau plus glo9al? Internet appara>t donc co))e une interconne0ion de s2st3)es autono)es co))e illustr dans la *igure 2.27.
Figure: Interconne0ion de s2st3)es autono)es. ,ans chaque s2st3)e autono)e les ta9les sont )aintenus par par un IIP et sont changes unique)ent entre routeurs du )@)e sousDs2st3)e. Pour o9tenir des in*or)ations sur les rseau0 e0ternes? ceu0 de l'autre s2st3)e autono)e? ils doi;ent dialoguer a;ec les les routeurs e0ternes '1 et '2. Ceu0Dci sont des points d'entre de chaque s2st3)e et? ;ia la liaison qui les relie? ils changent des in*or)ations sur la connecti;it grFce 1 "+P <".terior +ateway Protocol= ou &+P <&order +ateway Protocol= qui re)place #IP actuelle)ent.
37
2.).# La gestion des erreurs. Le protocole ICCP <Internet Control *essage Protocol= organise un change d'in*or)ation per)ettant au0 routeurs d'en;o2er des )essages d'erreurs 1 d'autres ordinateurs ou routeurs. .ien qu'ICCP LtourneM auDdessus de IP il est requis dans tous les routeurs c'est pourquoi on le place dans la couche IP. Le 9ut d'ICCP n'est pas de *ia9iliser le protocole IP? )ais de *ournir 1 une autre couche IP? ou 1 une couche suprieure de protocole <TCP ou +,P=? le co)pteDrendu d'une erreur dtecte dans un routeur. +n )essage ICCP tant ache)in 1 l'intrieur d'un datagra))e IP2.!illustr dans la *igure 2.21? il est suscepti9le? lui aussi? de sou**rir d'erreurs de trans)ission.
Figure 2.21: #ncapsulation d'un )essage ICCP. Cais la r3gle est qu'aucun )essage ICCP ne doit @tre dli;r pour signaler une erreur relati;e 1 un )essage ICCP. /n ;ite ainsi une a;alanche de )essages d'erreurs quand le *onctionne)ent d'un rseau se dtriore. Le cha)p ty#e peut prendre 1 ;aleurs di**rentes spci*iant de quelle nature est le )essage en;o2. Pour certains t2pes? le cha)p code sert 1 prciser encore plus le conte0te d')ission du )essage. Le checksum est une so))e de contrRle de tout le )essage ICCP calcule co))e dans le cas de l'enDt@te d'un datagra))e IP <;oir la section 2. .1=. Le dtail des di**rentes catgories de )essages est donn dans la liste ciDdessous oJ chaque alina co))ence par le couple <ty#e?code= de la catgorie dcrite. <7?7= ou <!?7= ,e)ande <t2pe != ou rponse <t2pe 7= d'cho dans le cadre de la co))ande ping <;oir section 2.!.2=. <3?7D13= Co)pteDrendu de destination inaccessi9le dli;r quand un routeur ne peut dli;rer un datagra))e. Le routeur gn3re et en;oie ce )essage ICCP 1 l'e0pditeur de ce datagra))e. Il o9tient l'adresse de cet e0pditeur en l'e0tra2ant de l'enDt@te du datagra))e? il ins3re dans les donnes du )essage ICCP toute l'enDt@te ainsi que les ! pre)iers octets du datagra))e en cause. +ne liste non e0hausti;e des di**rents codes d'erreurs possi9les est 7 Le rseau est inaccessi9le. 1 La )achine est inaccessi9le. 2 Le protocole est inaccessi9le. 3 Le port est inaccessi9le. " 5rag)entation ncessaire )ais 9it de non *rag)entation positionn 1 1. Echec de routage de source. % 'seau de destination inconnu. & Cachine destinataire inconnue. ! Cachine source isole <o9sol3te= ( Co))unication a;ec le rseau de destination ad)inistrati;e)ent interdite. 17 Co))unication a;ec la )achine de destination ad)inistrati;e)ent interdite. 11 'seau inaccessi9le pour ce t2pe de ser;ice. 12 Cachine inaccessi9le pour ce t2pe de ser;ice. 13 Co))unication ad)inistrati;e)ent interdite par *iltrage. <"?7=
31
,e)ande de li)itation de production pour ;iter la congestion du routeur qui en;oie ce )essage. < ?7D3= ,e)ande de )odi*ication de route e0pdie lorsqu'un routeur dtecte qu'un ordinateur utilise une route non opti)ale? ce qui peut arri;er lorsqu'un ordinateur est aHout au rseau a;ec une ta9le de routage )ini)ale. Le )essage ICCP gnr contient l'adresse IP du routeur 1 raHouter dans la ta9le de routage de l'ordinateur. Les di**rents codes possi9les ciDapr3s e0pliquent le t2pe de redirection 1 oprer par l'ordinateur. 7 'edirection pour un rseau. 1 'edirection pour une )achine. 2 'edirection pour un t2pe de ser;ice et rseau. 3 'edirection pour un t2pe de ser;ice et )achine. <(?7= A;ertisse)ent de routeur e0pdi par un routeur. <17?7= $ollicitation de routeur di**us par une )achine pour initialiser sa ta9le de routage. <11?7= TTL dtect 1 7 pendant le transit du datagra))e IP? lorsqu'il 2 a une route circulaire ou lors de l'utilisation de la co))ande tracero te <;oir section 2.!.2=. <11?1= TTL dtect 1 7 pendant le rasse)9lage d'un datagra))e. <12?7= Cau;aise enDt@te IP. <12?1= /ption requise )anquante. <13D1"?7= 'equ@te <13= ou rponse <1"= timestam#? d'esta)pillage horaire. <1 ?7= et <1%?7= de;enues o9sol3tes. <1&D1!?7= 'equ@te <1&= ou rponse <1!= de )asque de sousDrseau.
32
2.+ Les protocoles TCP et /0P. /n prsente ici les deu0 principau0 protocoles de la couche transport d'Internet que sont les protocoles TCP <Transmission Control Protocol= et ,)P <,ser )atagram Protocol=. Tous les deu0 utilisent IP co))e couche rseau? )ais TCP procure une couche de transport *ia9le <alors )@)e que IP ne l'est pas=? tandis que +,P ne *ait que transporter de )ani3re non *ia9le des datagra))es.
33
2.+.1 Le protocole /0P. Le protocole +,P <r*c &%!=utilise IP pour ache)iner? d'un ordinateur 1 un autre? en )ode non *ia9le des datagra))es qui lui sont trans)is par une application <;oir la *igure 2.3=. +,P n'utilise pas d'accus de rception et ne peut donc pas garantir que les donnes ont 9ien t reAues. Il ne rordonne pas les )essages si ceu0Dci n'arri;ent pas dans l'ordre dans lequel ils ont t )is et il n'assure pas non plus de contrRle de *lu0. Il se peut donc que le rcepteur ne soit pas apte 1 *aire *ace au *lu0 de datagra))es qui lui arri;ent. C'est donc 1 l'application qui utilise +,P de grer les pro9l3)es de perte de )essages? duplications? retards? dsquence)ent? ... Cependant? +,P *ournit un ser;ice suppl)entaire par rapport 1 IP? il per)et de distinguer plusieurs applications destinatrices sur la )@)e )achine par l'inter)diaire des #orts. +n port est une destination a9straite sur une )achine identi*i par un nu)ro qui sert d'inter*ace 1 l'application pour rece;oir et )ettre des donnes. Par e0e)ple? ... tftp (9/ dp ... snmp 1(1/ dp ... est un court e0trait du *ichier /etc/ser"ices de la )achine "[Link]. ni")[Link] dans lequel sont enregistrs les nu)ros de port utiliss par chaque application. /n 2 ;oit que l'application t*tp utilise le port %( et que l'application sn)p utilise le port 1%12.(. Chaque datagra))e )is par +,P est encapsul dans un datagra))e IP en 2 *i0ant 1 1& la ;aleur du protocole <;oir la section 2. .1=. Le *or)at dtaill d'un datagra))e +,P est donn dans la *igure 2.22.
Figure 2.22: $tructure d'un datagra))e +,P. Les numros de #ort <chacun sur 1% 9its= identi*ient les processus )etteur et rcepteur. Le cha)p longueur contient sur 2 octets la taille de l'enDt@te et des donnes trans)ises. Puisqu'un datagra))e +,P peut ne trans)ettre aucune donne la ;aleur )ini)ale de la longueur est !. Le checksum est un total de contrRle qui est optionnel car il n'est pas indispensa9le lorsque +,P est utilis sur un rseau tr3s *ia9le. $'il est *i0 1 7 c'est qu'en *ait il n'a pas t calcul. ,e )ani3re prcise? +,P utilise l'enDt@te et les donnes )ais gale)ent une #seudo/ ent0te pour a9outir 1 l'ense)9le dcrit *igure 2.23.
Figure: Cha)ps utiliss pour le calcul du checBsu) +,P. Cette pseudo enDt@te co)prend les adresses IP source2.17et destination du datagra))e ainsi qu'un ;entuel octet de 9ourrage pour a9outir 1 un no)9re d'octets total pair. S partir de cet ense)9le? le total de contrRle est calcul de la )@)e )ani3re que dans le cas du datagra))e IP <;oir section 2. .1=. $i le rsultat donne un checBsu) nul? son co)pl)ent 1 1? c'estD1Ddire % 3 <1% 9its 1 1=? est en *ait plac dans la Gone de contrRle. Ce dtail per)et d';iter la con*usion a;ec le checBsu) nul qui indique qu'il n'a pas t calcul. Prcisons en*in que la pseudo enD t@te et l'octet de 9ourrage ne sont pas trans)is et qu'ils n'inter;iennent pas dans le calcul du cha)p longueur. S la rception +,P utilise l'adresse IP de destination et l'adresse IP )ettrice inscrite dans l'enDt@te du datagra))e IP pour calculer? de la )@)e )ani3re qu'1 l')ission? une so))e de contrRle qui per)ettra d'assurer que le datagra))e est dli;r sans erreur et 1 la 9onne )achine. $i une erreur de trans)ission est dtecte? le
3"
datagra))e +,P est dtruit Len silenceM. $inon? +,P oriente les donnes du datagra))e ;ers la *ile d'attente associe au nu)ro de port destination pour que l'application associe 1 celuiDci puisse les 2 lire.
2.+.2 Le protocole TCP. Contraire)ent 1 +,P? TCP est un protocole qui procure un ser;ice de *lu0 d'octets orient conne0ion et *ia9le. Les donnes trans)ises par TCP sont encapsules dans des datagra))es IP en 2 *i0ant la ;aleur du protocole 1 %. Le ter)e orient [Link] signi*ie que les applications dialoguant 1 tra;ers TCP sont considres l'une co))e un serveur? l'autre co))e un client? et qu'elles doi;ent ta9lir une conne0ion a;ant de pou;oir dialoguer <co))e dans le cas de l'utilisation du tlphone=. Les ordinateurs ;ri*ient donc prala9le)ent que le trans*ert est autoris? que les deu0 )achines sont pr@tes en s'changeant des )essages spci*iques. +ne *ois que tous les dtails ont t prciss? les applications sont in*or)es qu'une conne0ion a t ta9lie et qu'elles peu;ent co))encer leurs changes d'in*or)ations. Il 2 a donc e0acte)ent deu0 e0tr)its co))uniquant l'une a;ec l'autre sur une conne0ion TCP2.11. Cette conne0ion est 9idirectionnelle si)ultane <'ull du#le.= et co)pose de deu0 *lots de donnes indpendants et de sens contraire. Il est cependant possi9le d'inclure dans l'enDt@te de seg)ents TCP d'une co))unication de A ;ers . des in*or)ations relati;es 1 la co))unication de . ;ers A. Cette technique de superposition <#iggy!acking= per)et de rduire le tra*ic sur le rseau. Tout au long de la conne0ion? TCP change un 'lu. d%octets sans qu'il soit possi9le de sparer par une )arque quelconque certaines donnes. Le contenu des octets n'est pas du tout interprt par TCP? c'est donc au0 applications d'e0tr@)it de sa;oir grer la structure du *lot de donnes. $i elles sont trop ;olu)ineuses? les donnes 1 trans)ettre pour une application sont *ractionnes en *rag)ents dont la taille est Huge opti)ale par TCP. A l'in;erse? TCP peut regrouper des donnes d'une application pour ne *or)er qu'un seul datagra))e de taille con;ena9le de )ani3re 1 ne pas charger inutile)ent le rseau. Cette unit d'in*or)ation )ise est appele segment co))e dH1 prsent dans la *igure 2.%. Certaines applications de)andent que les donnes soient )ises i))diate)ent? )@)e si le ta)pon n'est pas plein. Pour cela? elles utilisent le principe du #ush pour *orcer le trans*ert. Les donnes sont alors )ises a;ec un 9it )arquant cela pour que la couche TCP rceptrice du seg)ent re)ette i))diate)ent les donnes 1 l'application concerne. La 'ia!ilit *ournie par TCP consiste 1 re)ettre des datagra))es? sans perte? ni duplication? alors )@)e qu'il utilise IP qui lui est un protocole de re)ise non *ia9le. Ceci est ralis 1 l'aide de la technique gnrale de l'accus de rception <AC@= prsente de )ani3re si)pli*ie dans la *igure 2.2"
Figure: Echanges de seg)ents TCP. Chaque seg)ent est )is a;ec un nu)ro qui ;a ser;ir au rcepteur pour en;o2er un accus de rception. Ainsi l')etteur sait si l'in*or)ation qu'il ;oulait trans)ettre est 9ien par;enue 1 destination. ,e plus? 1 chaque en;oi de seg)ent? l')etteur ar)e une te)porisation qui lui sert de dlai d'attente de l'accus de rception correspondant 1 ce seg)ent. Lorsque la te)porisation e0pire sans qu'il n'ait reAu de ACT? l')etteur consid3re que le seg)ent s'est perdu2.12 et il le re0pdie. Cais il se peut que la te)porisation e0pire alors que le seg)ent a t trans)is sans pro9l3)e? par e0e)ple suite 1 un engorge)ent de rseau ou 1 une perte de l'accus de rception correspondant. ,ans ce cas? l')etteur r)et un seg)ent alors que c'est inutile. Cais le rcepteur garde trace des nu)ros de seg)ents reAus? donc il est apte 1 *aire la distinction et peut li)iner les dou9lons. La *igure 2.2 donne le *or)at d'un seg)ent TCP qui sert au0 trois *onctionnalits de TCP - ta9lir une conne0ion? trans*rer des donnes et li9rer une conne0ion.
3%
Figure 2.2): 5or)at du seg)ent TCP. L'enDt@te? sans option? d'un seg)ent TCP a une taille totale de 27 octets et se co)pose des cha)ps sui;ants. D Le #ort source et le #ort destination identi*ient les applications )ettrice et rceptrice. #n les associant a;ec les nu)ros IP source et destination du datagra))e IP qui transporte un seg)ent TCP on identi*ie de )ani3re unique chaque conne0ion2.13. D Le numro de s(uence2.1" donne la position du seg)ent dans le *lu0 de donnes en;o2es par l')etteurN c'estD1Ddire la place dans ce *lu0 du pre)ier octet de donnes trans)is dans ce seg)ent. D Le numro d%accus de rce#tion contient en *ait le nu)ro de squence sui;ant que le rcepteur s'attend 1 rece;oirN c'estD1Ddire le nu)ro de squence du dernier octet reAu a;ec succ3s plus 1. ,e )ani3re prcise? TCP n'acquitte pas un 1 un chaque seg)ent qu'il reAoit? )ais acquitte l'ense)9le du *lot de donnes Husqu'1 l'octet kD1 en en;o2ant un acquitte)ent de ;aleur k. Par e0e)ple? dans une trans)ission de 3 seg)ents de A ;ers .? si les octets de 1 1 172" sont reAus correcte)ent? alors . en;oie un ACT a;ec la ;aleur 172 . Puis? si le seg)ent sui;ant contenant les octets de 172 1 27"! se perd et que . reAoit d'a9ord correcte)ent le seg)ent des octets de 27"( 1 37&2? . n'en;erra pas d'accus de rception positi* pour ce troisi3)e seg)ent. Ce n'est que lorsque . rece;ra le deu0i3)e seg)ent? qu'il pourra en;o2er un ACT a;ec la ;aleur 37&3? que A interprtera co))e l'acquitte)ent des deu0 derniers seg)ents qu'il a en;o2s. /n appelle cela un acquitte)ent cu)ulati*. D La longueur d%en/t0te contient sur " 9its la taille de l'enDt@te? 2 co)pris les options prsentes? code en )ultiple de " octets. Ainsi une enDt@te peut a;oir une taille ;ariant de 27 octets <aucune option= 1 %7 octets <)a0i)u) d'options=. D Le cha)p rserv co)porte % 9its rser;s 1 un usage ultrieur. D Les % cha)ps !its de code qui sui;ent per)ettent de spci*ier le rRle et le contenu du seg)ent TCP pour pou;oir interprter correcte)ent certains cha)ps de l'enDt@te. La signi*ication de chaque 9it? quand il est *i0 1 1 est la sui;ante. . ,R+? le #ointeur de donnes urgentes est ;alide. . AC@? le cha)p d%accus de rce#tion est ;alide. . PS;? ce seg)ent requiert un #ush. . RST? rinitialiser la conne0ion. . SAN? s2nchroniser les nu)ros de squence pour initialiser une conne0ion. . IN? l')etteur a atteint la *in de son *lot de donnes. D
3&
La taille de 'en0tre est un cha)p de 1% 9its qui sert au contrRle de *lu0 selon la )thode de la *en@tre glissante. Il indique le no)9re d'octets <)oins de % 3 = que le rcepteur est pr@t 1 accepter. Ainsi l')etteur aug)ente ou di)inue son *lu0 de donnes en *onction de la ;aleur de cette *en@tre qu'il reAoit. D Le checksum est un total de contrRle sur 1% 9its utilis pour ;ri*ier la ;alidit de l'enDt@te et des donnes trans)ises. Il est o9ligatoire)ent calcul par l')etteur et ;ri*i par le rcepteur. Le calcul utilise une pseudoDent@te analogue 1 celle d'+,P <;oir la section 2.%.1=. D Le #ointeur d%urgence est un o**set positi* qui? aHout au nu)ro de squence du seg)ent? indique le nu)ro du dernier octet de donne urgente. Il *aut gale)ent que le 9it ,R+ soit positionn 1 1 pour indiquer des donnes urgentes que le rcepteur TCP doit passer le plus rapide)ent possi9le 1 l'application associe 1 la conne0ion. D L'o#tion la plus coura))ent utilise est celle de la taille )a0i)ale du seg)ent TCP qu'une e0tr)it de la conne0ion souhaite rece;oir. Ainsi? lors de l'ta9lisse)ent de la conne0ion il est possi9le d'opti)iser le trans*ert de deu0 )ani3res. $ur un rseau 1 haut d9it? il s'agit de re)plir au )ieu0 les paquets? par e0e)ple en *i0ant une taille qui soit telle que le datagra))e IP ait la taille du CT+ du rseau. $inon? sur un rseau 1 petit CT+? il *aut ;iter d'en;o2er des grands datagra))es IP qui seront *rag)ents? car la *rag)entation aug)ente la pro9a9ilit de pertes de )essages. L'ta!lissement et la terminaison d'une conne0ion suit le diagra))e d'changes de la *igure 2.2%.
Figure: Eta9lisse)net et ter)inaison d'une conne0ion TCP. L'e0tr)it de)andant l'ou;erture de la conne0ion? est le client. Il )et un seg)ent $U4 <oJ le 9it $U4 est *i0 1 1= spci*iant le nu)ro de port du serveur a;ec lequel il ;eut se connecter. Il e0pdie gale)ent un nu)ro de squence initial N. Cette phase est appele ou;erture acti;e et Lconso))eM un nu)ro de squence. Le ser;eur rpond en en;o2ant un seg)ent dont les 9its ACT et $U4 sont *i0s 1 1. Ainsi? dans un )@)e seg)ent il acquitte le pre)ier seg)ent reAu a;ec une ;aleur de ACTKNV1 et il indique un nu)ro de squence initial. Cette phase est appele ou;erture passi;e. Le client TCP doit ;ide))ent acquitter ce deu0i3)e seg)ent en ren;o2ant un seg)ent a;ec ACTKPV12.1 . La ter)inaison d'une conne0ion peut @tre de)ande par n'i)porte quelle e0tr)it et se co)pose de deu0 demi/ 'ermetures puisque des *lots de donnes peu;ent s'couler si)ultan)ent dans les deu0 sens. L'e0tr)it qui de)ande la *er)eture <le client dans l'e0e)ple de la *igure 2.2% )et un seg)ent oJ le 9it 5I4 est *i0 1 1 et oJ le nu)ro de squence ;aut N'. Le rcepteur du seg)ent l'acquitte en retournant un ACTKN'V1 et in*or)e l'application de la de)iD*er)eture de la conne0ion. S partir de l1? les donnes ne peu;ent plus transiter que dans un sens <de l'e0tr)it a2ant accept la *er)eture ;ers l'e0tr)it l'a2ant de)ande=? et dans l'autre seuls des
3!
accuss de rception sont trans)is. :uand l'autre e0tr)it ;eut *er)er sa de)iDconne0ion? elle agit de )@)e que prcde))ent ce qui entra>ne la ter)inaison co)pl3te de la conne0ion. Le trans'ert de donnes de TCP est de deu0 t2pes - le trans*ert interacti' dans lequel chaque seg)ent transporte tr3s peu d'octets? ;oire un seul? et le trans*ert en masse oJ chaque seg)ent transporte un )a0i)u) d'octets. Cette distinction est con*orte par une tude de 1((1 qui indique que la )oiti des paquets TCP contient des donnes en )asse <*tp? )ail? ne6s? ...= et l'autre )oiti des donnes interacti;es2.1% <telnet? rlogin? ...=. Cais? (7W des octets trans)is pro;iennent de donnes en )asse et 17W seule)ent de donnes interacti;es car il appara>t que (7W des paquets de telnet et rlogin co)portent )oins de 17 octets. +n e0e)ple de trans*ert interacti* est celui gnr par la co))ande rlogin lance depuis un client ;ers un ser;eur. ,ans ce cas de *igure? tous les caract3res taps par l'utilisateur sur le client sont en;o2s ;ers le ser;eur en utilisant un caract3re par seg)ent? et ils sont ensuite ren;o2s en sens in;erse par le ser;eur pour un cho sur l'cran du client. Tous les seg)ents changs dans ce cas l1 ont leur 9it PS; *i0 1 1. /r? tout seg)ent doit @tre acquitt dans un sens co))e dans l'autreN ce qui de;rait a)ener au diagra))e d'changes illustr dans le a= de la *igure 2.2&.
Figure: Echange de donnes interacti*. #n *ait? TCP g3re ce t2pe d'change a;ec la procdure d'ac(uittement retard qui consiste 1 en;o2er l'acquitte)ent en l'incluant dans un seg)ent qui transporte gale)ent des donnes co))e illustr dans le 9= de la *igure 2.2&. Pour cela l'acquitte)ent est gnrale)ent retard de 277)s dans le 9ut d'attendre d';entuelles donnes 1 trans)ettre. Cependant? dans ce conte0te la *rappe de la co))ande date sur le client pro;oquerait quand )@)e l'change de 1 datagra))es IP de "1 octets2.1&? pour transporter 1 chaque *ois seule)ent 1 octet utile. Ce t2pe de situation est peu g@nant sur un LA4 )ais de;ient tr3s ;ite prHudicia9le au 9on *onctionne)ent d'un 8A4. +ne solution 1 ce pro9l3)e est l'algorithme de Nagle <'5C !(%= qui spci*ie qu'une conne0ion TCP ne peut a;oir seule)ent un petit seg)ent non encore acquitt. Ainsi? si un rseau a un *ort d9it et n'est pas du tout charg la procdure sera celle du 9= de la *igure 2.2&. Par contre? d3s que le te)ps de trans*ert est non ngligea9le? les acquitte)ents ;ont arri;er plus lente)ent que la *rappe des caract3res par l'utilisateur du poste client. ,ans ce cas? la couche TCP du client ;a accu)uler de petits ;olu)es de donnes <quelques caract3res= et les en;o2er dans le )@)e seg)ent TCP di)inuant ainsi considra9le)ent le no)9re d'changes co))e illustr dans le c= de la *igure 2.2&. ,ans les cas oJ de petits )essages doi;ent @tre re)is sans dlai <)ou;e)ent de souris dans le cas d'un ser;eur O= l'algorith)e de 4agle doit @tre in;alid pour donner une i)pression de te)ps rel. ,ans le cas d'un trans*ert de donnes en )asse? TCP utilise la technique de la 'en0tre glissante pour contrRler le *lu0 des changes. Ceci est pri)ordial quand un )icro ordinateur co))unique a;ec un gros ordinateur? sinon le ta)pon d'entre du )icro sera tr3s ;ite satur. Ceci consiste en un contrRle de *lu0 de !out en !out. Cais il s'agit aussi de rguler le tra*ic en *onction de la charge des routeurs et du d9it des rseau0 tra;erss. /n rappelle que l'ense)9le d'un *lu0 de donnes unidirectionnel d'une )achine A ;ers une )achine . est constitu d'une squence d'octets tous nu)rots indi;iduelle)ent. La *en@tre glissante ;a consister 1 *i0er quels sont les octets appartenant 1 ce *lu0 que A peut )ettre co))e c'est illustr dans la *igure 2.2!.
3(
Figure: 5en@tre glissante de TCP. ,ans cet e0e)ple la *en@tre cou;re les octets de " 1 (? car la taille de la *en@tre courante est % et que tous les octets Husqu'au troisi3)e inclus ont t )is et acquitts.
Figure: #0e)ple d';olution de *en@tre glissante. A tout instant TCP calcule sa *en@tre utilisa9le qui est constitue des octets prsents dans la *en@tre et non encore en;o2s. Ces octets sont gnrale)ent i))diate)ent trans)is. Pour le *lot de A ;ers .? la taille de la *en@tre est contrRle par . qui en;oie dans chacun de ses accuss de rception la taille de la *en@tre qu'il dsire ;oir utiliser. $i la de)ande e0pri)e une aug)entation? A dplace le 9ord droit de sa *en@tre courante et )et i))diate)ent les octets qui ;iennent d'2 entrer. $i la de)ande e0pri)e une di)inution? il est dconseill de dplacer relle)ent le 9ord droit de la *en@tre ;ers la gauche. Ce rtrcisse)ent est opr lors des glisse)ents de la *en@tre ;ers la droite a;ec l'arri;e des accuss de rception. La *igure 2.2( illustre2.1! les changes de seg)ents entre un )etteur A et un rcepteur . et l';olution de la *en@tre glissante de A sui;ant les indications de ..
"7
2." Les applications. /n dcrit ici de )ani3re succincte quelques applications )aHeures que l'on trou;e sur Internet. Toutes ces applications sont 9Fties sur le )od3le LclientDser;eurM 1 sa;oir qu'une des deu0 e0tr)its de la conne0ion <TCP +,P=/IP rend des ser;ices 1 l'autre e0tr)it.
$ous%sections 2.&.1 Protocole de d)arrage - .//TP. 2.&.2 Conne0ion 1 distance - Telnet et 'login. 2.&.3 $2st3)e de *ichiers en rseau - 45$. 2.&." Trans*ert de *ichier - T5TP et 5TP. 2.&. Courrier lectronique - s)tp. 2.&.% 4e6s - nntp 2.&.& 8orld 8ide 8e9 - http..
"1
2.".1 Protocole de d*arrage : 122TP. &<<TP <&ootsra# Protocol= est un protocole de d)arrage de ter)inau0 O ou stations sans disque qui utilise +,P co))e couche de transport et est gnrale)ent associ 1 T5TP <;oir 2.&."= ou 45$ <;oir 2.&.3=. Co))e 'A'P <;oir section 2."."=? il sert principale)ent 1 *ournir son adresse IP 1 une )achine que l'on d)arre sur un rseau. Cependant il est plus intressant que 'A'P? car il se situe 1 un ni;eau suprieur? il est donc )oins li au t2pe de )atriel du rseau. ,e plus? il trans)et plus d'in*or)ation que 'A'P qui? lui? ne ren;oie qu'une adresse IP. +n autre protocole? );CP <)ynamic ;ost Con'iguration Protocol= per)et? lui? d'attri9uer cette adresse IP d2na)ique)ent? c'estD1Ddire que l'adresse IP a**ecte 1 la )achine qui d)arre peut changer d'un d)arrage 1 l'autre. .//TP *ait cela de )ani3re statique en utilisant un ser;eur <ou plusieurs= qui contient dans un *ichier l'adresse IP 1 distri9uer 1 chaque )achine. Le *ichier est )aintenu 1 Hour par l'ad)inistrateur du rseau et contient pour chaque )achine plusieurs in*or)ations co))e illustr ciDapr3s pour le ter)inal O de l'auteur. G ......... G G #a )) G #f )) G ds )) G gw )) G ha )) G hd )) G hn )) G ht )) G ip )) G sm )) G tc )) listedA G "m )) G +144 G
#roadcast #ootp replC for testing with #ootpE erC #ootfile ?for tftp downloadA domain name ser"er 34 address gatewaC 34 address hardware address ?lin= le"el addressA ?he7A home directorC for #ootfile ?chrooted to tftp home directorCA send nodename ?#oolean flag@ no HB"al eH neededA hardware tCpe ?etherA ?m st precede the ha tagA % terminal 34 address networ= s #net mas= template for common defa lts ?sho ld #e the first option "endor magic coo=ie selector ?sho ld #e rfc1048A remote config file name ?file name m st #e enclosed in HHA
G I104 ?4ascal 0icolasA prise 3141 : t7)pn:J htB/thernet:J haB0708001103ec2c:J #fB/ sr/te=7p/#oot/os.350:J ipB193.49.1(2.(3:J smB255.255.255.0:J gwB193.49.1(2.220:J "mBrfc1048:J dsB193.49.1(2.9: Le *or)at du )essage .//TP est donn dans la *igure 2.37.
"2
Le code ;aut 1 pour une requ@te et 2 pour une rponse? le ty#e de matriel ;aut par e0e)ple 1 pour un rseau #thernet et dans ce cas le cha)p longueur de l%adresse #hysi(ue ;aut % <octets=. Le cha)p com#teur de saut ;aut 7 en standard? )ais si la de)ande transite par un routeur celuiDci l'incr)ente de 1. L'identi'icateur de transaction est un entier de 32 9its *i0 alatoire)ent et qui sert 1 *aire correspondre les rponses a;ec les requ@tes. Le nom!re de secondes est *i0 par le client et sert 1 un ser;eur secondaire de dlai d'attente a;ant qu'il ne rponde au cas oJ le ser;eur pri)aire serait en panne. Par)i les " adresses IP d'une requ@te? le client re)plit celles qu'il conna>t et )et les autres 1 7 <gnrale)ent il n'en connait aucune=. ,ans sa rponse? le ser;eur indique l'adresse IP de la )achine client dans le cha)p votre adresse IP et sa propre adresse dans le cha)p adresse IP du serveur. Il peut aussi donner son no) ter)in par le caract3re n l. $i un pro02 est utilis? celuiDci indique son adresse dans le cha)p pr;u. Le cha)p adresse matrielle du client sert 1 celuiDci pour 2 indiquer son adresse ph2sique. Ainsi cette adresse sera plus *acile)ent disponi9le pour le processus .//TP ser;eur que celle place dans la tra)e #thernet. Le nom du 'ichier de !oot est le no) du *ichier trans)is par le ser;eur au client pour que celuiDci puisse ensuite continuer son d)arrage. La derni3re partie du )essage est rser;e 1 des caractristiques particuli3res donnes par chaque constructeur de )atriel et per)et d'aHouter des *onctionnalits suppl)entaires. :uand il )et une requ@te .//TP? le client l'encapsule dans un datagra))e +,P en *i0ant le port source 1 %! et le port destination <celui du ser;eur= 1 %&. ,ans la )aHorit des cas? il ne sait pas prciser la ;aleur de l'adresse IP de destination et la *i0e donc glae 1 [Link] l'adresse de di**usion. Ainsi? la tra)e #thernet correspondante sera di**use 1 toutes les )achines du rseau et grFce au nu)ro de port seuls le<s= ser;eur<s= .//TP reAoit le )essage et le traite. Pour cela? il consulte la ta9le de correspondance et retourne sa rponse en 2 *i0ant l'adresse IP du client? le no) du *ichier 1 tlcharger et l'adresse IP du ser;eur. Il reste un pro9l3)e 1 rgler. Lors de l')ission du datagra))e IP contenant la rponse? la couche de liens doit ta9lir la correspondance adresse IP/adresse ph2sique du client pour construire la tra)e ph2sique 1 )ettre. /r? cette correspondance ne peut @tre connue dans la ta9le A'P 1 cet instant puisque la )achine client d)arre. #t si le logiciel de liens )et une requ@te A'P <;oir section 2."."= la )achine client ne sait pas rpondre puisqu'elle ne peut pas reconna>tre son adresse IP qu'elle ne conna>t pas encore. Il e0iste deu0 solutions 1 ce pro9l3)e. $oit? le )odule .//TP? qui dispose de cette correspondance? enrichit la ta9le A'P a;ant d')ettre. $oit? il n'en a pas les droits et alors il di**use la rponse 1 toutes les )achines du rseau? )ais cette solution est 1 ;iter.
"3
2.".2 Conne3ion 4 distance : Telnet et (login. Telnet et Rlogin sont deu0 applications qui per)ettent 1 un utilisateur de se connecter 1 distance sur un ordinateur? pour;u que cet utilisateur 2 dispose d'un acc3s autoris. Ces deu0 applications per)ettent toutes les deu0 de prendre le contrRle <du )oins partielle)ent= d'un ordianteur distant? )ais 'login ne per)et de le *aire qu'entre deu0 )achines +ni0? tandis qu'il e0iste des clients Telnet pour de no)9reuses plate*or)es <+ni0? 8indo6s? Cac/s? ...=. Telnet et 'login sont tous les deu0 9Ftis sur TCP. Le sch)a de *onctionne)ent de Telnet est donn dans la *igure 2.31.
Figure: $ch)a de *ocntionne)ent de l'application Telnet. Telnet d*init une inter*ace de co))unication? le ter)inal ;irtuel de rseau? pour que clients et ser;eurs n'aient pas 1 conna>tre les dtails d'i)plantation de chaque s2st3)e d'e0ploitation. ,e cette *aAon? les changes se *ont dans un langage co))un co)pris 1 la *ois par le client et le ser;eur qui n'ont qu'1 assurer une traduction de <ou ;ers= leur propre langage ;ers <depuis= ce langage ci9le.
""
2.".! $5st6*e de -ic iers en rseau : 7F$. N S <Network ile System= est un s2st3)e qui per)et de rendre transparente l'utilisation de *ichiers rpartis sur di**rentes )achines. $on architecture gnrale est donne dans la *igure 2.32.
Figure 2.!2: Con*iguration client ser;eur de 45$. 45$ utilise principale)ent +,P? )ais ses nou;elles i)plantations utilisent gale)ent TCP. Lorsqu'un processus utilisateur a 9esoin de lire? crire ou accder 1 un *ichier le s2st3)e d'e0ploitation trans)et la de)ande soit au s2st3)e de *ichier local? soit au client 45$. ,ans ce dernier cas? le client 45$ en;oie des requ@tes au ser;eur 45$ de la )achine distante. Ce ser;eur s'adresse 1 la routine locale d'acc3s au *ichiers qui lui retourne le rsulat retrans)is ;ers le client par la conne0ion +,P <ou TCP= IP. Il ne s'agit pas ici de trans*rer un *ichier d'une )achine 1 l'autre )ais si)ple)ent de le rendre disponi9le de )ani3re totale)ent transparente.
"
2.".# Trans-ert de -ic ier : TFTP et FTP. T TP <Trivial ile Trans'ert Protocol= et TP < ile Trans'ert Protocol= per)ettent tous les deu0 de trans*rer des *ichiers d'une )achine 1 une autre. Cependant T5TP? 9Fti sur +,P? est 9eaucoup plus so))aire que 5TP qui utilise TCP. L'utilisation de 5TP depuis un poste client pour aller chercher ou dposer un *ichier sur un ser;eur ncessite de la part de l'utilisateur de se connecter a;ec un no) et un )ot de passe. ,onc? si l'utilisateur n'est pas reconnu la conne0ion 5TP ne sera pas ta9lie. ,ans le cas particulier d'un ser;eur *tp pu9lic? la conne0ion se *ait a;ec le no) anonCmo s et il est conseill de donner son adresse lectronique co))e )ot de passe. ,ans le cas de T5TP? aucune authenti*ication prala9le n'est ncessaire. C'est pourquoi? lorsqu'un ser;eur T5TP est install sur une )achine il n'o**re des possi9ilits d'acc3s qu'1 un no)9re restreint de *ichiers 9ien spci*iques. Ces *ichiers sont gnrale)ent des *ichiers de d)arrage de ter)inau0 O ou stations sans disque qui les rcuprent apr3s en a;oir t in*or)s par le protocole .//TP <;oir section 2.&.1=. Les di**rents )essages T5TP sont donns dans la *igure 2.33 et se distingeunt selon leur code d%o#ration.
Figure 2.!!: 5or)at des )essages T5TP. D >>K indique une requ@te de lecture de *ichier <trans)is au client= et L>K une requ@te d'criture de *ichier <trans)is au ser;eur=. #nsuite? ;ient le no) du *ichier ter)in par un caract3re nul. Le cha)p )ode? ter)in par un caract3re nul gale)ent? est gal 1 netascii pour indiquer que le *ichier est un *ichier te0te oJ chaque ligne est ter)ine par 6> 2;. Ces deu0 caract3res doi;ent peutD@tre @tre con;ertis dans la s2nta0e utilise par la )achine locale pour )arquer les *ins de ligne des *ichiers te0tes. Il est gal 1 octet dans le cas d'un *ichier 9inaire 1 trans*rer tel quel. D 1.+. d9ute les paquets de donnes 1 trans)ettre. +n *ichier de N octets sera dcoup en N di; 12 tels paquets contenant chacun 12 octets de donnes et un paquet contenant N )od 12 octets qui sera reconnu co))e le paquet *inal puisqu'il contient )oins de 12 octets. Le cha)p numro de !loc sert 1 nu)roter chaque paquet de donnes et est utilis pour l'accus de rception. D AC@ indique que le )essage acquitte le 9loc de nu)ro spci*i dans le )essage. T5TP est o9lig de s'assurer lui )@)e de la 9onne trans)ission des donnes puisqu'il utilise +,P qui est un protocole non *ia9le. Le protocole d'acquitte)ent est de t2pe sto#/and/wait car apr3s a;oir en;o2 un paquet l')etteur attend l'accus de rception du rcepteur a;ant d'en;o2er le paquet sui;ant. $i l')etteur ne reAoit pas d'acquitte)ent a;ant l'e0piration de son dlai d'attente il re0pdie le paquet perdu. ,e )@)e? le rcepteur qui ne reAoit plus de paquets apr3s son dlai d'attente ren;oie 1 nou;eau son acquitte)ent. $eule)ent? si le ACT k est retard )ais non perdu? l')etteur ;a retrans)ettre le paquet k que le rcepteur ;a 1 nou;eau acquitter. ,onc? deu0 ACT k ;ont *inale)ent par;enir 1 l')etteur ce qui ;a dclencher de sa part l'en;oi de deu0 paquets kV1? qui pro;oqueront deu0 ACT kV1 et donc l'en;oi de deu0 paquest kV2? etc... D Les )essages d9utant par "RR<R indiquent une erreur de trans)ission et transportent un code et un )essage d'erreur. Lorsque cela arri;e? le trans*ert est i))diate)ent interro)pu. Lorsqu'il de)ande une conne0ion le client s'attri9ue un port ph)3re +,P et en;oie sa requ@te au ser;eur sur le port %( pr;u pour 5TP. S ce )o)entDl1? le ser;eur ;a s'attri9uer un nou;eau port ph)3re qui de;ra @tre dtect par le client et qui ser;ira tout le te)ps de la conne0ion. Il ne conser;e pas le port %( tout au long de l'change car cela l'o9ligerait soit 1 re*user d'autres conne0ions pendant ce te)ps? soit 1 les )ultiple0er ense)9le ce qui alourdirait le protocole.
"%
:uant 1 lui? 5TP est d*ini auDdessus de TCP et utilisent deu0 conne0ions TCP IP pour *onctionner co))e illustr dans la *igure 2.3".
Figure 2.!#: Tans*ert de *ichier par 5TP. Tout d'a9ord on 2 ;oit que le client utilise 5TP 1 tra;ers une inter*ace qui peut @tre graphique <logiciels O5TP? 8$D5TP? 5etch? ...= ou te0te <)ode co))andes d'uni0 par e0e)ple=. La [Link] de contr=le est ta9lie de *aAon nor)ale en )ode client ser;eur sur le port 21 du ser;eur et sur un port alatoire du client pour tout ce qui est de t2pe trans*ert interacti*. #lle sert donc tout le te)ps de la session 1 trans*rer les co))andes du client et presque toutes les rponses du ser;eur. La [Link] de donnes sert 1 trans*rer les *ichiers et les contenus de rpertoires du ser;eur? c'estD1Ddire tous les trans*erts de )asse. #n e**et? lorsque le client de)ande le contenu d'un rpertoire la rponse peut @tre tr3s longue et il est pr*ra9le de l'en;o2er sur cette conne0ion plutRt que sur celle du trans*ert interacti*. S chaque *ois qu'un *ichier doit @tre trans*r? dans un sens ou dans l'autre? le client initie une conne0ion de donnes en s'attri9uant un port et en;oie au ser;eur une de)ande de conne0ion sur la conne0ion de contrRle. Le ser;eur se sert du nu)ro de port reAu pour ta9lir la conne0ion de donnes entre son port 27 et ce port indiqu par le client.
"&
2.".) Courrier lectronique : s*tp. Le courrier lectronique au sein d'Internet est gr par le protocole $CTP <Sim#le *ail Trans'er Protocol= 9Fti sur TCP <port 2 =. Il per)et d'changer des )essages entre un e0pditeur et un <ou plusieurs= destinataire pour;u que leurs adresses soient connues. +ne adresse de courrier lectronique se prsente sous la *or)e nomMdomaine est doit @tre co)pose de lettres <)inuscules ou )aHuscules sont indi**rencies=? de chi**res? de 5 <soulign= et de . <point=. Il est 1 noter qu'un )canis)e d'alias per)et de d*inir des qui;alences entre adresses? nota))ent de prciser quelle )achine par)i toutes celles d'un )@)e do)aine g3re relle)ent le courrier de chaque utilisateur. +ne des caractristiques principales du protocole $CTP est d'e**ectuer une re)ise di**re du courrier qui assure que le ser;ice sera correcte)ent rendu )@)e si le rseau ou l'ordinateur destinataire sont )o)entan)ent en panne ou surchargs.
Figure: $ch)a d'une )essagerie $CTP. Pour cela le s2st3)e de )essagerie *onctionne de la )ani3re dcrite en *igure 2.3 . +n courrier e0pdi par un utilisateur est d'a9ord copi dans une ))oire de s#ool acco)pagn des no)s de l'e0pditeur? du rcepteur? de l'ordinateur destinataire et de l'heure de dpRt. Puis le s2st3)e de )essagerie acti;e en tFche de *ond le processus de trans*ert de courrier qui de;ient un client. Il associe le no) de l'ordinateur destinataire 1 une adresse IP et tente d'ta9lir une conne0ion TCP a;ec le ser;eur $CTP de celuiDci. $i cela russit? le processus de trans*ert en;oie une copie du )essage au destinataire qui l'enregistre dans une Gone de spool spci*ique. Lorsque le client et le ser;eur se sont con*ir)s l'en;oi et l'enregistre)ent co)plet du )essage le client suppri)e sa copie locale. $i le client n'arri;e pas 1 ta9lir une conne0ion TCP? ou si elle est ro)pue lors du trans*ert d'un )essage? il enregistre l'heure de cette tentati;e et ressa2e quelque te)ps plus tard d'e0pdier le )essage. ,'une )ani3re gnrale un s2st3)e de )essagerie e0a)ine rguli3re)ent sa Gone de spool en en;oi et tente d'e0pdier les )essages <nou;eau ou en attente 1 cause d'chec= qui s'2 trou;ent. Il *inira par retourner 1 son e0pditeurun )essage i)possi9le 1 e0pdier apr3s un dlai i)portant. Ce )ode de *onctionne)ent <ta9lir une conne0ion de 9out en 9out= assure qu'aucun )essage ne peut se perdre? soit il est dli;r? soit son e0pditeur est pr;enu de l'chec. Le ta9leau ciDdessous donne le dtail d'une conne0ion TCP russie qui en;oie un )essage de l'utilisateur totoMe7pedite [Link] dont le courrier est gr par l'ordinateur e7p.e7pedite [Link] ;ers l'utilisateur [Link] dont le courrier est gr par l'ordinateur [Link]. La pre)i3re colonne dcrit les tapes? la deu0i3)e <respecti;e)ent troisi3)e= colonne indique les co))andes en;o2es par l'e0pditeur <respecti;e)ent destinataire= du courrier. client $CTP e0pditeur sur e7p.e7pedite [Link] e7p.e7pedite [Link] de)ande une conne0ion TCP sur le port 2 1 [Link] dest accepte la de)ande de 220 ser;eur $CTP destinataire sur [Link]
"!
[Link] ...
250 [Link] Iello e7p.e7pedite [Link] pleased to meet Co N.32 ;rom:<totoMe7pedite [Link]! 250 <totoMe7pedite [Link]! *ender 8= >64+ +o:<[Link] 250 <[Link]! >ecipient 8=
e7p ;a en;o2er les donnes ,ATA dest est pr@t 1 accepter le )essage e7p en;oie le )essage ter)in par une ligne ne contenant qu'un point. 9la? 9la9la 354 /nter mail@ end with ...
. dest accepte le )essage e7p de)ande 1 ter)iner la conne0ion dest accepte de ter)iner la conne0ion K,3+ 221 [Link] closing connection 250 8O
"(
2.".+ 7e8s : nntp NNTP <Network News Trans'ert Protocol= est le protocole d'change des ne6s2.1( ou *oru)s de discussions 1 tra;ers ,senet <no) donn au rseau logique constitu des ser;eurs de ne6s diss)ins sur la pan3te=. Co))e illustr dans la *igure 2.3%? il assure l'change des ne6s entre les ser;eurs et gale)ent la co))unication entre ser;eur et postes clients aussi 9ien pour la lecture que pour l'criture de )essages.
Figure 2.!+: Co))unication au sein de +senet. Ainsi? lorqu'un utilisateur poste un article dans un groupe de ne6s? il est dans un pre)ier te)ps dpos sur le ser;eur de ne6s auquel le poste client est reli. Puis? ce ser;eur ;a re0pdier cet article au0 di**rents ser;eurs au0quels il est reli? qui eu0D)@)es procderont de la sorte. Ainsi? en quelques heures un )essage post 1 Angers peut se retrou;er sur un ser;eur de ne6s en Australie. Cais? ce processus de di**usion s2st)atique? n'est pas assur pour tous les groupes de ne6s e0istant au ni;eau )ondial? car chaque ser;eur de ne6s n'assure le relai que de certains groupes. #n e**et? il n'est peutD@tre pas tr3s utile de di**user sur les ser;eurs de ne6s Haponais le groupe [Link])annonces.a tomo#iles -D=. ,e plus? tout ser;eur de ne6s *i0e pour chaque groupe la dure de conser;ation des )essages sur ses disques durs. ,e )ani3re plus technique? 44TP utilise TCP ;ia le port 11(? le client en;o2ant une co))ande A$CII 1 laquelle le ser;eur rpond par un code nu)rique ;entuelle)ent sui;i par des donnes. Ces donnes sont disposes sur plusieurs lignes ter)ines chacune par 6>/2; et ter)ines par une ligne rduite 1 un point. Tout d'a9ord il *aut sa;oir qu'un ser;eur de ne6s ne rpond pas s2st)atique)ent 1 toutes les requ@tes des postes clients? )ais unique)ent 1 celles pro;enant de )achines qu'il autorise? par e0e)ple celles de son do)aine. Ceci est illustr ciDapr3s oJ l'on ;oit que le ser;eur de ne6s news. ni")[Link] accepte la conne0ion depuis une )achine situe en Alle)agne unique)ent pour la lecture des ne6s et accepte la lecture et l'criture de )essadepuis une )achine situe sur son rseau. P#[Link]. ni)[Link] news. ni")[Link] 119 +rCing [Link]... 6onnected to news. ni")[Link]. /scape character is 9RQ9. 201 ni")[Link] 3nter0et0ews 00>4 ser"er 300 1.7.2 08)1ec)1997 readC ?no postingA. PheliosQtelnet news. ni")[Link] 119
+rCing [Link]... 6onnected to news. ni")[Link]. /scape character is 9RQ9. 200 ni")[Link] 3nter0et0ews 00>4 ser"er 300 1.7.2 08)1ec)1997 readC ?posting o=A. La liste des co))andes connues d'un ser;eur de ne6s peutD@tre o9tenue en l'interrogeant au )o2en de la co))ande help? co))e dcrit ci apr3s. help 100 2egal commands a thinfo ser 0ameSpass 4asswordSgeneric <prog! <args! article PNessage31S0 m#erQ #odC PNessage31S0 m#erQ date gro p newsgro p head PNessage31S0 m#erQ help iha"e last list Pacti"eSacti"[Link] psSdistri# tionsSdistri#.patsS o"er"[Link] #scriptionsQ listgro p newsgro p mode reader newgro ps CCmmdd hhmmss PHTN+HQ P<distri# tions!Q newnews newsgro ps CCmmdd hhmmss PHTN+HQ P<distri# tions!Q ne7t post sla"e stat PNessage31S0 m#erQ 7gtitle Pgro p5patternQ 7hdr header PrangeSNessage31Q 7o"er PrangeQ 7pat header rangeSNessage31 pat Pmorepat...Q 7path Nessage31 >eport pro#lems to <newsmasterM ni")[Link]. ni")[Link]! . :uant au0 codes de rponses du ser;eur de ne6s? ils sont dcrits dans la ta9le 2.2.
code description 12G in*or)ation 22G requ@te accepte 32G d9ut de requ@te correcte? la suite eut @tre en;o2e "2G requ@te correcte? )ais non traite 2G requ@te incorrecte? non i)plante ou erreur *atale 07G conne0ion? )ise en place et di;ers 01G choi0 des groupes de ne6s 02G choi0 des articles 03G *onctions de distri9utions 0"G postage 0!G e0tension non standard 0(G sortie de de9ug Le rRle de quelques co))andes de 44T est illustr ciDapr3s en interrogeant le ser;eur news. ni") [Link]. list retourne la liste des groupes de ne6s? en indiquant leur no)? le nu)ro de l'article le plus rcent? le nu)ro de l'article le plus ancien encore conser;? et la lettre C si le postage est li9re ou m s'il est control par un )odrateur. list 215 0ewsgro ps in form Hgro p high low flagsH. control 000125111( 0001053999 C U n= 000000048( 0000000480 C #[Link] 0000002281 0000002229 C #[Link] nce 00000001(5 000000011( m .... group *i0e un groupe courant et ren;oie une esti)ation du no)9re d'articles dans le *oru)? le nu)ro de l'article le plus ancien? celui de l'article le plus rcent et le no) du groupe. gro p [Link] 7 211 (543 27(18 34211 [Link] 7 La di**rence 3"211D2&%1!K% (3 est plus grande que % "3 car tous les )essages ne sont pas *orc)ent conser;s aussi longte)ps les uns que les autres. $i le no) du groupe est erron on o9tient ceci gro p [Link] 7 411 0o s ch gro p [Link] 7 head en;oie les enDt@tes d'un article dont le nu)ro est spci*i. head 34205 221 34205 <3(34/2/6.9<7(.7/[Link]! head 4ath: ni") [Link].#elnet.#eV news)[Link])[Link] ;rom: 0 no 18* *.0+8* <0 no.1os.*antosMces20s15ss15s12s9s3s4s5s 0ewsgro ps: [Link] 7 * #Uect: 3nstal carte de son
1ate: Non@ 2( 8ct 1998 [Link] X0100 8rganiWation: 6/>0 2ines: 10 Nessage)31: <3(34/2/6.9<7(.7/[Link]! 00+4)4osting)Iost: [Link] Nime)-ersion: 1.0 6ontent)+Cpe: te7t/plainY charsetB s)ascii 6ontent)+ransfer)/ncoding: 7#it %)+race: s [Link] 909435(28 12357 ?0oneA 128.141.182.(3 %)6omplaints)+o: newsMs [Link] %)Nailer: NoWilla 4.05 PenQ ?Lin95Y 3A %ref: ni")[Link] [Link] 7:34205 . body retourne le coprs de l'article dont le nu)ro est spci*i. 222 34205 <3(34/2/6.9<7(.7/[Link]! #odC *al t@ Z9arri"e pas a instaler ma carte de son *< 463 awe(4. 1ans le I8L)+8 ils parlent to Uo rs de ma=e config@ 7config@ etc.@ mais la commande ma=e ne passe pas. 3l me donne l9erre r Hma=e:[[[ 0o r le to ma=e target 97config9. *top.H. 2e fichier sndstat est "ide. -o s po "eW m9aider\ ,ne s gestion\ Nerci . Le point *inal ne *ait pas partie du )essage )ais est en;o2 par 44TP pour ter)iner sa rponse
2."." 9orld 9ide 9e, : ttp.. ;TTP <;y#erTe.t Trans'er Protocol= est le protocole de co))unication du 6e92.27 per)ettant d'changer des docu)ents h2perte0tes contenant des donnes sous la *or)e de te0te? d'i)ages *i0es ou ani)es et de sons. Tout client 6e9 co))unique a;ec le port !7 d'un ser;eur HTTP par l'inter)diaire d'une? ou plusieurs? conne0ions TCP si)ultanes? chacune des conne0ions TCP ou;ertes ser;ant 1 rcuprer l'un des co)posants de la page 6e9. Trois t2pes de requ@tes sont disponi9les T/+ I/.1 rl ren;oie l'in*or)ation spci*ie par l'url. rl ren;oie l'enDt@te de l'in*or)ation de)ande et non pas le contenu du docu)ent.
48*+ pour en;o2er du courrier lectronique? des )essages de ne6s? ou des *or)ulaires interacti*s re)plis par l'utilisateur.
La requ@te du client se co)pose de lignes de te0te A$CII ter)ines par les caract3res 6>/2; et organises co))e ciDapr3s reE ]te rl)demand I++4)"ersion en)t]tes ?0 o pl sA <ligne #lanche! corps de la reE ]te ?se lement po r ne reE ]te 48*+A +ne rponse du ser;eur 6e9 se prsente co))e suit I++4)"ersion code)rponse phrase)rponse en)t]tes ?0 o pl sA <ligne #lanche! corps de la rponse Les enDt@tes de requ@tes ou de rponses ont la *or)e nom)de)champ: "ale r et se classent ainsi enDt@tes de requ@te - a thoriWation? date? from? if)modified)since? location? mime) "ersion? pragma? referer? ser)agent enDt@tes de rponse - date? location? mime)"ersion? pragma? ser"er? www.a thenticate enDt@tes de corps dans les rponses HTTP ou les requ@ts P/$T - allow? content)encoding? content)length? content)tCpe? e7pires? last)modified
Les codes de rponses sont des no)9res de 3 chi**res rangs en catgories co))e dcrits dans la ta9le 2.3. Ta,leau: Codes de rponses de HTTP
"
code description 12G non utilis succ3s 277 /T? requ@te russie 271 /T? nou;elle ressource cre <co))ande P/$T= 272 requ@te accepte )ais traite)ent inco)plet 27" /T? )ais pas de contenu 1 en;o2er redirection <1 grer par le client= 371 le docu)ent de)and a t d*initi;e)ent dplac ;ers une autre url 372 le docu)ent de)and a t te)poraire)ent dplac ;ers une autre url 37" le docu)ent n'a pas chang <dans le cas d'un I#T conditionnel= erreur du client "77 requ@te )al *or)ule "71 interdit? la requ@te ncessite une certi*ication "73 interdit sasn raison spci*ique "7" docu)ent non trou; erreur du ser;eur 77 erreur interne du ser;eur 71 non i)plant 72 )au;aise passerelle? rponse in;alide d'une passerelle 73 ser;ice te)oraire)ent indisponi9le Ci Ddessous est dcrit un e0e)ple de requ@te et rponse HTTP? apr3s s'@tre connect 1 un ser;eur 6e9? par e0e)ple a;ec un client telnet. heliosS^!telnet [Link] 80 +rCing 195.(7.49.47... 6onnected to [Link]. /scape character is 9RQ9. get / http/1.0 I++4/1.0 200 8O 2ast)Nodified: Non@ 2( 8ct 1998 [Link] TN+ 6ontent)+Cpe: te7t/html 6ontent)2ength: 131(3 <head! <title!&ahooV ;rance</title! <#ase hrefBH[Link] </head! <#odC! .... </#odC! </html!
2.: 2utils co**uns d'utilisation d'un rseau sous /ni3. :e !ut de cette section est de dcrire les #rinci#au. 'ichiers de con'iguration et les #rinci#ales commandes relatives > l%utilisation du rseau Internet de#uis une machine uni.2 "lle sert de su##ort > des mani#ulations devant ordinateur2 <n ne dcrit #as ici les commandes lies au. services Internet les #lus classi(ues B mail3 't#3 we!3 news222 (ui sont #rsentes #ar ailleurs2 :es in'ormations donnes ici sont relatives > la machine "[Link]. ni")[Link] 1un :inu. &iPentium Pro3 977*h53 98C *o4 'in novem!re 6DDE2
2.:.1 Fic iers de con-iguration. /etc/hosts Il est structur sous la *or)e adresse IP nom de machine liste d%alias commentaire [Link] 193.49.1(2.1 193.49.1(2.2 193.49.1(2.10 193.49.1(2.4 localhost "[Link]. ni")[Link] "ega siri [Link]. ni")[Link] siri s moinefo .info. ni")[Link] moinefo [Link]. ni")[Link] helios
Il assure la correspondance <no)? adresse IP=. $'il e0iste un ser;eur de no)s sur cette )achine? il contient tr3s peu de lignes et ne sert qu'au d)arrage de la )achine a;ant que le ser;eur de no)s ne soit lanc. $i le ser;eur de no)s est sur une )achine distante il ne contient que les )achines du rseau local. Celui de la )achine )oine*ou se prsente de la )ani3re sui;ante [Link] [Link] [Link] 193.49.1(2.1 193.49.1(2.2 193.49.1(2.10 193.49.1(2.4 localhost loop#ac= lagaffe gw)info "[Link]. ni")[Link] "ega siri [Link]. ni")[Link] siri s moinefo helios
dans lequel est spci*ie l'adresse d'une passerelle <gateway d'adresse IP qui se ter)ine par .227= 1 laquelle est ren;o2 tout paquet qui n'appartient pas au rseau local 193.49.1(2.0. /etc/resol".conf domain info. ni")[Link] search info. ni")[Link] nameser"er 193.49.1(2.9 nameser"er [Link] ni")[Link] et d. ni")[Link]
Il prcise le do)aine d'appartenance de la )achine? les no)s de do)aines a;ec lesquels co)plter le no) d'une )achine pour conna>tre son no) co)plet? ainsi que les adresses de ser;eurs de no)s 1 interroger. /etc/protocols ip icmp igmp ggp tcp p p dp idp raw 0 1 2 3 ( 12 17 22 255 34 36N4 3TN4 TT4 +64 4,4 ,14 314 >.L G G G G G G G G G internet protocol@ pse do protocol n m#er internet control message protocol internet gro p m lticast protocol gatewaC)gatewaC protocol transmission control protocol 4.>6 ni"ersal pac=et protocol ser datagram protocol Lhats+his\ >.L 34 interface
Il contient la liste des protocoles connus et utiliss dans Internet sous la *or)e nom du #rotocole numro du #rotocole liste d%alias commentaire /etc/ser"ices netstat ..... 15/tcp
&
mail timser"er
Il contient la liste des ser;ices Internet connus sous la *or)e nom du service numro de #ort/#rotocole liste d%alias commentaire /etc/[Link] ftp telnet gopher stream stream stream ..... tcp tcp tcp ..... nowait nowait nowait root root root / sr/s#in/tcpd / sr/s#in/tcpd / sr/s#in/tcpd [Link] )l )a [Link] gn
2.:.2 ;uelques co**andes utiles Les co))andes sont illustres a;ec leur rsultats apr3s les a;oir lances sur "[Link]. ni")[Link]. Il est conseill d'utiliser la co))ande man du s2st3)e pour o9tenir de plus a)ples in*or)ations sur cellesDci. hostname retourne le no) de la )achine. r sers <rwho est une co))ande si)ilaire= ren;oie la liste des utilisateurs connects sur les )achines du rseau local. finger ren;oie des in*or)ations sur un utilisateur? en utilisant s'ils e0istent les *ichiers .plan et .proHect. ping per)et de tester l'accessi9ilit d'une )achine. #lle en;oie une requ@te ICCP <echo= 1 destination d'une )achine ci9le? spci*ie par son no) ou son adresse IP? qui lui retourne une rponse ICCP <echo=. $i une )achine ne rpond pas au ping? elle est inutilisa9le pour toute autre application. S"egaS^!ping #a#inet 430T #a#inet. ni")[Link] ?193.49.1(3.20A: 5( (4 #Ctes from 193.49.1(3.20: icmp5seEB0 ttlB254 (4 #Ctes from 193.49.1(3.20: icmp5seEB1 ttlB254 (4 #Ctes from 193.49.1(3.20: icmp5seEB2 ttlB254 data #Ctes timeB1.7 ms timeB1.7 ms timeB1.( ms
))) #a#inet. ni")[Link] ping statistics ))) 3 pac=ets transmitted@ 3 pac=ets recei"ed@ 0J_ pac=et loss ro nd)trip min/a"g/ma7 B 1.(/1.(/1.7 ms Ping ren;oie gale)ent le nu)ro de la squence ICCP e0cute? la ;aleur du cha)p TTL et le te)ps d'allerDretour entre les deu0 )achines. #lle peut le *aire car dans le paquet e0pdi pour la requ@te elle place son heure d')ission et lorsqu'elle reAoit la rponse elle la soustrait de l'heure s2st3)e. Puis? en *in d'e0cution <pro;oque par l'utilisateur ou suite 1 l'en;oi du no)9re de paquets spci*is=? quelques donnes statistiques sont a**iches per)ettant d';aluer la qualit de la liaison.
tracero te ren;oie la route prise par des paquets pour atteindre une destination. #lle utilise le cha)p TTL <Ti)e to Li;e= des paquets IP trans)is selon le protocole +,P. Ce cha)p est dcr)ent d'une unit 1 chaque tra;erse de routeur? et nor)ale)ent de;rait @tre dcr)ent gale)ent quand il stationne trop longte)ps dans un routeur. :uand un routeur reAoit un paquet IP a;ec un TT:K1 <ou 7=? il le dtruit et ren;oie le )essage ICCP time [Link] 1 l'e0pditeur. Ce )essage ICCP contient l'adresse IP du routeur qui le produit. Pour conna>tre le che)in reliant une )achine A 1 une )achine .? le progra))e traceroute de A en;oie donc 1 destination de . un pre)ier paquet IP a;ec un cha)p TTL gal 1 1. Ainsi le pre)ier routeur lui ren;oie un paquet ICCP a;ec son adresse. Traceroute ren;oie alors un 2epaquet 1 destination de . a;ec un TTT:K2? celuiDci sera re*us par le 2erouteur? et ainsi de suite traceroute aug)ente le cha)p TTL Husqu'1 a;oir tra;ers tous les routeurs sparant A de .. Co))e les )essages ICCP contiennent les adresses des routeurs il su**it de les ;isualiser 1 chaque retour de )essage. .ien qu'en thorie 2 paquets se sui;ant ne prennent pas *orc)ent la )@)e route? ils le *ont la plupart du te)ps? c'est pourquoi traceroute donne des in*or)ations *ia9les? en tous les cas au )o)ent oJ on *ait appel 1 lui. S"egaS^!tracero te [Link]. ni")[Link] tracero te to [Link]. ni")[Link] ?193.52.109.12A@ 30 hops ma7@ 40 #Cte pac=ets 1 gw)[Link]. ni")[Link] ?193.49.1(2.220A 2.882 ms 3.24( ms 3.034 ms 2 [Link] ?193.52.254.254A 4.(38 ms 2.239 ms 2.298 ms 3 gw)[Link]. ni")[Link] ?193.49.1(1.1A 2.353 ms 2.419 ms 2.(27 ms 4 [Link])[Link] ?193.55.153.41A 4.027 ms 4.117 ms 13.75 ms 5 [Link])[Link] ?193.55.153.9A 8.747 ms 10.9( ms 7.499 ms
( )sciences)[Link])[Link] ?193.54.13(.138A 14.4(8 ms 9.77 ms 1(.273 ms 7 193.52.9(.2 ?193.52.9(.2A 15.29 ms 13.83 ms 12.02( ms 8 [Link]. ni")[Link] ?193.52.109.12A 12.149 ms 9.715 ms 20.812 ms 37 hops signi*ie que l'on ne *era pas plus de 37 sauts. "7 octets pour le datagra))e IP correspondent 1 27 octets pour l'enDt@te IP? ! octets pour l'enDt@te +,P? 12 octets de donnes utilisateurs dont une copie du TTL et l'heure d')ission. /n o9tient en rsultat le TTL? le no) et l'adresse IP des routeurs inter)daires <et de la )achine destinatrice=. Puis? co))e pour chaque ;aleur de TTL? traceroute en;oie 3 datagra))es IP? on o9tient les te)ps d'aller <du paquet IP= et retour <du paquet ICCP=. /n peut donc connFtre le te)ps de trans)ission entre le routeur 4 et 4V1 en *aisnat la di**rence des te)ps retourns sur les lignes 4V1 et 4. $i on a une X c'est qu'il n'2 a pas eu de rponses dans les secondes pour le paquet concern. $i on a toute une ligne d'X? c'est que les paquets ICCP de retour ne sont pas par;enus 1 la )achine A? par e0e)ple car il ont t )is par . a;ec un TTL trop *ai9le? ou qu'il ont tous )is plus de sec 1 re;enir.
arp per)et de ;isualiser et )odi*ier <si on a le droit= la ta9le de translation adresses #thernet/adresses Internet <pour plus de dtails consulter la section 2."."=. Cette ta9le est en *ait un cache qui ;olue au *ur et 1 )esure des sollicitations des )achines du rseau. S"egaS^!arp )a .ddress 3face t7)f#.info. ni")angers. eth0 te=[Link]. ni")anger eth0 t7)#[Link]. ni")angers. eth0 siri [Link]. ni")angers eth0 [Link]. ni")angers eth0 =[Link]. ni")angers eth0 moinefo .info. ni")ange eth0 te=[Link]. ni")ange eth0 gw)[Link]. ni")anger eth0 t7)[Link]. ni")angers. eth0 ILtCpe ether ether ether ether ether ether ether ether ether ether ILaddress [Link](:98:77 [Link] [Link](:97:21 [Link].;:<<:<<:(. [Link];:4/ [Link](1:./:(6 [Link].3 [Link] [Link].:78:;9:39 [Link]/6:26 ;lags Nas= 6 6 6 6 6 6 6 6 6 6 [ [ [ [ [ [ [ [ [ [
nsloo= p per)et d'interroger les ser;eurs de no)s d'Internet. #lle *onctionne en )ode interacti* quand on l'appelle sans argu)ent ou a;ec les argu)ents ) nom o adresse 34 de machine? 1 ce )o)entDl1 on o9tient S"egaS^!nsloo= p 1efa lt *er"er: =[Link]. ni")[Link] .ddress: 193.49.1(2.9 ! oJ l'on a le no) du ser;eur de no)s par d*aut. ,ans le )ode interacti* on o9tient de l'aide sur les di**rentes co))andes 1 l'aide de la co))ande \. ! \ `3d: nsloo= [Link]@" 8.3 199(/08/05 [Link] "i7ie /7p `
%7
6ommands: ?identifiers are shown in ppercase@ PQ means optionalA 0.N/ ) print info a#o t the host/domain 0.N/ sing defa lt ser"er 0.N/1 0.N/2 ) as a#o"e@ # t se 0.N/2 as ser"er help or \ ) print info on common commandsY see nsloo= p?1A for details set 84+380 ) set an option all ) print options@ c rrent ser"er and host PnoQde# g ) print de# gging information PnoQd2 ) print e7ha sti"e de# gging information PnoQdefname ) append domain name to each E erC PnoQrec rse ) as= for rec rsi"e answer to E erC PnoQ"c ) alwaCs se a "irt al circ it domainB0.N/ ) set defa lt domain name to 0.N/ srchlistB01P/02/.../0(Q ) set domain to 01 and search list to 01@02@ etc. rootB0.N/ ) set root ser"er to 0.N/ retrCB% ) set n m#er of retries to % timeo tB% ) set initial time)o t inter"al to % seconds E erCtCpeB% ) set E erC tCpe@ e.g.@ [email protected]&@60.N/@I30;8@N%@4%@0*@4+>@*8.@+%+@LO* portB% ) set port n m#er to send E erC on tCpeB% ) sCnonCm for E erCtCpe classB% ) set E erC class to one of 30 ?3nternetA@ 6I.8*@ I/*381 or .0& ser"er 0.N/ ) set defa lt ser"er to 0.N/@ sing c rrent defa lt ser"er lser"er 0.N/ ) set defa lt ser"er to 0.N/@ sing initial ser"er finger P,*/>Q ) finger the optional ,*/> at the c rrent defa lt host root ) set c rrent defa lt ser"er to the root ls PoptQ 18N.30 P! ;32/Q ) list addresses in 18N.30 ?optional: o tp t to ;32/A )a ) list canonical names and aliases )h ) list I30;8 ?64, tCpe and operating sCstemA )s ) list well)=nown ser"ices )d ) list all records )t +&4/ ) list records of the gi"en tCpe ?e.g.@ [email protected]/@N%@ etc.A "iew ;32/ ) sort an 9ls9 o tp t file and "iew it with more e7it ) e7it the program@ R1 also e7its 6hois per)et d'interroger une 9ase de donnes sur les rseau0 et leurs ad)inistrateurs. Par d*aut le ser;eur [Link] est interrog? )ais on peut spci*ier quel ser;eur 6hois on interroge? co))e par e0e)ple dans la co))ande sui;ante. S"egaS^!whois ni")[Link] P#sd#[Link] J_ >ights restricted #C copCright. *ee [Link] domain: descr: descr: descr: admin)c: tech)c: ni")[Link] ,ni"ersite [Link] 30@ r e des .renes 49035 .ngers 6/1/% 01@ ;rance ZacE es .llo 8li"ier Tirard
%1
tech)c: Zean)Narie 6hretien Wone)c: .>41 nser"er: lagaffe. ni")[Link] [Link] nser"er: #iotheo.i#t. ni")[Link] 193.49.145.(0 nser"er: resone. ni")[Link] dom)net: [Link] [Link] 193.49.14(.0 mnt)#C: ;>)036)N0+ changed: -[Link] 970219 so rce: >34/ ........................ etc .... /n peut aussi utiliser whois nom5de5personneMnom5de5ser"e r.
netstat per)et d'o9tenir des statistiques sur le no)9re de paquets? les erreurs? les collisions etc... sur une inter*ace en donnant la liste de toutes les socBets ou;ertes. S"egaS^!netstat )eSmore .cti"e 3nternet connections ?w/o ser"ersA 4roto >ec")K *end)K 2ocal .ddress *tate ,ser tcp 0 0 "[Link]. ni")ang:1023 /*+.<23*I/1 root tcp 0 0 "[Link]. ni")ang:1022 /*+.<23*I/1 root tcp 0 0 "[Link]. ni")ang:1021 /*+.<23*I/1 frantW tcp 57 0 "[Link]. ni")ang:1(32 628*/5L.3+ frantW ........................ etc .... /n o9tient la ta9le de routage par S"egaS^!netstat )rn Oernel 34 ro ting ta#le 1estination TatewaC irtt 3face 193.49.1(2.0 [Link] 0 eth0 [Link] [Link] 0 lo [Link] 193.49.1(2.220 0 eth0 + route utilisa9le? I route indirecte
;oreign .ddress [Link]. ni")an:993 [Link]. ni")a:101( moinefo .info. ni:login [Link]. ni")an:ftp
;lags , , ,T
tcpd mp ;isualise di**rentes in*or)ations <selon les options de la co))ande= sur les paquets qui passent par l'inter*ace rseau de la )achine. C'est une co))ande rser;e 1 root. CiDdessous on a les 27 derniers paquets qui ont transit. tcpd mp )c 20 tcpd mp: listening on eth0 [Link].0(9542 "[Link]. ni")[Link] ! siri [Link]. ni") [Link]: dp 98 [Link].079542 "[Link]. ni")[Link].11(4 ! t7)[Link]. ni") [Link].(000: . ac= 9(5(32022 win 31744 [Link].079542 "[Link]. ni")[Link].(000 ! [Link]. ni") [Link].47589: . ac= 5048((793 win 31744 [Link].0(9542 [Link])e"[Link].(((5 ! "[Link]. ni") [Link].1951: . 597(73((:597(882(?14(0A ac= 5797(1084 win 87(0 ?1;A
%2
[Link].079542 "[Link]. ni")[Link].1951 ! [Link]) e"[Link].(((5: . ac= 42949(3200 win 31744 Ptos 078Q [Link].079542 "[Link]. ni")[Link].11(4 ! t7)[Link]. ni") [Link].(000: 4 0:128?128A ac= 1 win 31744 ?1;A [Link].079542 [Link])e"[Link].(((5 ! "[Link]. ni") [Link].1951: 4 14(0:2(3(?117(A ac= 1 win 87(0 ?1;A [Link].079542 "[Link]. ni")[Link].1951 ! [Link]) e"[Link].(((5: . ac= 42949(3200 win 31744 Ptos 078Q [Link].079542 "[Link]. ni")[Link].1953 ! =[Link]. ni") [Link]: 53323X ?43A [Link].079542 "[Link]. ni")[Link] ! moinefo .info. ni") [Link].131f35e: replC o= 128 [Link].089542 "[Link]. ni")[Link].1909 ! t7)[Link]. ni") [Link].(000: . ac= 72024148( win 31744 [Link].089542 =[Link]. ni")[Link] ! "[Link]. ni") [Link].1953: 53323[ 1/2/2 ?181A [Link].089542 "[Link]. ni")[Link].1954 ! =[Link]. ni") [Link]: 53324X ?43A [Link].089542 moinefo .info. ni")[Link].131f35f ! "[Link]. ni")[Link]: 144 getattr PSnfsQ [Link].089542 "[Link]. ni")[Link] ! moinefo .info. ni") [Link].131f35f: replC o= 9( getattr PSnfsQ [Link].089542 moinefo .info. ni")[Link].131f3(0 ! "[Link]. ni")[Link]: 152 readdir PSnfsQ [Link].089542 =[Link]. ni")[Link] ! "[Link]. ni") [Link].1954: 53324[ 1/2/2 ?179A [Link].089542 "[Link]. ni")[Link] ! moinefo .info. ni") [Link].131f3(0: replC o= 37( readdir PSnfsQ [Link].089542 "[Link]. ni")[Link].11(4 ! t7)[Link]. ni") [Link].(000: 4 128:25(?128A ac= 1 win 31744 ?1;A [Link].089542 "[Link]. ni")[Link].195( ! =[Link]. ni") [Link]: 53325X ?44A tcpd mp tcp port 21 ne ren;erra que les paquets lis au protocole tcp sur le port 21? 1 sa;oir *tp. tcpd mp arp ne ren;erra que les paquets lis au protocole arp.
%3
!. Langages pour le 8e,. Ce chapitre est trait lors de tra;au0 dirigs et tra;au0 pratiques et e0plore di**rentes techniques utiles 1 la conception de sites 6e9s. ht)l Ha;ascript applets Ha;a cgi perl et php pour accder au0 9ases de donnes
%"