Je suis Charlie

Autres trucs

Accueil

Seulement les RFC

Seulement les fiches de lecture

Mon livre « Cyberstructure »

Ève

Panne Internet à Saint-Pierre-et-Miquelon

Première rédaction de cet article le 4 janvier 2014
Dernière mise à jour le 5 janvier 2014


Aujourd'hui, vers 19:30 UTC, une coupure complète de la connexion Internet de Saint-Pierre-et-Miquelon a eu lieu. C'est l'occasion de regarder ce que fait le protocole de routage de l'Internet, BGP, dans ce cas, puisque toutes les données sont publiques.

La panne a été signalée par BGPmon sur Twitter. Il y a normalement quatre préfixes d'adresses IP, qui sont émis depuis l'île, 70.36.4.0/22, 70.36.12.0/22, 70.36.8.0/22 et 70.36.0.0/22. Tous pourraient s'agréger en un 70.36.0.0/20 mais ce n'est pas le cas. Il y a apparemment un seul opérateur à Saint-Pierre-et-Miquelon, SPM Télécom (qui gère le portail http://www.cheznoo.net à l'adresse 70.36.0.23). Tous ces services étaient inaccessibles (cela remarche désormais). On notera que le domaine cheznoo.net n'a que deux serveurs DNS, ce qui est insuffisant, et que les deux sont dans les préfixes affectés (manque de redondance) rendant donc le domaine complètement inaccessible. Cela permet, pendant la panne, de regarder des sites comme un blog parlant de la vie à Saint-Pierre-et-Miquelon et des problèmes de réseau.

Pour analyser les données BGP, nous allons utiliser les données de RouteViews. Elles sont en binaire, au format MRT (RFC 6396), il faut les transformer en texte avec bgpdump. On sait d'après BGPmon l'heure approximative de la panne, on va donc récupérer le fichier, le transformer en texte et le fouiller. RouteViews offre deux types de fichier, "RIBS" qui contient l'état courant des tables de routage, et "UPDATES" qui contient les mises à jour. Vérifions d'abord l'état avant la panne, en prenant le fichier de 18:00 :

% wget ftp://archive.routeviews.org/route-views.linx/bgpdata/2014.01/RIBS/rib.20140104.1800.bz2
% bgpdump rib.20140104.1800.bz2 > rib.20140104.1800.txt
% fgrep -B3 -A5 70.36.0. rib.20140104.1800.txt
...
TIME: 01/04/14 18:00:02
TYPE: TABLE_DUMP_V2/IPV4_UNICAST
PREFIX: 70.36.0.0/22
SEQUENCE: 95877
FROM: 195.66.225.111 AS5580
ORIGINATED: 12/29/13 19:25:03
ORIGIN: IGP
ASPATH: 5580 1299 3356 11260 3695
...

Et on voit que le préfixe 70.36.0.0/22 existait bien à 18:00. L'AS 3695, à l'origine de cette annonce, est SPM Télécom. Et à 20:00 ?

% wget ftp://archive.routeviews.org/route-views.linx/bgpdata/2014.01/RIBS/rib.20140104.2000.bz2
% bgpdump rib.20140104.2000.bz2 > rib.20140104.2000.txt
% fgrep -B3 -A5 70.36.0. rib.20140104.2000.txt
%

Le préfixe a disparu. Quand exactement et que lui est-il arrivé ? Regardons cette fois les "UPDATES" :

% wget ftp://archive.routeviews.org/route-views.linx/bgpdata/2014.01/UPDATES/updates.20140104.1930.bz2
% bgpdump updates.20140104.1930.bz2 > updates.20140104.1930.txt

Et explorons ce fichier, bien plus petit que les "RIBS", avec un éditeur ordinaire. On voit le premier retrait du préfixe à 19:33:57 :

TIME: 01/04/14 19:33:57
TYPE: BGP4MP/MESSAGE/Update
FROM: 195.66.236.32 AS3257
TO: 195.66.237.222 AS6447
WITHDRAW
  70.36.12.0/22
  70.36.8.0/22
  70.36.4.0/22
  70.36.0.0/22

Ce retrait est suivi de plusieurs annonces. En effet, tous les routeurs BGP ne sont pas synchrones. Certains croient que la route qu'ils connaissent est toujours valable et l'annoncent à nouveau, avant de la retirer quelques secondes plus tard. Le dernier retrait, définitif, n'aura lieu que deux minutes après, ce qui donne une bonne idée du temps typique de propagation des annonces BGP :

TIME: 01/04/14 19:35:42
TYPE: BGP4MP/MESSAGE/Update
FROM: 195.66.224.215 AS31500
TO: 195.66.225.222 AS6447
WITHDRAW
  70.36.0.0/22
  70.36.4.0/22
  70.36.8.0/22
  70.36.12.0/22

Et la cause de cette panne ? Apparemment une importante coupure de courant à Terre-Neuve. La connectivité a été rétablie le lendemain vers 00:30 UTC. Le fichier ftp://archive.routeviews.org/route-views.linx/bgpdata/2014.01/UPDATES/updates.20140105.0030.bz2 contient les nouvelles annonces :

TIME: 01/05/14 00:34:35
TYPE: BGP4MP/MESSAGE/Update
FROM: 195.66.224.32 AS3257
TO: 195.66.225.222 AS6447
ORIGIN: IGP
ASPATH: 3257 11260 3695
NEXT_HOP: 195.66.224.32
MULTI_EXIT_DISC: 751
COMMUNITY: 3257:4000 3257:8138 3257:50002 3257:50120 3257:51100 3257:51105
ANNOUNCE
  70.36.8.0/22
  70.36.0.0/22
  70.36.12.0/22

Notez que Saint-Pierre-et-Miquelon a son propre TLD, .pm mais que les serveurs DNS de celui-ci sont en dehors de l'île et n'ont donc pas été affectés. De même, des sites Web comme http://www.tourisme-saint-pierre-et-miquelon.com/ sont manifestement hébergés en France métropolitaine et ont continué à fonctionner. Des sites Web comme celui de la compagnie aérienne, hébergés localement, ont par contre été mis hors d'usage.

La connexion actuelle de Saint-Pierre-et-Miquelon ne se fait que par un faisceau hertzien vers Terre-Neuve (cette grande île étant ensuite connectée par un câble sous-marin, sans doute Greenland Connect). Elle utilise l'opérateur canadien Eastlink. Ce n'est pas la première panne de cette liaison (voir le blog du président du conseil territorial). Un projet est en cours pour remplacer l'hertzien par un câble sous-marin. Si vous voulez candidater pour la pose du futur câble, l'appel d'offres est ici.

Merci à Andree Tonk pour BGPmon, et à Marc Albert Cormier pour ses informations.

Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)

Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)