• Nenhum resultado encontrado

Redes MPLS Fundamentos e Aplicações

N/A
N/A
Protected

Academic year: 2021

Share "Redes MPLS Fundamentos e Aplicações"

Copied!
233
0
0

Texto

(1)
(2)
(3)
(4)

Todos os direitos reservados. Nenhuma parte deste livro poderá ser reproduzida, sob qualquer meio, especialmente em fotocópia (xerox), sem a permissão, por escrito, da Editora.

Editor: Sergio Martins de Oliveira Diretora: Rosa Maria Oliveira de Queiroz

Gerente de Produção Editorial: Marina dos Anjos Martins de Oliveira Revisão de Texto: Maria Helena dos Anjos Martins de Oliveira Editoração Eletrônica: Ingrafoto Produções Gráficas (Michelle Paula) Capa: Ingrafoto Produções Gráficas (Rebeca Baroni)

Projeto Gráfica: Ingrafoto Produções Gráficas (Alexandra Mattos) Produção de ebook: S2 Books

Técnica e muita atenção foram empregadas na produção deste livro. Porém, erros de digitação e/ou impressão podem ocorrer. Qualquer dúvida, inclusive de conceito, solicitamos enviar mensagem para editorial@brasport.com.br, para que nossa equipe, juntamente com o autor, possa esclarecer. A Brasport e o(s) autor(es) não assumem qualquer responsabilidade por eventuais danos ou perdas a pessoas ou bens, originados do uso deste livro.

BRASPORT Livros e Multimídia Ltda. Rua Pardal Mallet, 23 – Tijuca

20270-280 Rio de Janeiro-RJ Tels. Fax: (21)2568.1415/2568.1507 e-mails: marketing@brasport.com.br vendas@brasport.com.br editorial@brasport.com.br site: www.brasport.com.br Filial SP

Av. Paulista, 807 – conj. 915 01311-100 São Paulo-SP Tel. Fax (11): 3287.1752

(5)
(6)

A crescente demanda de tráfego e o dinamismo do mercado de Redes de Computadores, necessitando a cada dia de maior integração entre serviços (voz, vídeo e dados), fazem com que os provedores de acesso à Internet (ISPs – Internet

Service Providers) estejam sempre em constante atualização tecnológica. É

funda-mental acompanhar as tendências do mercado, com o objetivo de entregar sem-pre a melhor tecnologia para o cliente, com isto provendo uma boa qualidade nos serviços ofertados.

A tecnologia MPLS (MultiProtocol Label Switching) é indicada para prover evolução, otimização e flexibilidade ao núcleo da rede que une vários enlaces de alta velocidade (backbones) atuais, mostrando-se como uma tecnologia emer-gente a ser empregada nos provedores de acesso à Internet.

Este livro apresenta a tecnologia MPLS, desde seus fundamentos às suas aplicações. São apresentados os benefícios obtidos com sua utilização, propician-do flexibilidade e otimização, deixanpropician-do o backbone propician-dos ISPs muito mais eficientes devido à capacidade de efetuar o roteamento dos pacotes baseado em rótulos, acelerando o processo de transmissão das informações e provendo alguns servi-ços agregados, tais como: VPNs (Virtual Private Networks), TE (Traffic Engineering), PseudoWire e QoS (Quality of Service).

São tratados aspectos relacionados ao protocolo IPv6, novo protocolo da Internet e base para todos os backbones futuros, são descritas as características fundamentais deste protocolo, assim como algumas arquiteturas IPv6 utilizadas para o seu transporte em um backbone MPLS.

O emulador de domínio público GNS3 foi utilizado para simulação das aplicações MPLS, permitindo um melhor entendimento dos conceitos apresentados.

(7)

No website https://sites.google.com/a/cin.ufpe.br/mpls-brasport/ o leitor pode encontrar material suplementar que acompanha este texto, incluindo ma-terial didático, referências para atualizações, ponteiros para fabricantes de equi-pamentos MPLS, etc. Os autores fizeram o máximo esforço para oferecer um texto amigável, preciso e atualizado. Comentários, críticas e sugestões são bem-vindos. Contate-nos via e-mail.

Boa leitura.

José Mário Oliveira (joseo_br@yahoo.com.br) Rafael Dueire Lins (rdl@cin.ufpe.br)

(8)

Lista de Acrônimos

AAL ATM Adaptation Layer

ADSL Asymmetric Digital Subscriber Line

AF Assured Forwarding

AS Automonous System

ASIC Application-Specific Integrated Circuit

ASON Automatically Switched Optical Network ATM Asynchronous Transfer Mode

BGP Border Gateway Protocol

BoS Bottom of Stack

CBWFQ Class-Based Weighted Fair Queuing

CE Customer Edge

CEF Cisco Express Forwarding

CIDR Classless Inter-Domain Routing

CQ Custom Queuing

CSPF Constrained Shortest Path First

CU Currently Unused

DiffServ Differentiated Services

DLCI Data Link Connection Identifier

DS Differentiated Service DSCP DiffServ Code Point

eBGP external BGP

ECPM Equal-Cost Multipath

EF Expedited Forwarding

EGP Exterior Gateway Protocol

EIGRP Enhanced Interior Gateway Routing Protocol

EXP Experimental Bits

FEC Forwarding Equivalent Class

FIB Forwarding Information Base

(9)

FQ Fair Queuing

FR Frame Relay

FRR Fast Reroute

GRE Generic Routing Encapsulation

GTS Generic Traffic Shaping

HDLC High Level Data Link Control

IANA Internet Assigned Numbers Authority

iBGP internal BGP

ICMP Internet Control Message Protocol

IETF Internet Engineering Task Force

IGP Interior Gateway Protocol

IGRP Interior Gateway Routing Protocol

IOS Internetwork Operation System

IP Internet Protocol

IPSec IP Security Protocol

IS-IS Intermediate System to Intermediate System

ISO International Organization for Standardization

ISP Internet Service Provider

LAN Local Area Network

LDP Label Distribution Protocol

LER Label Edge Router

LFIB Label Forwarding Information Base

LIB Label Information Base

LLQ Low Latency Queuing

LMI Local Management Interface

LSA Link-State Advertisement

LSP Label Switched Path

LSR Label Switch Router

L2TP Layer 2 Tunneling Protocol

MPB-GP MultiProtocol BGP

MPLS MultiProtocol Label Switching

MTU Maximum Transfer Unit

NSAP Network Service Access Point

OID Object IDentifier

OSI Open Systems Interconnection

OSPF Open Shortest Path First

P Provider

(10)

PDU Protocol Data Unit

PE Provider Edge

PHB Per-Hop Behavior

PHP Penultimate Hop Popping

PLR Point of Local Repair

POP Point of Presence

POS Packet Over SONET

PPP Point-to-Point Protocol

PQ Priority Queuing

PW PseudoWire

QoS Quality of Service

RD Router Distinguisher

RED Random Early Detection

RFC Request For Comments

RIP Routing Information Protocol

RSVP Resource reSerVation Protocol

RT Route Target

SDH Synchronous Digital Hierarchy

SLA Service Level Agreement

SNMP Simple Network Management Protocol

SONET Synchronous Optical NETworking

SPF Shortest Path First

STM Synchronous Transport Module

TCP Transmission Control Protocol

TDM Time Division Multiplexing

TE Traffic Engineering

TLV Type-Length-Variable

ToS Type of Service

TTL Time To Live

UDP User Datagram Protocol

UNI User Network Interface

VC Virtual Circuit/Channel

VLAN Virtual Local Area Network

VLSM Variable Length Subnet Mask

VoIP Voice over IP

VCI Virtual Circuit Identifier

VPI Virtual Path Identifier

(11)

VRF Virtual Routing and Forwarding

WAN Wide Area Network

WDM Wavelength Division Multiplexing

WFQ Weighted Fair Queuing

(12)

S umário

Introdução ...1

Organização do livro ... 2

Capítulo 1. Conceitos Fundamentais ... 5

1.1 – Redes IPs ... 5 1.2 – O protocolo IPv4 ... 6 1.3 – Comutação e roteamento ...12 1.4 – Protocolos de roteamento ...15 1.4.1 – O protocolo OSPF ...21 1.4.2 – O protocolo IS-IS ...23 1.4.3 – O protocolo BGP ...24

Capítulo 2. A Arquitetura IP sobre MPLS ... 25

2.1 – Surgimento da tecnologia ...25

2.2 – Roteamento convencional x baseado em rótulos ...26

2.3 – O cabeçalho MPLS ...29 2.4 – Estrutura do MPLS ...32 2.5 – Componentes da arquitetura ...33 2.6 – Funcionamento ...38 2.7 – Vantagens do MPLS ...41 2.8 – Desvantagens do MPLS ...42 Capítulo 3. MPLS – VPN ...43 3.1 – VPN – Conceitos ...43 3.2 – Tipos de VPN ...45 3.3 – Modelos de VPN ...48 3.3.1 – O modelo overlay ...48 3.3.2 – O modelo par-a-par ...50

