Intro-reseau

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Intro-reseau as PDF for free.

More details

  • Words: 2,264
  • Pages: 27


.



Présentation de TCP/IP et de la programmation



Introduction aux réseaux

Julien OLIVAIN <[email protected]>

 



LSV - ENS de Cachan





 



Équipements et composants d’un réseau.

et





Cas pratique d’





Organisation en couches.  



Protocoles de communication. .

 





  

Programmation système réseau: - Interface de programmation . - Modèles client-serveur. - Réalisation d’une messagerie temps-réel. 



Introduction générale.



Plan

Un protocole est un ensemble de règles et de codes conçus pour l’échange de données entre deux équipements reliés par une ligne de communication. ( langage). Les protocoles fournissent généralement des services particuliers, en plus de l’échange de données:



Recherche d’un chemin vers un réseau (routage) Recherche d’une adresse Gestion de flot de données Vérification d’intégrité Correction d’erreurs Sécurité (chiffrement) ...  







Protocoles de communication réseau

Couches ISO/OSI International Standard Organization’s Open System Interconnect Application protocols: ftp, telnet, ssh, htt, smtp, etc...

−6− Presentation

Data translation: Bit order, Byte order, Character set, etc...

−5− Session

Provide control of session between hosts : establishment, transfer, release (session identifier, socket)

−4− Transport

Provide transmission control service, error recovery and segmentation: TCP, SX, NetBEUI, etc... (Data unit: segment)

−3− Network

Send data through multiple systems between two hosts: IP, IPX, DDP, etc... (Data unit: Packet)

−2− Data Link

Low−level communication protocol: Ethernet, TokenRing, FDDI, Kermit, Z−Modem, etc... (Data unit: Frame)

−1− Physical

Twisted Pair Cables, Fiber Optic, Radio Frequency Links, etc... (Data unit: Signals, modulations, etc...)

 

−7− Application

 

TCP (

! "

$

"#

!

%

et

est un protocole couche lien (2), ), de couche réseau (3), ), de couche (4).

 

)

& 

 







&

 

 

