viernes, 18 de marzo de 2016

MPLS: El concepto de PHP (Penultimate Hop Popping)


En MPLS, PHP viene del inglés penultimate hop popping (Algo como "Remover en el penultimo salto") y en el contexto de MPLS significa remover la etiqueta un salto antes del destino del paquete. Se refiere al proceso mediante el cual la etiqueta mas externa de un paquete etiquetado con MPLS es removida por un LSR (Label Switch Router) antes que el paquete sea pasado a un router vecino EDGE (LER - Label Edge Router).





El proceso es importante en un entorno de MPLS VPN de capa 3 porque reduce la carga en el LER. Si no fuera por este proceso, el router LER tendría que realizar al menos dos inspecciones de etiquetas:

  1. La etiqueta externa, que identifica que el paquete estaba destinado a que le retiren la etiqueta en este router.
  2. La etiqueta interna, para identificar cual instacia de router VRF ( Virtual Routing and Forwarding ) va a ser usada para realizar la siguiente busqueda IP.
En una red grande esto podría resultar en un CPU muy cargado en el router LER, alcanzando niveles de saturación inaceptables.

Teniendo PHP en un router LER en los LSRs conectados a el, la carga es distribuida hacia los routers vecinos.

Para evitar este trabajo extra en el ultimo router LSR, MPLS usa una característica llamada PHP ( penultimate hop popping ) (Penultimate simplemente significa "1 menos que el último")



Entonces el penúltimo salto no es el ultimo router LSR que procesa un paquete etiquetado, es el segundo antes del ultimo que procesará un paquete etiquetado. PHP hace que el penúltimo router LSR remueva la etiqueta externa, de forma que el ultimo LSR - o el último salto si prefiere - recibe un paquete que solo tiene la etiqueta VPN. 

Con solo esta única etiqueta, el router EGRESS PE necesita solamente hacer una única inspección en la Base de Información de Conmutación de etiquetas ( Label Forwarding Information Base - LFIB).





PHP es usado solamente para subredes conectadas directamente o rutas agregadas. 

En el caso de una interface conectada directamente, la inspección de capa 3 es necesaria para obtener la información correcta de siguiente salto para un paquete que es enviado hacia un destino directamente conectado.

Si el prefijo es una ruta agregada, una inspección de capa 3 es también necesaria para encontrar la ruta mas específica que es usada para enrutar el paquete hacia su destino correcto. En todos los demás casos, la información de salida de capa 2 está disponible en la LFIB y, en consecuencia, una inspección de capa 3 no es necesaria y el paquete puede ser conmutado por etiqueta.

Con PHP el router EDGE-LSR puede requerir una operación de retiro de etiqueta de sus vecinos que están camino al backbone de la red. Por ejemplo, en una súper red grande, el router Washington remueve la etiqueta del paquete y envía un paquete IP puro al router New York. Entonces el router New York realiza una inspección simple de capa 3 y enruta el paquete hacia su destino final.


Tomado de: http://www.networksbaseline.in/2016/02/the-concept-of-php-penultimate-hop.html

No hay comentarios:

Publicar un comentario