Wireless Networks Réseaux sans-fil - IUT de Nice

Transcription

Wireless Networks Réseaux sans-fil - IUT de Nice
Wireless Networks
Réseaux sans-fil
Un monde de TCP/IP
Série de rappels
[email protected]
1
Request for Comments
Standards officiels de la communauté
Internet
Beaucoup de RFC sont uniquement
publiées dans un but d’information
http://www.rfc.org
2
Modèle OSI
7
Application layer
6
Presentation layer
5
Session layer
4
Transport layer
3
Network layer
2
Data Link layer
1
Physical layer
3
Les couches dans les paquets
Chaque couche encapsule la précédente
Application
Présentation
fichier
Données présentation
Session
Données session
Transport
Données transport
Réseau
Données réseau
Liaison
Données liaison
Physique
Données physique (bits)
4
TCP/IP model 1/3
Application layer
TCP / UDP layer
IP layer
Data link layer
Physical layer
5
Pile de protocoles Internet usuelle
Couche application
Couche transport
Echange de données entres applications
(HTTP, HTTPS, SMTP)
Liaison entre deux machines
(TCP, UDP)
Couche réseau
Adressage Internet, Routage, Acheminement
des paquets (IP, ICMP)
Couche liaison
Liaison peer to peer, intégration avec le
Hardware (Ethernet, PPP)
6
TCP/IP model 2/3
Application layer
Application layer
TCP / UDP layer
TCP / UDP layer
IP layer
IP layer
Data link layer
Data link layer
Physical layer
Physical layer
7
Parallèle: La pile de NetBEUI
Pile utilisée par Microsoft Windows
Conçue à l’origine pour des petits réseaux locaux
NetBEUI disparaît avec MS Windows 2000
Application
Application : WINS, SMB (Server Message Block), NCB
(Network Control Block), RPC (Remote Procedure Control)
Session : NetBIOS (Network Basic Input/Output System)
Transport/Réseau : NetBT (NetBios over Tcp/ip),
Session
Transport/Réseau
Liaison/Physique
NetBEUI (NetBios Extented User Interface)
Liaison/Physique : Ethernet, token-ring, …
8
Exemple Web
Web browser
Implémentation TCP
Implémentation IP
Driver Ethernet
Protocole HTTP
Protocole TCP
Protocole IP
Protocole Ethernet
Web server
Implémentation TCP
Implémentation IP
Driver Ethernet
Ethernet
9
1er et 2ème niveaux (layers)
Les deux plus bas niveaux (physique et
liaison de données - physical and data link)
acheminent les datagrammes entre les
machines d’un même LAN
On trouve plusieurs médias et plusieurs
protocoles à cet effet
ethernet,
token ring,
ATM,
etc.
10
Maximum Transmission Unit
Chaque réseau de niveau 2 possède
sa propre valeur de MTU
La MTU spécifie la taille maximale que
le média réseau peut transporter en
un seul datagramme
11
Fragmentation IP
Si un paquet IP est plus gros que la
MTU du niveau du lien, le paquet a
besoin d’être fragmenté
Les fragments sont des paquets IP
indépendants mais partageant la
même “identité IP”
Les fragments sont routés
séparemment et réassemblés à la
destination finale
12
Path MTU (Maximum Transmission Unit)
Et quand on traverse des segments de technologies de
niveau 2 différentes ?
Path MTU
La Path (chemin) MTU représente la
plus petite MTU des réseaux de 2ème
niveau rencontrés sur le chemin
La Path MTU est une information très
utile pour optimiser la fragmentation
IP
14
3ème niveau - Internet Protocol
Internet protocol (IP) achemine les
paquets entre des machines au
travers de réseaux
Chaque machine possède une adresse
IP unique pour l’identifier
Une route doit exister entre la
machine source et la machine de
destination
15
TCP/IP model 3/3
Application layer
Application layer
TCP / UDP layer
TCP / UDP layer
IP layer
IP
IP layer
Data link layer
Dl
Data link layer
Physical layer
Ph
Physical layer
16
IP header
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service|
Total Length
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Identification
|Flags|
Fragment Offset
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live |
Protocol
|
Header Checksum
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Source Address
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Destination Address
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Options
|
Padding
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
17
Rappel: Address Resolution Protocol
ARP permet une association
(mapping) entre une adresse de 3ème
niveau (IP) et une adresse de 2ème
niveau (Ethernet)
ARP ”requests” et ”replies”
RARP
proxy ARP
gratuitous ARP
18
ARP
19
Scénario 1: A veut dialoguer avec B
situé sur le même réseau
Host A
192.168.3.5
Internet
Host B
192.168.3.125
Adresse de réseau
192.168.3.0/24
de 192.168.3.0 à
192.168.3.255 (exclus)
20
Scénario 2: A veut dialoguer avec B
mais non situé sur le même segment
Host A
192.168.3.5
Internet
Host B
212.20.3.125
Adresse de réseau
192.168.3.0/24
de 192.168.3.0 à
192.168.3.255 (exclus)
Adresse du routeur
(passerelle par défaut)
192.168.3.1
21
Commandes de configuration du routage
Windows
Standard
UNIX
Configuration >ipconfig (NT, 2K,
>ifconfig
XP)
de l’adresse
or
IP
>winipcfg (Win9x,Me)
New
UNIX
>ip address show
Configuration >route print
du routage
>route add …
>route add -p …
>netstat -rn
>route
>ip route show
>route add
>ip route add …
… >netstat – >ip mr
rn
Configuration >arp -a
ARP
>arp -d
>arp
> ip maddr
> ip neighbour
22
Rappel: Routage IP
Chaque machine et chaque passerelle sait
quel sera le prochain saut (hop) pour router
les paquets IP
Le routage est toujours unidirectionnel
Des informations de routage pour chaque
direction doivent être définies séparemment
Le routage peut être:
Statique
Dynamique
Combinaison des deux
23
Routage statique
Destination
Gateway
Netmask
Flags
Metric
Ref
Interface
0.0.0.0
10.0.1.0
192.168.1.0
172.16.4.0
127.0.0.0
192.168.2.0
10.0.1.254
10.0.1.5
192.168.1.5
172.16.4.5
0.0.0.0
172.16.4.50
0.0.0.0
255.255.255.0
255.255.255.0
255.255.255.0
255.0.0.0
255.255.255.0
UG
U
U
U
U
U
0
0
0
0
0
1
0
0
0
0
0
0
ge0
ge0
ge1
ge2
lo
ge2
La passerelle par défaut est 10.0.1.254
La route pour le réseau 192.168 est directe – DMZ.
La route pour le réseau 172.16.4.0 – réseau interne.
Le réseau 127.0.0.0 représente l’interface de loopback.
Pour un réseau spécifique de R&D (192.168.2.0), le
routeur/firewall devra utiliser 172.16.4.50.
La deuxième route indique que pour atteindre ce routeur
et ce réseau il faudra utiliser l’interface ge0.
24
Configuration du Routeur/Firewall
127.0.0.0/8
ge2
ge0
.5
.5
.50
ge1
172.16.4.0/24
.254
.5
10.0.1.0/24
192.168.2.0/24
0.0.0.0/0
192.168.1.0/24
Destination
Gateway
Netmask
Flags
Metric
Ref
Interface
0.0.0.0
10.0.1.0
192.168.1.0
172.16.4.0
127.0.0.0
192.168.2.0
10.0.1.254
10.0.1.5
192.168.1.5
172.16.4.5
0.0.0.0
172.16.4.50
0.0.0.0
255.255.255.0
255.255.255.0
255.255.255.0
255.0.0.0
255.255.255.0
UG
U
U
U
U
U
0
0
0
0
0
1
0
0
0
0
0
0
ge0
ge0
ge1
ge2
lo
ge2
25
Exemple de routage
Internet
Routes par défaut
Routes statiques
selon texte attaché
net A+B
r1
a2
Réseau A
net B
a1
net B
a3
r2
b4
b1
Réseau B
b2
b3
26
Exemple de (mauvais) routage asymétrique
Routes par défaut
Internet
FW
a2
Réseau A
a1
Client
b2
a3
Réseau B
b1
Serveur
Client a1 veut se connecter à Serveur b1…
…mais Serveur b1 répondra directement par le réseau A via a3.
27
4ème niveau - Protocoles de Transport
Les protocoles de transport
définissent les points d’arrivée au sein
d’une machine (ports)
Les deux protocoles les plus utilisés
transmission control protocol (TCP)
user datagram protocol (UDP)
TCP possède bien plus de
fonctionnalités que UDP, mais il est
donc plus “complexe” à paramètrer
28
UDP
UDP est un protocole sans connexion
connectionless protocol
Pas de fiabilité rajoutée par dessus le
niveau IP
Toutes les retransmissions doivent être
gérées par le niveau Application
Simple à implémenter, très suffisant
la plupart du temps
29
UDP header
0
7 8
15 16
23 24
31
+--------+--------+--------+--------+
|
Source
|
Destination
|
|
Port
|
Port
|
+--------+--------+--------+--------+
|
|
|
|
Length
|
Checksum
|
+--------+--------+--------+--------+
30
TCP
TCP est un protocole orienté
connexion
connection-oriented protocol
Une connexion est établie avant tout
envoi de données
Une connexion TCP se place
exactement entre deux points finaux
Quand la connexion n’est plus
utilisée, elle est terminée
31
TCP
Protocole fiable
Les applications n’ont pas à se soucier
des problèmes de retransmissions
Tampons de données
Nécessaires du côté émetteur comme du
côté récepteur
32
TCP header
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Source Port
|
Destination Port
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Sequence Number
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Acknowledgment Number
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data |
|U|A|P|R|S|F|
|
| Offset| Reserved |R|C|S|S|Y|I|
Window
|
|
|
|G|K|H|T|N|N|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Checksum
|
Urgent Pointer
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Options
|
Padding
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
33
syn
syn/ack
ack
DATA
fin
ack
fin
ack
Terminaison
de la
connexion
Étqblissement
de la
connexion
34
Serveur
Connexion TCP – “3 way handshake”
Client
Ca peut rapidement devenir lourd…
simplification par le niveau supérieur
e.g. HTTP 1.0 vs. 1.1 Connections
Client
1
SYN
SYN
2
ACK
GET HTTP/1.0
ACK
FIN/ACK
ACK
HTTP 1.0
3
N-2
N-1
Three-Way
Handshake
Connection
Tear-Down
2
ACK
GET HTTP/1.1
ACK
200
HTTP/1.1
Data
OK—Data
ACK
N-3
FIN
ACK
K
SYN/AC
Multiple HTTP
Requests
ACK
N
Three-Way
Handshake
Connection
Setup
Single HTTP
Request
ata
200 OK—D
HTTP/1.0
Data
N-3
Serveur
1
K
SYN/AC
3
Client
Serveur
FIN
ACK
N-2
FIN/ACK
N
N-1
ACK
HTTP 1.1
35
3/4ème niveau –
Internet Control Message Protocol
ICMP permet d’envoyer des messages
d’erreur et d’autres indications sur
l’état du réseau qui doivent attirer
notre attention
E.g. utilitaires ping, traceroute
Deux principaux types:
Requêtes/réponses - queries/replies
Messages d’erreur - error messages
36
Message ICMP
0
1
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Type
|
Code
|
Checksum
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
|
(content depends on type and code)
|
|
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
37
Requêtes ICMP
echo request / reply
connu comme ping (certains traceroute)
aide à vérifier que la machine distante est
“up&running”
router solicitation / advertisement
une machine demande un routeur par défaut par
une sollicitation et un routeur présent répond
par une publication
timestamp request / reply
une requête pour l’heure depuis minuit (ms)
address mask request / reply
une requête pour un masque de sous-réseau
généralement envoyé sur l’adresse de broadcast
38
Erreurs ICMP
Le message reprend l’entête IP et les 8 premiers octets
du datagramme IP ayant provoqué l’erreur
destination unreachable
network unreachable
host unreachable
protocol unreachable
port unreachable
fragmentation needed but don’t fragment bit is set
source route failed
redirect
Envoyé par un routeur au précédent pour indiquer une
route plus rapide
time exceeded
le TTL, décrémenté à chaque saut, est arrivé à 0
39
Rappel: Domain Name System
Des noms lisibles par les humains
“normaux” sont plus faciles à retenir
que des numéros IP
Le DNS fait la relation entre les
adresses IP et les noms de domaines
Les informations de “mapping” sont
distribuées et maintenues par les
serveurs DNS à travers la planète
entière
40
Exemple: Navigation Web
Workstation
IP: 10.1.1.220
1
DNS local
4
IP: 10.1.1.1
ns1.client.com
ws.client.com
6 5
Internet
3
2
Serveur Web
DNS distant
IP: 192.168.200.200
IP: 192.168.168.1
www.cible.com
dns.cible.com
41
Rappel: [uni|multi|broad]cast
Unicast
un destinataire
Multicast
un groupe de destinataires
Broadcast
destiné à "tout le monde"
42
Adresse Ethernet et *cast
un octet pair pour l’octet de poids fort
(even byte as the most significant
byte) de l’adresse MAC indique une
adresse de type unicast
un octet pair indique une adresse de
type multicast
FF:FF:FF:FF:FF:FF est l’addresse de
broadcast (un cas particulier de
multicast)
43
Adresse IP et *cast
Les adresses IP de 224.0.0.0 à
239.255.255.255 sont de type
multicast
Les adresses plus petites sont de type
unicast
La dernière adresse de chaque
segment de réseau représente son
adresse de broadcast
44
IP Multicast Ethernet
Toutes les adresses IP de type Multicast
sont associées à une plage d’adresses MAC
spécifique
La plage d’adresse est de
01:00:5E:00:00:00 à 01:00:5E:7F:FF:FF
Pour compléter l’adresse, copier les 23 bits
de poids faible de l’adresse IP multicast
dans les 23 bits de poids faible de l’adresse
MAC
Une adresse MAC de type multicast peut
servir jusqu’à 32 adresses IP de type
multicast
45
Multicast IP: principe de fonctionnement
broadcast
unicast
Source
multicast
Inscription au groupe
Interfaces Ethernet et *cast
Habituellement, chaque NIC (network
interface card == carte réseau)
présente exactement une adresse
MAC de type unicast
un NIC peut présenter de 0 à N
adresse IP unicast
un NIC peut aussi rejoindre de 0 à M
adresses (IP ou MAC) multicast
47
Rappel: Internet Group Management Protocol
Le protocle IGMP permet de délivrer
du traffic IP multicast par
l’intermédiaire de routeur IP
standards
Les machines envoient aux routeurs
des messages de “join” IGMP pour se
joindre à un groupe IP multicast
48
Internet Group Management Protocol
Les routeurs gardent une trace des
segments et des machines qui ont
rejoint ou quitté les groupes multicast
Certains switches ethernet peuvent
interpréter ces messages et ne
transmettre les datagrammes que sur
les ports où des machines sont
effectivement à l’écoute de traffic de
type multicast
49
Abbreviations
ATM - Asynchronous Transfer Mode
DHCP - Dynamic Host Configuration Protocol
DNS - Domain Name System
EDIFACT - Electronic Data Interchange for Administration, Commerce,
Transportation
FDDI - Fibre Distributed Data Interchange
HTTP - Hypertext Transfer Protocol
HTTPS - HTTP Secure
HTML
- Hyper Text MarkUp Language
IAB - Internet Architectural Board
ICMP - Internet Control Message Protocol
IMAP - Internet Message Access Protocol
IP - Internet Protocol
ISO - International Standardization Organization
Isoc - Internet Society
ISP - Internet Service Provider
LAN - Local Area Network
50
Abbréviations (2)
MAC - Media Access Control
MAN - Metropolitan Area Network
MIME - Multipurpose Internet Mail Extensions
MTA - Mail Transport Agent
OSI - Open Systems Interconnection
P2P - Peer to peer
PAN - Personal Area Network
PC - Personal Computer
POP - Post Office Protocol
PPP - Point to Point Protocol
QoS - Quality of Service
SMTP - Simple Mail Transfer Protocol
TCP - Transfer Control Protocol
UDP - User Datagram Protocol
WAN - Wide Area Network
WLAN - Wireless Local Area Network
51