(



 





  

 '









&









IP (



Cas pratique d’

Encapsulation des protocoles TCP/IP user data

application header

TCP header

user data

application data

TCP segment IP header TCP header

application data

IP datagram application data

Ethernet frame

Ethernet trailer *

IP header TCP header

 

Ethernet header

Hiérarchie des protocoles DNS SNMP TFTP NFS ...

... UDP

ICMP

IP

ARP

Data Link Media

Transport layer

IGMP

RARP

Network layer

Link layer

Physical layer

+

TCP

Application layer

 

HTTP SMTP FTP SSH

! "

$

"#

!

En-tête 0

15 16

31

48 bits destination MAC address 48 bits source MAC address

,

data

 

16 bits type

En-tête IP 0

15 16 8 bits type of service (TOS)

16 bits total length (bytes)

8 bits time to live

8 bits protocol

standard IP header = 20 bytes

3 bits flags

16 bits identification

13−bits fragment offset 16 bits checksum

32 bits source ip address 32 bits destination ip address options (if any)

data

-

4 bits hdr len

 

4 bits version

31

En-tête UDP 15 16

31

16 bits source port

16 bits destination port

16 bits length

16 bits checksum

.

data

 

0

En-tête TCP 0

15 16 16 bits source port

31 16 bits destination port standard TCP header = 20 bytes

32 bits sequence number 32 bits acknowledgement number FIN

SYN

16 bits checksum

16 bits window size 16 bits urgent pointer

options (if any)



data

 

RST

PSH

ACK

6 bits reserved

URG

4 bits hdr len

Protocole TCP (couche 4) TCP connection establishment Client

socket() connect() (connect blocks)

Server socket() bind() listen() accept() (accept blocks)

SYN j 1

SYN k, ACK j+ ACK k+1

(accept returns)

ACK j+1



ACK k+1

 

(connect returns)

%



Exemple d’un envoi de mail.

et

 

! "

$

"#

!



Exemple d’une connexion HTTP.



Cas pratique d’

Équipements composant un réseau

Internet Router Hub

Switch

D

Host C

Principaux équipements



B

F

 

A

E

Configuration réseau minimale



Passerelle par défaut (192.168.0.1)



Nom de machine (myhost) Serveur de noms (DNS 192.168.0.2)

)



Masque de sous-réseau (255.255.255.0)

 



Adresse IP (192.168.0.123)



De quels paramètres a-t-on besoin pour faire fonctionner le réseau ?

Exemple complet d’une connexion www.google.com 8

12

Internet 13

9 11 7

14

10

5

host2

6

1 2

mozilla http://www.google.com

DNS

 

host1

4

*

3

Affiche le nom de la machine locale.

/5 7< <;

< > >

<

4

Transfert de fichiers.

; 9<

GFED HH

sécurisé.

: ;

Connexion d’un terminal via un réseau.

0

< > 24? > <

Affiche la route utilisée entre la machine locale et une destination.

+

/4 < 3; 8< 1 7 8> A3

Outil de diagnostic des connexions réseau courantes.



> 5

<4 9

Outils de requête d’un serveur de noms (DNS).

?

3 3 A92@

Outil de requête d’un serveur de noms (DNS). (obsolète).

CB

Test de connectivité (message ICMP ECHO/REPLY).

 

65/

0 897 =7

43 3; ; 4 :

Outil de configuration des interfaces réseau. Outil de configuration du cache d’adresses IP/ARP.

:

21/0

Outils de diagnostic réseau

I

"

!

L K

IJ

Programmation système et   





Une (en: prise, embout) représente un point d’attache vers un canal de communication réseaux.

 

,



  





permet de faire abstraction des L’interface des protocoles de communication bas-niveau qui seront gérés automatiquement par le système d’exploitation.

  -

/4

/4 <

<

?

@

T

YX

35

7

[

QS

Mi

<

1e

`U;

/4 g

A

< C@

C@0

C

3

1

;

C

YX

?

7C

<

?

@

7C

=W \

8

4>

8

<

7C

3

1

;

;

3

1

;

T

G[hg d

<

81 <

/4

4>

U8

U

/4

/4

f

<

\

eA

3C /

C0

QS

c

<

]<

;

1 43

/a

/a

T

Y<X

A3 4

<1

>

;

U 0

U

>

;

;

g

]

\

/

C0 3C

<

T

d

Y<X

4

A3

; ba/ > <1

eA U 0

U

/4

; ba/ >
;

/4 <

C@

3

1

;

\C 7C

<

?

@

7C

\C

S T

? 4> ZYX

8

< 7C

3

1

;

4>

U8

8

A

Q_

O

O

<^

81 <

;

`U;

/4

C ?

4> ZYX

8

<

?

@

7C

4>

3

1

;

U

/4

A

O

Q

[

N[

O

<

<

<

U8

C 7C

;\ 8]>

8

C@

C@0

7C

3

1

;

<

81 <

;

;

1

3

1

;

43

/4

S T /4

/4 U /4

>

7

<


3 YZ? X

3

1<

3

T

QRP S

NO

<M

9< 8

9 <W

UV /4

=3

/4

I

"

K

IJ

!

L

Appels système pour les

<1

< /4

C0

5

ZYX

875

43

?

T

Si /4

m

<

; 5

/4 <

<

?

:

C

0

T

YX

;

75

=\ ; U5

8

=

A

81 <

;

`U;

lM

nO

4>

3

1

;

C@

?

\0

<

?

@

\0

YX

4>

=3

8

< 7C

3

1

;

U =3

8

8

A

81 <

; /4 <

eA

/

/a

/4 75 `U;

VU4>

>

;

<

<

?

?

U 0

\

3C

U`; ]

Nl

c

nO

Q


0

T

o nO

Q


<

/4

eA

/

/a

/4 <

<

?

?

0

T

YX

;

75

VU4>

>

;

U 0

\

3C

U`; ]

/4

/4

m

<

<

; 5

/4 <

?

:

C

0 YX

;

75

=\ ; U5

8

=

<

T

RlMd

[

Q

<M

8< A1

;

;

43

1

`U;

/4

A

<

\

<

<

?

@

? 4> ZYX

3

4>

U < 3 ; 1 3

8

C@ 7C

3

1

;

<

81 <

;

;

43

1 /4

N

[

Q

<M

<

/

75 `U;

/4 <

?

0

; ba/ > < ? U 4>

=\ ; U5

3C

]<

;

43

1

`U;

/4

T

Sd /4

[

Q

<M

<

/

75

< ?

0

T

d

; ZYX

/4

; ba/ > < ? U 4>

=\ ; U5

3C

]<

;

43

1

`U;

/4

9

< C0

<

=/ > A3 Y<X

< =/ ] > 7 ? \ <

A

\

<

81 <

;

U;

>

k1>

>

;

C0

>

;

O

/4

<

< C0

8

<

< / U;

> C0

j\

>

;

C0

S T

Qi

Q

<M

8\ >C 70 C U`;

VU4

/4

I

"

K

IJ

!

L

les

.

/4

=C

[

Oo

<

Q


/4

pour





U

U

/4

/4

Appels système avancées



Modèles de serveurs Communication simple:



Les deux programmes communiquent et terminent.

Serveur itératif:



Le serveur attend, traite la requête d’un client lorsqu’il se connecte, puis recommence.

Serveur concurrentiel: Le serveur attend, crée un nouveau processus pour traiter les requêtes des clients

Serveur multiplexé:



Le serveur attend, et traite les clients les uns après les autres.

 



séparément et en parallèle.

...utilisation de la connexion...

.



.

 

   





  

Connexion de la





Création d’une



Recherche et configuration de l’adresse du serveur à connecter.





Exemple de programme réseau client

  

Œ

=

<

/ x

x

;

YX

v

=T ; 5 ‹ŠX

4>

8<

; ?

; CT x

>

U5

U

8

j

\

\ 4

8]

u

>

3

1

; <

@

;C

7C

C X

;T

YX

8

8]

; ba/ > 30

7C

C

YZ‰ X

|} T ;T s 8< €~ A1 U <  ; 1 3 ‚ƒ„ C@ s … 7C ‚ 8 †€ \X w U ˆ‡ ;

< ; CT

>

1

43

U8

B U

B

1


/

?W u >y

=7

s /4

x;

8]

;

X

q

{p

T

Y>

9 <W

8

C

:

: 7C

T s z

YX

]5

87

3

< 7<

;

43

83

9

s /4

x;

8]

;

/

0 ;

s /4

>y

>y

5 <

?

:

:

wT

Y :X

4>

s z

U8

C

:

: 7C

s z

U8

C

7C

x;

8]

W

9

=1>

=

4

5 < :

:

q

vp

T

YX

]

875

>

=7

< We

3;

>

u>

3;

\

:

A

/4 Y

8]

< C@

;

7C

3

1

;

;

81 <

< ts8

<

<

Y> :

4>

A

81 <

; Y

/4

< ;C

U

7 /4 /4

]

5

875

87

1

871

=

/4

\

<

<

:

Xr

pq

T

Exemple de programme réseau client



Activation de l’écoute.



Attente de l’acceptation d’une connexion. ...utilisation de la connexion...



à une adresse d’écoute.

 

  

.







  



Association de la





Création d’une



Exemple de programme réseau serveur

  )

Π71

>C x

/a

eA

0

0

X

T

YX

8>

0

0

30

>

;

U 8>

eA

T x `U; x

8

\

\

B

B

9 >

17

1

;

< T

w1

w1 ?

?

7C

/

C/

?

\X

4> ZYX

U8

8

C@

7C

3

1

;

<

;T 81 < A

U ?;

u

1

u

?

?

/a

/

C/

?

T

8 ZYX

7C

1

30

>

;

4>

1 /; T

Y X

`U6;?

4>

<

? T

u 3

1

;

6;?

/a

/4

X

;T

30

>

;

;

\X w

YX

VU /4

8

C@

7C

3

1

;

<

s †€

…



‚

‚ƒ„

YZ‰ X

U ˆ‡

U

~€

@ ;T > < |} T 81 < A s

`U6;?

C/4

e s /4

/4


:

Y<X

83

9T

;

43

83

9

x;

;

s

s /4

/4

?W u

~€

|}



