56
Capítulo 5 Roteamento por Segmentos: Conceitos, Desafios e Aplicações Práticas Antonio José Silvério (UFRJ/Embratel), Miguel Elias M. Campista (UFRJ) e Luís Henrique M. K. Costa (UFRJ) Abstract Currently, among the main problems of telecom operators are the huge number of states in the routers, manual configuration of traffic engineering and restoration paths in the network core. In this direction, the Segment Routing is an emerging proposal to simplify the routing and configuration of these networks. In Segment Routing, the flow states are kept only on the network edge nodes and configuration of the IP/MPLS core network, commonly used by operators, can be automated. To do this, Segment Routing uses the programming benefits of software defined network, by control plane centralization. The centralized controller view allows the dynamic calculation of the segments and the route construction between the edge nodes. Among the challenges to be explored in the short course are the problems faced by current operators and its solution through the Segment Routing. Resumo Atualmente, dentre os principais problemas das operadoras de telecomunicações estão o enorme número de estados nos roteadores, configurações manuais de engenharia de tráfego e restauração de caminhos no núcleo da rede. Nessa direção, o Roteamento por Segmentos é uma proposta emergente para simplificação do roteamento e da configu- ração dessas redes. No Roteamento por Segmentos, os estados por fluxo são mantidos apenas nos nós de borda da rede e a configuração das redes de núcleo IP/MPLS, comu- mente utilizadas pelas operadoras, pode ser automatizada. Para tal, o Roteamento por Segmentos utiliza os benefícios da programação das redes definidas por software através da centralização do plano de controle. A visão centralizada do controlador permite o cálculo dinâmico dos segmentos e a construção de rotas entre os nós de borda. Den- tre os desafios a serem explorados no minicurso estão os problemas enfrentados pelas operadoras atuais e a solução através do Roteamento por Segmento.

Roteamento por Segmentos: Conceitos, Desafios e Aplicações … · encaminhamento por rótulos de tamanho fixo, o MPLS possibilita acelerar a comutação dos pacotes [Santos et

Embed Size (px)

Citation preview

Capiacutetulo

5Roteamento por SegmentosConceitos Desafios e Aplicaccedilotildees Praacuteticas

Antonio Joseacute Silveacuterio (UFRJEmbratel) Miguel Elias M Campista (UFRJ)e Luiacutes Henrique M K Costa (UFRJ)

Abstract

Currently among the main problems of telecom operators are the huge number of statesin the routers manual configuration of traffic engineering and restoration paths in thenetwork core In this direction the Segment Routing is an emerging proposal to simplifythe routing and configuration of these networks In Segment Routing the flow states arekept only on the network edge nodes and configuration of the IPMPLS core networkcommonly used by operators can be automated To do this Segment Routing uses theprogramming benefits of software defined network by control plane centralization Thecentralized controller view allows the dynamic calculation of the segments and the routeconstruction between the edge nodes Among the challenges to be explored in the shortcourse are the problems faced by current operators and its solution through the SegmentRouting

Resumo

Atualmente dentre os principais problemas das operadoras de telecomunicaccedilotildees estatildeoo enorme nuacutemero de estados nos roteadores configuraccedilotildees manuais de engenharia detraacutefego e restauraccedilatildeo de caminhos no nuacutecleo da rede Nessa direccedilatildeo o Roteamento porSegmentos eacute uma proposta emergente para simplificaccedilatildeo do roteamento e da configu-raccedilatildeo dessas redes No Roteamento por Segmentos os estados por fluxo satildeo mantidosapenas nos noacutes de borda da rede e a configuraccedilatildeo das redes de nuacutecleo IPMPLS comu-mente utilizadas pelas operadoras pode ser automatizada Para tal o Roteamento porSegmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por software atraveacutesda centralizaccedilatildeo do plano de controle A visatildeo centralizada do controlador permite ocaacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes de borda Den-tre os desafios a serem explorados no minicurso estatildeo os problemas enfrentados pelasoperadoras atuais e a soluccedilatildeo atraveacutes do Roteamento por Segmento

51 IntroduccedilatildeoNa arquitetura TCPIP o encaminhamento dos pacotes eacute feito salto a salto Os

campos do cabeccedilalho do pacote IP satildeo analisados consultando-se a tabela de roteamentoque conteacutem os prefixos para as redes de destino Quanto maior a tabela de roteamentomais processamento a busca de rotas exige [De Ghein 2007] aumentando a latecircncia e jit-ter dos fluxos Assim um dos objetivos da tecnologia MPLS (Multi Protocol Label Switi-ching) foi lidar com o aumento do nuacutemero de rotas nos roteadores de nuacutecleo Atraveacutes doencaminhamento por roacutetulos de tamanho fixo o MPLS possibilita acelerar a comutaccedilatildeodos pacotes [Santos et al 2007]

As redes MPLS vem sendo adotadas como tecnologia tiacutepica da rede de roteadoresde nuacutecleo das operadora de telecomunicaccedilotildees A tecnologia IPMPLS provecirc um encami-nhamento orientado a conexatildeo atraveacutes de circuitos virtuais unidirecionais Inicialmentetais circuitos eram estabelecidos seguindo os caminhos calculados pelo IGP (Interior Ga-teway Protocol) da rede que tipicamente indicam o caminho mais curto A inserccedilatildeo eremoccedilatildeo dos roacutetulos requer que os roteadores de borda conheccedilam o mapeamento entreroacutetulos MPLS e prefixos IP configurados previamente

Um problema que ocorre ao utilizar os caminhos calculados pelo IGP eacute a preven-ccedilatildeo de situaccedilotildees de congestionamento ou do uso de caminhos de maior latecircncia mesmoque com poucos saltos Para contornar esse desafio teacutecnicas de engenharia de traacutefego satildeofrequentemente utilizadas para que os fluxos de dados utilizem rotas especiacuteficas por exem-plo evitando congestionamento ou atendendo requisitos de qualidade de serviccedilo (Qualityof Service - QoS) [Sadok e Kamienski 2000]

A engenharia de traacutefego em redes MPLS eacute referenciada como MPLS-TE (MPLSndash Traffic Engineering) [Systems 2001] O MPLS-TE permite a construccedilatildeo manual oudinacircmica de tuacuteneis que funcionam como caminhos da rede MPLS O tuacutenel eacute identificadopor um roacutetulo por onde passam os fluxos de dados As operadoras utilizam tuacuteneis parabalanceamento de traacutefego e para proteccedilatildeo de determinados fluxos com tuacuteneis primaacuterios(primary tunnels) e de proteccedilatildeo (backup tunnels) A Figura 51 mostra o balanceamentode traacutefego utilizando MPLS-TE bem como o desacoplamento das informaccedilotildees de enla-ces fiacutesicos com a camada IPMPLS Esse desacoplamento eacute um problema atual jaacute queexige a configuraccedilatildeo manual de tuacuteneis Outro problema ocorre em caso de falhas nos en-laces fiacutesicos por longos periacuteodos jaacute que torna-se necessaacuterio reconfigurar todos os tuacuteneisque passam pelo enlace defeituoso Aleacutem disso em geral o plano de controle da redeIPMPLS executa em hardware proprietaacuterio e de alto custo

Os diferentes problemas fizeram com que com o passar do tempo o uso do MPLSnas redes de operadoras se tornasse um entrave Nesse sentido o paradigma das RedesDefinidas por Software (Software Defined Networks - SDN) torna-se atrativo Nas re-des SDN com a centralizaccedilatildeo do controle eacute possiacutevel programar o roteamento da redeIPMPLS por fluxo baseado nos objetivos da engenharia de traacutefego Nesse caso a pro-gramaccedilatildeo dos caminhos dos fluxos da rede pode ser realizada considerando inclusivemais de um paracircmetro de configuraccedilatildeo como banda disponiacutevel latecircncia e grupos derisco compartilhado de enlaces fiacutesicos Os roteadores de nuacutecleo tornam-se comutadoresldquoprogramaacuteveisrdquo e toda a loacutegica de programaccedilatildeo eacute transferida para o controlador SDN quepode executar em servidores de uso comum (Commercial off the shelf - COTS) e natildeo mais

Figura 51 Configuraccedilatildeo manual de tuacuteneis MPLS-TE

em hardwares proprietaacuterios de alto custo [Kreutz et al 2015] As interfaces (northbounde southbound) comunicam-se com o gerenciamento da rede atraveacutes de APIs (ApplicationProgramming Interfaces) abertas ou proprietaacuterias Essa simplificaccedilatildeo reduz as limitaccedilotildeesda configuraccedilatildeo de tuacuteneis TE das redes MPLS

O roteamento por segmentos eacute uma proposta para simplificaccedilatildeo do roteamento econfiguraccedilatildeo mantendo estados por fluxo apenas nos noacutes de borda da rede apoiando-sena programaccedilatildeo das redes SDN Em outras palavras o roteamento por segmentos empregaroteamento pela fonte Assim o roteador de entrada da rede possui uma lista ordenadados segmentos que definem o caminho na rede ateacute o roteador de saiacuteda O caacutelculo do ca-minho eacute feito pelo Elemento de Computaccedilatildeo de Caminhos SDN (SDN Path ComputationElement) ou atraveacutes de uma aplicaccedilatildeo SDN podendo considerar objetivos de engenha-ria de traacutefego Em uma rede IPMPLS os segmentos satildeo roacutetulos MPLS que agrupadosnos roteadores de nuacutecleo de borda informam o caminho do fluxo Assim apenas os ro-teadores de borda contecircm a informaccedilatildeo dos roacutetulos natildeo sendo necessaacuterio mantecirc-la nosroteadores intermediaacuterios Essa caracteriacutestica permite reduzir a complexidade do planode controle dos roteadores de nuacutecleo

O restante deste capiacutetulo estaacute organizado da seguinte forma A Seccedilatildeo 2 introduz osproblemas atuais das redes das operadoras na configuraccedilatildeo e operaccedilatildeo de redes IPMPLSA Seccedilatildeo 3 aborda o roteamento em redes SDN apresentando uma visatildeo geral da arqui-tetura SDN detalhando as interfaces northbound e southbound usadas no roteamento porsegmentos A Seccedilatildeo 4 descreve os conceitos baacutesicos do roteamento por segmentos ofuncionamento do plano de dados MPLS com roteamento por segmentos e o plano decontrole IGP para o roteamento por segmentos Tambeacutem satildeo mostrados exemplos de ro-teamento por segmentos em IPv6 e a interoperabilidade de redes IPMPLS legadas NaSeccedilatildeo 5 satildeo abordados simuladores de redes SDN em especial o simulador Mininet eexperimentos com controlador SDN OSHI SRTE (Open Source Hybrid IPSDN networ-king with Segment Routing and Traffic Engineering) A Seccedilatildeo 6 conclui este minicursodestacando outras iniciativas e direccedilotildees futuras

52 Limitaccedilotildees das Tecnologias das Redes de NuacutecleoAs limitaccedilotildees da comutaccedilatildeo de pacotes IP exigiram da induacutestria o desenvolvi-

mento de tecnologias que trouxessem desempenho agraves redes de roteadores As soluccedilotildeesinicialmente propostas utilizavam comutadores ATM com roteamento baseado em gerecircn-cia de redes evoluindo para o desenvolvimento de um hardware que ampliasse a capaci-dade de comutaccedilatildeo separando os protocolos de controle da comutaccedilatildeo de pacotes sendoesta uacuteltima o embriatildeo das redes MPLS A tecnologia MPLS [Rose 2014] surgiu comouma proposta de evoluccedilatildeo das redes puacuteblicas de comutaccedilatildeo e encaminhamento de pa-cotes motivada pela convergecircncia da comunicaccedilatildeo digital (voz dados e viacutedeo) em umainfraestrutura comum A ideia era integrar o MPLS com as redes IP e com outros tipos deredes legadas como o Ethernet o Frame Relay e o proacuteprio ATM [El-Sayed e Jaffe 2002]

A rede IPMPLS tem planos de controle e de encaminhamento de dados imple-mentados em cada noacute da rede O plano de controle eacute mantido atraveacutes de protocolos comoo LDP (Label Distribution Protocol) para distribuiccedilatildeo dos roacutetulos e um protocolo IGPcomo o OSPF (Open Shortest Path First) para descoberta dos caminhos mais curtos de-nominados LSP (Label Switched Path) No caso de falha da rede o OSPF encontra umnovo caminho desviando o traacutefego para este [Santos et al 2007 De Ghein 2007]

Figura 52 Representaccedilatildeo de um roteador IPMPLS

521 Fundamentos do MPLS

Em uma rede MPLS o pacote IP recebe um roacutetulo (label) inserido entre o ca-beccedilalho IP e o cabeccedilalho do protocolo de camada inferior Um roacutetulo MPLS possui 32bits Os primeiros 20 bits satildeo o valor do roacutetulo Os trecircs proacuteximos bits satildeo experimentaisusados para marcaccedilatildeo de classes de serviccedilo Esses bits satildeo seguidos pelo bit S (Bottomof Stack) cujo valor eacute 0 se o roacutetulo eacute o inferior da pilha de roacutetulos ou 1 caso contraacuterioOs uacuteltimos 8 bits servem para limitar o tempo de vida do pacote (Time to Live - TTL) deforma similar ao IP [Marzo et al 2003] A Figura 53(a) ilustra o roacutetulo MPLS

Os roteadores MPLS podem processar um conjunto de roacutetulos no pacote or-ganizados em pilha sendo o primeiro denominado de externo ou superior (top label)

(a) Estrutura do roacutetulo MPLS (b) Empilhamento de roacutetulos MPLS

Figura 53 Encapsulamento MPLS

e o uacuteltimo roacutetulo interno ou inferior (bottom label) (Figura 53(b)) Assim satildeo pos-siacuteveis aplicaccedilotildees como redes privativas virtuais (Vitual Private Networks - VPN) e li-nhas alugadas virtuais (Virtual Leased Lines - VLL ou Virtual Private LAN Service -VPLS) [Sadok e Kamienski 2000] O transporte de outras tecnologias sobre o MPLS(AToM - Any Transport Over MPLS) eacute uma caracteriacutestica fundamental para o Roteamentopor Segmentos [Pepelnjak e Guichard 2003 Asati 2012]

A tecnologia MPLS introduziu mecanismos como qualidade de serviccedilo engenha-ria de traacutefego [Sadok e Kamienski 2000] bem como novos serviccedilos do tipo VPN na redede nuacutecleo das operadoras de telecomunicaccedilotildees Existem dois tipos principais de VPN decamada 2 (VPN Layer 2) por exemplo o Ethernet ou o ATM e o de camada 3 (VPN Layer3) que transporta protocolos de camada 3 mais especificamente o IP A rede IPMPLSeacute muitas vezes considerada como uma rede multisserviccedilo jaacute que oferece suporte a redesIP VPN Frame Relay etc

522 Arquitetura de Redes IPMPLS

A arquitetura de uma rede IPMPLS eacute composta por roteadores de borda deno-minados PE (Provider Edge) ou LER (Label Edge Router) que inserem e retiram roacute-tulos dos pacotes Os roteadores intermediaacuterios (P ndash Provider ou LSR ndash Label SwitchRouter) realizam a comutaccedilatildeo de roacutetulos enviando o pacote enlace a enlace O CE(Customer Edge) representa o roteador IP que pertence a um determinado sistema autocirc-nomo [De Ghein 2007 Systems 2001] A sequecircncia de roacutetulos que forma o circuito vir-tual eacute um LSP (Label Switched Path) unidirecional (Figura 54) Ao separar o plano decontrole do plano de encaminhamento de pacotes o MPLS permite que novas facilidadessejam inseridas no plano de controle sem necessidade de criar um novo plano de encami-nhamento Essa eacute a base para que aplicaccedilotildees como a engenharia de traacutefego sejam criadasa partir do encaminhamento baseado em roacutetulos A tabela FEC (Fowarding EquivalenceClass) associa o endereccedilo IP de destino com o roacutetulo de entrada na rede MPLS

Os roteadores de borda (LER) recebem os pacotes IP provenientes do roteador

Figura 54 Arquitetura de Rede IPMPLS

cliente (CE) de origem inserindoretirando um roacutetulo adequado ao seu IP de destino eclasse de serviccedilo Essas operaccedilotildees denominam-se inserccedilatildeoremoccedilatildeo de roacutetulo (pushpop)No interior da rede o pacote eacute comutado nos roteadores LSR intermediaacuterios apenas combase na informaccedilatildeo dos roacutetulos A informaccedilatildeo de roacutetulos em uso estaacute contida em uma basede instacircncias de roacutetulos de encaminhamento (Label Forwarding Information Base - LFIB)em cada um dos roteadores intermediaacuterios do nuacutecleo da rede Na outra extremidade oroteador MPLS de borda faz a operaccedilatildeo inversa retirando o roacutetulo e entregando o pacotepara a rede do roteador cliente de destino O processo de comutaccedilatildeo de roacutetulos eacute mostradona Figura 55 A tabela FEC associa o endereccedilo IP de destino com o roacutetulo de entradae saiacuteda na rede MPLS O protocolo LDP (Label Distribution Protocol) eacute responsaacutevelpela distribuiccedilatildeo de roacutetulos trocando informaccedilotildees da FEC e roacutetulos associados entre osroteadores MPLS de borda e intermediaacuterios Dessa forma procura-se manter a coerecircnciaentre os LSPs formados e os prefixos IP dos pacotes encaminhados [Rose 2014]

As tabelas FEC (Figura 55) satildeo preenchidas por algum protocolo de roteamento(ex OSPF BGP) entre o CE de origem e o de destino O protocolo LDP identifica seusvizinhos atraveacutes de mensagens HELLO Para cada entrada da tabela de roteamento eacute criadauma entrada na FEC associando um roacutetulo de entrada Os roteadores de nuacutecleo (LERse LSRs) anunciam aos seus vizinhos o par FECRoacutetulo de Entrada sendo esta operaccedilatildeodenominada distribuiccedilatildeo de roacutetulos Cada roteador de nuacutecleo monta uma tabela com-pleta com FECRoacutetulo de EntradaRoacutetulo de SaiacutedaPorta denominada LFIB (Figura 55)Dessa forma o plano de encaminhamento eacute responsaacutevel pela comutaccedilatildeo dos pacotes ba-seado apenas nos roacutetulos envolvendo as operaccedilotildees de comutaccedilatildeo inserccedilatildeo e retirada deroacutetulos No plano de controle o protocolo LDP traduz as tabelas de roacutetulos em informa-ccedilotildees da tabela de roteamento Ainda no plano de controle o caacutelculo de caminhos na redeMPLS eacute feito por um IGP

523 Serviccedilos de Rede IPMPLS

O principal serviccedilo em redes IPMPLS eacute o VPN que pode ser configurado emtopologias do tipo malha completa ou parcial ou matriz-filial (hub and spoke) O MPLS

Figura 55 Comutaccedilatildeo MPLS

permite dois tipos de VPN [Pepelnjak e Guichard 2003 Asati 2012] a VPN de camada3 (VPN L3) e a de camada 2 (VPN L2)

As VPNs L3 permitem a troca de protocolos de roteamento ldquopeeringrdquo entre osroteadores cliente (CE) e os roteadores de borda do nuacutecleo (LER) As portas do LER satildeoassociadas a uma VPN atraveacutes de uma instacircncia de roteamento chamada VRF (VirtualRouting and Forwarding tables) As VRFs satildeo utilizadas para definir os LSPs Como cadaVPN utiliza sua proacutepria VRF os CEs de diferentes VPNs podem ter o mesmo endereccediloIP Os CEs utilizam protocolos de roteamento tradicionais como OSPF RIP e BGP comos LERs aos quais estatildeo diretamente conectados Os roteadores de borda (LER) trocaminformaccedilotildees aprendidas pelos roteadores de cliente (CEs) diretamente conectados atraveacutesdo protocolo MP-BGP (MultiProtocol-BGP) Na percepccedilatildeo do roteador do cliente a redeIPMPLS funciona como uma rede IP dedicada O processo de encaminhamento dasVPNs utiliza dois roacutetulos ou seja o roteador de nuacutecleo de borda insere dois roacutetulosMPLS entre o cabeccedilalho de camada 2 e o cabeccedilalho IP empilhando roacutetulos O roacutetulomais externo refere-se ao roteador de nuacutecleo (LER) de destino enquanto o roacutetulo maisinterno refere-se agrave VPN O MPLS tambeacutem possui a funcionalidade PHP (PenultimateHop Popping) onde o penuacuteltimo LSR (penultimate LSR) retira o roacutetulo mais externo antesde entregar o pacote ao LER Esse processo eacute uacutetil em VPNs L3 pois reduz a carga deprocessamento do LER eliminando um roacutetulo para ser processado O LER anuncia oroacutetulo de valor 3 que significa a funcionalidade de PHP Esse roacutetulo eacute chamado implicit-null que quando usado leva agrave perda das informaccedilotildees de QoS dos bits experimentais Asoluccedilatildeo eacute o uso de roacutetulos especiais denominados explicit-null (valor 0) que eacute lido peloLER para fins de QoS mas removido da FIB A Figura 56 ilustra uma VPN L3

As VPNs L2 trocam com os roteadores de nuacutecleo apenas informaccedilotildees de camada2 sendo as informaccedilotildees de camada 3 trocadas apenas entre os CEs As VPNs L2 podem

Figura 56 Serviccedilo de rede privativa VPN L3

ser entendidas como um enlace virtual que pode ser ponto-a-ponto no caso do VLL eponto-multiponto no caso do VPLS O transporte de quadros L2 introduziu o conceito decircuito virtual (Virtual Circuit - VC) no MPLS Um LSP age como um tuacutenel que permitecarregar muacuteltiplos VCs enquanto o VC permite o transporte de quadros L2 O VC eacuteimplementando utilizando empilhamento de roacutetulos [IETF MPLS documents 2001] AFigura 57 mostra uma VPN L2 ponto-a-ponto com um LSP conectando os roteadores deborda dos clientes A e B O roteador de nuacutecleo de borda A informa ao B que o roteadorA receberaacute pela porta 1 os quadros L2 com outro roacutetulo enviando os quadros com doisroacutetulos fazendo com que chegue ao seu destino na porta correta

Figura 57 Serviccedilo de rede privativa VPN L2 ponto a ponto (VLL)

524 QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

O protocolo MPLS assim como o protocolo IP permite utilizar o modelo de Diff-Serv (Differentiated Services) [Marzo et al 2003] para implementaccedilatildeo de QoS O Diff-Serv gerencia os recursos de rede e cria classes de serviccedilo atendidas em filas diferentesconforme o niacutevel de prioridade do fluxo de dados [IETF MPLS documents 2001] En-quanto no IPv4 a classe de serviccedilo eacute indicada no campo DSCP (Differentiated Services

Code Point anteriormente ToS ndash Type of Service) [Marzo et al 2003] no MPLS a in-formaccedilatildeo eacute definida no campo EXP bits do roacutetulo

O conceito de engenharia de traacutefego MPLS-TE (MPLS ndash Traffic Engineering)foi desenvolvido para resolver problemas de congestionamento otimizaccedilatildeo da banda econvergecircncia da rede com proteccedilatildeo do traacutefego por reserva de recursos A estrateacutegia doMPLS-TE eacute calcular caminhos baseados em restriccedilotildees como banda disponiacutevel latecircncia eperda de pacotes sugerindo uma rota diferente do IGP que tipicamente natildeo realiza enge-nharia de traacutefego [Xiao et al 2000 Alvarez 2016] O caacutelculo de caminhos baseados emrestriccedilotildees eacute feito pelo PCE (Path Computation Element) papel desempenhado pelo planode controle dos roteadores de nuacutecleo (Figura 58) O caminho calculado pela engenhariade traacutefego eacute implementado como um tuacutenel unidirecional (tuacutenel TE) iniciado no roteadorde nuacutecleo de origem (head end LSR) e terminado no roteador de nuacutecleo de destino (tailend LSR) O tuacutenel eacute identificado a partir de um roacutetulo a mais aleacutem dos roacutetulos do protocoloLDP A reserva de recursos para o caminho eacute feita pelo protocolo RSVP-TE (ResourcereSerVation Protocol ndash Traffic Engineering) uma extensatildeo do RSVP [Rose 2014] ORSVP-TE eacute usado para o estabelecimento de LSPs que podem ser configurados manual-mente (Explicit LSP) ou dinamicamente (Dynamic LSP) atraveacutes de um IGP com extensotildeespara engenharia de traacutefego como o OSPF-TE [Rose 2014] Na Figura 58 o roteador R1utiliza a base de dados da topologia TE que conteacutem muacuteltiplas meacutetricas por enlace paracalcular o caminho ateacute R8 atraveacutes do PCE presente em R1 O RSVP-TE cria LSPs adi-cionais distribuindo os roacutetulos entre os roteadores R1 e R8 As mensagens RSVP-TEde caminho satildeo enviadas periodicamente pelo roteador de nuacutecleo de origem para cadaroteador de nuacutecleo intermediaacuterio pertencente ao tuacutenel contendo uma lista de atributos aserem analisados Esses atributos possuem os valores das meacutetricas utilizadas no caacutelculodos caminhos As mensagens de reserva de recursos satildeo enviadas pelo roteador de des-tino apoacutes receber uma mensagem de estabelecimento de caminho iniciando o processo dedistribuiccedilatildeo de roacutetulos no qual cada roteador intermediaacuterio informa o roacutetulo a ser usadopelo antecessor Se um dos roteadores intermediaacuterios natildeo puder confirmar a reserva umamensagem de erro eacute enviada ao roteador de nuacutecleo de origem do tuacutenel [Alvarez 2016]

Um dos requisitos da engenharia de traacutefego eacute a capacidade de re-rotear um tuacutenelTE baseado em poliacuteticas administrativas O mecanismo de re-roteamento raacutepido (Fast Re-route ndash FRR) previne falhas de noacutes e de enlaces O mecanismo pode ser usado para trocarpara rotas com melhor desempenho em caso de falhas de recursos do tuacutenel ou utilizarnovas rotas por decisotildees administrativas A Figura 59 mostra a criaccedilatildeo do tuacutenel primaacuterioformado pelos roteadores A B D E e do tuacutenel de proteccedilatildeo provisionado nos roteadoresB C e D [Osborne e Simha 2002 Alvarez 2016] A engenharia de traacutefego tambeacutem podeser usada para balanceamento de traacutefego atraveacutes de muacuteltiplos tuacuteneis TE A malha de tuacuteneise sua banda podem ser configurados manual ou automaticamente atraveacutes de um roteirorepetitivo de configuraccedilotildees [Osborne e Simha 2002] Em uma topologia em malha tantopara balanceamento de traacutefego quanto para proteccedilatildeo os caminhos precisam ser disjuntosEntretanto alguns tuacuteneis podem utilizar o mesmo recurso fiacutesico como o mesmo cabo defibra oacuteptica No exemplo da Figura 510 o SRLG (Shared Risk Link Group) de nuacutemero10 indica a presenccedila de um enlace fiacutesico comum entre os caminhos R2-R4R2-R3 Ainformaccedilatildeo do SRLG eacute usada como um atributo adicional ao caminho original fornecidopelo IGP para evitar a configuraccedilatildeo de tuacuteneis no mesmo enlace fiacutesico [Alvarez 2016]

Figura 58 Caacutelculo de caminho do tuacutenel TE

525 Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

A operadora de telecomunicaccedilotildees utiliza a engenharia de traacutefego para o tratamentode falhas nos enlaces fiacutesicos da rede Tipicamente a camada fiacutesica ou rede de transporteeacute composta por equipamentos DWDM (Dense Wavelength Division Multiplex) ROADM(Reconfigurable Add Drop Multiplex) e comutadores OTN (Optical Transport Network)Esses elementos realizam a multiplexaccedilatildeo e comutaccedilatildeo do traacutefego no domiacutenio oacuteptico eeleacutetrico aleacutem de realizar funccedilotildees de formataccedilatildeo e regeneraccedilatildeo dos sinais de proteccedilatildeo ede restauraccedilatildeo da rede A rede de transporte possui um plano de controle proacuteprio baseadono padratildeo ASON (Automatically Switched Optical Network) [Je e Ly 2012] e GMPLS(Generalized MPLS) [J 2011]

A rede de transporte eacute segregada da rede de roteadores de nuacutecleo (camada L3)sendo necessaacuteria a configuraccedilatildeo de SRLGs para evitar tuacuteneis primaacuterios e de proteccedilatildeo emum mesmo enlace fiacutesico Eacute comum o cenaacuterio com proteccedilotildees e restauraccedilotildees em ambas asredes ocasionando desperdiacutecio da banda disponiacutevel A Figura 511 ilustra a separaccedilatildeoentre as redes de transporte e de roteadores de nuacutecleo (rede IPMPLS) Essa separaccedilatildeoevidencia o desacoplamento dos planos de controle de cada camada resultando em umaocupaccedilatildeo natildeo otimizada da banda disponiacutevel como resultado da configuraccedilatildeo de proteccedilatildeode muacuteltiplas camadas

A configuraccedilatildeo manual ocorre frequentemente devido agraves mudanccedilas da matriz detraacutefego e da topologia fiacutesica muitas vezes como decorrecircncia de falhas nos enlaces Emqualquer dos casos a malha de tuacuteneis deve ser reconfigurada para se adequar ao novopadratildeo de traacutefego Outro problema das operadoras eacute o tempo de convergecircncia da rede emcaso de falhas intrinsecamente relacionado agrave separaccedilatildeo da rede de roteadores de nuacutecleo(camada L3) da rede de transporte (camadas L0 L1 e L2) A desvinculaccedilatildeo da topologia

Figura 59 Tuacutenel primaacuterio e de proteccedilatildeo

Figura 510 SLRG (Shared Risk Link Group)

de rede fiacutesica da rede loacutegica de tuacuteneis TE eacute um desafio enfrentado pelas operadoras poisuma interrupccedilatildeo em um enlace fiacutesico pode corresponder agrave interrupccedilatildeo de ambos os tuacuteneiso TE principal e reserva

53 Conceitos de Redes Definidas por SoftwareO Roteamento por segmentos utiliza aplicaccedilotildees de Redes Definidas por Software

(SDN) para o caacutelculo dos caminhos dos tuacuteneis MPLS baseado nos paracircmetros de enge-nharia de traacutefego A configuraccedilatildeo do tuacutenel eacute representada por uma lista ordenada de seg-mentos As SDNs constituem uma mudanccedila de paradigma em redes separando o plano decontrole do plano de encaminhamento rompe a integraccedilatildeo vertical comum em roteadorese comutadores A centralizaccedilatildeo do controle da rede por outro lado introduz maiores capa-cidade de programaccedilatildeo e flexibilidade de utilizaccedilatildeo [Kreutz et al 2015 Hu et al 2014]

531 Arquitetura e Desenvolvimento da SDN

Em redes IP tradicionais os plano de controle e de dados satildeo acoplados e embuti-dos no mesmo dispositivo de rede Essa integraccedilatildeo vertical eacute uma das razotildees pelas quais

Figura 511 Separaccedilatildeo de camadas de rede de transporte e IPMPLS

as redes IP possuem gerenciamento e controle complexos sendo ainda pouco flexiacuteveisagrave introduccedilatildeo de inovaccedilotildees tecnoloacutegicas Para gerecircncia de redes a maior parte dos fa-bricantes oferece soluccedilotildees com hardware sistemas operacionais e programas de controleproprietaacuterios As redes de nuacutecleo IPMPLS apresentam tambeacutem grande complexidade deconfiguraccedilatildeo devido aos inuacutemeros protocolos envolvidos bem como a falta de flexibili-dade em resposta a mudanccedilas da rede falhas e balanceamento de traacutefego

A arquitetura de rede SDN se baseia em quatro pilares desacoplamento do planode controle do plano de dados decisotildees baseadas em fluxos ao inveacutes do endereccedilamentode destino programaccedilatildeo de fluxos flexiacutevel limitada ao tamanho das tabelas de fluxose loacutegica de controle em entidade externa denominada controlador O controlador eacute umaplataforma de software ou um sistema operacional de rede (Network Operating System- NOS) executado em um servidor de uso comum COTS O objetivo eacute prover os recur-sos essenciais de rede e abstraccedilotildees para facilitar a programaccedilatildeo de qualquer dispositivode encaminhamento Em uma visatildeo simplificada da arquitetura SDN a infraestrutura fiacute-sica eacute formada pelos dispositivos de encaminhamento como comutadores ou roteadoressem plano de controle ou com o plano de controle reduzido e com interfaces de progra-maccedilatildeo abertas A Figura 512 mostra a arquitetura de uma SDN [Kreutz et al 2015]O plano de dados eacute constituiacutedo pela infraestrutura de rede e interfaces southbound (SBIndash southbound interface) A infraestrutura de rede similar a uma rede tradicional cor-responde aos dispositivos que desempenham instruccedilotildees elementares de encaminhamentode traacutefego Estas instruccedilotildees satildeo definidas por interfaces abertas SBI como por exemploo OpenFlow [Lara et al 2014] O plano de controle eacute constituiacutedo por uma camada devirtualizaccedilatildeo outra camada correspondente ao sistema operacional de rede e as interfacesnorthbound (NBI) O sistema operacional de rede pode estar ou natildeo em uma infraestruturade hardware virtualizada atraveacutes do hipervisor que permite a criaccedilatildeo de maacutequinas virtu-ais no servidor fiacutesico onde eacute instalado o controlador de rede O controlador ou sistemaoperacional de rede programa os dispositivos de rede Por fim as interfaces northboundoferecem APIs para desenvolvedores de aplicaccedilotildees O plano de gerecircncia corresponde aoconjunto de aplicaccedilotildees utilizando linguagens de programaccedilatildeo apropriadas para o ambi-ente virtualizado que interliga todas as funcionalidades de rede para que as aplicaccedilotildeespossam implementar a loacutegica e controle da rede atraveacutes da NBI O plano de dados eacute res-ponsaacutevel pelo encaminhamento dos pacotes e eacute composto pela infraestrutura de rede quecorresponde ao elementos fiacutesicos da rede e por interfaces NBI responsaacuteveis pela comuni-

caccedilatildeo entre o plano de controle e o plano de dados A seguir seratildeo detalhadas cada umadas camadas da arquitetura SDN

Figura 512 Diagrama de arquitetura de sistema de rede SDN

532 Plano de Dados

O plano de encaminhamento de dados eacute composto pela infraestrutura de rede fiacutesicae pelas interfaces southbound onde protocolos abertos ou proprietaacuterios podem ser usadospara programaccedilatildeo dos dispositivos de rede como o CWMP (CPE WAN ManagementProtocol) definido na norma ETSI TR-069 ou o protocolo SNMP (Simple Network Ma-nagement Protocol) padronizado pelo IETF O SNMP foi concebido para gerenciamentode dispositivos de rede atraveacutes de operaccedilotildees do tipo ldquoGETrdquo e ldquoSETrdquo de informaccedilotildees emuma base de dados (Management Information Base ndash MIB)

5321 Infraestrutura de Rede

A infraestrutura fiacutesica das redes SDN eacute similar agrave das redes tradicionais com adiferenccedila dos dispositivos serem simplesmente elementos de encaminhamento de da-dos [Nunes et al 2014] ou seja sem controle ou software embarcado que permita odispositivo tomar decisotildees autocircnomas A inteligecircncia reside no sistema operacional derede e nas aplicaccedilotildees de rede que acessam os elementos da infraestrutura atraveacutes dasinterfaces southbound como por exemplo o OpenFlow

5322 Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros

Atualmente muitas interfaces abertas podem ser empregadas como interface south-bound em redes SDN Aleacutem do OpenFlow pode-se utilizar os protocolos NETCONF[RFC6241 2011] BGP-LS (Border Gateway Protocol - Link State) [RFC7752 2016a]PCEP (Path Computation Element Communication Protocol) [RFC5440 2009] OVSDB(Open vSwitch Database) [RFC7047 2013] SNMP (Simple Network Management Pro-tocol) [RFC1157 1990] a TL1 (Transaction Language 1) [Telcordia GR-831 1996] ea CLI (Command Line Interface) [ISOIEC 232712012 2012] A linguagem TL1 foi

desenvolvida especificamente para equipamentos de telecomunicaccedilotildees cujo objetivo eacute acomunicaccedilatildeo entre maacutequinas O protocolo NETCONF foi desenvolvido para ser o suces-sor natural do SNMP pois o SNMP tinha o foco no monitoramento e natildeo na configuraccedilatildeoda rede O OVSDB eacute um protocolo de gerenciamento projetado para redes definidas porsoftware Originalmente o OVSDB era parte do OVS (Open vSwitch) um comutador vir-tual projetado para hipervisores Linux O OVS representa uma evoluccedilatildeo dos protocolosde gerenciamento de rede permitindo programar e configurar pontes portas e interfacesde plataformas de equipamentos SDN e de virtualizaccedilatildeo de funccedilotildees de rede (NetworkFunctions Virtualization ndash NFV) [Andreas et al 2015] A seguir satildeo detalhadas os prin-cipais protocolos de interfaces SBI

NETCONF e YANG

O NETCONF eacute um protocolo de gerenciamento de rede definido pelo IETF paraconfiguraccedilatildeo e monitoramento da rede sendo este uacuteltimo papel desempenhado pelo SNMPdesde o final dos anos 80 O SNMP tinha como ponto fraco a ausecircncia de recursos deconfiguraccedilatildeo de rede aleacutem da interface binaacuteria BER (Basic Encoding Rules) e MIBs pro-prietaacuterias O protocolo NETCONF utiliza mecanismos que permitem instalar manipulare apagar a configuraccedilatildeo de dispositivos de rede atraveacutes de uma implementaccedilatildeo cliente-servidor ilustrada na Figura 513

Figura 513 Modelo de implementaccedilatildeo cliente-servidor do NETCONF

Apoacutes o estabelecimento da sessatildeo segura de transporte entre cliente e servidoro protocolo NETCONF envia uma mensagem HELLO para anuacutencio das capacidades doprotocolo e modelos de dados suportados O NETCONF suporta ainda a subscriccedilatildeo e orecebimento de notificaccedilotildees de eventos de forma assiacutencrona assim como o fechamentoparcial de uma configuraccedilatildeo corrente de um dispositivo de rede Esta funcionalidade per-mite muacuteltiplas sessotildees de ediccedilatildeo agilizando o processo de configuraccedilatildeo O NETCONFpermite o monitoramento e gerenciamento por uma entidade autocircnoma (o gerente NET-CONF) que utiliza repositoacuterio de dados sessotildees fechamentos e estatiacutesticas disponiacuteveisno servidor NETCONF

O YANG eacute uma linguagem formal com texto claro de modelo de dados com sin-

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

51 IntroduccedilatildeoNa arquitetura TCPIP o encaminhamento dos pacotes eacute feito salto a salto Os

campos do cabeccedilalho do pacote IP satildeo analisados consultando-se a tabela de roteamentoque conteacutem os prefixos para as redes de destino Quanto maior a tabela de roteamentomais processamento a busca de rotas exige [De Ghein 2007] aumentando a latecircncia e jit-ter dos fluxos Assim um dos objetivos da tecnologia MPLS (Multi Protocol Label Switi-ching) foi lidar com o aumento do nuacutemero de rotas nos roteadores de nuacutecleo Atraveacutes doencaminhamento por roacutetulos de tamanho fixo o MPLS possibilita acelerar a comutaccedilatildeodos pacotes [Santos et al 2007]

As redes MPLS vem sendo adotadas como tecnologia tiacutepica da rede de roteadoresde nuacutecleo das operadora de telecomunicaccedilotildees A tecnologia IPMPLS provecirc um encami-nhamento orientado a conexatildeo atraveacutes de circuitos virtuais unidirecionais Inicialmentetais circuitos eram estabelecidos seguindo os caminhos calculados pelo IGP (Interior Ga-teway Protocol) da rede que tipicamente indicam o caminho mais curto A inserccedilatildeo eremoccedilatildeo dos roacutetulos requer que os roteadores de borda conheccedilam o mapeamento entreroacutetulos MPLS e prefixos IP configurados previamente

Um problema que ocorre ao utilizar os caminhos calculados pelo IGP eacute a preven-ccedilatildeo de situaccedilotildees de congestionamento ou do uso de caminhos de maior latecircncia mesmoque com poucos saltos Para contornar esse desafio teacutecnicas de engenharia de traacutefego satildeofrequentemente utilizadas para que os fluxos de dados utilizem rotas especiacuteficas por exem-plo evitando congestionamento ou atendendo requisitos de qualidade de serviccedilo (Qualityof Service - QoS) [Sadok e Kamienski 2000]

A engenharia de traacutefego em redes MPLS eacute referenciada como MPLS-TE (MPLSndash Traffic Engineering) [Systems 2001] O MPLS-TE permite a construccedilatildeo manual oudinacircmica de tuacuteneis que funcionam como caminhos da rede MPLS O tuacutenel eacute identificadopor um roacutetulo por onde passam os fluxos de dados As operadoras utilizam tuacuteneis parabalanceamento de traacutefego e para proteccedilatildeo de determinados fluxos com tuacuteneis primaacuterios(primary tunnels) e de proteccedilatildeo (backup tunnels) A Figura 51 mostra o balanceamentode traacutefego utilizando MPLS-TE bem como o desacoplamento das informaccedilotildees de enla-ces fiacutesicos com a camada IPMPLS Esse desacoplamento eacute um problema atual jaacute queexige a configuraccedilatildeo manual de tuacuteneis Outro problema ocorre em caso de falhas nos en-laces fiacutesicos por longos periacuteodos jaacute que torna-se necessaacuterio reconfigurar todos os tuacuteneisque passam pelo enlace defeituoso Aleacutem disso em geral o plano de controle da redeIPMPLS executa em hardware proprietaacuterio e de alto custo

Os diferentes problemas fizeram com que com o passar do tempo o uso do MPLSnas redes de operadoras se tornasse um entrave Nesse sentido o paradigma das RedesDefinidas por Software (Software Defined Networks - SDN) torna-se atrativo Nas re-des SDN com a centralizaccedilatildeo do controle eacute possiacutevel programar o roteamento da redeIPMPLS por fluxo baseado nos objetivos da engenharia de traacutefego Nesse caso a pro-gramaccedilatildeo dos caminhos dos fluxos da rede pode ser realizada considerando inclusivemais de um paracircmetro de configuraccedilatildeo como banda disponiacutevel latecircncia e grupos derisco compartilhado de enlaces fiacutesicos Os roteadores de nuacutecleo tornam-se comutadoresldquoprogramaacuteveisrdquo e toda a loacutegica de programaccedilatildeo eacute transferida para o controlador SDN quepode executar em servidores de uso comum (Commercial off the shelf - COTS) e natildeo mais

Figura 51 Configuraccedilatildeo manual de tuacuteneis MPLS-TE

em hardwares proprietaacuterios de alto custo [Kreutz et al 2015] As interfaces (northbounde southbound) comunicam-se com o gerenciamento da rede atraveacutes de APIs (ApplicationProgramming Interfaces) abertas ou proprietaacuterias Essa simplificaccedilatildeo reduz as limitaccedilotildeesda configuraccedilatildeo de tuacuteneis TE das redes MPLS

O roteamento por segmentos eacute uma proposta para simplificaccedilatildeo do roteamento econfiguraccedilatildeo mantendo estados por fluxo apenas nos noacutes de borda da rede apoiando-sena programaccedilatildeo das redes SDN Em outras palavras o roteamento por segmentos empregaroteamento pela fonte Assim o roteador de entrada da rede possui uma lista ordenadados segmentos que definem o caminho na rede ateacute o roteador de saiacuteda O caacutelculo do ca-minho eacute feito pelo Elemento de Computaccedilatildeo de Caminhos SDN (SDN Path ComputationElement) ou atraveacutes de uma aplicaccedilatildeo SDN podendo considerar objetivos de engenha-ria de traacutefego Em uma rede IPMPLS os segmentos satildeo roacutetulos MPLS que agrupadosnos roteadores de nuacutecleo de borda informam o caminho do fluxo Assim apenas os ro-teadores de borda contecircm a informaccedilatildeo dos roacutetulos natildeo sendo necessaacuterio mantecirc-la nosroteadores intermediaacuterios Essa caracteriacutestica permite reduzir a complexidade do planode controle dos roteadores de nuacutecleo

O restante deste capiacutetulo estaacute organizado da seguinte forma A Seccedilatildeo 2 introduz osproblemas atuais das redes das operadoras na configuraccedilatildeo e operaccedilatildeo de redes IPMPLSA Seccedilatildeo 3 aborda o roteamento em redes SDN apresentando uma visatildeo geral da arqui-tetura SDN detalhando as interfaces northbound e southbound usadas no roteamento porsegmentos A Seccedilatildeo 4 descreve os conceitos baacutesicos do roteamento por segmentos ofuncionamento do plano de dados MPLS com roteamento por segmentos e o plano decontrole IGP para o roteamento por segmentos Tambeacutem satildeo mostrados exemplos de ro-teamento por segmentos em IPv6 e a interoperabilidade de redes IPMPLS legadas NaSeccedilatildeo 5 satildeo abordados simuladores de redes SDN em especial o simulador Mininet eexperimentos com controlador SDN OSHI SRTE (Open Source Hybrid IPSDN networ-king with Segment Routing and Traffic Engineering) A Seccedilatildeo 6 conclui este minicursodestacando outras iniciativas e direccedilotildees futuras

52 Limitaccedilotildees das Tecnologias das Redes de NuacutecleoAs limitaccedilotildees da comutaccedilatildeo de pacotes IP exigiram da induacutestria o desenvolvi-

mento de tecnologias que trouxessem desempenho agraves redes de roteadores As soluccedilotildeesinicialmente propostas utilizavam comutadores ATM com roteamento baseado em gerecircn-cia de redes evoluindo para o desenvolvimento de um hardware que ampliasse a capaci-dade de comutaccedilatildeo separando os protocolos de controle da comutaccedilatildeo de pacotes sendoesta uacuteltima o embriatildeo das redes MPLS A tecnologia MPLS [Rose 2014] surgiu comouma proposta de evoluccedilatildeo das redes puacuteblicas de comutaccedilatildeo e encaminhamento de pa-cotes motivada pela convergecircncia da comunicaccedilatildeo digital (voz dados e viacutedeo) em umainfraestrutura comum A ideia era integrar o MPLS com as redes IP e com outros tipos deredes legadas como o Ethernet o Frame Relay e o proacuteprio ATM [El-Sayed e Jaffe 2002]

A rede IPMPLS tem planos de controle e de encaminhamento de dados imple-mentados em cada noacute da rede O plano de controle eacute mantido atraveacutes de protocolos comoo LDP (Label Distribution Protocol) para distribuiccedilatildeo dos roacutetulos e um protocolo IGPcomo o OSPF (Open Shortest Path First) para descoberta dos caminhos mais curtos de-nominados LSP (Label Switched Path) No caso de falha da rede o OSPF encontra umnovo caminho desviando o traacutefego para este [Santos et al 2007 De Ghein 2007]

Figura 52 Representaccedilatildeo de um roteador IPMPLS

521 Fundamentos do MPLS

Em uma rede MPLS o pacote IP recebe um roacutetulo (label) inserido entre o ca-beccedilalho IP e o cabeccedilalho do protocolo de camada inferior Um roacutetulo MPLS possui 32bits Os primeiros 20 bits satildeo o valor do roacutetulo Os trecircs proacuteximos bits satildeo experimentaisusados para marcaccedilatildeo de classes de serviccedilo Esses bits satildeo seguidos pelo bit S (Bottomof Stack) cujo valor eacute 0 se o roacutetulo eacute o inferior da pilha de roacutetulos ou 1 caso contraacuterioOs uacuteltimos 8 bits servem para limitar o tempo de vida do pacote (Time to Live - TTL) deforma similar ao IP [Marzo et al 2003] A Figura 53(a) ilustra o roacutetulo MPLS

Os roteadores MPLS podem processar um conjunto de roacutetulos no pacote or-ganizados em pilha sendo o primeiro denominado de externo ou superior (top label)

(a) Estrutura do roacutetulo MPLS (b) Empilhamento de roacutetulos MPLS

Figura 53 Encapsulamento MPLS

e o uacuteltimo roacutetulo interno ou inferior (bottom label) (Figura 53(b)) Assim satildeo pos-siacuteveis aplicaccedilotildees como redes privativas virtuais (Vitual Private Networks - VPN) e li-nhas alugadas virtuais (Virtual Leased Lines - VLL ou Virtual Private LAN Service -VPLS) [Sadok e Kamienski 2000] O transporte de outras tecnologias sobre o MPLS(AToM - Any Transport Over MPLS) eacute uma caracteriacutestica fundamental para o Roteamentopor Segmentos [Pepelnjak e Guichard 2003 Asati 2012]

A tecnologia MPLS introduziu mecanismos como qualidade de serviccedilo engenha-ria de traacutefego [Sadok e Kamienski 2000] bem como novos serviccedilos do tipo VPN na redede nuacutecleo das operadoras de telecomunicaccedilotildees Existem dois tipos principais de VPN decamada 2 (VPN Layer 2) por exemplo o Ethernet ou o ATM e o de camada 3 (VPN Layer3) que transporta protocolos de camada 3 mais especificamente o IP A rede IPMPLSeacute muitas vezes considerada como uma rede multisserviccedilo jaacute que oferece suporte a redesIP VPN Frame Relay etc

522 Arquitetura de Redes IPMPLS

A arquitetura de uma rede IPMPLS eacute composta por roteadores de borda deno-minados PE (Provider Edge) ou LER (Label Edge Router) que inserem e retiram roacute-tulos dos pacotes Os roteadores intermediaacuterios (P ndash Provider ou LSR ndash Label SwitchRouter) realizam a comutaccedilatildeo de roacutetulos enviando o pacote enlace a enlace O CE(Customer Edge) representa o roteador IP que pertence a um determinado sistema autocirc-nomo [De Ghein 2007 Systems 2001] A sequecircncia de roacutetulos que forma o circuito vir-tual eacute um LSP (Label Switched Path) unidirecional (Figura 54) Ao separar o plano decontrole do plano de encaminhamento de pacotes o MPLS permite que novas facilidadessejam inseridas no plano de controle sem necessidade de criar um novo plano de encami-nhamento Essa eacute a base para que aplicaccedilotildees como a engenharia de traacutefego sejam criadasa partir do encaminhamento baseado em roacutetulos A tabela FEC (Fowarding EquivalenceClass) associa o endereccedilo IP de destino com o roacutetulo de entrada na rede MPLS

Os roteadores de borda (LER) recebem os pacotes IP provenientes do roteador

Figura 54 Arquitetura de Rede IPMPLS

cliente (CE) de origem inserindoretirando um roacutetulo adequado ao seu IP de destino eclasse de serviccedilo Essas operaccedilotildees denominam-se inserccedilatildeoremoccedilatildeo de roacutetulo (pushpop)No interior da rede o pacote eacute comutado nos roteadores LSR intermediaacuterios apenas combase na informaccedilatildeo dos roacutetulos A informaccedilatildeo de roacutetulos em uso estaacute contida em uma basede instacircncias de roacutetulos de encaminhamento (Label Forwarding Information Base - LFIB)em cada um dos roteadores intermediaacuterios do nuacutecleo da rede Na outra extremidade oroteador MPLS de borda faz a operaccedilatildeo inversa retirando o roacutetulo e entregando o pacotepara a rede do roteador cliente de destino O processo de comutaccedilatildeo de roacutetulos eacute mostradona Figura 55 A tabela FEC associa o endereccedilo IP de destino com o roacutetulo de entradae saiacuteda na rede MPLS O protocolo LDP (Label Distribution Protocol) eacute responsaacutevelpela distribuiccedilatildeo de roacutetulos trocando informaccedilotildees da FEC e roacutetulos associados entre osroteadores MPLS de borda e intermediaacuterios Dessa forma procura-se manter a coerecircnciaentre os LSPs formados e os prefixos IP dos pacotes encaminhados [Rose 2014]

As tabelas FEC (Figura 55) satildeo preenchidas por algum protocolo de roteamento(ex OSPF BGP) entre o CE de origem e o de destino O protocolo LDP identifica seusvizinhos atraveacutes de mensagens HELLO Para cada entrada da tabela de roteamento eacute criadauma entrada na FEC associando um roacutetulo de entrada Os roteadores de nuacutecleo (LERse LSRs) anunciam aos seus vizinhos o par FECRoacutetulo de Entrada sendo esta operaccedilatildeodenominada distribuiccedilatildeo de roacutetulos Cada roteador de nuacutecleo monta uma tabela com-pleta com FECRoacutetulo de EntradaRoacutetulo de SaiacutedaPorta denominada LFIB (Figura 55)Dessa forma o plano de encaminhamento eacute responsaacutevel pela comutaccedilatildeo dos pacotes ba-seado apenas nos roacutetulos envolvendo as operaccedilotildees de comutaccedilatildeo inserccedilatildeo e retirada deroacutetulos No plano de controle o protocolo LDP traduz as tabelas de roacutetulos em informa-ccedilotildees da tabela de roteamento Ainda no plano de controle o caacutelculo de caminhos na redeMPLS eacute feito por um IGP

523 Serviccedilos de Rede IPMPLS

O principal serviccedilo em redes IPMPLS eacute o VPN que pode ser configurado emtopologias do tipo malha completa ou parcial ou matriz-filial (hub and spoke) O MPLS

Figura 55 Comutaccedilatildeo MPLS

permite dois tipos de VPN [Pepelnjak e Guichard 2003 Asati 2012] a VPN de camada3 (VPN L3) e a de camada 2 (VPN L2)

As VPNs L3 permitem a troca de protocolos de roteamento ldquopeeringrdquo entre osroteadores cliente (CE) e os roteadores de borda do nuacutecleo (LER) As portas do LER satildeoassociadas a uma VPN atraveacutes de uma instacircncia de roteamento chamada VRF (VirtualRouting and Forwarding tables) As VRFs satildeo utilizadas para definir os LSPs Como cadaVPN utiliza sua proacutepria VRF os CEs de diferentes VPNs podem ter o mesmo endereccediloIP Os CEs utilizam protocolos de roteamento tradicionais como OSPF RIP e BGP comos LERs aos quais estatildeo diretamente conectados Os roteadores de borda (LER) trocaminformaccedilotildees aprendidas pelos roteadores de cliente (CEs) diretamente conectados atraveacutesdo protocolo MP-BGP (MultiProtocol-BGP) Na percepccedilatildeo do roteador do cliente a redeIPMPLS funciona como uma rede IP dedicada O processo de encaminhamento dasVPNs utiliza dois roacutetulos ou seja o roteador de nuacutecleo de borda insere dois roacutetulosMPLS entre o cabeccedilalho de camada 2 e o cabeccedilalho IP empilhando roacutetulos O roacutetulomais externo refere-se ao roteador de nuacutecleo (LER) de destino enquanto o roacutetulo maisinterno refere-se agrave VPN O MPLS tambeacutem possui a funcionalidade PHP (PenultimateHop Popping) onde o penuacuteltimo LSR (penultimate LSR) retira o roacutetulo mais externo antesde entregar o pacote ao LER Esse processo eacute uacutetil em VPNs L3 pois reduz a carga deprocessamento do LER eliminando um roacutetulo para ser processado O LER anuncia oroacutetulo de valor 3 que significa a funcionalidade de PHP Esse roacutetulo eacute chamado implicit-null que quando usado leva agrave perda das informaccedilotildees de QoS dos bits experimentais Asoluccedilatildeo eacute o uso de roacutetulos especiais denominados explicit-null (valor 0) que eacute lido peloLER para fins de QoS mas removido da FIB A Figura 56 ilustra uma VPN L3

As VPNs L2 trocam com os roteadores de nuacutecleo apenas informaccedilotildees de camada2 sendo as informaccedilotildees de camada 3 trocadas apenas entre os CEs As VPNs L2 podem

Figura 56 Serviccedilo de rede privativa VPN L3

ser entendidas como um enlace virtual que pode ser ponto-a-ponto no caso do VLL eponto-multiponto no caso do VPLS O transporte de quadros L2 introduziu o conceito decircuito virtual (Virtual Circuit - VC) no MPLS Um LSP age como um tuacutenel que permitecarregar muacuteltiplos VCs enquanto o VC permite o transporte de quadros L2 O VC eacuteimplementando utilizando empilhamento de roacutetulos [IETF MPLS documents 2001] AFigura 57 mostra uma VPN L2 ponto-a-ponto com um LSP conectando os roteadores deborda dos clientes A e B O roteador de nuacutecleo de borda A informa ao B que o roteadorA receberaacute pela porta 1 os quadros L2 com outro roacutetulo enviando os quadros com doisroacutetulos fazendo com que chegue ao seu destino na porta correta

Figura 57 Serviccedilo de rede privativa VPN L2 ponto a ponto (VLL)

524 QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

O protocolo MPLS assim como o protocolo IP permite utilizar o modelo de Diff-Serv (Differentiated Services) [Marzo et al 2003] para implementaccedilatildeo de QoS O Diff-Serv gerencia os recursos de rede e cria classes de serviccedilo atendidas em filas diferentesconforme o niacutevel de prioridade do fluxo de dados [IETF MPLS documents 2001] En-quanto no IPv4 a classe de serviccedilo eacute indicada no campo DSCP (Differentiated Services

Code Point anteriormente ToS ndash Type of Service) [Marzo et al 2003] no MPLS a in-formaccedilatildeo eacute definida no campo EXP bits do roacutetulo

O conceito de engenharia de traacutefego MPLS-TE (MPLS ndash Traffic Engineering)foi desenvolvido para resolver problemas de congestionamento otimizaccedilatildeo da banda econvergecircncia da rede com proteccedilatildeo do traacutefego por reserva de recursos A estrateacutegia doMPLS-TE eacute calcular caminhos baseados em restriccedilotildees como banda disponiacutevel latecircncia eperda de pacotes sugerindo uma rota diferente do IGP que tipicamente natildeo realiza enge-nharia de traacutefego [Xiao et al 2000 Alvarez 2016] O caacutelculo de caminhos baseados emrestriccedilotildees eacute feito pelo PCE (Path Computation Element) papel desempenhado pelo planode controle dos roteadores de nuacutecleo (Figura 58) O caminho calculado pela engenhariade traacutefego eacute implementado como um tuacutenel unidirecional (tuacutenel TE) iniciado no roteadorde nuacutecleo de origem (head end LSR) e terminado no roteador de nuacutecleo de destino (tailend LSR) O tuacutenel eacute identificado a partir de um roacutetulo a mais aleacutem dos roacutetulos do protocoloLDP A reserva de recursos para o caminho eacute feita pelo protocolo RSVP-TE (ResourcereSerVation Protocol ndash Traffic Engineering) uma extensatildeo do RSVP [Rose 2014] ORSVP-TE eacute usado para o estabelecimento de LSPs que podem ser configurados manual-mente (Explicit LSP) ou dinamicamente (Dynamic LSP) atraveacutes de um IGP com extensotildeespara engenharia de traacutefego como o OSPF-TE [Rose 2014] Na Figura 58 o roteador R1utiliza a base de dados da topologia TE que conteacutem muacuteltiplas meacutetricas por enlace paracalcular o caminho ateacute R8 atraveacutes do PCE presente em R1 O RSVP-TE cria LSPs adi-cionais distribuindo os roacutetulos entre os roteadores R1 e R8 As mensagens RSVP-TEde caminho satildeo enviadas periodicamente pelo roteador de nuacutecleo de origem para cadaroteador de nuacutecleo intermediaacuterio pertencente ao tuacutenel contendo uma lista de atributos aserem analisados Esses atributos possuem os valores das meacutetricas utilizadas no caacutelculodos caminhos As mensagens de reserva de recursos satildeo enviadas pelo roteador de des-tino apoacutes receber uma mensagem de estabelecimento de caminho iniciando o processo dedistribuiccedilatildeo de roacutetulos no qual cada roteador intermediaacuterio informa o roacutetulo a ser usadopelo antecessor Se um dos roteadores intermediaacuterios natildeo puder confirmar a reserva umamensagem de erro eacute enviada ao roteador de nuacutecleo de origem do tuacutenel [Alvarez 2016]

Um dos requisitos da engenharia de traacutefego eacute a capacidade de re-rotear um tuacutenelTE baseado em poliacuteticas administrativas O mecanismo de re-roteamento raacutepido (Fast Re-route ndash FRR) previne falhas de noacutes e de enlaces O mecanismo pode ser usado para trocarpara rotas com melhor desempenho em caso de falhas de recursos do tuacutenel ou utilizarnovas rotas por decisotildees administrativas A Figura 59 mostra a criaccedilatildeo do tuacutenel primaacuterioformado pelos roteadores A B D E e do tuacutenel de proteccedilatildeo provisionado nos roteadoresB C e D [Osborne e Simha 2002 Alvarez 2016] A engenharia de traacutefego tambeacutem podeser usada para balanceamento de traacutefego atraveacutes de muacuteltiplos tuacuteneis TE A malha de tuacuteneise sua banda podem ser configurados manual ou automaticamente atraveacutes de um roteirorepetitivo de configuraccedilotildees [Osborne e Simha 2002] Em uma topologia em malha tantopara balanceamento de traacutefego quanto para proteccedilatildeo os caminhos precisam ser disjuntosEntretanto alguns tuacuteneis podem utilizar o mesmo recurso fiacutesico como o mesmo cabo defibra oacuteptica No exemplo da Figura 510 o SRLG (Shared Risk Link Group) de nuacutemero10 indica a presenccedila de um enlace fiacutesico comum entre os caminhos R2-R4R2-R3 Ainformaccedilatildeo do SRLG eacute usada como um atributo adicional ao caminho original fornecidopelo IGP para evitar a configuraccedilatildeo de tuacuteneis no mesmo enlace fiacutesico [Alvarez 2016]

Figura 58 Caacutelculo de caminho do tuacutenel TE

525 Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

A operadora de telecomunicaccedilotildees utiliza a engenharia de traacutefego para o tratamentode falhas nos enlaces fiacutesicos da rede Tipicamente a camada fiacutesica ou rede de transporteeacute composta por equipamentos DWDM (Dense Wavelength Division Multiplex) ROADM(Reconfigurable Add Drop Multiplex) e comutadores OTN (Optical Transport Network)Esses elementos realizam a multiplexaccedilatildeo e comutaccedilatildeo do traacutefego no domiacutenio oacuteptico eeleacutetrico aleacutem de realizar funccedilotildees de formataccedilatildeo e regeneraccedilatildeo dos sinais de proteccedilatildeo ede restauraccedilatildeo da rede A rede de transporte possui um plano de controle proacuteprio baseadono padratildeo ASON (Automatically Switched Optical Network) [Je e Ly 2012] e GMPLS(Generalized MPLS) [J 2011]

A rede de transporte eacute segregada da rede de roteadores de nuacutecleo (camada L3)sendo necessaacuteria a configuraccedilatildeo de SRLGs para evitar tuacuteneis primaacuterios e de proteccedilatildeo emum mesmo enlace fiacutesico Eacute comum o cenaacuterio com proteccedilotildees e restauraccedilotildees em ambas asredes ocasionando desperdiacutecio da banda disponiacutevel A Figura 511 ilustra a separaccedilatildeoentre as redes de transporte e de roteadores de nuacutecleo (rede IPMPLS) Essa separaccedilatildeoevidencia o desacoplamento dos planos de controle de cada camada resultando em umaocupaccedilatildeo natildeo otimizada da banda disponiacutevel como resultado da configuraccedilatildeo de proteccedilatildeode muacuteltiplas camadas

A configuraccedilatildeo manual ocorre frequentemente devido agraves mudanccedilas da matriz detraacutefego e da topologia fiacutesica muitas vezes como decorrecircncia de falhas nos enlaces Emqualquer dos casos a malha de tuacuteneis deve ser reconfigurada para se adequar ao novopadratildeo de traacutefego Outro problema das operadoras eacute o tempo de convergecircncia da rede emcaso de falhas intrinsecamente relacionado agrave separaccedilatildeo da rede de roteadores de nuacutecleo(camada L3) da rede de transporte (camadas L0 L1 e L2) A desvinculaccedilatildeo da topologia

Figura 59 Tuacutenel primaacuterio e de proteccedilatildeo

Figura 510 SLRG (Shared Risk Link Group)

de rede fiacutesica da rede loacutegica de tuacuteneis TE eacute um desafio enfrentado pelas operadoras poisuma interrupccedilatildeo em um enlace fiacutesico pode corresponder agrave interrupccedilatildeo de ambos os tuacuteneiso TE principal e reserva

53 Conceitos de Redes Definidas por SoftwareO Roteamento por segmentos utiliza aplicaccedilotildees de Redes Definidas por Software

(SDN) para o caacutelculo dos caminhos dos tuacuteneis MPLS baseado nos paracircmetros de enge-nharia de traacutefego A configuraccedilatildeo do tuacutenel eacute representada por uma lista ordenada de seg-mentos As SDNs constituem uma mudanccedila de paradigma em redes separando o plano decontrole do plano de encaminhamento rompe a integraccedilatildeo vertical comum em roteadorese comutadores A centralizaccedilatildeo do controle da rede por outro lado introduz maiores capa-cidade de programaccedilatildeo e flexibilidade de utilizaccedilatildeo [Kreutz et al 2015 Hu et al 2014]

531 Arquitetura e Desenvolvimento da SDN

Em redes IP tradicionais os plano de controle e de dados satildeo acoplados e embuti-dos no mesmo dispositivo de rede Essa integraccedilatildeo vertical eacute uma das razotildees pelas quais

Figura 511 Separaccedilatildeo de camadas de rede de transporte e IPMPLS

as redes IP possuem gerenciamento e controle complexos sendo ainda pouco flexiacuteveisagrave introduccedilatildeo de inovaccedilotildees tecnoloacutegicas Para gerecircncia de redes a maior parte dos fa-bricantes oferece soluccedilotildees com hardware sistemas operacionais e programas de controleproprietaacuterios As redes de nuacutecleo IPMPLS apresentam tambeacutem grande complexidade deconfiguraccedilatildeo devido aos inuacutemeros protocolos envolvidos bem como a falta de flexibili-dade em resposta a mudanccedilas da rede falhas e balanceamento de traacutefego

A arquitetura de rede SDN se baseia em quatro pilares desacoplamento do planode controle do plano de dados decisotildees baseadas em fluxos ao inveacutes do endereccedilamentode destino programaccedilatildeo de fluxos flexiacutevel limitada ao tamanho das tabelas de fluxose loacutegica de controle em entidade externa denominada controlador O controlador eacute umaplataforma de software ou um sistema operacional de rede (Network Operating System- NOS) executado em um servidor de uso comum COTS O objetivo eacute prover os recur-sos essenciais de rede e abstraccedilotildees para facilitar a programaccedilatildeo de qualquer dispositivode encaminhamento Em uma visatildeo simplificada da arquitetura SDN a infraestrutura fiacute-sica eacute formada pelos dispositivos de encaminhamento como comutadores ou roteadoressem plano de controle ou com o plano de controle reduzido e com interfaces de progra-maccedilatildeo abertas A Figura 512 mostra a arquitetura de uma SDN [Kreutz et al 2015]O plano de dados eacute constituiacutedo pela infraestrutura de rede e interfaces southbound (SBIndash southbound interface) A infraestrutura de rede similar a uma rede tradicional cor-responde aos dispositivos que desempenham instruccedilotildees elementares de encaminhamentode traacutefego Estas instruccedilotildees satildeo definidas por interfaces abertas SBI como por exemploo OpenFlow [Lara et al 2014] O plano de controle eacute constituiacutedo por uma camada devirtualizaccedilatildeo outra camada correspondente ao sistema operacional de rede e as interfacesnorthbound (NBI) O sistema operacional de rede pode estar ou natildeo em uma infraestruturade hardware virtualizada atraveacutes do hipervisor que permite a criaccedilatildeo de maacutequinas virtu-ais no servidor fiacutesico onde eacute instalado o controlador de rede O controlador ou sistemaoperacional de rede programa os dispositivos de rede Por fim as interfaces northboundoferecem APIs para desenvolvedores de aplicaccedilotildees O plano de gerecircncia corresponde aoconjunto de aplicaccedilotildees utilizando linguagens de programaccedilatildeo apropriadas para o ambi-ente virtualizado que interliga todas as funcionalidades de rede para que as aplicaccedilotildeespossam implementar a loacutegica e controle da rede atraveacutes da NBI O plano de dados eacute res-ponsaacutevel pelo encaminhamento dos pacotes e eacute composto pela infraestrutura de rede quecorresponde ao elementos fiacutesicos da rede e por interfaces NBI responsaacuteveis pela comuni-

caccedilatildeo entre o plano de controle e o plano de dados A seguir seratildeo detalhadas cada umadas camadas da arquitetura SDN

Figura 512 Diagrama de arquitetura de sistema de rede SDN

532 Plano de Dados

O plano de encaminhamento de dados eacute composto pela infraestrutura de rede fiacutesicae pelas interfaces southbound onde protocolos abertos ou proprietaacuterios podem ser usadospara programaccedilatildeo dos dispositivos de rede como o CWMP (CPE WAN ManagementProtocol) definido na norma ETSI TR-069 ou o protocolo SNMP (Simple Network Ma-nagement Protocol) padronizado pelo IETF O SNMP foi concebido para gerenciamentode dispositivos de rede atraveacutes de operaccedilotildees do tipo ldquoGETrdquo e ldquoSETrdquo de informaccedilotildees emuma base de dados (Management Information Base ndash MIB)

5321 Infraestrutura de Rede

A infraestrutura fiacutesica das redes SDN eacute similar agrave das redes tradicionais com adiferenccedila dos dispositivos serem simplesmente elementos de encaminhamento de da-dos [Nunes et al 2014] ou seja sem controle ou software embarcado que permita odispositivo tomar decisotildees autocircnomas A inteligecircncia reside no sistema operacional derede e nas aplicaccedilotildees de rede que acessam os elementos da infraestrutura atraveacutes dasinterfaces southbound como por exemplo o OpenFlow

5322 Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros

Atualmente muitas interfaces abertas podem ser empregadas como interface south-bound em redes SDN Aleacutem do OpenFlow pode-se utilizar os protocolos NETCONF[RFC6241 2011] BGP-LS (Border Gateway Protocol - Link State) [RFC7752 2016a]PCEP (Path Computation Element Communication Protocol) [RFC5440 2009] OVSDB(Open vSwitch Database) [RFC7047 2013] SNMP (Simple Network Management Pro-tocol) [RFC1157 1990] a TL1 (Transaction Language 1) [Telcordia GR-831 1996] ea CLI (Command Line Interface) [ISOIEC 232712012 2012] A linguagem TL1 foi

desenvolvida especificamente para equipamentos de telecomunicaccedilotildees cujo objetivo eacute acomunicaccedilatildeo entre maacutequinas O protocolo NETCONF foi desenvolvido para ser o suces-sor natural do SNMP pois o SNMP tinha o foco no monitoramento e natildeo na configuraccedilatildeoda rede O OVSDB eacute um protocolo de gerenciamento projetado para redes definidas porsoftware Originalmente o OVSDB era parte do OVS (Open vSwitch) um comutador vir-tual projetado para hipervisores Linux O OVS representa uma evoluccedilatildeo dos protocolosde gerenciamento de rede permitindo programar e configurar pontes portas e interfacesde plataformas de equipamentos SDN e de virtualizaccedilatildeo de funccedilotildees de rede (NetworkFunctions Virtualization ndash NFV) [Andreas et al 2015] A seguir satildeo detalhadas os prin-cipais protocolos de interfaces SBI

NETCONF e YANG

O NETCONF eacute um protocolo de gerenciamento de rede definido pelo IETF paraconfiguraccedilatildeo e monitoramento da rede sendo este uacuteltimo papel desempenhado pelo SNMPdesde o final dos anos 80 O SNMP tinha como ponto fraco a ausecircncia de recursos deconfiguraccedilatildeo de rede aleacutem da interface binaacuteria BER (Basic Encoding Rules) e MIBs pro-prietaacuterias O protocolo NETCONF utiliza mecanismos que permitem instalar manipulare apagar a configuraccedilatildeo de dispositivos de rede atraveacutes de uma implementaccedilatildeo cliente-servidor ilustrada na Figura 513

Figura 513 Modelo de implementaccedilatildeo cliente-servidor do NETCONF

Apoacutes o estabelecimento da sessatildeo segura de transporte entre cliente e servidoro protocolo NETCONF envia uma mensagem HELLO para anuacutencio das capacidades doprotocolo e modelos de dados suportados O NETCONF suporta ainda a subscriccedilatildeo e orecebimento de notificaccedilotildees de eventos de forma assiacutencrona assim como o fechamentoparcial de uma configuraccedilatildeo corrente de um dispositivo de rede Esta funcionalidade per-mite muacuteltiplas sessotildees de ediccedilatildeo agilizando o processo de configuraccedilatildeo O NETCONFpermite o monitoramento e gerenciamento por uma entidade autocircnoma (o gerente NET-CONF) que utiliza repositoacuterio de dados sessotildees fechamentos e estatiacutesticas disponiacuteveisno servidor NETCONF

O YANG eacute uma linguagem formal com texto claro de modelo de dados com sin-

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 51 Configuraccedilatildeo manual de tuacuteneis MPLS-TE

em hardwares proprietaacuterios de alto custo [Kreutz et al 2015] As interfaces (northbounde southbound) comunicam-se com o gerenciamento da rede atraveacutes de APIs (ApplicationProgramming Interfaces) abertas ou proprietaacuterias Essa simplificaccedilatildeo reduz as limitaccedilotildeesda configuraccedilatildeo de tuacuteneis TE das redes MPLS

O roteamento por segmentos eacute uma proposta para simplificaccedilatildeo do roteamento econfiguraccedilatildeo mantendo estados por fluxo apenas nos noacutes de borda da rede apoiando-sena programaccedilatildeo das redes SDN Em outras palavras o roteamento por segmentos empregaroteamento pela fonte Assim o roteador de entrada da rede possui uma lista ordenadados segmentos que definem o caminho na rede ateacute o roteador de saiacuteda O caacutelculo do ca-minho eacute feito pelo Elemento de Computaccedilatildeo de Caminhos SDN (SDN Path ComputationElement) ou atraveacutes de uma aplicaccedilatildeo SDN podendo considerar objetivos de engenha-ria de traacutefego Em uma rede IPMPLS os segmentos satildeo roacutetulos MPLS que agrupadosnos roteadores de nuacutecleo de borda informam o caminho do fluxo Assim apenas os ro-teadores de borda contecircm a informaccedilatildeo dos roacutetulos natildeo sendo necessaacuterio mantecirc-la nosroteadores intermediaacuterios Essa caracteriacutestica permite reduzir a complexidade do planode controle dos roteadores de nuacutecleo

O restante deste capiacutetulo estaacute organizado da seguinte forma A Seccedilatildeo 2 introduz osproblemas atuais das redes das operadoras na configuraccedilatildeo e operaccedilatildeo de redes IPMPLSA Seccedilatildeo 3 aborda o roteamento em redes SDN apresentando uma visatildeo geral da arqui-tetura SDN detalhando as interfaces northbound e southbound usadas no roteamento porsegmentos A Seccedilatildeo 4 descreve os conceitos baacutesicos do roteamento por segmentos ofuncionamento do plano de dados MPLS com roteamento por segmentos e o plano decontrole IGP para o roteamento por segmentos Tambeacutem satildeo mostrados exemplos de ro-teamento por segmentos em IPv6 e a interoperabilidade de redes IPMPLS legadas NaSeccedilatildeo 5 satildeo abordados simuladores de redes SDN em especial o simulador Mininet eexperimentos com controlador SDN OSHI SRTE (Open Source Hybrid IPSDN networ-king with Segment Routing and Traffic Engineering) A Seccedilatildeo 6 conclui este minicursodestacando outras iniciativas e direccedilotildees futuras

52 Limitaccedilotildees das Tecnologias das Redes de NuacutecleoAs limitaccedilotildees da comutaccedilatildeo de pacotes IP exigiram da induacutestria o desenvolvi-

mento de tecnologias que trouxessem desempenho agraves redes de roteadores As soluccedilotildeesinicialmente propostas utilizavam comutadores ATM com roteamento baseado em gerecircn-cia de redes evoluindo para o desenvolvimento de um hardware que ampliasse a capaci-dade de comutaccedilatildeo separando os protocolos de controle da comutaccedilatildeo de pacotes sendoesta uacuteltima o embriatildeo das redes MPLS A tecnologia MPLS [Rose 2014] surgiu comouma proposta de evoluccedilatildeo das redes puacuteblicas de comutaccedilatildeo e encaminhamento de pa-cotes motivada pela convergecircncia da comunicaccedilatildeo digital (voz dados e viacutedeo) em umainfraestrutura comum A ideia era integrar o MPLS com as redes IP e com outros tipos deredes legadas como o Ethernet o Frame Relay e o proacuteprio ATM [El-Sayed e Jaffe 2002]

A rede IPMPLS tem planos de controle e de encaminhamento de dados imple-mentados em cada noacute da rede O plano de controle eacute mantido atraveacutes de protocolos comoo LDP (Label Distribution Protocol) para distribuiccedilatildeo dos roacutetulos e um protocolo IGPcomo o OSPF (Open Shortest Path First) para descoberta dos caminhos mais curtos de-nominados LSP (Label Switched Path) No caso de falha da rede o OSPF encontra umnovo caminho desviando o traacutefego para este [Santos et al 2007 De Ghein 2007]

Figura 52 Representaccedilatildeo de um roteador IPMPLS

521 Fundamentos do MPLS

Em uma rede MPLS o pacote IP recebe um roacutetulo (label) inserido entre o ca-beccedilalho IP e o cabeccedilalho do protocolo de camada inferior Um roacutetulo MPLS possui 32bits Os primeiros 20 bits satildeo o valor do roacutetulo Os trecircs proacuteximos bits satildeo experimentaisusados para marcaccedilatildeo de classes de serviccedilo Esses bits satildeo seguidos pelo bit S (Bottomof Stack) cujo valor eacute 0 se o roacutetulo eacute o inferior da pilha de roacutetulos ou 1 caso contraacuterioOs uacuteltimos 8 bits servem para limitar o tempo de vida do pacote (Time to Live - TTL) deforma similar ao IP [Marzo et al 2003] A Figura 53(a) ilustra o roacutetulo MPLS

Os roteadores MPLS podem processar um conjunto de roacutetulos no pacote or-ganizados em pilha sendo o primeiro denominado de externo ou superior (top label)

(a) Estrutura do roacutetulo MPLS (b) Empilhamento de roacutetulos MPLS

Figura 53 Encapsulamento MPLS

e o uacuteltimo roacutetulo interno ou inferior (bottom label) (Figura 53(b)) Assim satildeo pos-siacuteveis aplicaccedilotildees como redes privativas virtuais (Vitual Private Networks - VPN) e li-nhas alugadas virtuais (Virtual Leased Lines - VLL ou Virtual Private LAN Service -VPLS) [Sadok e Kamienski 2000] O transporte de outras tecnologias sobre o MPLS(AToM - Any Transport Over MPLS) eacute uma caracteriacutestica fundamental para o Roteamentopor Segmentos [Pepelnjak e Guichard 2003 Asati 2012]

A tecnologia MPLS introduziu mecanismos como qualidade de serviccedilo engenha-ria de traacutefego [Sadok e Kamienski 2000] bem como novos serviccedilos do tipo VPN na redede nuacutecleo das operadoras de telecomunicaccedilotildees Existem dois tipos principais de VPN decamada 2 (VPN Layer 2) por exemplo o Ethernet ou o ATM e o de camada 3 (VPN Layer3) que transporta protocolos de camada 3 mais especificamente o IP A rede IPMPLSeacute muitas vezes considerada como uma rede multisserviccedilo jaacute que oferece suporte a redesIP VPN Frame Relay etc

522 Arquitetura de Redes IPMPLS

A arquitetura de uma rede IPMPLS eacute composta por roteadores de borda deno-minados PE (Provider Edge) ou LER (Label Edge Router) que inserem e retiram roacute-tulos dos pacotes Os roteadores intermediaacuterios (P ndash Provider ou LSR ndash Label SwitchRouter) realizam a comutaccedilatildeo de roacutetulos enviando o pacote enlace a enlace O CE(Customer Edge) representa o roteador IP que pertence a um determinado sistema autocirc-nomo [De Ghein 2007 Systems 2001] A sequecircncia de roacutetulos que forma o circuito vir-tual eacute um LSP (Label Switched Path) unidirecional (Figura 54) Ao separar o plano decontrole do plano de encaminhamento de pacotes o MPLS permite que novas facilidadessejam inseridas no plano de controle sem necessidade de criar um novo plano de encami-nhamento Essa eacute a base para que aplicaccedilotildees como a engenharia de traacutefego sejam criadasa partir do encaminhamento baseado em roacutetulos A tabela FEC (Fowarding EquivalenceClass) associa o endereccedilo IP de destino com o roacutetulo de entrada na rede MPLS

Os roteadores de borda (LER) recebem os pacotes IP provenientes do roteador

Figura 54 Arquitetura de Rede IPMPLS

cliente (CE) de origem inserindoretirando um roacutetulo adequado ao seu IP de destino eclasse de serviccedilo Essas operaccedilotildees denominam-se inserccedilatildeoremoccedilatildeo de roacutetulo (pushpop)No interior da rede o pacote eacute comutado nos roteadores LSR intermediaacuterios apenas combase na informaccedilatildeo dos roacutetulos A informaccedilatildeo de roacutetulos em uso estaacute contida em uma basede instacircncias de roacutetulos de encaminhamento (Label Forwarding Information Base - LFIB)em cada um dos roteadores intermediaacuterios do nuacutecleo da rede Na outra extremidade oroteador MPLS de borda faz a operaccedilatildeo inversa retirando o roacutetulo e entregando o pacotepara a rede do roteador cliente de destino O processo de comutaccedilatildeo de roacutetulos eacute mostradona Figura 55 A tabela FEC associa o endereccedilo IP de destino com o roacutetulo de entradae saiacuteda na rede MPLS O protocolo LDP (Label Distribution Protocol) eacute responsaacutevelpela distribuiccedilatildeo de roacutetulos trocando informaccedilotildees da FEC e roacutetulos associados entre osroteadores MPLS de borda e intermediaacuterios Dessa forma procura-se manter a coerecircnciaentre os LSPs formados e os prefixos IP dos pacotes encaminhados [Rose 2014]

As tabelas FEC (Figura 55) satildeo preenchidas por algum protocolo de roteamento(ex OSPF BGP) entre o CE de origem e o de destino O protocolo LDP identifica seusvizinhos atraveacutes de mensagens HELLO Para cada entrada da tabela de roteamento eacute criadauma entrada na FEC associando um roacutetulo de entrada Os roteadores de nuacutecleo (LERse LSRs) anunciam aos seus vizinhos o par FECRoacutetulo de Entrada sendo esta operaccedilatildeodenominada distribuiccedilatildeo de roacutetulos Cada roteador de nuacutecleo monta uma tabela com-pleta com FECRoacutetulo de EntradaRoacutetulo de SaiacutedaPorta denominada LFIB (Figura 55)Dessa forma o plano de encaminhamento eacute responsaacutevel pela comutaccedilatildeo dos pacotes ba-seado apenas nos roacutetulos envolvendo as operaccedilotildees de comutaccedilatildeo inserccedilatildeo e retirada deroacutetulos No plano de controle o protocolo LDP traduz as tabelas de roacutetulos em informa-ccedilotildees da tabela de roteamento Ainda no plano de controle o caacutelculo de caminhos na redeMPLS eacute feito por um IGP

523 Serviccedilos de Rede IPMPLS

O principal serviccedilo em redes IPMPLS eacute o VPN que pode ser configurado emtopologias do tipo malha completa ou parcial ou matriz-filial (hub and spoke) O MPLS

Figura 55 Comutaccedilatildeo MPLS

permite dois tipos de VPN [Pepelnjak e Guichard 2003 Asati 2012] a VPN de camada3 (VPN L3) e a de camada 2 (VPN L2)

As VPNs L3 permitem a troca de protocolos de roteamento ldquopeeringrdquo entre osroteadores cliente (CE) e os roteadores de borda do nuacutecleo (LER) As portas do LER satildeoassociadas a uma VPN atraveacutes de uma instacircncia de roteamento chamada VRF (VirtualRouting and Forwarding tables) As VRFs satildeo utilizadas para definir os LSPs Como cadaVPN utiliza sua proacutepria VRF os CEs de diferentes VPNs podem ter o mesmo endereccediloIP Os CEs utilizam protocolos de roteamento tradicionais como OSPF RIP e BGP comos LERs aos quais estatildeo diretamente conectados Os roteadores de borda (LER) trocaminformaccedilotildees aprendidas pelos roteadores de cliente (CEs) diretamente conectados atraveacutesdo protocolo MP-BGP (MultiProtocol-BGP) Na percepccedilatildeo do roteador do cliente a redeIPMPLS funciona como uma rede IP dedicada O processo de encaminhamento dasVPNs utiliza dois roacutetulos ou seja o roteador de nuacutecleo de borda insere dois roacutetulosMPLS entre o cabeccedilalho de camada 2 e o cabeccedilalho IP empilhando roacutetulos O roacutetulomais externo refere-se ao roteador de nuacutecleo (LER) de destino enquanto o roacutetulo maisinterno refere-se agrave VPN O MPLS tambeacutem possui a funcionalidade PHP (PenultimateHop Popping) onde o penuacuteltimo LSR (penultimate LSR) retira o roacutetulo mais externo antesde entregar o pacote ao LER Esse processo eacute uacutetil em VPNs L3 pois reduz a carga deprocessamento do LER eliminando um roacutetulo para ser processado O LER anuncia oroacutetulo de valor 3 que significa a funcionalidade de PHP Esse roacutetulo eacute chamado implicit-null que quando usado leva agrave perda das informaccedilotildees de QoS dos bits experimentais Asoluccedilatildeo eacute o uso de roacutetulos especiais denominados explicit-null (valor 0) que eacute lido peloLER para fins de QoS mas removido da FIB A Figura 56 ilustra uma VPN L3

As VPNs L2 trocam com os roteadores de nuacutecleo apenas informaccedilotildees de camada2 sendo as informaccedilotildees de camada 3 trocadas apenas entre os CEs As VPNs L2 podem

Figura 56 Serviccedilo de rede privativa VPN L3

ser entendidas como um enlace virtual que pode ser ponto-a-ponto no caso do VLL eponto-multiponto no caso do VPLS O transporte de quadros L2 introduziu o conceito decircuito virtual (Virtual Circuit - VC) no MPLS Um LSP age como um tuacutenel que permitecarregar muacuteltiplos VCs enquanto o VC permite o transporte de quadros L2 O VC eacuteimplementando utilizando empilhamento de roacutetulos [IETF MPLS documents 2001] AFigura 57 mostra uma VPN L2 ponto-a-ponto com um LSP conectando os roteadores deborda dos clientes A e B O roteador de nuacutecleo de borda A informa ao B que o roteadorA receberaacute pela porta 1 os quadros L2 com outro roacutetulo enviando os quadros com doisroacutetulos fazendo com que chegue ao seu destino na porta correta

Figura 57 Serviccedilo de rede privativa VPN L2 ponto a ponto (VLL)

524 QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

O protocolo MPLS assim como o protocolo IP permite utilizar o modelo de Diff-Serv (Differentiated Services) [Marzo et al 2003] para implementaccedilatildeo de QoS O Diff-Serv gerencia os recursos de rede e cria classes de serviccedilo atendidas em filas diferentesconforme o niacutevel de prioridade do fluxo de dados [IETF MPLS documents 2001] En-quanto no IPv4 a classe de serviccedilo eacute indicada no campo DSCP (Differentiated Services

Code Point anteriormente ToS ndash Type of Service) [Marzo et al 2003] no MPLS a in-formaccedilatildeo eacute definida no campo EXP bits do roacutetulo

O conceito de engenharia de traacutefego MPLS-TE (MPLS ndash Traffic Engineering)foi desenvolvido para resolver problemas de congestionamento otimizaccedilatildeo da banda econvergecircncia da rede com proteccedilatildeo do traacutefego por reserva de recursos A estrateacutegia doMPLS-TE eacute calcular caminhos baseados em restriccedilotildees como banda disponiacutevel latecircncia eperda de pacotes sugerindo uma rota diferente do IGP que tipicamente natildeo realiza enge-nharia de traacutefego [Xiao et al 2000 Alvarez 2016] O caacutelculo de caminhos baseados emrestriccedilotildees eacute feito pelo PCE (Path Computation Element) papel desempenhado pelo planode controle dos roteadores de nuacutecleo (Figura 58) O caminho calculado pela engenhariade traacutefego eacute implementado como um tuacutenel unidirecional (tuacutenel TE) iniciado no roteadorde nuacutecleo de origem (head end LSR) e terminado no roteador de nuacutecleo de destino (tailend LSR) O tuacutenel eacute identificado a partir de um roacutetulo a mais aleacutem dos roacutetulos do protocoloLDP A reserva de recursos para o caminho eacute feita pelo protocolo RSVP-TE (ResourcereSerVation Protocol ndash Traffic Engineering) uma extensatildeo do RSVP [Rose 2014] ORSVP-TE eacute usado para o estabelecimento de LSPs que podem ser configurados manual-mente (Explicit LSP) ou dinamicamente (Dynamic LSP) atraveacutes de um IGP com extensotildeespara engenharia de traacutefego como o OSPF-TE [Rose 2014] Na Figura 58 o roteador R1utiliza a base de dados da topologia TE que conteacutem muacuteltiplas meacutetricas por enlace paracalcular o caminho ateacute R8 atraveacutes do PCE presente em R1 O RSVP-TE cria LSPs adi-cionais distribuindo os roacutetulos entre os roteadores R1 e R8 As mensagens RSVP-TEde caminho satildeo enviadas periodicamente pelo roteador de nuacutecleo de origem para cadaroteador de nuacutecleo intermediaacuterio pertencente ao tuacutenel contendo uma lista de atributos aserem analisados Esses atributos possuem os valores das meacutetricas utilizadas no caacutelculodos caminhos As mensagens de reserva de recursos satildeo enviadas pelo roteador de des-tino apoacutes receber uma mensagem de estabelecimento de caminho iniciando o processo dedistribuiccedilatildeo de roacutetulos no qual cada roteador intermediaacuterio informa o roacutetulo a ser usadopelo antecessor Se um dos roteadores intermediaacuterios natildeo puder confirmar a reserva umamensagem de erro eacute enviada ao roteador de nuacutecleo de origem do tuacutenel [Alvarez 2016]

Um dos requisitos da engenharia de traacutefego eacute a capacidade de re-rotear um tuacutenelTE baseado em poliacuteticas administrativas O mecanismo de re-roteamento raacutepido (Fast Re-route ndash FRR) previne falhas de noacutes e de enlaces O mecanismo pode ser usado para trocarpara rotas com melhor desempenho em caso de falhas de recursos do tuacutenel ou utilizarnovas rotas por decisotildees administrativas A Figura 59 mostra a criaccedilatildeo do tuacutenel primaacuterioformado pelos roteadores A B D E e do tuacutenel de proteccedilatildeo provisionado nos roteadoresB C e D [Osborne e Simha 2002 Alvarez 2016] A engenharia de traacutefego tambeacutem podeser usada para balanceamento de traacutefego atraveacutes de muacuteltiplos tuacuteneis TE A malha de tuacuteneise sua banda podem ser configurados manual ou automaticamente atraveacutes de um roteirorepetitivo de configuraccedilotildees [Osborne e Simha 2002] Em uma topologia em malha tantopara balanceamento de traacutefego quanto para proteccedilatildeo os caminhos precisam ser disjuntosEntretanto alguns tuacuteneis podem utilizar o mesmo recurso fiacutesico como o mesmo cabo defibra oacuteptica No exemplo da Figura 510 o SRLG (Shared Risk Link Group) de nuacutemero10 indica a presenccedila de um enlace fiacutesico comum entre os caminhos R2-R4R2-R3 Ainformaccedilatildeo do SRLG eacute usada como um atributo adicional ao caminho original fornecidopelo IGP para evitar a configuraccedilatildeo de tuacuteneis no mesmo enlace fiacutesico [Alvarez 2016]

Figura 58 Caacutelculo de caminho do tuacutenel TE

525 Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

A operadora de telecomunicaccedilotildees utiliza a engenharia de traacutefego para o tratamentode falhas nos enlaces fiacutesicos da rede Tipicamente a camada fiacutesica ou rede de transporteeacute composta por equipamentos DWDM (Dense Wavelength Division Multiplex) ROADM(Reconfigurable Add Drop Multiplex) e comutadores OTN (Optical Transport Network)Esses elementos realizam a multiplexaccedilatildeo e comutaccedilatildeo do traacutefego no domiacutenio oacuteptico eeleacutetrico aleacutem de realizar funccedilotildees de formataccedilatildeo e regeneraccedilatildeo dos sinais de proteccedilatildeo ede restauraccedilatildeo da rede A rede de transporte possui um plano de controle proacuteprio baseadono padratildeo ASON (Automatically Switched Optical Network) [Je e Ly 2012] e GMPLS(Generalized MPLS) [J 2011]

A rede de transporte eacute segregada da rede de roteadores de nuacutecleo (camada L3)sendo necessaacuteria a configuraccedilatildeo de SRLGs para evitar tuacuteneis primaacuterios e de proteccedilatildeo emum mesmo enlace fiacutesico Eacute comum o cenaacuterio com proteccedilotildees e restauraccedilotildees em ambas asredes ocasionando desperdiacutecio da banda disponiacutevel A Figura 511 ilustra a separaccedilatildeoentre as redes de transporte e de roteadores de nuacutecleo (rede IPMPLS) Essa separaccedilatildeoevidencia o desacoplamento dos planos de controle de cada camada resultando em umaocupaccedilatildeo natildeo otimizada da banda disponiacutevel como resultado da configuraccedilatildeo de proteccedilatildeode muacuteltiplas camadas

A configuraccedilatildeo manual ocorre frequentemente devido agraves mudanccedilas da matriz detraacutefego e da topologia fiacutesica muitas vezes como decorrecircncia de falhas nos enlaces Emqualquer dos casos a malha de tuacuteneis deve ser reconfigurada para se adequar ao novopadratildeo de traacutefego Outro problema das operadoras eacute o tempo de convergecircncia da rede emcaso de falhas intrinsecamente relacionado agrave separaccedilatildeo da rede de roteadores de nuacutecleo(camada L3) da rede de transporte (camadas L0 L1 e L2) A desvinculaccedilatildeo da topologia

Figura 59 Tuacutenel primaacuterio e de proteccedilatildeo

Figura 510 SLRG (Shared Risk Link Group)

de rede fiacutesica da rede loacutegica de tuacuteneis TE eacute um desafio enfrentado pelas operadoras poisuma interrupccedilatildeo em um enlace fiacutesico pode corresponder agrave interrupccedilatildeo de ambos os tuacuteneiso TE principal e reserva

53 Conceitos de Redes Definidas por SoftwareO Roteamento por segmentos utiliza aplicaccedilotildees de Redes Definidas por Software

(SDN) para o caacutelculo dos caminhos dos tuacuteneis MPLS baseado nos paracircmetros de enge-nharia de traacutefego A configuraccedilatildeo do tuacutenel eacute representada por uma lista ordenada de seg-mentos As SDNs constituem uma mudanccedila de paradigma em redes separando o plano decontrole do plano de encaminhamento rompe a integraccedilatildeo vertical comum em roteadorese comutadores A centralizaccedilatildeo do controle da rede por outro lado introduz maiores capa-cidade de programaccedilatildeo e flexibilidade de utilizaccedilatildeo [Kreutz et al 2015 Hu et al 2014]

531 Arquitetura e Desenvolvimento da SDN

Em redes IP tradicionais os plano de controle e de dados satildeo acoplados e embuti-dos no mesmo dispositivo de rede Essa integraccedilatildeo vertical eacute uma das razotildees pelas quais

Figura 511 Separaccedilatildeo de camadas de rede de transporte e IPMPLS

as redes IP possuem gerenciamento e controle complexos sendo ainda pouco flexiacuteveisagrave introduccedilatildeo de inovaccedilotildees tecnoloacutegicas Para gerecircncia de redes a maior parte dos fa-bricantes oferece soluccedilotildees com hardware sistemas operacionais e programas de controleproprietaacuterios As redes de nuacutecleo IPMPLS apresentam tambeacutem grande complexidade deconfiguraccedilatildeo devido aos inuacutemeros protocolos envolvidos bem como a falta de flexibili-dade em resposta a mudanccedilas da rede falhas e balanceamento de traacutefego

A arquitetura de rede SDN se baseia em quatro pilares desacoplamento do planode controle do plano de dados decisotildees baseadas em fluxos ao inveacutes do endereccedilamentode destino programaccedilatildeo de fluxos flexiacutevel limitada ao tamanho das tabelas de fluxose loacutegica de controle em entidade externa denominada controlador O controlador eacute umaplataforma de software ou um sistema operacional de rede (Network Operating System- NOS) executado em um servidor de uso comum COTS O objetivo eacute prover os recur-sos essenciais de rede e abstraccedilotildees para facilitar a programaccedilatildeo de qualquer dispositivode encaminhamento Em uma visatildeo simplificada da arquitetura SDN a infraestrutura fiacute-sica eacute formada pelos dispositivos de encaminhamento como comutadores ou roteadoressem plano de controle ou com o plano de controle reduzido e com interfaces de progra-maccedilatildeo abertas A Figura 512 mostra a arquitetura de uma SDN [Kreutz et al 2015]O plano de dados eacute constituiacutedo pela infraestrutura de rede e interfaces southbound (SBIndash southbound interface) A infraestrutura de rede similar a uma rede tradicional cor-responde aos dispositivos que desempenham instruccedilotildees elementares de encaminhamentode traacutefego Estas instruccedilotildees satildeo definidas por interfaces abertas SBI como por exemploo OpenFlow [Lara et al 2014] O plano de controle eacute constituiacutedo por uma camada devirtualizaccedilatildeo outra camada correspondente ao sistema operacional de rede e as interfacesnorthbound (NBI) O sistema operacional de rede pode estar ou natildeo em uma infraestruturade hardware virtualizada atraveacutes do hipervisor que permite a criaccedilatildeo de maacutequinas virtu-ais no servidor fiacutesico onde eacute instalado o controlador de rede O controlador ou sistemaoperacional de rede programa os dispositivos de rede Por fim as interfaces northboundoferecem APIs para desenvolvedores de aplicaccedilotildees O plano de gerecircncia corresponde aoconjunto de aplicaccedilotildees utilizando linguagens de programaccedilatildeo apropriadas para o ambi-ente virtualizado que interliga todas as funcionalidades de rede para que as aplicaccedilotildeespossam implementar a loacutegica e controle da rede atraveacutes da NBI O plano de dados eacute res-ponsaacutevel pelo encaminhamento dos pacotes e eacute composto pela infraestrutura de rede quecorresponde ao elementos fiacutesicos da rede e por interfaces NBI responsaacuteveis pela comuni-

caccedilatildeo entre o plano de controle e o plano de dados A seguir seratildeo detalhadas cada umadas camadas da arquitetura SDN

Figura 512 Diagrama de arquitetura de sistema de rede SDN

532 Plano de Dados

O plano de encaminhamento de dados eacute composto pela infraestrutura de rede fiacutesicae pelas interfaces southbound onde protocolos abertos ou proprietaacuterios podem ser usadospara programaccedilatildeo dos dispositivos de rede como o CWMP (CPE WAN ManagementProtocol) definido na norma ETSI TR-069 ou o protocolo SNMP (Simple Network Ma-nagement Protocol) padronizado pelo IETF O SNMP foi concebido para gerenciamentode dispositivos de rede atraveacutes de operaccedilotildees do tipo ldquoGETrdquo e ldquoSETrdquo de informaccedilotildees emuma base de dados (Management Information Base ndash MIB)

5321 Infraestrutura de Rede

A infraestrutura fiacutesica das redes SDN eacute similar agrave das redes tradicionais com adiferenccedila dos dispositivos serem simplesmente elementos de encaminhamento de da-dos [Nunes et al 2014] ou seja sem controle ou software embarcado que permita odispositivo tomar decisotildees autocircnomas A inteligecircncia reside no sistema operacional derede e nas aplicaccedilotildees de rede que acessam os elementos da infraestrutura atraveacutes dasinterfaces southbound como por exemplo o OpenFlow

5322 Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros

Atualmente muitas interfaces abertas podem ser empregadas como interface south-bound em redes SDN Aleacutem do OpenFlow pode-se utilizar os protocolos NETCONF[RFC6241 2011] BGP-LS (Border Gateway Protocol - Link State) [RFC7752 2016a]PCEP (Path Computation Element Communication Protocol) [RFC5440 2009] OVSDB(Open vSwitch Database) [RFC7047 2013] SNMP (Simple Network Management Pro-tocol) [RFC1157 1990] a TL1 (Transaction Language 1) [Telcordia GR-831 1996] ea CLI (Command Line Interface) [ISOIEC 232712012 2012] A linguagem TL1 foi

desenvolvida especificamente para equipamentos de telecomunicaccedilotildees cujo objetivo eacute acomunicaccedilatildeo entre maacutequinas O protocolo NETCONF foi desenvolvido para ser o suces-sor natural do SNMP pois o SNMP tinha o foco no monitoramento e natildeo na configuraccedilatildeoda rede O OVSDB eacute um protocolo de gerenciamento projetado para redes definidas porsoftware Originalmente o OVSDB era parte do OVS (Open vSwitch) um comutador vir-tual projetado para hipervisores Linux O OVS representa uma evoluccedilatildeo dos protocolosde gerenciamento de rede permitindo programar e configurar pontes portas e interfacesde plataformas de equipamentos SDN e de virtualizaccedilatildeo de funccedilotildees de rede (NetworkFunctions Virtualization ndash NFV) [Andreas et al 2015] A seguir satildeo detalhadas os prin-cipais protocolos de interfaces SBI

NETCONF e YANG

O NETCONF eacute um protocolo de gerenciamento de rede definido pelo IETF paraconfiguraccedilatildeo e monitoramento da rede sendo este uacuteltimo papel desempenhado pelo SNMPdesde o final dos anos 80 O SNMP tinha como ponto fraco a ausecircncia de recursos deconfiguraccedilatildeo de rede aleacutem da interface binaacuteria BER (Basic Encoding Rules) e MIBs pro-prietaacuterias O protocolo NETCONF utiliza mecanismos que permitem instalar manipulare apagar a configuraccedilatildeo de dispositivos de rede atraveacutes de uma implementaccedilatildeo cliente-servidor ilustrada na Figura 513

Figura 513 Modelo de implementaccedilatildeo cliente-servidor do NETCONF

Apoacutes o estabelecimento da sessatildeo segura de transporte entre cliente e servidoro protocolo NETCONF envia uma mensagem HELLO para anuacutencio das capacidades doprotocolo e modelos de dados suportados O NETCONF suporta ainda a subscriccedilatildeo e orecebimento de notificaccedilotildees de eventos de forma assiacutencrona assim como o fechamentoparcial de uma configuraccedilatildeo corrente de um dispositivo de rede Esta funcionalidade per-mite muacuteltiplas sessotildees de ediccedilatildeo agilizando o processo de configuraccedilatildeo O NETCONFpermite o monitoramento e gerenciamento por uma entidade autocircnoma (o gerente NET-CONF) que utiliza repositoacuterio de dados sessotildees fechamentos e estatiacutesticas disponiacuteveisno servidor NETCONF

O YANG eacute uma linguagem formal com texto claro de modelo de dados com sin-

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

52 Limitaccedilotildees das Tecnologias das Redes de NuacutecleoAs limitaccedilotildees da comutaccedilatildeo de pacotes IP exigiram da induacutestria o desenvolvi-

mento de tecnologias que trouxessem desempenho agraves redes de roteadores As soluccedilotildeesinicialmente propostas utilizavam comutadores ATM com roteamento baseado em gerecircn-cia de redes evoluindo para o desenvolvimento de um hardware que ampliasse a capaci-dade de comutaccedilatildeo separando os protocolos de controle da comutaccedilatildeo de pacotes sendoesta uacuteltima o embriatildeo das redes MPLS A tecnologia MPLS [Rose 2014] surgiu comouma proposta de evoluccedilatildeo das redes puacuteblicas de comutaccedilatildeo e encaminhamento de pa-cotes motivada pela convergecircncia da comunicaccedilatildeo digital (voz dados e viacutedeo) em umainfraestrutura comum A ideia era integrar o MPLS com as redes IP e com outros tipos deredes legadas como o Ethernet o Frame Relay e o proacuteprio ATM [El-Sayed e Jaffe 2002]

A rede IPMPLS tem planos de controle e de encaminhamento de dados imple-mentados em cada noacute da rede O plano de controle eacute mantido atraveacutes de protocolos comoo LDP (Label Distribution Protocol) para distribuiccedilatildeo dos roacutetulos e um protocolo IGPcomo o OSPF (Open Shortest Path First) para descoberta dos caminhos mais curtos de-nominados LSP (Label Switched Path) No caso de falha da rede o OSPF encontra umnovo caminho desviando o traacutefego para este [Santos et al 2007 De Ghein 2007]

Figura 52 Representaccedilatildeo de um roteador IPMPLS

521 Fundamentos do MPLS

Em uma rede MPLS o pacote IP recebe um roacutetulo (label) inserido entre o ca-beccedilalho IP e o cabeccedilalho do protocolo de camada inferior Um roacutetulo MPLS possui 32bits Os primeiros 20 bits satildeo o valor do roacutetulo Os trecircs proacuteximos bits satildeo experimentaisusados para marcaccedilatildeo de classes de serviccedilo Esses bits satildeo seguidos pelo bit S (Bottomof Stack) cujo valor eacute 0 se o roacutetulo eacute o inferior da pilha de roacutetulos ou 1 caso contraacuterioOs uacuteltimos 8 bits servem para limitar o tempo de vida do pacote (Time to Live - TTL) deforma similar ao IP [Marzo et al 2003] A Figura 53(a) ilustra o roacutetulo MPLS

Os roteadores MPLS podem processar um conjunto de roacutetulos no pacote or-ganizados em pilha sendo o primeiro denominado de externo ou superior (top label)

(a) Estrutura do roacutetulo MPLS (b) Empilhamento de roacutetulos MPLS

Figura 53 Encapsulamento MPLS

e o uacuteltimo roacutetulo interno ou inferior (bottom label) (Figura 53(b)) Assim satildeo pos-siacuteveis aplicaccedilotildees como redes privativas virtuais (Vitual Private Networks - VPN) e li-nhas alugadas virtuais (Virtual Leased Lines - VLL ou Virtual Private LAN Service -VPLS) [Sadok e Kamienski 2000] O transporte de outras tecnologias sobre o MPLS(AToM - Any Transport Over MPLS) eacute uma caracteriacutestica fundamental para o Roteamentopor Segmentos [Pepelnjak e Guichard 2003 Asati 2012]

A tecnologia MPLS introduziu mecanismos como qualidade de serviccedilo engenha-ria de traacutefego [Sadok e Kamienski 2000] bem como novos serviccedilos do tipo VPN na redede nuacutecleo das operadoras de telecomunicaccedilotildees Existem dois tipos principais de VPN decamada 2 (VPN Layer 2) por exemplo o Ethernet ou o ATM e o de camada 3 (VPN Layer3) que transporta protocolos de camada 3 mais especificamente o IP A rede IPMPLSeacute muitas vezes considerada como uma rede multisserviccedilo jaacute que oferece suporte a redesIP VPN Frame Relay etc

522 Arquitetura de Redes IPMPLS

A arquitetura de uma rede IPMPLS eacute composta por roteadores de borda deno-minados PE (Provider Edge) ou LER (Label Edge Router) que inserem e retiram roacute-tulos dos pacotes Os roteadores intermediaacuterios (P ndash Provider ou LSR ndash Label SwitchRouter) realizam a comutaccedilatildeo de roacutetulos enviando o pacote enlace a enlace O CE(Customer Edge) representa o roteador IP que pertence a um determinado sistema autocirc-nomo [De Ghein 2007 Systems 2001] A sequecircncia de roacutetulos que forma o circuito vir-tual eacute um LSP (Label Switched Path) unidirecional (Figura 54) Ao separar o plano decontrole do plano de encaminhamento de pacotes o MPLS permite que novas facilidadessejam inseridas no plano de controle sem necessidade de criar um novo plano de encami-nhamento Essa eacute a base para que aplicaccedilotildees como a engenharia de traacutefego sejam criadasa partir do encaminhamento baseado em roacutetulos A tabela FEC (Fowarding EquivalenceClass) associa o endereccedilo IP de destino com o roacutetulo de entrada na rede MPLS

Os roteadores de borda (LER) recebem os pacotes IP provenientes do roteador

Figura 54 Arquitetura de Rede IPMPLS

cliente (CE) de origem inserindoretirando um roacutetulo adequado ao seu IP de destino eclasse de serviccedilo Essas operaccedilotildees denominam-se inserccedilatildeoremoccedilatildeo de roacutetulo (pushpop)No interior da rede o pacote eacute comutado nos roteadores LSR intermediaacuterios apenas combase na informaccedilatildeo dos roacutetulos A informaccedilatildeo de roacutetulos em uso estaacute contida em uma basede instacircncias de roacutetulos de encaminhamento (Label Forwarding Information Base - LFIB)em cada um dos roteadores intermediaacuterios do nuacutecleo da rede Na outra extremidade oroteador MPLS de borda faz a operaccedilatildeo inversa retirando o roacutetulo e entregando o pacotepara a rede do roteador cliente de destino O processo de comutaccedilatildeo de roacutetulos eacute mostradona Figura 55 A tabela FEC associa o endereccedilo IP de destino com o roacutetulo de entradae saiacuteda na rede MPLS O protocolo LDP (Label Distribution Protocol) eacute responsaacutevelpela distribuiccedilatildeo de roacutetulos trocando informaccedilotildees da FEC e roacutetulos associados entre osroteadores MPLS de borda e intermediaacuterios Dessa forma procura-se manter a coerecircnciaentre os LSPs formados e os prefixos IP dos pacotes encaminhados [Rose 2014]

As tabelas FEC (Figura 55) satildeo preenchidas por algum protocolo de roteamento(ex OSPF BGP) entre o CE de origem e o de destino O protocolo LDP identifica seusvizinhos atraveacutes de mensagens HELLO Para cada entrada da tabela de roteamento eacute criadauma entrada na FEC associando um roacutetulo de entrada Os roteadores de nuacutecleo (LERse LSRs) anunciam aos seus vizinhos o par FECRoacutetulo de Entrada sendo esta operaccedilatildeodenominada distribuiccedilatildeo de roacutetulos Cada roteador de nuacutecleo monta uma tabela com-pleta com FECRoacutetulo de EntradaRoacutetulo de SaiacutedaPorta denominada LFIB (Figura 55)Dessa forma o plano de encaminhamento eacute responsaacutevel pela comutaccedilatildeo dos pacotes ba-seado apenas nos roacutetulos envolvendo as operaccedilotildees de comutaccedilatildeo inserccedilatildeo e retirada deroacutetulos No plano de controle o protocolo LDP traduz as tabelas de roacutetulos em informa-ccedilotildees da tabela de roteamento Ainda no plano de controle o caacutelculo de caminhos na redeMPLS eacute feito por um IGP

523 Serviccedilos de Rede IPMPLS

O principal serviccedilo em redes IPMPLS eacute o VPN que pode ser configurado emtopologias do tipo malha completa ou parcial ou matriz-filial (hub and spoke) O MPLS

Figura 55 Comutaccedilatildeo MPLS

permite dois tipos de VPN [Pepelnjak e Guichard 2003 Asati 2012] a VPN de camada3 (VPN L3) e a de camada 2 (VPN L2)

As VPNs L3 permitem a troca de protocolos de roteamento ldquopeeringrdquo entre osroteadores cliente (CE) e os roteadores de borda do nuacutecleo (LER) As portas do LER satildeoassociadas a uma VPN atraveacutes de uma instacircncia de roteamento chamada VRF (VirtualRouting and Forwarding tables) As VRFs satildeo utilizadas para definir os LSPs Como cadaVPN utiliza sua proacutepria VRF os CEs de diferentes VPNs podem ter o mesmo endereccediloIP Os CEs utilizam protocolos de roteamento tradicionais como OSPF RIP e BGP comos LERs aos quais estatildeo diretamente conectados Os roteadores de borda (LER) trocaminformaccedilotildees aprendidas pelos roteadores de cliente (CEs) diretamente conectados atraveacutesdo protocolo MP-BGP (MultiProtocol-BGP) Na percepccedilatildeo do roteador do cliente a redeIPMPLS funciona como uma rede IP dedicada O processo de encaminhamento dasVPNs utiliza dois roacutetulos ou seja o roteador de nuacutecleo de borda insere dois roacutetulosMPLS entre o cabeccedilalho de camada 2 e o cabeccedilalho IP empilhando roacutetulos O roacutetulomais externo refere-se ao roteador de nuacutecleo (LER) de destino enquanto o roacutetulo maisinterno refere-se agrave VPN O MPLS tambeacutem possui a funcionalidade PHP (PenultimateHop Popping) onde o penuacuteltimo LSR (penultimate LSR) retira o roacutetulo mais externo antesde entregar o pacote ao LER Esse processo eacute uacutetil em VPNs L3 pois reduz a carga deprocessamento do LER eliminando um roacutetulo para ser processado O LER anuncia oroacutetulo de valor 3 que significa a funcionalidade de PHP Esse roacutetulo eacute chamado implicit-null que quando usado leva agrave perda das informaccedilotildees de QoS dos bits experimentais Asoluccedilatildeo eacute o uso de roacutetulos especiais denominados explicit-null (valor 0) que eacute lido peloLER para fins de QoS mas removido da FIB A Figura 56 ilustra uma VPN L3

As VPNs L2 trocam com os roteadores de nuacutecleo apenas informaccedilotildees de camada2 sendo as informaccedilotildees de camada 3 trocadas apenas entre os CEs As VPNs L2 podem

Figura 56 Serviccedilo de rede privativa VPN L3

ser entendidas como um enlace virtual que pode ser ponto-a-ponto no caso do VLL eponto-multiponto no caso do VPLS O transporte de quadros L2 introduziu o conceito decircuito virtual (Virtual Circuit - VC) no MPLS Um LSP age como um tuacutenel que permitecarregar muacuteltiplos VCs enquanto o VC permite o transporte de quadros L2 O VC eacuteimplementando utilizando empilhamento de roacutetulos [IETF MPLS documents 2001] AFigura 57 mostra uma VPN L2 ponto-a-ponto com um LSP conectando os roteadores deborda dos clientes A e B O roteador de nuacutecleo de borda A informa ao B que o roteadorA receberaacute pela porta 1 os quadros L2 com outro roacutetulo enviando os quadros com doisroacutetulos fazendo com que chegue ao seu destino na porta correta

Figura 57 Serviccedilo de rede privativa VPN L2 ponto a ponto (VLL)

524 QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

O protocolo MPLS assim como o protocolo IP permite utilizar o modelo de Diff-Serv (Differentiated Services) [Marzo et al 2003] para implementaccedilatildeo de QoS O Diff-Serv gerencia os recursos de rede e cria classes de serviccedilo atendidas em filas diferentesconforme o niacutevel de prioridade do fluxo de dados [IETF MPLS documents 2001] En-quanto no IPv4 a classe de serviccedilo eacute indicada no campo DSCP (Differentiated Services

Code Point anteriormente ToS ndash Type of Service) [Marzo et al 2003] no MPLS a in-formaccedilatildeo eacute definida no campo EXP bits do roacutetulo

O conceito de engenharia de traacutefego MPLS-TE (MPLS ndash Traffic Engineering)foi desenvolvido para resolver problemas de congestionamento otimizaccedilatildeo da banda econvergecircncia da rede com proteccedilatildeo do traacutefego por reserva de recursos A estrateacutegia doMPLS-TE eacute calcular caminhos baseados em restriccedilotildees como banda disponiacutevel latecircncia eperda de pacotes sugerindo uma rota diferente do IGP que tipicamente natildeo realiza enge-nharia de traacutefego [Xiao et al 2000 Alvarez 2016] O caacutelculo de caminhos baseados emrestriccedilotildees eacute feito pelo PCE (Path Computation Element) papel desempenhado pelo planode controle dos roteadores de nuacutecleo (Figura 58) O caminho calculado pela engenhariade traacutefego eacute implementado como um tuacutenel unidirecional (tuacutenel TE) iniciado no roteadorde nuacutecleo de origem (head end LSR) e terminado no roteador de nuacutecleo de destino (tailend LSR) O tuacutenel eacute identificado a partir de um roacutetulo a mais aleacutem dos roacutetulos do protocoloLDP A reserva de recursos para o caminho eacute feita pelo protocolo RSVP-TE (ResourcereSerVation Protocol ndash Traffic Engineering) uma extensatildeo do RSVP [Rose 2014] ORSVP-TE eacute usado para o estabelecimento de LSPs que podem ser configurados manual-mente (Explicit LSP) ou dinamicamente (Dynamic LSP) atraveacutes de um IGP com extensotildeespara engenharia de traacutefego como o OSPF-TE [Rose 2014] Na Figura 58 o roteador R1utiliza a base de dados da topologia TE que conteacutem muacuteltiplas meacutetricas por enlace paracalcular o caminho ateacute R8 atraveacutes do PCE presente em R1 O RSVP-TE cria LSPs adi-cionais distribuindo os roacutetulos entre os roteadores R1 e R8 As mensagens RSVP-TEde caminho satildeo enviadas periodicamente pelo roteador de nuacutecleo de origem para cadaroteador de nuacutecleo intermediaacuterio pertencente ao tuacutenel contendo uma lista de atributos aserem analisados Esses atributos possuem os valores das meacutetricas utilizadas no caacutelculodos caminhos As mensagens de reserva de recursos satildeo enviadas pelo roteador de des-tino apoacutes receber uma mensagem de estabelecimento de caminho iniciando o processo dedistribuiccedilatildeo de roacutetulos no qual cada roteador intermediaacuterio informa o roacutetulo a ser usadopelo antecessor Se um dos roteadores intermediaacuterios natildeo puder confirmar a reserva umamensagem de erro eacute enviada ao roteador de nuacutecleo de origem do tuacutenel [Alvarez 2016]

Um dos requisitos da engenharia de traacutefego eacute a capacidade de re-rotear um tuacutenelTE baseado em poliacuteticas administrativas O mecanismo de re-roteamento raacutepido (Fast Re-route ndash FRR) previne falhas de noacutes e de enlaces O mecanismo pode ser usado para trocarpara rotas com melhor desempenho em caso de falhas de recursos do tuacutenel ou utilizarnovas rotas por decisotildees administrativas A Figura 59 mostra a criaccedilatildeo do tuacutenel primaacuterioformado pelos roteadores A B D E e do tuacutenel de proteccedilatildeo provisionado nos roteadoresB C e D [Osborne e Simha 2002 Alvarez 2016] A engenharia de traacutefego tambeacutem podeser usada para balanceamento de traacutefego atraveacutes de muacuteltiplos tuacuteneis TE A malha de tuacuteneise sua banda podem ser configurados manual ou automaticamente atraveacutes de um roteirorepetitivo de configuraccedilotildees [Osborne e Simha 2002] Em uma topologia em malha tantopara balanceamento de traacutefego quanto para proteccedilatildeo os caminhos precisam ser disjuntosEntretanto alguns tuacuteneis podem utilizar o mesmo recurso fiacutesico como o mesmo cabo defibra oacuteptica No exemplo da Figura 510 o SRLG (Shared Risk Link Group) de nuacutemero10 indica a presenccedila de um enlace fiacutesico comum entre os caminhos R2-R4R2-R3 Ainformaccedilatildeo do SRLG eacute usada como um atributo adicional ao caminho original fornecidopelo IGP para evitar a configuraccedilatildeo de tuacuteneis no mesmo enlace fiacutesico [Alvarez 2016]

Figura 58 Caacutelculo de caminho do tuacutenel TE

525 Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

A operadora de telecomunicaccedilotildees utiliza a engenharia de traacutefego para o tratamentode falhas nos enlaces fiacutesicos da rede Tipicamente a camada fiacutesica ou rede de transporteeacute composta por equipamentos DWDM (Dense Wavelength Division Multiplex) ROADM(Reconfigurable Add Drop Multiplex) e comutadores OTN (Optical Transport Network)Esses elementos realizam a multiplexaccedilatildeo e comutaccedilatildeo do traacutefego no domiacutenio oacuteptico eeleacutetrico aleacutem de realizar funccedilotildees de formataccedilatildeo e regeneraccedilatildeo dos sinais de proteccedilatildeo ede restauraccedilatildeo da rede A rede de transporte possui um plano de controle proacuteprio baseadono padratildeo ASON (Automatically Switched Optical Network) [Je e Ly 2012] e GMPLS(Generalized MPLS) [J 2011]

A rede de transporte eacute segregada da rede de roteadores de nuacutecleo (camada L3)sendo necessaacuteria a configuraccedilatildeo de SRLGs para evitar tuacuteneis primaacuterios e de proteccedilatildeo emum mesmo enlace fiacutesico Eacute comum o cenaacuterio com proteccedilotildees e restauraccedilotildees em ambas asredes ocasionando desperdiacutecio da banda disponiacutevel A Figura 511 ilustra a separaccedilatildeoentre as redes de transporte e de roteadores de nuacutecleo (rede IPMPLS) Essa separaccedilatildeoevidencia o desacoplamento dos planos de controle de cada camada resultando em umaocupaccedilatildeo natildeo otimizada da banda disponiacutevel como resultado da configuraccedilatildeo de proteccedilatildeode muacuteltiplas camadas

A configuraccedilatildeo manual ocorre frequentemente devido agraves mudanccedilas da matriz detraacutefego e da topologia fiacutesica muitas vezes como decorrecircncia de falhas nos enlaces Emqualquer dos casos a malha de tuacuteneis deve ser reconfigurada para se adequar ao novopadratildeo de traacutefego Outro problema das operadoras eacute o tempo de convergecircncia da rede emcaso de falhas intrinsecamente relacionado agrave separaccedilatildeo da rede de roteadores de nuacutecleo(camada L3) da rede de transporte (camadas L0 L1 e L2) A desvinculaccedilatildeo da topologia

Figura 59 Tuacutenel primaacuterio e de proteccedilatildeo

Figura 510 SLRG (Shared Risk Link Group)

de rede fiacutesica da rede loacutegica de tuacuteneis TE eacute um desafio enfrentado pelas operadoras poisuma interrupccedilatildeo em um enlace fiacutesico pode corresponder agrave interrupccedilatildeo de ambos os tuacuteneiso TE principal e reserva

53 Conceitos de Redes Definidas por SoftwareO Roteamento por segmentos utiliza aplicaccedilotildees de Redes Definidas por Software

(SDN) para o caacutelculo dos caminhos dos tuacuteneis MPLS baseado nos paracircmetros de enge-nharia de traacutefego A configuraccedilatildeo do tuacutenel eacute representada por uma lista ordenada de seg-mentos As SDNs constituem uma mudanccedila de paradigma em redes separando o plano decontrole do plano de encaminhamento rompe a integraccedilatildeo vertical comum em roteadorese comutadores A centralizaccedilatildeo do controle da rede por outro lado introduz maiores capa-cidade de programaccedilatildeo e flexibilidade de utilizaccedilatildeo [Kreutz et al 2015 Hu et al 2014]

531 Arquitetura e Desenvolvimento da SDN

Em redes IP tradicionais os plano de controle e de dados satildeo acoplados e embuti-dos no mesmo dispositivo de rede Essa integraccedilatildeo vertical eacute uma das razotildees pelas quais

Figura 511 Separaccedilatildeo de camadas de rede de transporte e IPMPLS

as redes IP possuem gerenciamento e controle complexos sendo ainda pouco flexiacuteveisagrave introduccedilatildeo de inovaccedilotildees tecnoloacutegicas Para gerecircncia de redes a maior parte dos fa-bricantes oferece soluccedilotildees com hardware sistemas operacionais e programas de controleproprietaacuterios As redes de nuacutecleo IPMPLS apresentam tambeacutem grande complexidade deconfiguraccedilatildeo devido aos inuacutemeros protocolos envolvidos bem como a falta de flexibili-dade em resposta a mudanccedilas da rede falhas e balanceamento de traacutefego

A arquitetura de rede SDN se baseia em quatro pilares desacoplamento do planode controle do plano de dados decisotildees baseadas em fluxos ao inveacutes do endereccedilamentode destino programaccedilatildeo de fluxos flexiacutevel limitada ao tamanho das tabelas de fluxose loacutegica de controle em entidade externa denominada controlador O controlador eacute umaplataforma de software ou um sistema operacional de rede (Network Operating System- NOS) executado em um servidor de uso comum COTS O objetivo eacute prover os recur-sos essenciais de rede e abstraccedilotildees para facilitar a programaccedilatildeo de qualquer dispositivode encaminhamento Em uma visatildeo simplificada da arquitetura SDN a infraestrutura fiacute-sica eacute formada pelos dispositivos de encaminhamento como comutadores ou roteadoressem plano de controle ou com o plano de controle reduzido e com interfaces de progra-maccedilatildeo abertas A Figura 512 mostra a arquitetura de uma SDN [Kreutz et al 2015]O plano de dados eacute constituiacutedo pela infraestrutura de rede e interfaces southbound (SBIndash southbound interface) A infraestrutura de rede similar a uma rede tradicional cor-responde aos dispositivos que desempenham instruccedilotildees elementares de encaminhamentode traacutefego Estas instruccedilotildees satildeo definidas por interfaces abertas SBI como por exemploo OpenFlow [Lara et al 2014] O plano de controle eacute constituiacutedo por uma camada devirtualizaccedilatildeo outra camada correspondente ao sistema operacional de rede e as interfacesnorthbound (NBI) O sistema operacional de rede pode estar ou natildeo em uma infraestruturade hardware virtualizada atraveacutes do hipervisor que permite a criaccedilatildeo de maacutequinas virtu-ais no servidor fiacutesico onde eacute instalado o controlador de rede O controlador ou sistemaoperacional de rede programa os dispositivos de rede Por fim as interfaces northboundoferecem APIs para desenvolvedores de aplicaccedilotildees O plano de gerecircncia corresponde aoconjunto de aplicaccedilotildees utilizando linguagens de programaccedilatildeo apropriadas para o ambi-ente virtualizado que interliga todas as funcionalidades de rede para que as aplicaccedilotildeespossam implementar a loacutegica e controle da rede atraveacutes da NBI O plano de dados eacute res-ponsaacutevel pelo encaminhamento dos pacotes e eacute composto pela infraestrutura de rede quecorresponde ao elementos fiacutesicos da rede e por interfaces NBI responsaacuteveis pela comuni-

caccedilatildeo entre o plano de controle e o plano de dados A seguir seratildeo detalhadas cada umadas camadas da arquitetura SDN

Figura 512 Diagrama de arquitetura de sistema de rede SDN

532 Plano de Dados

O plano de encaminhamento de dados eacute composto pela infraestrutura de rede fiacutesicae pelas interfaces southbound onde protocolos abertos ou proprietaacuterios podem ser usadospara programaccedilatildeo dos dispositivos de rede como o CWMP (CPE WAN ManagementProtocol) definido na norma ETSI TR-069 ou o protocolo SNMP (Simple Network Ma-nagement Protocol) padronizado pelo IETF O SNMP foi concebido para gerenciamentode dispositivos de rede atraveacutes de operaccedilotildees do tipo ldquoGETrdquo e ldquoSETrdquo de informaccedilotildees emuma base de dados (Management Information Base ndash MIB)

5321 Infraestrutura de Rede

A infraestrutura fiacutesica das redes SDN eacute similar agrave das redes tradicionais com adiferenccedila dos dispositivos serem simplesmente elementos de encaminhamento de da-dos [Nunes et al 2014] ou seja sem controle ou software embarcado que permita odispositivo tomar decisotildees autocircnomas A inteligecircncia reside no sistema operacional derede e nas aplicaccedilotildees de rede que acessam os elementos da infraestrutura atraveacutes dasinterfaces southbound como por exemplo o OpenFlow

5322 Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros

Atualmente muitas interfaces abertas podem ser empregadas como interface south-bound em redes SDN Aleacutem do OpenFlow pode-se utilizar os protocolos NETCONF[RFC6241 2011] BGP-LS (Border Gateway Protocol - Link State) [RFC7752 2016a]PCEP (Path Computation Element Communication Protocol) [RFC5440 2009] OVSDB(Open vSwitch Database) [RFC7047 2013] SNMP (Simple Network Management Pro-tocol) [RFC1157 1990] a TL1 (Transaction Language 1) [Telcordia GR-831 1996] ea CLI (Command Line Interface) [ISOIEC 232712012 2012] A linguagem TL1 foi

desenvolvida especificamente para equipamentos de telecomunicaccedilotildees cujo objetivo eacute acomunicaccedilatildeo entre maacutequinas O protocolo NETCONF foi desenvolvido para ser o suces-sor natural do SNMP pois o SNMP tinha o foco no monitoramento e natildeo na configuraccedilatildeoda rede O OVSDB eacute um protocolo de gerenciamento projetado para redes definidas porsoftware Originalmente o OVSDB era parte do OVS (Open vSwitch) um comutador vir-tual projetado para hipervisores Linux O OVS representa uma evoluccedilatildeo dos protocolosde gerenciamento de rede permitindo programar e configurar pontes portas e interfacesde plataformas de equipamentos SDN e de virtualizaccedilatildeo de funccedilotildees de rede (NetworkFunctions Virtualization ndash NFV) [Andreas et al 2015] A seguir satildeo detalhadas os prin-cipais protocolos de interfaces SBI

NETCONF e YANG

O NETCONF eacute um protocolo de gerenciamento de rede definido pelo IETF paraconfiguraccedilatildeo e monitoramento da rede sendo este uacuteltimo papel desempenhado pelo SNMPdesde o final dos anos 80 O SNMP tinha como ponto fraco a ausecircncia de recursos deconfiguraccedilatildeo de rede aleacutem da interface binaacuteria BER (Basic Encoding Rules) e MIBs pro-prietaacuterias O protocolo NETCONF utiliza mecanismos que permitem instalar manipulare apagar a configuraccedilatildeo de dispositivos de rede atraveacutes de uma implementaccedilatildeo cliente-servidor ilustrada na Figura 513

Figura 513 Modelo de implementaccedilatildeo cliente-servidor do NETCONF

Apoacutes o estabelecimento da sessatildeo segura de transporte entre cliente e servidoro protocolo NETCONF envia uma mensagem HELLO para anuacutencio das capacidades doprotocolo e modelos de dados suportados O NETCONF suporta ainda a subscriccedilatildeo e orecebimento de notificaccedilotildees de eventos de forma assiacutencrona assim como o fechamentoparcial de uma configuraccedilatildeo corrente de um dispositivo de rede Esta funcionalidade per-mite muacuteltiplas sessotildees de ediccedilatildeo agilizando o processo de configuraccedilatildeo O NETCONFpermite o monitoramento e gerenciamento por uma entidade autocircnoma (o gerente NET-CONF) que utiliza repositoacuterio de dados sessotildees fechamentos e estatiacutesticas disponiacuteveisno servidor NETCONF

O YANG eacute uma linguagem formal com texto claro de modelo de dados com sin-

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

(a) Estrutura do roacutetulo MPLS (b) Empilhamento de roacutetulos MPLS

Figura 53 Encapsulamento MPLS

e o uacuteltimo roacutetulo interno ou inferior (bottom label) (Figura 53(b)) Assim satildeo pos-siacuteveis aplicaccedilotildees como redes privativas virtuais (Vitual Private Networks - VPN) e li-nhas alugadas virtuais (Virtual Leased Lines - VLL ou Virtual Private LAN Service -VPLS) [Sadok e Kamienski 2000] O transporte de outras tecnologias sobre o MPLS(AToM - Any Transport Over MPLS) eacute uma caracteriacutestica fundamental para o Roteamentopor Segmentos [Pepelnjak e Guichard 2003 Asati 2012]

A tecnologia MPLS introduziu mecanismos como qualidade de serviccedilo engenha-ria de traacutefego [Sadok e Kamienski 2000] bem como novos serviccedilos do tipo VPN na redede nuacutecleo das operadoras de telecomunicaccedilotildees Existem dois tipos principais de VPN decamada 2 (VPN Layer 2) por exemplo o Ethernet ou o ATM e o de camada 3 (VPN Layer3) que transporta protocolos de camada 3 mais especificamente o IP A rede IPMPLSeacute muitas vezes considerada como uma rede multisserviccedilo jaacute que oferece suporte a redesIP VPN Frame Relay etc

522 Arquitetura de Redes IPMPLS

A arquitetura de uma rede IPMPLS eacute composta por roteadores de borda deno-minados PE (Provider Edge) ou LER (Label Edge Router) que inserem e retiram roacute-tulos dos pacotes Os roteadores intermediaacuterios (P ndash Provider ou LSR ndash Label SwitchRouter) realizam a comutaccedilatildeo de roacutetulos enviando o pacote enlace a enlace O CE(Customer Edge) representa o roteador IP que pertence a um determinado sistema autocirc-nomo [De Ghein 2007 Systems 2001] A sequecircncia de roacutetulos que forma o circuito vir-tual eacute um LSP (Label Switched Path) unidirecional (Figura 54) Ao separar o plano decontrole do plano de encaminhamento de pacotes o MPLS permite que novas facilidadessejam inseridas no plano de controle sem necessidade de criar um novo plano de encami-nhamento Essa eacute a base para que aplicaccedilotildees como a engenharia de traacutefego sejam criadasa partir do encaminhamento baseado em roacutetulos A tabela FEC (Fowarding EquivalenceClass) associa o endereccedilo IP de destino com o roacutetulo de entrada na rede MPLS

Os roteadores de borda (LER) recebem os pacotes IP provenientes do roteador

Figura 54 Arquitetura de Rede IPMPLS

cliente (CE) de origem inserindoretirando um roacutetulo adequado ao seu IP de destino eclasse de serviccedilo Essas operaccedilotildees denominam-se inserccedilatildeoremoccedilatildeo de roacutetulo (pushpop)No interior da rede o pacote eacute comutado nos roteadores LSR intermediaacuterios apenas combase na informaccedilatildeo dos roacutetulos A informaccedilatildeo de roacutetulos em uso estaacute contida em uma basede instacircncias de roacutetulos de encaminhamento (Label Forwarding Information Base - LFIB)em cada um dos roteadores intermediaacuterios do nuacutecleo da rede Na outra extremidade oroteador MPLS de borda faz a operaccedilatildeo inversa retirando o roacutetulo e entregando o pacotepara a rede do roteador cliente de destino O processo de comutaccedilatildeo de roacutetulos eacute mostradona Figura 55 A tabela FEC associa o endereccedilo IP de destino com o roacutetulo de entradae saiacuteda na rede MPLS O protocolo LDP (Label Distribution Protocol) eacute responsaacutevelpela distribuiccedilatildeo de roacutetulos trocando informaccedilotildees da FEC e roacutetulos associados entre osroteadores MPLS de borda e intermediaacuterios Dessa forma procura-se manter a coerecircnciaentre os LSPs formados e os prefixos IP dos pacotes encaminhados [Rose 2014]

As tabelas FEC (Figura 55) satildeo preenchidas por algum protocolo de roteamento(ex OSPF BGP) entre o CE de origem e o de destino O protocolo LDP identifica seusvizinhos atraveacutes de mensagens HELLO Para cada entrada da tabela de roteamento eacute criadauma entrada na FEC associando um roacutetulo de entrada Os roteadores de nuacutecleo (LERse LSRs) anunciam aos seus vizinhos o par FECRoacutetulo de Entrada sendo esta operaccedilatildeodenominada distribuiccedilatildeo de roacutetulos Cada roteador de nuacutecleo monta uma tabela com-pleta com FECRoacutetulo de EntradaRoacutetulo de SaiacutedaPorta denominada LFIB (Figura 55)Dessa forma o plano de encaminhamento eacute responsaacutevel pela comutaccedilatildeo dos pacotes ba-seado apenas nos roacutetulos envolvendo as operaccedilotildees de comutaccedilatildeo inserccedilatildeo e retirada deroacutetulos No plano de controle o protocolo LDP traduz as tabelas de roacutetulos em informa-ccedilotildees da tabela de roteamento Ainda no plano de controle o caacutelculo de caminhos na redeMPLS eacute feito por um IGP

523 Serviccedilos de Rede IPMPLS

O principal serviccedilo em redes IPMPLS eacute o VPN que pode ser configurado emtopologias do tipo malha completa ou parcial ou matriz-filial (hub and spoke) O MPLS

Figura 55 Comutaccedilatildeo MPLS

permite dois tipos de VPN [Pepelnjak e Guichard 2003 Asati 2012] a VPN de camada3 (VPN L3) e a de camada 2 (VPN L2)

As VPNs L3 permitem a troca de protocolos de roteamento ldquopeeringrdquo entre osroteadores cliente (CE) e os roteadores de borda do nuacutecleo (LER) As portas do LER satildeoassociadas a uma VPN atraveacutes de uma instacircncia de roteamento chamada VRF (VirtualRouting and Forwarding tables) As VRFs satildeo utilizadas para definir os LSPs Como cadaVPN utiliza sua proacutepria VRF os CEs de diferentes VPNs podem ter o mesmo endereccediloIP Os CEs utilizam protocolos de roteamento tradicionais como OSPF RIP e BGP comos LERs aos quais estatildeo diretamente conectados Os roteadores de borda (LER) trocaminformaccedilotildees aprendidas pelos roteadores de cliente (CEs) diretamente conectados atraveacutesdo protocolo MP-BGP (MultiProtocol-BGP) Na percepccedilatildeo do roteador do cliente a redeIPMPLS funciona como uma rede IP dedicada O processo de encaminhamento dasVPNs utiliza dois roacutetulos ou seja o roteador de nuacutecleo de borda insere dois roacutetulosMPLS entre o cabeccedilalho de camada 2 e o cabeccedilalho IP empilhando roacutetulos O roacutetulomais externo refere-se ao roteador de nuacutecleo (LER) de destino enquanto o roacutetulo maisinterno refere-se agrave VPN O MPLS tambeacutem possui a funcionalidade PHP (PenultimateHop Popping) onde o penuacuteltimo LSR (penultimate LSR) retira o roacutetulo mais externo antesde entregar o pacote ao LER Esse processo eacute uacutetil em VPNs L3 pois reduz a carga deprocessamento do LER eliminando um roacutetulo para ser processado O LER anuncia oroacutetulo de valor 3 que significa a funcionalidade de PHP Esse roacutetulo eacute chamado implicit-null que quando usado leva agrave perda das informaccedilotildees de QoS dos bits experimentais Asoluccedilatildeo eacute o uso de roacutetulos especiais denominados explicit-null (valor 0) que eacute lido peloLER para fins de QoS mas removido da FIB A Figura 56 ilustra uma VPN L3

As VPNs L2 trocam com os roteadores de nuacutecleo apenas informaccedilotildees de camada2 sendo as informaccedilotildees de camada 3 trocadas apenas entre os CEs As VPNs L2 podem

Figura 56 Serviccedilo de rede privativa VPN L3

ser entendidas como um enlace virtual que pode ser ponto-a-ponto no caso do VLL eponto-multiponto no caso do VPLS O transporte de quadros L2 introduziu o conceito decircuito virtual (Virtual Circuit - VC) no MPLS Um LSP age como um tuacutenel que permitecarregar muacuteltiplos VCs enquanto o VC permite o transporte de quadros L2 O VC eacuteimplementando utilizando empilhamento de roacutetulos [IETF MPLS documents 2001] AFigura 57 mostra uma VPN L2 ponto-a-ponto com um LSP conectando os roteadores deborda dos clientes A e B O roteador de nuacutecleo de borda A informa ao B que o roteadorA receberaacute pela porta 1 os quadros L2 com outro roacutetulo enviando os quadros com doisroacutetulos fazendo com que chegue ao seu destino na porta correta

Figura 57 Serviccedilo de rede privativa VPN L2 ponto a ponto (VLL)

524 QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

O protocolo MPLS assim como o protocolo IP permite utilizar o modelo de Diff-Serv (Differentiated Services) [Marzo et al 2003] para implementaccedilatildeo de QoS O Diff-Serv gerencia os recursos de rede e cria classes de serviccedilo atendidas em filas diferentesconforme o niacutevel de prioridade do fluxo de dados [IETF MPLS documents 2001] En-quanto no IPv4 a classe de serviccedilo eacute indicada no campo DSCP (Differentiated Services

Code Point anteriormente ToS ndash Type of Service) [Marzo et al 2003] no MPLS a in-formaccedilatildeo eacute definida no campo EXP bits do roacutetulo

O conceito de engenharia de traacutefego MPLS-TE (MPLS ndash Traffic Engineering)foi desenvolvido para resolver problemas de congestionamento otimizaccedilatildeo da banda econvergecircncia da rede com proteccedilatildeo do traacutefego por reserva de recursos A estrateacutegia doMPLS-TE eacute calcular caminhos baseados em restriccedilotildees como banda disponiacutevel latecircncia eperda de pacotes sugerindo uma rota diferente do IGP que tipicamente natildeo realiza enge-nharia de traacutefego [Xiao et al 2000 Alvarez 2016] O caacutelculo de caminhos baseados emrestriccedilotildees eacute feito pelo PCE (Path Computation Element) papel desempenhado pelo planode controle dos roteadores de nuacutecleo (Figura 58) O caminho calculado pela engenhariade traacutefego eacute implementado como um tuacutenel unidirecional (tuacutenel TE) iniciado no roteadorde nuacutecleo de origem (head end LSR) e terminado no roteador de nuacutecleo de destino (tailend LSR) O tuacutenel eacute identificado a partir de um roacutetulo a mais aleacutem dos roacutetulos do protocoloLDP A reserva de recursos para o caminho eacute feita pelo protocolo RSVP-TE (ResourcereSerVation Protocol ndash Traffic Engineering) uma extensatildeo do RSVP [Rose 2014] ORSVP-TE eacute usado para o estabelecimento de LSPs que podem ser configurados manual-mente (Explicit LSP) ou dinamicamente (Dynamic LSP) atraveacutes de um IGP com extensotildeespara engenharia de traacutefego como o OSPF-TE [Rose 2014] Na Figura 58 o roteador R1utiliza a base de dados da topologia TE que conteacutem muacuteltiplas meacutetricas por enlace paracalcular o caminho ateacute R8 atraveacutes do PCE presente em R1 O RSVP-TE cria LSPs adi-cionais distribuindo os roacutetulos entre os roteadores R1 e R8 As mensagens RSVP-TEde caminho satildeo enviadas periodicamente pelo roteador de nuacutecleo de origem para cadaroteador de nuacutecleo intermediaacuterio pertencente ao tuacutenel contendo uma lista de atributos aserem analisados Esses atributos possuem os valores das meacutetricas utilizadas no caacutelculodos caminhos As mensagens de reserva de recursos satildeo enviadas pelo roteador de des-tino apoacutes receber uma mensagem de estabelecimento de caminho iniciando o processo dedistribuiccedilatildeo de roacutetulos no qual cada roteador intermediaacuterio informa o roacutetulo a ser usadopelo antecessor Se um dos roteadores intermediaacuterios natildeo puder confirmar a reserva umamensagem de erro eacute enviada ao roteador de nuacutecleo de origem do tuacutenel [Alvarez 2016]

Um dos requisitos da engenharia de traacutefego eacute a capacidade de re-rotear um tuacutenelTE baseado em poliacuteticas administrativas O mecanismo de re-roteamento raacutepido (Fast Re-route ndash FRR) previne falhas de noacutes e de enlaces O mecanismo pode ser usado para trocarpara rotas com melhor desempenho em caso de falhas de recursos do tuacutenel ou utilizarnovas rotas por decisotildees administrativas A Figura 59 mostra a criaccedilatildeo do tuacutenel primaacuterioformado pelos roteadores A B D E e do tuacutenel de proteccedilatildeo provisionado nos roteadoresB C e D [Osborne e Simha 2002 Alvarez 2016] A engenharia de traacutefego tambeacutem podeser usada para balanceamento de traacutefego atraveacutes de muacuteltiplos tuacuteneis TE A malha de tuacuteneise sua banda podem ser configurados manual ou automaticamente atraveacutes de um roteirorepetitivo de configuraccedilotildees [Osborne e Simha 2002] Em uma topologia em malha tantopara balanceamento de traacutefego quanto para proteccedilatildeo os caminhos precisam ser disjuntosEntretanto alguns tuacuteneis podem utilizar o mesmo recurso fiacutesico como o mesmo cabo defibra oacuteptica No exemplo da Figura 510 o SRLG (Shared Risk Link Group) de nuacutemero10 indica a presenccedila de um enlace fiacutesico comum entre os caminhos R2-R4R2-R3 Ainformaccedilatildeo do SRLG eacute usada como um atributo adicional ao caminho original fornecidopelo IGP para evitar a configuraccedilatildeo de tuacuteneis no mesmo enlace fiacutesico [Alvarez 2016]

Figura 58 Caacutelculo de caminho do tuacutenel TE

525 Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

A operadora de telecomunicaccedilotildees utiliza a engenharia de traacutefego para o tratamentode falhas nos enlaces fiacutesicos da rede Tipicamente a camada fiacutesica ou rede de transporteeacute composta por equipamentos DWDM (Dense Wavelength Division Multiplex) ROADM(Reconfigurable Add Drop Multiplex) e comutadores OTN (Optical Transport Network)Esses elementos realizam a multiplexaccedilatildeo e comutaccedilatildeo do traacutefego no domiacutenio oacuteptico eeleacutetrico aleacutem de realizar funccedilotildees de formataccedilatildeo e regeneraccedilatildeo dos sinais de proteccedilatildeo ede restauraccedilatildeo da rede A rede de transporte possui um plano de controle proacuteprio baseadono padratildeo ASON (Automatically Switched Optical Network) [Je e Ly 2012] e GMPLS(Generalized MPLS) [J 2011]

A rede de transporte eacute segregada da rede de roteadores de nuacutecleo (camada L3)sendo necessaacuteria a configuraccedilatildeo de SRLGs para evitar tuacuteneis primaacuterios e de proteccedilatildeo emum mesmo enlace fiacutesico Eacute comum o cenaacuterio com proteccedilotildees e restauraccedilotildees em ambas asredes ocasionando desperdiacutecio da banda disponiacutevel A Figura 511 ilustra a separaccedilatildeoentre as redes de transporte e de roteadores de nuacutecleo (rede IPMPLS) Essa separaccedilatildeoevidencia o desacoplamento dos planos de controle de cada camada resultando em umaocupaccedilatildeo natildeo otimizada da banda disponiacutevel como resultado da configuraccedilatildeo de proteccedilatildeode muacuteltiplas camadas

A configuraccedilatildeo manual ocorre frequentemente devido agraves mudanccedilas da matriz detraacutefego e da topologia fiacutesica muitas vezes como decorrecircncia de falhas nos enlaces Emqualquer dos casos a malha de tuacuteneis deve ser reconfigurada para se adequar ao novopadratildeo de traacutefego Outro problema das operadoras eacute o tempo de convergecircncia da rede emcaso de falhas intrinsecamente relacionado agrave separaccedilatildeo da rede de roteadores de nuacutecleo(camada L3) da rede de transporte (camadas L0 L1 e L2) A desvinculaccedilatildeo da topologia

Figura 59 Tuacutenel primaacuterio e de proteccedilatildeo

Figura 510 SLRG (Shared Risk Link Group)

de rede fiacutesica da rede loacutegica de tuacuteneis TE eacute um desafio enfrentado pelas operadoras poisuma interrupccedilatildeo em um enlace fiacutesico pode corresponder agrave interrupccedilatildeo de ambos os tuacuteneiso TE principal e reserva

53 Conceitos de Redes Definidas por SoftwareO Roteamento por segmentos utiliza aplicaccedilotildees de Redes Definidas por Software

(SDN) para o caacutelculo dos caminhos dos tuacuteneis MPLS baseado nos paracircmetros de enge-nharia de traacutefego A configuraccedilatildeo do tuacutenel eacute representada por uma lista ordenada de seg-mentos As SDNs constituem uma mudanccedila de paradigma em redes separando o plano decontrole do plano de encaminhamento rompe a integraccedilatildeo vertical comum em roteadorese comutadores A centralizaccedilatildeo do controle da rede por outro lado introduz maiores capa-cidade de programaccedilatildeo e flexibilidade de utilizaccedilatildeo [Kreutz et al 2015 Hu et al 2014]

531 Arquitetura e Desenvolvimento da SDN

Em redes IP tradicionais os plano de controle e de dados satildeo acoplados e embuti-dos no mesmo dispositivo de rede Essa integraccedilatildeo vertical eacute uma das razotildees pelas quais

Figura 511 Separaccedilatildeo de camadas de rede de transporte e IPMPLS

as redes IP possuem gerenciamento e controle complexos sendo ainda pouco flexiacuteveisagrave introduccedilatildeo de inovaccedilotildees tecnoloacutegicas Para gerecircncia de redes a maior parte dos fa-bricantes oferece soluccedilotildees com hardware sistemas operacionais e programas de controleproprietaacuterios As redes de nuacutecleo IPMPLS apresentam tambeacutem grande complexidade deconfiguraccedilatildeo devido aos inuacutemeros protocolos envolvidos bem como a falta de flexibili-dade em resposta a mudanccedilas da rede falhas e balanceamento de traacutefego

A arquitetura de rede SDN se baseia em quatro pilares desacoplamento do planode controle do plano de dados decisotildees baseadas em fluxos ao inveacutes do endereccedilamentode destino programaccedilatildeo de fluxos flexiacutevel limitada ao tamanho das tabelas de fluxose loacutegica de controle em entidade externa denominada controlador O controlador eacute umaplataforma de software ou um sistema operacional de rede (Network Operating System- NOS) executado em um servidor de uso comum COTS O objetivo eacute prover os recur-sos essenciais de rede e abstraccedilotildees para facilitar a programaccedilatildeo de qualquer dispositivode encaminhamento Em uma visatildeo simplificada da arquitetura SDN a infraestrutura fiacute-sica eacute formada pelos dispositivos de encaminhamento como comutadores ou roteadoressem plano de controle ou com o plano de controle reduzido e com interfaces de progra-maccedilatildeo abertas A Figura 512 mostra a arquitetura de uma SDN [Kreutz et al 2015]O plano de dados eacute constituiacutedo pela infraestrutura de rede e interfaces southbound (SBIndash southbound interface) A infraestrutura de rede similar a uma rede tradicional cor-responde aos dispositivos que desempenham instruccedilotildees elementares de encaminhamentode traacutefego Estas instruccedilotildees satildeo definidas por interfaces abertas SBI como por exemploo OpenFlow [Lara et al 2014] O plano de controle eacute constituiacutedo por uma camada devirtualizaccedilatildeo outra camada correspondente ao sistema operacional de rede e as interfacesnorthbound (NBI) O sistema operacional de rede pode estar ou natildeo em uma infraestruturade hardware virtualizada atraveacutes do hipervisor que permite a criaccedilatildeo de maacutequinas virtu-ais no servidor fiacutesico onde eacute instalado o controlador de rede O controlador ou sistemaoperacional de rede programa os dispositivos de rede Por fim as interfaces northboundoferecem APIs para desenvolvedores de aplicaccedilotildees O plano de gerecircncia corresponde aoconjunto de aplicaccedilotildees utilizando linguagens de programaccedilatildeo apropriadas para o ambi-ente virtualizado que interliga todas as funcionalidades de rede para que as aplicaccedilotildeespossam implementar a loacutegica e controle da rede atraveacutes da NBI O plano de dados eacute res-ponsaacutevel pelo encaminhamento dos pacotes e eacute composto pela infraestrutura de rede quecorresponde ao elementos fiacutesicos da rede e por interfaces NBI responsaacuteveis pela comuni-

caccedilatildeo entre o plano de controle e o plano de dados A seguir seratildeo detalhadas cada umadas camadas da arquitetura SDN

Figura 512 Diagrama de arquitetura de sistema de rede SDN

532 Plano de Dados

O plano de encaminhamento de dados eacute composto pela infraestrutura de rede fiacutesicae pelas interfaces southbound onde protocolos abertos ou proprietaacuterios podem ser usadospara programaccedilatildeo dos dispositivos de rede como o CWMP (CPE WAN ManagementProtocol) definido na norma ETSI TR-069 ou o protocolo SNMP (Simple Network Ma-nagement Protocol) padronizado pelo IETF O SNMP foi concebido para gerenciamentode dispositivos de rede atraveacutes de operaccedilotildees do tipo ldquoGETrdquo e ldquoSETrdquo de informaccedilotildees emuma base de dados (Management Information Base ndash MIB)

5321 Infraestrutura de Rede

A infraestrutura fiacutesica das redes SDN eacute similar agrave das redes tradicionais com adiferenccedila dos dispositivos serem simplesmente elementos de encaminhamento de da-dos [Nunes et al 2014] ou seja sem controle ou software embarcado que permita odispositivo tomar decisotildees autocircnomas A inteligecircncia reside no sistema operacional derede e nas aplicaccedilotildees de rede que acessam os elementos da infraestrutura atraveacutes dasinterfaces southbound como por exemplo o OpenFlow

5322 Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros

Atualmente muitas interfaces abertas podem ser empregadas como interface south-bound em redes SDN Aleacutem do OpenFlow pode-se utilizar os protocolos NETCONF[RFC6241 2011] BGP-LS (Border Gateway Protocol - Link State) [RFC7752 2016a]PCEP (Path Computation Element Communication Protocol) [RFC5440 2009] OVSDB(Open vSwitch Database) [RFC7047 2013] SNMP (Simple Network Management Pro-tocol) [RFC1157 1990] a TL1 (Transaction Language 1) [Telcordia GR-831 1996] ea CLI (Command Line Interface) [ISOIEC 232712012 2012] A linguagem TL1 foi

desenvolvida especificamente para equipamentos de telecomunicaccedilotildees cujo objetivo eacute acomunicaccedilatildeo entre maacutequinas O protocolo NETCONF foi desenvolvido para ser o suces-sor natural do SNMP pois o SNMP tinha o foco no monitoramento e natildeo na configuraccedilatildeoda rede O OVSDB eacute um protocolo de gerenciamento projetado para redes definidas porsoftware Originalmente o OVSDB era parte do OVS (Open vSwitch) um comutador vir-tual projetado para hipervisores Linux O OVS representa uma evoluccedilatildeo dos protocolosde gerenciamento de rede permitindo programar e configurar pontes portas e interfacesde plataformas de equipamentos SDN e de virtualizaccedilatildeo de funccedilotildees de rede (NetworkFunctions Virtualization ndash NFV) [Andreas et al 2015] A seguir satildeo detalhadas os prin-cipais protocolos de interfaces SBI

NETCONF e YANG

O NETCONF eacute um protocolo de gerenciamento de rede definido pelo IETF paraconfiguraccedilatildeo e monitoramento da rede sendo este uacuteltimo papel desempenhado pelo SNMPdesde o final dos anos 80 O SNMP tinha como ponto fraco a ausecircncia de recursos deconfiguraccedilatildeo de rede aleacutem da interface binaacuteria BER (Basic Encoding Rules) e MIBs pro-prietaacuterias O protocolo NETCONF utiliza mecanismos que permitem instalar manipulare apagar a configuraccedilatildeo de dispositivos de rede atraveacutes de uma implementaccedilatildeo cliente-servidor ilustrada na Figura 513

Figura 513 Modelo de implementaccedilatildeo cliente-servidor do NETCONF

Apoacutes o estabelecimento da sessatildeo segura de transporte entre cliente e servidoro protocolo NETCONF envia uma mensagem HELLO para anuacutencio das capacidades doprotocolo e modelos de dados suportados O NETCONF suporta ainda a subscriccedilatildeo e orecebimento de notificaccedilotildees de eventos de forma assiacutencrona assim como o fechamentoparcial de uma configuraccedilatildeo corrente de um dispositivo de rede Esta funcionalidade per-mite muacuteltiplas sessotildees de ediccedilatildeo agilizando o processo de configuraccedilatildeo O NETCONFpermite o monitoramento e gerenciamento por uma entidade autocircnoma (o gerente NET-CONF) que utiliza repositoacuterio de dados sessotildees fechamentos e estatiacutesticas disponiacuteveisno servidor NETCONF

O YANG eacute uma linguagem formal com texto claro de modelo de dados com sin-

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 54 Arquitetura de Rede IPMPLS

cliente (CE) de origem inserindoretirando um roacutetulo adequado ao seu IP de destino eclasse de serviccedilo Essas operaccedilotildees denominam-se inserccedilatildeoremoccedilatildeo de roacutetulo (pushpop)No interior da rede o pacote eacute comutado nos roteadores LSR intermediaacuterios apenas combase na informaccedilatildeo dos roacutetulos A informaccedilatildeo de roacutetulos em uso estaacute contida em uma basede instacircncias de roacutetulos de encaminhamento (Label Forwarding Information Base - LFIB)em cada um dos roteadores intermediaacuterios do nuacutecleo da rede Na outra extremidade oroteador MPLS de borda faz a operaccedilatildeo inversa retirando o roacutetulo e entregando o pacotepara a rede do roteador cliente de destino O processo de comutaccedilatildeo de roacutetulos eacute mostradona Figura 55 A tabela FEC associa o endereccedilo IP de destino com o roacutetulo de entradae saiacuteda na rede MPLS O protocolo LDP (Label Distribution Protocol) eacute responsaacutevelpela distribuiccedilatildeo de roacutetulos trocando informaccedilotildees da FEC e roacutetulos associados entre osroteadores MPLS de borda e intermediaacuterios Dessa forma procura-se manter a coerecircnciaentre os LSPs formados e os prefixos IP dos pacotes encaminhados [Rose 2014]

As tabelas FEC (Figura 55) satildeo preenchidas por algum protocolo de roteamento(ex OSPF BGP) entre o CE de origem e o de destino O protocolo LDP identifica seusvizinhos atraveacutes de mensagens HELLO Para cada entrada da tabela de roteamento eacute criadauma entrada na FEC associando um roacutetulo de entrada Os roteadores de nuacutecleo (LERse LSRs) anunciam aos seus vizinhos o par FECRoacutetulo de Entrada sendo esta operaccedilatildeodenominada distribuiccedilatildeo de roacutetulos Cada roteador de nuacutecleo monta uma tabela com-pleta com FECRoacutetulo de EntradaRoacutetulo de SaiacutedaPorta denominada LFIB (Figura 55)Dessa forma o plano de encaminhamento eacute responsaacutevel pela comutaccedilatildeo dos pacotes ba-seado apenas nos roacutetulos envolvendo as operaccedilotildees de comutaccedilatildeo inserccedilatildeo e retirada deroacutetulos No plano de controle o protocolo LDP traduz as tabelas de roacutetulos em informa-ccedilotildees da tabela de roteamento Ainda no plano de controle o caacutelculo de caminhos na redeMPLS eacute feito por um IGP

523 Serviccedilos de Rede IPMPLS

O principal serviccedilo em redes IPMPLS eacute o VPN que pode ser configurado emtopologias do tipo malha completa ou parcial ou matriz-filial (hub and spoke) O MPLS

Figura 55 Comutaccedilatildeo MPLS

permite dois tipos de VPN [Pepelnjak e Guichard 2003 Asati 2012] a VPN de camada3 (VPN L3) e a de camada 2 (VPN L2)

As VPNs L3 permitem a troca de protocolos de roteamento ldquopeeringrdquo entre osroteadores cliente (CE) e os roteadores de borda do nuacutecleo (LER) As portas do LER satildeoassociadas a uma VPN atraveacutes de uma instacircncia de roteamento chamada VRF (VirtualRouting and Forwarding tables) As VRFs satildeo utilizadas para definir os LSPs Como cadaVPN utiliza sua proacutepria VRF os CEs de diferentes VPNs podem ter o mesmo endereccediloIP Os CEs utilizam protocolos de roteamento tradicionais como OSPF RIP e BGP comos LERs aos quais estatildeo diretamente conectados Os roteadores de borda (LER) trocaminformaccedilotildees aprendidas pelos roteadores de cliente (CEs) diretamente conectados atraveacutesdo protocolo MP-BGP (MultiProtocol-BGP) Na percepccedilatildeo do roteador do cliente a redeIPMPLS funciona como uma rede IP dedicada O processo de encaminhamento dasVPNs utiliza dois roacutetulos ou seja o roteador de nuacutecleo de borda insere dois roacutetulosMPLS entre o cabeccedilalho de camada 2 e o cabeccedilalho IP empilhando roacutetulos O roacutetulomais externo refere-se ao roteador de nuacutecleo (LER) de destino enquanto o roacutetulo maisinterno refere-se agrave VPN O MPLS tambeacutem possui a funcionalidade PHP (PenultimateHop Popping) onde o penuacuteltimo LSR (penultimate LSR) retira o roacutetulo mais externo antesde entregar o pacote ao LER Esse processo eacute uacutetil em VPNs L3 pois reduz a carga deprocessamento do LER eliminando um roacutetulo para ser processado O LER anuncia oroacutetulo de valor 3 que significa a funcionalidade de PHP Esse roacutetulo eacute chamado implicit-null que quando usado leva agrave perda das informaccedilotildees de QoS dos bits experimentais Asoluccedilatildeo eacute o uso de roacutetulos especiais denominados explicit-null (valor 0) que eacute lido peloLER para fins de QoS mas removido da FIB A Figura 56 ilustra uma VPN L3

As VPNs L2 trocam com os roteadores de nuacutecleo apenas informaccedilotildees de camada2 sendo as informaccedilotildees de camada 3 trocadas apenas entre os CEs As VPNs L2 podem

Figura 56 Serviccedilo de rede privativa VPN L3

ser entendidas como um enlace virtual que pode ser ponto-a-ponto no caso do VLL eponto-multiponto no caso do VPLS O transporte de quadros L2 introduziu o conceito decircuito virtual (Virtual Circuit - VC) no MPLS Um LSP age como um tuacutenel que permitecarregar muacuteltiplos VCs enquanto o VC permite o transporte de quadros L2 O VC eacuteimplementando utilizando empilhamento de roacutetulos [IETF MPLS documents 2001] AFigura 57 mostra uma VPN L2 ponto-a-ponto com um LSP conectando os roteadores deborda dos clientes A e B O roteador de nuacutecleo de borda A informa ao B que o roteadorA receberaacute pela porta 1 os quadros L2 com outro roacutetulo enviando os quadros com doisroacutetulos fazendo com que chegue ao seu destino na porta correta

Figura 57 Serviccedilo de rede privativa VPN L2 ponto a ponto (VLL)

524 QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

O protocolo MPLS assim como o protocolo IP permite utilizar o modelo de Diff-Serv (Differentiated Services) [Marzo et al 2003] para implementaccedilatildeo de QoS O Diff-Serv gerencia os recursos de rede e cria classes de serviccedilo atendidas em filas diferentesconforme o niacutevel de prioridade do fluxo de dados [IETF MPLS documents 2001] En-quanto no IPv4 a classe de serviccedilo eacute indicada no campo DSCP (Differentiated Services

Code Point anteriormente ToS ndash Type of Service) [Marzo et al 2003] no MPLS a in-formaccedilatildeo eacute definida no campo EXP bits do roacutetulo

O conceito de engenharia de traacutefego MPLS-TE (MPLS ndash Traffic Engineering)foi desenvolvido para resolver problemas de congestionamento otimizaccedilatildeo da banda econvergecircncia da rede com proteccedilatildeo do traacutefego por reserva de recursos A estrateacutegia doMPLS-TE eacute calcular caminhos baseados em restriccedilotildees como banda disponiacutevel latecircncia eperda de pacotes sugerindo uma rota diferente do IGP que tipicamente natildeo realiza enge-nharia de traacutefego [Xiao et al 2000 Alvarez 2016] O caacutelculo de caminhos baseados emrestriccedilotildees eacute feito pelo PCE (Path Computation Element) papel desempenhado pelo planode controle dos roteadores de nuacutecleo (Figura 58) O caminho calculado pela engenhariade traacutefego eacute implementado como um tuacutenel unidirecional (tuacutenel TE) iniciado no roteadorde nuacutecleo de origem (head end LSR) e terminado no roteador de nuacutecleo de destino (tailend LSR) O tuacutenel eacute identificado a partir de um roacutetulo a mais aleacutem dos roacutetulos do protocoloLDP A reserva de recursos para o caminho eacute feita pelo protocolo RSVP-TE (ResourcereSerVation Protocol ndash Traffic Engineering) uma extensatildeo do RSVP [Rose 2014] ORSVP-TE eacute usado para o estabelecimento de LSPs que podem ser configurados manual-mente (Explicit LSP) ou dinamicamente (Dynamic LSP) atraveacutes de um IGP com extensotildeespara engenharia de traacutefego como o OSPF-TE [Rose 2014] Na Figura 58 o roteador R1utiliza a base de dados da topologia TE que conteacutem muacuteltiplas meacutetricas por enlace paracalcular o caminho ateacute R8 atraveacutes do PCE presente em R1 O RSVP-TE cria LSPs adi-cionais distribuindo os roacutetulos entre os roteadores R1 e R8 As mensagens RSVP-TEde caminho satildeo enviadas periodicamente pelo roteador de nuacutecleo de origem para cadaroteador de nuacutecleo intermediaacuterio pertencente ao tuacutenel contendo uma lista de atributos aserem analisados Esses atributos possuem os valores das meacutetricas utilizadas no caacutelculodos caminhos As mensagens de reserva de recursos satildeo enviadas pelo roteador de des-tino apoacutes receber uma mensagem de estabelecimento de caminho iniciando o processo dedistribuiccedilatildeo de roacutetulos no qual cada roteador intermediaacuterio informa o roacutetulo a ser usadopelo antecessor Se um dos roteadores intermediaacuterios natildeo puder confirmar a reserva umamensagem de erro eacute enviada ao roteador de nuacutecleo de origem do tuacutenel [Alvarez 2016]

Um dos requisitos da engenharia de traacutefego eacute a capacidade de re-rotear um tuacutenelTE baseado em poliacuteticas administrativas O mecanismo de re-roteamento raacutepido (Fast Re-route ndash FRR) previne falhas de noacutes e de enlaces O mecanismo pode ser usado para trocarpara rotas com melhor desempenho em caso de falhas de recursos do tuacutenel ou utilizarnovas rotas por decisotildees administrativas A Figura 59 mostra a criaccedilatildeo do tuacutenel primaacuterioformado pelos roteadores A B D E e do tuacutenel de proteccedilatildeo provisionado nos roteadoresB C e D [Osborne e Simha 2002 Alvarez 2016] A engenharia de traacutefego tambeacutem podeser usada para balanceamento de traacutefego atraveacutes de muacuteltiplos tuacuteneis TE A malha de tuacuteneise sua banda podem ser configurados manual ou automaticamente atraveacutes de um roteirorepetitivo de configuraccedilotildees [Osborne e Simha 2002] Em uma topologia em malha tantopara balanceamento de traacutefego quanto para proteccedilatildeo os caminhos precisam ser disjuntosEntretanto alguns tuacuteneis podem utilizar o mesmo recurso fiacutesico como o mesmo cabo defibra oacuteptica No exemplo da Figura 510 o SRLG (Shared Risk Link Group) de nuacutemero10 indica a presenccedila de um enlace fiacutesico comum entre os caminhos R2-R4R2-R3 Ainformaccedilatildeo do SRLG eacute usada como um atributo adicional ao caminho original fornecidopelo IGP para evitar a configuraccedilatildeo de tuacuteneis no mesmo enlace fiacutesico [Alvarez 2016]

Figura 58 Caacutelculo de caminho do tuacutenel TE

525 Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

A operadora de telecomunicaccedilotildees utiliza a engenharia de traacutefego para o tratamentode falhas nos enlaces fiacutesicos da rede Tipicamente a camada fiacutesica ou rede de transporteeacute composta por equipamentos DWDM (Dense Wavelength Division Multiplex) ROADM(Reconfigurable Add Drop Multiplex) e comutadores OTN (Optical Transport Network)Esses elementos realizam a multiplexaccedilatildeo e comutaccedilatildeo do traacutefego no domiacutenio oacuteptico eeleacutetrico aleacutem de realizar funccedilotildees de formataccedilatildeo e regeneraccedilatildeo dos sinais de proteccedilatildeo ede restauraccedilatildeo da rede A rede de transporte possui um plano de controle proacuteprio baseadono padratildeo ASON (Automatically Switched Optical Network) [Je e Ly 2012] e GMPLS(Generalized MPLS) [J 2011]

A rede de transporte eacute segregada da rede de roteadores de nuacutecleo (camada L3)sendo necessaacuteria a configuraccedilatildeo de SRLGs para evitar tuacuteneis primaacuterios e de proteccedilatildeo emum mesmo enlace fiacutesico Eacute comum o cenaacuterio com proteccedilotildees e restauraccedilotildees em ambas asredes ocasionando desperdiacutecio da banda disponiacutevel A Figura 511 ilustra a separaccedilatildeoentre as redes de transporte e de roteadores de nuacutecleo (rede IPMPLS) Essa separaccedilatildeoevidencia o desacoplamento dos planos de controle de cada camada resultando em umaocupaccedilatildeo natildeo otimizada da banda disponiacutevel como resultado da configuraccedilatildeo de proteccedilatildeode muacuteltiplas camadas

A configuraccedilatildeo manual ocorre frequentemente devido agraves mudanccedilas da matriz detraacutefego e da topologia fiacutesica muitas vezes como decorrecircncia de falhas nos enlaces Emqualquer dos casos a malha de tuacuteneis deve ser reconfigurada para se adequar ao novopadratildeo de traacutefego Outro problema das operadoras eacute o tempo de convergecircncia da rede emcaso de falhas intrinsecamente relacionado agrave separaccedilatildeo da rede de roteadores de nuacutecleo(camada L3) da rede de transporte (camadas L0 L1 e L2) A desvinculaccedilatildeo da topologia

Figura 59 Tuacutenel primaacuterio e de proteccedilatildeo

Figura 510 SLRG (Shared Risk Link Group)

de rede fiacutesica da rede loacutegica de tuacuteneis TE eacute um desafio enfrentado pelas operadoras poisuma interrupccedilatildeo em um enlace fiacutesico pode corresponder agrave interrupccedilatildeo de ambos os tuacuteneiso TE principal e reserva

53 Conceitos de Redes Definidas por SoftwareO Roteamento por segmentos utiliza aplicaccedilotildees de Redes Definidas por Software

(SDN) para o caacutelculo dos caminhos dos tuacuteneis MPLS baseado nos paracircmetros de enge-nharia de traacutefego A configuraccedilatildeo do tuacutenel eacute representada por uma lista ordenada de seg-mentos As SDNs constituem uma mudanccedila de paradigma em redes separando o plano decontrole do plano de encaminhamento rompe a integraccedilatildeo vertical comum em roteadorese comutadores A centralizaccedilatildeo do controle da rede por outro lado introduz maiores capa-cidade de programaccedilatildeo e flexibilidade de utilizaccedilatildeo [Kreutz et al 2015 Hu et al 2014]

531 Arquitetura e Desenvolvimento da SDN

Em redes IP tradicionais os plano de controle e de dados satildeo acoplados e embuti-dos no mesmo dispositivo de rede Essa integraccedilatildeo vertical eacute uma das razotildees pelas quais

Figura 511 Separaccedilatildeo de camadas de rede de transporte e IPMPLS

as redes IP possuem gerenciamento e controle complexos sendo ainda pouco flexiacuteveisagrave introduccedilatildeo de inovaccedilotildees tecnoloacutegicas Para gerecircncia de redes a maior parte dos fa-bricantes oferece soluccedilotildees com hardware sistemas operacionais e programas de controleproprietaacuterios As redes de nuacutecleo IPMPLS apresentam tambeacutem grande complexidade deconfiguraccedilatildeo devido aos inuacutemeros protocolos envolvidos bem como a falta de flexibili-dade em resposta a mudanccedilas da rede falhas e balanceamento de traacutefego

A arquitetura de rede SDN se baseia em quatro pilares desacoplamento do planode controle do plano de dados decisotildees baseadas em fluxos ao inveacutes do endereccedilamentode destino programaccedilatildeo de fluxos flexiacutevel limitada ao tamanho das tabelas de fluxose loacutegica de controle em entidade externa denominada controlador O controlador eacute umaplataforma de software ou um sistema operacional de rede (Network Operating System- NOS) executado em um servidor de uso comum COTS O objetivo eacute prover os recur-sos essenciais de rede e abstraccedilotildees para facilitar a programaccedilatildeo de qualquer dispositivode encaminhamento Em uma visatildeo simplificada da arquitetura SDN a infraestrutura fiacute-sica eacute formada pelos dispositivos de encaminhamento como comutadores ou roteadoressem plano de controle ou com o plano de controle reduzido e com interfaces de progra-maccedilatildeo abertas A Figura 512 mostra a arquitetura de uma SDN [Kreutz et al 2015]O plano de dados eacute constituiacutedo pela infraestrutura de rede e interfaces southbound (SBIndash southbound interface) A infraestrutura de rede similar a uma rede tradicional cor-responde aos dispositivos que desempenham instruccedilotildees elementares de encaminhamentode traacutefego Estas instruccedilotildees satildeo definidas por interfaces abertas SBI como por exemploo OpenFlow [Lara et al 2014] O plano de controle eacute constituiacutedo por uma camada devirtualizaccedilatildeo outra camada correspondente ao sistema operacional de rede e as interfacesnorthbound (NBI) O sistema operacional de rede pode estar ou natildeo em uma infraestruturade hardware virtualizada atraveacutes do hipervisor que permite a criaccedilatildeo de maacutequinas virtu-ais no servidor fiacutesico onde eacute instalado o controlador de rede O controlador ou sistemaoperacional de rede programa os dispositivos de rede Por fim as interfaces northboundoferecem APIs para desenvolvedores de aplicaccedilotildees O plano de gerecircncia corresponde aoconjunto de aplicaccedilotildees utilizando linguagens de programaccedilatildeo apropriadas para o ambi-ente virtualizado que interliga todas as funcionalidades de rede para que as aplicaccedilotildeespossam implementar a loacutegica e controle da rede atraveacutes da NBI O plano de dados eacute res-ponsaacutevel pelo encaminhamento dos pacotes e eacute composto pela infraestrutura de rede quecorresponde ao elementos fiacutesicos da rede e por interfaces NBI responsaacuteveis pela comuni-

caccedilatildeo entre o plano de controle e o plano de dados A seguir seratildeo detalhadas cada umadas camadas da arquitetura SDN

Figura 512 Diagrama de arquitetura de sistema de rede SDN

532 Plano de Dados

O plano de encaminhamento de dados eacute composto pela infraestrutura de rede fiacutesicae pelas interfaces southbound onde protocolos abertos ou proprietaacuterios podem ser usadospara programaccedilatildeo dos dispositivos de rede como o CWMP (CPE WAN ManagementProtocol) definido na norma ETSI TR-069 ou o protocolo SNMP (Simple Network Ma-nagement Protocol) padronizado pelo IETF O SNMP foi concebido para gerenciamentode dispositivos de rede atraveacutes de operaccedilotildees do tipo ldquoGETrdquo e ldquoSETrdquo de informaccedilotildees emuma base de dados (Management Information Base ndash MIB)

5321 Infraestrutura de Rede

A infraestrutura fiacutesica das redes SDN eacute similar agrave das redes tradicionais com adiferenccedila dos dispositivos serem simplesmente elementos de encaminhamento de da-dos [Nunes et al 2014] ou seja sem controle ou software embarcado que permita odispositivo tomar decisotildees autocircnomas A inteligecircncia reside no sistema operacional derede e nas aplicaccedilotildees de rede que acessam os elementos da infraestrutura atraveacutes dasinterfaces southbound como por exemplo o OpenFlow

5322 Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros

Atualmente muitas interfaces abertas podem ser empregadas como interface south-bound em redes SDN Aleacutem do OpenFlow pode-se utilizar os protocolos NETCONF[RFC6241 2011] BGP-LS (Border Gateway Protocol - Link State) [RFC7752 2016a]PCEP (Path Computation Element Communication Protocol) [RFC5440 2009] OVSDB(Open vSwitch Database) [RFC7047 2013] SNMP (Simple Network Management Pro-tocol) [RFC1157 1990] a TL1 (Transaction Language 1) [Telcordia GR-831 1996] ea CLI (Command Line Interface) [ISOIEC 232712012 2012] A linguagem TL1 foi

desenvolvida especificamente para equipamentos de telecomunicaccedilotildees cujo objetivo eacute acomunicaccedilatildeo entre maacutequinas O protocolo NETCONF foi desenvolvido para ser o suces-sor natural do SNMP pois o SNMP tinha o foco no monitoramento e natildeo na configuraccedilatildeoda rede O OVSDB eacute um protocolo de gerenciamento projetado para redes definidas porsoftware Originalmente o OVSDB era parte do OVS (Open vSwitch) um comutador vir-tual projetado para hipervisores Linux O OVS representa uma evoluccedilatildeo dos protocolosde gerenciamento de rede permitindo programar e configurar pontes portas e interfacesde plataformas de equipamentos SDN e de virtualizaccedilatildeo de funccedilotildees de rede (NetworkFunctions Virtualization ndash NFV) [Andreas et al 2015] A seguir satildeo detalhadas os prin-cipais protocolos de interfaces SBI

NETCONF e YANG

O NETCONF eacute um protocolo de gerenciamento de rede definido pelo IETF paraconfiguraccedilatildeo e monitoramento da rede sendo este uacuteltimo papel desempenhado pelo SNMPdesde o final dos anos 80 O SNMP tinha como ponto fraco a ausecircncia de recursos deconfiguraccedilatildeo de rede aleacutem da interface binaacuteria BER (Basic Encoding Rules) e MIBs pro-prietaacuterias O protocolo NETCONF utiliza mecanismos que permitem instalar manipulare apagar a configuraccedilatildeo de dispositivos de rede atraveacutes de uma implementaccedilatildeo cliente-servidor ilustrada na Figura 513

Figura 513 Modelo de implementaccedilatildeo cliente-servidor do NETCONF

Apoacutes o estabelecimento da sessatildeo segura de transporte entre cliente e servidoro protocolo NETCONF envia uma mensagem HELLO para anuacutencio das capacidades doprotocolo e modelos de dados suportados O NETCONF suporta ainda a subscriccedilatildeo e orecebimento de notificaccedilotildees de eventos de forma assiacutencrona assim como o fechamentoparcial de uma configuraccedilatildeo corrente de um dispositivo de rede Esta funcionalidade per-mite muacuteltiplas sessotildees de ediccedilatildeo agilizando o processo de configuraccedilatildeo O NETCONFpermite o monitoramento e gerenciamento por uma entidade autocircnoma (o gerente NET-CONF) que utiliza repositoacuterio de dados sessotildees fechamentos e estatiacutesticas disponiacuteveisno servidor NETCONF

O YANG eacute uma linguagem formal com texto claro de modelo de dados com sin-

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 55 Comutaccedilatildeo MPLS

permite dois tipos de VPN [Pepelnjak e Guichard 2003 Asati 2012] a VPN de camada3 (VPN L3) e a de camada 2 (VPN L2)

As VPNs L3 permitem a troca de protocolos de roteamento ldquopeeringrdquo entre osroteadores cliente (CE) e os roteadores de borda do nuacutecleo (LER) As portas do LER satildeoassociadas a uma VPN atraveacutes de uma instacircncia de roteamento chamada VRF (VirtualRouting and Forwarding tables) As VRFs satildeo utilizadas para definir os LSPs Como cadaVPN utiliza sua proacutepria VRF os CEs de diferentes VPNs podem ter o mesmo endereccediloIP Os CEs utilizam protocolos de roteamento tradicionais como OSPF RIP e BGP comos LERs aos quais estatildeo diretamente conectados Os roteadores de borda (LER) trocaminformaccedilotildees aprendidas pelos roteadores de cliente (CEs) diretamente conectados atraveacutesdo protocolo MP-BGP (MultiProtocol-BGP) Na percepccedilatildeo do roteador do cliente a redeIPMPLS funciona como uma rede IP dedicada O processo de encaminhamento dasVPNs utiliza dois roacutetulos ou seja o roteador de nuacutecleo de borda insere dois roacutetulosMPLS entre o cabeccedilalho de camada 2 e o cabeccedilalho IP empilhando roacutetulos O roacutetulomais externo refere-se ao roteador de nuacutecleo (LER) de destino enquanto o roacutetulo maisinterno refere-se agrave VPN O MPLS tambeacutem possui a funcionalidade PHP (PenultimateHop Popping) onde o penuacuteltimo LSR (penultimate LSR) retira o roacutetulo mais externo antesde entregar o pacote ao LER Esse processo eacute uacutetil em VPNs L3 pois reduz a carga deprocessamento do LER eliminando um roacutetulo para ser processado O LER anuncia oroacutetulo de valor 3 que significa a funcionalidade de PHP Esse roacutetulo eacute chamado implicit-null que quando usado leva agrave perda das informaccedilotildees de QoS dos bits experimentais Asoluccedilatildeo eacute o uso de roacutetulos especiais denominados explicit-null (valor 0) que eacute lido peloLER para fins de QoS mas removido da FIB A Figura 56 ilustra uma VPN L3

As VPNs L2 trocam com os roteadores de nuacutecleo apenas informaccedilotildees de camada2 sendo as informaccedilotildees de camada 3 trocadas apenas entre os CEs As VPNs L2 podem

Figura 56 Serviccedilo de rede privativa VPN L3

ser entendidas como um enlace virtual que pode ser ponto-a-ponto no caso do VLL eponto-multiponto no caso do VPLS O transporte de quadros L2 introduziu o conceito decircuito virtual (Virtual Circuit - VC) no MPLS Um LSP age como um tuacutenel que permitecarregar muacuteltiplos VCs enquanto o VC permite o transporte de quadros L2 O VC eacuteimplementando utilizando empilhamento de roacutetulos [IETF MPLS documents 2001] AFigura 57 mostra uma VPN L2 ponto-a-ponto com um LSP conectando os roteadores deborda dos clientes A e B O roteador de nuacutecleo de borda A informa ao B que o roteadorA receberaacute pela porta 1 os quadros L2 com outro roacutetulo enviando os quadros com doisroacutetulos fazendo com que chegue ao seu destino na porta correta

Figura 57 Serviccedilo de rede privativa VPN L2 ponto a ponto (VLL)

524 QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

O protocolo MPLS assim como o protocolo IP permite utilizar o modelo de Diff-Serv (Differentiated Services) [Marzo et al 2003] para implementaccedilatildeo de QoS O Diff-Serv gerencia os recursos de rede e cria classes de serviccedilo atendidas em filas diferentesconforme o niacutevel de prioridade do fluxo de dados [IETF MPLS documents 2001] En-quanto no IPv4 a classe de serviccedilo eacute indicada no campo DSCP (Differentiated Services

Code Point anteriormente ToS ndash Type of Service) [Marzo et al 2003] no MPLS a in-formaccedilatildeo eacute definida no campo EXP bits do roacutetulo

O conceito de engenharia de traacutefego MPLS-TE (MPLS ndash Traffic Engineering)foi desenvolvido para resolver problemas de congestionamento otimizaccedilatildeo da banda econvergecircncia da rede com proteccedilatildeo do traacutefego por reserva de recursos A estrateacutegia doMPLS-TE eacute calcular caminhos baseados em restriccedilotildees como banda disponiacutevel latecircncia eperda de pacotes sugerindo uma rota diferente do IGP que tipicamente natildeo realiza enge-nharia de traacutefego [Xiao et al 2000 Alvarez 2016] O caacutelculo de caminhos baseados emrestriccedilotildees eacute feito pelo PCE (Path Computation Element) papel desempenhado pelo planode controle dos roteadores de nuacutecleo (Figura 58) O caminho calculado pela engenhariade traacutefego eacute implementado como um tuacutenel unidirecional (tuacutenel TE) iniciado no roteadorde nuacutecleo de origem (head end LSR) e terminado no roteador de nuacutecleo de destino (tailend LSR) O tuacutenel eacute identificado a partir de um roacutetulo a mais aleacutem dos roacutetulos do protocoloLDP A reserva de recursos para o caminho eacute feita pelo protocolo RSVP-TE (ResourcereSerVation Protocol ndash Traffic Engineering) uma extensatildeo do RSVP [Rose 2014] ORSVP-TE eacute usado para o estabelecimento de LSPs que podem ser configurados manual-mente (Explicit LSP) ou dinamicamente (Dynamic LSP) atraveacutes de um IGP com extensotildeespara engenharia de traacutefego como o OSPF-TE [Rose 2014] Na Figura 58 o roteador R1utiliza a base de dados da topologia TE que conteacutem muacuteltiplas meacutetricas por enlace paracalcular o caminho ateacute R8 atraveacutes do PCE presente em R1 O RSVP-TE cria LSPs adi-cionais distribuindo os roacutetulos entre os roteadores R1 e R8 As mensagens RSVP-TEde caminho satildeo enviadas periodicamente pelo roteador de nuacutecleo de origem para cadaroteador de nuacutecleo intermediaacuterio pertencente ao tuacutenel contendo uma lista de atributos aserem analisados Esses atributos possuem os valores das meacutetricas utilizadas no caacutelculodos caminhos As mensagens de reserva de recursos satildeo enviadas pelo roteador de des-tino apoacutes receber uma mensagem de estabelecimento de caminho iniciando o processo dedistribuiccedilatildeo de roacutetulos no qual cada roteador intermediaacuterio informa o roacutetulo a ser usadopelo antecessor Se um dos roteadores intermediaacuterios natildeo puder confirmar a reserva umamensagem de erro eacute enviada ao roteador de nuacutecleo de origem do tuacutenel [Alvarez 2016]

Um dos requisitos da engenharia de traacutefego eacute a capacidade de re-rotear um tuacutenelTE baseado em poliacuteticas administrativas O mecanismo de re-roteamento raacutepido (Fast Re-route ndash FRR) previne falhas de noacutes e de enlaces O mecanismo pode ser usado para trocarpara rotas com melhor desempenho em caso de falhas de recursos do tuacutenel ou utilizarnovas rotas por decisotildees administrativas A Figura 59 mostra a criaccedilatildeo do tuacutenel primaacuterioformado pelos roteadores A B D E e do tuacutenel de proteccedilatildeo provisionado nos roteadoresB C e D [Osborne e Simha 2002 Alvarez 2016] A engenharia de traacutefego tambeacutem podeser usada para balanceamento de traacutefego atraveacutes de muacuteltiplos tuacuteneis TE A malha de tuacuteneise sua banda podem ser configurados manual ou automaticamente atraveacutes de um roteirorepetitivo de configuraccedilotildees [Osborne e Simha 2002] Em uma topologia em malha tantopara balanceamento de traacutefego quanto para proteccedilatildeo os caminhos precisam ser disjuntosEntretanto alguns tuacuteneis podem utilizar o mesmo recurso fiacutesico como o mesmo cabo defibra oacuteptica No exemplo da Figura 510 o SRLG (Shared Risk Link Group) de nuacutemero10 indica a presenccedila de um enlace fiacutesico comum entre os caminhos R2-R4R2-R3 Ainformaccedilatildeo do SRLG eacute usada como um atributo adicional ao caminho original fornecidopelo IGP para evitar a configuraccedilatildeo de tuacuteneis no mesmo enlace fiacutesico [Alvarez 2016]

Figura 58 Caacutelculo de caminho do tuacutenel TE

525 Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

A operadora de telecomunicaccedilotildees utiliza a engenharia de traacutefego para o tratamentode falhas nos enlaces fiacutesicos da rede Tipicamente a camada fiacutesica ou rede de transporteeacute composta por equipamentos DWDM (Dense Wavelength Division Multiplex) ROADM(Reconfigurable Add Drop Multiplex) e comutadores OTN (Optical Transport Network)Esses elementos realizam a multiplexaccedilatildeo e comutaccedilatildeo do traacutefego no domiacutenio oacuteptico eeleacutetrico aleacutem de realizar funccedilotildees de formataccedilatildeo e regeneraccedilatildeo dos sinais de proteccedilatildeo ede restauraccedilatildeo da rede A rede de transporte possui um plano de controle proacuteprio baseadono padratildeo ASON (Automatically Switched Optical Network) [Je e Ly 2012] e GMPLS(Generalized MPLS) [J 2011]

A rede de transporte eacute segregada da rede de roteadores de nuacutecleo (camada L3)sendo necessaacuteria a configuraccedilatildeo de SRLGs para evitar tuacuteneis primaacuterios e de proteccedilatildeo emum mesmo enlace fiacutesico Eacute comum o cenaacuterio com proteccedilotildees e restauraccedilotildees em ambas asredes ocasionando desperdiacutecio da banda disponiacutevel A Figura 511 ilustra a separaccedilatildeoentre as redes de transporte e de roteadores de nuacutecleo (rede IPMPLS) Essa separaccedilatildeoevidencia o desacoplamento dos planos de controle de cada camada resultando em umaocupaccedilatildeo natildeo otimizada da banda disponiacutevel como resultado da configuraccedilatildeo de proteccedilatildeode muacuteltiplas camadas

A configuraccedilatildeo manual ocorre frequentemente devido agraves mudanccedilas da matriz detraacutefego e da topologia fiacutesica muitas vezes como decorrecircncia de falhas nos enlaces Emqualquer dos casos a malha de tuacuteneis deve ser reconfigurada para se adequar ao novopadratildeo de traacutefego Outro problema das operadoras eacute o tempo de convergecircncia da rede emcaso de falhas intrinsecamente relacionado agrave separaccedilatildeo da rede de roteadores de nuacutecleo(camada L3) da rede de transporte (camadas L0 L1 e L2) A desvinculaccedilatildeo da topologia

Figura 59 Tuacutenel primaacuterio e de proteccedilatildeo

Figura 510 SLRG (Shared Risk Link Group)

de rede fiacutesica da rede loacutegica de tuacuteneis TE eacute um desafio enfrentado pelas operadoras poisuma interrupccedilatildeo em um enlace fiacutesico pode corresponder agrave interrupccedilatildeo de ambos os tuacuteneiso TE principal e reserva

53 Conceitos de Redes Definidas por SoftwareO Roteamento por segmentos utiliza aplicaccedilotildees de Redes Definidas por Software

(SDN) para o caacutelculo dos caminhos dos tuacuteneis MPLS baseado nos paracircmetros de enge-nharia de traacutefego A configuraccedilatildeo do tuacutenel eacute representada por uma lista ordenada de seg-mentos As SDNs constituem uma mudanccedila de paradigma em redes separando o plano decontrole do plano de encaminhamento rompe a integraccedilatildeo vertical comum em roteadorese comutadores A centralizaccedilatildeo do controle da rede por outro lado introduz maiores capa-cidade de programaccedilatildeo e flexibilidade de utilizaccedilatildeo [Kreutz et al 2015 Hu et al 2014]

531 Arquitetura e Desenvolvimento da SDN

Em redes IP tradicionais os plano de controle e de dados satildeo acoplados e embuti-dos no mesmo dispositivo de rede Essa integraccedilatildeo vertical eacute uma das razotildees pelas quais

Figura 511 Separaccedilatildeo de camadas de rede de transporte e IPMPLS

as redes IP possuem gerenciamento e controle complexos sendo ainda pouco flexiacuteveisagrave introduccedilatildeo de inovaccedilotildees tecnoloacutegicas Para gerecircncia de redes a maior parte dos fa-bricantes oferece soluccedilotildees com hardware sistemas operacionais e programas de controleproprietaacuterios As redes de nuacutecleo IPMPLS apresentam tambeacutem grande complexidade deconfiguraccedilatildeo devido aos inuacutemeros protocolos envolvidos bem como a falta de flexibili-dade em resposta a mudanccedilas da rede falhas e balanceamento de traacutefego

A arquitetura de rede SDN se baseia em quatro pilares desacoplamento do planode controle do plano de dados decisotildees baseadas em fluxos ao inveacutes do endereccedilamentode destino programaccedilatildeo de fluxos flexiacutevel limitada ao tamanho das tabelas de fluxose loacutegica de controle em entidade externa denominada controlador O controlador eacute umaplataforma de software ou um sistema operacional de rede (Network Operating System- NOS) executado em um servidor de uso comum COTS O objetivo eacute prover os recur-sos essenciais de rede e abstraccedilotildees para facilitar a programaccedilatildeo de qualquer dispositivode encaminhamento Em uma visatildeo simplificada da arquitetura SDN a infraestrutura fiacute-sica eacute formada pelos dispositivos de encaminhamento como comutadores ou roteadoressem plano de controle ou com o plano de controle reduzido e com interfaces de progra-maccedilatildeo abertas A Figura 512 mostra a arquitetura de uma SDN [Kreutz et al 2015]O plano de dados eacute constituiacutedo pela infraestrutura de rede e interfaces southbound (SBIndash southbound interface) A infraestrutura de rede similar a uma rede tradicional cor-responde aos dispositivos que desempenham instruccedilotildees elementares de encaminhamentode traacutefego Estas instruccedilotildees satildeo definidas por interfaces abertas SBI como por exemploo OpenFlow [Lara et al 2014] O plano de controle eacute constituiacutedo por uma camada devirtualizaccedilatildeo outra camada correspondente ao sistema operacional de rede e as interfacesnorthbound (NBI) O sistema operacional de rede pode estar ou natildeo em uma infraestruturade hardware virtualizada atraveacutes do hipervisor que permite a criaccedilatildeo de maacutequinas virtu-ais no servidor fiacutesico onde eacute instalado o controlador de rede O controlador ou sistemaoperacional de rede programa os dispositivos de rede Por fim as interfaces northboundoferecem APIs para desenvolvedores de aplicaccedilotildees O plano de gerecircncia corresponde aoconjunto de aplicaccedilotildees utilizando linguagens de programaccedilatildeo apropriadas para o ambi-ente virtualizado que interliga todas as funcionalidades de rede para que as aplicaccedilotildeespossam implementar a loacutegica e controle da rede atraveacutes da NBI O plano de dados eacute res-ponsaacutevel pelo encaminhamento dos pacotes e eacute composto pela infraestrutura de rede quecorresponde ao elementos fiacutesicos da rede e por interfaces NBI responsaacuteveis pela comuni-

caccedilatildeo entre o plano de controle e o plano de dados A seguir seratildeo detalhadas cada umadas camadas da arquitetura SDN

Figura 512 Diagrama de arquitetura de sistema de rede SDN

532 Plano de Dados

O plano de encaminhamento de dados eacute composto pela infraestrutura de rede fiacutesicae pelas interfaces southbound onde protocolos abertos ou proprietaacuterios podem ser usadospara programaccedilatildeo dos dispositivos de rede como o CWMP (CPE WAN ManagementProtocol) definido na norma ETSI TR-069 ou o protocolo SNMP (Simple Network Ma-nagement Protocol) padronizado pelo IETF O SNMP foi concebido para gerenciamentode dispositivos de rede atraveacutes de operaccedilotildees do tipo ldquoGETrdquo e ldquoSETrdquo de informaccedilotildees emuma base de dados (Management Information Base ndash MIB)

5321 Infraestrutura de Rede

A infraestrutura fiacutesica das redes SDN eacute similar agrave das redes tradicionais com adiferenccedila dos dispositivos serem simplesmente elementos de encaminhamento de da-dos [Nunes et al 2014] ou seja sem controle ou software embarcado que permita odispositivo tomar decisotildees autocircnomas A inteligecircncia reside no sistema operacional derede e nas aplicaccedilotildees de rede que acessam os elementos da infraestrutura atraveacutes dasinterfaces southbound como por exemplo o OpenFlow

5322 Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros

Atualmente muitas interfaces abertas podem ser empregadas como interface south-bound em redes SDN Aleacutem do OpenFlow pode-se utilizar os protocolos NETCONF[RFC6241 2011] BGP-LS (Border Gateway Protocol - Link State) [RFC7752 2016a]PCEP (Path Computation Element Communication Protocol) [RFC5440 2009] OVSDB(Open vSwitch Database) [RFC7047 2013] SNMP (Simple Network Management Pro-tocol) [RFC1157 1990] a TL1 (Transaction Language 1) [Telcordia GR-831 1996] ea CLI (Command Line Interface) [ISOIEC 232712012 2012] A linguagem TL1 foi

desenvolvida especificamente para equipamentos de telecomunicaccedilotildees cujo objetivo eacute acomunicaccedilatildeo entre maacutequinas O protocolo NETCONF foi desenvolvido para ser o suces-sor natural do SNMP pois o SNMP tinha o foco no monitoramento e natildeo na configuraccedilatildeoda rede O OVSDB eacute um protocolo de gerenciamento projetado para redes definidas porsoftware Originalmente o OVSDB era parte do OVS (Open vSwitch) um comutador vir-tual projetado para hipervisores Linux O OVS representa uma evoluccedilatildeo dos protocolosde gerenciamento de rede permitindo programar e configurar pontes portas e interfacesde plataformas de equipamentos SDN e de virtualizaccedilatildeo de funccedilotildees de rede (NetworkFunctions Virtualization ndash NFV) [Andreas et al 2015] A seguir satildeo detalhadas os prin-cipais protocolos de interfaces SBI

NETCONF e YANG

O NETCONF eacute um protocolo de gerenciamento de rede definido pelo IETF paraconfiguraccedilatildeo e monitoramento da rede sendo este uacuteltimo papel desempenhado pelo SNMPdesde o final dos anos 80 O SNMP tinha como ponto fraco a ausecircncia de recursos deconfiguraccedilatildeo de rede aleacutem da interface binaacuteria BER (Basic Encoding Rules) e MIBs pro-prietaacuterias O protocolo NETCONF utiliza mecanismos que permitem instalar manipulare apagar a configuraccedilatildeo de dispositivos de rede atraveacutes de uma implementaccedilatildeo cliente-servidor ilustrada na Figura 513

Figura 513 Modelo de implementaccedilatildeo cliente-servidor do NETCONF

Apoacutes o estabelecimento da sessatildeo segura de transporte entre cliente e servidoro protocolo NETCONF envia uma mensagem HELLO para anuacutencio das capacidades doprotocolo e modelos de dados suportados O NETCONF suporta ainda a subscriccedilatildeo e orecebimento de notificaccedilotildees de eventos de forma assiacutencrona assim como o fechamentoparcial de uma configuraccedilatildeo corrente de um dispositivo de rede Esta funcionalidade per-mite muacuteltiplas sessotildees de ediccedilatildeo agilizando o processo de configuraccedilatildeo O NETCONFpermite o monitoramento e gerenciamento por uma entidade autocircnoma (o gerente NET-CONF) que utiliza repositoacuterio de dados sessotildees fechamentos e estatiacutesticas disponiacuteveisno servidor NETCONF

O YANG eacute uma linguagem formal com texto claro de modelo de dados com sin-

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 56 Serviccedilo de rede privativa VPN L3

ser entendidas como um enlace virtual que pode ser ponto-a-ponto no caso do VLL eponto-multiponto no caso do VPLS O transporte de quadros L2 introduziu o conceito decircuito virtual (Virtual Circuit - VC) no MPLS Um LSP age como um tuacutenel que permitecarregar muacuteltiplos VCs enquanto o VC permite o transporte de quadros L2 O VC eacuteimplementando utilizando empilhamento de roacutetulos [IETF MPLS documents 2001] AFigura 57 mostra uma VPN L2 ponto-a-ponto com um LSP conectando os roteadores deborda dos clientes A e B O roteador de nuacutecleo de borda A informa ao B que o roteadorA receberaacute pela porta 1 os quadros L2 com outro roacutetulo enviando os quadros com doisroacutetulos fazendo com que chegue ao seu destino na porta correta

Figura 57 Serviccedilo de rede privativa VPN L2 ponto a ponto (VLL)

524 QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

O protocolo MPLS assim como o protocolo IP permite utilizar o modelo de Diff-Serv (Differentiated Services) [Marzo et al 2003] para implementaccedilatildeo de QoS O Diff-Serv gerencia os recursos de rede e cria classes de serviccedilo atendidas em filas diferentesconforme o niacutevel de prioridade do fluxo de dados [IETF MPLS documents 2001] En-quanto no IPv4 a classe de serviccedilo eacute indicada no campo DSCP (Differentiated Services

Code Point anteriormente ToS ndash Type of Service) [Marzo et al 2003] no MPLS a in-formaccedilatildeo eacute definida no campo EXP bits do roacutetulo

O conceito de engenharia de traacutefego MPLS-TE (MPLS ndash Traffic Engineering)foi desenvolvido para resolver problemas de congestionamento otimizaccedilatildeo da banda econvergecircncia da rede com proteccedilatildeo do traacutefego por reserva de recursos A estrateacutegia doMPLS-TE eacute calcular caminhos baseados em restriccedilotildees como banda disponiacutevel latecircncia eperda de pacotes sugerindo uma rota diferente do IGP que tipicamente natildeo realiza enge-nharia de traacutefego [Xiao et al 2000 Alvarez 2016] O caacutelculo de caminhos baseados emrestriccedilotildees eacute feito pelo PCE (Path Computation Element) papel desempenhado pelo planode controle dos roteadores de nuacutecleo (Figura 58) O caminho calculado pela engenhariade traacutefego eacute implementado como um tuacutenel unidirecional (tuacutenel TE) iniciado no roteadorde nuacutecleo de origem (head end LSR) e terminado no roteador de nuacutecleo de destino (tailend LSR) O tuacutenel eacute identificado a partir de um roacutetulo a mais aleacutem dos roacutetulos do protocoloLDP A reserva de recursos para o caminho eacute feita pelo protocolo RSVP-TE (ResourcereSerVation Protocol ndash Traffic Engineering) uma extensatildeo do RSVP [Rose 2014] ORSVP-TE eacute usado para o estabelecimento de LSPs que podem ser configurados manual-mente (Explicit LSP) ou dinamicamente (Dynamic LSP) atraveacutes de um IGP com extensotildeespara engenharia de traacutefego como o OSPF-TE [Rose 2014] Na Figura 58 o roteador R1utiliza a base de dados da topologia TE que conteacutem muacuteltiplas meacutetricas por enlace paracalcular o caminho ateacute R8 atraveacutes do PCE presente em R1 O RSVP-TE cria LSPs adi-cionais distribuindo os roacutetulos entre os roteadores R1 e R8 As mensagens RSVP-TEde caminho satildeo enviadas periodicamente pelo roteador de nuacutecleo de origem para cadaroteador de nuacutecleo intermediaacuterio pertencente ao tuacutenel contendo uma lista de atributos aserem analisados Esses atributos possuem os valores das meacutetricas utilizadas no caacutelculodos caminhos As mensagens de reserva de recursos satildeo enviadas pelo roteador de des-tino apoacutes receber uma mensagem de estabelecimento de caminho iniciando o processo dedistribuiccedilatildeo de roacutetulos no qual cada roteador intermediaacuterio informa o roacutetulo a ser usadopelo antecessor Se um dos roteadores intermediaacuterios natildeo puder confirmar a reserva umamensagem de erro eacute enviada ao roteador de nuacutecleo de origem do tuacutenel [Alvarez 2016]

Um dos requisitos da engenharia de traacutefego eacute a capacidade de re-rotear um tuacutenelTE baseado em poliacuteticas administrativas O mecanismo de re-roteamento raacutepido (Fast Re-route ndash FRR) previne falhas de noacutes e de enlaces O mecanismo pode ser usado para trocarpara rotas com melhor desempenho em caso de falhas de recursos do tuacutenel ou utilizarnovas rotas por decisotildees administrativas A Figura 59 mostra a criaccedilatildeo do tuacutenel primaacuterioformado pelos roteadores A B D E e do tuacutenel de proteccedilatildeo provisionado nos roteadoresB C e D [Osborne e Simha 2002 Alvarez 2016] A engenharia de traacutefego tambeacutem podeser usada para balanceamento de traacutefego atraveacutes de muacuteltiplos tuacuteneis TE A malha de tuacuteneise sua banda podem ser configurados manual ou automaticamente atraveacutes de um roteirorepetitivo de configuraccedilotildees [Osborne e Simha 2002] Em uma topologia em malha tantopara balanceamento de traacutefego quanto para proteccedilatildeo os caminhos precisam ser disjuntosEntretanto alguns tuacuteneis podem utilizar o mesmo recurso fiacutesico como o mesmo cabo defibra oacuteptica No exemplo da Figura 510 o SRLG (Shared Risk Link Group) de nuacutemero10 indica a presenccedila de um enlace fiacutesico comum entre os caminhos R2-R4R2-R3 Ainformaccedilatildeo do SRLG eacute usada como um atributo adicional ao caminho original fornecidopelo IGP para evitar a configuraccedilatildeo de tuacuteneis no mesmo enlace fiacutesico [Alvarez 2016]

Figura 58 Caacutelculo de caminho do tuacutenel TE

525 Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

A operadora de telecomunicaccedilotildees utiliza a engenharia de traacutefego para o tratamentode falhas nos enlaces fiacutesicos da rede Tipicamente a camada fiacutesica ou rede de transporteeacute composta por equipamentos DWDM (Dense Wavelength Division Multiplex) ROADM(Reconfigurable Add Drop Multiplex) e comutadores OTN (Optical Transport Network)Esses elementos realizam a multiplexaccedilatildeo e comutaccedilatildeo do traacutefego no domiacutenio oacuteptico eeleacutetrico aleacutem de realizar funccedilotildees de formataccedilatildeo e regeneraccedilatildeo dos sinais de proteccedilatildeo ede restauraccedilatildeo da rede A rede de transporte possui um plano de controle proacuteprio baseadono padratildeo ASON (Automatically Switched Optical Network) [Je e Ly 2012] e GMPLS(Generalized MPLS) [J 2011]

A rede de transporte eacute segregada da rede de roteadores de nuacutecleo (camada L3)sendo necessaacuteria a configuraccedilatildeo de SRLGs para evitar tuacuteneis primaacuterios e de proteccedilatildeo emum mesmo enlace fiacutesico Eacute comum o cenaacuterio com proteccedilotildees e restauraccedilotildees em ambas asredes ocasionando desperdiacutecio da banda disponiacutevel A Figura 511 ilustra a separaccedilatildeoentre as redes de transporte e de roteadores de nuacutecleo (rede IPMPLS) Essa separaccedilatildeoevidencia o desacoplamento dos planos de controle de cada camada resultando em umaocupaccedilatildeo natildeo otimizada da banda disponiacutevel como resultado da configuraccedilatildeo de proteccedilatildeode muacuteltiplas camadas

A configuraccedilatildeo manual ocorre frequentemente devido agraves mudanccedilas da matriz detraacutefego e da topologia fiacutesica muitas vezes como decorrecircncia de falhas nos enlaces Emqualquer dos casos a malha de tuacuteneis deve ser reconfigurada para se adequar ao novopadratildeo de traacutefego Outro problema das operadoras eacute o tempo de convergecircncia da rede emcaso de falhas intrinsecamente relacionado agrave separaccedilatildeo da rede de roteadores de nuacutecleo(camada L3) da rede de transporte (camadas L0 L1 e L2) A desvinculaccedilatildeo da topologia

Figura 59 Tuacutenel primaacuterio e de proteccedilatildeo

Figura 510 SLRG (Shared Risk Link Group)

de rede fiacutesica da rede loacutegica de tuacuteneis TE eacute um desafio enfrentado pelas operadoras poisuma interrupccedilatildeo em um enlace fiacutesico pode corresponder agrave interrupccedilatildeo de ambos os tuacuteneiso TE principal e reserva

53 Conceitos de Redes Definidas por SoftwareO Roteamento por segmentos utiliza aplicaccedilotildees de Redes Definidas por Software

(SDN) para o caacutelculo dos caminhos dos tuacuteneis MPLS baseado nos paracircmetros de enge-nharia de traacutefego A configuraccedilatildeo do tuacutenel eacute representada por uma lista ordenada de seg-mentos As SDNs constituem uma mudanccedila de paradigma em redes separando o plano decontrole do plano de encaminhamento rompe a integraccedilatildeo vertical comum em roteadorese comutadores A centralizaccedilatildeo do controle da rede por outro lado introduz maiores capa-cidade de programaccedilatildeo e flexibilidade de utilizaccedilatildeo [Kreutz et al 2015 Hu et al 2014]

531 Arquitetura e Desenvolvimento da SDN

Em redes IP tradicionais os plano de controle e de dados satildeo acoplados e embuti-dos no mesmo dispositivo de rede Essa integraccedilatildeo vertical eacute uma das razotildees pelas quais

Figura 511 Separaccedilatildeo de camadas de rede de transporte e IPMPLS

as redes IP possuem gerenciamento e controle complexos sendo ainda pouco flexiacuteveisagrave introduccedilatildeo de inovaccedilotildees tecnoloacutegicas Para gerecircncia de redes a maior parte dos fa-bricantes oferece soluccedilotildees com hardware sistemas operacionais e programas de controleproprietaacuterios As redes de nuacutecleo IPMPLS apresentam tambeacutem grande complexidade deconfiguraccedilatildeo devido aos inuacutemeros protocolos envolvidos bem como a falta de flexibili-dade em resposta a mudanccedilas da rede falhas e balanceamento de traacutefego

A arquitetura de rede SDN se baseia em quatro pilares desacoplamento do planode controle do plano de dados decisotildees baseadas em fluxos ao inveacutes do endereccedilamentode destino programaccedilatildeo de fluxos flexiacutevel limitada ao tamanho das tabelas de fluxose loacutegica de controle em entidade externa denominada controlador O controlador eacute umaplataforma de software ou um sistema operacional de rede (Network Operating System- NOS) executado em um servidor de uso comum COTS O objetivo eacute prover os recur-sos essenciais de rede e abstraccedilotildees para facilitar a programaccedilatildeo de qualquer dispositivode encaminhamento Em uma visatildeo simplificada da arquitetura SDN a infraestrutura fiacute-sica eacute formada pelos dispositivos de encaminhamento como comutadores ou roteadoressem plano de controle ou com o plano de controle reduzido e com interfaces de progra-maccedilatildeo abertas A Figura 512 mostra a arquitetura de uma SDN [Kreutz et al 2015]O plano de dados eacute constituiacutedo pela infraestrutura de rede e interfaces southbound (SBIndash southbound interface) A infraestrutura de rede similar a uma rede tradicional cor-responde aos dispositivos que desempenham instruccedilotildees elementares de encaminhamentode traacutefego Estas instruccedilotildees satildeo definidas por interfaces abertas SBI como por exemploo OpenFlow [Lara et al 2014] O plano de controle eacute constituiacutedo por uma camada devirtualizaccedilatildeo outra camada correspondente ao sistema operacional de rede e as interfacesnorthbound (NBI) O sistema operacional de rede pode estar ou natildeo em uma infraestruturade hardware virtualizada atraveacutes do hipervisor que permite a criaccedilatildeo de maacutequinas virtu-ais no servidor fiacutesico onde eacute instalado o controlador de rede O controlador ou sistemaoperacional de rede programa os dispositivos de rede Por fim as interfaces northboundoferecem APIs para desenvolvedores de aplicaccedilotildees O plano de gerecircncia corresponde aoconjunto de aplicaccedilotildees utilizando linguagens de programaccedilatildeo apropriadas para o ambi-ente virtualizado que interliga todas as funcionalidades de rede para que as aplicaccedilotildeespossam implementar a loacutegica e controle da rede atraveacutes da NBI O plano de dados eacute res-ponsaacutevel pelo encaminhamento dos pacotes e eacute composto pela infraestrutura de rede quecorresponde ao elementos fiacutesicos da rede e por interfaces NBI responsaacuteveis pela comuni-

caccedilatildeo entre o plano de controle e o plano de dados A seguir seratildeo detalhadas cada umadas camadas da arquitetura SDN

Figura 512 Diagrama de arquitetura de sistema de rede SDN

532 Plano de Dados

O plano de encaminhamento de dados eacute composto pela infraestrutura de rede fiacutesicae pelas interfaces southbound onde protocolos abertos ou proprietaacuterios podem ser usadospara programaccedilatildeo dos dispositivos de rede como o CWMP (CPE WAN ManagementProtocol) definido na norma ETSI TR-069 ou o protocolo SNMP (Simple Network Ma-nagement Protocol) padronizado pelo IETF O SNMP foi concebido para gerenciamentode dispositivos de rede atraveacutes de operaccedilotildees do tipo ldquoGETrdquo e ldquoSETrdquo de informaccedilotildees emuma base de dados (Management Information Base ndash MIB)

5321 Infraestrutura de Rede

A infraestrutura fiacutesica das redes SDN eacute similar agrave das redes tradicionais com adiferenccedila dos dispositivos serem simplesmente elementos de encaminhamento de da-dos [Nunes et al 2014] ou seja sem controle ou software embarcado que permita odispositivo tomar decisotildees autocircnomas A inteligecircncia reside no sistema operacional derede e nas aplicaccedilotildees de rede que acessam os elementos da infraestrutura atraveacutes dasinterfaces southbound como por exemplo o OpenFlow

5322 Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros

Atualmente muitas interfaces abertas podem ser empregadas como interface south-bound em redes SDN Aleacutem do OpenFlow pode-se utilizar os protocolos NETCONF[RFC6241 2011] BGP-LS (Border Gateway Protocol - Link State) [RFC7752 2016a]PCEP (Path Computation Element Communication Protocol) [RFC5440 2009] OVSDB(Open vSwitch Database) [RFC7047 2013] SNMP (Simple Network Management Pro-tocol) [RFC1157 1990] a TL1 (Transaction Language 1) [Telcordia GR-831 1996] ea CLI (Command Line Interface) [ISOIEC 232712012 2012] A linguagem TL1 foi

desenvolvida especificamente para equipamentos de telecomunicaccedilotildees cujo objetivo eacute acomunicaccedilatildeo entre maacutequinas O protocolo NETCONF foi desenvolvido para ser o suces-sor natural do SNMP pois o SNMP tinha o foco no monitoramento e natildeo na configuraccedilatildeoda rede O OVSDB eacute um protocolo de gerenciamento projetado para redes definidas porsoftware Originalmente o OVSDB era parte do OVS (Open vSwitch) um comutador vir-tual projetado para hipervisores Linux O OVS representa uma evoluccedilatildeo dos protocolosde gerenciamento de rede permitindo programar e configurar pontes portas e interfacesde plataformas de equipamentos SDN e de virtualizaccedilatildeo de funccedilotildees de rede (NetworkFunctions Virtualization ndash NFV) [Andreas et al 2015] A seguir satildeo detalhadas os prin-cipais protocolos de interfaces SBI

NETCONF e YANG

O NETCONF eacute um protocolo de gerenciamento de rede definido pelo IETF paraconfiguraccedilatildeo e monitoramento da rede sendo este uacuteltimo papel desempenhado pelo SNMPdesde o final dos anos 80 O SNMP tinha como ponto fraco a ausecircncia de recursos deconfiguraccedilatildeo de rede aleacutem da interface binaacuteria BER (Basic Encoding Rules) e MIBs pro-prietaacuterias O protocolo NETCONF utiliza mecanismos que permitem instalar manipulare apagar a configuraccedilatildeo de dispositivos de rede atraveacutes de uma implementaccedilatildeo cliente-servidor ilustrada na Figura 513

Figura 513 Modelo de implementaccedilatildeo cliente-servidor do NETCONF

Apoacutes o estabelecimento da sessatildeo segura de transporte entre cliente e servidoro protocolo NETCONF envia uma mensagem HELLO para anuacutencio das capacidades doprotocolo e modelos de dados suportados O NETCONF suporta ainda a subscriccedilatildeo e orecebimento de notificaccedilotildees de eventos de forma assiacutencrona assim como o fechamentoparcial de uma configuraccedilatildeo corrente de um dispositivo de rede Esta funcionalidade per-mite muacuteltiplas sessotildees de ediccedilatildeo agilizando o processo de configuraccedilatildeo O NETCONFpermite o monitoramento e gerenciamento por uma entidade autocircnoma (o gerente NET-CONF) que utiliza repositoacuterio de dados sessotildees fechamentos e estatiacutesticas disponiacuteveisno servidor NETCONF

O YANG eacute uma linguagem formal com texto claro de modelo de dados com sin-

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Code Point anteriormente ToS ndash Type of Service) [Marzo et al 2003] no MPLS a in-formaccedilatildeo eacute definida no campo EXP bits do roacutetulo

O conceito de engenharia de traacutefego MPLS-TE (MPLS ndash Traffic Engineering)foi desenvolvido para resolver problemas de congestionamento otimizaccedilatildeo da banda econvergecircncia da rede com proteccedilatildeo do traacutefego por reserva de recursos A estrateacutegia doMPLS-TE eacute calcular caminhos baseados em restriccedilotildees como banda disponiacutevel latecircncia eperda de pacotes sugerindo uma rota diferente do IGP que tipicamente natildeo realiza enge-nharia de traacutefego [Xiao et al 2000 Alvarez 2016] O caacutelculo de caminhos baseados emrestriccedilotildees eacute feito pelo PCE (Path Computation Element) papel desempenhado pelo planode controle dos roteadores de nuacutecleo (Figura 58) O caminho calculado pela engenhariade traacutefego eacute implementado como um tuacutenel unidirecional (tuacutenel TE) iniciado no roteadorde nuacutecleo de origem (head end LSR) e terminado no roteador de nuacutecleo de destino (tailend LSR) O tuacutenel eacute identificado a partir de um roacutetulo a mais aleacutem dos roacutetulos do protocoloLDP A reserva de recursos para o caminho eacute feita pelo protocolo RSVP-TE (ResourcereSerVation Protocol ndash Traffic Engineering) uma extensatildeo do RSVP [Rose 2014] ORSVP-TE eacute usado para o estabelecimento de LSPs que podem ser configurados manual-mente (Explicit LSP) ou dinamicamente (Dynamic LSP) atraveacutes de um IGP com extensotildeespara engenharia de traacutefego como o OSPF-TE [Rose 2014] Na Figura 58 o roteador R1utiliza a base de dados da topologia TE que conteacutem muacuteltiplas meacutetricas por enlace paracalcular o caminho ateacute R8 atraveacutes do PCE presente em R1 O RSVP-TE cria LSPs adi-cionais distribuindo os roacutetulos entre os roteadores R1 e R8 As mensagens RSVP-TEde caminho satildeo enviadas periodicamente pelo roteador de nuacutecleo de origem para cadaroteador de nuacutecleo intermediaacuterio pertencente ao tuacutenel contendo uma lista de atributos aserem analisados Esses atributos possuem os valores das meacutetricas utilizadas no caacutelculodos caminhos As mensagens de reserva de recursos satildeo enviadas pelo roteador de des-tino apoacutes receber uma mensagem de estabelecimento de caminho iniciando o processo dedistribuiccedilatildeo de roacutetulos no qual cada roteador intermediaacuterio informa o roacutetulo a ser usadopelo antecessor Se um dos roteadores intermediaacuterios natildeo puder confirmar a reserva umamensagem de erro eacute enviada ao roteador de nuacutecleo de origem do tuacutenel [Alvarez 2016]

Um dos requisitos da engenharia de traacutefego eacute a capacidade de re-rotear um tuacutenelTE baseado em poliacuteticas administrativas O mecanismo de re-roteamento raacutepido (Fast Re-route ndash FRR) previne falhas de noacutes e de enlaces O mecanismo pode ser usado para trocarpara rotas com melhor desempenho em caso de falhas de recursos do tuacutenel ou utilizarnovas rotas por decisotildees administrativas A Figura 59 mostra a criaccedilatildeo do tuacutenel primaacuterioformado pelos roteadores A B D E e do tuacutenel de proteccedilatildeo provisionado nos roteadoresB C e D [Osborne e Simha 2002 Alvarez 2016] A engenharia de traacutefego tambeacutem podeser usada para balanceamento de traacutefego atraveacutes de muacuteltiplos tuacuteneis TE A malha de tuacuteneise sua banda podem ser configurados manual ou automaticamente atraveacutes de um roteirorepetitivo de configuraccedilotildees [Osborne e Simha 2002] Em uma topologia em malha tantopara balanceamento de traacutefego quanto para proteccedilatildeo os caminhos precisam ser disjuntosEntretanto alguns tuacuteneis podem utilizar o mesmo recurso fiacutesico como o mesmo cabo defibra oacuteptica No exemplo da Figura 510 o SRLG (Shared Risk Link Group) de nuacutemero10 indica a presenccedila de um enlace fiacutesico comum entre os caminhos R2-R4R2-R3 Ainformaccedilatildeo do SRLG eacute usada como um atributo adicional ao caminho original fornecidopelo IGP para evitar a configuraccedilatildeo de tuacuteneis no mesmo enlace fiacutesico [Alvarez 2016]

Figura 58 Caacutelculo de caminho do tuacutenel TE

525 Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

A operadora de telecomunicaccedilotildees utiliza a engenharia de traacutefego para o tratamentode falhas nos enlaces fiacutesicos da rede Tipicamente a camada fiacutesica ou rede de transporteeacute composta por equipamentos DWDM (Dense Wavelength Division Multiplex) ROADM(Reconfigurable Add Drop Multiplex) e comutadores OTN (Optical Transport Network)Esses elementos realizam a multiplexaccedilatildeo e comutaccedilatildeo do traacutefego no domiacutenio oacuteptico eeleacutetrico aleacutem de realizar funccedilotildees de formataccedilatildeo e regeneraccedilatildeo dos sinais de proteccedilatildeo ede restauraccedilatildeo da rede A rede de transporte possui um plano de controle proacuteprio baseadono padratildeo ASON (Automatically Switched Optical Network) [Je e Ly 2012] e GMPLS(Generalized MPLS) [J 2011]

A rede de transporte eacute segregada da rede de roteadores de nuacutecleo (camada L3)sendo necessaacuteria a configuraccedilatildeo de SRLGs para evitar tuacuteneis primaacuterios e de proteccedilatildeo emum mesmo enlace fiacutesico Eacute comum o cenaacuterio com proteccedilotildees e restauraccedilotildees em ambas asredes ocasionando desperdiacutecio da banda disponiacutevel A Figura 511 ilustra a separaccedilatildeoentre as redes de transporte e de roteadores de nuacutecleo (rede IPMPLS) Essa separaccedilatildeoevidencia o desacoplamento dos planos de controle de cada camada resultando em umaocupaccedilatildeo natildeo otimizada da banda disponiacutevel como resultado da configuraccedilatildeo de proteccedilatildeode muacuteltiplas camadas

A configuraccedilatildeo manual ocorre frequentemente devido agraves mudanccedilas da matriz detraacutefego e da topologia fiacutesica muitas vezes como decorrecircncia de falhas nos enlaces Emqualquer dos casos a malha de tuacuteneis deve ser reconfigurada para se adequar ao novopadratildeo de traacutefego Outro problema das operadoras eacute o tempo de convergecircncia da rede emcaso de falhas intrinsecamente relacionado agrave separaccedilatildeo da rede de roteadores de nuacutecleo(camada L3) da rede de transporte (camadas L0 L1 e L2) A desvinculaccedilatildeo da topologia

Figura 59 Tuacutenel primaacuterio e de proteccedilatildeo

Figura 510 SLRG (Shared Risk Link Group)

de rede fiacutesica da rede loacutegica de tuacuteneis TE eacute um desafio enfrentado pelas operadoras poisuma interrupccedilatildeo em um enlace fiacutesico pode corresponder agrave interrupccedilatildeo de ambos os tuacuteneiso TE principal e reserva

53 Conceitos de Redes Definidas por SoftwareO Roteamento por segmentos utiliza aplicaccedilotildees de Redes Definidas por Software

(SDN) para o caacutelculo dos caminhos dos tuacuteneis MPLS baseado nos paracircmetros de enge-nharia de traacutefego A configuraccedilatildeo do tuacutenel eacute representada por uma lista ordenada de seg-mentos As SDNs constituem uma mudanccedila de paradigma em redes separando o plano decontrole do plano de encaminhamento rompe a integraccedilatildeo vertical comum em roteadorese comutadores A centralizaccedilatildeo do controle da rede por outro lado introduz maiores capa-cidade de programaccedilatildeo e flexibilidade de utilizaccedilatildeo [Kreutz et al 2015 Hu et al 2014]

531 Arquitetura e Desenvolvimento da SDN

Em redes IP tradicionais os plano de controle e de dados satildeo acoplados e embuti-dos no mesmo dispositivo de rede Essa integraccedilatildeo vertical eacute uma das razotildees pelas quais

Figura 511 Separaccedilatildeo de camadas de rede de transporte e IPMPLS

as redes IP possuem gerenciamento e controle complexos sendo ainda pouco flexiacuteveisagrave introduccedilatildeo de inovaccedilotildees tecnoloacutegicas Para gerecircncia de redes a maior parte dos fa-bricantes oferece soluccedilotildees com hardware sistemas operacionais e programas de controleproprietaacuterios As redes de nuacutecleo IPMPLS apresentam tambeacutem grande complexidade deconfiguraccedilatildeo devido aos inuacutemeros protocolos envolvidos bem como a falta de flexibili-dade em resposta a mudanccedilas da rede falhas e balanceamento de traacutefego

A arquitetura de rede SDN se baseia em quatro pilares desacoplamento do planode controle do plano de dados decisotildees baseadas em fluxos ao inveacutes do endereccedilamentode destino programaccedilatildeo de fluxos flexiacutevel limitada ao tamanho das tabelas de fluxose loacutegica de controle em entidade externa denominada controlador O controlador eacute umaplataforma de software ou um sistema operacional de rede (Network Operating System- NOS) executado em um servidor de uso comum COTS O objetivo eacute prover os recur-sos essenciais de rede e abstraccedilotildees para facilitar a programaccedilatildeo de qualquer dispositivode encaminhamento Em uma visatildeo simplificada da arquitetura SDN a infraestrutura fiacute-sica eacute formada pelos dispositivos de encaminhamento como comutadores ou roteadoressem plano de controle ou com o plano de controle reduzido e com interfaces de progra-maccedilatildeo abertas A Figura 512 mostra a arquitetura de uma SDN [Kreutz et al 2015]O plano de dados eacute constituiacutedo pela infraestrutura de rede e interfaces southbound (SBIndash southbound interface) A infraestrutura de rede similar a uma rede tradicional cor-responde aos dispositivos que desempenham instruccedilotildees elementares de encaminhamentode traacutefego Estas instruccedilotildees satildeo definidas por interfaces abertas SBI como por exemploo OpenFlow [Lara et al 2014] O plano de controle eacute constituiacutedo por uma camada devirtualizaccedilatildeo outra camada correspondente ao sistema operacional de rede e as interfacesnorthbound (NBI) O sistema operacional de rede pode estar ou natildeo em uma infraestruturade hardware virtualizada atraveacutes do hipervisor que permite a criaccedilatildeo de maacutequinas virtu-ais no servidor fiacutesico onde eacute instalado o controlador de rede O controlador ou sistemaoperacional de rede programa os dispositivos de rede Por fim as interfaces northboundoferecem APIs para desenvolvedores de aplicaccedilotildees O plano de gerecircncia corresponde aoconjunto de aplicaccedilotildees utilizando linguagens de programaccedilatildeo apropriadas para o ambi-ente virtualizado que interliga todas as funcionalidades de rede para que as aplicaccedilotildeespossam implementar a loacutegica e controle da rede atraveacutes da NBI O plano de dados eacute res-ponsaacutevel pelo encaminhamento dos pacotes e eacute composto pela infraestrutura de rede quecorresponde ao elementos fiacutesicos da rede e por interfaces NBI responsaacuteveis pela comuni-

caccedilatildeo entre o plano de controle e o plano de dados A seguir seratildeo detalhadas cada umadas camadas da arquitetura SDN

Figura 512 Diagrama de arquitetura de sistema de rede SDN

532 Plano de Dados

O plano de encaminhamento de dados eacute composto pela infraestrutura de rede fiacutesicae pelas interfaces southbound onde protocolos abertos ou proprietaacuterios podem ser usadospara programaccedilatildeo dos dispositivos de rede como o CWMP (CPE WAN ManagementProtocol) definido na norma ETSI TR-069 ou o protocolo SNMP (Simple Network Ma-nagement Protocol) padronizado pelo IETF O SNMP foi concebido para gerenciamentode dispositivos de rede atraveacutes de operaccedilotildees do tipo ldquoGETrdquo e ldquoSETrdquo de informaccedilotildees emuma base de dados (Management Information Base ndash MIB)

5321 Infraestrutura de Rede

A infraestrutura fiacutesica das redes SDN eacute similar agrave das redes tradicionais com adiferenccedila dos dispositivos serem simplesmente elementos de encaminhamento de da-dos [Nunes et al 2014] ou seja sem controle ou software embarcado que permita odispositivo tomar decisotildees autocircnomas A inteligecircncia reside no sistema operacional derede e nas aplicaccedilotildees de rede que acessam os elementos da infraestrutura atraveacutes dasinterfaces southbound como por exemplo o OpenFlow

5322 Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros

Atualmente muitas interfaces abertas podem ser empregadas como interface south-bound em redes SDN Aleacutem do OpenFlow pode-se utilizar os protocolos NETCONF[RFC6241 2011] BGP-LS (Border Gateway Protocol - Link State) [RFC7752 2016a]PCEP (Path Computation Element Communication Protocol) [RFC5440 2009] OVSDB(Open vSwitch Database) [RFC7047 2013] SNMP (Simple Network Management Pro-tocol) [RFC1157 1990] a TL1 (Transaction Language 1) [Telcordia GR-831 1996] ea CLI (Command Line Interface) [ISOIEC 232712012 2012] A linguagem TL1 foi

desenvolvida especificamente para equipamentos de telecomunicaccedilotildees cujo objetivo eacute acomunicaccedilatildeo entre maacutequinas O protocolo NETCONF foi desenvolvido para ser o suces-sor natural do SNMP pois o SNMP tinha o foco no monitoramento e natildeo na configuraccedilatildeoda rede O OVSDB eacute um protocolo de gerenciamento projetado para redes definidas porsoftware Originalmente o OVSDB era parte do OVS (Open vSwitch) um comutador vir-tual projetado para hipervisores Linux O OVS representa uma evoluccedilatildeo dos protocolosde gerenciamento de rede permitindo programar e configurar pontes portas e interfacesde plataformas de equipamentos SDN e de virtualizaccedilatildeo de funccedilotildees de rede (NetworkFunctions Virtualization ndash NFV) [Andreas et al 2015] A seguir satildeo detalhadas os prin-cipais protocolos de interfaces SBI

NETCONF e YANG

O NETCONF eacute um protocolo de gerenciamento de rede definido pelo IETF paraconfiguraccedilatildeo e monitoramento da rede sendo este uacuteltimo papel desempenhado pelo SNMPdesde o final dos anos 80 O SNMP tinha como ponto fraco a ausecircncia de recursos deconfiguraccedilatildeo de rede aleacutem da interface binaacuteria BER (Basic Encoding Rules) e MIBs pro-prietaacuterias O protocolo NETCONF utiliza mecanismos que permitem instalar manipulare apagar a configuraccedilatildeo de dispositivos de rede atraveacutes de uma implementaccedilatildeo cliente-servidor ilustrada na Figura 513

Figura 513 Modelo de implementaccedilatildeo cliente-servidor do NETCONF

Apoacutes o estabelecimento da sessatildeo segura de transporte entre cliente e servidoro protocolo NETCONF envia uma mensagem HELLO para anuacutencio das capacidades doprotocolo e modelos de dados suportados O NETCONF suporta ainda a subscriccedilatildeo e orecebimento de notificaccedilotildees de eventos de forma assiacutencrona assim como o fechamentoparcial de uma configuraccedilatildeo corrente de um dispositivo de rede Esta funcionalidade per-mite muacuteltiplas sessotildees de ediccedilatildeo agilizando o processo de configuraccedilatildeo O NETCONFpermite o monitoramento e gerenciamento por uma entidade autocircnoma (o gerente NET-CONF) que utiliza repositoacuterio de dados sessotildees fechamentos e estatiacutesticas disponiacuteveisno servidor NETCONF

O YANG eacute uma linguagem formal com texto claro de modelo de dados com sin-

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 58 Caacutelculo de caminho do tuacutenel TE

525 Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS

A operadora de telecomunicaccedilotildees utiliza a engenharia de traacutefego para o tratamentode falhas nos enlaces fiacutesicos da rede Tipicamente a camada fiacutesica ou rede de transporteeacute composta por equipamentos DWDM (Dense Wavelength Division Multiplex) ROADM(Reconfigurable Add Drop Multiplex) e comutadores OTN (Optical Transport Network)Esses elementos realizam a multiplexaccedilatildeo e comutaccedilatildeo do traacutefego no domiacutenio oacuteptico eeleacutetrico aleacutem de realizar funccedilotildees de formataccedilatildeo e regeneraccedilatildeo dos sinais de proteccedilatildeo ede restauraccedilatildeo da rede A rede de transporte possui um plano de controle proacuteprio baseadono padratildeo ASON (Automatically Switched Optical Network) [Je e Ly 2012] e GMPLS(Generalized MPLS) [J 2011]

A rede de transporte eacute segregada da rede de roteadores de nuacutecleo (camada L3)sendo necessaacuteria a configuraccedilatildeo de SRLGs para evitar tuacuteneis primaacuterios e de proteccedilatildeo emum mesmo enlace fiacutesico Eacute comum o cenaacuterio com proteccedilotildees e restauraccedilotildees em ambas asredes ocasionando desperdiacutecio da banda disponiacutevel A Figura 511 ilustra a separaccedilatildeoentre as redes de transporte e de roteadores de nuacutecleo (rede IPMPLS) Essa separaccedilatildeoevidencia o desacoplamento dos planos de controle de cada camada resultando em umaocupaccedilatildeo natildeo otimizada da banda disponiacutevel como resultado da configuraccedilatildeo de proteccedilatildeode muacuteltiplas camadas

A configuraccedilatildeo manual ocorre frequentemente devido agraves mudanccedilas da matriz detraacutefego e da topologia fiacutesica muitas vezes como decorrecircncia de falhas nos enlaces Emqualquer dos casos a malha de tuacuteneis deve ser reconfigurada para se adequar ao novopadratildeo de traacutefego Outro problema das operadoras eacute o tempo de convergecircncia da rede emcaso de falhas intrinsecamente relacionado agrave separaccedilatildeo da rede de roteadores de nuacutecleo(camada L3) da rede de transporte (camadas L0 L1 e L2) A desvinculaccedilatildeo da topologia

Figura 59 Tuacutenel primaacuterio e de proteccedilatildeo

Figura 510 SLRG (Shared Risk Link Group)

de rede fiacutesica da rede loacutegica de tuacuteneis TE eacute um desafio enfrentado pelas operadoras poisuma interrupccedilatildeo em um enlace fiacutesico pode corresponder agrave interrupccedilatildeo de ambos os tuacuteneiso TE principal e reserva

53 Conceitos de Redes Definidas por SoftwareO Roteamento por segmentos utiliza aplicaccedilotildees de Redes Definidas por Software

(SDN) para o caacutelculo dos caminhos dos tuacuteneis MPLS baseado nos paracircmetros de enge-nharia de traacutefego A configuraccedilatildeo do tuacutenel eacute representada por uma lista ordenada de seg-mentos As SDNs constituem uma mudanccedila de paradigma em redes separando o plano decontrole do plano de encaminhamento rompe a integraccedilatildeo vertical comum em roteadorese comutadores A centralizaccedilatildeo do controle da rede por outro lado introduz maiores capa-cidade de programaccedilatildeo e flexibilidade de utilizaccedilatildeo [Kreutz et al 2015 Hu et al 2014]

531 Arquitetura e Desenvolvimento da SDN

Em redes IP tradicionais os plano de controle e de dados satildeo acoplados e embuti-dos no mesmo dispositivo de rede Essa integraccedilatildeo vertical eacute uma das razotildees pelas quais

Figura 511 Separaccedilatildeo de camadas de rede de transporte e IPMPLS

as redes IP possuem gerenciamento e controle complexos sendo ainda pouco flexiacuteveisagrave introduccedilatildeo de inovaccedilotildees tecnoloacutegicas Para gerecircncia de redes a maior parte dos fa-bricantes oferece soluccedilotildees com hardware sistemas operacionais e programas de controleproprietaacuterios As redes de nuacutecleo IPMPLS apresentam tambeacutem grande complexidade deconfiguraccedilatildeo devido aos inuacutemeros protocolos envolvidos bem como a falta de flexibili-dade em resposta a mudanccedilas da rede falhas e balanceamento de traacutefego

A arquitetura de rede SDN se baseia em quatro pilares desacoplamento do planode controle do plano de dados decisotildees baseadas em fluxos ao inveacutes do endereccedilamentode destino programaccedilatildeo de fluxos flexiacutevel limitada ao tamanho das tabelas de fluxose loacutegica de controle em entidade externa denominada controlador O controlador eacute umaplataforma de software ou um sistema operacional de rede (Network Operating System- NOS) executado em um servidor de uso comum COTS O objetivo eacute prover os recur-sos essenciais de rede e abstraccedilotildees para facilitar a programaccedilatildeo de qualquer dispositivode encaminhamento Em uma visatildeo simplificada da arquitetura SDN a infraestrutura fiacute-sica eacute formada pelos dispositivos de encaminhamento como comutadores ou roteadoressem plano de controle ou com o plano de controle reduzido e com interfaces de progra-maccedilatildeo abertas A Figura 512 mostra a arquitetura de uma SDN [Kreutz et al 2015]O plano de dados eacute constituiacutedo pela infraestrutura de rede e interfaces southbound (SBIndash southbound interface) A infraestrutura de rede similar a uma rede tradicional cor-responde aos dispositivos que desempenham instruccedilotildees elementares de encaminhamentode traacutefego Estas instruccedilotildees satildeo definidas por interfaces abertas SBI como por exemploo OpenFlow [Lara et al 2014] O plano de controle eacute constituiacutedo por uma camada devirtualizaccedilatildeo outra camada correspondente ao sistema operacional de rede e as interfacesnorthbound (NBI) O sistema operacional de rede pode estar ou natildeo em uma infraestruturade hardware virtualizada atraveacutes do hipervisor que permite a criaccedilatildeo de maacutequinas virtu-ais no servidor fiacutesico onde eacute instalado o controlador de rede O controlador ou sistemaoperacional de rede programa os dispositivos de rede Por fim as interfaces northboundoferecem APIs para desenvolvedores de aplicaccedilotildees O plano de gerecircncia corresponde aoconjunto de aplicaccedilotildees utilizando linguagens de programaccedilatildeo apropriadas para o ambi-ente virtualizado que interliga todas as funcionalidades de rede para que as aplicaccedilotildeespossam implementar a loacutegica e controle da rede atraveacutes da NBI O plano de dados eacute res-ponsaacutevel pelo encaminhamento dos pacotes e eacute composto pela infraestrutura de rede quecorresponde ao elementos fiacutesicos da rede e por interfaces NBI responsaacuteveis pela comuni-

caccedilatildeo entre o plano de controle e o plano de dados A seguir seratildeo detalhadas cada umadas camadas da arquitetura SDN

Figura 512 Diagrama de arquitetura de sistema de rede SDN

532 Plano de Dados

O plano de encaminhamento de dados eacute composto pela infraestrutura de rede fiacutesicae pelas interfaces southbound onde protocolos abertos ou proprietaacuterios podem ser usadospara programaccedilatildeo dos dispositivos de rede como o CWMP (CPE WAN ManagementProtocol) definido na norma ETSI TR-069 ou o protocolo SNMP (Simple Network Ma-nagement Protocol) padronizado pelo IETF O SNMP foi concebido para gerenciamentode dispositivos de rede atraveacutes de operaccedilotildees do tipo ldquoGETrdquo e ldquoSETrdquo de informaccedilotildees emuma base de dados (Management Information Base ndash MIB)

5321 Infraestrutura de Rede

A infraestrutura fiacutesica das redes SDN eacute similar agrave das redes tradicionais com adiferenccedila dos dispositivos serem simplesmente elementos de encaminhamento de da-dos [Nunes et al 2014] ou seja sem controle ou software embarcado que permita odispositivo tomar decisotildees autocircnomas A inteligecircncia reside no sistema operacional derede e nas aplicaccedilotildees de rede que acessam os elementos da infraestrutura atraveacutes dasinterfaces southbound como por exemplo o OpenFlow

5322 Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros

Atualmente muitas interfaces abertas podem ser empregadas como interface south-bound em redes SDN Aleacutem do OpenFlow pode-se utilizar os protocolos NETCONF[RFC6241 2011] BGP-LS (Border Gateway Protocol - Link State) [RFC7752 2016a]PCEP (Path Computation Element Communication Protocol) [RFC5440 2009] OVSDB(Open vSwitch Database) [RFC7047 2013] SNMP (Simple Network Management Pro-tocol) [RFC1157 1990] a TL1 (Transaction Language 1) [Telcordia GR-831 1996] ea CLI (Command Line Interface) [ISOIEC 232712012 2012] A linguagem TL1 foi

desenvolvida especificamente para equipamentos de telecomunicaccedilotildees cujo objetivo eacute acomunicaccedilatildeo entre maacutequinas O protocolo NETCONF foi desenvolvido para ser o suces-sor natural do SNMP pois o SNMP tinha o foco no monitoramento e natildeo na configuraccedilatildeoda rede O OVSDB eacute um protocolo de gerenciamento projetado para redes definidas porsoftware Originalmente o OVSDB era parte do OVS (Open vSwitch) um comutador vir-tual projetado para hipervisores Linux O OVS representa uma evoluccedilatildeo dos protocolosde gerenciamento de rede permitindo programar e configurar pontes portas e interfacesde plataformas de equipamentos SDN e de virtualizaccedilatildeo de funccedilotildees de rede (NetworkFunctions Virtualization ndash NFV) [Andreas et al 2015] A seguir satildeo detalhadas os prin-cipais protocolos de interfaces SBI

NETCONF e YANG

O NETCONF eacute um protocolo de gerenciamento de rede definido pelo IETF paraconfiguraccedilatildeo e monitoramento da rede sendo este uacuteltimo papel desempenhado pelo SNMPdesde o final dos anos 80 O SNMP tinha como ponto fraco a ausecircncia de recursos deconfiguraccedilatildeo de rede aleacutem da interface binaacuteria BER (Basic Encoding Rules) e MIBs pro-prietaacuterias O protocolo NETCONF utiliza mecanismos que permitem instalar manipulare apagar a configuraccedilatildeo de dispositivos de rede atraveacutes de uma implementaccedilatildeo cliente-servidor ilustrada na Figura 513

Figura 513 Modelo de implementaccedilatildeo cliente-servidor do NETCONF

Apoacutes o estabelecimento da sessatildeo segura de transporte entre cliente e servidoro protocolo NETCONF envia uma mensagem HELLO para anuacutencio das capacidades doprotocolo e modelos de dados suportados O NETCONF suporta ainda a subscriccedilatildeo e orecebimento de notificaccedilotildees de eventos de forma assiacutencrona assim como o fechamentoparcial de uma configuraccedilatildeo corrente de um dispositivo de rede Esta funcionalidade per-mite muacuteltiplas sessotildees de ediccedilatildeo agilizando o processo de configuraccedilatildeo O NETCONFpermite o monitoramento e gerenciamento por uma entidade autocircnoma (o gerente NET-CONF) que utiliza repositoacuterio de dados sessotildees fechamentos e estatiacutesticas disponiacuteveisno servidor NETCONF

O YANG eacute uma linguagem formal com texto claro de modelo de dados com sin-

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 59 Tuacutenel primaacuterio e de proteccedilatildeo

Figura 510 SLRG (Shared Risk Link Group)

de rede fiacutesica da rede loacutegica de tuacuteneis TE eacute um desafio enfrentado pelas operadoras poisuma interrupccedilatildeo em um enlace fiacutesico pode corresponder agrave interrupccedilatildeo de ambos os tuacuteneiso TE principal e reserva

53 Conceitos de Redes Definidas por SoftwareO Roteamento por segmentos utiliza aplicaccedilotildees de Redes Definidas por Software

(SDN) para o caacutelculo dos caminhos dos tuacuteneis MPLS baseado nos paracircmetros de enge-nharia de traacutefego A configuraccedilatildeo do tuacutenel eacute representada por uma lista ordenada de seg-mentos As SDNs constituem uma mudanccedila de paradigma em redes separando o plano decontrole do plano de encaminhamento rompe a integraccedilatildeo vertical comum em roteadorese comutadores A centralizaccedilatildeo do controle da rede por outro lado introduz maiores capa-cidade de programaccedilatildeo e flexibilidade de utilizaccedilatildeo [Kreutz et al 2015 Hu et al 2014]

531 Arquitetura e Desenvolvimento da SDN

Em redes IP tradicionais os plano de controle e de dados satildeo acoplados e embuti-dos no mesmo dispositivo de rede Essa integraccedilatildeo vertical eacute uma das razotildees pelas quais

Figura 511 Separaccedilatildeo de camadas de rede de transporte e IPMPLS

as redes IP possuem gerenciamento e controle complexos sendo ainda pouco flexiacuteveisagrave introduccedilatildeo de inovaccedilotildees tecnoloacutegicas Para gerecircncia de redes a maior parte dos fa-bricantes oferece soluccedilotildees com hardware sistemas operacionais e programas de controleproprietaacuterios As redes de nuacutecleo IPMPLS apresentam tambeacutem grande complexidade deconfiguraccedilatildeo devido aos inuacutemeros protocolos envolvidos bem como a falta de flexibili-dade em resposta a mudanccedilas da rede falhas e balanceamento de traacutefego

A arquitetura de rede SDN se baseia em quatro pilares desacoplamento do planode controle do plano de dados decisotildees baseadas em fluxos ao inveacutes do endereccedilamentode destino programaccedilatildeo de fluxos flexiacutevel limitada ao tamanho das tabelas de fluxose loacutegica de controle em entidade externa denominada controlador O controlador eacute umaplataforma de software ou um sistema operacional de rede (Network Operating System- NOS) executado em um servidor de uso comum COTS O objetivo eacute prover os recur-sos essenciais de rede e abstraccedilotildees para facilitar a programaccedilatildeo de qualquer dispositivode encaminhamento Em uma visatildeo simplificada da arquitetura SDN a infraestrutura fiacute-sica eacute formada pelos dispositivos de encaminhamento como comutadores ou roteadoressem plano de controle ou com o plano de controle reduzido e com interfaces de progra-maccedilatildeo abertas A Figura 512 mostra a arquitetura de uma SDN [Kreutz et al 2015]O plano de dados eacute constituiacutedo pela infraestrutura de rede e interfaces southbound (SBIndash southbound interface) A infraestrutura de rede similar a uma rede tradicional cor-responde aos dispositivos que desempenham instruccedilotildees elementares de encaminhamentode traacutefego Estas instruccedilotildees satildeo definidas por interfaces abertas SBI como por exemploo OpenFlow [Lara et al 2014] O plano de controle eacute constituiacutedo por uma camada devirtualizaccedilatildeo outra camada correspondente ao sistema operacional de rede e as interfacesnorthbound (NBI) O sistema operacional de rede pode estar ou natildeo em uma infraestruturade hardware virtualizada atraveacutes do hipervisor que permite a criaccedilatildeo de maacutequinas virtu-ais no servidor fiacutesico onde eacute instalado o controlador de rede O controlador ou sistemaoperacional de rede programa os dispositivos de rede Por fim as interfaces northboundoferecem APIs para desenvolvedores de aplicaccedilotildees O plano de gerecircncia corresponde aoconjunto de aplicaccedilotildees utilizando linguagens de programaccedilatildeo apropriadas para o ambi-ente virtualizado que interliga todas as funcionalidades de rede para que as aplicaccedilotildeespossam implementar a loacutegica e controle da rede atraveacutes da NBI O plano de dados eacute res-ponsaacutevel pelo encaminhamento dos pacotes e eacute composto pela infraestrutura de rede quecorresponde ao elementos fiacutesicos da rede e por interfaces NBI responsaacuteveis pela comuni-

caccedilatildeo entre o plano de controle e o plano de dados A seguir seratildeo detalhadas cada umadas camadas da arquitetura SDN

Figura 512 Diagrama de arquitetura de sistema de rede SDN

532 Plano de Dados

O plano de encaminhamento de dados eacute composto pela infraestrutura de rede fiacutesicae pelas interfaces southbound onde protocolos abertos ou proprietaacuterios podem ser usadospara programaccedilatildeo dos dispositivos de rede como o CWMP (CPE WAN ManagementProtocol) definido na norma ETSI TR-069 ou o protocolo SNMP (Simple Network Ma-nagement Protocol) padronizado pelo IETF O SNMP foi concebido para gerenciamentode dispositivos de rede atraveacutes de operaccedilotildees do tipo ldquoGETrdquo e ldquoSETrdquo de informaccedilotildees emuma base de dados (Management Information Base ndash MIB)

5321 Infraestrutura de Rede

A infraestrutura fiacutesica das redes SDN eacute similar agrave das redes tradicionais com adiferenccedila dos dispositivos serem simplesmente elementos de encaminhamento de da-dos [Nunes et al 2014] ou seja sem controle ou software embarcado que permita odispositivo tomar decisotildees autocircnomas A inteligecircncia reside no sistema operacional derede e nas aplicaccedilotildees de rede que acessam os elementos da infraestrutura atraveacutes dasinterfaces southbound como por exemplo o OpenFlow

5322 Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros

Atualmente muitas interfaces abertas podem ser empregadas como interface south-bound em redes SDN Aleacutem do OpenFlow pode-se utilizar os protocolos NETCONF[RFC6241 2011] BGP-LS (Border Gateway Protocol - Link State) [RFC7752 2016a]PCEP (Path Computation Element Communication Protocol) [RFC5440 2009] OVSDB(Open vSwitch Database) [RFC7047 2013] SNMP (Simple Network Management Pro-tocol) [RFC1157 1990] a TL1 (Transaction Language 1) [Telcordia GR-831 1996] ea CLI (Command Line Interface) [ISOIEC 232712012 2012] A linguagem TL1 foi

desenvolvida especificamente para equipamentos de telecomunicaccedilotildees cujo objetivo eacute acomunicaccedilatildeo entre maacutequinas O protocolo NETCONF foi desenvolvido para ser o suces-sor natural do SNMP pois o SNMP tinha o foco no monitoramento e natildeo na configuraccedilatildeoda rede O OVSDB eacute um protocolo de gerenciamento projetado para redes definidas porsoftware Originalmente o OVSDB era parte do OVS (Open vSwitch) um comutador vir-tual projetado para hipervisores Linux O OVS representa uma evoluccedilatildeo dos protocolosde gerenciamento de rede permitindo programar e configurar pontes portas e interfacesde plataformas de equipamentos SDN e de virtualizaccedilatildeo de funccedilotildees de rede (NetworkFunctions Virtualization ndash NFV) [Andreas et al 2015] A seguir satildeo detalhadas os prin-cipais protocolos de interfaces SBI

NETCONF e YANG

O NETCONF eacute um protocolo de gerenciamento de rede definido pelo IETF paraconfiguraccedilatildeo e monitoramento da rede sendo este uacuteltimo papel desempenhado pelo SNMPdesde o final dos anos 80 O SNMP tinha como ponto fraco a ausecircncia de recursos deconfiguraccedilatildeo de rede aleacutem da interface binaacuteria BER (Basic Encoding Rules) e MIBs pro-prietaacuterias O protocolo NETCONF utiliza mecanismos que permitem instalar manipulare apagar a configuraccedilatildeo de dispositivos de rede atraveacutes de uma implementaccedilatildeo cliente-servidor ilustrada na Figura 513

Figura 513 Modelo de implementaccedilatildeo cliente-servidor do NETCONF

Apoacutes o estabelecimento da sessatildeo segura de transporte entre cliente e servidoro protocolo NETCONF envia uma mensagem HELLO para anuacutencio das capacidades doprotocolo e modelos de dados suportados O NETCONF suporta ainda a subscriccedilatildeo e orecebimento de notificaccedilotildees de eventos de forma assiacutencrona assim como o fechamentoparcial de uma configuraccedilatildeo corrente de um dispositivo de rede Esta funcionalidade per-mite muacuteltiplas sessotildees de ediccedilatildeo agilizando o processo de configuraccedilatildeo O NETCONFpermite o monitoramento e gerenciamento por uma entidade autocircnoma (o gerente NET-CONF) que utiliza repositoacuterio de dados sessotildees fechamentos e estatiacutesticas disponiacuteveisno servidor NETCONF

O YANG eacute uma linguagem formal com texto claro de modelo de dados com sin-

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 511 Separaccedilatildeo de camadas de rede de transporte e IPMPLS

as redes IP possuem gerenciamento e controle complexos sendo ainda pouco flexiacuteveisagrave introduccedilatildeo de inovaccedilotildees tecnoloacutegicas Para gerecircncia de redes a maior parte dos fa-bricantes oferece soluccedilotildees com hardware sistemas operacionais e programas de controleproprietaacuterios As redes de nuacutecleo IPMPLS apresentam tambeacutem grande complexidade deconfiguraccedilatildeo devido aos inuacutemeros protocolos envolvidos bem como a falta de flexibili-dade em resposta a mudanccedilas da rede falhas e balanceamento de traacutefego

A arquitetura de rede SDN se baseia em quatro pilares desacoplamento do planode controle do plano de dados decisotildees baseadas em fluxos ao inveacutes do endereccedilamentode destino programaccedilatildeo de fluxos flexiacutevel limitada ao tamanho das tabelas de fluxose loacutegica de controle em entidade externa denominada controlador O controlador eacute umaplataforma de software ou um sistema operacional de rede (Network Operating System- NOS) executado em um servidor de uso comum COTS O objetivo eacute prover os recur-sos essenciais de rede e abstraccedilotildees para facilitar a programaccedilatildeo de qualquer dispositivode encaminhamento Em uma visatildeo simplificada da arquitetura SDN a infraestrutura fiacute-sica eacute formada pelos dispositivos de encaminhamento como comutadores ou roteadoressem plano de controle ou com o plano de controle reduzido e com interfaces de progra-maccedilatildeo abertas A Figura 512 mostra a arquitetura de uma SDN [Kreutz et al 2015]O plano de dados eacute constituiacutedo pela infraestrutura de rede e interfaces southbound (SBIndash southbound interface) A infraestrutura de rede similar a uma rede tradicional cor-responde aos dispositivos que desempenham instruccedilotildees elementares de encaminhamentode traacutefego Estas instruccedilotildees satildeo definidas por interfaces abertas SBI como por exemploo OpenFlow [Lara et al 2014] O plano de controle eacute constituiacutedo por uma camada devirtualizaccedilatildeo outra camada correspondente ao sistema operacional de rede e as interfacesnorthbound (NBI) O sistema operacional de rede pode estar ou natildeo em uma infraestruturade hardware virtualizada atraveacutes do hipervisor que permite a criaccedilatildeo de maacutequinas virtu-ais no servidor fiacutesico onde eacute instalado o controlador de rede O controlador ou sistemaoperacional de rede programa os dispositivos de rede Por fim as interfaces northboundoferecem APIs para desenvolvedores de aplicaccedilotildees O plano de gerecircncia corresponde aoconjunto de aplicaccedilotildees utilizando linguagens de programaccedilatildeo apropriadas para o ambi-ente virtualizado que interliga todas as funcionalidades de rede para que as aplicaccedilotildeespossam implementar a loacutegica e controle da rede atraveacutes da NBI O plano de dados eacute res-ponsaacutevel pelo encaminhamento dos pacotes e eacute composto pela infraestrutura de rede quecorresponde ao elementos fiacutesicos da rede e por interfaces NBI responsaacuteveis pela comuni-

caccedilatildeo entre o plano de controle e o plano de dados A seguir seratildeo detalhadas cada umadas camadas da arquitetura SDN

Figura 512 Diagrama de arquitetura de sistema de rede SDN

532 Plano de Dados

O plano de encaminhamento de dados eacute composto pela infraestrutura de rede fiacutesicae pelas interfaces southbound onde protocolos abertos ou proprietaacuterios podem ser usadospara programaccedilatildeo dos dispositivos de rede como o CWMP (CPE WAN ManagementProtocol) definido na norma ETSI TR-069 ou o protocolo SNMP (Simple Network Ma-nagement Protocol) padronizado pelo IETF O SNMP foi concebido para gerenciamentode dispositivos de rede atraveacutes de operaccedilotildees do tipo ldquoGETrdquo e ldquoSETrdquo de informaccedilotildees emuma base de dados (Management Information Base ndash MIB)

5321 Infraestrutura de Rede

A infraestrutura fiacutesica das redes SDN eacute similar agrave das redes tradicionais com adiferenccedila dos dispositivos serem simplesmente elementos de encaminhamento de da-dos [Nunes et al 2014] ou seja sem controle ou software embarcado que permita odispositivo tomar decisotildees autocircnomas A inteligecircncia reside no sistema operacional derede e nas aplicaccedilotildees de rede que acessam os elementos da infraestrutura atraveacutes dasinterfaces southbound como por exemplo o OpenFlow

5322 Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros

Atualmente muitas interfaces abertas podem ser empregadas como interface south-bound em redes SDN Aleacutem do OpenFlow pode-se utilizar os protocolos NETCONF[RFC6241 2011] BGP-LS (Border Gateway Protocol - Link State) [RFC7752 2016a]PCEP (Path Computation Element Communication Protocol) [RFC5440 2009] OVSDB(Open vSwitch Database) [RFC7047 2013] SNMP (Simple Network Management Pro-tocol) [RFC1157 1990] a TL1 (Transaction Language 1) [Telcordia GR-831 1996] ea CLI (Command Line Interface) [ISOIEC 232712012 2012] A linguagem TL1 foi

desenvolvida especificamente para equipamentos de telecomunicaccedilotildees cujo objetivo eacute acomunicaccedilatildeo entre maacutequinas O protocolo NETCONF foi desenvolvido para ser o suces-sor natural do SNMP pois o SNMP tinha o foco no monitoramento e natildeo na configuraccedilatildeoda rede O OVSDB eacute um protocolo de gerenciamento projetado para redes definidas porsoftware Originalmente o OVSDB era parte do OVS (Open vSwitch) um comutador vir-tual projetado para hipervisores Linux O OVS representa uma evoluccedilatildeo dos protocolosde gerenciamento de rede permitindo programar e configurar pontes portas e interfacesde plataformas de equipamentos SDN e de virtualizaccedilatildeo de funccedilotildees de rede (NetworkFunctions Virtualization ndash NFV) [Andreas et al 2015] A seguir satildeo detalhadas os prin-cipais protocolos de interfaces SBI

NETCONF e YANG

O NETCONF eacute um protocolo de gerenciamento de rede definido pelo IETF paraconfiguraccedilatildeo e monitoramento da rede sendo este uacuteltimo papel desempenhado pelo SNMPdesde o final dos anos 80 O SNMP tinha como ponto fraco a ausecircncia de recursos deconfiguraccedilatildeo de rede aleacutem da interface binaacuteria BER (Basic Encoding Rules) e MIBs pro-prietaacuterias O protocolo NETCONF utiliza mecanismos que permitem instalar manipulare apagar a configuraccedilatildeo de dispositivos de rede atraveacutes de uma implementaccedilatildeo cliente-servidor ilustrada na Figura 513

Figura 513 Modelo de implementaccedilatildeo cliente-servidor do NETCONF

Apoacutes o estabelecimento da sessatildeo segura de transporte entre cliente e servidoro protocolo NETCONF envia uma mensagem HELLO para anuacutencio das capacidades doprotocolo e modelos de dados suportados O NETCONF suporta ainda a subscriccedilatildeo e orecebimento de notificaccedilotildees de eventos de forma assiacutencrona assim como o fechamentoparcial de uma configuraccedilatildeo corrente de um dispositivo de rede Esta funcionalidade per-mite muacuteltiplas sessotildees de ediccedilatildeo agilizando o processo de configuraccedilatildeo O NETCONFpermite o monitoramento e gerenciamento por uma entidade autocircnoma (o gerente NET-CONF) que utiliza repositoacuterio de dados sessotildees fechamentos e estatiacutesticas disponiacuteveisno servidor NETCONF

O YANG eacute uma linguagem formal com texto claro de modelo de dados com sin-

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

caccedilatildeo entre o plano de controle e o plano de dados A seguir seratildeo detalhadas cada umadas camadas da arquitetura SDN

Figura 512 Diagrama de arquitetura de sistema de rede SDN

532 Plano de Dados

O plano de encaminhamento de dados eacute composto pela infraestrutura de rede fiacutesicae pelas interfaces southbound onde protocolos abertos ou proprietaacuterios podem ser usadospara programaccedilatildeo dos dispositivos de rede como o CWMP (CPE WAN ManagementProtocol) definido na norma ETSI TR-069 ou o protocolo SNMP (Simple Network Ma-nagement Protocol) padronizado pelo IETF O SNMP foi concebido para gerenciamentode dispositivos de rede atraveacutes de operaccedilotildees do tipo ldquoGETrdquo e ldquoSETrdquo de informaccedilotildees emuma base de dados (Management Information Base ndash MIB)

5321 Infraestrutura de Rede

A infraestrutura fiacutesica das redes SDN eacute similar agrave das redes tradicionais com adiferenccedila dos dispositivos serem simplesmente elementos de encaminhamento de da-dos [Nunes et al 2014] ou seja sem controle ou software embarcado que permita odispositivo tomar decisotildees autocircnomas A inteligecircncia reside no sistema operacional derede e nas aplicaccedilotildees de rede que acessam os elementos da infraestrutura atraveacutes dasinterfaces southbound como por exemplo o OpenFlow

5322 Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros

Atualmente muitas interfaces abertas podem ser empregadas como interface south-bound em redes SDN Aleacutem do OpenFlow pode-se utilizar os protocolos NETCONF[RFC6241 2011] BGP-LS (Border Gateway Protocol - Link State) [RFC7752 2016a]PCEP (Path Computation Element Communication Protocol) [RFC5440 2009] OVSDB(Open vSwitch Database) [RFC7047 2013] SNMP (Simple Network Management Pro-tocol) [RFC1157 1990] a TL1 (Transaction Language 1) [Telcordia GR-831 1996] ea CLI (Command Line Interface) [ISOIEC 232712012 2012] A linguagem TL1 foi

desenvolvida especificamente para equipamentos de telecomunicaccedilotildees cujo objetivo eacute acomunicaccedilatildeo entre maacutequinas O protocolo NETCONF foi desenvolvido para ser o suces-sor natural do SNMP pois o SNMP tinha o foco no monitoramento e natildeo na configuraccedilatildeoda rede O OVSDB eacute um protocolo de gerenciamento projetado para redes definidas porsoftware Originalmente o OVSDB era parte do OVS (Open vSwitch) um comutador vir-tual projetado para hipervisores Linux O OVS representa uma evoluccedilatildeo dos protocolosde gerenciamento de rede permitindo programar e configurar pontes portas e interfacesde plataformas de equipamentos SDN e de virtualizaccedilatildeo de funccedilotildees de rede (NetworkFunctions Virtualization ndash NFV) [Andreas et al 2015] A seguir satildeo detalhadas os prin-cipais protocolos de interfaces SBI

NETCONF e YANG

O NETCONF eacute um protocolo de gerenciamento de rede definido pelo IETF paraconfiguraccedilatildeo e monitoramento da rede sendo este uacuteltimo papel desempenhado pelo SNMPdesde o final dos anos 80 O SNMP tinha como ponto fraco a ausecircncia de recursos deconfiguraccedilatildeo de rede aleacutem da interface binaacuteria BER (Basic Encoding Rules) e MIBs pro-prietaacuterias O protocolo NETCONF utiliza mecanismos que permitem instalar manipulare apagar a configuraccedilatildeo de dispositivos de rede atraveacutes de uma implementaccedilatildeo cliente-servidor ilustrada na Figura 513

Figura 513 Modelo de implementaccedilatildeo cliente-servidor do NETCONF

Apoacutes o estabelecimento da sessatildeo segura de transporte entre cliente e servidoro protocolo NETCONF envia uma mensagem HELLO para anuacutencio das capacidades doprotocolo e modelos de dados suportados O NETCONF suporta ainda a subscriccedilatildeo e orecebimento de notificaccedilotildees de eventos de forma assiacutencrona assim como o fechamentoparcial de uma configuraccedilatildeo corrente de um dispositivo de rede Esta funcionalidade per-mite muacuteltiplas sessotildees de ediccedilatildeo agilizando o processo de configuraccedilatildeo O NETCONFpermite o monitoramento e gerenciamento por uma entidade autocircnoma (o gerente NET-CONF) que utiliza repositoacuterio de dados sessotildees fechamentos e estatiacutesticas disponiacuteveisno servidor NETCONF

O YANG eacute uma linguagem formal com texto claro de modelo de dados com sin-

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

desenvolvida especificamente para equipamentos de telecomunicaccedilotildees cujo objetivo eacute acomunicaccedilatildeo entre maacutequinas O protocolo NETCONF foi desenvolvido para ser o suces-sor natural do SNMP pois o SNMP tinha o foco no monitoramento e natildeo na configuraccedilatildeoda rede O OVSDB eacute um protocolo de gerenciamento projetado para redes definidas porsoftware Originalmente o OVSDB era parte do OVS (Open vSwitch) um comutador vir-tual projetado para hipervisores Linux O OVS representa uma evoluccedilatildeo dos protocolosde gerenciamento de rede permitindo programar e configurar pontes portas e interfacesde plataformas de equipamentos SDN e de virtualizaccedilatildeo de funccedilotildees de rede (NetworkFunctions Virtualization ndash NFV) [Andreas et al 2015] A seguir satildeo detalhadas os prin-cipais protocolos de interfaces SBI

NETCONF e YANG

O NETCONF eacute um protocolo de gerenciamento de rede definido pelo IETF paraconfiguraccedilatildeo e monitoramento da rede sendo este uacuteltimo papel desempenhado pelo SNMPdesde o final dos anos 80 O SNMP tinha como ponto fraco a ausecircncia de recursos deconfiguraccedilatildeo de rede aleacutem da interface binaacuteria BER (Basic Encoding Rules) e MIBs pro-prietaacuterias O protocolo NETCONF utiliza mecanismos que permitem instalar manipulare apagar a configuraccedilatildeo de dispositivos de rede atraveacutes de uma implementaccedilatildeo cliente-servidor ilustrada na Figura 513

Figura 513 Modelo de implementaccedilatildeo cliente-servidor do NETCONF

Apoacutes o estabelecimento da sessatildeo segura de transporte entre cliente e servidoro protocolo NETCONF envia uma mensagem HELLO para anuacutencio das capacidades doprotocolo e modelos de dados suportados O NETCONF suporta ainda a subscriccedilatildeo e orecebimento de notificaccedilotildees de eventos de forma assiacutencrona assim como o fechamentoparcial de uma configuraccedilatildeo corrente de um dispositivo de rede Esta funcionalidade per-mite muacuteltiplas sessotildees de ediccedilatildeo agilizando o processo de configuraccedilatildeo O NETCONFpermite o monitoramento e gerenciamento por uma entidade autocircnoma (o gerente NET-CONF) que utiliza repositoacuterio de dados sessotildees fechamentos e estatiacutesticas disponiacuteveisno servidor NETCONF

O YANG eacute uma linguagem formal com texto claro de modelo de dados com sin-

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

taxe e semacircntica que permitem a construccedilatildeo de aplicaccedilotildees de rede O modelo YANG podese traduzir em um arquivo de formato XML (eXtensible Markup Language) ou JSON (Ja-vaScript Object Notation) estruturado em uma aacutervore para cada moacutedulo com proprieda-des que correspondem agraves funcionalidades do dispositivo e declaraccedilotildees de tipos dadosrestriccedilotildees e acreacutescimos de estruturas reutilizaacuteveis [Nwa et al 2010] A Figura 514 mos-tra um diagrama representativo do modelo YANG onde cada dispositivo de rede tem seusatributos descritos em um modelo de abstraccedilatildeo ilustrado na Figura 515 O protocoloNETCONF transporta estas informaccedilotildees ateacute uma gerecircncia de aplicaccedilotildees e as aplicaccedilotildeespodem inferir as configuraccedilotildees necessaacuterias nos dispositivos de rede A Figura 515 exem-plifica um moacutedulo YANG de inventaacuterio de interfaces um comutador OpenFlow A es-trutura em aacutervore do moacutedulo representa os atributos de endereccedilamento da interface comtipos de dados definidos [RFC6020 2010]

Figura 514 Modelo de dados YANG

Figura 515 Exemplo de moacutedulo YANG para inventaacuterio de rede

BGP-LS

Existem duas formas baacutesicas de obtenccedilatildeo de informaccedilotildees de topologia de redeprotocolos de gerenciamento e roteamento Um protocolo de roteamento responsaacutevel porobter a informaccedilatildeo da topologia da rede eacute o BGP-LS (Border Gateway Protocol - Link

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

State) uma extensatildeo do BGP [RFC7752 2016b] que permite carregar informaccedilotildees dosestados dos enlaces Essa informaccedilatildeo eacute usada pelo IGP que normalmente utiliza outrabase de informaccedilotildees de estados dos enlaces como a TED (Traffic Engineering Database)usada na engenharia de traacutefego sendo que ambas provecircem o mesmo conjunto de infor-maccedilotildees No caso do BGP-LS as informaccedilotildees podem ser agregadas de muacuteltiplas aacutereas ede diferentes sistemas autocircnomos permitindo uma anaacutelise abrangente do estado de todarede O BGP-LS foi desenvolvido especificamente para melhorar a escalabilidade do BGPcomo o controle baseado em fluxos TCP e no uso estrateacutegico de roteadores RR (RouterReflectors) Em ambos os casos eacute necessaacuterio adquirir informaccedilotildees de topologia multi-aacuterea o que eacute feito tradicionalmente por um elemento da rede de um sistema autocircnomoque reuacutene as informaccedilotildees dos demais elementos de outros sistemas autocircnomos atraveacutes demeios manuais Um controlador de engenharia de traacutefego por exemplo uma aplicaccedilatildeode servidor PCE (Path Computation Server - PCS) implementa o BGP-LS para adquirir atopologia de rede a ser utilizada no roteamento da mesma [Casellas et al 2015] O BGP-LS suporta tambeacutem mecanismos de poliacuteticas que limitam o uso de certos noacutes e enlaces darede ou seccedilotildees de topologia particionadas pelo operador da rede A Figura 516 mostraum controlador SDN interagindo com dispositivos de rede de diferentes ASes com umIGP tradicional e com o BGP-LS Note como o BGP-LS tem visatildeo mutidomiacutenio atra-veacutes do BGP-LS RR (BGP-LS Router Reflector) quando comparado agrave soluccedilatildeo com IGPtradicional

Figura 516 Southbound interface com IGP e com BGP-LS

PCEP

O protocolo PCEP (Path Computation Element Protocol) eacute usado para comunica-ccedilatildeo entre o PCC (Path Computation Client) e o PCE (Path Computation Element) utili-zando informaccedilotildees da base de estados do enlace conforme a Figura 517 O PCE de con-trole dinacircmico (stateful PCE) e o PCE iniciado pelo LSP satildeo extensotildees ainda em discus-satildeo no IETF para habilitar o emprego destes protocolos em SDNs [Paolucci et al 2013]As extensotildees ainda natildeo avanccedilaram como uma proposiccedilatildeo de padratildeo final devido agrave di-ficuldade de garantir nos padrotildees a orquestraccedilatildeo entre PCEs de diferentes fornecedo-res [Casellas et al 2015]

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 517 Arquitetura de Rede com Protocolo PCEP

OpenFlow

Uma das principais tendecircncias de SBI aberta para SDNs eacute o protocolo OpenFlowO OpenFlow utiliza uma tabela com regras de tratamento de pacotes na qual cada re-gra permite accedilotildees como encaminhamento descarte e modificaccedilatildeo do fluxo O OpenFlowpermite controlar os fluxos de dados encaminhando e processando os pacotes conformeaccedilotildees e regras configuradas pelo controlador nos comutadores OpenFlow Os comutado-res OpenFlow e o controlador da rede satildeo interligados atraveacutes de um canal de comunica-ccedilatildeo TLS (Transport Layer Security) conforme a arquitetura mostrada na Figura 518

Figura 518 Arquitetura de uma rede OpenFlow

A Figura 519 resume o funcionamento da SBI OpenFlow com suas entradas natabela de fluxo cada uma definindo uma regra uma accedilatildeo e contadores de estatiacutesticas Asregras satildeo baseadas em informaccedilotildees do cabeccedilalho das camadas de enlace rede e trans-porte A partir da versatildeo 11 o OpenFlow passou a suportar VLAN e Q-in-Q portasvirtuais e tuacuteneis roteamento multi-percurso ECMP (Equal-Cost Multi-Path) e MPLS

533 Plano de Controle

O controlador representa o plano de controle em uma SDN [Xiea et al 2015] Ocontrolador e as aplicaccedilotildees de rede podem ser instalados ou natildeo em uma infraestruturavirtualizada O controle da rede e as funccedilotildees satildeo abstraiacutedas com a introduccedilatildeo de um

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 519 Tabelas de fluxos OpenFlow

hipervisor [Andreas et al 2015] criando uma rede independente do tipo de aplicaccedilatildeo Ogerenciamento e orquestraccedilatildeo da rede podem ser realizados por um orquestrador comopor exemplo o OpenStack usado em nuvens computacionais [Huang et al 2014] A ideiaeacute permitir que servidores e a infraestrutura da rede sejam virtualizados e implementadosna nuvem [Matias et al 2015] O hipervisor permite a criaccedilatildeo remoccedilatildeo e movimentaccedilatildeodas maacutequinas virtuais dos controladores SDN e de aplicaccedilotildees de rede A Figura 520mostra uma arquitetura comparativa de uma rede tradicional e de rede de SDN atraveacutesde APIs existentes onde o ambiente de virtualizaccedilatildeo eacute utilizado na camada de controlee gerenciamento e finalmente a rede SDN com virtualizaccedilatildeo de funccedilotildees de rede (NFV)denominado SDN overlay onde o SDN e a NFV atuam em conjunto [Xia et al 2015]

Figura 520 SDN via API e SDN Overlay

5331 Controladores SDN Opendaylight ONOS e outros

O controlador SDN corresponde ao sistema operacional de rede provecircem APIsde alto niacutevel para acessar um niacutevel de abstraccedilatildeo mais baixo dos dispositivos de rede Taisinstruccedilotildees de niacutevel mais baixo satildeo especiacuteficas do dispositivo de rede e na maioria dasvezes sistemas operacionais proprietaacuterios como o IOS da Cisco ou o Junos da Juniper

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Atualmente os projetistas de protocolos de roteamento precisam lidar com algoritmosdistribuiacutedos complexos para a soluccedilatildeo de problemas em redes As redes SDN facilitamo gerenciamento das redes e as soluccedilotildees de problemas atraveacutes da loacutegica centralizadaAssim o controlador eacute o elemento criacutetico de uma arquitetura SDN Existe uma grandediversidade de controladores e plataformas de controle com diferentes projetos e arqui-teturas As arquiteturas relevantes satildeo com controladores centralizados ou distribuiacutedos(Figura 521(a)) Um controlador centralizado tem a desvantagem de ser um ponto uacutenicode falhas com escalabilidade limitada No entanto a centralizaccedilatildeo significa simplici-dade de operaccedilatildeo e melhor visatildeo do comportamento da rede [Scott-Hayward 2015] Oscontroladores de coacutedigo aberto NOX [Gude et al 2016] POX [Kaur et al 2016] Floo-dlight [Haleplidis et al 2015] e Ryu [development team 2016] satildeo do tipo centralizado

(a) Controlador centralizado e centrali-zado com redundacircncia

(b) Controlador distribuiacutedo

Figura 521 Arquitetura de controladores

Os controladores distribuiacutedos podem ser organizados em cluster ou em um con-junto de controladores distribuiacutedos em diferentes domiacutenios de rede [Civanlar et al 2015]Satildeo exemplos de controladores distribuiacutedos o Opendaylight [Medved et al 2014] e oONOS [Stancu et al 2015] Para controladores distribuiacutedos em diferentes domiacutenios asAPIs de fronteira leste e oeste (eastbound-westbound) [Pingping et al 2015] satildeo impor-tantes Atualmente cada controlador implementa sua API de fronteira leste-oeste com oobjetivo de troca de dados verificaccedilatildeo da consistecircncia do modelo de dados e monitora-mento de notificaccedilotildees A maioria dos controladores distribuiacutedos oferece uma consistecircnciasemacircntica baixa ou seja as atualizaccedilotildees de noacutes distintos satildeo eventualmente atualizadasem todos os controladores Isso implica periacuteodos de tempo onde controladores distintospossuem visotildees diferentes para a mesma propriedade A consistecircncia forte por outrolado assegura que todos os controladores possuem a visatildeo mais atualizada possiacutevel de-pois de uma operaccedilatildeo de escrita Embora tenha impacto no desempenho do sistema aconsistecircncia forte eacute uma aplicaccedilatildeo de simples implementaccedilatildeo O controlador ONOS eacute umexemplo de controlador com consistecircncia forte [Kreutz et al 2015] Atualmente existeum grande nuacutemero de implementaccedilotildees de controladores SDN disponiacuteveis incluindo decoacutedigo aberto ou comerciais Os de coacutedigo aberto possuem interfaces northbound (NBI)e southbound (SBI) abertas permitindo a pesquisa de meacutetodos inovadores de operaccedilatildeo darede [Rowshanrad et al 2014] Adicionalmente agrave pesquisa e experimentaccedilatildeo as interfa-ces abertas permitem que equipamentos de fabricantes diferentes possam interoperar Aseguir satildeo enumerados alguns dos principais controladores existentes

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

bull VMwareNicira Plataforma de virtualizaccedilatildeo (Network Virtualization Plataformndash NVP) atualmente comercializado como VMware NSX utiliza um comutadorvirtual aberto (Open Virtual Switch ndash OVS) e o OpenFlow como interface SBI

bull NOXPOX Controlador de coacutedigo aberto que utiliza o OpenFlow 10 A pes-quisa continuada pelo ONLAB (Open Networking Lab) deu origem ao controladorONOS aplicado atualmente na induacutestria de equipamentos de redes de telecomunica-ccedilotildees O controlador NOX foi desenvolvido em C++ natildeo tendo sido implementadode forma massiva O controlador POX foi o sucessor do NOX com interface graacuteficaescrita na linguagem Python facilitando o desenvolvimento e experimentaccedilatildeo

bull Ryu Controlador com implementaccedilatildeo em Python Possui um serviccedilo de mensa-gens de componentes implementadas em outras linguagens de programaccedilatildeo comopor exemplo bibliotecas do OpenFlow gerenciamento de aplicaccedilotildees serviccedilos deinfraestrutura e bibliotecas reutilizaacuteveis como do protocolo NETCONF

bull Beacon Controlador implementado em JAVA e integrado agrave IDE do Eclipse OBeacon foi o primeiro controlador a criar um ambiente de trabalho de SDN mas eacutelimitado agrave topologia em estrela

bull Big Switch NetworksFloodlight eacute uma ramificaccedilatildeo do controlador Beacon Foiinicialmente implementado usando o Apache Ant uma ferramenta de desenvolvi-mento popular tornando-o de faacutecil uso e flexiacutevel O controlador Floodlight possuiuma comunicadade ativa e um grande nuacutemero de funcionalidades que podem seradicionadas para requisitos especiacuteficos de uma empresa Possui uma interface graacute-fica baseada em JAVA e a maioria de suas funcionalidades estaacute exposta em APIsREST

bull Opendaylight eacute um projeto colaborativo da Linux Foundation suportado pelaCisco e diversas outras empresas Tal como o Floodlight o Opendaylight foi escritoem JAVA Eacute orientado a API REST e interface web Sua segunda versatildeo (Helium)inclui suporte a NFV e redes de grandes dimensotildees Tambeacutem possui moacutedulos plu-gaacuteveis que podem ser utilizados de acordo com a necessidade O Opendaylight eacuteum pouco diferente dos demais controladores por oferecer outros protocolos comointerfaces southbound aleacutem do OpenFlow como o BGP e PCEP Adicionalmenteo Opendaylight oferece interfaces com o Openstack e Open vSwitch (OVSDB) OOpendaylight eacute baseado em uma arquitetura de microsserviccedilos atraveacutes do com-partilhamento de estruturas de dados baseados em YANG para armazenamento dedados e troca de mensagens Atraveacutes de um modelo dirigido agrave camada de abs-traccedilatildeo de serviccedilos (Model Driven Service Abstraction Layer - MD-SAL) qualqueraplicaccedilatildeo ou funccedilatildeo pode ser agregada a um serviccedilo e carregada pelo controla-dor [Haleplidis et al 2015]

bull ONOS controlador SDN voltado para operadoras de telecomunicaccedilotildees projetadopara alta disponibilidade desempenho e escalabilidade atraveacutes de instacircncias distri-buiacutedas que conferem redundacircncia ao controlador em caso de falha

bull Opencontrail Controlador comercial da Juniper baseado no Apache 20 comfoco em NFV e com API REST

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Existem ainda outros controladores comerciais Alguns exemplos satildeo o BrocadeVyatta o Cisco WAE (WAN Automation Engine) ambos baseados em Opendaylight comimplementaccedilotildees proacuteprias O HP Virtual Application Networks (VAN) trabalha em con-junto com o Openstack com melhorias no controle do Open vSwitch e suporte a diferentestipos de hipervisores e roteadores distribuiacutedos [Kreutz et al 2015]

5332 Elemento de Computaccedilatildeo ndash PCE

O PCE (Path Computation Element) eacute uma entidade que calcula caminhos baseadoem restriccedilotildees fornecidas a partir do comportamento dos roteadores de um OSS (Opera-tions Support System) ou ainda de outro PCE da rede A arquitetura PCE jaacute possui umcaacutelculo de caminho centralizado para grandes redes multidomiacutenio e multicamadas sendoadequada como ferramenta do SDN Quando um noacute necessita calcular o caminho para umdeterminado LSP faz uma requisiccedilatildeo ao PCE atraveacutes do protocolo PCEP (Path Compu-tation Element Protocol) O PCE tem acesso agraves informaccedilotildees de topologia de um domiacuteniointeiro da rede A arquitetura do PCE estaacute ilustrada na Figura 522 Sua principal funccedilatildeoeacute resolver o problema de multidomiacutenios pois o PCE tem a visatildeo da rede como um todoconstruindo uma base de dados atraveacutes destes muacuteltiplos domiacutenios A sessatildeo entre o PCC(Path Computation Client) e o PCS (PCE Server) ou simplesmente PCE eacute estabelecidasobre TCP assim como o BGP Uma vez a sessatildeo estabelecida o PCE constroacutei a base dedados de topologia TED (Traffic Engineering Database) usando um IGP como o OSPFou o IS-IS ou ainda atraveacutes do BGP-LS Este uacuteltimo possui estruturas TLV (Type-Length-value) que permitem ao PCE construir a base de dados Quando o PCC solicita um LSPcom certas restriccedilotildees o PCE calcula o caminho baseado na base de dados e respondecom o caminho apropriado Essa abordagem centralizada auxilia o caacutelculo e o provisi-onamento do caminho aumentando a flexibilidade e permitindo melhor uso dos recursosde rede O PCE pode ser do tipo sem controle de estados (Stateless PCE) e com controlede estados (Stateful PCE) como ilustrado na Figura 523

Figura 522 Arquitetura do PCE

O PCE sem controle de estados tem habilidade reduzida para otimizar recursos derede natildeo possui conhecimento preacutevio dos caminhos preacute-estabelecidos Ele eacute uacutetil entredomiacutenios do MPLS-TE mas natildeo eacute adequado para emprego em SDN Jaacute o PCE comcontrole de estados tem um controle do caacutelculo de caminho oacutetimo (por exemplo estado

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 523 Stateless e Stateful PCE

do LSP recursos poliacuteticas anaacutelise de redes) possibilita a inicializaccedilatildeo de caminhos eatualizaccedilotildees de controle e requer sincronismo do estados da base de dados dos LSPsO PCE com controle de estados pode ainda operar em modo passivo ou ativo No modopassivo o PCC inicia a configuraccedilatildeo do caminho atualizando as informaccedilotildees de controlee o PCE aprende o estado do LSP para otimizaccedilatildeo do caacutelculo do caminho No modo ativotanto o PCC quanto o PCE podem iniciar a configuraccedilatildeo do caminho mas a atualizaccedilatildeodo controle eacute feita pelo PCE delegada pelo PCC No modo ativo o LSP pode ser iniciadopelo PCE sendo mais integrado agraves demandas das aplicaccedilotildees e o PCE pode fazer parte docontrolador SDN determinando quando e quais caminhos seratildeo configurados No modoativo o LSP pode ser iniciado no PCC baseado nos estados que estatildeo distribuiacutedos na redee pode ser usado em conjunto com os LSPs iniciados pelo PCE sendo uma abordagemde rede hiacutebrida com controle IPMPLS e SDN [Paolucci et al 2013] A base de dadosutilizada pelo PCE pode ser construiacuteda atraveacutes de multidomiacutenios basicamente por quatromeacutetodos distintos caacutelculo de caminhos por domiacutenio cooperaccedilatildeo entre PCEs caacutelculo decaminhos de forma recursiva ou PCE hieraacuterquico utilizado em multicamada IPoacuteptica

Uma proposta de SDN para o PCE eacute uma soluccedilatildeo ideal para operadoras de tele-comunicaccedilotildees desacoplando o plano de controle do plano de encaminhamento de dadose com mecanismos de controle centralizado que controlam a configuraccedilatildeo dos caminhosEmpregar o PCE com poliacuteticas apropriadas provenientes do OSS (Operational SupportSystems) eacute a forma mais raacutepida e faacutecil para introduzir a SDN nas redes IPMPLS e detransporte da operadora de telecomunicaccedilotildees Com o emprego de PCEs as redes de rote-adores de nuacutecleo tecircm um ganho substancial em benefiacutecios de roteamento intra-domiacuteniosEntende-se por domiacutenio diferentes aacutereas de sistemas autocircnomos e tambeacutem diferentes re-des como a rede IP e a de transporte oacuteptica Em redes legadas o PCE eacute implementadoem servidores do sistema de gerecircncia da rede individualmente para cada domiacutenio A co-operaccedilatildeo entre PCEs de diferentes domiacutenios eacute uma questatildeo de difiacutecil soluccedilatildeo teacutecnica e oSDN desponta como uma soluccedilatildeo para o PCE multidomiacutenios [Farrel 2006]

5333 Interfaces Northbound REST RESTFUL NETCONF e outros

As interfaces northbound ainda satildeo objeto de esforccedilo de padronizaccedilatildeo e pesquisapara que garanta a interoperabilidade entre diferentes plataformas de controle Algunscontroladores como o Opendaylight e FloodLight propotildeem suas proacuteprias NBIs A API

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 524 Exemplo de PCE intradomiacutenios

REST utiliza HTTP ou HTTPS tendo sido desenvolvida inicialmente para acessar infor-maccedilotildees de serviccedilos web O uso do REST em SDN se deve a questotildees de simplicidadeflexibilidade extensibilidade e seguranccedila Para acesso aos dados que envolvem recursosnos dispositivos de destino eacute simplesmente utilizada uma URL A flexibilidade eacute con-sequecircncia das entidades requisitantes poderem acessar os componentes de configuraccedilatildeodefinidas em um dispositivo usando os recursos REST em URLs diferentes Natildeo existemesquemas complexos ou MIBs para tornar o dado acessiacutevel Jaacute a extensibilidade do RESTeacute devida ao suporte a novos recursos que natildeo requerem a recompilaccedilatildeo de esquemas ouMIBs mas somente a chamada da URL apropriada pela aplicaccedilatildeo Por fim usando oprotocolo HTTPS os aspectos de seguranccedila satildeo considerados e permite-se atravessar fi-rewalls A flexibilidade e extensibilidade podem representar um risco potencial do usodo REST pela falta de formalismo comparado a outros meacutetodos No entanto a relaccedilatildeocusto-benefiacutecio tende a indicar o REST como uma API propiacutecia para utilizaccedilatildeo em SDNA API REST pode trabalhar com diferentes formatos de arquivos como XML e JSON

A NBI RESTCONF [Bierman et al 2015] eacute um protocolo similar ao REST queroda sobre HTTP para acessar dados definidos em YANG e repositoacuterios de dados emNETCONF A RESTCONF descreve como mapear YANG em uma interface RESTfulA RESTCONF opera com repositoacuterios de dados conceituais com a modelagem de dadosYANG O servidor lista cada moacutedulo YANG suportado em um tipo de recurso da APIde alto niacutevel usando estruturas baseadas em moacutedulos YANG habilitadas com URI ARESTCONF pode enviar dados de requisiccedilatildeo e resposta no formato JSON ou XML ONETCONF possibilita a passagem de dados e comandos de e para dispositivos de redepodendo ser usado interface SBI e NBI

534 Plano de Gerenciamento

O plano de gerenciamento corresponde agraves aplicaccedilotildees utilizadas em Redes Defi-nidas por Software e agraves linguagens de programaccedilatildeo usadas para implementar estas apli-caccedilotildees A subseccedilatildeo a seguir enumera algumas aplicaccedilotildees denominadas casos de uso emRedes Definidas por Software

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

5341 Aplicaccedilotildees de Rede

Entre as aplicaccedilotildees de rede destacam-se balanceadores de carga lista de acessopara seguranccedila detecccedilatildeo de ataques monitoramento da rede virtualizaccedilatildeo da rede e ro-teamento Neste uacuteltimo se encaixa o Roteamento por Segmentos A implementaccedilatildeo daloacutegica de controle pode ser traduzida em comandos e instalados no plano de encaminha-mento de dados ditando o comportamento dos dispositivos de encaminhamento

bull Engenharia de Traacutefego o principal objetivo desta aplicaccedilatildeo eacute minimizar consumode energia maximizar a utilizaccedilatildeo agregada da rede balanceamento de carga eoutras teacutecnicas de otimizaccedilatildeo de traacutefego

bull Mobilidade e Redes Sem-fio atualmente o plano de controle distribuiacutedo de redessem-fio eacute suboacutetimo face ao gerenciamento do espectro limitado alocaccedilatildeo de re-cursos de raacutedio implementaccedilatildeo de mecanismos de handover e balaceamento detraacutefego entre ceacutelulas

bull Mediccedilatildeo e Monitoramento um exemplo de aplicaccedilotildees de mediccedilatildeo eacute a melhoria davisibilidade do desempenho fim a fim da rede As aplicaccedilotildees de monitoramentoenvolvem diferentes teacutecnicas de amostragem e estimativas a serem aplicadas redu-zindo a interferecircncia desnecessaacuteria do plano de controle nos dispositivos de enca-minhamento com o objetivo de coletar informaccedilotildees e calcular estatiacutesticas do planode dados

bull Seguranccedila e Dependecircncia um conjunto de propostas diversas de seguranccedila e de-pendecircncia estaacute emergindo no contexto de SDN As vantagens do SDN para melho-ria dos serviccedilos depende de redes e sistemas seguros como execuccedilatildeo de poliacuteticas(controle de acessofirewall middlebox a detecccedilatildeo e mitigaccedilatildeo de ataques do tiponegaccedilatildeo de serviccedilo (Denial of Service - DoS) inspeccedilatildeo pormenorizada de pacotes(Deep Packet Inspection - DPI) e detecccedilatildeo de anomalias de traacutefego Existem basica-mente duas abordagens de seguranccedila uma utilizando o SDN para prover seguranccedilacomo serviccedilo de valor adicionado e outra para provimento de seguranccedila na proacutepriaarquitetura da SDN

bull Redes de Datacenter as redes de centros de dados satildeo beneficiadas de forma sig-nificativa solucionando problemas como migraccedilatildeo de rede viva gerecircncia de redeavanccedilada implantaccedilatildeo raacutepida do planejamento de redes para redes em produccedilatildeoAs aplicaccedilotildees em SDN caminham para um conceito de loja de aplicativos (SDNApp Store) este conceito lanccedilado pela HP o controlador HP utiliza OpenFlow paraacessar aplicaccedilotildees on-line e selecionaacute-las para serem dinamicamente descarregadase instaladas no controlador As linguagens de programaccedilatildeo permitem prover umgrande conjunto de poderosas abstraccedilotildees [Casado et al 2014] e mecanismos comocomposiccedilatildeo de aplicaccedilotildees toleracircncia a falhas no plano de dados e blocos de cons-truccedilatildeo baacutesicos Um exemplo de linguagem de programaccedilatildeo eacute o Pyretic que ofereceuma abstraccedilatildeo de alto niacutevel da topologia e do conjunto de poliacuteticas da rede

Ainda na visatildeo simplificada da arquitetura de rede SDN a plataforma de controle se co-munica com as aplicaccedilotildees de rede atraveacutes da interface northbound que oferece uma API

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

para desenvolvedores de aplicaccedilatildeo como a API REST RESTCONF Restful e linguagensde programaccedilatildeo com Java Python C e C++ [Hodzic e Zoric 2008]

5342 Roteamento como serviccedilo Routeflow e RCP

A utilizaccedilatildeo de SDNs para decisatildeo de encaminhamento [Adrian et al 2015] comoo Roteamento por Segmentos eacute uma tendecircncia como por exemplo o RCP e RouteFlowO RCP (Routing Control Plataform) eacute uma alternativa primitiva de roteamento como ser-viccedilo [Feamster et al 2004] O servidor RCP divulga as rotas aos roteadores usando pro-tocolos existentes como o BGP A visatildeo da rede eacute obtida pelo IGP O RPC opera de formadistribuiacuteda dividindo a o projeto em componentes visualizando o estado global da redepor componente O RCP possui objetivos similares aos das redes SDN tais como me-lhor escalabilidade gerenciamento e separaccedilatildeo do software do hardware do roteador Oprojeto RouteFlow eacute considerado um caso de uso de implementaccedilatildeo de uma rede de testepara roteamento como serviccedilo (IP Routing-as-a-Service) em coacutedigo aberto demonstrandoa migraccedilatildeo de uma rede tradicional de camada 3 para uma rede OpenFlow de camada 3Os equipamentos roteadores legados interoperam com implementaccedilotildees simplificadas deroteamento intra e interdomiacutenio O projeto RouteFlow [Rothenberg et al 2011] foi par-ticularmente importante pois demonstrou um meacutetodo de integraccedilatildeo de redes tradicionaiscom inuacutemeros protocolos de rede com redes definidas por software baseada em Open-Flow [Jingjing et al 2014] Os conceitos de SDN satildeo importantes para a compreensatildeodo roteamento por segmentos visto que o roteamento por segmentos eacute uma aplicaccedilatildeoSDN

54 Roteamento por SegmentosO Roteamento por Segmentos ou SR (Segment Routing) eacute um conceito que pode

ser entendido como um protocolo de roteamento suportado por aplicaccedilotildees de Redes De-finidas por Software para a definiccedilatildeo de caminhos de forma eficiente e automatizadaO Roteamento por Segmentos melhora o encaminhamento de pacotes sem necessitar damanutenccedilatildeo de estados por fluxo dentro da rede de roteadores de nuacutecleo reduzindo acomplexidade dos planos de controle e de dados A engenharia de traacutefego eacute um exemplode aplicaccedilatildeo no contexto de Roteamento por Segmentos O Roteamento por Segmentospermite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de caminhos TE dentro de um domiacute-nio de rede operando somente na borda da rede O plano de controle de Roteamento porSegmentos pode ser mantido de forma centralizada ou distribuiacuteda

541 Conceitos preliminares

O Roteamento por Segmentos define um protocolo de roteamento pela origemou seja a origem do fluxo de dados escolhe e codifica no cabeccedilalho do pacote a listade segmentos a serem percorridos pelos pacotes ateacute o destino O segmento por suavez eacute um identificador geneacuterico para qualquer tipo de instruccedilatildeo um serviccedilo contextolocalizador ou um caminho baseado no IGP ou no BGP Ainda um segmento podeser representado por um iacutendice local ou global Por exemplo uma lista de segmentospara a rede de roteadores de nuacutecleo IPMPLS eacute representada por uma pilha de roacutetulos(Label Stack) enquanto no IPv6 eacute representada pela extensatildeo do cabeccedilalho para rotea-

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

mento [Previdi et al 2015b] O identificador de segmento denomina-se SID (SegmentRouting Identifier) e em redes MPLS o SID eacute um roacutetulo MPLS A cadeia de SIDs eacutechamada de caminho de Roteamento por Segmentos (Segment Routing Path - SR path)

Os segmentos podem ser divididos em Segmentos de Noacute Segmentos de Adjacecircn-cia e Local A Figura 525 mostra o identificador de Segmento de Noacute de Adjacecircncia eLocal O Segmento de Noacute tem uma numeraccedilatildeo uacutenica e global denominada prefixo SID re-tirado do SRGB (Segment Routing Global Block) [SPRING 2015] dentro do domiacutenio doIGP que tambeacutem corresponde a um domiacutenio do Roteamento por Segmentos Os Segmen-tos de Noacute estatildeo contidos em uma numeraccedilatildeo global de segmentos A numeraccedilatildeo globalde segmentos em redes MPLS eacute formada por uma faixa de roacutetulos reservada somada aum iacutendice referente ao noacute (prefixo) compondo a numeraccedilatildeo do Segmento de Noacute O Seg-mento de Adjacecircncia tem significado local e estaacute relacionado a uma ou mais adjacecircnciasdo noacute Os Segmentos de Adjacecircncia tecircm roacutetulo no formato 240xy para uma determinadaadjacecircncia xy Os roacutetulos de 90000 a 99999 satildeo usados pelas extensotildees dos protocolosLDP RSVP e BGP O Segmento Local corresponde ao segmento suportado apenas no noacuteque foi gerado Assim nenhum outro noacute pode instalar este SID em sua FIB

(a) Segmento de Noacute (b) Segmento de Noacute com ECMP

(c) Segmento de Adjacecircncia (d) Segmento Local

Figura 525 Segmento de Noacute Adjacecircncias e Local

Na Figura 525(a) o roacutetulo 16005 corresponde ao Segmento de Noacute 5 O identifi-cador do segmento eacute composto pelo SRGB no valor de 16000 a ser detalhado na Subse-ccedilatildeo 543 e mais um valor de um prefixo do noacute neste caso 5 Nota-se que o SID 16005

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

eacute o mesmo para qualquer noacute de origem a partir de qualquer noacute de origem utiliza-se oSegmento de Noacute 16005 para chegar ao noacute 5 de destino e a divulgaccedilatildeo do SID eacute feita peloIGP para todos os noacutes Na Figura 525(b) existem dois caminhos de mesmo custo entreo noacute 1 e 4 obtidos pelo IGP A escolha do caminho depende de outras restriccedilotildees comolatecircncia e banda obtida por uma aplicaccedilatildeo SDN que possua visatildeo completa da rede AFigura 525(c) ilustra os Segmentos de Adjacecircncias do noacute 2 para o noacute 1 4 e 5 com SIDs24021 24024 e 24025 respectivamente e representa uma identificaccedilatildeo para cada enlacediretamente conectado ao noacute Neste exemplo a numeraccedilatildeo escolhida para os Segmentosde Adjacecircncia foi 240xy (faixa de identificador de segmento fora do SRGB que identificao Segmento de Noacute conforme descrito na Subseccedilatildeo 543) Para cada Segmento de Adja-cecircncia foi utilizado o identificador xy onde xy eacute uma adjacecircncia que identifica o enlaceentre os noacutes x e y A Figura 525(d) exemplifica um Segmento Local no noacute 2 de SID 9001indicando um serviccedilo existente no noacute 2 Em particular para o Segmento Local nenhumoutro noacute pode configurar este SID na SR-FIB (Segment Routing-Fowarding InformationBase) sob pena de conflito de SIDs Os segmentos de Noacute e de Adjacecircncia podem sercombinados dirigindo o traacutefego atraveacutes de qualquer caminho na rede

O caminho eacute especificado como uma lista de segmentos no cabeccedilalho do pacoteatraveacutes de um empilhamento de roacutetulos MPLS (Figura 526) Natildeo existem estados porfluxo nos roteadores intermediaacuterios utilizando-se apenas o IGP e consequentemente dis-pensando o protocolo de distribuiccedilatildeo de roacutetulos (LDP) de uma rede MPLS convencionalOs estados por fluxo satildeo mantidos apenas na origem pois o roteador de origem conhecetodos os SIDs para alcanccedilar o destino A quantidade de entradas na tabela SR-FIB emum determinado noacute eacute da ordem de N +A onde N eacute o eacute numero de Segmentos de Noacutee A eacute o nuacutemero de Segmentos de Adjacecircncias como observada na Figura 526 Aindana Figura 526 a informaccedilatildeo do Segmento de Noacute 4 com SID de 16004 eacute anunciada aosdemais roteadores pelo IGP correlacionando o SID com a interface loopback do noacute 4O Roteamento por Segmentos possui operaccedilotildees similares ao das redes IPMPLS O seg-mento ativo eacute definido como o segmento que vai aplicar a instruccedilatildeo corrente no pacoteNas redes MPLS o SID do segmento ativo eacute o roacutetulo mais externo enquanto no IPv6eacute um ponteiro para o SID No exemplo da Figura 526 na interface de egresso do noacute 1em direccedilatildeo ao noacute 2 o segmento ativo eacute o com SID 16004 que eacute o Segmento de Noacute quevai encaminhar o pacote ateacute o noacute 4 compondo uma parte do caminho As operaccedilotildees quepodem ser efetuadas em Roteamento por Segmentos satildeo as seguintes

bull PUSH Inserccedilatildeo em uma lista de segmentos Para redes MPLS significa inserccedilatildeodo roacutetulo na pilha enquanto para o IPv6 significa inserir o SID na primeira posiccedilatildeoe redirecionar o ponteiro o topo da lista

bull NEXT Ativaccedilatildeo do proacuteximo segmento da lista uma vez que o atual estaacute completoNas redes MPLS significa remover o roacutetulo mais externo enquanto para o IPv6significa incrementar o ponteiro

bull CONTINUE Continuaccedilatildeo do atual segmento ativo mesmo sem estar completo Nasredes MPLS haacute correspondecircncia com o processo de comutaccedilatildeo de roacutetulos Logose o proacuteximo salto estaacute no mesmo SRGB o valor do roacutetulo eacute mantido No IPv6significa natildeo incrementar o ponteiro

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 526 Combinaccedilatildeo de Segmentos de Noacute e de Adjacecircncias

A Figura 527 mostra as operaccedilotildees PUSH (Insere) NEXT (Proacuteximo) e CONTINUE(Continue) implementadas no Roteamento por Segmentos referente ao exemplo da Fi-gura 526 O segmento ativo eacute aquele cujo SID corresponde ao roacutetulo mais externo nestecaso nos enlaces 1-2 2-3 o SID ativo eacute do Segmento de Noacute global 16004 Nota-se queno noacute 2 o roacutetulo passa por um processo de comutaccedilatildeo MPLS sem no entanto alterar oSID No noacute 4 o roacutetulo 16004 eacute removido e o segmento ativo passa a ser o Segmento deAdjacecircncia com SID 24045 Finalmente no noacute 5 eacute feita a remoccedilatildeo do roacutetulo atual maisexterno com SID 24045 entregando o pacote agrave rede de destino

Figura 527 Operaccedilotildees em Roteamento por Segmentos

Uma boa praacutetica para a Operadora de Telecomunicaccedilotildees eacute alocar o mesmo SRGBem um domiacutenio de Roteamento por Segmentos (SR-Domain) Um SR-Domain eacute umconjunto de noacutes conectados em uma infraestrutura fiacutesica correspondente a uma rede deOperadora de Telecomunicaccedilotildees e confinada dentro de uma instacircncia do IGP chamadaSR-IGP (Segment Routing IGP) Por exemplo uma rede tiacutepica de 500 noacutes (500 Segmen-tos de Adjacecircncia) com 5000 segmentos de noacute globais (pertencentes ao SRGB) para umdeterminado fluxo f somente o noacute de ingresso do traacutefego deteacutem os estados para f ou seja5500 entradas na SR-FIB Mesmo que se tenha ntimes f fluxos a quantidade de entradas naSR-FIB eacute a mesma Outra facilidade do Roteamento por Segmentos eacute o agrupamento(bundle) atraveacutes de Segmentos de Adjacecircncia Os Segmentos de Adjacecircncias permitem

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

agrupar muacuteltiplos enlaces fiacutesicos permitindo balanceamento de traacutefego ou configurar oSID para um enlace especiacutefico da adjacecircncia Por exemplo na Figura 528 os Segmentosde Adjacecircncias 24045 24145 satildeo configurados em enlaces fiacutesicos distintos na mesmaadjacecircncia enquanto o SID 24245 representa um grupo (bundle) de enlaces fiacutesicos per-mitindo balancear o traacutefego de forma simples

Figura 528 Segmentos de Adjacecircncia (bundle)

O Roteamento por Segmentos tem foco no plano de encaminhamento de dados e ainteligecircncia da escolha do melhor caminho eacute realizada pela Rede Definida por SoftwareO Roteamento por Segmentos simplifica a operaccedilatildeo da rede da Operadora de Teleco-municaccedilotildees reduzindo a quantidade de protocolos de controle e estados nos roteadoresintermediaacuterios do nuacutecleo da rede e consequentemente permitindo a criaccedilatildeo de serviccedilosbaseado em aplicaccedilotildees atraveacutes do SDN O roteamento aumenta a capacidade da redeaproveitando melhor a infraestrutura existente e evitando a duplicaccedilatildeo de tuacuteneis TE parasalvamento do traacutefego Comutando em sub-50ms o uso do Roteamento por Segmentosem redes IPMPLS permite uma vasta gama de aplicaccedilotildees para Operadoras de Teleco-municaccedilotildees e Operadoras OTT (Over The Top) atraveacutes de redes de acesso banda larga ecentro de dados A Tabela 51 mostra as diferenccedilas entre a arquitetura IPMPLS e a arqui-tetura das redes que utilizam Roteamento por Segmentos (SR-based MPLS) destacandoas vantagens da arquitetura

542 Plano de dados MPLS e IPv6

Em redes MPLS o Roteamento por Segmentos utiliza o plano de encaminhamentode dados do MPLS onde o segmento eacute representado por um roacutetulo e a lista de segmentoseacute representado pelo empilhamento de roacutetulos O Roteamento por Segmentos possui asfuncionalidades de PHP (Penultimate Hop Popping) e roacutetulos explicit-null A imposiccedilatildeodo roacutetulo representa o prefixo do SID e tem preferecircncia em casos do prefixo de destinonatildeo possuir um roacutetulo associado atraveacutes do protocolo LDP O encaminhamento do pacotee as operaccedilotildees de Roteamento por Segmentos satildeo ilustrados na Figura 529 O noacute 4utiliza prefixo IPv4 ou IPv6 de sua interface loopback111432 com prefixo de SIDassociado 16004 assumindo que o protocolo LDP natildeo esteja habilitado O noacute 4 requisitaa funcionalidade PHP por padratildeo Esse prefixo eacute uma entrada na FIB do roteador remoto1 e a operaccedilatildeo executada eacute a inserccedilatildeo do roacutetulo (push) O prefixo SID tambeacutem eacute uma

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Tabela 51 MPLS com Roteamento por Segmentos vs MPLS tradicional

Caracteriacutestica Rede MPLScom SR

Rede MPLS tradicional

Transporte MPLS baacutesico IGP IGP+LDPSincronismo entre o LDPIGP Natildeo se aplica Difiacutecil de gerenciarComutaccedilatildeo FRR em 50ms IGP IGP+LDPTuacuteneis TE adicionais para suportarFRR

Natildeo precisa Precisa

Otimizaccedilatildeo de caminho de backup Sim NatildeoECMP para criaccedilatildeo de tuacuteneis TE Sim NatildeoEstados apenas no head-end do TE Sim Natildeo dependendo do nuacutemero de noacutes (comple-

xidade O(n2) nos pontos intermediaacuterios)Interoperabilidade com a redeMPLS tradicional

Sim Natildeo se aplica

Projetado para SDN Sim Natildeo

entrada da LFIB do roteador 2 com a operaccedilatildeo de comutaccedilatildeo do roacutetulo (swap) Noroteador 3 o prefixo SID eacute uma entrada remota de sua LFIB Como o roteador 3 eacute openuacuteltimo salto (PHP) entatildeo a operaccedilatildeo executada sob o roacutetulo eacute de remoccedilatildeo (pop) Noroteador 4 o pacote chega sem o roacutetulo baseado no endereccedilo IP ou o roacutetulo do serviccedilo(Segmento Local)

Figura 529 Roteamento de Segmentos - Plano de dados MPLS

A opccedilatildeo de explicit-null eacute configuraacutevel para um prefixo SID sendo que o vizinhodo roteador de origem do SID comuta o prefixo SID mais externo com o roacutetulo explicit-null Na Figura 529 a LIB do roteador 3 o roacutetulo de saiacuteda (Label Out) seria explicit-nullsendo uacutetil para repassar os EXP bits do LSR 3 para o LER 4

O plano de dados MPLS em Roteamento por Segmentos eacute o mesmo das redesIPMPLS legadas Para serviccedilos VPN L3 a rede MPLS se torna um serviccedilo de transporte

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

baseado nos prefixos de segmentos A Figura 530 ilustra um serviccedilo VPN L3 sobre umarede implementada com Roteamento por Segmentos Os prefixos SID correspondem aosSegmentos de Noacute que satildeo SIDs globais Nota-se que para os noacutes adjacentes ao noacute 3os SID globais satildeo removidos Para o noacute 6 existem duas possibilidades de caminho decusto igual (ECMP) com mesmo SID global Do noacute 3 para seus vizinhos (noacute 1 e 4) satildeoconfigurados Segmentos de Adjacecircncia com significado local sendo removidos

Figura 530 VPN L3 com Roteamento por Segmentos

Aleacutem das redes MPLS o Roteamento por Segmentos pode ser aplicado no planode dados IPv6 onde a lista de segmentos estaacute codificada na extensatildeo do cabeccedilalho pararoteamento pela fonte A lista de segmentos pode ser baseada no IGP ou no BGP Adivulgaccedilatildeo dos segmentos na rede com IPv6 eacute feita a partir de extensotildees dos protocolosIGP BGP BGP-LS e PCEP O Roteamento por Segmentos em IPv6 natildeo necessita deatualizaccedilatildeo de toda a rede permitindo interoperar com e sem Roteamento por SegmentosEssa caracteriacutestica possibilita a adoccedilatildeo gradual da tecnologia O caminho eacute expresso deforma expliacutecita onde os noacutes representam roteadores servidores instacircncias de aplicaccedilotildeesserviccedilos cadeias de serviccedilos etc O roteamento em segmentos em IPv6 eacute um roteamentopela origem natildeo-estrito

Figura 531 Cabeccedilalho de Roteamento por Segmentos SRH do IPv6

No cabeccedilalho do IPv6 (Segment Routing Header - SRH) visto na Figura 531 oscampos de ldquoSegment Listrdquo descrevem o caminho do pacote O segmento eacute representado

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

por um endereccedilo IPv6 A seguir satildeo detalhados os campos do cabeccedilalho de Roteamentopor Segmentos

bull Next Header eacute um seletor de 8 bits que identifica o tipo de cabeccedilalho imedia-tamente seguido pelo SRH

bull Hdr Ext Len define o tamanho do cabeccedilalho de SRH em octectos descontandoos primeiro oito octetos

bull Routing Type ainda depende de definiccedilatildeo pelo IETF

bull Segments Left conteacutem o iacutendice da lista de segmentos indicando o proacuteximo aser inspecionado Eacute decrementado a cada inspeccedilatildeo

bull First Segment eacute um ldquooffsetrdquo no SRH natildeo incluindo os 8 primeiros octetos Eacuteexpresso em muacuteltiplos de 16 octetos apontando para o uacuteltimo elemento da lista desegmentos Representa o primeiro segmento da lista

bull Flags 16 bits para flags Os bits de 4 a 15 definem o tipo de codificaccedilatildeo dosendereccedilos IPv6 na lista de poliacuteticas (Policy List)

bull Segment List[n] eacute o endereccedilo IPv6 que representa cada segmento do cami-nho A lista de segmentos eacute codificada de forma reversa ou seja o uacuteltimo segmentoeacute o primeiro da lista

bull Policy List[n] satildeo endereccedilos que representam noacutes especiacuteficos no SR-PathldquoIngress SR PErdquo (noacute que insere o cabeccedilalho SRH) e ldquoEgress SR PErdquo (endereccedilo donoacute de egresso do domiacutenio de Roteamento por Segmentos)

bull HMAC autenticaccedilatildeo SRH ainda em versatildeo ldquodraftrdquo pelo IETF

O SRH eacute um novo tipo em um cabeccedilalho de roteamento existente no IPv6 idecircn-tico ao RH0 que tornou-se obsoleto por questotildees de seguranccedila O SRH utiliza o HMACcomo soluccedilatildeo de seguranccedila usado no ingresso de um domiacutenio de Roteamento por Seg-mentos segundo o ldquodraftrdquo do IETF draft-vyncke-6man-segment-routing-security Dentrode um domiacutenio controlado de Roteamento por Segmentos o HMAC natildeo eacute necessaacuterioNo Roteamento por Segmentos do IPv6 o segmento ativo eacute aquele que estaacute designadocomo endereccedilo MAC de destino no pacote Em cada ponto final do segmento (endpoint)o endereccedilo MAC de destino eacute atualizado com o proacuteximo segmento ativo na lista de seg-mentos conforme a Figura 532 Na topologia apresentada na mesma figura o noacute A eacutechamado noacute de Roteamento por Segmentos habilitado (SR Capable) capaz de criar a listade segmentos ou recebecirc-la de um controlador SDN Os noacutes intermediaacuterios do caminhosatildeo chamados de noacutes de tracircnsito (Transit Nodes) que podem natildeo executar o Roteamentopor Segmentos noacutes com Roteamento por Segmentos intra-segmento (Intra-Segment No-des) e noacutes finais (Endpoint Nodes) Os noacutes B e G satildeo noacutes de tracircnsito sem Roteamentopor Segmentos fazendo o encaminhamento dos pacotes baseados no endereccedilo IPv6 seminspecionar o SRH Se ocorresse a inspeccedilatildeo do SRH esses noacutes seriam chamados de noacutesintra-segmentos Os noacutes C F e H satildeo noacutes finais do Roteamento por Segmentos poisinspecionam o SRH e tambeacutem satildeo noacutes de Roteamento por Segmentos habilitados

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 532 Exemplo de plano de dados IPv6 para Roteamento de segmentos

543 Bloco Global de Roteamento por Segmentos (SRGB)

O Bloco Global de Roteamento por Segmentos (Segment Routing Global Block -SRGB) eacute uma faixa de roacutetulos reservada para os Segmentos de Noacute ou globais pois temvalor absoluto em um domiacutenio de Roteamento por Segmentos O prefixo SID eacute anun-ciado com um iacutendice uacutenico em um domiacutenio de Roteamento por Segmentos O primeiroprefixo comeccedila em zero e o roacutetulo eacute formado pelo prefixo do SID somado agrave base doSRGB representando o Segmento do Noacute Por exemplo um roteador com interface loop-back 1116532 tem prefixo SID 65 com roacutetulo 16065 Uma boa praacutetica eacute usar o mesmoSRGB em todos os noacutes do mesmo domiacutenio de Roteamento por Segmentos pois diferentesSRGBs podem complicar a soluccedilatildeo de problemas na rede O SRGB natildeo padratildeo pode seralocado com roacutetulos entre 16000 a 1048575 ou ateacute onde o roteador permitir sendo o tama-nho maacuteximo de 64 kBytes A Figura 533(a) mostra uma possiacutevel alocaccedilatildeo de SRGB natildeorecomendada com SRGBs diferentes Os SRGBs diferentes podem ter conflito com roacutetu-los distribuiacutedos pelo LDP em uma rede mista com Roteamento por Segmentos e IPMPLSlegada (Subseccedilatildeo 545) A Figura 533(b) mostra a alocaccedilatildeo recomendada com o mesmoSRGB o que simplifica a programaccedilatildeo na rede SDN

(a) Natildeo recomendada (b) Recomendada

Figura 533 Alocaccedilatildeo de SRGBs

Os roacutetulos que representam os SIDs globais e locais satildeo gerenciados por uma base

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

de comutaccedilatildeo de roacutetulos (Label Switching Database - LSD) que aloca dinamicamenteroacutetulos para as aplicaccedilotildees do MPLS tais como os protocolos LDP RSVP BGP TE redesvirtuais privadas de camada 2 e os Segmentos de Adjacecircncia obtidos pelo IGP O LSDpreserva a faixa de roacutetulos do SRGB (de 16000 a 23999) e aloca dinamicamente os roacutetulosa partir de 24000 O LSD pode alocar roacutetulos dinamicamente do SRGB em situaccedilotildees deemergecircncia quando a faixa de roacutetulos dinacircmicos foi consumida ou se a faixa reservadapara o SRGB natildeo for usada A LSD permite que futuras ativaccedilotildees de Roteamento porSegmentos em roteadores de nuacutecleo natildeo necessitem de um ldquorebootrdquo coexistindo comroacutetulos jaacute alocados pela rede IPMPLS legada No primeiro momento da ativaccedilatildeo doLSD este aguarda que o IGP solicite o SRGB assim o LSD aloca a faixa de roacutetulos doSRGB e o IGP jaacute pode usaacute-lo A Tabela 52 mostra a alocaccedilatildeo de roacutetulos para o MPLS epara o Roteamento por Segmentos

Tabela 52 Faixa de roacutetulos do MPLS e do Roteamento por Segmentos

Uso Faixa de RoacutetulosReservada para uso especial 0 a 15Reservada para roacutetulos MPLS estaacuteticos 16 a 1599Reservada para Roteamento por Segmentos 16000 a 23999Reservada para roteamento dinacircmico 24000 a 1048575

544 Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF

O plano de controle IGP eacute responsaacutevel pela configuraccedilatildeo e distribuiccedilatildeo dos seg-mentos aplicando os segmentos em redes multi-aacuterea (OSPF) e multiniacutevel (IS-IS) e ve-rificando os anuacutencios de rotas atraveacutes de extensotildees desses protocolos O IS-IS suportao plano de controle IPv4 e IPv6 com roteamento considerando muacuteltiplos niacuteveis de rede(niacutevel 1 e 2 do IS-IS) Utiliza o prefixo do SID para representar as interfaces loopbackdos roteadores em IPv4 e IPv6 e utiliza os Segmentos de Adjacecircncia para identificar asadjacecircncias dos noacutes O anuacutencio do prefixo para o SID eacute feito pelo servidor de mape-amento (Mapping Server) O Roteamento por Segmentos com IS-IS torna possiacutevel aintroduccedilatildeo do suporte de sub-TLVs (Type-length-value) em extensotildees do protocolo IS-IS [Previdi et al 2015a] Para o OSPF a versatildeo que suporta as extensotildees para Rotea-mento por Segmentos eacute o OSPFv2 com multi-aacuterea no qual o prefixo de SID representa asinterfaces loopback dos roteadores em IPv4 e os Segmentos de Adjacecircncia identificam asadjacecircncias do noacute conforme o ldquodraftrdquo do IETF draft-ietf-ospf-segment-routing-extensions-05 As extensotildees do OSPF para Roteamento por Segmentos adicionam anuacutencios de es-tado de enlace opaco (Opaque LSA) que permitem a transmissatildeo arbitraacuteria de dados queo OSPF natildeo necessariamente utilize Os anuacutencios de estados de enlace opaco adiciona-dos oferecem suporte ao Roteamento por Segmentos permitindo o envio de informaccedilotildeescomo o algoritmo usado no roteamento e as faixas de roacutetulos (Opaque LSA Type 4) SIDde Segmentos de Noacute (Opaque LSA Type 7) e SID de Segmentos de Adjacecircncia (OpaqueLSA Type 8) O prefixo do SID do Segmento do Noacute usa a informaccedilatildeo do SRGB queaacute anunciado pelos LSAs opacos O SRGB pode ser o padratildeo que utiliza roacutetulos MPLSde 16000 a 23999 ou algum outro que utilize roacutetulos fora do padratildeo O SRGB escolhidopode ser configurado em cada instacircncia do IGP sendo que as diferentes instacircncias podemusar SRGB iguais (Overlapping SRGB) ou diferentes (Non-overlapping SRGBs)

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

O Prefixo do SID pode ser configurado como um valor absoluto ou iacutendice sendoque o iacutendice representa um incremento na base do SRGB Por exemplo considerandoum prefixo com iacutendice igual a 1 e um SRGB igual a 16000 entatildeo o SID eacute 16000+ 1 =16001 Esse valor de SID representa o roacutetulo tem valor global e eacute uacutenico em um SR-Domain O Prefix SID eacute configurado manualmente e equivale a atribuir um endereccedilo auma interface loopback do roteador de nuacutecleo Por exemplo o roteador originador podeanunciar as faixas de roacutetulos [100199] [10001099] e [500599] fora do SGRB padratildeoNesse caso os roteadores de destino que receberem essas faixas as concatenam formandoa SRGB [100199] [500599] [10001099] Dessa forma os iacutendices utilizam vaacuteriasfaixas como por exemplo Iacutendice 0 = Roacutetulo 100 Iacutendice 1 = Roacutetulo 101 Iacutendice 99 =Roacutetulo 199 Iacutendice 200 = Roacutetulo 500 Iacutendice 201 = Roacutetulo 501 Iacutendice 299 = Roacutetulo599 Iacutendice 300 = Roacutetulo 1000 Iacutendice 301 = Roacutetulo 1001 Iacutendice 399 = Roacutetulo 1099

O Segmento de Adjacecircncia tem significado local e eacute automaticamente alocadopara cada adjacecircncia sempre sendo um valor absoluto natildeo indexado As extensotildees doOSPF possuem TLVs e sub-TLVs com flags para o anuacutencio e propagaccedilatildeo dos prefixos AFigura 534 ilustra as extensotildees do OSPF e respectivos flags para suporte aos SIDs

Figura 534 Extensotildees do OSPF para prefixos SID

O campo de flags da TLV eacute composto por dois bits sendo que o bit A sinalizao uso de uma extensatildeo TLV para prefixo SID inter-aacuterea e o bit N indica que o prefixoidentifica o noacute No campo de flags da sub-TLV o bit NP configura o PHP o que significaque o prefixo SID natildeo pode ser removido depois do encaminhamento do pacote o bitM indica se os SIDs satildeo anunciados pelo servidor de mapeamento o bit E indica que openuacuteltimo salto deve trocar o prefixo SID por um roacutetulo explicit-null o bit V indica queo prefixo SID eacute um valor absoluto e finalmente o bit L indica quando o prefixo SID temsignificado local ou seja eacute um iacutendice

Existem Prefixos SID denominados de Anycast por serem anunciados a muacuteltiplos

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

noacutes da rede O traacutefego eacute encaminhado pelo originador do prefixo SID Anycast escolhendoa melhor rota baseada no IGP Os noacutes que anunciam o mesmo prefixo SID Anycast tem omesmo SGRB Esses prefixos satildeo divulgados entre diferentes aacutereas atraveacutes dos roteadoresASBR (Autonomous System Boundary Router) responsaacuteveis por distribuir rotas de outrosroteadores de outras aacutereas e de outros sistemas autocircnomos

Figura 535 Prefixo SID Anycast

A Figura 535 mostra um exemplo de aplicaccedilatildeo de prefixo SID Anycast Em re-des multi-aacutereas os SIDs dos ASBRs satildeo Anycast pois satildeo uacutenicos em todo domiacutenio esatildeo redistribuiacutedos em cada regiatildeo Apesar dos SIDs serem uacutenicos internamente nas aacutereasnatildeo-backbone eles podem ser reutilizados em outras aacutereas Por exemplo o roacutetulo 72 levaateacute C dentro da aacuterea 2 e B dentro da aacuterea 1 Poreacutem os roacutetulos 100172 levam ateacute B dequalquer lugar e 100272 levam ateacute C de qualquer lugar Os roacutetulos 1001 e 1002 satildeodivulgados em todo o domiacutenio SR possuindo re-roteamento raacutepido nativo (Fast Reroute -FRR) quando ocorrer falha em algum dos ASBRs No OSPF quando um noacute anuncia seuprefixo SID ele inclui este prefixo nas Opaque LSAs que satildeo enviadas a seus vizinhosAo propagar um prefixo o OSPF anuncia um prefixo recebido ou originado de outra aacutereaQuando um noacute cria um prefixo anunciando-o como local (Segmento Local) o noacute eacute pro-prietaacuterio deste prefixo No OSPF os prefixos SID satildeo propagados entre aacutereas enquanto osde adjacecircncias natildeo satildeo O OSPF natildeo tem como identificar quais noacutes originaram o prefixoe quais propagaram este prefixo As flags tambeacutem transportam informaccedilotildees do compor-tamento do noacute originador do prefixo como o explicit-null Esse comportamento natildeo deveser aplicado aos noacutes propagadores do prefixo mas apenas ao originador Em multi-aacutereasOSPF o ABR (Area Border Router) ou ASBR propaga o prefixo SID natildeo-locais com obit NP=0 (No PHP) e o bit E=0 (no-explicit-null) Jaacute para prefixos locais o prefixo SIDeacute propagado com bit NP=1 e o bit E=0 A Figura 536 mostra um exemplo de multi-aacutereaOSPF com prefixos SID locais e natildeo-locais que atravessam as aacutereas OSPF

Os Segmentos de Adjacecircncias tem significado local e satildeo alocados dinamicamentea partir de um conjunto de roacutetulos conforme mostrado na Figura 528 A alocaccedilatildeo auto-maacutetica de roacutetulos pode ser feita por adjacecircncia como por exemplo uma adjacecircncia comproteccedilatildeo e sem proteccedilatildeo No IS-IS isso significa ter dois SIDs diferentes para adjacecircnciasL1 e L2 entre os mesmos vizinhos no OSPF o mesmo SID de adjacecircncia eacute aplicado emtodas as aacutereas de uma adjacecircncia multi-aacuterea o que representa muacuteltiplas adjacecircncias para

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 536 Propagaccedilatildeo de prefixos SID e flags

cada aacuterea diferente em uma mesma interface Os Segmentos de Adjacecircncia tecircm persistecircn-cia de roacutetulo ou seja o mesmo roacutetulo eacute alocado depois da recuperaccedilatildeo de uma falha NoOSPF os Segmentos de Adjacecircncias satildeo representados nas ldquoflagsrdquo sub-TLVs do OpaqueLSA com os seguintes bits quando configurado com ldquo1rdquo B eacute o bit de Backup que indicauma adjacecircncia protegida o bit V significa que o SID de adjacecircncia transporta um valore natildeo um iacutendice o bit L significa que o SID de adjacecircncia tem significado local e o bit Squando o SID de adjacecircncia se refere a um conjunto de adjacecircncias usado para balance-amento de carga conforme mostrado na Figura 536 No Roteamento por Segmentos osnoacutes que estejam interligados atraveacutes de uma rede local necessitam conduzir os fluxos dedados nesta rede Para tal os noacutes necessitam de Segmentos de Adjacecircncia atraveacutes da redelocal A soluccedilatildeo eacute a criaccedilatildeo de um pseudo-noacuterepresentando a rede LAN Os Segmentosde Adjacecircncia satildeo associados aos noacutes ligados agrave LAN e ao pseudo-noacute (Figura 537)

Figura 537 Segmento de Adjacecircncias - Pseudo-noacute

545 Coexistecircncia do Roteamento por Segmentos e LDP

A arquitetura de redes IPMPLS permite a coexistecircncia de muacuteltiplos protocolospara distribuiccedilatildeo de roacutetulos como o LDP RSVP-TE e o Roteamento por Segmentos seminteraccedilatildeo entre si Cada noacute de rede reserva uma faixa de roacutetulos dentro do SRGB para oplano de controle do Roteamento por Segmentos e roacutetulos fora do SRGB para alocaccedilatildeodinacircmica pelo plano de controle MPLS tradicional As entradas dos roacutetulos provenientesdo LDP e do Roteamento por Segmentos satildeo indexadas na FIB e LFIB dos roteadoresA Figura 538(a) mostra o sentido de um pacote da rede MPLS para a IP com roacutetulos

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

configurados pelo Roteamento por Segmentos (dentro da faixa do SRGB) e pelo LDPAs muacuteltiplas entradas advindas do Roteamento por Segmentos ou pelo LDP podem serprogramadas para o mesmo prefixo de destino conforme mostra a figura Para o sentidodo pacote da rede IP para a MPLS com Roteamento por Segmentos e LDP coexistindoda Figura 538(b) o roacutetulo a ser imposto ao pacote soacute pode ser recebido de um dos pro-tocolos natildeo de forma simultacircnea Se existem vaacuterios caminhos para o destino a entradada tabela deve definir se o caminho selecionado pelo protocolo de Roteamento por Seg-mentos ou pelo LDP deve ser usado Por padratildeo a escolha da entrada eacute a do protocoloLDP sendo necessaacuterio ativar a preferecircncia pelo Roteamento por Segmentos Uma pro-posta de migraccedilatildeo do LDP para Roteamento por Segmentos em uma rede de roteadores denuacutecleo IPMPLS eacute inicialmente manter em execuccedilatildeo os dois planos de controle indepen-dentes Os roteadores de nuacutecleo entatildeo satildeo atualizados para Roteamento por Segmentose os roteadores satildeo configurados para preferencialmente utilizar a imposiccedilatildeo dos roacutetulosatraveacutes do Roteamento por Segmentos O passo final eacute remover o LDP dos roteadoressimplificando assim rede O IETF vem trabalhando na elaboraccedilatildeo de normas para padro-nizar a interoperabilidade de redes IPMPLS com Roteamento por Segmentos e o proto-colo LDP [Filsfils et al 2015] permitindo a coexistecircncia das redes legadas tradicionaisIPMPLS

(a) Caso MPLS para IP

(b) Caso IP para MPLS

Figura 538 Coexistecircncia entre o Roteamento por Segmentos e o LDP

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

546 Servidor de Mapeamento

O Servidor de Mapeamento (Mapping Server) eacute usado na interoperabilidade en-tre noacutes habilitados e natildeo-habilitados ao Roteamento por Segmentos O mapeamento dosprefixos de rede e SIDs satildeo configurados no Servidor de Mapeamento de forma similarao Refletor de Rotas (Router Reflector - RR) Esse mapeamento eacute realizado no servidorde mapeamento e eacute necessaacuterio para interoperabilidade das redes MPLS tradicionais queusam o protocolo LDP com as redes implementadas com Roteamento por Segmentos Oservidor de mapeamento eacute um mecanismo de controle natildeo necessitando estar localizadono plano de dados e deve ser redundante O cliente do mapeamento recebe e analisa osmapeamentos de prefixos para SIDs do servidor que usa as entradas aprendidas e confi-guradas localmente nas tabelas RIB para construccedilatildeo de uma poliacutetica vaacutelida e consistentede mapeamento de SIDs A instacircncia do IGP utiliza as poliacuteticas do mapeamento de SIDspara recalcular alguns ou todos prefixos SID Uma regra de consenso eacute quando o servidorde mapeamento for usado todos os noacutes devem se comportar como clientes para recebi-mento do mapeamento de prefixos de tal forma que natildeo recebam os LSAs atraveacutes de noacutesque natildeo satildeo habilitados com Roteamento por Segmentos Os anuacutencios do servidor de ma-peamento natildeo satildeo nem propagados entre aacutereas OSPF nem tampouco entre aacutereas IS-IS Osanuacutencios do servidor de mapeamento tanto no IS-IS quanto no OSPF satildeo implementadosnas extensotildees desses protocolos Eacute possiacutevel haver muacuteltiplos servidores para anuacutencio demapeamentos de prefixos para SIDs Espera-se poreacutem que o conjunto de mapeamentosseja igual para os servidores a fim de se manter consistecircncia Caso natildeo haja consistecircnciao cliente do servidor de mapeamento escolhe a entrada que natildeo tenha sobreposiccedilatildeo comopoliacutetica ativa A arquitetura cliente-servidor de mapeamento eacute mostrada na Figura 416

Figura 539 Arquitetura Cliente-Servidor de Mapeamento

547 Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP

Existem alguns modelos propostos para interoperabilidade do Roteamento porSegmentos com o protocolo LDP Roteamento por Segmentos para LDP LDP para Rote-amento por Segmentos Roteamento por Segmentos sobre LDP e LDP sobre Roteamentopor Segmentos O LDP para Roteamento por Segmentos conecta um LSP criado peloLDP com um prefixo SID em qualquer noacute na borda do domiacutenio LDP para Roteamentopor Segmentos atraveacutes de uma entrada na LFIB configurada de forma automaacutetica emcada um dos domiacutenios O roacutetulo de entrada do noacute de borda eacute obtido pelo LDP e o roacute-tulo de saiacuteda eacute o do segmento copiado do que seria o roacutetulo de entrada para o trecho

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

do segmento conforme mostrado na Figura 540(a) No Roteamento por Segmentos paraLDP como o destino eacute um domiacutenio que natildeo tem Roteamento por Segmentos habilitado(domiacutenio LDP) eacute necessaacuterio anunciar no domiacutenio LDP os prefixos SID na tabela LFIBdestes roteadores Isso eacute feito atraveacutes do servidor de mapeamento que informa o prefixoe a partir do prefixo IP eacute conhecido o roacutetulo para chegar ao destino conforme mostradona Figura 540(a) Jaacute no Roteamento de Segmentos sobre LDP a cada borda de rede queutilize o Roteamento por SegmentosLDP o prefixo SID eacute mapeado em um LSP obtidodo protocolo LDP Na borda LDPRoteamento por Segmentos o LSP eacute mapeado em umprefixo SID Se o caminho terminar em um noacute com domiacutenio LDP eacute necessaacuterio utilizar oservidor de mapeamento Por fim no LDP sobre Roteamento por Segmentos na fronteiraLDPRoteamento por Segmentos o LSP criado pelo LDP eacute mapeado em um prefixo SIDsendo portanto necessaacuterio o servidor de mapeamento

(a) LDP para Roteamento por Segmentos

(b) Roteamento por Segmentos para LDP

Figura 540 Interoperabilidade entre o Roteamento por Segmentos e o LDP

548 Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)

O mecanismo TI-LFA (Topology Independent Loop Free Alternate) eacute uma teacutecnicade re-roteamento para convergecircncia raacutepida [Francois et al 2015] O tempo de conver-gecircncia deve ser em menos de 50ms tempo inferior agrave convergecircncia do IGP da rede OLFA claacutessico em redes IPMPLS depende da topologia nem sempre provendo o melhorcaminho de proteccedilatildeo No mecanismo claacutessico LFA-FRR (Loop Free Alternate Fast Re-route) o IGP preacute-calcula um caminho de proteccedilatildeo para cada caminho primaacuterio instalando

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

o caminho de proteccedilatildeo no plano de dados Na ocorrecircncia de uma falha todos os caminhosde proteccedilatildeo dos destinos impactados satildeo habilitados com prefixos existentes na rede con-vergindo em 50ms O mecanismo claacutessico LFA-FRR possui algumas desvantagens comocobertura incompleta e caminho de proteccedilatildeo nem sempre oacutetimo O LFA claacutessico eacute depen-dente da topologia e nem toda topologia eacute livre de ciclos para todos os destinos conformemostra a Figura 541 Na Figura 541(a) o caminho principal sai do noacute de origem 1 ao noacutede destino 5 O caminho de proteccedilatildeo tem os noacutes intermediaacuterios 2 6 e 7 livres de cicloscoincidindo com o caminho que o IGP tomaria apoacutes a convergecircncia da rede (maior que50ms) Na Figura 541(b) um exemplo de caminho principal saindo do noacute de origem 6para o noacute de destino 5 Nesse caso o LFA claacutessico tem cobertura incompleta (nem todosos noacutes satildeo LFA) e eacute dependente da topologia nem sempre provendo um caminho oacutetimode proteccedilatildeo com a presenccedila de ciclos Uma topologia independente provecirc 100 de co-bertura de noacutes com LFA e esse tipo de mecanismo de proteccedilatildeo eacute comumente usado emRoteamento por Segmentos

(a) Exemplo sem ciclo (LFA) (b) Exemplo com ciclo

Figura 541 Mecanismo LFA claacutessico

O TI-LFA usa o caminho poacutes-convergecircncia com um caminho de proteccedilatildeo de re-roteamento raacutepido O mecanismo TI-LFA foi elaborado para ter 100 de cobertura dosnoacutes sem ciclos e com tempo de convergecircnciale50ms prevenindo congestionamento tran-siente e roteamento natildeo-oacutetimo O caminho otimizado e natural apoacutes uma falha seria ocaminho poacutes-convergecircncia calculado pelo IGP utilizado pelo TI-LFA No entanto natildeoexiste uma garantia de convergecircncia raacutepida (le50ms) aleacutem dos noacutes serem livres de ci-clos para este novo caminho O Roteamento por Segmentos forccedila o caminho de poacutes-convergecircncia atraveacutes de uma lista de segmentos O mecanismo do TI-LFA influencia omecanismo claacutessico de LFA forccedilando a ausecircncia de ciclos em um caminho oacutetimo encon-trado pelo IGP apoacutes o periacuteodo de convergecircncia da rede

O mecanismo TI-LFA utiliza o algoritmo ldquoPQrdquo que encontra noacutes que satisfaccedilamas propriedades de ldquoPrdquo e ldquoQrdquo O algoritmo eacute proprietaacuterio Cisco e natildeo estaacute no escopona padronizaccedilatildeo do IETF para o TI-LFA O TI-LFA pode ser usado para balanceamentode traacutefego e proteccedilatildeo de traacutefego MPLS com protocolos de controle tradicionais comoo LDP O TI-LFA utiliza caminhos ECMP (Equal-Cost Multi-Path routing) permitindoo balanceamento de traacutefego baseado em uma funccedilatildeo hash A Figura 421a mostra umexemplo de balanceamento de traacutefego do noacute origem 1 para os noacutes de destino 7 e 8 Oenlace a ser protegido eacute o enlace 2-5 (enlace do caminho principal ou primaacuterio) O TI

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

LFA calcula dois pares de noacutes ldquoPrdquo e ldquoQrdquo para ambos os destinos 7 e 8 neste exemplopara o destino 10 (P=3 Q=4) e para o destino (P=3 Q=6) O TI LFA estatisticamente fazo balanceamento do traacutefego nestes pares de noacutes O traacutefego MPLS controlado pelo LDPe natildeo por Roteamento por Segmentos tambeacutem pode fazer uso do TI-LFA eliminandosessotildees T-LDP (Target LDP) e o Roteamento por Segmentos pode ser implementado emldquoilhasrdquo dentro da rede controlada pelo LDP influenciando a proteccedilatildeo do TI LFA para redesMPLS com LDP A FIB (Fowarding Information Base) usa a fusatildeo de roacutetulos obtidosdo Servidor de Mapeamento (Mapping Server) que anuncia os prefixos para segmentosreferentes ao caminho de proteccedilatildeo Os noacutes de onde partem os caminhos de proteccedilatildeodevem ter Roteamento por Segmentos habilitados bem como o noacute de destino que deveser associado a um prefixo SID anunciado por este noacute ou atraveacutes de um Servidor deMapeamento (Mapping Server) Aleacutem da origem e do destino os noacutes P e Q tambeacutemdevem estar habilitados para Roteamento por Segmentos O exemplo da Figura 421bmostra o noacute 1 e 4 com Roteamento por Segmentos e LDP habilitados O noacute de destinoldquoZrdquoe os noacutes 2 3 e 5 satildeo configurados somente com LDP O Servidor de Mapeamento(Mapping Server) anuncia o prefixo SID 16006 para a interface ldquoloopbackrdquo do noacute Z cujoIP eacute por exemplo 111632 O noacute 4 eacute um noacute do tipo PQ para proteccedilatildeo do noacute de destinoldquoZrdquo no noacute 1 do caminho principal ou primaacuterio 1-2 O noacute 1 e 4 utilizam as funcionalidadesde interoperabilidade do Roteamento por Segmentos e do protocolo LDP para dirigir ospacotes para o caminho de proteccedilatildeo encontrado pelo TI LFA

(a) Balanceamento de traacutefego deproteccedilatildeo

(b) TI LFA em redes MPLS comLDP

Figura 542 Exemplos de implementaccedilatildeo de TI LFA com Roteamento por Segmentos

549 Aplicaccedilotildees em Roteamento por Segmentos

A Engenharia de Traacutefego eacute um exemplo de aplicaccedilatildeo no contexto de Roteamentopor Segmentos (Segment Routing - Traffic Engineering - SR-TE) utilizando os benefiacuteciosdas Redes Definidas por Software e do Roteamento por Segmentos [Bhatia et al 2015]O Roteamento por Segmentos permite a configuraccedilatildeo a modificaccedilatildeo e a remoccedilatildeo de ca-minhos TE dentro de um domiacutenio de rede operando somente na borda da rede O plano

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

de controle do Roteamento por Segmentos pode ser mantido tanto de forma centralizadaatraveacutes de um controlador SDN quanto de forma distribuiacuteda no plano de controle exis-tente nos roteadores de nuacutecleo habilitados com Roteamento por Segmentos Neste uacuteltimoos roteadores podem pertencer a uma rede composta somente por noacutes que executem o Ro-teamento por Segmentos ou em uma mista que execute tambeacutem o LDP Na Engenharia deTraacutefego com Roteamento por Segmentos o roteador de nuacutecleo de origem (Head End LSR)eacute denominado roteador de nuacutecleo de origem SRTE (Segment Routing Traffic EngineeringHead End) onde os pacotes satildeo classificados e onde satildeo impostas as listas de segmentosTodas as funcionalidades de engenharia de traacutefego satildeo influenciadas pelas decisotildees doRoteamento por Segmentos e pelo controlador SDN Os roteadores intermediaacuterios (MidPoint) para efeito do Roteamento por Segmentos natildeo existem em sua topologia loacutegicanatildeo necessitando de estados adicionais (troca de roacutetulos e atualizaccedilotildees de tabelas LFIBs)e sinalizaccedilotildees (protocolo RSVP-TE) A centralizaccedilatildeo da engenharia de traacutefego permitemelhorar a otimizaccedilatildeo a previsibilidade e a convergecircncia da rede atraveacutes de aplicaccedilotildeesprogramaacuteveis por APIs NBI e de mecanismos de programaccedilatildeo da rede como o PCEP eAPIs SBI O PCE e o BGP-LS possuem extensotildees para Roteamento por Segmentos OBGP-LS eacute usado para anunciar o estado do enlace e a base de dados TE (Traffic Engine-ering Database - TED) A informaccedilatildeo do estado do enlace eacute repassado em LSAs opacosincluindo a informaccedilatildeo dos estados do Roteamento por Segmentos distribuiacutedos pelo IGPO PCE (Path Computation Element) especifica uma lista de SIDs a partir de uma re-quisiccedilatildeo de indicaccedilatildeo de caminho proveniente da aplicaccedilatildeo e o PCC (Path ComputationClient) encaminha o traacutefego impondo a lista de segmentos nos pacotes conforme mostradona Figura 543 Natildeo existe sinalizaccedilatildeo RSVP-TE e os caminhos podem ser iniciados peloPCE ou PCC

Figura 543 Roteamento por Segmentos com decisatildeo de caminho por SDN

A centralizaccedilatildeo da inteligecircncia da engenharia de traacutefego com uma visatildeo fim a fimda rede pode ser obtida atraveacutes da tecnologia de Roteamento por Segmentos e Redes De-finidas por Sotware onde controlador expressa o caminho em uma lista de segmentos e a

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

rede manteacutem os segmentos e providencia o reroteamento raacutepido (Fast Reroute - FRR) parao mesmo coincidente com os caminhos de menor custo (Equal-cost multi-path routing -ECMP)A Figura 544 mostra um controlador SDN fazendo a orquestraccedilatildeo de engenhariade traacutefego para descoberta de um caminho que atenda a demanda de banda de 2G para umtuacutenel MPLS que vai de A a Z Nas redes IPMPLS legadas o RSVP-TE era responsaacutevelpara obtenccedilatildeo dos recursos atraveacutes de complexa sinalizaccedilatildeo O controlador encontra ocaminho a partir do dados coletados (atraveacutes do BGP-LS por exemplo) usando estes da-dos na computaccedilatildeo do caminho que eacute uma lista de segmentos configurados atraveacutes umaldquosouthbound interfacerdquo como NETCONF ou CLI conforme deduzido na figura

Figura 544 Aplicaccedilatildeo SR TE com orquestraccedilatildeo de banda

Outra aplicaccedilatildeo do SR TE eacute a determinaccedilatildeo do caminho baseado em classe de ser-viccedilo (CoS-Based TE) Nesse caso o traacutefego de dados pode ser direcionado por segmentosonde os enlaces possuem maior capacidade e menor custo por bit enquanto o traacutefego devoz sobre IP pode ser direcionado por segmentos com enlaces de menor latecircncia Pararedes extensas e multi-aacutereas satildeo usados prefixos SID ldquoAnycastrdquo Outra aplicaccedilatildeo do SRTE para fins operacionais e de recuperaccedilatildeo de rede eacute o controle OAM (Operations Ad-ministration and Maintainance) O uso dos segmentos de adjacecircncia permite monitorarcada enlace da rede sendo bastante uacutetil em redes extensas e complexas como a rede deroteadores de nuacutecleo das operadoras de telecomunicaccedilotildees A Figura 545 demonstra essetipo de aplicaccedilatildeo O monitoramento do caminho ABCFGDH eacute realizado por segmentosde adjacecircncia permitindo localizar perda de pacotes em um enlace Este tipo de aplicaccedilatildeoeacute descrito na versatildeo ldquodraftrdquo do IETF draft-geib-spring-oam-usecas-02

O Roteamento por Segmentos automatiza o ldquopeeringrdquo de roteadores de diferentessistemas autocircnomos atraveacutes da automaccedilatildeo do BGP com alocaccedilatildeo de SIDs simplificandoo ldquopeeringrdquo da rede IPMPLS legada O controlador SDN aprende os SIDs dos ldquopeersrdquoe a topologia externa atraveacutes do roteador de borda pelo BGP-LS EPE (Egress PeeringEngineering) definidos nas extensotildees do BGP-LS Esse tipo de caso de uso definido noldquodraftrdquo draft-ietf-spring-segment-routing-central-epe eacute ilustrado na Figura 546

Das aplicaccedilotildees com Roteamento por Segmentos com BGP se destacam casos de

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

Figura 545 Aplicaccedilatildeo OAM com roteamento de segmentos de adjacecircncia

Figura 546 Aplicaccedilatildeo EPE - automaccedilatildeo de ldquopeeringrdquo da rede

uso para Datacenters em escala massiva (Massive Scale DC - MSDC) onde os prefixosde segmentos satildeo usados no BGP assim como no IGP definido no documento do IETFldquodraftrdquo draft-ietf-idr-bgp-prefix-sid Qualquer noacute dentro da topologia aloca o mesmo seg-mento BGP para o mesmo comutador do Datacenter (Top of Rack Switch - TOR) com osbenefiacutecios do reroteamento raacutepido e engenharia de traacutefego Uma aplicaccedilatildeo com plano deencaminhamento de dados IPv6 e tambeacutem MPLS eacute a cadeia de serviccedilos baseada em Rote-amento por Segmentos O noacute que conecta a instacircncia do serviccedilo origina um SID baseadono comportamento do serviccedilo O noacute pode ser virtual ou fiacutesico os SIDs satildeo conhecidosno noacute de ingresso atraveacutes de um controlador SDN com muacuteltiplas APIs como protoco-los IGP e BGP NETCONF REST OpenFlow etc Natildeo existe sobrecarga da aplicaccedilatildeonem manutenccedilatildeo de estados para cada cadeia apenas um uacutenico estado por instacircncia deserviccedilo Recentemente o IETF definiu uma proposta para transportar cadeias de serviccedilodentro de um cabeccedilalho NSH (Network Service Header) que identifica uma cadeia (pathid) para transporte de meta-dados O IETF e esteacute trabalhando para integrar o NSH comRoteamento por Segmentos como definido no ldquodraftrdquo Network Service Header draft-ietf-

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

sfc-nsh-04 que mapeia os segmentos dentro do path id como uma opccedilatildeo para redes deDatacenter A Figura 547 mostra um exemplo de cadeia de serviccedilos com Roteamentopor Segmentos podendo ser aplicaacutevel em NFV (Network Functions Virtualization) ORoteamento por Segmentos com plano de encaminhamento de dados IPv6 apresenta osmesmos estudos de caso do com plano de encaminhamento de dados MPLS

Figura 547 Cadeia de serviccedilos com Roteamento por Segmentos

5410 Padronizaccedilatildeo IETF

A padronizaccedilatildeo da arquitetura de Roteamento por Segmentos estaacute sendo condu-zida pelo IETF no grupo de trabalho SPRING WG (Source Packet Routing in NetworkingWorking Group) cujas RFCs estatildeo na versatildeo ldquodraftrdquo que focam arquitetura casos de usoe extensotildees dos protocolos IS-IS OSPF BGP BGP-LS PCEP e IPv6

55 Experimentaccedilatildeo PraacuteticaNos experimentos praacuteticos deste minicurso a ferramenta de simulaccedilatildeo OSHI

(Open Source Hybrid IPSDN networking) [Davoli et al 2015] eacute empregada Essa fer-ramenta auxilia a investigaccedilatildeo e prototipagem das redes Openflow para que elas possamoferecer as mesmas funcionalidades das redes IPMPLS A ideia foi utilizar um simu-lador que permita trabalhar com noacutes de redes virtuais e reais e com implementaccedilatildeode software aberto em IP e SDN A interface southbound eacute Openflow e as interfacesnorthbound satildeo APIs REST O traacutefego eacute enviado em vaacuterios tipos de tuacuteneis tais comoMPLS VLAN Q-in-Q e Ethernet PBB (Provider Backbone Bridge) atraveacutes do con-trolador SDN Os sistemas operacionais de rede escolhidos foram o Floodlight Ryu eONOS [Salsano et al 2014b Stancu et al 2015] O simulador de rede hiacutebrida IPSDNpossui trecircs formas de implementaccedilatildeo no Virtual Box ldquorun timerdquo no ambiente de simula-ccedilatildeo do Mininet e em provas de conceito de redes SDN como o projeto OFELIA aplicandoo conceito de experimento como serviccedilo (testbed as a service) [Salsano et al 2014b]Nesta seccedilatildeo o Mininet eacute usado [Salsano et al 2014b OSHI e Mininet 2015] O simula-dor utiliza noacutes virtuais de rede de nuacutecleo denominados Roteadores de Nuacutecleo em softwareaberto (Open Source Label Switch Routers - OpenLSR) que geram pacotes OSPF e LDPutilizando o Quagga e computam os roacutetulos MPLS que satildeo instalados nos comutadoresusando o protocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de soft-ware para engenharia de traacutefego e roteamento por segmentos [Davoli et al 2015]

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

551 Introduccedilatildeo ao Mininet

O Mininet [Mininet 2015] eacute um emulador de rede que cria redes virtuais comservidores comutadores controladores e enlaces virtuais em uma uacutenica maacutequina fiacutesicaou virtual O Mininet possui linha de comando proacutepria (Command Line Interface - CLI)e APIs que permitem a criaccedilatildeo de rede e serviccedilos customizaccedilatildeo e compartilhamento comoutros usuaacuterios O Mininet eacute ideal para experimentos com OpenFlow e redes SDN e podeser executado em um PC ou ateacute mesmo em um laptop Os passos seguintes ilustram acriaccedilatildeo e o uso de uma topologia miacutenima que inclui o controlador POX um comutadorOpenFlow e dois servidores

Passo 1 Inicializaccedilatildeo do Mininet com a topologia miacutenimaPasso 2 Verificaccedilatildeo dos noacutes da redePasso 3 Verificaccedilatildeo dos enlaces da redePasso 4 Verificaccedilatildeo dos endereccedilos loacutegicos dos dispositivos da rede Os noacutes satildeo configu-

rados em uma subrede 100008 por padratildeoPasso 5 Acesso aos servidores HTTP atraveacutes do terminalPasso 6 Teste da conectividade da rede atraveacutes do ping

O Mininet permite a criaccedilatildeo de topologias mais complexas com mais comutadorese servidores O Mininet ainda permite a construccedilatildeo de topologias atraveacutes de APIs emPython que eacute a base de construccedilatildeo do emulador Os comandos passo-a-passo necessaacuteriospara a execuccedilatildeo deste primeiro experimento e de todos os outros a seguir estatildeo disponiacuteveisem httpwwwgtaufrjbr~silverioSRArquivoSBRC2016htm

552 Construccedilatildeo de uma rede simples com roteamento no Mininet

Este experimento visa criar uma rede simples com roteamento estaacutetico onde oroteador recebe e processa pacotes como um roteador fiacutesico real e depois os encaminhapelas interfaces corretas O roteador emulado encaminha pacotes de um cliente para doisservidores HTTP

Para tal os seguintes passos devem ser seguidos

Passo 1 Instalaccedilatildeo do moacutedulo do controlador POXPasso 2 Verificaccedilatildeo dos arquivos de configuraccedilatildeoPasso 4 Configuraccedilatildeo do ambiente atraveacutes da execuccedilatildeo do arquivo configshPasso 5 Inicializaccedilatildeo do controlador POXPasso 6 Realizaccedilatildeo dos testes propostos a partir da execuccedilatildeo do arquivo sr_solutionPasso 7 Inicializaccedilatildeo dos testes propostos no MininetPasso 8 Captura dos pacotes no formato pcap atraveacutes do executaacutevel sr

553 Open Source Hybrid IPSDN Networking

A ferramenta OSHI (Open Source Hybrid IPSDN networking) [OSHI 2015] per-mite o uso de noacutes hiacutebridos que combinam o encaminhamento tradicional IP com o encami-nhamento SDN O OSHI eacute uma ferramenta de coacutedigo aberto que implementa comutadoresOpenFlow (OpenFlow Capable Switch - OFCS) um encaminhador de pacotes IP e umdaemon de roteamento IP O OFCS eacute conectado ao conjunto de interfaces fiacutesicas perten-centes agrave rede IPSDN enquanto o encaminhador de pacotes IP eacute ligado a um conjunto de

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

portas virtuais OFCS como visto na Figura 548 No noacute OSHI o OFCS eacute implementadousando o Open vSwitch o encaminhador de pacotes IP eacute o kernel do Linux e o Quaggaatua como o daemon de roteamento

Figura 548 Construccedilatildeo de uma rede simples com roteamento no Mininet (Adap-tado de [Salsano et al 2014b])

Os serviccedilos a serem simulados pela ferramenta OSHI satildeo do tipo IP ponto-a-pontocomo Circuitos Virtuais Alugados (Virtual Leased Lines - VLL) Pseudo-fio (Pseudowires- PW) de camada 2 e comutadores virtuais de camada 2 (Virtual Switched Services -VSS)sobre um backbone IPMPLS Este uacuteltimo permite tambeacutem simular engenharia de traacutefegoem redes IPMPLS (tuacuteneis TE) e roteamento por segmentos A fim de apoiar tanto odesenvolvimento quanto os aspectos de teste e de avaliaccedilatildeo comparativa a ferramentaMantoo (Management Tools) [Salsano et al 2014b Salsano et al 2014a] foi adicionadapara auxiliar experiecircncias SDN sobre simuladores e redes experimentais distribuiacutedasOMantoo inclui scripts Python para configuraccedilatildeo e controle dos simuladores ou scriptspara mediccedilotildees de desempenho e um visualizador de topologia 3DA representaccedilatildeo datopologia eacute atraveacutes de arquivos no formato JSON e a interface graacutefica possui um moacutedulode criaccedilatildeo automaacutetico de topologia a partir dos dados desses arquivos Os scripts deconfiguraccedilatildeo incluem um analisador da topologia extensotildees das bibliotecas do Mininet eo configurador OSHI

554 Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE

A ferramenta OSHI-TE utiliza noacutes virtuais de rede de nuacutecleo chamados OpenLSR(Open Source Label Switch Routers) que geram pacotes OSPF e LDP utilizando o QuaggaEste uacuteltimo computa os roacutetulos MPLS que satildeo instalados nos computadores usando oprotocolo OpenFlow O controlador SDN tambeacutem possui um moacutedulo de software paraengenharia de traacutefego e roteamento por segmentos [SPRING 2015]

Os serviccedilos simulados pelo OSHI satildeo implementados como caminhos em umarede SDN a partir de controladores Ryu ou Floodlight centralizados Duas propos-tas foram concebidas e implementadas para o estabelecimento de caminhos a primeirabaseia-se em identificadores de VLAN e a segunda em roacutetulos MPLS Como exemploo serviccedilo Pseudo-fio foi implementado usando apenas os roacutetulos MPLS a partir do en-capsulamento do pacote Ethernet clienteO serviccedilo de Pseudo-fio em uma rede hiacutebridaIPSDN tem as mesmas caracteriacutesticas dos serviccedilos implementados em rede tradicional

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

IPMPLS O controlador utilizado foi o Ryu e um script denominado VLLPusher queutiliza a API REST do controlador foi utilizado para recuperar a topologia de rede e emseguida avaliar o caminho mais curto entre os pontos finais do serviccedilo Nesse passo eacutepossiacutevel introduzir os aspectos de engenharia de traacutefego [Davoli et al 2015] Finalmenteo script aloca os roacutetulos MPLS e usa a API REST do controlador Openflow para definiras regras para o encaminhamento de pacotes e a comutaccedilatildeo de roacutetulos MPLS

A arquitetura do noacute OSHI permite natildeo somente a criaccedilatildeo dos serviccedilos de Pseudo-fio mas tambeacutem de comutadores virtuais O comutador OpenFlow suporta a inserccedilatildeo eretirada de roacutetulos enquanto o ACE (Access Encapsulator) provecirc o tuacutenel GRE O ACEeacute implementado como uma nova instacircncia do Open vSwitch utilizando duas funccedilotildees devirtualizaccedilatildeo espaccedilo de nomes de redes e pares de portas Ethernet virtuais

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo de Pseudo-fioque pode ser executado atraveacutes da linha de comando ou da interface graacutefica Mantoo

Passo 1 Execuccedilatildeo do script de carga da topologia de um serviccedilo Pseudo-fio atraveacutes doMininet ou da interface graacutefica

Passo 2 Realizaccedilatildeo de testes de conectividade e captura de pacotes com farejadores derede

Passo 3 Acesso remoto ao controlador e verificaccedilatildeo das saiacutedas dos scriptsPasso 4 Teste da conectividade entre os roteadores clientesPasso 5 Configuraccedilatildeo dos circuitos virtuaisPasso 6 Criaccedilatildeo dos circuitos virtuaisPasso 7 Teste da conectividade (Passo 4) e verificaccedilatildeo dos serviccedilos operacionaisPasso 8 Remoccedilatildeo dos circuitos virtuais

555 Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos

Considerando o exemplo de rede MPLS da Figura 549 o roteamento por segmen-tos eacute baseado na inserccedilatildeo retirada e comutaccedilatildeo de roacutetulos que representam os segmentosNa figura o noacute C e F anunciam seus segmentos globais 69 e 90 com os endereccedilos desuas interfaces loopback para os outros noacutes atraveacutes do IGP Jaacute o noacute E anuncia o roacutetulo 23como segmento de adjacecircncia Dessa forma se o noacute A enviar um pacote para F ele devecriar uma lista de segmentos contendo os segmentos 90 23 69 Os segmentos AC eEF correspondem aos menores caminhos de A para C e de E para F e por conseguintedevem ser os caminhos encontrados pelo IGP para alcanccedilar o destino

Figura 549 Caso de uso de roteamento por segmentos simplificado

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

O projeto de rede com noacutes OSHI pode acomodar o roteamento por segmentosgraccedilas agrave caracteriacutestica hiacutebrida IPSDN da arquitetura do noacute Algumas premissas foramconsideradas no ajuste da ferramenta para roteamento por segmentos os segmentos uti-lizam roacutetulos MPLS segmentos locais natildeo satildeo suportados satildeo utilizados os 16 bits maissignificativos agrave direita correspondente agrave interface ldquoloopbackrdquo para codificar o roacutetulo cadainterface OSHI em um noacute tem o mesmo endereccedilo fiacutesico e existe um mapeamento estaacuteticode MAC entre os noacutes OSHI usados para roteamento por segmentos A accedilatildeo de retiradado roacutetulo ocorre no uacuteltimo noacute OSHI e natildeo no penuacuteltimo noacute Como na ferramenta natildeoexiste um plano de dados e de controle MPLS este pode ser replicado utilizando tabelasOpenFlow e o uso de comutadores habilitadas com OpenFlow

A seguir satildeo enumerados os passos para a criaccedilatildeo de um serviccedilo VLL

Neste exemplo uma topologia gerada pela interface graacutefica eacute analisada e um con-junto de fluxos eacute extraiacutedo para em seguida permitir a alocaccedilatildeo de segmentos

Passo 1 Verificaccedilatildeo das extensotildees do roteamento por segmentos do MininetPasso 2 Carregamento da topologia na interface graacuteficaPasso 3 Implantaccedilatildeo da topologiaPasso 4 Identificaccedilatildeo do endereccedilo IP do controlador e execuccedilatildeo do script de implanta-

ccedilatildeoPasso 5 Geraccedilatildeo de um cataacutelogo de fluxos para ser manuseado pelo algoritmo de aloca-

ccedilatildeo de roteamento por segmentosPasso 6 Execuccedilatildeo do algoritmo de roteamento por segmentos a partir da interface graacutefica

do OSHIPasso 7 Execuccedilatildeo do projetoPasso 8 Execuccedilatildeo do aplicativo sr_vll_pusherPasso 9 Realizaccedilatildeo dos testes de conectividade no VLLPasso 10 Remoccedilatildeo dos circuitos virtuais e teacutermino da emulaccedilatildeo do Mininet

556 Engenharia de Traacutefego atraveacutes do OSHI-TE

Para implementaccedilatildeo de engenharia de traacutefego a ferramenta OSHI utiliza um apli-cativo que influencia as decisotildees do controlador Ryu atraveacutes de uma API REST Na en-trada eacute necessaacuterio um arquivo de configuraccedilatildeo no formato JSON que descreve as relaccedilotildeesdo traacutefego enquanto que a topologia e capacidade dos enlaces satildeo obtidas da API RESTdo moacutedulo de topologia e do moacutedulo do comutador habilitado com OpenFlow que provecirca topologia e velocidade das portas A implementaccedilatildeo do TE eacute dividida em trecircs partes aobtenccedilatildeo das entradas algoritmos baseados em heuriacutesticas e a instalaccedilatildeo de regras O uacutel-timo passo eacute alcanccedilado pela API REST que permite implantar as regras nos comutadoresOpenFlow

56 Consideraccedilotildees Finais e Direccedilotildees FuturasO roteamento por segmentos eacute uma proposta emergente para simplificaccedilatildeo do

roteamento e da configuraccedilatildeo das redes das operadoras de telecomunicaccedilotildees No Rote-amento por Segmentos os estados por fluxo satildeo mantidos apenas nos noacutes de borda darede e a configuraccedilatildeo das redes de nuacutecleo pode se tornar automatizada Para tal o Ro-teamento por Segmentos utiliza os benefiacutecios da programaccedilatildeo das redes definidas por

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

software atraveacutes da centralizaccedilatildeo do plano de controle A visatildeo centralizada do contro-lador permite o caacutelculo dinacircmico dos segmentos e a construccedilatildeo de rotas entre os noacutes deborda [Sgambelluri et al 2015b]

O roteamento por segmentos tende futuramente a ser aplicado em redes de trans-porte oacutepticas com GMPLS que utilizam instacircncias hieraacuterquicas de sessotildees de sinaliza-ccedilotildees Tais sessotildees de sinalizaccedilatildeo devem ser estabelecidas tambeacutem nos noacutes de tracircnsitodas redes de transporte oacutepticas tendo como consequecircncia uma implementaccedilatildeo complexado plano de controle O roteamento por segmentos tem grande potencial de integraccedilatildeoentre as camadas de rede de transporte oacuteptica e de roteadores de nuacutecleo permitindoa convergecircncia IP e oacuteptica [Sgambelluri et al 2015a] e consequentemente proporcio-nando inuacutemeros benefiacutecios para a operadora de telecomunicaccedilotildees Dentre os benefiacuteciosestatildeo o uso racional e otimizado da capacidade da rede com proteccedilatildeo e restauraccedilatildeo deacordo com de niacuteveis de serviccedilo diferenciados por fluxo de dados Outras direccedilotildees fu-turas indicam a aplicaccedilatildeo do conceito de roteamento por segmentos em redes CarrierEthernet [Cai et al 2014 Bidkar et al 2014] atraveacutes da adiccedilatildeo de roacutetulos com os seg-mentos no quadro Ethernet (ldquoOminipresent Ethernetrdquo) Outras propostas de implemen-taccedilatildeo do roteamento por segmentos em redes Carrier Ethernet satildeo atraveacutes do MPLS-TP(MPLS Transport Profile) que permite um uso misto em redes Carrier Ethernet baseadasem comutadores metro Ethernet e redes oacutepticas de transporte ou atraveacutes do uso do en-capsulamento do Ethernet com MPLS O roteamento por segmentos ainda possui pontosem desenvolvimento como questotildees de seguranccedila nas extensotildees do cabeccedilalho IPv6 bemcomo integraccedilatildeo com outras tecnologias como por exemplo em virtualizaccedilatildeo de funccedilotildeesde redes Nessa uacuteltima o roteamento por segmentos eacute usado para transportar a informa-ccedilatildeo da cadeia de serviccedilos interoperando com o cabeccedilalho de serviccedilos de rede que aindaestaacute em curso de padronizaccedilatildeo

Referecircncias[Adrian et al 2015] Adrian G Vasileios K e Xenofontas D (2015) Evaluating the

effect of centralization on routing convergence on a hybrid bgp-sdn emulation fra-mework Computer communication review 44369ndash370

[Alvarez 2016] Alvarez S (2016) BRKMPL-2100 - deploying MPLS traffic en-gineering Acessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=7818ampbackBtn=true

[Andreas et al 2015] Andreas B Arsany B Martin R e Wolfgang K (2015) Surveyon network virtualization hypervisors for software defined networking IEEE Commu-nications Surveys and Tutorials 18655ndash685

[Asati 2012] Asati R (2012) BRKIPM-2017 - designing IPMPLS VPN networksAcessado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=2636ampbackBtn=true

[Bhatia et al 2015] Bhatia R Hao F Kodialam M e Lakshman T (2015) Optimizednetwork traffic engineering using segment routing Em IEEE Conference on ComputerCommunications (INFOCOM) p 657ndash665

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

[Bidkar et al 2014] Bidkar S Gumaste A Ghodasara P Hote S Kushwaha APatil G Sonnis S Ambasta R Nayak B e Agrawal P (2014) Field trial of asoftware defined network (SDN) using carrier ethernet and segment routing in a tier-1provider Em IEEE Global Communications Conference (GLOBECOM) p 2166ndash2172

[Bierman et al 2015] Bierman A Bjorklund M e Watsen K (2015) RESTCONFProtocol httpstoolsietforghtmldraft-ietf-netconf-restconf-09

[Cai et al 2014] Cai D Wielosz A e Wei S (2014) Evolve Carrier Ethernet archi-tecture with SDN and segment routing Em IEEE International Symposium on a Worldof Wireless Mobile and Multimedia Networks (WoWMoM) p 1ndash6

[Casado et al 2014] Casado M Foster N e Guha A (2014) Abstractions for softwaredefined networks Communications of the ACM 5786ndash95

[Casellas et al 2015] Casellas R Munoz R Martinez R Vilalta R Liu L Tsuri-tani T Morita I Lopez V de Dios O G e Fernandez-Palacios J P (2015) SDNorchestration of openflow and GMPLS flexi-grid networks with a stateful hierarchicalPCE IEEE Communications Magazine 7106ndash117

[Civanlar et al 2015] Civanlar S Lokman E Kaytaz B e Tekalp A M (2015) Dis-tributed management of service-enabled flow-paths across multiple sdn domains IEEENetworks and Communications (EuCNC) 2015 European Conference on p 360ndash364

[Davoli et al 2015] Davoli L Veltri L Ventre P L Siracusano G e Salsano S(2015) Traffic engineering with segment routing SDN-based architectural design andopen source implementation Em European Workshop on Software Defined Networks(EWSDN) p 111ndash112

[De Ghein 2007] De Ghein L (2007) MPLS Fundamentals - A Comprehensive Intro-duction to MPLS Theory and Practice Cisco Press 1 ediccedilatildeo

[development team 2016] development team R (2016) Ryu Documentation Release41 httpsmediareadthedocsorgpdfryulatestryupdf

[El-Sayed e Jaffe 2002] El-Sayed M e Jaffe J (2002) A view of telecommunicationsnetwork evolution IEEE Communications Magazine 4074ndash81

[Farrel 2006] Farrel A (2006) Introduction to the Path Computation ElementhttpswwwituintITU-worksemngn200604presentations4_farrellpdf

[Feamster et al 2004] Feamster N Balakrishnan H Rexford J Shaikh A e van derMerwe J (2004) The case for separating routing from routers Proceedings of theACM SIGCOMM workshop on Future directions in network architecture p 5ndash12

[Filsfils et al 2015] Filsfils C Previdi S Bashandy A Decraene B LitkowskiS Horneffer M Milojevic I Shakir R Telecom B Ytti S HenderickxW Tantsura J e Crabbe E (2015) Segment Routing interoperability withLDP httpswwwietforgarchiveiddraft-filsfils-spring-segment-routing-ldp-interop-03txt

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

[Francois et al 2015] Francois P Filsfils C Bashandy A Decraene B e Lit-kowski S (2015) Topology Independent Fast Reroute using Segment Routinghttpswwwietforgarchiveiddraft-francois-spring-segment-routing-ti-lfa-02txt

[Gude et al 2016] Gude N Koponen T Pettit J Pfaff B Casado M McKe-own N e Shenker S (2016) NOX Towards an operating system for networkshttpwwwcsyaleeduhomesjfnoxpdf

[Haleplidis et al 2015] Haleplidis E Hadi Salim J Denazis S e Koufopavlou O(2015) Towards a network abstraction model for SDN Computer Communications32309ndash327

[Hodzic e Zoric 2008] Hodzic H e Zoric S (2008) Traffic engineering with constraintbased routing in MPLS networks Em International Symposium ELMAR p 269ndash272

[Hu et al 2014] Hu F Hao Q e Bao K (2014) A survey on software-defined networkand openflow From concept to implementation IEEE Communications Surveys ampTutorials 162181 ndash2206

[Huang et al 2014] Huang S Griffioen J e Calvert K L (2014) Network hypervi-sors Enhancing sdn infrastructure Computer Communications 4687ndash96

[IETF MPLS documents 2001] IETF MPLS documents (2001) MPLS IETFWG Acessado em fev2016 httpsdatatrackerietforgwgmplsdocuments

[ISOIEC 232712012 2012] ISOIEC 232712012 (2012) Information techno-logy ndash Common Language Infrastructure (CLI) Acessado em mar2016 httpwwwisoorgisohomestorecatalogue_icscatalogue_detail_icshtmcsnumber=58046

[J 2011] J K (2011) The GMPLS controlled optical networks as industry communi-cation platform IEEE Transactions on Industrial Informatics 7671ndash678

[Je e Ly 2012] Je B e Ly O (2012) Next-generation optical network architecture andmultidomain issues Proceedings of the IEEE 1001130ndash1139

[Jingjing et al 2014] Jingjing Z Di C Weiming W Rong J e Xiaochun W (2014)The deployment of routing protocols in distributed control plane of sdn The ScientificWorld Journal 441ndash8

[Kaur et al 2016] Kaur S Singh J e Ghumman N S (2016) Network programma-bility using POX controller httpwwwsbsstcacinicccs2014PapersPaper28pdf

[Kreutz et al 2015] Kreutz D Ramos F M V Veriacutessimo P E Rothenberg C EAzodolmolky S e Uhlig S (2015) Software-defined networking A comprehensivesurvey Proceedings of the IEEE 10314ndash76

[Lara et al 2014] Lara A Kolasani A e Ramamurthy B (2014) Network innovationusing openflow A survey IEEE Communications Survey amp Tutorials 16493ndash512

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

[Marzo et al 2003] Marzo J L Calle E Scoglio C e Anjah T (2003) QoS onlinerouting and MPLS multilevel protection a survey IEEE Communications Magazine41126ndash132

[Matias et al 2015] Matias J Garay J Toledo N Unzilla J e Jacob E (2015)Toward an SDN-enabled NFV architecture IEEE Communications Magazine 53187ndash193

[Medved et al 2014] Medved J Varga R Tkacik A e Gray K (2014) OpendaylightTowards a model-driven SDN controller architecture volume 46 p 1ndash6

[Mininet 2015] Mininet (2015) Mininet tutorial Aces-sado em httpsgithubcommininetmininetwikiTeaching-and-Learning-with-Mininet

[Nunes et al 2014] Nunes B Antipolis S Mendonca M Nguyen X N e ObraczkaK (2014) A survey of software-defined networking Past present and future ofprogrammable networks IEEE Communications Surveys amp Tutorials 161617ndash1634

[Nwa et al 2010] Nwa S Ju L Martin R e Phil S (2010) Automating networkand service configuration using netconf and yang IEEE Communications Magazine48166ndash173

[Osborne e Simha 2002] Osborne E e Simha A (2002) Traffic Engineering withMPLS Cisco Press 2 ediccedilatildeo

[OSHI 2015] OSHI (2015) OSHI - open source hybrid IPSDN tutorial Acessado emhttpnetgroupuniroma2itOSHI

[OSHI e Mininet 2015] OSHI e Mininet (2015) OSHI - open source hybridIPSDN networking and its emulation on Mininet and on distributed SDN test-beds Acessado em htttpnetgroupuniroma2ittwikibinviewOshiWebHomeAnchorSegRouting

[Paolucci et al 2013] Paolucci F Cugini F Giorgetti A Sambo N e Castoldi P(2013) A survey on the path computation element (PCE) architecture IEEE Commu-nications Surveys amp Tutorials 151819ndash1841

[Pepelnjak e Guichard 2003] Pepelnjak I e Guichard J (2003) MPLS and VPN archi-tectures volume 1 Cisco Press

[Pingping et al 2015] Pingping L Jun B Stephen W Yangyang W Anmin XZe C Hongyu H Yikai L e Pingping L (2015) A west-east bridge based sdninter-domain testbed IEEE Communications Magazine 53190ndash197

[Previdi et al 2015a] Previdi S Filsfils C Bashandy A Gredler H LitkowskiS Decraene B e Tantsura J (2015a) IS-IS Extensions for Segment Routinghttpstoolsietforghtmldraft-ietf-isis-segment-routing-extensions-06

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

[Previdi et al 2015b] Previdi S Filsfils C Field B Leung I Linkova J Aries Ean E Vyncke T K e Lebrun D (2015b) IPv6 Segment Routing Header (SRH)httpswwwietforgarchiveiddraft-previdi-6man-segment-routing-header-08txt

[RFC1157 1990] RFC1157 (1990) A Simple Network Management Protocol(SNMP) Acessado em mar2016 httpwwwietforgrfcrfc1157txtnumber=1157

[RFC5440 2009] RFC5440 (2009) Path Computation Element (PCE) CommunicationProtocol (PCEP) Acessado em mar2016 httpstoolsietforghtmlrfc5440

[RFC6020 2010] RFC6020 (2010) YANG - a data modeling language for the networkconfiguration protocol (NETCONF) Acessado em mar2016 httpstoolsietforghtmlrfc6020

[RFC6241 2011] RFC6241 (2011) Network Configuration Protocol (NETCONF)Acessado em mar2016 httpstoolsietforghtmlrfc6241

[RFC7047 2013] RFC7047 (2013) The Open vSwitch Database Management ProtocolAcessado em mar2016 httpstoolsietforghtmlrfc7047

[RFC7752 2016a] RFC7752 (2016a) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP) Acessado em mar2016 httpswwwrfc-editororgrfcpdfrfcrfc7752txtpdf

[RFC7752 2016b] RFC7752 (2016b) North-Bound Distribution of Link-State and Traf-fic Engineering (TE) Information Using BGP httpsdatatrackerietforgdocrfc7752

[Rose 2014] Rose E (2014) BRKMPL-1101 - understanding MPLS Aces-sado em fev2016 httpswwwciscolivecomonlineconnectsessionDetailwwSESSION_ID=77795ampbackBtn=true

[Rothenberg et al 2011] Rothenberg C E Nascimento M R Salvador M R e Ma-galhatildees M F (2011) Openflow e redes definidas por software um novo paradigmade controle e inovaccedilatildeo em redes de pacotes Cad CPqD Tecnologia 765ndash76

[Rowshanrad et al 2014] Rowshanrad S Namvarasl S Abdi V Hajizadeh M eKeshtgary M (2014) A survey on SDN the future of networking Journal of Ad-vanced Computer Science amp Technology 3232ndash248

[Sadok e Kamienski 2000] Sadok D e Kamienski C A (2000) Qualidade de serviccedilona internet Em Minicursos do XVIII Simpoacutesio Brasileiro de Redes de Computadorese Sistemas Distribuiacutedos p 4ndash44

[Salsano et al 2014a] Salsano S Pier Ventre L Prete L Siracusano G Gerola MSalvadori E Santuari M Mauro Campanella e Prete L (2014a) OSHI - opensource hybrid IPSDN networking and Mantoo - management tools for SDN experi-ments Em European Workshop on Software Defined Networks (EWSDN) p 123ndash124

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras

[Salsano et al 2014b] Salsano S Ventre P L Prete L Siracusano G Gerola M eSalvadori E (2014b) OSHI - open source hybrid IPSDN networking (and its emula-tion on mininet and on distributed SDN testbeds) Em European Workshop on SoftwareDefined Networks (EWSDN) p 13ndash18

[Santos et al 2007] Santos C B Fernandes D C e Marchetti B R B (2007) Tu-toriais TELECO MPLS Re-roteamento dinacircmico em redes IP utilizando network si-mulator Acessado em fev2016 httpwwwtelecocombrtutoriaistutorialmplsrddefaultasp

[Scott-Hayward 2015] Scott-Hayward S (2015) Design and deployment of securerobust and resilient sdn controllers Em IEEE Network Softwarization (NetSoft) 20151st IEEE Conference on p 1ndash5

[Sgambelluri et al 2015a] Sgambelluri A Giorgetti1 A Cugini F Bruno G Laz-zeri F e Castoldi P (2015a) First demonstration of SDN-based segment routing inmulti-layer networks Em Optical Fiber Communications Conference and Exhibition(OFC) p 1ndash3

[Sgambelluri et al 2015b] Sgambelluri A Paolucci F Giorgetti A Cugini F eCastoldi P (2015b) Experimental demonstration of segment routing Journal ofLightwave Technology PP1ndash1

[SPRING 2015] SPRING (2015) Source packet routing in networking(SPRING) Acessado em httpsdatatrackerietforgwgspringdocuments

[Stancu et al 2015] Stancu A L Halunga S Vulpe A Suciu G Fratu O e Popo-vici E C (2015) A comparison between several software defined networking con-trollers Telecommunication in Modern Satellite Cable and Broadcasting Services(TELSIKS) 2015 12th International Conference on p 223ndash226

[Systems 2001] Systems C (2001) Implementing MPLS traffic engineeringAcessado em fev2016 httpwwwciscocomcenustddocsrouterscrssoftwarecrs_r3-mplsconfigurationguidegc39crs1book_chapter4html

[Telcordia GR-831 1996] Telcordia GR-831 (1996) Operations Application Mes-sages - Language For Operations Application Messages Acessado em mar2016httptelecom-infotelcordiacomsite-cgiidodocscgiID=SEARCHampDOCUMENT=GR-831amp

[Xia et al 2015] Xia W Wen Y Foh C Niyto D e Xie H (2015) A survey onsoftware-defined networking IEEE Communications Surveys amp Tutorials 1727ndash51

[Xiao et al 2000] Xiao X Hannan A Bailey B e Ni L M (2000) Traffic enginee-ring with MPLS in the internet IEEE Network 1428ndash33

[Xiea et al 2015] Xiea J Guo D Hua Z Qua T e Lvb P (2015) Control plane ofsoftware defined networks A survey Computer communications 671ndash10

  • Introduccedilatildeo
  • Limitaccedilotildees das Tecnologias das Redes de Nuacutecleo
    • Fundamentos do MPLS
    • Arquitetura de Redes IPMPLS
    • Serviccedilos de Rede IPMPLS
    • QoS Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
    • Desafios para Engenharia de Traacutefego e Restauraccedilatildeo em Redes IPMPLS
      • Conceitos de Redes Definidas por Software
        • Arquitetura e Desenvolvimento da SDN
        • Plano de Dados
          • Infraestrutura de Rede
          • Interfaces Southbound NETCONF PCEP BGP-LS OpenFlow e outros
            • Plano de Controle
              • Controladores SDN Opendaylight ONOS e outros
              • Elemento de Computaccedilatildeo ndash PCE
              • Interfaces Northbound REST RESTFUL NETCONF e outros
                • Plano de Gerenciamento
                  • Aplicaccedilotildees de Rede
                  • Roteamento como serviccedilo Routeflow e RCP
                      • Roteamento por Segmentos
                        • Conceitos preliminares
                        • Plano de dados MPLS e IPv6
                        • Bloco Global de Roteamento por Segmentos (SRGB)
                        • Plano de controle IGP do Roteamento por Segmentos IS-IS e OSPF
                        • Coexistecircncia do Roteamento por Segmentos e LDP
                        • Servidor de Mapeamento
                        • Interoperabilidade entre Roteamento por Segmentos e o protocolo LDP
                        • Mecanismo de proteccedilatildeo - Topology Independent LFA (TI-LFA)
                        • Aplicaccedilotildees em Roteamento por Segmentos
                        • Padronizaccedilatildeo IETF
                          • Experimentaccedilatildeo Praacutetica
                            • Introduccedilatildeo ao Mininet
                            • Construccedilatildeo de uma rede simples com roteamento no Mininet
                            • Open Source Hybrid IPSDN Networking
                            • Criaccedilatildeo de um serviccedilo MPLS atraveacutes da ferramenta OSHI-TE
                            • Criaccedilatildeo de um serviccedilo em rede MPLS-TE com roteamento por segmentos
                            • Engenharia de Traacutefego atraveacutes do OSHI-TE
                              • Consideraccedilotildees Finais e Direccedilotildees Futuras