Comme je l'ai dit, je fais des choses bizarres dans mon métier. Mais la couche réseau de MacOS, elle, elle est très bizarre. J'ai plein de petits exemples, alors on va commencer sur un que vous pourrez reproduire chez vous. Imaginons que la carte Ethernet ait l'adresse 192.168.230.5 et tapez les commandes suivantes:
1017 root@khany:~> route add 10.0.0.1 192.168.230.5
add host 10.0.0.1: gateway 192.168.230.5
1018 root@khany:~> telnet 10.0.0.1
Trying 10.0.0.1...
telnet: connect to address 10.0.0.1: Cannot allocate memory
telnet: Unable to connect to remote host
"Cannot allocate memory" ? WTF ! Évidemment dans le man de connect(2) cette erreur n'est pas prévue. Je ne comprends meme pas comment elle peut se produire d'ailleurs, j'imagine qu'il y a une boucle quelque part dans le noyau, ça fait un peu peur. D'ailleurs ce n'est pas propre à TCP, en icmp c'est pareil:
1022 root@khany:~> ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1): 56 data bytes
ping: sendto: Cannot allocate memory
Je n'ai retrouvé ce comportement sur aucun autre système Unix (qui peuvent avoir des comportements divers selon la configuration du routage: soit ils répondent sur cette adresse, soit ils se mettent a renvoyer plein de ICMP Redirect, soit ca se perd).[Edit: Radar #4782601]
Aucun commentaire:
Enregistrer un commentaire