VPN

          Podemos supor que quase toda empresa existente no mercado possui uma rede própria. Nela, estarão conectados os servidores, bancos de dados e as estações de trabalho dos funcionários. Entretanto, à medida essas empresas vão crescendo, essa rede também precisa seguir o mesmo passo. Torna-se necessário, então, que todas as suas filiais estejam conectadas nessa rede, não importando em que lugar do mundo elas se encontrem, bem como que seus trabalhadores possam acessá-la de onde quer que estejam.
          Eis que surgem as Redes Virtuais Privadas (VPNs). As VPN's são constituídas por métodos para se interconectar diferentes redes usando conexões já existentes da Internet. De modo simplificado, redes de diferentes lugares do mundo se comunicarão como se fossem vizinhas. A principal característica de uma VPN é a segurança que a ligação entre seus nós deve possuir.   
          Na figura abaixo temos um exemplo de uma VPN bem simples. Temos o nó Alpha em uma rede e o Beta na outra. Por serem os nós da borda de suas respectivas redes, eles são chamados de “Customer Edge” (CE). Eles estão ligados a respectivos “Provider Edge” (PE), que são nós na borda do provedor de serviço (SP) aos quais estão conectados. Entre os dois PEs, os pacotes irão passar por uma série de nós do Provedor, ou nós P.

graphic
(retirado do livro MPLS and VPN architectures)


          No ponto de vista de Alpha, Beta está na mesma rede do que ele ou em uma rede vizinha, de forma que os dois teriam uma ligação direta e segura. É valido destacar que Alpha não necessariamente está ligado ao PE. Tomemos como exemplo alguém que queira acessar a VPN de casa ou de um hotel. O seu computador pode estar conectado a um SP completamente diferente do de sua empresa. Então as VPNs podem ser entre dois lugares (Sites) diferentes, ou entre um lugar e um nó qualquer.
          Logo, ao se estabelecer uma VPN, o que acontece, na verdade, é o estabelecimento de um túnel entre dois nós. Esse túnel pode ser feito de várias maneiras como:
     - IPSec (IP Security Tunel), onde os pacotes são encapsulados pelo próprio protocolo IP, porém sendo devidamente criptografado antes
     - PPTP (Point to Point Tuneling Protocol), uma extensão do PPP (Point to Point Protocol)
     - SSL (Secure Socket Layer), roda na camada de aplicação, mais especificamente no Web Browser
     - L2TP (Layer 2 Tunneling Protocol), que opera na camada 2, mas utiliza o IPsec para o encapsulamento
     - MPLS


VPN MPLS

          Um dos métodos de estabelecer esse túnel é através do MPLS. Como já foi dito, o conceito dos túneis em MPLS é substituído pelos LSP's, e logo, deve se criar um LSP entre as duas redes que devem ser conectadas. A criação de uma VPN MPLS exige certo esforço da parte do SP, para configurar os PE's. Desse modo, essas VPNs só deverão conectar lugares, podendo ser complementada por outras tecnologias para conseguir conectar outros nós.
          Vamos, então, determinar como deve ser estabelecida uma VPN MPLS.
          Primeiramente teremos os CEs conectados a PEs, onde cada PE deve armazenar informações referentes a cada VPN que ele forneça. Como na figura abaixo, o PE de San Jose está conectado a quatro CE's. Três deles fazem parte da VPN “FastFood” e o outro da VPN "EuroBank". A VPN's não devem se enxergar, logo são criados dois roteadores virtuais, cada um com as informações de suas respectivas VPN's.
          O PE irá atribuir a cada um dos CE's um rótulo. Então o PE irá divulgar para os P's ao qual está conectado as informações de endereço e rótulo de seus CE's, até que essa informação chegue aos outros PE's. Todos os PE's farão isso, e essa divulgação de endereço e distribuição de rótulos será feita a partir do protocolo BGP.
          Por motivos que serão explicados mais adiante, apenas os PE's terão em suas tabelas informações referentes aos CE's da VPN. Os nós P terão apenas informações de encaminhamento para os PE's.
          Note que além das tabelas das VPNs, ainda existe uma tabela de encaminhamento de IP normal, pois esse PE pode também oferecer serviço de Internet a algum outro usuário ou rede. Porém, assim como pacotes de uma VPN não interferem na outra, pacotes da Internet não interferirão nas VPN's.

graphic
(retirado do livro MPLS and VPN architectures)

          Então, ao final desse processo, teremos todos os nós P do provedor de serviços com suas tabelas FIB devidamente atualizadas. Agora os LSP's já podem ser estabelecidos.
          A figura abaixo mostra como são feitos os LSP's.

graphic
(retirado do livro MPLS and VPN architectures)

          Quando um PE recebe um pacote de um CE ele verifica seu endereço. Caso o destinatário seja outro CE conectado a esse PE, o pacote é encaminhado. Caso seja um CE que não faça parte de sua VPN, o pacote é jogado fora. Porém, se o destino for um CE que faça parte de sua VPN, serão colocados os seguintes rótulos:
    • É colocado na pilha o rótulo que determina a qual CE o pacote deve ser encaminhado
    • No topo da pilha é colocado um rótulo que determina qual o PE que deve receber o rótulo
          Assim os pacotes serão encaminhados de acordo com o rótulo do topo da pilha, de modo que nenhum nó P sabe para qual CE se destina o pacote, o que aumenta a segurança da rede.  Quando o pacote atinge seu PE de destino, com o rótulo do topo da pilha já retirado, o rótulo que indica o CE de destino é examinado e o pacote é encaminhado para seu destino.
          Empresas brasileiras oferecem o serviço de VPN, mas especificamente o de MPLS VPN. Entre as mais conhecidas estão Embratel (http://www.embratel.com.br/Embratel02/cda/portal/0,2997,MG_P_1079_1407,00.html) e Telefônica (http://www.telefonica.com.br/portal/site/on/menuitem.d0b02f69c229bab126633a106970fda0/?vgnextoid=f09ca7a582b7c110VgnVCM1000000d64d50aRCRD).
          Podem-se usar as características discutidas na engenharia de tráfego para garantir QoS para as VPN's. O RSVP seria então utilizado (não no lugar do BGP, mas sim por cima do BGP).