Exercice 1
Question 1
Le routeur
Question 2
La trame ne passe pas par la partie routeur mais juste par le switch MAC dest celui de 192.168.0.51
Question 3
Trame pour le routeur @IP Dest 81.144.27.171
Question 4
Pareil, rien ne change
Question 5
default via 192.168.1.1 dev eth0
Question 6
Un paquet peut (peut-être : si pas filtré) aller de 192.168.0.24
à 81.196.07.171
mais le retour est impossible : la destination 192.168.0.0/16
est soit locale 81.194.27.171
soit drop
Question 7
Paquet 1 émis par frite-grasse
:
@IP Source
:192.168.0.14
@IP Dest
:81.194.27.171
Paquet 2 émis par le NAT :@IP Source
:194.254.199.24
ici il y a une traduction@IP Dest
:81.194.27.171
Paquet 3 réponse envoyée :@IP Source
:81.194.27.171
@IP Dest
:194.254.199.24
Paquet 4 :@IP Source
:81.194.27.171
@IP Dest
:192.168.0.24
ici, il y a une traduction
Question 8
Principes violés :
- Store-and-forward : le paquet est modifié par le routeur
- stateless : on stocke un état dans le routeur quand
frite_grasse
parle avec81.194.27.171
- Principe d’encapsulation (numéro de port TCP lu par la couche IP)
Algo quand 1 arrive
= 192.168.0.24
(@IP Source)
= 51847 (port dynamique > 50’000) (Port source)
= 81.194.27.171
(@IP Dest)
= 80 (Port destination)
192.168.0.24 |
51847 | 81.194.27.171 |
51847 |
est quelconque et parfois si une autre machine a déjà choisi .
Question 9
Conséquence :
- 2 actions identiques peuvent ne pas avoir la même conséquence (cf. exercice 2)
Si reboot du routeur, toutes les connexions sautent
- Émettre un paquet demande à écrire la mémoire du routeur plus lent que lire
Question 10
Exercice 2
Question 1
IP privée
Question 2
http://myip.com : on demande à quelqu’un derrière le NAT
Question 3
Le NAT de Bob n’a rien qui match = IP d’Alice dans sa table de traduction drop
Bob peut dynamiquement : 2.4 ou statiquement : configurer le NAT
Statiquement : tout le traffic arrivant sur le port externe (TCP ou UDP)
doit être routé vers IP privée : :
3000 -> 192.168.1.10:3000
NAT d’Alice : échoue
Question 4
Clara peut être :
- routeur (pour tout le trafic) : c’est lourd
- annuaire : dit à Bob d’IP d’Alice et d’Alice à Bob préférable
Supposons que Clara a servis d’annuaire, maintenant Bob et Alice connaissent leur IP
Étape 1
Bob se connecte via TCP à Clara (3-way handshake)
Étape 2
La règle suivante apparaît dans la table d’association de Bob :
192.168.0.10 |
3000 | * | 3000 |
---|
Étape 3
Alice peut maintenant se connecter à Bob
NAT punching
Scénario si NAT pas “full cone” (+ compliqué)
Étape 1
Alice se connecte à Clara
Étape 2
Bob envoie un paquet SYN
(avec SEQ
= 123456) à Alice (qui sera drop par le NAT d’Alice) et se connecte à Clara
Étape 3
Clara dit à Alice que Bob vient d’envoyer SYN
= 123456
Étape 4
Alice répond à Bob ACK
= 123456 et SYN
= 789123
Exercice 3
Question 1
IP Dest : 255.255.255.255
(broadcast) mais @MAC Dest de la machine cliente
- unicast de couche 2
- broadcast de couche 3
DHCPDISCOVER à :
- IP Source :
0.0.0.0
- IP Dest :
255.255.255.255
- MAC Source : la mienne
- MAC Dest :
FF:FF:FF:FF:FF:FF
Question 2
Éviter qu’une même IP soit attribuée par deux serveurs différents à deux clients différents.
C’est pour ça que DHCPREQUEST est broadcast.
Pour être sûr : définir des plages d’adresses DHCP soit disjointes, par exemple :
192.168.1.0/24
192.168.0.0/24
Question 3
Réserver une adresse que l’on vient d’offrir un petit temps (pour ne pas l’offrir à quelqu’un d’autre)