(13)

3.4 – Arquitetura MPLS VPN ...51

3.5 – Propagação de rotas VPNv4 no backbone VPN MPLS ...55

Capítulo 4. PseudoWire MPLS ... 58

4.1 – PseudoWire – Conceito ...58

4.2 – Modelo de referência PseudoWire ...60

4.3 – Terminologias do PseudoWire ...60

4.4 – Como o PseudoWire trabalha ...61

4.5 – Benefícios do PseudoWire ...63

Capítulo 5. Qualidade de Serviço (QoS) com MPLS ... 64

5.1 – Fundamentos do QoS ...64

5.2 – Arquiteturas de QoS...65

5.2.1 – Serviços integrados (IntServ) ...65

5.2.2 – Serviços diferenciados (DiffServ) ...67

5.3 – Mecanismos de QoS ...71

5.4 – Qualidade de serviços nas redes MPLS ...81

Capítulo 6. Engenharia de Tráfego com MPLS ... 85

6.1 – Conceitos fundamentais ...85

6.2 – A engenharia de tráfego sobre MPLS ...87

6.3 – Extensões do OSPF para TE ...89

6.4 – Extensões do IS-IS para TE ...91

6.5 – Protocolo RSVP-TE ...91

6.6 – Operação do MPLS-TE ...92

6.7 – Atributos de túneis MPLS-TE ...93

6.8 – Proteção e restauração – FRR ...93

6.9 – GMPLS ...94

Capítulo 7. IPv6 sobre MPLS ... 96

7.1 – O protocolo IPv6 ...96

7.2 – Endereçamento IPv6 ... 101

7.3 – Transporte IPv6 sobre um backbone MPLS ... 103

7.3.1 – Técnica 6PE ... 104

(14)

Capítulo 8. Implementando Redes MPLS ... 108

8.1 – A ferramenta de simulação dos ambientes ... 108

8.2 – Topologia de base utilizada ... 110

8.2.1 – Recursos utilizados ... 111

8.3 – Escolha do protocolo IGP/EGP e esquema de endereçamento IP ... 112

8.3.1 – Protocolo IS-IS – endereços NSAP ... 112

8.3.2 – Protocolo IS-IS – áreas ... 113

8.3.3 – Protocolo BGP ... 113

8.3.4 – Definição do sistema autônomo ... 114

8.3.5 – Configuração do MP-iBGP ... 114

8.3.6 – Configuração geral do BGP ... 114

8.3.7 – Configuração do Address Family VPNv4 ... 115

8.4 – Testes realizados e observações ... 115

8.4.1 – Comportamento básico do MPLS ... 115

8.4.2 – Configurações ... 117

8.4.3 – Verificações e testes de conectividade ... 119

8.4.4 – PseudoWire MPLS ... 124

8.4.5 – MPLS VPN ... 133

8.4.6 – QoS no MPLS ... 145

8.4.7 – Engenharia de tráfego com MPLS ... 151

8.5 – IPv6 sobre MPLS ... 161

Referências Bibliográficas ... 167

Apêndice A. Configurações – Funcionamento do MPLS ... 173

Apêndice B. Verificação – PseudoWire ... 177

Apêndice C. Configurações – MPLS-VPN ... 179

Apêndice D. Configurações – MPLS – QoS ... 188

Apêndice E. Configurações – Engenharia de Tráfego ... 201

Apêndice F. Configurações – IPv6... 209

(15)

Novas tecnologias estão sendo constantemente desenvolvidas para aten-der às demandas causadas pelo aumento da utilização da Internet, assim como um aumento das exigências por serviços de comunicação de dados, capazes de integrar dados, voz e imagem com qualidade de serviço e segurança.

Os canais troncos utilizados no tráfego em grande volume e velocidade são conhecidos como backbones. Apesar da complexidade de muitos

backbo-nes atuais, a robustez e confiabilidade são uma evidência de um grande avanço

no desenvolvimento das tecnologias de redes espalhadas geograficamente, co-nhecidas pelo acrônimo de WAN (Wide Area Network), assim como da adoção de uma metodologia de consenso em relação a aspectos de projeto por parte dos desenvolvedores.

Combinando o processo de roteamento de nível 3 com a comutação sobre a camada 2, de acordo com o modelo de referência OSI (Open Systems

Interconnection), a arquitetura IP (Internet Protocol) sobre MPLS (MultiProtocol Label Switching) oferece maior possibilidade de gerenciamento e engenharia de

tráfego, reduzindo o processamento necessário para realizar o roteamento de datagramas de rede. Essa tecnologia vem crescendo bastante e ganhando for-ça como alternativa à combinação do protocolo IP sobre tecnologias de camada 2, tais como: Ethernet, Asynchronous Transfer Mode ( ATM) e Frame Relay, sendo largamente oferecida no mercado, de maneira que a demanda se intensificou e vem estimulando os clientes a solicitar tais serviços, não se tratando de mera oportunidade de negócio, mas de requisito imprescindível para atendimento das demandas dos clientes atuais.

O acompanhamento e a adaptação às mudanças tecnológicas que surgem e que se firmam em um cenário global são essenciais para que os provedores se mantenham presentes na disputa por novos clientes. Em backbones modernos, o uso da tecnologia MPLS traz grandes benefícios, evitando a complexidade de tec-nologias de camada 2, que provocam problemas de escalabilidade, desempenho e administração. O MPLS também possibilita o uso de aplicações convergentes,

(16)

o que o torna bastante atrativo para o mercado atual, que procura soluções que possibilitem a implementação de redes práticas, econômicas e interoperáveis. É importante também salientar que a tecnologia MPLS permite a integração de várias tecnologias usadas em grandes provedores, tais como: Frame Relay, ATM (Asynchronous Transfer Mode), linhas dedicadas e ADSL (Asymmetric Digital

Subscriber Line), viabilizando assim a otimização da infraestrutura instalada.

O fato de MPLS ser, por essência, uma tecnologia de camada dois e meio – isto porque adiciona um cabeçalho de 32 bits (que contém um rótulo) entre as camadas de enlace de dados e redes (dois e três no modelo OSI), dessa for-ma trabalhando com a tecnologia IP – provocou ufor-ma significante evolução nas tecnologias de núcleo da rede, sendo extremamente fácil de operar, oferecendo muitos mecanismos de controle e gerência de tráfego e provocando um melhor uso do meio físico. Seus equipamentos são bem mais baratos que equipamentos ATM e permitem velocidades bem maiores, tendo impacto direto nos negócios dos provedores de serviços de rede de longa distância – ISPs.

Este livro apresenta um estudo abrangente sobre a tecnologia MPLS e uma análise dos seus principais serviços, seus benefícios, suas facilidades e suas me-lhorias. Além disso, também explora as características do protocolo IPv6, com abordagem de algumas arquiteturas utilizadas para transporte deste protocolo no núcleo dos ISPs.

É feito também um estudo prático, com a ferramenta de emulação GNS3, através de diversas simulações de ambientes com a tecnologia MPLS e seus ser-viços, objetivando facilitar o aprendizado e servindo de base para o leitor desen-volver seus próprios cenários, suas configurações e aplicações.

Organização do livro

O capítulo 1 deste livro trata os conceitos fundamentais das redes IPs, abrangendo o protocolo IP e a Internet, os conceitos de roteamento e comuta-ção e uma breve descricomuta-ção dos principais protocolos de roteamento utilizados no mercado, base para o entendimento e a funcionalidade da tecnologia MPLS e que é apresentada ao longo deste livro.

No capítulo 2 são apresentados conceitos e definições referentes à tecno-logia MPLS, dando uma visão dos principais componentes de uma rede MPLS, buscando identificar e entender o funcionamento da tecnologia, suas vantagens e desvantagens.

(17)

Nos capítulos 3, 4, 5 e 6 são discutidos os serviços fundamentais ofertados pela tecnologia MPLS (VPN – Virtual Private Network –, PseudoWire, QoS – Quality of

Service – e Engenharia de Tráfego), descrevendo com detalhes como cada serviço

trabalha, suas terminologias utilizadas, seus benefícios e suas implementações. No capítulo 7 são tratados aspectos relacionados ao IPv6, novo protocolo da Internet, base para todos os backbones futuros. São descritas as características fundamentais do protocolo IPv6, assim como são também abordadas algumas ar-quiteturas IPv6 utilizadas para transporte deste protocolo em um backbone MPLS.

No capítulo 8 apresentamos um experimento, sua montagem e composi-ção, que serve de exemplo ao leitor para metodologia de projeto e análise de desempenho de uma rede MPLS. Inicialmente, é apresentada a ferramenta utili-zada para elaboração dos ambientes simulados e, em seguida, são apresentados a topologia e os recursos utilizados. Mostramos a escolha dos protocolos IGP/EGP (Interior Gateway Protocol/Exterior Gateway Protocol) e todos os testes realizados, com as observações para cada ambiente e serviço simulado.

