Dic 13 2017

PEERING: Su Importancia en las conexiones.

Importancia de peeringEl peering es el intercambio directo de datos entre dos proveedores, ya sea mediante cable directo en alguno de los datacentes o por intercambio en alguno de los puntos neutros (Espanix, De-cix, Ams-ix, …).

Aunque no es de lo que trata, intentaré explicar de forma muy rápida que son los puntos neutros. A muy groso modo, son “lugares” donde te conectas a un “switch” donde hay más operadores. Estos puntos neutros son los que coordinan esta red, pero no se meten en las relaciones que hay entre los operadores, todo lo contrario intentan que las relaciones sean lo más interesantes para los miembros.

Peering VS Transito

En estos puntos neutros siempre hay un dispositivo llamado route server que es donde cada operador si así lo desea establece una sesión BGP y pasa sus redes para que cualquier otro operador que se conecte pueda llegar a sus redes a través de este punto neutro.

Aclarado que son los puntos neutros y como funcionan, son el mejor mecanismo para intercambiar tráfico con otros proveedores además de los “grandes”.

Muchos se preocupan de tener u ofrecer muchos megas a sus clientes, esto quizás pueda llegar a un público que son los que aunque no lo usen ellos quieren mucho. Pero mucho no siempre es sinónimo de bueno.

Son lo que se preocupan en tener acuerdo con operadores de tránsito y dejan a estos operadores de tránsito la tarea de tener buenos peerings. Lo que ocurre con esto es que dejas la calidad de tu red en manos de otros, con lo que si tus operadores de tránsito no tienes buenos acuerdos ya sabes que tu tampoco.

Por el contrario están los operadores (que por suerte cada vez son más) que se preocupan por tener buenos peerings y pasan de tener un ping con google de 40ms a 4ms. Son operadores que se preocupan de entrar como miembros en los puntos neutros, de moverse y de intentar establecer peering directo con operadores.

El estar en un datacenter o un punto neutro facilita las conexiones con otros, pero las conexiones dependen de dos, nosotros y los otros con quien quieres establecer peering y lamentablemente no siempre es fácil.

Podemos encasillar las políticas de peering en tres tipos:

  • Open: Permiten el peering de forma fácil y sencilla.
  • Selectivo: Ellos deciden si les interesa hacer peering contigo.
  • Restrictivo: El peor tipo de peering para los “No grandes”, ya que ponen condiciones para hacer peering. En algunas veces esas condiciones implica pasar por caja.

Adicionalmente pueden poner condiciones, como que muevas mas de X Gb para que le interese hacer peering, que puedan conectar contigo en más de una ubicación.

En el siguiente ejemplo se puede ver como cambia la calidad de conexión en un operador si visitamos una web con los que tienen peering directo y otra con los que no lo tienen:

root@server:~# mtr -r youtube.com
Start: Wed Dec 13 09:01:57 2017
HOST: server                      Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.168.2.1                0.0%    10    0.2   0.2   0.2   0.2   0.0
  2.|-- 192.168.144.1              0.0%    10    1.6   3.9   1.4  21.4   6.2
  3.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0
  4.|-- 137.red-81-46-7.customer.  0.0%    10   11.0  11.1   8.7  24.9   4.9
  5.|-- 189.red-80-58-106.statici  0.0%    10    9.4  12.2   8.4  42.5  10.6
  6.|-- 176.52.253.93              0.0%    10   15.2   9.3   8.3  15.2   2.1
  7.|-- 5.53.1.74                  0.0%    10    9.4   9.3   8.8   9.7   0.0
  8.|-- 72.14.235.18               0.0%    10    9.6   9.9   9.1  14.0   1.2
  9.|-- 216.239.40.217             0.0%    10    9.6   9.6   9.1  10.0   0.0
 10.|-- mad06s25-in-f14.1e100.net  0.0%    10    9.3   9.5   9.0   9.9   0.0

En el siguiente caso la misma operadora no tiene peering directo:

