9. La réseau
• Stations / nœuds interconnectés
• Connexions physiques (filaire, sans fil) et
logique (connexion) entre les stations
• Les stations communiquent les unes avec les
autres et exécutent des applications réseau
• Les réseaux sont connectés à d'autres réseaux
• Internet: Tous les réseaux interconnectés de la
planète
9
10. Communication entre dispositifs
• Les appareils participants doivent recevoir des
noms
• Les appareils doivent être suffisamment
localisés – avoir une adresse
• Les participants doivent identifier les routes
par lesquels ils peuvent contacter
• Vous devez établir des règles simples de
communication-protocoles
10
11. Protocole réseau
• Un protocole = des règles qui déterminent
comment deux périphériques échangent des
informations
• Les entités participant à la communication
connaissent le protocole
– Formuler des séquences requête-réponse
(Request-Reply)
11
12. Adresse MAC
• Un nombre avec une longueur de 48 bits, qui
identifie de manière unique chaque interface de
réseau Ethernet;
– adresse non hiératique
• Il est entré de l’usine dans une mémoire ROM sur
la plaque
• Ne peut pas être changé de la plaque, mais peut
être changé de logiciel
00:00:0c:ab:cd:c1
12
ID du fabricant
Numéro de série de la plaque
13. Réseau local
• Composé de plusieurs stations connectées
– Stations: ordinateur, portable, téléphone mobile,
serveur, etc.
• Les stations de connexion réseau local sont
obtenues via l’équipement réseau appelé Switch
• Switch: transfère les informations entre les
ordinateurs du même réseau local à l’aide
d’interfaces réseau Ethernet basées sur l’adresse
MAC
13
15. Communication entre réseaux
• Afin d’accéder à d’autres réseaux ou à
Internet, un appareil doit également avoir une
connexion à un autre réseau/Internet
• Cet équipement peut être une station, un
serveur ou un équipement réseau dédié
nommé routeur
• Le transfert d’informations depuis le réseau
local vers Internet est basé sur l’adresse IP
15
23. Protocole IP
• Le protocole dominant qui fournit la
connectivité dans l’Internet
• L’adressage IP est hiératique
• Dernière version: IPv6
– Résout la crise de l’adresse IPv4
• L’adresse IPv6 est un nombre de bits 128
– Lenteur des progrès vers le rythme des
technologies actuelles
– Une infrastructure mondiale difficile à transformer
23
25. Adresse IPv4
• 32 bits écrites en 4 groupes de 8 bits
– Chaque groupe est écrit au format décimal
• Une adresse IP a deux composants:
– Première partie = adresse réseau qui inclut la station
– Deuxième partie = adresse de la station dans le
réseau.
• La délimitation entre l’adresse de la station et
l’adresse réseau est donnée par le masque de
réseau
25
27. Masque de réseau
• Il a une longueur de 32 bits
• Formé en définissant le réseau et les bits de
station
– Bits réseau = 1
– Bits stations = 0
• Exemple: si nous avons 24-bit 1 consécutif, le
masque de réseau est/24 ou 255.255.255.0
27
28. Adresse de réseau et de diffusion
• Adresse de diffusion: adresse de diffusion, les
paquets sont reçus de toutes les stations du
réseau local
• Ils ne peuvent pas être utilisés comme adresses
de station
• Pour identifier l’adresse réseau, faites une et
logique (&) entre l’adresse IP et le masque de
réseau
• Pour identifier l’adresse de diffusion du réseau,
faites ou logique (|) entre l’adresse IP et le déni
du masque de réseau
28
29. Exemple
• Station avec adresse IP et masque de sous-réseau
255.255.0.0 (/16)
• Pour l’adresse du sous-réseau:
11000000 10101000 00000000 00000001 – 192.168.0.1
11111111 11111111 00000000 00000000 – 255.255.0.0
______________________________________________________
11000000 10101000 00000000 00000000 – 192.168.0.0
• Pour l’adresse de diffusion:
11000000 10101000 00000000 00000001 – 192.168.0.1
00000000 00000000 11111111 11111111 – 255.255.0.0
______________________________________________________
11000000 10101000 11111111 11111111 – 192.168.255.255
29
30. Données sur Internet
Mon ordinateur Google
Web Server
SSH Server
Web Client
Skype
1.2.3.45.6.7.8
30
31. TRNASPORT PROTOCOL
Bit 0 Bit 15 Bit 16 Bit 31
Destination IP
Source IP
TTL Header ChecksumProtocol
Identification Fragment OffsetFlags
IHLVersion TOS Total LengthECN
Packet IP
31
32. Données sur l’Internet
Mon ordinateur Google
Web Server
SSH Server
Web Client
Skype
1.2.3.45.6.7.8SRC: 5.6.7.8,
DST: 1.2.3.4
32
33. Données sur l’Internet
Mon ordinateur Google
Web Server
SSH Server
Web Client
Skype
1.2.3.45.6.7.8 SRC: 5.6.7.8,
DST: 1.2.3.4
33
34. Données sur l’Internet
Mon ordinateur Google
Web Server
SSH Server
Web Client
Skype
1.2.3.45.6.7.8 SRC: 5.6.7.8,
DST: 1.2.3.4
34
35. Comment démultiplexer les paquets?
Mon ordinateur Google
Web Server
SSH Server
Web Client
Skype
1.2.3.45.6.7.8 SRC: 5.6.7.8,
DST: 1.2.3.4
35
36. Comment démultiplexer les paquets?
Mon ordinateur Google
Web Server
SSH Server
Web Client
Skype
1.2.3.45.6.7.8 SRC: 5.6.7.8,
DST: 1.2.3.4
?
36
37. Ports
Mon ordinateur Google
Web Server:
PORT 80
SSH Server
PORT 22
Web Client
PORT 1102
Skype
1.2.3.45.6.7.8 SRC: 5.6.7.8,
DST: 1.2.3.4
37
39. Ports
Mon oridinateur Google
Web Server:
PORT 80
SSH Server
PORT 22
Web Client
Skype
1.2.3.45.6.7.8
SRC: 5.6.7.8,DST: 1.2.3.4
SRC_PORT: 1102 DST_PORT: 80
39
42. Socket
• Descripteur de fichier spécial
– open – socket
• client: bind / connect
• server: listen / accept
– read – recv
– write – send
– close – shutdown et close
42
43. socket
int socket(int domain, int type, int protocol);
// domain
// PF_LOCAL Host-internal protocols, formerly called
PF_UNIX
// PF_INET Internet version 4 protocols,
// PF_ROUTE Internal Routing protocol,
// PF_INET6 Internet version 6 protocols,
// PF_NDRV Raw access to network device
// ...
// type
// SOCK_STREAM
// SOCK_DGRAM
// SOCK_RAW
43
44. shutdown
int shutdown(int socket, int how);
// how
// SHUT_RD further receives will be disallowed
// SHUT_WR further sends will be disallowed
// SHUT_RDWR further sends and receives will
be disallowed.
int close (int filedes);
44
45. client / server
int bind(int socket, const struct sockaddr
*address, socklen_t address_len);
// client
int connect(int socket, const struct sockaddr
*address, socklen_t address_len);
// server
int listen(int socket, int backlog);
int accept(int socket, struct sockaddr
*restrict address, socklen_t
*restrict address_len);
45
47. Transmission/réception données TCP
Server
1. Créer un socket:
int ls = socket (AF_INET,
SOCK_STREAM, IPPROTO_TCP);
2. Réglez le port de socket:
bind(ls, &addr,
sizeof(addr));
3. Déclarer no. des clients:
listen(ls, 5);
4. En attente de connexion:
int s =
accept(ls,NULL,NULL);
Client
1. Créer un socket:
int s = socket
(AF_INET, SOCK_STREAM,
IPPROTO_TCP);
2. Connectez-vous au serveur:
connect(s, &addr,
sizeof(addr));
47
48. Réception des données
int bytes = 0;
while (bytes<len)
{
d = recv(s, &buf[bytes], len-bytes,0);
if (d<0) break;
bytes += d;
}
48
49. Transmission des données
int bytes = 0;
while (bytes<len)
{
d = send(s, &buf[bytes], len-bytes);
if (d<0) break;
bytes += d;
}
49
50. Fermer la connexion TCP
• Libérez les ressources associées à la connexion
• Informer l’autre extrémité de la fermeture de
la connexion
shutdown (s, SHUT_RDWR);
close (s);
50
51. Mot clés
• réseau
• Internet
• protocole
• OSI
• Niveau
• MAC
• IP
• mask
• TCP/IP
• UDP/IP
• port
• socket
• bind
• connect
• listen
• accept
• recv
• send
• shutdown
• packet
51