Seguem-se as referências bibliográficas que serviram como base para o de-senvolvimento desta publicação.

Por fim, os apêndices apresentam os arquivos de configuração, verifica-ções e alguns testes efetuados para cada uma das simulaverifica-ções realizadas neste experimento.

(18)

C

APÍTULO

1.

Conceitos Fundamentais

Neste capítulo são definidos os conceitos fundamentais das redes IPs, abrangendo o protocolo IP e a Internet, os conceitos de roteamento e comuta-ção e uma breve descricomuta-ção dos principais protocolos de roteamento utilizados no mercado.

É apresentado o protocolo IP (Internet Protocol) e como ele pode ser usado para a montagem de uma inter-rede escalável e heterogênea.

1.1 – Redes IPs

Em primeiro de janeiro de 1983, o TCP/IP (Transmission Control Protocol/

Internet Protocol) se tornou o protocolo oficial na ARPANET, que, em seguida, foi

interconectada à NSF (National Science Foundation). A partir daí, o crescimento des-sas redes se tornou exponencial (Tanenbaum, 2011). Essa rede de redes (Kurose e Ross, 2010) se tornou a Internet, não mais se restringindo a ambientes acadêmicos. O aparecimento do navegador (ou browser) Mosaic (Tanenbaum, 2011), um aplica-tivo de uso simples que “escondia” do usuário toda a complexidade da rede, possi-bilitou um rápido crescimento do número de usuários da Internet.

O principal protocolo de rede da Internet é o IP (Internet Protocol). O proto-colo IP foi criado com o objetivo simples de tornar possível a comunicação entre máquinas independentemente do meio de transmissão, não possuindo mecanis-mos de notificação ( acknowledgement) ou correção de erro. O protocolo IP não tem mecanismos que permitam realizar consultas de gerenciamento, é sem con-trole de fluxo, não orientado a conexão e não era prevista qualidade de serviço, ou seja, um protocolo desenvolvido para trabalhar em uma rede de melhor es-forço (best-effort) (Forouzan, Benhrouz A., 2008). Durante o seu desenvolvimento, esse protocolo sofreu várias modificações em seu projeto inicial para se adequar às novas necessidades de serviços de voz sobre uma rede de dados e serviço de vídeo sob demanda.

(19)

Existem dois problemas importantes que precisam ser resolvidos quan-do se conectam redes: heterogeneidade e escalabilidade (Peterson e Davie, 2004). O desafio da heterogeneidade é oferecer um serviço ponta-a-ponta, útil e bastante previsível através desse emaranhado de redes diferentes. Para en-tender o problema de escalabilidade, é necessário considerar o crescimento da Internet, que praticamente dobrou de tamanho a cada ano durante os últi-mos vinte anos. Essa taxa de crescimento traz inúmeros desafios, e um deles é o roteamento. A Internet se tornou um bem pervasivo, cujo funcionamento é assumido como certo, tal qual o fornecimento de eletricidade ou água, para a população, como também para empresas e centros de pesquisas, modificando de maneira radical muitos setores da atividade humana. Hoje, sem Internet pouco se faz.

1.2 – O protocolo IPv4

O formato do datagrama IPv4 é exibido na Figura 1.1. Ele tem um compri-mento variável e é dividido em duas partes: cabeçalho e dados. O cabeçalho tem comprimento de 20 a 60 bytes e contém informações essenciais para o roteamen-to e a entrega (Forouzan, Benhrouz A., 2008a). O cabeçalho contém as informa-ções administrativas do datagrama; já o campo de dados contém as informainforma-ções das aplicações. Os principais campos desse datagrama são os seguintes:

(20)

Versão (4 bits): este campo de 4 bits define a versão do protocolo IP. Atualmente, a versão mais amplamente utilizada é a 4. Entretanto, a versão 6 (IPng) deverá substituir completamente a versão 4 em um futuro próximo. Observe-se que acolocação deste campo diretamente no início do datagrama facilita para que tudo mais no formato do pacote seja redefinido em versões posteriores. Este campo informa ao software do IPv4, que roda na máquina em processamento, que o datagrama tem o formato da versão 4. Todos os campos devem ser inter-pretados conforme especificado na quarta versão do protocolo. Se a máquina estiver usando alguma outra versão do IP, o datagrama é descartado em vez de ser interpretado incorretamente.

Tamanho do Cabeçalho (4 bits): este campo define o comprimento

to-tal do cabeçalho do datagrama em palavras de 32 bits e é necessário porque o comprimento do cabeçalho é variável. Quando não se faz uso do campo opções, o que quase sempre acontece, o comprimento do cabeçalho é de 20 bytes e o valor desse campo é 5 (5 x 4 = 20 bytes) de extensão. Quando o campo de opções estiver em seu tamanho máximo, seu valor é 15 (15 x 4 = 60 bytes) de extensão (Forouzan, Benhrouz A., 2008a).

Tipo de Serviço (8 bits): o campo ToS (Type of Service) teve diversas

defini-ções diferentes no decorrer dos anos, mas sua função básica é permitir que os pa-cotes sejam tratados de modo diferente, com base nas necessidades da aplicação. Este campo é utilizado pelos roteadores para determinar como o datagrama deve

(21)

ser tratado, podendo diferenciar os vários tipos de datagramas IPs. Por exemplo, pode ser útil distinguir os datagramas de tempo real (ex.: Telefonia IP) dos tráfegos que não são de tempo real (ex.: FTP). O IETF (Internet Engineering Task Force) mu-dou a interpretação e o nome deste campo de 8 bits. Este campo, anteriormente denominado tipo de serviço, agora se chama serviços diferenciados (Forouzan, Benhrouz A., 2008a) e na Figura 1.2 é possível visualizar as duas interpretações.

No tipo de serviço, os três primeiros bits são denominados bits de prece-dência. Os 4 bits seguintes são chamados bits ToS (Type of Service) e o último bit não é usado. A precedência é um subconjunto de três bits no intervalo que vai de 0 (000 em binário) a 7 (111 em binário). A precedência define a prioridade do datagrama em questões como congestionamento. Se um roteador estiver con-gestionado e precisar descartar alguns pacotes, aqueles com menor precedência serão descartados primeiro. O ToS é um subcampo de 4 bits, onde cada bit tem um significado especial. Embora um bit possa ser 0 ou 1, um e somente um dos

bits do subcampo pode ter valor 1 em cada datagrama. Os padrões de bits e suas

interpretações são apresentados na Tabela 1.1.

Tabela 1.1 – Tipos de serviços

Bits ToS Descrição

0000 Normal (padrão) 0001 Minimizar custo

0010 Maximizar confiabilidade 0100 Minimizar throughput 1000 Minimizar atraso

Na interpretação com os serviços diferenciados os seis primeiros bits for-mam o subcampo ponto de código e os últimos 2 bits não são usados. No capí-tulo 5 abordaremos esses bits com detalhes para uso com a arquitetura DiffServ (Serviços Diferenciados).

Tamanho total do datagrama (16 bits): trata-se de um campo que

defi-ne o comprimento total do datagrama IPv4, incluindo o cabeçalho. O tamanho máximo de um datagrama IP é de 65.535 bytes. Porém, a rede física em cima da qual o IP está sendo executado não pode admitir pacotes tão grandes. Por esse motivo, o IP admite um processo de fragmentação e remontagem. Para descobrir o comprimento dos dados provenientes da camada superior, subtrai-se o compri-mento do cabeçalho do compricompri-mento total. O compricompri-mento do cabeçalho pode ser encontrado multiplicando-se o valor do campo tamanho do cabeçalho por 4.

(22)

Alguns padrões físicos não são capazes de encapsular um datagrama de 65.535 bytes em seus quadros. O datagrama tem que ser fragmentado para con-seguir ser transmitido por essas redes. Como exemplo, o protocolo Ethernet apre-senta uma restrição mínima e máxima no tamanho dos dados que podem ser encapsulados em um quadro (46 a 1.500 bytes). Se o tamanho de um datagrama IPv4 for menor que 46 bytes, serão acrescidos alguns bits de preenchimento para atender a essa exigência.

Identificação (16 bits): utilizado para identificação do datagrama IP no

processo de fragmentação do pacote, para que este seja remontado na mesma ordem em que foi fragmentado. Quando um datagrama é maior do que o MTU (Maximum Transfer Unit) de uma determinada tecnologia, ele precisa ser dividido em fragmentos para que possa ser transmitido na rede. Assim, o campo identifi-cador é utilizado para que seja possível saber a qual datagrama cada fragmento pertence.

Um dos problemas de oferecer um modelo de serviço uniforme ponta-a--ponta por uma coleção heterogênea de redes é que cada tecnologia de rede costuma ter sua própria definição quanto ao tamanho que um pacote pode ter.