=7

x;

;

/

0 U /a

/4

‰

wT

X

;T

30

>

;

<

YX

U /4

;

>

;

=>

=

<1 4Y>

s 4>

3

1

;

/

A

/4

8Y

? ts8

?

?

@

C@

C/

? 7C

1

7C

3

1

;

<

81 <

;

/4 Y /4

ts8

A

C@

;

7C

3

1

;

<

81 <

;

>

3

1

;

43

>

1

43 4

<1

\

1\

Y;

/4

<

<

@

/

B

B

>

3

1

;

/; 4>

Y ?;

/4

\

\

<

<

<

@

?

B

B U

7 /4 /4

]

5

875

87

1

871

=

/4

\

<

<

:

Xr

pq

T

Exemple de programme réseau serveur



W.R. Stevens,



W.R. Stevens,



A. Tanenbaum, G. Pujolle,



—

Ž

'



Ÿ 

 

*

—

Ž

'



Ÿ 



 



 



– œ 

'

“ & ”

 œ

 



™ š›



'



  • —˜–



’ “‘& ”



RFC793 (TCP) Transport Control Protocol   ‘



RFC792 (ICMP) Internet Control Message Protocol  Ž&&



RFC791 (IP) Internet Protocol





RFC790 (UDP) User Datagram Protocol



Bibliographie



.



Présentation de TCP/IP et de la programmation



Introduction aux réseaux

Julien OLIVAIN <[email protected]>

 

+

LSV - ENS de Cachan