root@server:~# mtr -r 45.57.8.1
Start: Wed Dec 13 09:09:05 2017
HOST: server                      Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.168.2.1                0.0%    10    0.2   0.2   0.2   0.2   0.0
  2.|-- 192.168.144.1              0.0%    10    1.7   7.6   1.4  31.1  11.2
  3.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0
  4.|-- 137.red-81-46-7.customer.  0.0%    10    9.1   9.6   8.8  12.0   0.8
  5.|-- 101.red-80-58-96.staticip  0.0%    10    8.6  13.4   8.3  42.2  10.8
  6.|-- ae0-400-grtmadno2.net.tel  0.0%    10   27.8  14.1   8.5  36.0   9.7
  7.|-- 5.53.4.101                 0.0%    10   38.6  37.6  33.4  42.7   3.6
  8.|-- 5-2-17.ear2.Paris1.Level3  0.0%    10   34.5  34.6  34.2  35.0   0.0
  9.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0
 10.|-- Netflix-level3-30G.Amster  0.0%    10  113.6 113.6 113.2 114.1   0.0
 11.|-- e.ns.nflxso.net            0.0%    10  125.8 121.1 115.3 126.3   5.1

La cosa se pone aún peor cuando lo comparamos con quien si tiene peering directo:

alferez@alferez:~# mtr -r 45.57.8.1
Start: Wed Dec 13 09:09:20 2017
HOST: ar2di2                      Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- 192.168.1.1                0.0%    10    0.2   0.2   0.2   0.3   0.0
  2.|-- oficina.conex.svq.comvive  0.0%    10    0.5   0.5   0.4   0.5   0.0
  3.|-- 4-228.furanet.com          0.0%    10    8.1   8.1   8.0   8.1   0.0
  4.|-- netflix.baja.espanix.net   0.0%    10    9.0   8.8   8.7   9.0   0.0
  5.|-- e.ns.nflxso.net            0.0%    10    8.7   8.7   8.6   9.4   0.0

Como se observa en las dos comparaciones hay una diferencia de casi 120 ms de diferencia por culpa de un acuerdo de peering no conseguido.

Esos 120ms se justifican porque aunque los dos mismos operados tienen presencia en Madrid, ambos en varios DataCenters, en varios Puntos Neutros, … NO quieren compartir peering y al final dependen de la operadora de tránsito, en este caso Level3,  que compartirá donde a ella más le interese ya que es su red. Como se ve por los saltos, el recorrido es Madrid -> Paris -> Amsterdam cuando todo podía quedar en Madrid como se ve en el segundo caso.

Netflix_Peering

Eso no perjudica a la operadora, ya que ella al final sigue llegando a su destino aunque tarde más y con peor calidad pasando por un tránsito. El perjudicado es el usuario final.

En este caso es un caso muy claro porque es una gran operadora que no quiere tener Peering con Netflix y su disputa es por “Competencia”. Al final se perjudica al usuario final con un peor peering y forzando la salida por lo que denomina “tráfico malo” para que el usuario no contrate los servicios de este tercero y contrate los míos.

Como usuario finales de operadora lo único que podemos hacer es intentar buscar si esa operadora tiene un buen peering antes de contratar, ya que la única decisión que podemos tomar es si contratar con ellos o con otra operadora.

Algo que mucha gente puede desconocer es que las operadoras pequeñas suelen o deberían preocuparse por tener esos buenos peerings ya sea entrando directamente ellos en los puntos neutros o a través de una red no obligatoriamente de operadoras de tránsito que ya tienen esos peerings directos que necesitan y que fidelizan al cliente.

Por último no debemos olvidar que las operadoras sin los generadores de contenido (Netflix, HBO, Rakuten TV, Youtbe, …) y redes sociales (Twitter, Facebook, Instagram, …) tendrían poco o nada que ofrecer a los clientes, por lo que su negocio depende un alto porcentaje de estos generadores, al igual que estos generadores dependen de igual forma de las operadoras que son las que llevan su contenido al usuario final, por lo que las guerras de Peering que últimamente se ha visto y que perjudican (aún a día de hoy) al usuario no tienen lógica en esa neutralidad de red que tanto se defiende pero que pocos cumplen.