Um datagrama pode trafegar por várias redes diferentes. Cada roteador de-sencapsula o datagrama IP, a partir do quadro que ele recebe, o processa e então o encapsula em outro quadro. O formato e o tamanho do quadro recebido de-pendem do protocolo usado pela camada física por meio do qual o quadro acaba de passar. Se, por exemplo, um roteador interliga uma LAN (Local Area Network) a uma WAN (Wide Area Network), ele recebe um quadro no formato da LAN e trans-mite um quadro no formato da WAN.

A ideia central é que cada tipo de rede tenha um MTU (Maximum Transfer

Unit), que é o maior datagrama IP que ele pode transportar em um quadro.

Para tornar o protocolo IP independente da rede física, os projetistas de-cidiram fazer o comprimento máximo de um datagrama IP igual a 65.535 bytes. Isso torna a transmissão mais eficiente quando se utiliza um protocolo com MTU desse tamanho. Entretanto, para outras redes físicas, é necessário dividir o da-tagrama para tornar possível sua passagem por essas redes. Isso é denominado fragmentação. O interessante é que a nova versão do protocolo IP, o IPv6, não permite fragmentação em roteadores (Kurose e Ross, 2010).

Flag (3 bits): trata-se de um campo de 3 bits. O primeiro é reservado. O segundo é denominado bit DF (Don’t Fragment), não fragmentado, e é utilizado para indicar aos roteadores que não fragmentem o pacote, porque o destino

(23)

não os saberá reconstruir. Se seu valor for 1, a máquina não poderá fragmentar o datagrama. Se não puder passar o datagrama por meio de qualquer rede físi-ca disponível, ele desfísi-carta o datagrama e envia uma mensagem de erro ICMP (Internet Control Message Protocol) ao host de origem. Se seu valor for 0, o datagra-ma pode ser fragmentado se necessário. O terceiro bit é chadatagra-mado de bit MF (More

Fragments), mais fragmentos. Se seu valor for 1, significa que esse datagrama não

é o último fragmento; existem mais fragmentos após este. Se seu valor for 0, sig-nifica que esse é o último ou único fragmento (Forouzan, Benhrouz A., 2008a). A Figura 1.3 mostra os flags usados na fragmentação.

Figura 1.3 – Flags usados na fragmentação

Offset (deslocamento) do Fragmento (13 bits): este campo de 13 bits

mostra a posição relativa desse fragmento em relação ao datagrama inteiro. É o

offset dos dados no datagrama original medido em unidades de 8 bytes. A Figura

1.4 mostra um datagrama cujo tamanho dos dados é igual a 4000 bytes, fragmen-tados em três partes.

Tempo de Vida (TTL) (8 bits): é utilizado para garantir que datagramas não

fiquem circulando para sempre na rede. Ao receber um datagrama, todo roteador deve ler esse campo – se seu valor for maior que zero, ele deverá decrementá-lo em uma unidade; se seu valor for igual a zero, esse datagrama deverá ser des-cartado, evitando assim um laço de roteamento de longa duração. Um datagra-ma tem um tempo de vida útil limitado em sua transmissão por udatagra-ma rede de

(24)

computadores. Este campo foi projetado originalmente para armazenar um regis-tro de horas, que era reduzido pelos roteadores visitados. O datagrama era des-cartado quando o valor se tornava zero. Entretanto, para implementar este mé-todo todas as máquinas devem ter relógios sincronizados e devem saber quanto tempo leva para um datagrama ir de uma máquina a outra.

Protocolo (8 bits): este campo define o protocolo de nível superior que

está utilizando os serviços da camada de rede. Um datagrama IP pode encapsular dados de vários protocolos superiores como: TCP (Transmission Control Protocol), UDP (User Datagram Protocol), ICMP (Internet Control Message Protocol) e OSPF (Open Shortest Path First). Este campo especifica o protocolo de destino final para o datagrama IP que será entregue. A Figura 1.5 mostra os detalhes do campo.

Figura 1.5 – Campo de protocolo e dados encapsulados

Soma Verificadora do Cabeçalho (checksum) (16 bits): a paridade (check-sum) no datagrama IP cobre apenas o cabeçalho, e não todos os dados. Há duas

razões para isso. Em primeiro lugar, todos os protocolos de nível superior que en-capsulam dados em um datagrama IP têm um campo de paridade que cobre o pacote inteiro. Portanto, a paridade para um datagrama IP não precisa verificar os dados encapsulados. Em segundo lugar, o cabeçalho de um datagrama IP muda a cada roteador visitado, mas não os dados. Portanto, a paridade inclui apenas a par-te alpar-terada. Se dados forem incluídos, cada ropar-teador par-terá que recalcular a paridade para o pacote inteiro, significando um aumento no tempo de processamento.

Endereços IP de Origem e Destino (32 bits cada): representam os

ende-reços IP do host que envia o datagrama (fonte) e do host que receberá o datagra-ma (destino).

Opções (0 a 320 bits): permite que o cabeçalho IP seja ampliado. Existem

(25)

timestamp, etc. Uma vez que alguns datagramas podem requerer processamento

de opções e outros não, a quantidade de tempo necessária para processar um datagrama IP em um roteador pode variar bastante. Por essas razões, este campo foi descartado no cabeçalho da versão IPv6.

Dados (payload): espaço reservado para os dados a serem transmitidos.

1.3 – Comutação e roteamento

Roteamento é o nome dado ao processo de escolha do caminho a ser se-guido pelos dados a serem transmitidos numa rede espalhada geograficamente (WAN). Vários aspectos podem ser levados em consideração, desde a velocida-de dos enlaces até o número velocida-de saltos (hops) envolvidos, passando pelo custo de transmissão e a confiabilidade dos canais. No roteamento há a retransmissão, processo pelo qual os pacotes são encaminhados de um canal para outro. Nas re-des de datagrama, incluindo as rere-des IP, o roteamento é tratado pacote a pacote. O protocolo IP, com sua simplicidade e flexibilidade, possui grande sucesso na função do roteamento, sendo este protocolo responsável pela entrega das infor-mações geradas pelas aplicações aos seus destinos de forma correta e eficiente.

Roteamento IP é o termo utilizado para descrever as ações efetuadas pela rede TCP-IP para enviar um pacote de um dispositivo a outro, ou seja, os endere-ços IPs de origem e destino devem ser diferentes.

Os roteadores obtêm conhecimento da topologia das redes remotas atra-vés dos pares vizinhos ou das informações configuradas manualmente por um administrador. Assim, esses equipamentos constroem uma tabela de rotas que descreve como encontrar o endereço remoto. Estando uma rede diretamente co-nectada ao roteador, este saberá como alcançá-la, não sendo necessário nenhum mecanismo de criação de rotas. Caso a rede não esteja diretamente conectada, será necessário o uso de um processo de roteamento estático, o que significa di-zer que um administrador inseriu manualmente todas as localizações das redes na tabela de roteamento, ou de um processo de roteamento dinâmico. Nesse caso, o administrador pode fazer uso de algum protocolo de roteamento no qual as rotas são divulgadas automaticamente.

A grande vantagem do uso de protocolos de roteamento dinâmico sobre o roteamento estático é a possibilidade de adaptação das rotas em situações de falhas ou congestionamentos detectados. Se alguma mudança ocorrer na rede, os protocolos de roteamento dinâmico informam automaticamente a todos os

(26)

roteadores sobre o evento. Em se tratando de um roteamento estático, o admi-nistrador é responsável por atualizar todas as mudanças manualmente em todos os roteadores. Tipicamente, nas grandes redes, uma combinação do roteamento dinâmico e estático é usada (Doyle e Carroll, 2006).

O mecanismo de aprendizado e manutenção do conhecimento da topo-logia de rede é considerado como a função de roteamento. O movimento real do tráfego transiente por meio do roteador, da interface de entrada para uma in-terface de saída, é uma função separada considerada uma função de comutação (Paquet e Teare, 2003).

Comutação é o processo de apanhar um quadro de uma entrada e enviá--lo por uma saída apropriada, com base na informação da camada de enlace de dados. Os métodos para a comutação de quadros baseiam-se nas informações de endereço da camada de enlace de dados. Os recursos e as funcionalidades dos comutadores (switches) de camada 3 e dos roteadores têm diversas semelhanças.

Um roteador só precisa responder a uma pergunta muito simples: dado um datagrama IP que transporta um endereço de host de destino específico, por qual in-terface o datagrama deve ser enviado e para qual salto seguinte? Portanto, ao receber um pacote, o roteador precisa ler o cabeçalho IP, determinar a que rede de destino o pacote pertence e, através da leitura de uma tabela de roteamento, encaminhá-lo para o próximo salto. A construção das tabelas e seu uso para o encaminhamento podem ser separados por operações lógicas, conforme as Figuras 1.6 e 1.7. Durante a transmissão de um pacote na rede, este passa por roteadores intermediários, que verificam o endereço de destino, consultam sua tabela de roteamento e o transmitem para o próximo roteador na rota; logo, cada roteador possui sua tabela de roteamen-to, e a informação que consta na tabela informa qual o próximo roteador para o qual os pacotes devem ser enviados, o que é chamado de next-hop.

Na Figura 1.6 pode-se ver como os roteadores geram as tabelas de enca-minhamento. Inicialmente o roteador “D” anuncia a rede 130.10, que está dire-tamente conectada a ele, para o roteador B. O roteador C faz o mesmo procedi-mento, ou seja, envia a rede 170.33 para o roteador B. Ao receber as redes 130.10 e 170.33, através das respectivas interfaces 0 e 1, o roteador B as divulga para o roteador A, que recebe em sua interface 1. A Figura 1.7 mostra que, para a rede da Figura 1.6, quando um pacote chega ao roteador A, destinado à rede 130.10, no caso o endereço 130.10.20.5, o roteador A, através da leitura do endereço de destino em sua tabela de rotas, envia o pacote através da interface 1. O roteador B receberá o pacote e terá o mesmo comportamento, enviando o pacote para o roteador D, a quem pertence a rede, que enviará ao dispositivo final.

(27)

Figura 1.7 – Encaminhamento de pacotes

A comutação de pacotes oferece um novo modelo para o encaminhamen-to de dados na rede. Em vez de encaminhar cada pacote com base no endereço da camada de rede e nas informações distribuídas por protocolos de roteamento, os nós na rede podem usar rótulos transportados nos pacotes e informações de comutação de rótulos distribuídas por novos protocolos ou extensões dos proto-colos existentes.

(28)

A comutação de pacotes IPs é o processo de encaminhar pacotes de dados dentro de uma rede, com base em algum rótulo associado com cada pacote. O roteamento IP tradicional é uma forma de comutação de pacotes – cada pacote transporta um endereço IP de destino que pode ser usado para determinar o pró-ximo salto no caminho em direção ao destino, realizando uma consulta na tabela de roteamento. Há, no entanto, muitas limitações para o roteamento, e a comuta-ção de rótulos foi desenvolvida para resolver algumas delas.

1.4 – Protocolos de roteamento

O roteamento dos pacotes em uma rede depende das regras estabelecidas por cada protocolo de roteamento, portanto os protocolos de roteamento defi-nem as rotas que os pacotes devem seguir para alcançar determinado destino. Os protocolos também devem estabelecer o procedimento a ser tomado em caso de mudanças repentinas na infraestrutura da rede, tais como linhas de transmis-são sendo interditadas ou reativadas, falha de roteadores e outras mudanças es-truturais, assim como informações de falha em linhas (enlaces) de transmissão como, por exemplo, um circuito de STM (Synchronous Transport Module) que es-teja mudando seu estado repentinamente e caminhos que estão com alto nível de congestionamento. Por esse motivo, as tabelas de roteamento normalmente são recalculadas em tempos definidos ou quando uma quantidade mínima de mudança na rede estiver sendo observada, pois em casos de várias mudanças isso acarretaria uma alta necessidade do processamento dos roteadores.

Cada agrupamento organizacional de computadores é definido como um Sistema Autônomo ou AS (Autonomous System), ou seja, um sistema que pode operar isoladamente de todos os outros agrupamentos. Um Sistema Autônomo (AS) é uma coleção de redes sob uma administração comum (Doyle e Carrol, 2006) identificado por um número. Esse número é composto por 16 bits, com um inter-valo de 1 até 65.535, atribuído pelo IANA (Internet Assigned Numbers Authority).

A Internet é uma união de sistemas autônomos e, dentro dos sistemas autô-nomos, as rotas são atribuídas de forma estática e/ou através de protocolos interio-res e exteriointerio-res de roteamento. Dentro de um AS, as informações de roteamento, em geral, são bastante distribuídas, e um roteador pode claramente ver o caminho pela rede até outro roteador dentro do mesmo AS. Os protocolos de roteamento dentro de um AS e entre ASs são diferentes. Roteadores dentro de um AS trocam informações de roteamento através de um protocolo comum conhecido como IGP (Interior Gateway Protocol); já os roteadores que fazem comunicação entre

(29)

ASs, o fazem através de um protocolo de roteamento chamado de EGP (Exterior

Gateway Protocol) (Doyle e Carrol, 2006).

Essa divisão se dá porque os protocolos possuem objetivos diferentes. Dentro de um AS o maior objetivo é calcular rotas eficientes, assim como efetuar atualizações rapidamente quando ocorrer uma mudança na rede, por exemplo, provocada por uma falha na linha de transmissão, interrupção temporária de um roteador, etc. Os roteadores que trabalham com os protocolos EGPs possuem uma maior preocupação com questões administrativas, políticas, econômicas e de segurança, sendo essas manualmente configuradas nos roteadores, não fa-zendo parte diretamente do protocolo. Tais diferenças fazem com que o IGP e EGP, em sua maioria, façam uso de tecnologias diferentes.

Como exemplos de protocolos IGPs podemos citar: Open Shortest Path First (OSPF), Intermediate System-to-Intermediate System (IS-IS), Routing Information

Protocol (RIP) e Enhanced Interior Gateway Protocol (EIGRP). Já como exemplos

de protocolos EGPs podemos citar: ISO-IDRP e o protocolo BGP (Border Gateway

Protocol), este último utilizado pelos provedores de serviços para troca de

infor-mações entre os sistemas autônomos na Internet, conforme Figura 1.8.

Figura 1.8 – Roteamento interior (IGP) e exterior (EGP)

Os protocolos de roteamento possuem um grande conjunto de informações e características diferenciadas que são possíveis de categorizar: classful (não pro-pagam as redes nas atualizações de rotas) versus classless (propro-pagam as sub--redes nas atualizações de rotas) e protocolos que trabalham com o algoritmo de vetor de distância (distance vector) versus algoritmo de estado de enlace (link state).

O nome roteamento por vetor de distância é encontrado também na lite-ratura como algoritmo de Bellman-Ford (Paquet e Teare, 2003). A ideia por trás do algoritmo com vetor de distância é sugerida por seu nome: cada nó constrói

(30)

um array unidimensional (um vetor) contendo as “distâncias” (custos) até todos os outros nós e distribui esse vetor aos seus vizinhos imediatos, conforme Figura 1.9. A suposição inicial para o roteamento com vetor de distância é que cada nó conhece o custo do enlace para cada um de seus vizinhos conectados diretamen-te. O melhor caminho pode estar relacionado com várias medidas, sendo que o número de roteadores na rota (hop count) é a mais utilizada. Um enlace que esteja inativo recebe o custo infinito.

Figura 1.9 – Exemplo do algoritmo de vetor de distância

As rotinas periódicas de atualizações de roteamento geradas pela maio-ria dos protocolos de roteamentos por vetor de distância vão apenas para os dispositivos de roteamento conectados diretamente. Num ambiente de vetor de distância puro, as atualizações de roteamento incluem uma tabela completa de roteamento, a qual pode ser chamada de atualização integral, ou seja, a troca de toda a tabela de roteamento. Ao receber uma tabela com-pleta de um vizinho, um roteador pode verificar todas as rotas conhecidas e, em seguida, fazer as alterações na tabela local, com base nas informações atualizadas recebidas. Esse processo de roteamento é muito simples e na prá-tica pode ser lento, gerando um alto tempo de convergência na rede (tempo que os roteadores levam para estabilizar as tabelas de roteamento de acordo com uma mudança ocorrida na topologia) e possíveis loops de roteamento. Como exemplos de protocolos de vetor de distância existem o RIP (Routing

Information Protocol) definido na RFC 1058 (RFC 1058), o RIPv2 definido na

RFC 1723 (RFC 1723) e o RIPng (Routing Information Protocol next generation) para IPv6, definido na RFC 2080 (RFC 2080). Já o IGRP (Interior Gateway Routing

Protocol), de propriedade da Cisco, embora também seja um protocolo de

(31)

protocolo de roteamento mais avançado, o EIGRP (Enhanced Interior Gateway

Routing Protocol), que exibe algumas características de estado de enlace.

O roteamento por estado de enlace (link-state) não distribui rota alguma, mas troca informações de topologia que descrevem a rede. Cada nó é responsá-vel por anunciar os detalhes dos enlaces que aceita e por passar adiante informa-ções semelhantes que recebem de outros roteadores. Desse modo, cada roteador na rede monta um banco de dados completo dos enlaces disponíveis e quais nós eles interconectam, com cada roteador possuindo o mapa completo e idêntico da rede.

No roteamento por vetor de distância, cada roteador envia informações de roteamento por seus enlaces – não importa se existe um roteador no enlace para receber as informações ou não. No roteamento por estado de enlace, existe uma ligação mais próxima entre os roteadores vizinhos – eles precisam estabelecer um relacionamento de parceria, a fim de haver a troca de informações de estado de enlace. Essa primeira etapa é obtida por meio de um protocolo de “Hello”, onde cada roteador envia uma mensagem “Hello” a cada enlace para se apresentar aos vizinhos. O formato e o conteúdo exato da mensagem de “Hello” dependem do protocolo de roteamento por estado de enlace em uso, mas ele precisa identificar com exclusividade o enlace em que a mensagem foi enviada (usando o endereço IP) e o roteador que enviou a mensagem. O receptor de mensagem “Hello” res-ponde com seu próprio “Hello”, de modo que ambos os roteadores conheçam um ao outro.

Após a troca inicial da mensagem “Hello”, os roteadores trocam e negociam os parâmetros que usarão para controlar sua associação e depois se declaram parceiros. A primeira coisa que os parceiros fazem é sincronizar o banco de dados de estado de enlace (Link State Database), trocando mensagens que relatam cada enlace que conhecem. Para um roteador novo, isso começará apenas com enla-ces locais que sabem que estão ativos – os enlaenla-ces das sub-redes conectadas e os enlaces recentemente abertos até o parceiro –, mas, se o roteador já tiver recebi-do informações de outros rotearecebi-dores, o sincronismo incluirá informações sobre outros enlaces dentro da rede. As informações sobre cada enlace são enviadas com LSA (Link State Advertisement) ou LSP (Link State Packet), que é formatado e embutido em uma mensagem de acordo com regras do protocolo de roteamen-to específico (Farrel, 2005).

Dessa forma, dois roteadores que se tornam parceiros rapidamente alcan-çam uma posição de ter os bancos de dados de estado de enlace idênticos, ou seja, ambos conhecem a mesma lista de enlaces dentro da rede. Daí por diante,

(32)

como funcionalidade desse algoritmo, sempre que um enlace muda de estado, o dispositivo que detecta a alteração cria um LSA que diz respeito àquele enlace (rota) e, em seguida, o LSA é propagado para todos os dispositivos vizinhos que usam um endereço especial de multicast (endereço de um roteador para um grupo de roteadores). Cada dispositivo de roteamento recebe uma cópia do LSA, enca-minha-o para todos os dispositivos vizinhos e, em seguida, atualiza a sua base de dados topológica. Esse encaminhamento de LSA é conhecido como inundação (flooding) e é necessário para garantir que todos os dispositivos de roteamento aprendam sobre as alterações, para que eles possam atualizar seus bancos de da-dos e criar uma tabela de roteamento atualizada, que irá refletir a nova topologia (Paquet e Teare, 2003). Este processo pode ser visualizado na Figura 1.10.

Figura 1.10 – Exemplo do algoritmo de estado de enlace

O processo de inundação (flooding) poderia ocupar uma grande quantida-de quantida-de largura quantida-de banda da requantida-de e resultar em LSAs enviados aos roteadores que já possuem a informação. Por isso, a maioria dos protocolos de roteamento que usam o algoritmo de estado de enlace requer um projeto hierárquico e, assim, é possível reduzir a necessidade de flooding de LSA para todos os dispositivos do

(33)

domínio de roteamento, porque o uso de áreas (segmentação lógica formada por alguns roteadores) restringe o flooding ao limite lógico da área, e não a todos os dispositivos do domínio. Em resumo, quaisquer mudanças que ocorram em uma área devem causar o recálculo da tabela de roteamento apenas naquela área, e não em todo o domínio.

Um exemplo de um protocolo de roteamento por estado de enlace é o OSPFv2, definido na RFC 1247 (RFC 1247), que é um dos protocolos IGPs de gran-de utilização no mercado, inclusive em backbones MPLS (Enne, 2009), por se tratar de um protocolo de larga escalabilidade.

Os sistemas autônomos trocam informações de roteamento usando al-guns outros meios, como um protocolo de roteamento por vetor caminho (path

vector). Dentro da Internet, existe a exigência de conectar redes e sistemas

au-tônomos divergentes que compõem a Internet em geral, e isso é feito usando protocolos EGPs. Esses protocolos utilizam uma propriedade de resumo de rota dos protocolos de roteamento por vetor caminho para permitir que os sistemas autônomos sejam caracterizados dentro das rotas anunciadas, tornando-os mui-to mais escaláveis e flexíveis. Para esse tipo roteamenmui-to, entre sistemas autôno-mos, é utilizado o protocolo BGP (Border Gateway Protocol), que foi definido na RFC 4271 (RFC 4271).

O roteamento vetor caminho tem uma vantagem significativa, uma vez que ele permite que um roteador escolha uma rota com base não apenas na distância ou custo associados à rota, mas também examinando os roteadores e enlaces que compreendem o caminho, ou seja, as decisões são tomadas em políticas de rotea-mento. Essas políticas podem ser elaboradas por meio de regras locais, baseadas no conhecimento de enlaces que são passíveis de erro, vulneráveis a ataque de segurança ou dispendiosos financeiramente. Desse modo, é possível determinar os melhores caminhos para encaminhamento de pacotes.

Um problema sério com o roteamento baseado em vetor caminho é que cada roteador na rede pode aplicar diferentes políticas. Os roteamentos por vetor de distância e estado do enlace são técnicas de roteamento, mas utilizam uma política de menor custo (métrica), e todas as rotas na rede se utilizam da mesma política – isso significa que é possível prever o comportamento da rede e saber a rota que o diagrama seguirá em uma rede estável, uma vez iniciada. Não é difícil ver como essa previsibilidade poderia falhar catastroficamente assim que rote-adores aplicassem políticas diferentes um do outro ou diferentes da política de menor custo.

(34)

Um exemplo deste tipo de ocorrência foi o sequestro do prefixo do YouTube. No YouTube pode ser visto um vídeo gerado para esse caso (YouTube, 2010). Por determinação do governo paquistanês, o tráfego do YouTube deveria ser bloqueado para evitar o acesso ao trailer de um filme anti-islâmico. Para cumprir essa ordem, a operadora Pakistan Telecom gerou o anúncio de um prefixo mais específico do que o utilizado pelo YouTube, com o intuito de direcionar todos os acessos a ele para uma página que dizia “YouTube was blocked”. No entanto, a operadora anunciou essa nova rota a seu upstream provider (primeiro erro), que, além de não verificar a nova rota (segundo erro), propagou-a por toda a Internet (terceiro erro). Com isso, todo o tráfego do YouTube passou a ser direcionado para o Paquistão e foi descartado (Santos, Rodrigo et al, 2009).

Na Tabela 1.2 são descritas as características dos principais protocolos de roteamento que serão utilizados no decorrer deste livro. Em seguida, faremos uma breve descrição destes protocolos.

Tabela 1.2 – Comparação dos protocolos de roteamento escaláveis

Protocolo IGP ou EGP Algoritmo Hierarquia Requerida

OSPF IGP Estado de enlace Sim

IS-IS IGP Estado de enlace Sim

BGP EGP Vetor caminho Não

1.4.1 – O protocolo OSPF

Criado pelo IETF (Internet Engineering Task Force) em 1988, o OSPF é um proto-colo de roteamento do tipo estado de enlace, que envia anúncios sobre o estado da conexão a todos os outros roteadores em uma mesma área hierárquica e usa o algo-ritmo SPF (Shortest Path First) para calcular o caminho mais curto para cada nó. Trata-se um protocolo IGP, de código aberto e amplamente divulgado na literatura. Foi projetado com o objetivo de substituir o protocolo RIP (Routing Information Protocol), resolvendo diversas limitações que este apresenta, e abordar as necessidades das re-des granre-des e escaláveis, as quais não eram abrangidas pelo RIP. A versão mais recen-te do protocolo para funcionalidade com o IPv4 é o OSPF versão 2 (OSPFv2), sendo o OSPF versão 3 (OSPFv3) utilizado para o IPv6 (Doyle e Carroll, 2006).

Podemos citar algumas das principais características desse protocolo: • Não há limite no custo máximo de uma rota;

(35)

• O OSPF pode efetuar o balanceamento de carga;

• A convergência é mais rápida do que o RIP, já que as alterações de rotea-mento são difundidas imediatamente e são calculadas em paralelo; • Tem suporte a VLSM (Variable Length Subnet Mask), ou máscara de

sub--redes de tamanho variável, técnica que permite a divisão de subsub--redes em sub-redes, com o objetivo de reduzir a perda de endereços IPs. O protocolo OSPF envia anúncios sobre o estado da conexão a todos os outros roteadores em uma mesma área hierárquica e usa o algoritmo SPF para calcular o caminho mais curto para cada nó. O cálculo do OSPF seleciona o ca-minho de menor custo para uma rede, da origem ao destino, usando apenas os enlaces ativos.

O roteamento por estado de enlace apresenta um problema totalmente diferente dos protocolos de roteamento por vetor distância e vetor caminho. No protocolo de roteamento por estado de enlace, cada roteador possui uma visão completa da rede, fornecida pelas informações de todos os roteadores na rede, mas os roteadores precisam construir uma tabela de roteamento “do zero”, usando apenas a informação do caminho mais curto. Não é uma exigên-cia que todos os roteadores usem o mesmo mecanismo para calcular os cami-nhos mais curtos, porque todos eles chegam em resultados coerentes. Apesar disso, essa coerência é tão importante que os dois principais protocolos de roteamento por estado de enlace, o OSPF e o IS-IS, exigem o uso do algoritmo

Shortest Path First.

O algoritmo de Dijkstra (como também é conhecido o algoritmo SPF) é um modo relativamente eficaz e simples de criar uma tabela de roteamento a partir de um conjunto de informações de estado de enlace. Um ponto importante é que o algoritmo deve preencher totalmente a tabela de roteamento de uma só vez, calculando os caminhos mais curtos para todos os destinos. A partir de um nó específico, cada roteador vizinho é acrescentado a uma lista de candidatos, que é ordenada por custos (métricas) dos enlaces até os vizinhos, com o enlace de menor custo em primeiro lugar.

Em muitos backbones, há a necessidade de fazer cálculos de SPF que tam-bém consideram outros atributos do tráfego nos enlaces disponíveis. Essas outras considerações oferecem restrições ao algoritmo SPF, transformando-o em cálculo de CSPF (Constrained Shortest Path First).

No SPF é valido usar diferentes caminhos para o destino contendo o mes-mo custo. Esse roteamento é chamado de ECMP (Equal-Cost Multi-Path), que é

(36)

uma boa solução quando se trata de protocolos de roteamento por estado de en-lace. Como exemplo, em um backbone de uma operadora de telecomunicações, pode-se decidir oferecer um balanceamento de carga de tráfego entre diferentes enlaces de diferentes velocidades usando um recurso de roteamento ECMP, cujo objetivo é fazer balanceamento de carga do tráfego entre diferentes caminhos de forma a melhor distribuir o tráfego pela rede.

1.4.2 – O protocolo IS-IS

O protocolo IS-IS foi concebido pela ISO (International Organization for

Standardization) e, portanto, pode ser mapeado diretamente ao modelo OSI

(Open Systems Interconnection). De acordo com (Martey e Sturgess, 2002), o pro-tocolo IS-IS tem maior popularidade na Internet que na arquitetura OSI. Trata-se de um protocolo que faz roteamento por estado de enlace, tendo suporte ao ba-lanceamento de carga e a VLSM, sendo um protocolo para atuação intradomínio (dentro de um mesmo sistema autônomo).

Embora tenha sido projetado para roteamento ISO, ele foi adaptado para uso em ambientes IPs, daí a origem do termo Integrated IS-IS, muito utilizado atual-mente para se referir ao uso desse protocolo nas redes IPs.

Existem diversas semelhanças entre o protocolo IS-IS com o protocolo OSPF, das quais podemos destacar:

• ambos são protocolos de roteamento que fazem uso do algoritmo de es-tado de enlace;

• aceitam VLSM;

• possuem tipos específicos de roteadores definidos em diferentes partes da rede;

• seguem uma hierarquia, portanto são hierárquicos; • podem fazer balanceamento de carga;

• ambos possuem capacidades de autenticação.

Existem também algumas diferenças entre os dois protocolos, das quais poderíamos citar a forma como ambos manipulam pacotes de “Hello”, que são utilizados para formação das adjacências entre os vizinhos, já que no OSPF ape-nas um tipo de “Hello” é definido, e em redes IS-IS os roteadores são capazes de enviar dois tipos distintos de pacotes “Hello”: Nível 1 e Nível 2. Outra diferença é com relação aos tipos de roteadores que são utilizados por esses protocolos, pois,

(37)

apenas por possuírem nomenclaturas diferentes, pode haver o mapeamento en-tre eles, devido às suas funcionalidades (Doyle e Carroll, 2006).

1.4.3 – O protocolo BGP

O BGP é um protocolo utilizado para comunicação inter-AS, ou seja, para comunicação entre sistemas autônomos, também denominado de EGP (Exterior

Gateway Protocol). Na Figura 1.11 podemos perceber a atuação desse protocolo

na interligação entre os sistemas autônomos 65000, 65500, 65250 e 65520, os quais têm influência direta na determinação do caminho que será utilizado pelo BGP, já que o BGP toma decisão de roteamento com base no caminho percorrido entre os ASs, chamado de protocolo de vetor caminho.

Seu principal objetivo é fornecer um sistema de roteamento entre domínios que garanta a troca, livre de loops, das informações de roteamento entre os sistemas autônomos. A divulgação das informações de roteamento BGP é feita entre roteado-res que estabelecem uma relação de vizinhança, o que chamamos de peers (paroteado-res). Para que tal estabelecimento ocorra é necessário que dois roteadores tenham cone-xão direta entre eles ou que algum protocolo IGP trate de garantir a alcançabilidade. Para garantir a alcançabilidade e a confiabilidade entre todas as redes da Internet faz-se necessário que seja utilizada uma forma confiável de troca de in-formações deste protocolo. Para tanto, o BGP faz uso do protocolo TCP (porta 179) para o transporte das informações de roteamento entre dois roteadores que trocam informações deste protocolo.

(38)

C

APÍTULO

2.

A Arquitetura IP sobre MPLS

Para entendimento da tecnologia MPLS, é necessário que tenhamos em mente alguns conceitos fundamentais. Este capítulo é dedicado à discussão so-bre os aspectos ligados à tecnologia MPLS. Descreveremos o surgimento da tec-nologia, a diferença entre o roteamento convencional e baseado em rótulos, o formato do cabeçalho MPLS, a estrutura do MPLS, detalhando o plano de con-trole e encaminhamento, e os principais componentes da sua arquitetura. Para concluir, exibimos como se dá o funcionamento da tecnologia, suas vantagens e desvantagens.

2.1 – Surgimento da tecnologia

Na segunda metade da década de 1990, a tecnologia ATM, embora ainda com preço elevado e protocolo complexo em planos e camadas (Tanenbaum, 2011), já era a tecnologia dominante para a construção de backbones. Ao mesmo tempo, já se sabia que a pilha de protocolos TCP/IP era um padrão de fato no mundo, e que todas as tecnologias que fossem desenvolvidas a partir de então deveriam ser compatíveis com esses protocolos. No entanto, a natureza da tecno-logia ATM, com células de tamanho fixo e qualidade de serviço intrínseca, difere totalmente da natureza do protocolo IP.

O mapeamento de pacotes IPs no ATM é uma tarefa complexa, já que os processos de segmentação em pequenas células e a remontagem dos pacotes acarretam desperdício de banda passante, acrescentando informações adicionais e exigindo mais processamento dos roteadores. Desse modo, a união desses dois mundos nunca permitiu uma utilização plena e harmônica das duas tecnologias.

Nessa mesma década (1990) surgiram pesquisas que levaram a uma que-bra total de paradigma e foram inicialmente chamadas de “ comutação IP”. Alguns fabricantes entendiam que pacotes IPs não precisavam ser roteados nos núcleos

(39)

da rede e que era possível adquirir a qualidade de serviço de redes ATM por meio da comutação de pacotes IPs. Tal comutação seria realizada por rótulos adiciona-dos a cada pacote.

Algumas empresas começaram a desenvolver tecnologias baseadas na uti-lização de rótulos. Porém, devido à incapacidade de interação entre essas tecno-logias desenvolvidas, das quais podemos citar: IP Switching (Ipsilon) (Newman et

al, 1996), CSR – Cell Switched Router (Toshiba), Tag Switching Architecture (Cisco)

(Rekhter et al, 1997), ARIS – Aggregate Route-based IP Switching (IBM), SITA –

Switching IP Through ATM (Telecom Finland) e IP Navigator (Ascend) (Davie e

Rekhter, 2000), a IETF (Internet Engineering Task Force) criou, em dezembro de 1996, um grupo de trabalho visando à padronização dessas tecnologias.

Assim, o MPLS é uma tecnologia desenvolvida no âmbito do IETF (Lucek e Minei, 2005), inicialmente como uma tentativa de padronizar a comutação de pacotes baseada na troca de rótulos e, com isso, melhorar a eficiência de fluxos de tráfegos através da rede, modificando um paradigma fundamental até então existente nas redes IPs com a inserção de um rótulo ao datagrama, propiciando assim a comutação IP.

2.2 – Roteamento convencional x baseado em rótulos

A tecnologia IP deverá continuar sendo a principal ferramenta adotada por provedores de serviços. Tal tecnologia, aliada ao MPLS e à possibilidade de unifi-car as comunicações de voz, vídeo e dados, proporciona benefícios econômicos e tecnológicos para as operadoras.

Por padrão, o protocolo IP possui como base para encaminhamento de pa-cotes a análise do endereço IP de destino existente no cabeçalho do pacote da camada de rede. “Este processo também é tradicionalmente chamado de

hop-by--hop packet forward” (Pepelnjak e Guichard, 2000).

Principalmente devido ao crescimento mundial da Internet (Harnedy, 2002), a demanda de tráfego requerida pelos provedores de serviços (ISPs) au-mentou bastante. Para suportar esse crescimento, os ISPs precisam de roteadores de alto desempenho, pois, além da crescente demanda por banda, eles precisam lidar com o crescente número de nós na rede e, consequentemente, com um au-mento nas tabelas de roteaau-mento.

O processo de roteamento efetuado pelo elemento roteador é complexo e suporta vários protocolos e tipos de interfaces. Os switches (comutadores) são

(40)

mais simples, fazendo com que a sua relação custo/desempenho seja melhor do que a dos roteadores.

De acordo com a referência (Pepelnjak e Guichard, 2000), os switches ofe-recem um desempenho muito superior na comutação de células ou segmentos que os roteadores para encaminhamento de pacotes. Isso se deve ao fato de que o tipo das informações a serem analisadas pelos switches é basicamente mais sim-ples, tornando o processo de encaminhamento dos segmentos muito mais rápi-do, fato esse que levou a maior parte dos backbones IPs a serem implementados utilizando uma rede ATM em seu núcleo, de acordo com a Figura 2.1.

O surgimento de uma nova tecnologia normalmente dar-se-á porque a tecnologia atual não atende às necessidades requeridas, podendo ser funcionais ou por desempenho. O MPLS surgiu como uma tecnologia que oferece algumas funcionalidades não existentes em redes IPs convencionais.

O MPLS é uma tecnologia aberta que foi apresentada inicialmente como uma solução que possibilitava melhorar o desempenho das redes IPs na função de encaminhamento de pacotes IPs, combinando o processo de roteamento de nível 3 com a comutação de nível 2 para realizar o encaminhamento de data-gramas através de pequenos rótulos de tamanho fixo. Tais rótulos são números utilizados no protocolo MPLS e, através destes, a decisão de qual interface enca-minhar o datagrama é tomada (Rosen et al, 2001a).

(41)

Segundo Rosen (Rosen et al, 2001a), a comutação de rótulos multiprotoco-los combina a funcionalidade dos protocomultiprotoco-los de roteamento da camada de rede e a comutação por rótulos, além de fornecer benefícios significativos às redes com IP e ATM, ou uma combinação de outras tecnologias no nível da camada de rede. Portanto, em uma arquitetura IP sobre MPLS, as informações necessárias para o encaminhamento são obtidas do cabeçalho MPLS (32 bits), que é bem menor e menos complexo que o cabeçalho IP (20 bytes), com isso contribuindo para que os equipamentos de menor poder de processamento e armazenamento tenham desempenho melhor nesse tipo de arquitetura em relação a outras arquiteturas.

Outra vantagem significativa da arquitetura IP sobre MPLS que podemos destacar diz respeito ao encaminhamento de datagramas ao longo de um cami-nho. Em redes IPs convencionais, todos os roteadores da topologia precisam saber a melhor rota em sua tabela de roteamento para encaminhar o pacote ao seu destino pelo melhor caminho possível. Já o protocolo MPLS trabalha com encaminhamen-to dos pacotes baseado em rótulos, pois os roteadores de núcleo, conhecidos como P (Provider), não têm acesso ao endereço IP de destino do pacote; assim, não há inteligência de roteamento nesses roteadores de núcleo, e sim o encaminhamento local, de uma interface para outra, tomando como base os valores dos rótulos dos pacotes, ou seja, fazendo um processo apenas de comutação de rótulos.

A Tabela 2.1 mostra uma comparação entre a arquitetura IP convencional e a arquitetura IP baseada em rótulos:

Tabela 2.1 – Arquitetura IP convencional e arquitetura IP baseada em rótulos

Tipos de roteamento IP

Convencional Baseado em rótulos Análise de todo

cabeçalho IP

Verificação dos pacotes a cada salto em todo caminho na rede.

Verificação dos pacotes apenas uma vez no ingresso do caminho virtual.

Suporte para dados Unicast e Multicast

Necessita de roteamento especial para Multicast e algoritmos de encaminhamento.

Necessita de somente um algoritmo de encaminhamento. Decisão de roteamento Baseado no endereço de destino no cabeçalho do pacote IP.

Baseado em vários parâmetros: endereço de destino no cabeçalho IP, QoS, tipo de dados, etc.

(42)

Hoje, porém, a tecnologia MPLS vem sendo considerada de grande impor-tância, não só por oferecer um mecanismo rápido de encaminhamento de paco-tes, mas também por oferecer novas potencialidades, as quais serão descritas no decorrer deste livro.

2.3 – O cabeçalho MPLS

O item mais importante para o MPLS é o rótulo (De Ghein, 2007). O rótulo é um identificador curto, de 4 bytes, e com significado local no roteador que é usado para identificar uma FEC (Forwarding Equivalent Class), isto é, um grupo de pacotes IPs que são enviados na mesma maneira, sobre o mesmo trajeto e com o mesmo tratamento de transmissão. Uma FEC pode corresponder a uma subnet do endereço IP de destino, mas pode igualmente corresponder a qualquer classe de tráfego que o roteador de borda considera significativo. Como exemplo, todo tráfego com o mesmo valor de “IP Precedence” pode constituir uma FEC.

O rótulo associa pacotes às respectivas conexões; é algo semelhante ao VPI/VCI (Virtual Path Identifier/Virtual Circuit Identifier) no ATM e DLCI no Frame

Relay. Seu formato é apresentado na Figura 2.2 e, em seguida, é descrita a função

de cada campo. Na Figura 2.3 podemos visualizar os campos do cabeçalho MPLS através de uma captura feita com o analisador Wireshark (Wireshark, 2012).

• Label (Rótulo): contém o valor do rótulo MPLS. Como o tamanho é de 20 bits, esse valor pode variar de 0 a (220 -1), ou 1.048.575. Existem alguns

valores que são reservados ao protocolo e têm significados especiais (Rosen et al, 2001b).

○ 0 – IPv4 Explicit NULL Label: indica que o rótulo deve ser retirado, e, desse ponto em diante, o roteamento será feito com base no endereço de rede.

○ 1 – Router Alert Label: indica que o datagrama deve ser analisado pelo software local. O encaminhamento seguinte é definido pelo próximo rótulo da pilha MPLS.

○ 2 – IPv6 Explicit NULL Label: mesma funcionalidade do valor 0, mas aplicada ao protocolo IPv6.

(43)

○ 3 – Implicit NULL Label: valor utilizado pelos LSRs (Label Switch

Routers) para a distribuição de rótulos (LDP – Label Distribution Protocol).

○ 4 a 15 – Reservados para definições futuras. ○ 16 a (220 -1) – Rótulos utilizáveis para roteamento.

• EXP (Experimental Bits): este campo é composto por três bits e são uti-lizados para alterar os algoritmos de enfileiramento (queuing) e descar-te; dessa forma é possível dar prioridade a determinados pacotes. Usado atualmente por classes de serviços (CoS).

• BoS (Bottom of Stack): formado por apenas um bit, este campo permite a criação de uma pilha hierárquica de rótulos. Indica se o cabeçalho ao qual o pacote pertence é o último da pilha MPLS. Todos os cabeçalhos MPLS devem ter esse bit em 0, e através desse campo um roteador de saída tem condições de decidir se o próximo encaminhamento será ba-seado em MPLS ou IP.

• TTL (Time To Live): este campo é formado por 8 bits e funciona de manei-ra semelhante ao TTL do protocolo IP. Ele especifica um limite de quan-tos salquan-tos o pacote pode atravessar. Quando um datagrama entra em um roteador de borda MPLS, o valor inicial do TTL no cabeçalho MPLS deve ser igual ao valor do TTL do cabeçalho IP e decrementado de 1 em cada roteador. Na saída do caminho, o roteador deve copiar o valor do TTL do cabeçalho MPLS para o TTL do cabeçalho IP.

Referências

Documentos relacionados

Os objetivos específicos são, em primeiro lugar, transmitir conhecimento e estimular os estudantes para a análise de conceitos chave nas Relações Internacionais,

Assim, ao longo destes meses foram desenvolvidas muitas atividades envolventes de todo o Circuito do Medicamento, desde receção e armazenamento, atendimento ao

Taking the classical literature and our results into account, genetic ablation via BRAINSPAReDT, with expression of Cre-inducible DTR and PEGyDT injection, is an amenable way to

O saldo da balança de bens continuou a expor um deficit em 2012, mas registou um forte decréscimo face a 2011 (-39,6%), o mais acentuado dos últimos cinco anos, sendo que

A principal proposta deste estudo é apresentar a maquiagem de baixo custo para mulheres da classe média baixa, mostrando a elas que há meios para promover a estima

Esta dissertação apresenta o desenvolvimento de arquiteturas para a compressão JPEG, onde são apresentadas arquiteturas de um compressor JPEG para imagens em tons de cinza, de

Com a intenção de sensibilizar e conscientizar os estudantes de uma escola da rede pública acerca da importância dos processos de comunicação em suas mais

São devidos juros de mora nos termos do artigo 44.º da lei geral tributária, quando o sujeito passivo não pague a contribuição dentro do prazo legalmente estabelecido na nota