IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE...

119
UNIVERSIDADE FEDERAL DE SANTA CATARINA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Alexandre Briani Kieling IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade Federal de Santa Catarina como parte dos requisitos para a obtenção do grau de Mestre em Ciência da Computação. Orientador: Prof. Dr. Carlos Becker Westphall Florianópolis, fevereiro de 2002

Transcript of IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE...

Page 1: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

UNIVERSIDADE FEDERAL DE SANTA CATARINA

PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DACOMPUTAÇÃO

Alexandre Briani Kieling

IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO

PREMIUM

Dissertação submetida à Universidade Federal de Santa Catarina como parte dos

requisitos para a obtenção do grau de Mestre em Ciência da Computação.

Orientador: Prof. Dr. Carlos Becker Westphall

Florianópolis, fevereiro de 2002

Page 2: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO

PREMIUM

Alexandre Briani Kieling

Esta dissertação foi julgada adequada para obtenção do título de Mestre em Ciência da

Computação na Área de Concentração Sistemas de Computação e aprovada em sua forma

final pelo Programa de Pós-Graduação em Ciência da Computação.

Prof. Dr. Fernando A. O. Gauthier - Coordenador1 /

Banca Examinadora

Prof. Dr. Carlos Becker J^estphall - Orientador

l Ü í l t JProf. Dr. Roberto Willrich

Page 3: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

SUMÁRIO

LISTA D E F IG U R A S ........................................................................... ............................................ IV

LISTA D E T A B E L A S............................................................................................................................V

LISTA D E S IG L A S ............................................................. ...............................................................VI

R E S U M O ............................................................................................................................................. VIII

A B S T R A C T ............................................................................................................................. .............. IX

1..... . IN T R O D U Ç Ã O ................................... .......................... ................................................................ 1

1.1 Considerações In ic ia is .............................. .....................................................................11.2 Objetivos....................................................... .......................................................................... 2

1.2.1 Objetivo G eral....................................................................................................................21.2.2 O bjetivos E specíficos ....................................................................................................... 2

1.3 Justificativas ....................................................................................................................... 21.4 E struturado Tr abalh o ......... ........................................................................................ 3

2 Q U A L ID A D E D E SER V IÇ O NA IN T E R N E T ................................................................5

2.1 D efinição ........................................................................................................ ........................ 52.2 Principais M edidas d e Qu a u d a d e ................................. ............................................6

2.2.1 L a tên cia ................................................................................................................................ <52 .2 .2 Variação de Latência .......................................................................................................62.2 .3 P erda de P aco tes ...............................................................................................................7

2.3 M ecanism os d e Qu a lid a de d e Ser v iç o .................................................................... 82.3.1 Controle de A dm issão ............................................................................... ...................... 82.3 .2 C lassificação de P acotes .............................................................. ...................................82.3 .3 M arcação de Pacotes....................................................................................................... 82 .3 .4 Enfileiram ento .................................................................................... .............................. 82 .3 .5 Condicionamento de T ráfego ........................................................................................ 92 .3 .6 Priorização e Escalonam ento ......................................................................................102 .3 .7 Controle de C ongestionam ento ..................................................................................10

2.4 M étricas do IPPM ............................................................................................................112.5 Co nclusão ............................................................................................................................ 16

3 SE R V IÇ O S D IF E R E N C IA D O S........................................................................................... 17

3.1 In t r o d u ç ã o ......................................... ...............................................................................173.2 A cordos d e N ível d e Serviço entre D o m ín io s ...................................................183.3 C omportamentos por N ó .............................................................................................. 19

3.3.1 EF .......................................... ..............................................................................................193.3 .2 A F .........................................................................................................................................20

3.4 S erviços D iferenciados n a Internet2 ................................................................... 213.4.1 Projeto QBone.................................................................................................................223.4.2 Serviço Q P S .....................................................................................................................22

Page 4: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

ii

3.4 .3 Serviço Q B SS .............................................. .............................. .....................................243.5 Serviços D iferenciados no L in u x ................................. .......................................... 25

3.5.1 D isciplinas de E nfileiram ento .....................................................................................273 .5 .2 C lasses .................................................................................................................................283.5 .3 F iltro s ..................................................................................................................................293 .5 .4 Ferram enta TC ......................................................... .......................................................293.5 .5 D isciplina de Enfileiram ento C B Q ...........................................................................32

3.6 , C onclusão ....................................................................................... ..................................... 32

4 B A N D W ID T H B R O K E R E IM PL E M E N T A Ç Õ E S E X IS T E N T E S ....................33

4.1 Sie m e n s ....................................................................... ........................................................... 364.2 U niversidade de Ka n s a s ...................................... .........................................................374.3 Gl o b u s ........................................................ .'.......................................................................... 384.4 U C L A ...................................................................................................................................... 394.5 BCIT......... ...................................... .................................... ....................................................404.6 M e r it .................................................................................. ....................................................414.7 Te l ia ............................................................................................ ........................................... 414.8 Comparação Entre os B andw idth Br o k e r s .......................................................424.9 Conclusão ...... ................................... ..................................................................................43

5 O SISTEM A D E G E R Ê N C IA .............................................................................................. 46

5.1 Funcio nalidades............"................................. .................................................... ..........465.2 Interface com o U suá r io ...... ........................... ............................................ ...............475.3 Conclusão .......................................... ............... ................................................................ 49

6 IM PL E M E N T A Ç Ã O D O SISTEM A D E G E R ÊN C IA ...............................................50

6.1 Tecnologias U sadas e Justificativas.................................................................... 506.2 Arquitetura do S is t e m a .................................. :.......................................................... 526.3 A gente d e D escoberta de Ro t a s ...................................... ......................................546.4 A gente de Co n fig u r a çã o ........................... ..................................................................566.5 A gente d e M edição ................................................................ .........................................57

7 A V A L IA Ç Ã O D O SIST E M A D E G E R Ê N C IA ............................................................ 60

7.1 A m biente d e t e st e s ..........................................................................................................607.2 Cadastram ento d e Clientes............................................... ....................................... 627.3 D escoberta e Configuração dos N ós d o D om ínio ............................................647 .4 M edição d a Qua lid a d e d a s Tr a n sm issõ es ...........................................................66

7.4.1 M edições sem Serviço Premium em Rede sem Tráfego .......................................667.4.2 M edições sem S etviço Premium em Rede Congestionada ..................................727.4.3 M edições com Serviço Premium em Rede C ongestionada ................................ 79

7.5 C onclusão ............................................................................................................................ 81

8 C O N C L U S Ã O ....................................................... ...................................................................... 83

8.1 Conclusões sobre o Sistema d e Gerência............................................................838.2 Conclusões Ge r a is ..........................................................................................................858.3 Sugestões para Trabalhos Futuros ......................................................................86

8.3.1 Gerenciamento dos Recursos do D om ínio .............................................................868.3.2 Reser\>a de Recursos A través de Vários Domínios...............................................868 .3 .3 Gerenciamento do Uso dos Recursos da R ed e ......................................................87

Page 5: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

REFERÊNCIAS BIBLIOGRÁFICAS......................................................................... 88

ANEXO 1 - DESCRIÇÃO DOS ARQUIVOS DA APLICAÇÃO WEB................... 94

ANEXO 2 - DESCRIÇÃO DAS CLASSES DO AGENTE DE DESCOBERTA DE ROTAS.............................................................................................................................96

ANEXO 3 - DESCRIÇÃO DAS CLASSES DO AGENTE DE CONFIGURAÇÃO 97

ANEXO 4 - DESCRIÇÃO DAS CLASSES DO AGENTE DE MEDIÇÃO...........101

Page 6: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

LISTA DE FIGURAS

Figura 2-1: M étodo do balde d e h c h a s ...... ..............................................................................10F ig u ra 2-2: L a tê n c ia o n e - w a y ......................................................................................................... 12F ig u ra 2-3: L a tê n c ia r o u n d - t r i p ...................................................................................................13Figura 3-1: Fluxo QPS do cliente para o pro vedo r ...........................................................24F igura 3-2: Processamento dos pacotes d a r e d e ................................................................. 26Figura 3-3: Exemplo de disciplina de enfileiramento com filtros e classes......... 27Figura 4-1: Componentes que form am o B andw idth Broker [N IC 99]........................33Figura 4-2: D omínios D iffServ com B andw idth Brokers................................................. 34Figura 5-1: Operação do sist em a ................................................................................................. 46Figura 5-2: Interface do gerente de S erviços D iferenciados.......................................48Figura 6-1: Arquitetura do gerente de Serviços D iferenciados.................................54F ig u ra 6-2: A m biente d e t e s t e s com a fe r r a m e n ta T r a c e r o u t e .................................... 55Figura 7-1: Ambiente d e t e st e s .....................:...............................................................................61Figura 7-2: Visualização do s clientes c a d a st r a d o s ........................................................ 62F ig u ra 7-3: T e s te d e m ed ição sem t r á f e g o d e b a c k g r o u n d .............................................. 67F ig u ra 7-4: G r á fic o d a m ed ição om e-w afsem t r á f e g o d e b a c k g r o u n d ...................... 68F ig u r a 7-5: G r á h c o d a m e d içã o o n e - w a y n o s e n u d o in v e r s o sem t r á f e g o d e

b a c k g r o u n d .....................................................................................................................................69F ig u r a 7-6: G r á h c o d a m e d içã o o n e - w a y c o m s in c r o n iz a ç ã o a c a d a 30 s e g u n d o s e

sem t r á f e g o d e b a c k g r o u n d ...................................................................................................70Figura 7-7: Gr á h c o d a m edição cw£ -wa7Com sincronização a c a d a 1 seg u n do e

SEM TRÁFEGO DE BACKGROUND ................................................................................... ................................71F ig u ra 7-8: G r á h c o d a m ed içã o r o u n d - t r ip s e u t r á f e g o d e b a c k g r o u n d ................72F ig u ra 7-9: T e s te d e m ed içã o com t r á f e g o d e b a c k g r o u n d ............................................. 73F Igu ra 7-10: G r á h c o d a s m ed içõ es d e l a t ê n c ia o n e - w a y com t r á f e g o d e

b a c k g r o u n d .....................................................................................................................................74F Igu ra 7-11: M ed ições o n e - w a y com s e r v iç o P rem ium ....................................................... 80

Page 7: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

LISTA DE TABELAS

Tabela 3-1: Códigos DSCP d a s classes AF............................................................................. 21Tabela 4-1: Com paração entre B andw idth B rokers........................................................ 42Tabela 6-1: Tecnologias escolhidas para o desenvolvimento do sist e m a ............50T a b e la 6-2: R e s u lta d o d o Traceroute e n tr e 192.168.2.2 e 192.168.3.2 ......................55T a b e la 6-3: R e s u l ta d o d o Traceroute e n tr e 192.168.3.2 e 192 .168 .2 .2 .....................55Tabela 6-4: Fontes d e erro d e m e d iç ã o .....................................................................................59Tabela 7-1: In fo r m a ç õ es d o TC sobre a configuração ba se n a interface ethO do

n ó Lin u x I ........................................................................ :.............................................................63Tabela 7-2: Info rm açõ es do TC sobre a configuração ba se n a interface ethI do

nó Ro t e a d o r ......................................... ........................................................................................64Tabela 7-3: In fo r m a ç õ es d o TC sobre os filtros configurados n a interface ethO

do nó L inux 1 .............. ..................................................................................................................66Ta bela 7-4: In fo r m a ç õ es d o TC sobre os filtros configurados n a interface e i h I

do nó Roteador ........................................................................................................................... 66T a b e la 7-5: E s t a t í s t ic a s d a m e d içã o one-way co m s in c r o n iz a ç ã o a c a d a 30

se g u n d o s e sem t r á f e g o d e background ....................................................................... . 70T a b e la 7-6: E s t a t í s t i c a s d a m e d iç ã o one-way co m s in c r o n iz a ç ã o a c a d a 1

SEGUNDO E SEM TRÁFEGO DE BACKGROUND........................................................................... 71T a b e la 7-7: E s t a t í s t i c a s d a m ed içã o round-trip sem t r á f e g o d e ba c k g r o u n d ..... 72T a b e la 7-8: E s t a t í s t i c a s d o a g e n t e d e m ed içã o s e g u n d o o m é to d o o n e-way c o m

PACOTES TCP E TRÁFEGO DE BACKGROUND........................................................................... 76T a b e la 7-9: E s t a t í s t i c a s d o a g e n t e d e m ed içã o s e g u n d o o m é to d o o n e-way c o m

PACOTES U D P E TRÁFEGO DE BACKGROUND........................................................................... 76T a b e la 7-10: E s t a t í s t i c a s d o M G EN se g u n d o o m é to d o o n e- w azcom p a c o te s U D P

E TRÁFEGO DE BACKGROUND....................................................................................................... 77T a b e la 7-11: E s t a t í s t i c a s d o a g e n t e d e m ed içã o s e g u n d o o m é to d o ro u n d - trip

COM PACOTES TCP E TRÁFEGO DE BACKGROUND.................................................................. 78T a b e la 7-12: E s t a t í s t ic a s d o a g e n t e d e m ed ição se g u n d o o m é to d o ro u n d -trip

COM PACOTES U D P E TRÁFEGO DE BACKGROUND................................................... ............. 78T a b e la 7-13: E s t a t í s t i c a s d o PING se g u n d o o m é to d o r o u n d -trip com p a c o te s

ICMP e t r á f e g o d e ba ck g r o u n d ...........................................................................................79Ta bela 7-14: M edições com U D P ............................................................... .................................. 81Tabela 7-15: M edições com TCP...................................................................................................81

Page 8: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

LISTA DE SIGLAS

AF Assured Forwarding

API Application Programming Interface

ATM i Asynchronous Transfer Mode

BAR Bandwidth Allocation Request

BB Bandwidth Broker

CBQ Class Based Queuing

COPS Common Open Policy Service Protocol

CSZ Clark-Shenker-Zhang

DiffServ Differentiated Services

DS Differentiated Services

DSCP Differentiated Services Code Point

DSMARK Differentiated Services Field Marker

EF Expedited Forwarding

HTB Hierarchical Token Bucket

HTML Hyper Text Markup Language

HTTP Hyper Text Transfer Protocol

ICMP Internet Control Message Protocol

IETF Internet Engineering Task Force

HOP Internet Inter ORB Protocol

IntServ Integrated Services

IP Internet Protocol

IPPM Internet Protocol Performance Metrics

JDK Java Development Kit

JNI Java Native Interface

JSP Java Server Pages

MIB Management Information Base

MTU Maximum Transmission Unit

NTP Network Time Protocol

OSPF Open Shortest Path First

Page 9: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

PC Personal Computer

PDP Policy Decision Point

PEP Policy Enforcement Point

PHB Per-Hop Behavior

PEB Policy Information Base

PQ Priority Queuing

QoS Quality of Service

RAP Resource Allocation Protocol

RED Random Early Detection

RSVP Resource Reservation Protocol

SFQ Stochastic Fair Queuing

SLA Service Level Agreement

SLS Service Level Specification

SNMP Simple Network Management Protocol

TBF Token Bucket Filter

TC Traffic Controller

TCP Transmission Control Protocol

TOS Type of Service

TTL Time To Live

UDP User Datagram Protocol

UTC Coordinated Universal Time

WFQ Weighted Fair Queuing

Page 10: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

RESUMO

Novos serviços baseados na arquitetura de Serviços Diferenciados estão sendo

especificados para suportar aplicações avançadas na Internet. Um exemplo destes serviços

é o serviço Premium, o qual possui a capacidade de garantir largura de banda e baixos

níveis de latência, variação de latência e perda de pacotes. Devido ao aumento da

complexidade da rede gerado por tais serviços, será necessário desenvolver um sistema de

gerenciamento sofisticado para controlar o uso da rede. Por esta razão, várias esforços

estão sendo direcionados na especificação de um sistema de gerenciamento para os

serviços diferenciados. No momento, esta especificação ainda está incompleta,

apresentando apenas uma arquitetura básica do sistema e as principais funcionalidades

que devem ser implementadas. Este trabalho avalia a situação atual desta arquitetura

através da implementação de um sistema de gerenciamento para o serviço Premium

baseado na especificação existente. O modo como as funcionalidades do sistema foram

desenvolvidas e as dificuldades encontradas são apresentadas em detalhes e as

perspectivas futuras na área são comentadas.

Page 11: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

ABSTRACT

New services based on the architecture of Differentiated Services are being

specified to support advanced applications in the Internet. An example of these services is

the Premium service, which possesses the capacity to guarantee bandwidth and low levels

of latency, latency variation and packet loss. Due to the increase of the complexity of the

net generated by such services, it will be necessary to develop a sophisticated

management system to control the use of the net. For this reason, several efforts are being

addressed in the specification of a management system for the differentiated services. In

the moment, this specification is still incomplete, just presenting a basic architecture of

the system and the main functionalities that should be implemented. This work evaluates

the current situation of this architecture through the implementation of a management

system for the Premium service based on the existent specification. The way the

functionalities of the system were developed and the difficulties that had been found are

presented in details and the future perspectives in the area are commented.

Page 12: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

1 INTRODUÇÃO

1.1 Considerações Iniciais

Com a rápida transformação da Internet em uma infraestrutura comercial, tem

surgido muita necessidade por garantias de qualidade que a Internet atual não tem

condições de prover. Esta qualidade é representada, principalmente, pela garantia de que

as transmissões possuam baixos níveis de latência, variação de latência e perda de

pacotes. Para disponibilizar tais níveis de qualidade, a Internet precisará implementar uma

arquitetura de Qualidade de Serviço com capacidade de tratar diferentemente cada

tráfego.

Nos últimos anos, a arquitetura de Qualidade de Serviço chamada Serviços

Diferenciados [BLA98] tem despertado muito interesse no IETF (Internet Engineering

Task Force) e nos provedores de serviços e equipamentos para a Internet. Esta arquitetura

apresenta avanços em relação à arquitetura de Serviços Integrados em termos de

escalabilidade e simplicidade. Por esta razão, diversos projetos de avaliação e

aprimoramento da arquitetura estão sendo realizados atualmente. Por exemplo, o

consórcio Intemet2 vem investindo em um projeto chamado QBone [TEI99], o qual tem o

propósito de criar um ambiente de testes para os Serviços Diferenciados. O serviço que

vem sendo testado com maior ênfase atualmente se chama serviço Premium Este serviço

é razoavelmente simples de implementar e se aplica bem às necessidades atuais de

qualidade devido às suas características de baixos níveis de latência, variação de latência e

perda de pacotes.

No atual momento, o suporte aos Serviços Diferenciados vem sendo habilitado nas

redes locais de diversas instituições de ensino e pesquisa com os objetivos de verificar as

características da tecnologia e avaliar suas reais possibilidades de implementação em

grande escala. A grande maioria destes testes tem sido realizada através da configuração

manual dos nós da rede. Em testes básicos com poucos equipamentos isso não representa

um grande problema, porém testes mais sofisticados em redes maiores podem provocar

uma grande perda de tempo na realização das configurações. Prevendo a necessidade de

um sistema de configuração automática, a arquitetura de Serviços Diferenciados definiu

um componente especializado no gerenciamento dos recursos das redes. Este componente

Page 13: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

é chamado de Bandwidth Broker e sua principal função é viabilizar a disponibilidade de

serviços aos usuários da rede. Para isso, o Bandwidth Broker deve implementar as

seguintes funcionalidades: processamento das requisições de serviço de acordo com as

políticas da organização, interação com os nós da rede para a configuração dos

mecanismos de controle de tráfego e gerenciamento dos recursos alocados.

1.2 Objetivos

1.2.1 Objetivo Geral

O objetivo geral deste trabalho é implementar um sistema de gerência para a

arquitetura de Serviços Diferenciados. Este sistema é composto por uma parte gerente,

baseada no Bandwidth Broker, e uma parte agente, composta por sistemas de

configuração e medição.

1.2.2 Objetivos Específicos

Os objetivos específicos deste trabalho são:

• Estudar a arquitetura de Serviços Diferenciados, principalmente as

especificações do Bandwidth Broker e do serviço Premium;

• Pesquisar implementações do Bandwidth Broker e avaliar as tecnologias usadas;

• Implementar um sistema de gerência para o serviço Premium baseado nas

especificações do Bandwidth Broker,

• Verificar a qualidade do sistema através de testes práticos; e

• Discutir os problemas enfrentados na implementação do sistema e as

perspectivas futuras nesta área.

1.3 Justificativas

Na área de Qualidade de Serviço, a arquitetura de Serviços Diferenciados [BLA98]

tem evoluído bastante desde sua especificação em 1998, principalmente através dos

diversos projetos que vêm sendo realizados por universidades e empresas de diversas

partes do mundo. Muito trabalho tem sido realizado no aperfeiçoamento da arquitetura e

na especificação de serviços fáceis de implementar e úteis para as necessidades de

Page 14: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

qualidade do momento. Mesmo assim, a implementação da arquitetura fora dos ambientes

de teste ainda não é possível devido ao fato de existirem diversos detalhes técnicos a

resolver. Uma das áreas com menor número de trabalhos e maior número de indefinições

é a área de gerenciamento da arquitetura. Esta área é essencial para implementação da

arquitetura devido às tarefas que é responsável, como, por exemplo, o controle das

políticas de alocação de recursos da rede e a configuração automática dos roteadores para

disponibilizar novos serviços aos usuários.

Este trabalho foi realizado na área de gerenciamento da arquitetura de Serviços

Diferenciados devido à sua importância na implantação da arquitetura e aos desafios que

apresenta. Atualmente, poucos projetos vêm sendo realizados sobre os Bandwidth

Brokers devido à necessidade de maiores definições sobre a arquitetura do sistema e as

tecnologias que devem ser usadas. Porém, projetos em áreas relacionadas ao Bandwidth

Broker vêm apresentando avanços que poderão ajudar a eliminar as dificuldades de

gerenciamento da arquitetura de Serviços Diferenciados. Por esta razão, é importante que

novos trabalhos nesta área de gerenciamento de Qualidade de Serviço sejam feitos para

acelerar o aprimoramento da arquitetura. Neste trabalho, foi realizada uma pesquisa sobre

projetos similares já realizados e atuais esforços com o propósito de avaliar a situação

desta área da arquitetura de Serviços Diferenciados. Com base nestes dados, foi realizada

a implementação de um sistema básico de gerenciamento para o serviço Premium com o

objetivo de obter uma experiência prática e, desta forma, melhor avaliar o Bandwidth

Broker e suas necessidades de aprimoramento.

1.4 Estrutura do Trabalho

O trabalho está organizado em nove capítulos:

• Capítulo 1: Introdução - Neste capítulo são apresentados os objetivos e justificativas

do trabalho;

• Capítulo 2: Quaüdade de Serviço na Internet - São apresentadas as principais noções

relacionadas com a Qualidade de Serviço;

• Capítulo 3: Serviços Diferenciados - São apresentados os conceitos e a atual

situação da tecnologia;

Page 15: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Capítulo 4: Bandwidth Broker e Implementações Existentes - Este componente da

arquitetura de Serviços Diferenciados é apresentado e suas principais

implementações são comparadas;

Capítulo 5: O Sistema de Gerência - Neste capítulo é introduzido o sistema de

gerência, com ênfase nas suas funcionalidades.

Capítulo 6: Implementação do Sistema de Gerência - Neste capítulo são

apresentados os detalhes da implementação do sistema, tais como as tecnologias

usadas e a arquitetura do sistema;

Capítulo 7: Avaliação do Sistema de Gerência, onde diversos testes com o sistema

são apresentados e discutidos;

Capítulo 8: Conclusão, onde são apresentadas as conclusões do trabalho realizado e

as perspectivas futuras na área.

Page 16: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

2 QUALIDADE DE SERVIÇO NA INTERNET

2.1 Definição

Qualidade de Serviço (Quality o f Service - QoS) [FER98] pode ser definida como o

fornecimento de serviços de entrega de dados consistente e previsível. Com QoS, os

usuários da rede podem ter certeza que as necessidades de serviço e tráfego podem ser

satisfeitas. Habilitar QoS requer a cooperação de todos os elementos da rede, de ponta a

ponta. Para prover QoS com um nível de serviço garantido é necessário alocar recursos

para fluxos de dados individuais. Além disso, é importante que o tráfego não prioritário

não seja privado de fluir pela rede devido às reservas de recursos da rede. As aplicações

que usam tecnologias de QoS não podem desabilitar as aplicações Internet comuns.

Na Internet, QoS pode ser bastante útil para dar tratamento preferencial para certos

tipos de tráfegos IP (Internet Protocol). Com o suporte a QoS através de uma rota, pode-

se reduzir bastante os efeitos provocados pela latência nas filas dos roteadores e pelos

congestionamentos na rede. Um nó que suporta QoS pode classificar o tráfego em classes

de serviço distintas e realizar reserva de recursos para aplicações. Além disso, QoS pode

ser usado por instituições para desenvolver e forçar o policiamento do usò da banda da

rede.

O protocolo IP e a arquitetura da Internet são baseados no conceito de que

datagramas com endereços fonte e destino podem atravessar uma rede de roteadores

independentemente, isto é, sem a ajuda do transmissor ou receptor. Porém, existe um

preço a pagar por esta simplicidade. A razão pela qual o IP é simples se deve ao fato de

não disponibilizar vários serviços. O IP disponibiliza endereçamento e, com isso, habilita

a independência de cada datagrama. O IP pode fragmentar os datagramas nos roteadores e

remontá-los no receptor para passar por diferentes mídias de rede. Mas o IP não

disponibiliza o serviço de entrega confiável de dados. Os roteadores podem descartar

datagramas IP sem avisar o transmissor ou o receptor. O IP espera que os protocolos das

camadas superiores façam o controle dos datagramas e o retransmitam se necessário,

como faz o TCP (Transmission Control Protocol). Nem o IP nem os protocolos das

camadas superiores podem dar certeza do tempo de entrega ou prover garantias sobre o

comportamento dos fluxos de dados.

Page 17: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

2.2 Principais Medidas de Qualidade

2.2.1 Latência

Segundo [FER98], a latência de uma transmissão é o tempo entre o envio de uma

mensagem de um nó e o recebimento da mesma em outro nó. Isto inclui o tempo gasto

nas linhas de transmissão e nos dispositivos da rota de transmissão. As linhas e hubs têm

um tempo de transmissão relativamente, constante. A maior parte da latência é originada

dentro dos dispositivos de comunicação (computadores e roteadores). Cada nível na pilha

do protocolo TCP/IP dos computadores e roteadores representa um processamento que

gera uma certa quantidade de latência. A latência que cada mensagem encontra em cada

nível é variável e costuma depender da carga de processamento do dispositivo da rede

naquele instante. Nos roteadores, a latência é a quantidade de tempo entre a recepção e

retransmissão dos pacotes, também conhecida como tempo de propagação.

A latência tem grande influência sobre a qualidade de aplicações interativas.

Aplicações como telefonia e videoconferência pela Internet são exemplos destas

aplicações. Até certo limite de latência, o ser humano entende que os dados estão sendo

transmitidos e reproduzidos de forma instantânea. Porém, quando a latência das

transmissões passa de um limite, esta característica é perdida e a interatividade entre os

usuários fica bastante prejudicada. A latência também afeta sistemas computadorizados

dependentes de transmissões de informações quase instantâneas, como os sistemas de

operação remota em pacientes usando robôs.

2.2.2 Variação de Latência

Em uma rede de pacotes, a variação de latência [FER98] ocorre, principalmente,

devido à latência gerada pelo enfileiramento dos pacotes nas interfaces de saída dos

roteadores. Como a quantidade de pacotes enfileirados varia de acordo com as variações

do tráfego, as latências dos pacotes também variam.

A variação de latência, juntamente com a latência, é particularmente importante em

aplicações que necessitam da transmissão contínua de dados para atingir uma qualidade

aceitável. Exemplos de aplicações não-interativas que são as transmissões de áudio e

Page 18: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

vídeo na Internet. Nestes casos, antes do início das reproduções, os pacotes são

armazenados no destino por um certo tempo antes de serem consumidos pela aplicação.

Esta técnica é chamada buffeting e seu objetivo é evitar que a reprodução dos dados seja

prejudicada pelas variações de latência dos pacotes. Os pacotes que chegam com latência

menor que um valor limite são colocados em um espaço de armazenamento (buffer) antes

da reprodução e os pacotes que chegam depois são descartados. Quanto maior a variação

de latência, maior deverá ser o tamanho do buffer para os pacotes. É importante notar que,

quanto maior a quantidade de pacotes armazenados, maior será a latência dos mesmos,

portanto aumentar o buffer não representa a solução do problema. Aplicações deste tipo

dependem muito do controle da rede sobre os níveis de variação de latência dos pacotes.

Estudos sobre variação de latência e seu controle, como os apresentados em

[VER91], [BAS98] e [MAN98], explicam que, para manter baixo o nível de variação de

latência, o tráfego deve ser condicionado nos roteadores.

2.2.3 Perda de Pacotes

A perda de pácotes acontece, principalmente, devido ao descarte de pacotes em

roteadores onde os buffers não comportam todos os pacotes recebidos. O processo de

descarte de pacotes depende de três fatores: condicionamento de tráfego, escalonamento

do tráfego na interface de saída e recursos disponíveis no escalonador.

Existem diversas razões porque a perda de pacotes tem grande influência na

qualidade de transmissões. Algumas aplicações, como as aplicações de multimídia, não

funcionam bem se a taxa de perda de pacotes excede um certo limite. Esta sensibilidade à

perda de pacotes aumenta em situações onde as linhas de comunicação têm baixa

velocidade. Além disso, protocolos da camada de transporte não conseguem manter altas

taxas de transmissão em situações de grande perda de pacotes.

É importante distinguir a perda de um pacote de uma grande latência. Um limite

simples seria os 255 segundos da vida de um pacote IP, porém estudos devem ser feitos

para chegar a um valor perto do ideal. No QBone [TEI99], o tempo mínimo para concluir

que um pacote foi perdido é de dois minutos devido ao fato de ser o valor padrão do TCP

e por funcionar muito bem para a maioria das aplicações.

Page 19: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

2.3 Mecanismos de Qualidade de Serviço

2.3.1 Controle de Admissão

O controle de admissão é uma parte crucial em qualquer implementação de QoS.

Sua principal função é controlar o tráfego que entra na rede. Em redes IP com Serviços

Diferenciados, o controle de admissão determina se a requisição de uma conexão pode ser

satisfeita pela rede. As principais informações que costumam ser consideradas antes de

tomar esta decisão são: a quantidade de tráfego no momento, o perfil de tráfego

requisitado e a QoS requisitada.

2.3.2 Classificação de Pacotes

Para disponibilizar a qualidade de serviço requisitada, é importante classificar os

pacotes para realizar tratamentos de QoS diferentes. Na Internet, isto pode ser feito com

base nas informações existentes no cabeçalho do pacote IP (ex.: endereços fonte/destino e

tipo de protocolo) e de pacotes de protocolos de camadas mais altas (ex.: número das

portas fonte/destino do TCP ou do UDP - User Datagram Protocol). A realização da

classificação de pacotes de forma eficiente e consistente é uma questão bastante discutida

e pesquisada na área de QoS.

2.3.3 Marcação de Pacotes

Em redes com QoS, os pacotes podem ser marcados para receber um determinado

tratamento na rede. A marcação pode ser resultado de um mecanismo de monitoração de

tráfego ou de uma discriminação voluntária. Normalmente esta marcação é realizada em

algum dos campos do cabeçalho do pacote de dados.

2.3.4 Enfileiramento

No contexto de redes de computadores, enfileiramento é o ato de estocar pacotes

para posterior processamento. O enfileiramento costuma ser realizado logo após a

Page 20: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

chegada dos pacotes nas interfaces de entrada e logo antes da transmissão pelas interfaces

de saída. O gerenciamento de filas é um mecanismo fundamental para realizar a

diferenciação de níveis de serviço. A escolha correta do algoritmo de enfileiramento e do

tamanho máximo da fila é difícil devido aos diferentes padrões de tráfego presentes na

Internet.

2.3.5 Condicionamento de Tráfego

Em redes IP com QoS é necessário especificar o perfil dos tráfegos para decidir

como os recursos da rede devem ser alocados. O condicionamento de tráfego certifica que

o tráfego entrando através do roteador segue o perfil de tráfego especificado. O volume de

tráfego e sua taxa de transmissão são controlados através deste mecanismo. Também pode

ser necessário identificar os fluxos de tráfego no roteador de borda (roteador que interliga

duas redes) para separá-los e condicioná-los diferentemente. Atualmente, os métodos

predominantes para condicionar tráfego são: balde furado (leaky bucket) e balde de fichas

Ctoken bucket). Estes métodos têm propriedades diferentes e são usados para propósitos

diferentes.

O método do balde furado é usado para controlar a taxa na qual o tráfego é enviado

na rede. Ele tem a capacidade de transformar tráfegos em rajada em tráfegos contínuos. O

tamanho do balde e a taxa de transmissão costumam ser configurados pelo usuário e

medidos em bytes. Devido à taxa de transmissão ser fixa, este mecanismo não serve para

condicionar tráfegos com taxas de transmissão variáveis.

O método do balde de fichas, ilustrado na figura 2-1, define quando o tráfego pode

ser transmitido baseado na presença de fichas no balde. Cada ficha representa uma

unidade em bytes e os fluxos podem ser transmitidos enquanto existirem fichas. A

principal diferença do método balde de fichas em relação ao método balde furado é sua

característica de permitir que tráfegos em rajadas continuem sendo transmitidos enquanto

existirem fichas no balde. Desta forma, tráfegos em rajada mantêm suas características. .

Considerando o envio de um pacote de tamanho b fichas (b < S), três cenários

podem ser apresentados:

• O balde de fichas está cheio. Neste caso o pacote é enviado e b fichas são

removidos do balde.

Page 21: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

• O balde de fichas está vazio. Neste caso o pacote deve esperar que b fichas

sejam recolocadas no balde antes de enviar.

• O balde de fichas está parcialmente cheio. Existem B fichas no balde. Se b < B

então o pacote é enviado imediatamente; caso contrário ele deve esperar pelas

b - B fichas que faltam.

2.3.6 Priorização e Escalonamento

Para satisfazer as necessidades de QoS dos diversos fluxos, os nós precisam ter

mecanismos de priorização e escalonamento. Através da priorização, pode-se servir

pacotes com alta prioridade antes de pacotes com baixa prioridade em relação ao seu

processamento e transmissão através da interface de saída. O tratamento de prioridade

também pode influenciar a taxa de perda de pacotes dos diversos fluxos de dados. A

priorização de pacotes é a base da diferenciação dos tráfegos na arquitetura de Serviços

Diferenciados.

Os nós também precisam ter mecanismos de escalonamento para certificar que cada

fluxo obtenha a parte dos recursos que foi prometida, isto é, processamento e largura de

banda. O escalonamento também certifica que qualquer recurso disponível seja

distribuído justamente.

2.3.7 Controle de Congestionamento

RR = taxa na qual as fichas são

colocados no balde

S = capacidade do balde

Regulador

Figura 2-1: Método do balde de fichas

Para que as redes IP com QoS operem de forma eficiente e estável é essencial que

existam mecanismos de controle de congestionamento viáveis e robustos. Estes

Page 22: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

mecanismos estão relacionados com o controle dos fluxos de pacotes nas filas dos

roteadores.

Sem controle de congestionamento, as filas dos roteadores enchem até o limite. A

partir daí, os pacotes começam a ser descartados. Quando tais descartes acontecem, o

protocolo TCP reduz a taxa de transmissão dos pacotes para tentar diminuir o

congestionamento. Este mecanismo é útil, porém não resolve sempre. Existe um

mecanismo chamado RED (Random Early Detection) que evita os congestionamentos

através do descarte randômico de pacotes das filas que estão ficando cheias. Através

destes descartes, as transmissões TCP reduzem os tráfegos e o congestionamento é

evitado.

2.4 Métricas do IPPM

O grupo de trabalho IPPM (Internet Protocol Performance Metrícs) do IETF vem

desenvolvendo diversos trabalhos relacionados com a medição da performance e

confiabilidade das transmissões em redes TCP/IP. Seus principais avanços têm sido

representados pela definição de métricas de medição de latência, variação de latência e

taxa de perda de pacotes. Estas métricas são apresentadas a seguir, incluindo suas

metodologias de medição e as diversas fontes de erro que pode influenciar a

confiabilidade dos resultados.

2.4.1.1 Latência One-way

Uma/boa forma de medir a latência de transmissões é através da métrica Type-P-

One-way-Delay [KAL99a] definida pelo grupo de trabalho IPPM. Esta métrica é

apropriada para situações onde se quer medir o tempo de transmissão de pacotes em uma

direção específica. Cada amostra é obtida pela contagem do tempo entre a saída do pacote

do nó fonte e a chegada do mesmo no nó destino, como ilustrado na figura 2-2. A métrica

é composta pelos parâmetros: Src (endereço IP fonte), Dst (endereço IP destino) e T

(tempo). Uma amostra de latência de um nó fonte até um nó destino no tempo T é

denominada dT, isto é, o nó fonte envia o primeiro bit de um pacote de teste no tempo T e

o nó destino recebe o último bit daquele pacote no tempo T+dT.

Page 23: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

tempo na saída = T latência = dT tempo na chegada = T+ dT

fonte [— à destino

Figura 2-2: Latência one-way

Esta métrica é bastante recomendada para aplicações de rede que realizam

transmissões em somente um sentido na maioria do tempo. Exemplos destas aplicações

podem ser os sistemas de transferência de arquivos (File Tranfer Protocol) e os sistemas

de transmissão ponto-multiponto (broadcast) de áudio e vídeo pela Internet. Por suas

características, estas aplicações necessitam de boa performance de transmissão em

somente um único sentido. Desta forma, a medição da performance da rede é necessária

somente no sentido do fluxo de dados.

A metodologia de medição da métrica Type-P-One-way-Delay segue os seguintes

passos:

• Certificar que os nós fonte e destino estão bem sincronizados entre si e com o

tempo atual;

• Criar um pacote de teste com os endereços Src e Dst no nó fonte. A parte do

pacote referente aos dados deve ser preenchida com caracteres aleatórios para

evitar a medição de valores menores do que deveria caso haja alguma

compressão do pacote;

• Esperar a chegada deste pacote no nó fonte;

• Marcar o tempo atual do sistema neste pacote no nó fonte e transmiti-lo para o

nó destino;

• Se o pacote chegar dentro de um período de tempo razoável, o tempo de

chegada e o tempo marcado no pacote são determinados o mais rápido possível.

Uma estimativa da latência one-way pode ser calculada pela subtração dos dois

tempos. Se o pacote não chegar dentro de um tempo pré-determinado, a latência

one-way é denominada indefinida.

A metodologia de medição não especifica o tempo limite de espera pelos pacotes de

teste antes de determiná-los perdidos. Na prática, uma boa engenharia de redes e um bom

entendimento do tempo de vida dos pacotes são necessários para poder determinar este

limite.

Page 24: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

A análise de erro de uma implementação do método deve levar em conta o nível de

sincronização entre os relógios do nó fonte e nó destino. Já que a latência dos pacotes

costuma ter valores bem baixos (alguns müisegundos), é muito importante que os relógios

sejam sincronizados com extrema precisão. Duas alternativas para esta sincronização são

os sistemas GPS (Global Positioning Service) e os servidores NTP.

2.4.1.2 Latência Round-trip

Outra alternativa para medir a latência de transmissões é através da métrica Type-P-

Round-trip-Delay [KAL99b]. Na medição de latência round-trip, cada amostra é obtida

pela contagem do tempo entre a saída do pacote do nó fonte, sua passagem pelo nó

destino e sua chegada no mesmo nó fonte, como ilustrado na figura 2-3. Similarmente à

métrica Type-P-One-way-Delay, esta métrica é c omposta pelos parâmetros: Src

(endereço IP fonte), Dst (endereço IP destino) e T (tempo).

'a T L! mstempo na saída = T

fonte destino

tempo na cnegaaa = i + l , L, mssendo L = Li + L2

Figura 2-3: Latência round-trip

Esta métrica é mais apropriada para situações onde é interessante saber o tempo de

ida e volta entre dois .pontos. Esta é a realidade em diversas aplicações, inclusive as

aplicações interativas, como as videoconferências ponto-a-ponto. Nos casos onde é

necessário determinar o valor da latência em somente um sentido, costuma-se dividir os

valores medidos por dois.

A metodologia de medição da métrica Type-P-Round-trip-Delay é a seguinte:

• Criar um pacote de teste com os endereços Src e Dst no nó fonte. A parte do

pacote referente aos dados deve ser preenchida com caracteres aleatórios para

evitar a medição de valores menores do que deveria caso haja alguma

compressão do pacote. O pacote deve ter algum identificador de seqüência para

controle;

Page 25: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

• Esperar a chegada deste pacote no nó destino;

• Inserir o tempo atuai do sistema no pacote no nó fonte e transmiti-lo para o nó

destino;

• Se o pacote chegar no nó destino, enviar um pacote de resposta com o mesmo

conteúdo para o nó fonte o mais rápido possível;

• Se o pacote de resposta chegar dentro de um período de tempo razoável no nó

fonte, o tempo de chegada e o tempo marcado no pacote são determinados o

mais rápido possível. Uma estimativa da latência round-trip pode ser calculada

pela subtração dos dois tempos. Se o pacote não chegar dentro de um tempo

pré-determinado, a latência é denominada indefinida.

Este método, comparado com o método de medição de latência one-way, apresenta

nlgumas vantagens e desvantagens. A principal vantagem é a maior facilidade de

implementação, principalmente porque o nó destino deve somente devolver os pacotes

recebidos. O maior processamento fica centralizado no nó fonte. Além disso, como a

única referência de tempo é o relógio do nó fonte, não é preciso se preocupar com a

sincronização entre os nós.

Entre as desvantagens, pode-se citar o problema da assimetria de caminhos nas

transmissões pela Internet, isto é, o caminho usado pelos pacotes enviados de um ponto A

para um ponto B pode ser diferente do caminho usado pelos pacotes enviados do ponto B

para o ponto A. Desta forma, as medições round-trip podem medir a performance de dois

caminhos distintos juntos. Mesmo que os caminhos sejam simétricos, eles podem ter

diferenças de performance, principalmente em situações onde há reserva de recursos em

algum sentido. Em diversos casos, as reservas de recursos para as aplicações são

realizadas somente um sentido.

2.4.1.3 Variação de Latência Instantânea

Para medir a variação de latência de transmissões, o IPPM especificou a métrica

Type-P-One-way-ipdv [DEM99]. De acordo com esta métrica, em um fluxo de pacotes, a

variação de latência é medida pela diferença da latência one-way de um pacote e a

latência one-way do próximo pacote do fluxo. Tal definição assume que a fonte transmite

Page 26: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

o fluxo de pacotes de forma periódica e a uma taxa baixa para não influenciar os outros

tráfegos da rede.

Em geral, o procedimento para medição da variação de latência é o seguinte:

• Transmitir um fluxo de teste da fonte para o destino de acordo com uma

distribuição de Poisson;

• Marcar cada pacote de teste com um número seqüencial para evitar perda ou

reordenação de pacotes;

• Aplicar a metodologia da métrica Type-P-One-Way-Delay para cada par (Pn,

Pn+1) de pacotes de teste consecutivos;

• Armazenar o valor de latência de cada pacote de teste no destino do fluxo;

• Na recepção do pacote Pn+i, subtrair a latência do pacote Pn da latência do

pacote Pn+r,

• O valor resultante é a variação de latência;

• Se um ou ambos pacotes não chegarem no destino dentro de um tempoi

determinado, então a variação de latência deve ser tratada como indefinida;

• Se um pacote for duplicado pelo caminho, o pacote deve ser contado como

recebido e a primeira cópia determina o valor de latência;

• Pacotes não devem ser fragmentados.

2.4.1.4 Perda de Pacotes

A métrica de medição de perda de pacotes definida pelo IPPM se chama Type-P-

One-way-Packet-Loss [KAL99c], Ela requer que os pacotes de medição sejam enviados

de acordo com a metodologia da métrica Type-P-One-way-Delay. Segundo sua definição,

os pacotes transmitidos que chegam no destino são representados pelo valor zero e os

pacotes que se perdem são representados pelo valor um

A metodologia da métrica Type-P-One-way-Packet-Loss é composta pelos

seguintes passos:

• Certificar que os nós fonte e destino estão sincronizados entre si;

• Criar um pacote de teste com os endereços Src e Dst no nó fonte;

• Esperar a chegada deste pacote no nó destino;

Page 27: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

• Marcar o tempo atual do sistema neste pacote no nó fonte e transmiti-lo para o

nó destino;

• Se ó pacote chegar no destino, a métrica Type-P-One-way-Packet-Loss é zero.

• Se o pacote não chegar dentro do tempo limite, a métrica é um.

Existem duas situações onde um pacote é determinado perdido: quando o pacote

não chega no destino ou quando a diferença entre o tempo de saída e o tempo de chegada

do pacote é maior que o tempo limite de espera. Se os nós não estiverem bem

sincronizados, a definição da latência dos pacotes pode ser feita erroneamente,

prejudicando a determinação dos pacotes perdidos. Nestes casos, pacotes que chegam

dentro do limite podem ser considerados perdidos. Para que as medições sejarn precisas,

os nós devem estar sincronizados e o valor limite de espera deve ser alto o suficiente para

que os pacotes que chegam no destino sejam raramente considerados perdidos.

Os recursos da máquina receptora dos pacotes podem influenciar a medição de

pacotes perdidos. Nos casos onde os recursos do sistema estão no limite, alguns pacotes

podem ser descartados e contados perdidos, mesmo chegando em um tempo razoável. Por

esta razão, os equipamentos usados nas medições devem lidar bem com as situações de

congestionamento na interface de rede ou outro tipo de limite de recursos, como os

buffers.

2.5 Conclusão

Em rede com QoS, o controle de congestionamento para tráfegos prioritários requer

a criação de filas, o direcionamento dos pacotes para estas filas através de mecanismos de

filtragem e classificação e o escalonamento dos pacotes para transmissão. Existem vários

protocolos de enfileiramento disponíveis e cada um permite uma forma de criação de filas

diferente, proporcionando diversos níveis de diferenciação de tráfego e ordens de

transmissão.

A quaüdade das transmissões pode ser medida através de métricas de medição,

como as definidas pelo grupo de trabalho IPPM. Estas métricas são suficientes para

avaliar as transmissões ponto-a-ponto baseado nos parâmetros: latência, variação de

latência e perda de pacotes.

Page 28: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

3 SERVIÇOS DIFERENCIADOS

3.1 Introdução

Na última década, diversos grupos do IETF (Internet Engineering Task Force)

desenvolveram especificações de mecanismos de QoS para redes IP. Muito desse

desenvolvimento foi focado na arquitetura de Serviços Integrados [BRA94], a qual requer

que todos os roteadores sejam capazes de disponibilizar QoS diferentemente para cada

fluxo de dados. O problema é que este processamento diferenciado para cada fluxo

aumenta muito a carga dos roteadores, principalmente os que ficam no centro das grandes

redes (backbones). Em 1998, foi desenvolvida a arquitetura de Serviços Diferenciados

(Differentiated Services - DiffServ) [BLA98] [METOO], cujo principal objetivo seria

resolver o problema de escalabilidade encontrado pelos Serviços Integrados. Sua

arquitetura define que os roteadores centrais devem operar somente com grupos de fluxos

cujas necessidades de QoS são similares. Em vez prover níveis de QoS diferentes para

cada fluxo, os Serviços Diferenciados provêem níveis de QoS diferentes para cada grupo

de fluxos, diminuindo a complexidade da arquitetura.

Os Serviços Diferenciados podem disponibilizar vários serviços com diferentes

níveis de QoS. De acordo com as necessidades, as aplicações escolhem um dos serviços

disponíveis. Todas as aplicações que escolhem o mesmo serviço têm seus fluxos de dados

agregados e, desta forma, tratados igualmente pelos roteadores. A associação entre os

fluxos e os serviços é feita através de uma nova informação que é colocada no cabeçalho

dos pacotes IP. O DiffServ renomeou o campo TOS (Type o f Service) do IPv4 e o campo

Traffic Class do IPv6 para DS (Differentiated Services) [NIC98] e definiu um código

diferente para cada serviço disponível, chamado DSCP (Differentiated Services

Codepoint) [BLA98]. Cada DSCP corresponde a um tratamento de retransmissão

diferente, chamado PHB (PerHop Behavior) [NIC98]. De acordo com os códigos DSCP,

os roteadores da rede classificam os pacotes em diferentes classes de retransmissão, cujos

recursos alocados dependem das políticas de QoS da rede.

Os Serviços Diferenciados definiram o conceito de domínio como um conjunto

contíguo de nós que operam com uma política de provisão de serviços e implementam um

conjunto de comportamentos de retransmissão. Na prática, estes domínios são

Page 29: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

representados pelas redes das empresas, universidades, provedores de serviço, etc. Para

que os fluxos recebam QoS fim a fim, deve haver cooperação entre os diversos domínios

por onde passam estes fluxos.

A complexidade dos Serviços Diferenciados é colocada nos roteadores folha. Estes

roteadores realizam a conexão entre a rede dos usuários e os roteadores centrais. Por

representarem o primeiro roteador por onde passa o tráfego dos usuários, devemrealizar a

classificação, o policiamento, a marcação e o condicionamento de cada fluxo. Após serem

marcados e condicionados, os pacotes são transmitidos para outros roteadores, onde são

agregados com pacotes com mesma marcação provindos de outras fontes. Nestes

roteadores, onde o tráfego é maior e o processamento é mais elevado, somente a

classificação e priorização do tráfego são necessárias. Cada agregação de fluxos recebe o

tratamento definido pelo PHB correspondente ao DSCP marcado nos pacotes. A latência

das filas dos roteadores e o aumento do número de fluxos das agregações podem

aumentar a variação de latência de alguns fluxos. Para manter a qualidade dos serviços, o

tráfego deve ser condicionado nos roteadores que interconectam os domínios DiffServ.

3.2 Acordos de Nível de Serviço entre Domínios

Acordos de Nível de Serviço (Service Levei Agreements - SLAs) são contratos de

longa duração entre domínios adjacentes. Eles garantem que o nível de serviço oferecido

por um domínio a uma agregação de fluxos será mantido pelo outro domínio. Em geral,

os SLAs são contratos complexos que possuem tanto informações técnicas como

informações não técnicas, incluindo garantias de disponibilidade e performance da rede,

regras de policiamento e condicionamento do tráfego, modelos de pagamento, entre

outras questões.

Os detalhes técnicos dos SLAs são chamados de Especificações de Nível de Serviço

(.Service Levei Specifications - SLSs). Elas especificam as agregações de fluxos e suas

correspondentes regras de classificação, medição, marcação, condicionamento e descarte.

Também fazem parte das SLSs os parâmetros de performance, como taxa de transmissão,

variação de latência e taxa de perda de pacotes. De forma prática, uma SLS define que

uma agregação de fluxos, que entra em um domínio por uma linha específica e obedece a

certas condições, será tratada de acordo com o PHB adequado.

Page 30: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Através da configuração de SLAs entre os domínios DiffServ e o cuidadoso

condicionamento das fontes de tráfego dentro dos domínios, a arquitetura de Serviços

Diferenciados é capaz de prover serviços fim-a-fim através de diferentes redes

administradas separadamente, como a Internet. Além disso, os acordos de serviço dos

Serviços Diferenciados são relativamente simples e não diferem muito dos acordos de

serviço já existentes.

3.3 Comportamentos por Nó

Os comportamentos por nó (Per Hop Behaviors - PHBs) podem ser especificados

em termos de prioridades de uso de recursos (ex.: buffer e largura de banda) ou em termos

de características de tráfego observáveis (ex.: latência e perda de pacotes). Os PHBs são

definidos em termos de características de comportamento relevantes às políticas da rede e

não em termos de mecanismos de implementação. A existência do suporte a grupos PHB

em nós de um domínio DiffServ habilita a divisão eficaz dos recursos dos nós e das

conexões entre os nós. Quando um ou mais PHBs só têm sentido quando especificados

juntos, eles são denominados um grupo PHB. Além disso, é comum que mais de um

grupo PHB seja implementado em um nó e utilizado dentro de um domínio DiffServ.

3.3.1 EF

0 PHB EF (Expedited Forwarding) [JAC99] pode ser usado em domínios DiffServ

para habilitar serviços fim-a-fim com baixa perda de pacotes, baixa latência, baixa

variação de latência e largura de banda garantida.

O PHB EF é definido como um tratamento de retransmissão para a agregação de

fluxos (com DSCP 101110) onde a taxa máxima de chegada do tráfego deve ser menor

que a taxa mínima de saída em um mesmo nó. Tal exigência deve ser satisfeita porque as

filas crescem quando a taxa de chegada do tráfego excede a taxa de saída, provocando

variações de latência no tráfego. O tráfego EF deve receber a taxa estipulada

independentemente da intensidade de qualquer outro tráfego existente no nó. Além disso,

uma taxa limite máxima também deve ser configurada para garantir que a largura de

Page 31: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

banda não seja injustamente usada. Tal comportamento é atingido através do policiamento

e condicionamento do tráfego.

3.3.2 AF

O PHB AF (.Assured Forwarding) [HEI99] foi sugerido para aplicações que

necessitam de uma confiabilidade melhor que o serviço Melhor Esforço. Em uma

aplicação típica, uma empresa usa as linhas de um provedor para interconectar a matriz

com as filiais distribuídas em várias regiões e quer uma garantia que os pacotes IP

transmitidos tenham alta prioridade contanto que não seja excedida a taxa de transmissão

limite combinada. Além disso, é permitido à empresa gerar tráfego em excesso, mas com

a condição que este tráfego será tratado com menor prioridade.

Quatro classes de serviço (classes AF) foram definidas com diferentes níveis de

garantia de transmissão. De acordo com o serviço desejado pelo cliente, o tráfego é

classificado para urna das classes AF. Os pacotes de uma classe AF não podem, em

qualquer circunstância, ser agregados a pacotes de outras classes. Cada nó DiffServ deve

alocar um mínimo de recursos para cada classe AF implementada. Estas classes podem

usar mais recursos que o mínimo configurado caso existam recursos disponíveis.

Dentro de cada classe, existem três precedências de descarte, como pode ser visto

na tabela 3-1. Em caso de congestionamento, a precedência determina a importância de

cada pacote e, desta forma, influi no comportamento de descarte. Em redes com baixa

ocorrência de congestionamentos, pode ser interessante implementar somente dois níveis

de probabilidade de descarte em cada classe AF.

Roteadores de borda em um domínio DiffServ podem realizar ações de

condicionamento dos tráfegos AF que entram e saem. Tais ações podem incluir a

modelagem do tráfego, o descarte ou a alteração da precedência de descarte dos pacotes e

a remarcação de pacotes para outras classes AF. É importante ressaltar que o

condicionador de tráfego não deve reordenar os pacotes de um fluxo específico. Todos os

pacotes, estejam dentro ou fora do perfil, são colocados em uma fila para evitar a

retransmissão fora de ordem

Page 32: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Classe 1 Classe 2 Classe 3 Classe 4Baixa precedência de descarte 001010 010010 011010 100010Média precedência de descarte 001100 010100 011100 100100

Alta precedência de descarte 001110 010110 011110 100110Tabela 3-1: Códigos DSCP das classes AF

3.4 Serviços Diferenciados na Internet2

O projeto Internet2 vem sendo desenvolvido através da cooperação de diversas

universidades, empresas e organizações. Um dos principais objetivos da Intemet2 é criar

uma grande rede de computadores que possa disponibilizar a Qualidade de Serviço

necessária para o uso de aplicações de rede mais avançadas, como as usadas para o ensino

à distância ou para o controle remoto de instrumentos em operações médicas. Após muita

pesquisa, o grupo de trabalho em QoS da Intemet2 chegou à conclusão que, atualmente,

os Serviços Diferenciados representam a tecnologia de QoS que melhor atende as

necessidades da Intemet2. Estas necessidades, discutidas em detalhes em [TEI98], podem

ser resumidas nos seguintes pontos:

• Suportar aplicações avançadas: os Serviços Diferenciados disponibilizam

serviços com diferentes características e níveis de qualidade;

• Ser interoperável: os domínios DiffServ têm boa interoperabilidade porque

somente um pequêno grupo de PHBs é implementado e porque os Bandwidth

Brokers centralizam a administração, abstraindo a maioria das diferenças;

• Ser escalável: a arquitetura de Serviços Diferenciados foi projetada para

suportar um grande número de fluxos em conexões de alta velocidade através da

agregação destes fluxos e realização de policiamento somente nos roteadores de

borda;

• Ser administrável: cada domínio DiffServ é livre para configurar seus

procedimentos administrativos (autenticação, autorização e contabilidade),

entretanto os acordos bilaterais com os domínios adjacentes devem ser

respeitados;

• Prover uma estrutura de medição: os fluxos devem ser medidos para a

certificação de que os contratos de performance estão sendo respeitados; e

Page 33: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

• Se desenvolver de forma incremental: uma grande qualidade da arquitetura

Serviços Diferenciados é que ela pode oferecer serviços úteis antes de estar

totalmente implementada.

3.4.1 Projeto QBoneI

Dentro da Internet2, QBone representa o projeto de um ambiente de testes para os

Serviços Diferenciados, formado pela interconexão das redes de algumas instituições

ligadas à Intemet2. O objetivo do projeto é estudar todos os detalhes necessários para a

implementação da arquitetura de Serviços Diferenciados. Neste ambiente, os Serviços

Diferenciados são implementados, analisados e refinados por engenheiros de rede e

pesquisadores que trabalham em colaboração com os desenvolvedores de novas

aplicações de rede. Por se tratar de uma tecnologia bastante nova, ainda existem várias

questões que precisam ser definidas. Por exemplo, ainda não está claro como as reservas

de recursos entre os domínios devem ser feitas, quais protocolos de comunicação devem

ser usados ou como suportar transmissões multiponto.

3.4.2 Serviço QPS

O serviço QPS (QBone Premium Service) foi desenvolvido pela Intemet2 com o

propósito de ser o primeiro serviço implementado no ambiente de testes do projeto

QBone. Sua definição é baseada no PHB EF devido à sua simplicidade e capacidade de

oferecer baixos níveis de latência, variação de latência e perda de pacotes, além de

garantir a disponibilidade da largura de banda reservada para os fluxos. Outra vantagem é

que a grande maioria de roteadores existentes implementa algum mecanismo de QoS que

pode ser usado para implementar o PHB EF.

Uma reserva QPS é composta pelos seguintes parâmetros: endereço IP e porta do nó

fonte, endereço IP e porta do nó destino, protocolo, tempo de início, tempo de término,

taxa máxima de transmissão, MTU (Maximum Transmission Unit) e variação de latência.

Cada reserva representa a disponibilidade por tempo limitado do serviço QPS a uma

aplicação para transmissão unidirecional de dados entre dois pontos que podem estar no

mesmo domínio DifíServ ou em domínios diferentes. O fluxo de dados deve ser

Page 34: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

condicionado através de um TBF (Token Bucket Filter) com taxa de fichas igual à taxa

máxima de transmissão e tamanho do balde igual ao MTU.

Durante as transmissões, os pacotes dos fluxos com QPS são marcados com o

código DSCP do serviço e condicionados para a taxa de transmissão alocada. A marcação

e o condicionamento podem ser feitos no primeiro roteador que o fluxo passar (roteador

folha) òu no próprio nó fonte, caso ele tenha estas funcionalidades implementas. Todos os

outros roteadores devem usar o código DSCP marcado nos pacotes para priorizar o

tráfego QPS sobre os outros tráfegos da rede.

A figura 3-1 mostra como um fluxo do QPS é estabelecido dentro de um domínio

DiffServ e enviado através da ligação com outro domínio. Os pacotes saem do nó fonte

sem marcação. Assume-se que o roteador folha já esteja configurado para classificar e

marcar os pacotes para o QPS (código DSCP 101110) e realizar o condicionamento do

fluxo de acordo com as taxas de transmissão e rajada estabelecidas. Com exceção dos

roteadores de borda, os roteadores restantes do domínio apenas classificam os pacotes em

um dos dois serviços disponíveis (QPS ou Melhor Esforço). Os roteadores de borda

processam dois tipos de tráfegos: o tráfego que está saindo do domínio e o tráfego que

está entrando. O tráfego de saída pode ser condicionado através de um Acordo de Nível

de Serviço (Service Levei Agreement - SLA) entre os dois domínios. O tráfego de entrada

é policiado para certificar que esteja dentro do limite combinado e, caso exceda este

limite, é descartado.

Page 35: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Empresa

Figura 3-1: Fluxo QPS do cliente para o provedor

3.4.3 Serviço QBSS

O serviço QBSS (QBone Scavenger Service) é visto como uma subclasse do serviço

Melhor Esforço. Ele utiliza uma pequena parte da largura de banda da rede que pode

variar dependendo da quantidade de tráfego do momento. Quando a capacidade da rede

estiver sendo subutilizada, o serviço QBSS pode consumir mais largura de banda. Este

serviço proporciona uma qualidade menor que o serviço Melhor Esforço, portanto é

aplicado somente a aplicações tolerantes a grandes perdas, latências e variações de

latência. Exemplos de aplicações adequadas a este serviço seriam:

• Novos tipos de aplicações distribuídas que utilizam a capacidade livre das redes

da mesma forma que aplicações computacionais distribuídas utilizam a

capacidade livre das CPUs; e

• Aplicações de transferência de grandes quantidades de dados usando TCP,

como FTP anônimo, sistemas de backup, etc.

Page 36: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

3.5 Serviços Diferenciados no Linux

Atualmente, os esforços para prover níveis de serviço de QoS na Internet estão

concentrados na arquitetura de Serviços Diferenciados. Para investigar os reais benefícios

desta arquitetura, experiências com aplicações reais e implementações de Serviços

Diferenciados estão sendo realizadas em diversas partes do mundo. Devido à dificuldade

de implementação de novas funcionalidades no hardware de roteadores dedicados, vários

trabalhos de pesquisa vêm sendo baseados em implementações de software para

plataforma PC (Personal Computer). Esta plataforma tem algumas limitações de

performance, mas, por outro lado, é bastante flexível pelo fato do roteamento ser feito

totalmente em software.

Este trabalho, especificamente, é baseado na implementação dos Serviços

Diferenciados para o sistema operacional Linux. O Linux roda em plataforma PC e

representa um dos sistemas operacionais com maiores avanços na área dos Serviços

Diferenciados, como apresentado em [SAL99], [STROO] e [BRAOO]. Desde o kemel

versão 2.1, o Linux disponibiliza uma grande variedade de funções de controle de tráfego.

Nos documentos [ALM99a] e [ALM99b], é apresentado o projeto de implementação dos

recursos de controle de tráfego no kemel do Linux.

Os princípios básicos envolvidos na implementação de QoS no Linux são

mostrados na figura 3-2. Esta figura mostra como o kemel processa os dados recebidos da

rede e como gera os pacotes para serem enviados na rede. Na entrada, o demultiplexador

examina os pacotes para determinar se são destinados ao nó local ou não. Caso sejam

destinados ao nó local, são passados para as camadas superiores da pilha de protocolos.

Caso contrário, são passados ao bloco “transmissão”, o qual também pode receber das

camadas superiores dados gerados localmente. O processo de transmissão inclui várias

ações: a seleção da interface de saída, a seleção do próximo elemento da rede,

encapsulamento, etc. Após este processo, os dados são enfileirados nas interfaces de

saída. É exatamente neste ponto que o controle de tráfego é realizado. A decisão se os

pacotes devem ser enfileirados ou descartados, a definição da ordem na qual os pacotes

são enviados e a limitação da taxa de envio dos pacotes são alguns exemplos de possíveis

ações de controle de tráfego.

Page 37: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Figura 3-2: Processamento dos pacotes da rede

A implementação do controle de tráfego no kemel do Linux consiste,

principalmente, de quatro componentes conceituais:

• Disciplinas de enfileiramento;

• Classes (dentro de uma disciplina de enfileiramento); :

• Filtros; e

• Policiamento.

Devido a sua flexibilidade, o controle de tráfego do Linux pode ser usado para

construir combinações complexas de disciplinas de enfileiramento, classes e filtros. Cada

interface de rede tem uma disciplina de enfileiramento associada que controla como os

pacotes enfileirados devem ser tratados. Uma disciplina de enfileiramento bem simples

pode consistir de uma única fila, onde todos os pacotes são colocados em ordem de

chegada e, então, processados o mais rápido possível pela interface. Disciplinas de

enfileiramento mais elaboradas, como a da figura 3-3, podem conter filtros para distinguir

entre classes de pacotes diferentes e processar cada classe de forma específica. É

importante notar que mais de um filtro pode mapear para a mesma classe.

Uma disciplina de enfileiramento é sempre anexada à raiz do dispositivo. Todos os

pacotes que saem do dispositivo passam por esta disciplina de enfileiramento. Cada

disciplina de enfileiramento pode ter diversos filtros. Nestes filtros, os pacotes são

testados de acordo com as regras de filtragem e, quando aceitos, são passados para o

destino do filtro específico. Se não existir filtros anexados ao nó ou se todos os filtros

falharem, então o pacote é enfileirado. Dependendo da disciplina de enfileiramento

escolhida e do conjunto de parâmetros o pacote pode ser enviado imediatamente,

enfileirado para posterior processamento ou descartado.

Page 38: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

3.5.1 Disciplinas de Enfileiramento

As disciplinas de enfileiramento formam o bloco básico para o suporte a QoS no

Linux. Cada interface de rede tem uma fila associada. Existem nove tipos de disciplinas

de enfileiramento suportadas atualmente no kemel versão 2.4 do Linux. Elas são:

• FIFO (First-In First-Outy,

• TBF;

• SFQ (Stochasíic Fair Queuing)-,

• PQ (Priority Queuing)',

• CBQ (Class Based Queueing);

• HTB (Hierarchical Token Bucket);

• CSZ (Clark-Shenker-Zhang);

• DSMARK (Differentiated Servicès Marker)\ e

• RED.

As disciplinas de enfileiramento são identificadas por um identificador

<principal:secundário, onde o número secundário é zero para filas. Os números são

usados para associar as classes às disciplinas de enfileiramento.

As classes e as disciplinas de enfileiramento são componentes bastante ligados. A

presença de classes e suas semânticas são propriedades fundamentais das disciplinas de

enfileiramento. Em contraste, os filtros podem ser combinados livremente com as classes

e disciplinas de enfileiramento. Nem todas as disciplinas de enfileiramento são associadas

a classes. Por exemplo, a TBF não tem nenhuma classe associada a si.

Page 39: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Uma das maiores vantagens do suporte a QoS no Linux é a flexibilidade de

configuração das disciplinas de enfileiramento e classes. Cada disciplina de

enfileiramento pode ter zero ou mais classes. Tais classes usam outra disciplina de

enfileiramento para guardar os pacotes, a qual pode ter outras classes. Esta é a

flexibilidade que faz do suporte a QoS no Linux tão original.

Ás funções suportadas nas diversas disciplinas de enfileiramento são: enqueue,

dequeue, requeue, drop, init, reset, destroy e dump. A descrição de cada função pode ser

vista em [RAD99].

3.5.2 Classes

Normalmente, cada classe possui uma fila, mas também é possível que várias

classes compartilhem a mesma fila. Quando a função enqueue da disciplina de

enfileiramento é chamada, os filtros desta disciplina de enfileiramento são aplicados em

ordem de prioridade para determinar a classe na qual o pacote pertence. Dentro da classe

selecionada existe outra disciplina de enfileiramento, portanto a função enqueue da classe

é chamada. Os pacotes que não foram selecionados por nenhum filtro costumam ser

atribuídos a alguma classe padrão.

Existem duas formas para identificar uma classe: via o identificador da classe, o

qual é especificado pelo usuário, ou via o identificador interno, o qual é usado dentro do

kem el. Este identificador interno é atribuído pela disciplina de enfileiramento. O

identificador de classe, similarmente ao identificador de disciplina de enfileiramento, é

estruturado na forma <principal: secundário. O número principal corresponde à disciplina

de enfileiramento na qual a classe pertence e o número secundário identifica a classe com

relação às outras classes da disciplina de enfileiramento.

Nem todas as disciplinas de enfileiramento suportam classes. As que suportam

classes são: CBQ, DSMARK, CSZ e PQ. O resto das disciplinas de enfileiramento não

suporta classes.

Page 40: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

3.5.3 Filtros

Os filtros sãd usados para classificar os pacotes de acordo com certas propriedades,

por exemplo, o campo TOS no cabeçalho do pacote IP, os endereços, os números das

portas, etc. São chamados quando a função engueue da disciplina de enfileiramento é

executada. As disciplinas de enfileiramento usam filtros para distribuir os pacotes entre as

classes disponíveis.

Os filtros são mantidos em listas de filtros, as quais são ligadas às classes ou às

disciplinas de enfileiramento, dependendo da forma como a disciplina de enfileiramento

foi projetada. As listas de filtros são ordenadas por prioridade em ordem ascendente.

Além disso, as entradas nas listas são numeradas pelo protocolo pelo qual se aplicam Em

uma mesma lista de filtros, os filtros para o mesmo protocolo devem ter prioridades

diferentes.

Os principais filtros implementados no Linux são:

• Route: classifica os pacotes de acordo com a tabela de roteamento; e

• u32: classifica os pacotes com os endereços IP fonte e destino, as portas

TCP/UDP fonte e destino, o campo TOS do cabeçalho IP e o tipo de protocolo

usado na camada de transporte.

3.5.4 Ferramenta TC

TC (Traffic Controller) é uma aplicação de configuração dos mecanismos de

controle de tráfego da plataforma Linux que pode ser usada para configurar serviços da

arquitetura de Serviços Diferenciados. TC pode ser usado para configurar vários tipos de

filas, classes e filtros e associar estas configurações com as interfaces do computador. Por

se comunicar com as funções de rede do kemel, esta ferramenta somente pode ser

executada por usuários com permissão de root.

A operação do TC é realizada através da linha de comando. Seus recursos de

descrição de erro são bastante limitados. A descrição de erros de sintaxe é razoável,

porém a descrição de erros ocorridos no kemel é bem pobre. Para cada comando

processado, a ferramenta recebe do kemel um número indicando sucesso ou erro. Nos

casos de erro, existem três descrições diferentes que podem ser apresentadas ao usuário:

Page 41: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

RTNETLINK answers: No such file or directory

RTNETLINK answers: File exists

RTNETLINK answers: Invalid argument

A primeira mensagem de erro costuma significar que um identificador inexistente

foi referenciado. A segunda costuma significar que foi tentado adicionar alguma coisa

onde o identificador já estava em uso. A última mensagem representa todos os outros

erros possíveis. Normalmente não há indicação do que ocorreu, portanto somente a

releitura da ajuda e a realização de novas tentativas com pequenas alterações nos

parâmetros poderão ajudar.

• Criação de Disciplina de Enfileiramento

Diversas disciplinas de enfileiramento (queuing disciplines) podem ser

configuradas através da ferramenta TC. Por exemplo, para adicionar uma disciplina de

enfileiramento do tipo CBQ na raiz da interface Fast Ethernet ethl, o seguinte comando

deve ser usado:

tc qdisc add dev ethl handle 1:0 root cbq bandwidth 100Mbit avpkt 1000 mpu 64

1 2 3 4 5 6

1. Esta parte diz que se quer adicionar uma disciplina de enfileiramento.

2. O dispositivo no qual se quer adicionar a disciplina de enfileiramento.

3. Este é o identificador que se quer dar à disciplina de enfileiramento.

4. Esta parte significa que se quer anexar à raiz do dispositivo. Somente uma disciplina

de enfileiramento pode ser a raiz. Outras alternativas são “ingress” (para pacotes que

entram) e “parent CLASS” (a qual especifica o pai desta disciplina de enfileiramento).

5. Este campo especifica o tipo da disciplina de enfileiramento.

6. Estes parâmetros configuram a classe que é automaticamente criada quando se cria

uma disciplina de enfileiramento. Os parâmetros mudam de acordo com o tipo de

disciplina de enfileiramento escolhida.

• Criação de Classe

Após criar as disciplinas de enfileiramento, normalmente são adicionadas classes a

estas disciplinas de enfileiramento para representar os tipos de dados que se deseja

Page 42: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

condicionar. Por exemplo, com a disciplina de enfileiramento acima, para criar uma classe

restrita a somente 2Mbit, o seguinte comando deve ser usado:

tc class add dev ethl parent 1:0 classid 1:1 cbq ...

1 2 3 4 5

... bandwidth2Mbit avpkt 1000 prio 1 rate' 1Mbit maxburst 10bounded isolated

6

1. Esta parte indica o desejo de criar uma classe.

2. O dispositivo no qual se quer adicionar a classe.

3. O identificador do pai da classe. Este parâmetro pode ter significados especiais

dependendo da disciplina de enfileiramento usada.

4. O identificador da classe. O identificador principal sempre é o mesmo do pai.

5. O tipo do escalonador da classe. Deve ser sempre o mesmo da disciplina de

enfileiramento pai.

6. Os parâmetros para o algoritmo de escalonamento da classe.

• Criação de Filtro

O próximo passo é configurar filtros para que os dados sejam direcionados para as

classes corretas. Um filtro bastante usado para aplicações individuais é o u32. Por

exemplo, uma configuração deste filtro seria:

tc filter add dev ethl parent 1:0 protocol ip prio 1 u32 ...

1 2 3 4 5 6

... match ip dst 10.0.0.0/24 flowid 1:1

7 -

1. Indica a criação de uma fila.

2. O dispositivo no qual se quer criar o filtro.

3. O pai é a classe na qual este filtro vai ser anexado.

4. O protocolo que será filtrado.

5. Significa que este filtro será processado antes dos filtros com prioridade maior que 1.

6. Indica o tipo do filtro.

7. Mapeia todos os pacotes com destino 10.0.0.0/24 para a classe 1:1.

Page 43: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

3.5.5 Disciplina de Enfileiramento CBQ

CBQ [FL095, FL096, RIS98] é uma disciplina de enfileiramento bastante flexível

baseada em classes de serviço. Após o tráfego ser classificado, são aplicadas as

características de cada classe ao tráfego. Uma classe pode conter um fluxo ou uma

agregação de fluxos representando aplicações, usuários, departamentos ou servidores

diferentes. A classe pode ser definida por informações do cabeçalho do pacote IP (ex.:

endereço fonte/destino), por protocolo (ex.: TCP ou UDP) ou por aplicação (ex.: http, ftp,

telnet, etc.).

CBQ é uma variação da PQ onde várias filas podem ser definidas. A preferência

para cada fila pode ser configurada indicando a preferência do serviço e a quantidade de

tráfego enfileirado, medido em bytes, que deve ser processado em cada rotação. Para cada

classe, é configurada a taxa limite de largura de banda que pode ser usada. Caso o limite

seja ultrapassado, pode-se condicionar o tráfego para a taxa limite ou permitir que a banda

seja usada caso haja largura de banda disponível de outras classes.

3.6 Conclusão

A inteligência que a Internet precisa implementar para poder gerenciar seus

recursos de tal forma que as transmissões na Internet sejam controladas para receber a

qualidade que merecem está sendo especificada em arquiteturas de QoS. O grau de

complexidade de uma especificação deste tipo é tão grande que ainda levarão vários anos

para que surja uma arquitetura pronta para implementação.

Dentre as arquiteturas de QoS para a Internet que vêm sendo desenvolvidas nos

últimos anos, a arquitetura de Serviços Diferenciados vem apresentando os maiores

avanços. Sua proposta de disponibilizar serviços com diferentes níveis de qualidade, de

acordo com a necessidade de cada momento, e gerenciar os recursos da Internet através

domínios administrativos é bastante avançada e com grande potencial de crescimento.

Page 44: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

4 BANDWIDTH BROKER E IMPLEMENTAÇÕES EXISTENTES

O Bandwidth Broker (BB) [NIC99] é um componente da arquitetura dos Serviços

Diferenciados que surgiu com a necessidade de se ter maior controle sobre os recursos

disponíveis dentro dos domínios DiffServ. A idéia do BB ainda é bastante recente e as

implementações que já foram realizadas ainda precisam de muito aprimoramento. No

entanto, os trabalhos a respeito do BB caminham com o firme propósito de padronizar

este componente e lançá-lo como um avançado sistema de gerenciamento para os

domínios DiffServ.

Segundo [NEI01], o BB deve ter uma arquitetura parecida com a apresentada na

figura 4-1. Pode haver situações onde algumas funcionalidades sejam implementadas por

outros sistemas e apenas disponibilizadas para o BB, como o roteamento e a monitoração

da rede. Os principais componentes dos BBs são as interfaces de comunicação com os

roteadores, aplicações e usuários da rede, o sistema de configuração de roteadores e o

gerenciamento dos recursos da rede de acordo com políticas pré-definidas.

aplicações e usuários

da rede

Bandwidth Brokers de domínios adjacentes

i

Repositório de dados

Interface com os clientes

Informações de roteamento

Comunicaçãointer-domínio

Monitoração da rede

Gerenciamento de políticas

Comunicaçãointra-domínio

T

roteadores do domínio

Figura 4-1: Componentes que formam o Bandwidth Broker [NIC99]

Page 45: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Dentro de seu domínio, o BB deve disponibilizar interfaces de operação para as

aplicações e usuários da rede poderem requisitar alocações de recursos do domínio. Estas

requisições podem ser feitas manualmente no sistema ou através de mensagens de algum

protocolo de comunicação, como o RSVP (Resource Reservation Protocol). Caso não

existam recursos disponíveis, as requisições de alocação são rejeitadas. A comunicação

com os nós do domínio também deve existir para que seja possível configurar os

mecanismos de QoS destes dispositivos. Os protocolos de comunicação já usados para

este fim incluem o COPS (Common Open Policy Service Protocol) [DUROO], o

Diameter, o SNMP (Simple Network Management Protocol) e alguns sistemas

proprietários.

Externamente, o BB é responsável pela configuração e manutenção dos Acordos de

Nível de Serviço (SLAs) com os BBs dos domínios adjacentes para tratar corretamente do

tráfego de dados que entra e sai pelos roteadores de borda. Quando há necessidade de

alocação de recursos para um fluxo específico, uma requisição de serviço é feita ao BB

por algum usuário local ou BB adjacente. Após autenticar o cliente, o sistema verifica se

existem recursos suficientes para atender a requisição. Se existirem, estes recursos são

alocados e as especificações do fluxo são armazenadas. O BB configura os roteadores do

domínio para oferecer ao fluxo de dados específico as características do serviço

requisitado. Por motivos de segurança, é crucial que somente o BB possa configurar os

roteadores. A figura 4-2 ilustra domínios DiffServ com BBs.

Domínio A Domínio B

Figura 4-2: Domínios DiffServ com Bandwidth Brokers

Page 46: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

O BB deve ter acesso a informações de roteamento para determinar a localização

dos roteadores e os caminhos que os fluxos usam para atravessar o domínio. Além de

informações de roteamento, o BB requer um repositório para os dados processados por

seus componentes. A seguir são citadas algúmas informações que podem ser necessárias

nos BBs:

• Informações sobre os SLSs com outros domínios;

• Alocações correntes e recursos disponíveis;

• Comandos de configuração dos roteadores;

• Mapeamento de serviços para mecanismos de QoS;

• Políticas de reserva;

• Performance da rede; e

• Autenticação de clientes.

Por serem tão importante na implementação dos Serviços Diferenciados, os BBs

têm sido bastante estudados no ambiente de testes do QBone. Os integrantes do QBone

planejam introduzir este sistema em seus domínios de forma incremental. Para isso, foram

definidas três fases de desenvolvimento:

• Fase 0: Os BBs operam somente dentro do domínio DiffServ. As

funcionalidades implementadas são as interfaces de requisição de recursos e a

configuração automática dos roteadores do domínio para marcação e

condicionamento dos fluxos dos usuários. A configuração de SLSs nos

roteadores entre os domínios é feita manualmente pelo administrador da rede.

• Fase 1: Após os BBs ficarem estáveis e estiverem implementados em um bom

número de domínios, será incorporado um protocolo de comunicação

interdomínio com a capacidade de descobrir se os recursos requisitados ao BB

estão disponíveis em todos os domínios que compõem o caminho do fluxo.

• Fase 2: Os BBs desta fase incorporam a capacidade de configuração dinâmica

dos roteadores de borda de diversos domínios para satisfazer as necessidades

dos usuários. Para que esta fase seja implementada, diversas questões deverão

ser esclarecidas, como o método de ajuste dinâmico de SLSs, a integração do

protocolo de sinalização com o protocolo de roteamento, o impacto do

protocolo de sinalização na carga da rede e capacidade de suportar

comunicações multiponto.

Page 47: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Um pequeno grupo de instituições têm investido no desenvolvimento de BBs nos

últimos anos. As tecnologias usadas para a implementação destes BBs são as mais

variadas. Os protocolos de comunicação e sistemas operacionais usados também diferem

bastante. É importante ressaltar que muitos destes sistemas são apenas protótipos, porém

alguns poderão virar produtos futuramente. Nas seções seguintes são descritos alguns

destes trabalhos que estão na fase 0, isto é, operam somente dentro de um domínio. No

momento, alguns estudos e desenvolvimentos da fase 1 estão começando a ser realizados,

como no trabalho descrito em [KHA01].

4.1 Siemens

Em Munique, Alemanha, a Siemens desenvolveu um BB [STE00] através de um

projeto fundado pela União Européia, chamado AQUILA. Este projeto teve como

contribuintes operadoras de serviços de Internet (Bertelsmann, T-Nova e Helsinki

Telephone Corporation) e universidades (Technical University Dresden e National

Technical University Athens).

O sistema, desenvolvido em Java, oferece uma interface que pode ser acessada por

aplicações dos usuários ou por BBs de outros domínios. Através do uso de CORBA1

('Common Object Request Broker Architecture), o BB é acessível por qualquer

plataforma, independente do sistema operacional e linguagem de programação. O BB

disponibiliza duas interfaces gráficas de operação para os administradores e usuários da

rede. Existe uma interface em HTML (Hiper Text Markup Language) desenvolvida com

Java Servlets2 e uma interface em Java Swing3. Ambas interfaces se comunicam com o

servidor Web através do protocolo HTTP (Hiper Text Transfer Protocol). O servidor Web

se comunica com o BB através do protocolo IIOP (Internet Inter ORB Protocol).

Nos roteadores de borda, o sistema realiza classificação, marcação e policiamento

do tráfego. Em todos os roteadores, a retransmissão dos pacotes é feita de acordo como

sistema de enfileiramento baseado em classes (CBQ). Caso os roteadores façam parte de

uma rede ATM (Asynchronous Transfer Mode), o sistema aplica funcionalidades do

1 CORBA é uma arquitetura aberta definida pela OMG com o objetivo de possibilitar o trabalho conjunto entreaplicações através de uma rede de computadores.

2 Servlets são módulos que estendem os servidores Web, possibilitando a geração dinâmica de páginas HTML.

Page 48: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

ATM para melhorar a qualidade das transmissões. Além disso, o sistema ainda

implementa funcionalidades de medição e contabilidade.

A implementação segue uma arquitetura distribuída, onde existe um Agente de

Controle de Recursos (ACR) e vários Agentes de Controle de Admissão (ACA). Os

Agentes de Controle de Admissão são responsáveis pelas seguintes tarefas:

• Receber as requisições de QoS ;

• Checar a identidade e as permissões dos usuários;

• Checar a disponibilidade dos recursos e aceitar ou rejeitar as requisições;

• Configurar os roteadores de borda com as políticas adequadas;

• Requisitar mais recursos ao ACR; e

• Liberar recursos que não são mais necessários.

O Agente de Controle de Recursos implementa as seguintes funcionalidades:

• Limitar o total de tráfego prioritário dentro de um domínio;

• Controlar os elementos da rede para adaptar as reservas de QoS com a carga da

rede;

• Aumentar ou diminuir as reservas de QoS entre domínios através da

comunicação com os AC As; e

• Distribuir a largura de banda disponível entre os ACAs, desta forma as

requisições de QoS dos usuários podem ser aceitas por estes ACAs sem

interação com o Agente de Controle de Recursos;

4.2 Universidade de Kansas

O BB desenvolvido pela Universidade de Kansas [SRE99] foi baseado no

documento [REI98] e nos trabalhos daBCIT {British Columbia Institute o f Technology).

Sua implementação foi baseada em uma arquitetura cliente-servidor, composta por base

de dados (MySQL), servidor e interface de operação. O servidor e o banco de dados

rodam em plataforma Linux. A comunicação entre as aplicações e o BB é realizada

através de sockets TCP. O BB se comunica com os roteadores da marca Cisco através de

3 Swing é uma biblioteca de classes para criação da interface de aplicações.

Page 49: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

mecanismos de telnet automatizados. Os mecanismos de QoS usados nos roteadores são o

CAR (Committed Access Rate) e o WRED.

A base de dados armazena todos os dados relacionados com a funcionalidade do

BB dentro de seu domínio. Estes dados incluem SLAs, BARs e mapeamentos de

alocações para códigos DSCP. Dados são inseridos na base de dados sempre que uma

requisição é aceita.

O servidor é o sistema que realiza a interação entre a base de dados e os diversos

clientes. Quando iniciado, o servidor se conecta com os roteadores do domínio, realiza

configurações básicas e fica esperando pelas requisições de reserva de recursos. Suas

funções são:

• Executar as políticas de alocação para cada requisição recebida dos clientes;

• Se uma requisição for válida, inserir seus dados na base de dados;

• Configurar o roteador de borda quando um SLA é aceito; e

• Configurar os roteadores internos quando uma BAR é aceita.

Existem duas interfaces de operação: uma interface de linha de comando e uma

interface HTML. Ambas interfaces de operação possibilitam aos clientes e operadores do

sistema interagir com o servidor para configurar SLAs e requisitar Serviços

Diferenciados, mais especificamente o serviço Premium.

4.3 Globus

O Projeto Globus4 vem investindo em um projeto de pesquisa chamado GARA

(Globus Architecture forReservation and Allocation) [ROYOO] [SANOO], cujo objetivo é

desenvolver uma infraestrutura para suportar requisições de QoS em diversos tipos de

recursos, como largura de banda em redes de computadores, CPUs e discos rígidos. Esta

infraestrutura contém um BB que implementa muitas das funcionalidades propostas pelo

grupo de trabalho Intemet2 QoS, tais como controle de admissão e configuração de

roteadores para realizar marcação de pacotes, além de funcionalidades adicionais como,

por exemplo, autenticação via chave pública. As requisições de reserva de recursos

podem ser realizadas através de uma interface desenvolvida em Java ou através de uma

API (Application Programming Interface). Após serem aceitas, as reservas podem ser

Page 50: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

modificadas, canceladas e monitoradas. No momento, somente o estado da reserva é

monitorado, porém existem planos para que seja implementado um sistema de

monitoração da qualidade dos serviços recebidos pelas aplicações.

O sistema roda em diversas plataformas: Solaris, IRIX, Linux e AIX. Similarmente

ao BB da Universidade de Kansas, este BB também configura roteadores da marca Cisco

através de mecanismos de telnet automatizados. Os mecanismos de QoS usados nos

roteadores são o WFQ (Weighted Fair Queuing) e o CAR (Committed Access Rate).

Somente os roteadores folha são configurados pelo BB. Assume-se que os outros

roteadores sejam configurados estaticamente.

4.4 UCLA

A UCLA (University o f Califórnia at Los Angeles) tem um laboratório de pesquisas

em Internet que vem desenvolvendo diversos trabalhos na área de RSVP e Serviços

Diferenciados. Um destes trabalhos foi a implementação de um BB [TEROO] composto

por um módulo de interação com o banco de dados e um servidor COPS para a

comunicação com os roteadores do domínio.

O banco de dados usado é o MySQL. Ele armazena informações sobre todos os

fluxos que requisitam um serviço diferenciado ao BB. Estes fluxos podem ter sido

gerados no mesmo domínio do BB ou em outro domínio DiffServ. Para cada fluxo, são

armazenadas as seguintes informações:

• Interface de entrada no domínio;

• Interface de saída do domínio;

• Recursos requisitados expressados em parâmetros de um TBF;

• Tempo de início da reserva;

• Tempo de término da reserva; e

• Informações auxiliares.

O BB inclui um sistema Web para maior facilidade de acesso ao banco de dados.

Através deste sistema, o administrador da rede pode operar sobre as informações dos

Page 51: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

fluxos armazenadas. Este sistema Web é baseado na linguagem PHP, cuja integração com

o servidor Web Apache e o banco de dados MySQL é bastante fácil.

Após armazenar as informações de alocação dos fluxos, o BB processa estes dados

para determinar o total de recursos que deve ser alocado e se comunica com os roteadores

para configurar os parâmetros de policiamento e condicionamento. A comunicação é

realizada através do protocolo COPS. Neste protocolo, o servidor, também chamado de

PDP (Policy Decision Point), mantém as informações de configuração relacionadas aos

recursos do domínio e instala estas configurações nos clientes, também chamados de

PEPs (Policy Enforcement Points). Na arquitetura do BB da UCLA, o BB implementa o

servidor COPS e os roteadores implementamos clientes COPS.

4.5 BCIT

O Grupo de Tecnologia da Informação do Centro de Tecnologia da BCIT (British

Columbia Institute o f Technology) desenvolveu um projeto de implementação de um BB

para a rede CA *net II [BBT98a] [BBT98B] [BBT98C]. Sua arquitetura é composta dos

seguintes componentes: banco de dados, servidor, interfaces de linha de comando,

servidor de autenticação e servidor administrativo.

O banco de dados MySQL é usado para armazenar todos os dados relacionados à

funcionalidade do BB dentro de seu domínio, incluindo SLAs e Requisições de Alocação

de Banda (Bandwidth Allocation Requests - BARs).

O servidor é um sistema multiusuário que interage com o banco de dados, as

interfaces de linha de comando e o servidor de autenticação. Através do servidor, os

clientes das interfaces de linha de comando e o servidor de autenticação acessam as

informações armazenadas no banco de dados. Todos as informações recebidas que

requisitam alguma modificação no banco de dados são processadas de acordo com as

políticas do domínio e gravadas em um arquivo. O servidor é configurado através de um

arquivo de configuração e de uma série de arquivos que definem as primitivas de cada

roteador usado dentro do domínio.

A interface de linha de comando e a interface gráfica disponibilizam uma série de

comandos para os operadores interagirem com o servidor. Estes comandos são

transmitidos ao servidor através do protocolo BBTP (Bandwidth Broker Transfer

Page 52: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Protocol), um protocolo desenvolvido pela própria BCIT. De acordo com o resultado da

execução dos comandos, uma mensagem de sucesso ou falha é retomada ao operador.

4.6 Merit

A provedora de acesso a Internet Merit desenvolveu um BB [EVA99] composto por

diversos componentes. O módulo de políticas recebe as requisições de recursos dos

clientes através do protocolo Diameter1 e verifica se estão de acordo com as políticas de

alocação do domínio. As requisições aceitas são passadas para o módulo de alocação, cuja

função é configurar os roteadores pertencentes à rota de transmissão. O módulo de

alocação acessa o sistema de roteamento OSPF6 (Open Shortest Paíh First) do domínio

para determinar as rotas dos fluxos. Após o processamento de cada requisição, uma

mensagem de sucesso ou falha é retornada ao requerente. O BB não aceita requisições

que ultrapassem o limite de recursos definidos pelas políticas de alocação. Além de

requisitar a alocação de novos recursos, os clientes também podem requisitar a

modificação ou liberação dos recursos que já possuem.

Os roteadores suportados são PCs rodando FreeBSD com o pacote ALTQ7

instalado. Trabalhos futuros talvez sejam desenvolvidos com roteadores Cisco. O

policiamento, marcação e condicionamento dos fluxos são realizados nos roteadores folha

através do mecanismo CBQ. Os roteadores centrais são configurados estaticamente

também com CBQ para diferenciar o tráfego através do DSCP de cada pacote.

4.7 Telia

O BB da Telia [SHC99] disponibiliza o serviço Premium para seus clientes. As

requisições do serviço podem ser feitas pelos usuários através de uma interface Web ou

por outras aplicações através de sockets TCP. O BB possibilita a programação do tempo

de início e fim de cada alocação de recursos. Por isso, o BB mantém todas as informações

5 Diameter é um protocolo de autenticação, autorização e contabilidade definido pelo Grupo de Trabalho AAA do ETF

6 OSPF é um protocolo de roteamento baseado no estado das conexões.

7 ALTQ (Alternate Queueing fo r BSD UNIX) é um pacote que contém diversas filas (CBQ, WFQ, RED, etc.), o protocolo RSVP e a base da arquitetura DiffServ.

Page 53: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

relacionadas com as reservas e como estado dos roteadores do domínio. Estes roteadores

são descobertos através dos protocolos OSPF e SNMP e configurados via SNMP. Tanto o

BB quanto os roteadores rodam em PCs com sistema operacional FreeBSD.

4.8 Comparação Entre os Bandwidth Brokers

Os Bandwidth Brokers desenvolvidos até hoje apresentam grandes diferenças em

relação às tecnologias usadas na implementação de suas funcionalidades. A principal

razão para essa diversidade de tecnologias se deve, principalmente, à inexistência de uma

especificação completa sobre a operação do sistema e a dúvidas sobre as tecnologias mais

adequadas para este tipo de sistema. Desta forma, cada projeto pode ser visto como uma

proposta diferente sobre como o sistema deve ser implementado. Uma comparação entre

as tecnologias escolhidas pelos principais projetos de BB existentes é apresentada na

tabela 4.1. As características comparadas foram; forma de comunicação entre usuários e

BB, forma de comunicação entre BB e roteadores, tipo de roteadores usados, PHB

disponíveis, sistema operacional do BB e mecanismos de QoS usados nos roteadores. A

comunicação entre BBs não foi implementada por nenhum projeto devido à falta de

definições sobre o assunto na época do desenvolvimento.

Comunicação entre clientes

e BB

Comunicação entre BB e roteadores

Tipo de Roteadores

Mecanismos de QoS

PHBsdisponíveis

Siemens H TTP/HOP HOP Estações de

trabalho Sun CBQ EF

Univ. de Kansas

H TTP/ sockets TCP

telnetautomatizado Cisco CARe

WRED E F e AF

Globus RSVPtelnet

automatizado Cisco WFQ e CAR EF

UCLA HTTP COPS PCs com FreeBSD CBQ EF

BCIT BBTP telnet manual Cisco ? EFMerit Diameter Sockets TCP PCs com

FreeBSD CBQ EF

Telia HTTP /Sockets TCP SNMP PCs com

FreeBSD? EF

Tabela 4-1: Comparação entre Bandwidth Brokers

Page 54: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

4.9 Conclusão

A comunicação entre os usuários e o BB é uma área onde há muitas opções de

protocolos e ainda não existe um consenso sobre qual é o melhor. Os protocolos de

comunicação já usados para requisição de recursos são o BBTP, o RSVP, o Diameter, o

ÜOP e o HTTP, além de implementações proprietárias baseadas em sockets TCP. Dos

sete BBs apresentados, três disponibilizam uma interface Web para os usuários. Nestes

casos, as requisições vão via HTTP até o servidor Web e via algum outro protocolo até o

BB. Esta é uma boa opção devido à facilidade de acesso às aplicações Web, isto é, de

qualquer ponto da Internet é possível interagir com o BB. O protocolo RSVP tem sido

foco de pesquisa ultimamente para avaliar suas possibilidades de integração com a

arquitetura de Serviços Diferenciados. O objetivo desta integração seria aproveitar as

melhores características das arquiteturas IntServ (Integrated Services) e DiffServ, isto é, a

capacidade de configuração do protocolo RSVP e a escalabilidade da estratégia de

priorização da arquitetura DiffServ. O protocolo Diameter também é uma opção

interessante na comunicação entre usuários e BBs devido às suas capacidades de

autenticação, autorização e contabilidade..

Outra comunicação importante dos domínios DiffServ ocorre entre o BB e os

roteadores. Para esta comunicação também já foram testadas várias formas de

comunicação: IIOP, COPS, SNMP, sockets TCP e telnets automatizados. Nos trabalhos

da Univeridade de Kansas, BCIT e Globus a comunicação com roteadores Cisco foi

realizada através de telnets automatizados. A razão do uso desta estratégia se deve ao uso

da interface de linha de comando para configurar os equipamentos. Em outros projetos,

oiide os roteadores foram estações de trabalho ou PCs, houve maior flexibilidade na

escolha do mecanismo de comunicação. As implementações com sockets TCP se

deveram, principalmente, à rapidez de desenvolvimento, porém, como os telnets

automatizados, não representam padrões de comunicação. Por outro lado, os protocolos

COPS e SNMP, especificados pelo IETF, estão representando as maiores apostas nesta

área no momento.

O grupo de trabalho SNMPConf do IETF vem realizando esforços para adaptar o

protocolo SNMP à arquitetura de gerenciamento de políticas definida pelo grupo de

trabalho Policy Framework, também do IETF. O objetivo é demonstrar que o SNMP

Page 55: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

pode ser usado para o gerenciamento de configurações. Os trabalhos que vêm sendo

realizados compreendem recomendações sobre como as configurações de políticas devem

ser realizadas e especificações de MIBs necessárias para facilitar estas configurações. No

momento, o grupo de trabalho SNMPConf vem trabalhando em cooperação com o grupo

de trabalho DiffServ do IETF no desenvolvendo de uma MIB (Management Information

Base) para possibilitar a configuração e monitoração dos dispositivos da arquitetura de

Serviços Diferenciados através do protocolo SNMP.

Os grupos de trabalho Policy Framework e RAP (Resource Allocation Protocol) do

IETF vem concentrando seus trabalhos na criação de uma arquitetura de gerenciamento

que possibilite representar, gerenciar, compartilhar e reusar políticas de alocação de

recursos. Quando necessário, estas políticas de alocação de recursos são traduzidas em

instruções de configuração para serem transmitidas aos dispositivos da rede através do

protocolo COPS. As informações de configuração, usuários, dispositivos e aplicações são

armazenadas em um sistema de diretórios LDAP (Lightweight Directory Access Protocol)

para que várias aplicações possam compartilhar estes dados. No grupo de trabalho

DiffServ está sendo especificada uma PIB (Policy Information Base) para o

gerenciamento das políticas da rede através do protocolo COPS. A PIB DiffServ pode ser

vista como uma abstração da MIB DiffServ, cujas informações armazenadas são,

basicamente, regras de policiamento para os serviços diferenciados.

Os roteadores usados nos desenvolvimentos dos BBs se resumem a equipamentos

Cisco ou computadores com software de roteamento instalado. Dos sete projetos

pesquisados, três usaram roteadores Cisco, três usaram PCs com sistema operacional

FreeBSD e um usou estações de trabalho Sun. Os PCs são uma boa opção para a criação

de pequenas redes porque são razoavelmente baratos e toda a funcionalidade necessária

pode ser realizada em nível de software. Por outro lado, os roteadores da marca Cisco ou

de outra grande empresa de equipamentos de comunicação fazem parte de praticamente

todas as redes de médio e grande porte. É importante que ambos tenham bom suporte a

QoS porque a arquitetura de Serviços Diferenciado depende do suporte de cada roteador

da rede.

Outra característica das implementações de BB analisadas se refere aos mecanismos

de QoS que foram usados nos roteadores para implementar o PHB EF. Entre os projetos

que usaram roteadores Cisco, os mecanismos usados foram o CAR (Commited Access

Page 56: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Rate), o WFQ e o WRED. O CAR realiza classificação, medição e policiamento de

tráfego. O WFQ e o WRED são filas que podem ser usadas com o CAR para implementar

os Serviços Diferenciados. No Unix, todos os projetos usam a fila CBQ para implementar

o PHB EF. CBQ é um sistema de filas bastante avançado que não requer o auxílio de

outro mecanismo para implementar a classificação, marcação, condicionamento e

enfileiramento do tráfego.

O único serviço que está sendo desenvolvido atualmente é o QPS (QBone Premium

Service), baseado no PHB EF. A tendência é que o serviço QPS seja o primeiro serviço

diferenciado disponível para os usuários da Intemet2.

Page 57: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

5 O SISTEMA DE GERÊNCIA

5.1 Funcionalidades

O sistema de gerência desenvolvido neste trabalho implementa as principais

funcionalidades de um BB necessárias para disponibilizar o serviço Premium em um

domínio DiffServ: interface com o usuário, configuração dos nós do domínio e medição

ponto-a-ponto. A operação do gerenciador é feita exclusivamente através de uma interface

Web, possibilitando o acesso de qualquer computador da rede. O gerenciador se comunica

com os agentes de descoberta de rotas e de configuração localizados nos nós do domínio

para disponibilizar o serviço Premium requisitado pelos usuários. Além disso, o sistema

também se comunica com os agentes de medição localizados nos computadores dos

clientes com o objetivo de coletar informações sobre a qualidade do serviço

disponibilizado. Uma visão geral de como o sistema opera é apresentada na figura 5-1.

Gerenciador do Serviço Premium

Ordem de medição Operação via interface Web

í

\

Roteador Roteador

Fonte Destino

Medição do serviço

Figura 5-1: Operação do sistema

Através de uma interface Web, os usuários da rede têm a possibilidade de realizar

requisições do serviço Premium, monitorar a qualidade das transmissões e monitorar a

quantidade de banda alocada em cada roteador do domínio. Todos os roteadores do

Page 58: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

domínio devem ter um agente de configuração rodando. Este agente costuma ser chamado

de PEP (Policy Enforcement Point) e representa a parte do sistema que trabalha

diretamente com os mecanismos de controle de tráfego dos roteadores. Os computadores

dos usuários devem ter o agente de descoberta de rotas, o agente de configuração para

marcar os pacotes Premium e o agente de medição para realizar as medições ponto-a-

ponto.

5.2 Interface com o Usuário

A tela de operação do sistema, apresentada na figura 5-2, se divide em quatro áreas:

formulário de requisição do serviço Premium, formulário de requisição de medição, lista

de clientes e lista de roteadores. Para requisitar a disponibilização do serviço Premium a

um determinado fluxo, o usuário deve especificar o endereço IP do nó fonte, o endereço

IP do nó destino e a largura de banda que deverá estar sempre disponível. O

armazenamento e checagem das políticas de alocação do domínio são funcionalidades que

ainda não existem no sistema. Por esta razão, a configuração dos roteadores é realizada

sempre que os dados fornecidos forem válidos e o nó fonte estiver cadastrado como

cliente do sistema. O sistema tem dois tipos de configuração para os nós do domínio, o

computador fonte do tráfego é configurado com um marcador de pacotes para o DSCP do

serviço Premium e um condicionador de tráfego para não deixar o usuário transmitir mais

do que requisitou. Os roteadores por onde o fluxo vai passar aumentam a largura de banda

disponível para o serviço Premium de acordo com o valor requisitado pelo usuário. Em

caso de sucesso na operação, é apresentada uma mensagem de confirmação na tela e a

alocação é incluída na lista de alocações do cliente. É importante salientar que os usuários

devem cadastrar seus computadores como clientes do gerenciador através da ativação dos

agentes antes de fazer qualquer requisição do serviço Premium para suas transmissões.

Page 59: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

IjiijiitjiÇçajtijí’;! D :\Ale\D ii JWtacatAdocSPDP.btm

Gerente de Serviços Diferenciados

Domínio XJTSC

R e q u i s i ç ã o d e S e r v i ç o P r e m i u m ■ i

E m i p r e c n I P F u n t e £ n d p n > e o T P D e s t m o L a r g u r a d e B . u i d a

i l l l l

■ ’■*'v '•< ’ .r-!-. - R e r p i i s i c S o d e M m l i ç ã o

E n d e r e ç o Í P i o n t * . E n d e r e ç o I P D e s n n b P r o t o c o l o T a m a n h a d o * p a c o t e s M é t o d or ............ i ..................... . r - w í2x 2 3

■ r C l i e n t e s C a d a s t r a d o s e R e s p e c t i v a s A l o c a ç õ e s 7"' • :‘r.

C l i e n t e D e s t i n o -

1 9 2 í t s : : 1 9 : i c s t 2 :

1 9 2 .1 6 S 3 2

1 0 0 2 ,4 5 1 /4 ,1 6 1 /1 2 ^ 4 3 - « 0 ,5 ^ 8 /7 , 9 2 2 0 ác£'Hloc<yr

iâciàiecã?:

• v. ' R o t e a d o r e s C a d a s t r a d o s ' ' v •' L

1 9 2 .1 6 3 .2 . 1

1 9 2 .1 6 8 J .1

B a n d a A l o c a d a p a r a o S e r v i ç o P r e m i u m

Figura 5-2: Interface do gerente de Serviços Diferenciados

O segundo formulário da tela é usado para verificar a garantia efetiva do serviço

através da requisição de medições entre dois nós clientes que já estão usufruindo a

qualidade do serviço Premium. O sistema de medição permite a escolha do tamanho dos

pacotes, tipo de protocolo de transporte e método de medição. Esta flexibilidade é muito

importante para a obtenção de resultados precisos porque possibilita a realização das

medições com pacotes similares aos usados nas transmissões do cliente. Pòr exemplo, se

o cliente estiver transmitindo pacotes UDP de 1024 bytes para o destino e ambos nós

estiverem sincronizados com um servidor NTP {NetWork Time Protocol) [MIL92J, é

indicado que a medição use pacotes UDP de 1024 bytes e o método de medição one-way.

Caso os nós não estejam sincronizados, deve ser usado o método round-írip.

A terceira área compreende uma tabela com todos os clientes do sistema e suas

respectivas alocações. No momento que o usuário inicia o agente de configuração em seu

computador, este agente cadastra o computador como cliente do gerenciador e fica

esperando as mensagens de configuração. Juntamente com cada cliente, são apresentados

Page 60: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

os endereços dos destinos de suas transmissões, a quantidade de banda reservada para

cada fluxo e os resultados da última medição realizada. Na última coluna da tabela, existe

um link para requisitar a desalocação dos recursos entre o cliente e cada um de seus

destinos.

A quarta e última parte do sistema foi criada para apresentar informações sobre as

interfaces dos roteadores do domínio. Para cada interface, o sistema apresenta a

quantidade de largura de banda alocada para o serviço Premium.

5.3 Conclusão

O sistema de gerência para o serviço Premium proporciona a seus usuários uma

interface de operação com diversas funcionalidades. A requisição do serviço Premium ao

sistema é bastante simples, facilitando a operação por qualquer usuário da rede. A

requisição de medição requer o conhecimento do usuário em relação a: tamanhos de

pacotes, protocolos de transmissão e formas de sincronização de relógios. As informações

apresentadas na tela sobre os recursos reservados são de grande valia para os

administradores de rede.

Page 61: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

6 IMPLEMENTAÇÃO DO SISTEMA DE GERÊNCIA

6.1 Tecnologias Usadas e Justificativas

A definição da arquitetura do sistema foi, em parte, baseada nas características de

outros sistemas similares, apresentados na seção 4. As opções de tecnologia disponíveis e

o tempo limitado para o desenvolvimento foram os principais fatores que influenciaram a

definição da arquitetura do sistema. A tabela 6-1 apresenta as tecnologias escolhidas para

o desenvolvimento do sistema.

Tecnologias usadas no sistemaComunicação com os usuários HTTP

Comunicação com os roteadores Sockets TCPRoteadores PCs com Linux

PHBs disponíveis EFMecanismos de QoS usados nos roteadores CBQeRED

Tabela 6-1: Tecnologias escolhidas para o desenvolvimento do sistema

O sistema foi desenvolvido como uma aplicação Web, portanto, o protocolo usado

para realizar a comunicação entre os usuários e o sistema foi o HTTP. A linguagem de

programação usada no desenvolvimento do sistema Web foi o JSP {Java Server Pages),

devido à sua fácil integração com outros módulos do sistema desenvolvidos em Java.

Como o sistema é centralizado e os usuários estão distribuídos pelo domínio DiffServ, o

fato do sistema ter interface Web facilita muito o seu acesso. Através de qualquer

computador conectado a rede, é possível realizar requisições de recursos ou monitorações

da qualidade das transmissões. Quando a arquitetura de Serviços Diferenciados evoluir

mais e as aplicações de rede suportarem esta tecnologia, algum protocolo específico

poderá ser usado para as aplicações requisitarem serviços disponíveis na rede. O

protocolo RSVP é visto como uma boa alternativa para esta situação.

A comunicação entre o gerenciador e os nós DiffServ foi implementada através de

sockets TCP devido à sua simplicidade e facilidade de uso. Foram definidas algumas

mensagens para o gerenciador requisitar a execução de ações nos agentes. Os agentes de

descoberta de rotas recebem o endereço IP do nó destino para traçar uma rota. Os agentes

Page 62: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

de configuração nos nós folhas recebem o endereço ÍP do destino para configurar um

classificador e a largura de banda para configurar um condicionador. Os agentes de

configuração nos nós centrais recebem o endereço IP de uma de suas interfaces e a largura

que deve ser reservada aos pacotes Premium. Os agentes de medição recebem os

endereços IP fonte e destino, o protocolo de transporte, o tamanho do pacote e o método

de medição.

Outras opções de comunicação são os protocolos COPS e SNMP. O protocolo

COPS segue o modelo cliente/servidor para o controle de políticas e se adapta muito bem

na gerência dos Serviços Diferenciados. Existe um Intemet-Draft no grupo de trabalho

DiffServ que define uma PIB para gerenciamento de políticas em domínios DiffServ

[FIN01] e sugere que o COPS seja o protocolo de transmissão das políticas para os

dispositivos da rede. O protocolo SNMP vem fazendo parte de trabalhos recentes do

grupo de trabalho DiffServ na definição de uma MIB para dispositivos que implementam

DiffServ [BAK01]. Futuramente, o SNMP poderá ser usado tanto para monitoração como

para configuração dos roteadores. A razão de não usar o protocolo COPS na comunicação

entre o sistema e os roteadores se deveu à complexidade do protocolo e,

conseqüentemente, ao grande acréscimo de tempo que seria inserido no cronograma de

desenvolvimento.

Os tipos de roteadores disponíveis para o desenvolvimento do trabalho foram PCs

com sistema operacional Linux. O uso de PCs como roteadores não representa a realidade

da Internet porque estes equipamentos são limitados em relação à velocidade de

processamento de pacotes. Os PCs costumam ser usados como gateways entre redes

locais e redes centrais. A interconexão de grandes redes é quase totalmente realizada

através de roteadores proprietários. Neste trabalho, o uso de PCs com Linux foi bastante

satisfatório porque o Linux é um sistema operacional com um kemel muito avançado em

relação a mecanismos de controle de tráfego. O Linux disponibiliza diversos tipos de filas

e total suporte aos Serviços Diferenciados. A fila mais avançada é a CBQ, capaz de

realizar todas as funcionalidades necessárias para a implementação dos Serviços

Diferenciados: classificação, marcação, enfileiramento e condicionamento de pacotes.

Outra alternativa seria usar uma combinação de mecanismos de controle de tráfego, como

uma fila PQ para priorizar parte do tráfego e um condicionador TBF para limitar a taxa de

transmissão.

Page 63: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

O serviço implementado neste trabalho foi o serviço Premium Ele é baseado no

PHB EF e tem como objetivos principais: assegurar uma taxa de transmissão máxima e

manter a variação de latência do tráfego bem baixa. Este comportamento só é atingido se

todos os roteadores por onde passam os pacotes estão devidamente configurados. É por

isso que um sistema de gerenciamento é tão necessário para controlar as requisições do

serviço Premium e as reservas de recursos em cada roteador do domínio.

6.2 Arquitetura do Sistema

O gerenciador é composto por uma parte servidora e uma parte cliente. A parte

servidora é representada por uma aplicação Web responsável pela disponibiüzação do

serviço Premium através do gerenciamento dos recursos do domínio. A parte cliente roda

nos nós do domínio e é responsável pelas configurações e medições. Uma visão geral

desta arquitetura distribuída é apresentada na figura 6-1.

A aplicação Web necessita de um servidor de aplicações com suporte à tecnologia

JSP. Durante o desenvolvimento e teste do sistema, foi usado o servidor Tomcat8 versão

3.2. A tecnologia JSP é direcionada para o desenvolvimento de aplicações Web e

possibilita o uso de todas as funcionalidades Java existentes no JDK (Java Developmení

Kit). A aplicação Web foi desenvolvida em plataforma Linux, porém pode rodar em

qualquer sistema operacional que possua um servidor de aplicação com suporte a JSP e

um JDK versão 1.2 ou superior. Exemplos de classes do JDK utilizadas neste sistema são

a classe HashTable para armazenamento das reservas e a classe Socket para comunicação

com os agentes.

O agente de descoberta de rotas utiliza a aplicação Traceroute para determinar a

rota entre dois nós do domínio. Este agente, implementado em Java, recebe requisições de

descoberta de rota geradas pela aplicação Web através de sockets TCP. A execução do

Traceroute é realizada através da invocação de uma função localizada em uma biblioteca

em C++. O uso desta biblioteca é necessário devido à impossibilidade do Java em acessar

recursos nativos do sistema operacional.

O gerenciador implementado neste trabalho suporta a configuração de dois tipos de

dispositivos dentro do domínio: os nós folhas e os nós centrais. Os nós folhas são

8 http ://jakarta. apache. org/tomcat

Page 64: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

representados pelos computadores dos usuários que se cadastram como clientes do

sistema e fazem o papel de fonte ou destino das transmissões de pacotes Premium. Os nós

centrais são representados pelos roteadores do domínio que interligam os nós folhas. Em

comunicações interdomínio, os roteadores que interligam dois domínios são chamados de

roteadores de borda. Eles possuem a função de garantir os SLAs entre os domínios. A

configuração de roteadores de borda e a comunicação com BBs de outros domínios são

funcionalidades não suportadas pelo gerenciador.

O agente de configuração é formado por um sistema em Java que recebe as ordens

de configuração da aplicação Web via sockeís TCP e usa uma biblioteca em C++ para

configurar classificadores, marcadores e condicionadores no Linux. Ambos clientes e

roteadores devem rodar este agente de configuração, porém cada um usa um grupo

diferente de funções de configuração pelo fato de realizarem configurações distintas, isto

é, os clientes usam classificadores, marcadores e condicionadores para fluxos de dados

específicos e os roteadores usam classificadores e condicionadores para a agregação dos

fluxos de pacotes Premium.

O agente de medição é formado por um sistema transmissor e um sistema receptor.

O transmissor usa Java para receber as ordens de medição via sockets TCP e C++ para

enviar os pacotes de medição ao receptor. O C++ é utilizado no agente de medição devido

à necessidade do sistema em processar os pacotes rapidamente para não prejudicar a

precisão das medições. O receptor é implementado totalmente em C++ e não realiza

nenhuma comunicação' com a aplicação Web. Sua execução é representada por quatro

processos esperando mensagens do transmissor para realizar medições de acordo com

uma das combinações de protocolo (TCP ou UDP) e método de medição (one-way ou

round-tnp).

Page 65: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Gerenciador

Figura 6-1: Arquitetura do gerente de Serviços Diferenciados

6.3 Agente de Descoberta de Rotas

A estratégia de descoberta de rotas utilizada neste trabalho foi o uso da ferramenta

Traceroute por agentes localizados nos nós folha do domínio. Esta ferramenta, como o

próprio nome diz, traça uma rota entre o nó em que está rodando e outro nó da rede

informado como parâmetro. O agente de descoberta de rotas faz a interface entre o

gerenciador e o Traceroute.

As configurações de priorização do tráfego Premium são realizadas nas interfaces-

de saída dos nós pertencentes à rota de transmissão entre a fonte e o destino. Por exemplo,

as configurações do serviço Premium para transmissões do nó 1 para o nó 3 da figura 6-2

devem ser realizadas na interface 192.168.2.2 do nó 1 e na interface 192.168.3.1 do nó 2.

Page 66: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Com o objetivo de verificar quais interfaces dos nós da rede o Traceroute apresenta, a

ferramenta foi executada para traçar a rota entre os nós 1 e 3. O resultado apresentado na

tabela 6-2 listou a interface de entrada dos pacotes no nó 2 (192.168.2.1), sendo que a

interface que receberá configurações é a interface de saída (192.168.3.1). Para gerar as

informações corretas, o Traceroute deve ser executado no sentido inverso das

transmissões de pacotes Premium, gerando os resultados da tabela 6-3. Obviamente, estes

dados devem ser lidos também no sentido inverso.

Figura 6-2: Ambiente de testes com a ferramenta Traceroute

# traceroute 192.168.3.2

traceroute to 192.168.3.2 (192.168.3.2), 30 hops max, 40 byte packets

1 node2.deggy (192.168.2.1) 0.805 ms 0.248 ms 0.162 ms

2 node3.deggy (192.168.3.2) 2.748 ms 2.187 ms 2.573 ms

Tabela 6-2: Resultado do Traceroute entre 192.168.2.2 e 192.168.3.2

# traceroute 192.168.2.2

traceroute to 192.168.2.2 (192.168.2.2), 30 hops max, 40 byte packets

1 node2.deggy (192.168.3.1) 0.802 ms 0.554 ms 0.445 ms

2 nodel.deggy (192.168.2.2) 2.801 ms 2.173 ms 2.241 ms

Tabela 6-3: Resultado do Traceroute entre 192.168.3.2 e 192.168.2.2

O agente de descoberta de rotas é implementado em Java e, através do JNI, usa uma

biblioteca de funções escrita em C++ para executar a ferramenta Traceroute. Ele espera

por requisições da aplicação gerente em uma porta especifica do sistema. Para cada

requisição recebida, o Traceroute é executado e seu resultado é transmitido ao gerente. O

resultado do Traceroute é processado adequadamente para gerar uma lista de endereços

organizada na ordem correta antes de ser enviado ao gerenciador.

Page 67: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

6.4 Agente de Configuração

O agente de configuração é representado por um sistema em Java que usa uma

biblioteca de rotinas escrita em C++ para acessar os mecanismos de controle de tráfego do

Linux. Basicamente, a operação do sistema é esperar as requisições de configuração da

aplicação gerente e, de acordo com o tipo de configuração, executar uma das rotinas

disponíveis.

Os nós clientes e os roteadores possuem agentes de configuração com

funcionalidades distintas, de acordo com o tipo de configuração que deve ser realizada em

cada dispositivo. Estas diferentes configurações são ilustradas nas figuras 6-3 e 6-4. Os

clientes necessitam de classificadores, marcadores e condicionadores para cada fluxo de

pacotes Premium. Os roteadores necessitam de um único classificador e condicionador

para a agregação de todos os fluxos de pacotes Premium que passam por cada uma de

suas interfaces.

Classe 1:1 DSCP 0x2e FIFO

descarte

DSMARK

Figura 6-3: Configuração nos clientes

tcindex

Classe 2:2 RED

CBQ

DSMARKFigura 6-4: Configuração nos roteadores

Page 68: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

6.5 Agente de Medição

Os agentes de medição possuem praticamente toda sua funcionalidade

implementada em C++. Existe apenas uma interface em Java para o recebimento das

requisições de medição geradas pela aplicação gerente. A linguagem C++ é m ais

adequada para este tipo de aplicação devido à sua maior velocidade de processamento em

comparação com a linguagem Java, resultando em medições com maior precisão. No final

das medições, a interface Java devolve à aplicação gerente os resultados obtidos.

As medições são realizadas com intervalos definidos por uma distribuição de

Poisson [KIN93], onde a qualidade da amostragem depende desta distribuição estatística

G(t) [BIL92]. Normalmente, este método afeta menos a rede e gera uma estimativa mais

imparcial da métrica em questão. Uma das poucas desvantagens é que a análise dos

resultados se toma mais complicada devido às medições não ocorrerem em intervalos

fixos. Por exemplo, uma distribuição de Poisson com valor médio 500 poderia ser

formada pelos seguintes valores: 508, 529, 500, 502, 530, 478, 534, 515, 517 e 477.

Nas medições através do método One-way, o protocolo NTP é usado para realizar a

sincronização dos relógios dos dispositivos da rede. Na Internet existe uma ampla

disponibilidade de servidores NTP. No Brasil, a Rede Nacional de Pesquisa (RNP) vem

implantando uma hierarquia de servidores NTP que já conta com diversos servidores

secundários. Segundo [MIL92], os servidores NTP provêem sincronização com precisão

de um milisegundo em redes locais e algumas dezenas de miüsegundos em redes de longa

distância.

Através de estudos sobre as metodologias de medição das métricas definidas pelo

IPPM, notou-se que o procedimento de medição para a métrica Type-P-One-way-Delay é

praticamente repetido nos procedimentos de medição da variação de latência e perda de

pacotes. O fato de a medição da variação de latência depender da medição da latência é

bastante óbvio, para calcular seus valores é necessário já ter os valores de latência de um

fluxo contínuo de pacotes de teste. Além disso, concluiu-se que a medição da perda de

pacotes também pode ser realizada com o mesmo fluxo de pacotes. Devido às

características em comum entre as métricas, decidiu-se implementar as métricas de uma

forma que um mesmo fluxo de pacotes de teste pudesse ser usado para medir latência,

variação de latência e perda de pacotes. O sistema de medições implementa as métricas de

Page 69: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

latência Type-P-One-way-Delay e Type-P-Round-trip-Delay. Com base nestas medições,

as métricas variação de latência e perda de pacotes são determinadas. O grupo de trabalho

IPPM não define métricas de variação de latência ou perda de pacotes baseadas em

transmissões de ida e volta (round-tiip), porém o sistema também implementa estas

funcionalidades.

No sistema de gerência implementado, a aplicação gerente requisita a um de seus

clientes a medição ponto-a-ponto com outro cliente. Os parâmetros informados ao agente

de medição do cliente são os seguintes:

• Endereço IP do nó fonte;

• Endereço IP do nó destino;

• Número de pacotes que deverão ser enviados;

• Tamanho dos pacotes; e

• Tempo máximo de espera antes de considerar os pacotes perdidos.

A definição de alguns dos parâmetros acima é baseada em valores definidos pela

Intemet2 para a arquitetura do Qbone [TEI99]. O tempo máximo de espera por um pacote

antes de considerá-lo perdido é dois minutos. Outra característica do Qbone seguida nesta

implementação diz respeito ao valor médio da distribuição de Poisson [KIN93] usada para

definir o intervalo de tempo entre o envio dos pacotes. Cada pacote deve ser transmitido

com um intervalo de aproximadamente 500 milisegundos, pois se acredita que este valor

seja eficiente para captar o comportamento da rede. E importante que o intervalo não seja

muito pequeno para que o tráfego de teste não perturbe os outros tráfegos ou exceda suas

reservas da rede. No caso de intervalos muito grandes, a leitura dos comportamentos da

rede pode ser prejudicada.

Para cada pacote de teste enviado durante a medição, são coletados os seguintes

valores:

• TempoSaida - o tempo do relógio do nó fonte no momento do envio do pacote; e

• TempoChegada - o tempo do relógio do nó destino no momento do recebimento

do pacote.

Os valores de latência são armazenados em uma lista indexada pelo número de

seqüência dos pacotes. Nesta lista, os pacotes perdidos são representados através do

menor valor suportado por dados do tipo long: -2147483648. Desta forma, é possível que

uma única lista de latências de transmissão contenha todas as informações necessárias

Page 70: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

para a geração de gráficos e estatísticas da medição com relação a latência, variação de

latência e perda de pacotes.

Pode haver diversas condições de erro no procedimento de medição. Algumas

situações são previstas e evitadas para que o nível de precisão dos valores medidos não

seja afetado, porém outras situações são muito difíceis de serem evitadas. Na tabela 6-4

são apresentadas as principais fontes de erro e suas respectivas soluções.

Fonte de erro Solução

Um pacote não chega no destino dentro do

tempo máximo de espera.

0 sistema considera perdidos os pacotes

que não chegam dentro de dois minutos.

Um pacote chega no destino corrompido. Os pacotes corrompidos são tratados pelo

sistema como pacotes perdidos.

Um pacote é duplicado pelo caminho. A primeira cópia do pacote é processada

normalmente e as outras são

desconsideradas.

Os pacotes chegam fragmentados. Esta situação não ocorre porque o sistema

limita o tamanho dos pacotes transmitidos

em 1500 bytes (redes Ethernet).

Os relógios dos nós não estão sincronizados

adequadamente.

Todos os nós folhas do domínio devem ser

clientes NTP. Os nós sem esta

funcionalidade devem realizar medições

segundo o método round-trip.

Tabela 6-4: Fontes de erro de medição

Page 71: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

7 AVALIAÇÃO DO SISTEMA DE GERÊNCIA

A avaliação do sistema de gerência foi realizada através de testes práticos com o

sistema em um ambiente criado para simular um domínio DiffServ. Neste ambiente, o

gerente foi instalado em um servidor de aplicações e os agentes de descoberta de rota,

configuração e medição foram instalados nos nós da rede com suporte aos Serviços

Diferenciados. Após sua instalação, o sistema foi colocado para rodar e foi verificado se

todos os nós com agentes rodando tinham se cadastrado corretamente no gerenciador.

Através da requisição do serviço Premium ao gerenciador para transmissões entre dois

nós do domínio, localizados em sub-redes diferentes, foi verificada a capacidade do

sistema em descobrir e configurar os nós do domínio que fazem parte das rotas de

transmissão. A capacidade do sistema em disponibilizar aos usuários o serviço Premium

foi avaliada através da comparação dos resultados de medições realizadas antes e depois

da requisição do serviço.

7.1 Ambiente de testes

Os equipamentos e aplicativos disponíveis para a montagem do ambiente de testes

foram os seguintes:

• 3 computadores rodando Linux Mandrake versão 8.1 com suporte aos Serviços

Diferenciados;

• 3 computadores rodando Windows 98 sem suporte aos Serviços Diferenciados;

• 2 hubs Ethernet de 8 portas;

• Servidor de aplicações Tomcat9 versão 3.2;

• Aplicativo de sincronização de relógio NTP versão 4.1.0;

• Aplicativo de medição Ping disponibilizado no Linux Mandrake versão 8.1;

• Aplicativo de medição MGEN10 versão 3.2; e

• Aplicativo de geração de tráfego Iperf versão 1.2.

9 Tomcat é um servidor de aplicações com suporte às tecnologias Java Servlet e Java Server Pages. http://jakarta.apache.org/tomcat/index.html.

10 http://manimac.itd.nrl.navy.mil/MGEN/

Page 72: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

A montagem do ambiente de teste foi baseada, parcialmente, nas informações

contidas no artigo [MCWOO]. Neste trabalho, duas redes locais com velocidade de

transmissão de 10 Mbits/s foram criadas com o auxílio dos hubs e um dos computadores

rodando Linux foi colocado entre elas para realizar a função de roteador, como

apresentado na figura 7-1. Um dos computadores com Windows 98 recebeu a instalação

do servidor de aplicações e da aplicação gerente implementada. O computador Linuxl foi

usado como cliente do sistema de gerenciamento, sendo responsável pela requisição do

serviço Premium para suas transmissões ao computador Linux2. Os outros dois

computadores com Windows 98 foram usados para a geração de tráfegos de background,

quando necessário.

LinuxlServidor de Aplicações (cliente NTP)

Linux2 (servidor NTP)

1 9 2 . 1 6 8 . 2 . 4 1 9 2 . 1 6 8 . 2 . 2

p i 192.168.2.3 192.168.2.1 'Hub Ethernet

192.168.3.2

192.168.3.1 l i i i i í l P ® 192.168.3.3 j ' ̂ Hub Ethernet

Window s1(10 Mbits/s) Roteador (10 Mbits/s)

Window s2

Figura 7-1: Ambiente de testes

O gerenciador implementado neste trabalho é dividido em quatro aplicações: uma

aplicação gerente com interface HTML, um agente de descoberta de rotas, um agente de

configuração e um agente de medição. A aplicação gerente foi instalada no servidor de

aplicações Java e ficou disponível para a requisição de recursos. O agente de configuração

foi instalado nos computadores Linuxl, Linux2 e roteador. O agente de descoberta de

rotas e o agente de medição foram instalados nos computadores Linuxl e Linux2. Ambos

nós também receberam a instalação do pacote NTP para poderem sincronizar seus

relógios e, desta forma, obter boa precisão nas medições pelo método one-way. O

computador Linux2 funcionou como servidor NTP.

Page 73: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

7.2 Cadastramento de Clientes

O agente de configuração é responsável pelo cadastramento do nó com a aplicação

gerente e pela configuração de filas, classes e filtros nas interfaces para que o tráfego

Premium receba um tratamento diferenciado do tráfego Melhor Esforço. Existem dois

tipos de agentes de configuração, um para os nós folhas e outro para os nós centrais. Os

nós folhas são representados pelos computadores dos usuários da rede e os nós centrais

são representados pelos roteadores. De acordo com a especificação dos Serviços

Diferenciados, estes dois tipos de nós devem receber configurações diferenciadas: os nós

folha precisam de classificadores baseados nos endereços IP dos pacotes, marcadores e

condicionadores de tráfego e os nós centrais precisam de classificadores baseados no

código DSCP dos pacotes e de filas com diferentes prioridades.

A verificação do cadastramento dos nós do domínio pelo sistema foi realizada com

facilidade devido ao fato de a aplicação gerente apresentar a lista de todos os nós folhas

cadastrados na tabela “Clientes Cadastrados e Respectivas Alocações” e a lista de todos

os nós centrais cadastrados na tabela “Roteadores Cadastrados”. Através da figura 7-2, é

possível verificar que, após a ativação do agente de configuração nos nós da rede, os

seguintes nós se cadastraram no sistema: nó folha Linuxl com interface 192.168.2.2, nó

folha Linux2 com interface 192.168.3.2 e nó central Roteador com interfaces 192.168.2.1

e 192.168.3.1. No primeiro momento, aparecem somente as interfaces dos nós.

Informações adicionais são apresentadas após as requisições de alocação de recursos e

medição das transmissões.

Clientes Cadastrados e Respectivas Alocações--.'1 •.

. -p. ti Banda Latência Variação de Latência Pacotes Perdidosen e es o A]oca(Ja (inírt/med/max) (niín/nied/itiax) (%)

192.168.3,2

Interface192.168.2.1

192.168.3.1

*í-Roteadores Cadastrados

Banda Alocada para o Serviço Premium

Figura 7-2: Visualização dos clientes cadastrados

Page 74: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Além de se cadastrarem no gerente, os agentes de configuração também realizam

uma configuração base nas interfaces dos nós em que estão rodando. Nos nós folhas, esta

configuração base cria as filas e classes especificando a marcação e condicionamento que

os pacotes Premium deverão receber. A criação dos filtros para os fluxos de dados

específicos é deixada para depois. A tabela 7-1 mostra as informações apresentadas pela

ferramenta TC sobre suas configurações na interface ethO (192.168.2.2) do nó Linuxl

após a ativação do agente de configuração. É possível verificar que as configurações

criaram uma disciplina de enfileiramento marcadora de pacotes DiffServ, uma classe

especificando o código DSCP que deve ser marcado nos pacotes e um filtro do tipo u32.

# tc qdisc show dev ethO

qdisc dsmark 1: dev ethO índices 0x0040

# tc class show dev ethO

class dsmark 1:1 parent 1: mask 0x03 value 0xb8

# tc filter show dev ethO

filter parent 1: protocol ip pref 1 u32

filter parent 1: protocol ip pref 1 u32 fh 1: ht divisor 1

filter parent 1: protocol ip pref 1 u32 fh 800: ht divisor 1

Tabela 7-1: Informações do TC sobre a configuração base na interface ethO do nó Linuxl

Nos nós folha, a configuração base cria as filas, classes e filtros especificando o

tratamento que os pacotes Premium e Melhor Esforço deverão receber e deixa a

especificação da largura de banda alocada para o serviço Premium para futuras

configurações baseadas nas requisições dos usuários. A tabela 7-2 mostra as informações

apresentadas pela ferramenta TC sobre suas configurações na interface ethl (192.168.3.1)

do nó Roteador após a ativação do agente de configuração. A mesma configuração é

realizada em todas as interfaces do nó. Pelas informações apresentadas, é possível

verificar que as configurações criaram quatro disciplinas de enfileiramento: uma do tipo

DSMARK, uma do tipo CBQ, uma do tipo PFIFO e uma do tipo RED. A disciplina de

enfileiramento DSMARK foi colocada na raiz da interface para ler o código DSCP dos

pacotes. Os pacotes passam então para a disciplina de enfileiramento CBQ para serem

processados de acordo com este código DSCP. Os pacotes Premium vão para a disciplina

Page 75: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

de enfileiramento PFIFO e os pacotes Melhor Esforço vão para a disciplina de

enfileiramento RED. A configuração das classes especifica a taxa de transmissão máxima

e a prioridade de cada disciplina de enfileiramento. A disciplina de enfileiramento PFIFO

começou com taxa de transmissão limite de 1 bit por segundo (a especificação de 0 bit por

segundo não é permitida) e prioridade 1 (máxima). A disciplina de enfileiramento RED

foi limitada em 5 Mbits por segundo e recebeu prioridade 7.

# tc qdisc show dev ethl

qdisc red 8002: limit 60 Kb min 15 Kb max 45 Kb

qdisc pfifo 8001: limit 5p

qdisc cbq 2: rate 10 Mbit (bounded, isolated) prio no-transmit

qdisc dsmark 1: indices 0x0040 set_tc_indexI

# tc class show dev ethl

class cbq 2: root rate 10 Mbits (bounded, isolated) prio no-transmit

class cbq 2:1 parent 2: leaf 8001: rate 1 bps (bonded, isolated) prio 1

class cbq 2:2 parent 2: leaf 8002: rate 5 Mbit prio 7

# tc filter show dev ethl

filter parent 1: protocol ip pref 1 tcindex hash 0 mask OxOOfc shift 2 fall_through

Tabela 7-2: Informações do TC sobre a configuração base na interface ethl do nó Roteador

Pelos dados apresentados pelo gerenciador e pela ferramenta TC, é possível

concluir que os agentes de configuração se cadastraram no gerenciador e realizaram uma

configuração base nas interfaces de comunicação corretamente. O cadastramento dos

agentes no gerenciador possibilitou, então, a continuação da avaliação do sistema através

da requisição do serviço Premium para transmissões entre os nós Linuxl e Linux2.

7.3 Descoberta e Configuração dos Nós do Domínio

A funcionalidade mais importante dos BBs é a configuração automática dos nós da

rede de acordo com as requisições dos usuários e as políticas de alocação de recursos do

domínio. Para realizar estas configurações, o sistema deve ter a capacidade de descobrir

os nós do domínio pertencentes às rotas de transmissão. Se a transmissão for entre nós do

Page 76: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

mesmo domínio, a rota é composta pelos nós fonte e destino do tráfego e por alguns

roteadores centrais. Se a transmissão for entre nós de domínios diferentes, a rota é

composta por roteadores conectados a domínios adjacentes (roteadores de borda) e

roteadores centrais do domínio.

A pesquisa sobre BBs apresentada na seção 4 não encontrou muitos dados sobre

estratégias de descoberta de rotas. Dos sete BBs pesquisados, apenas dois especificaram a

estratégia de descoberta de rotas. Ambos se comunicavam com roteadores OSPF para

obter estas informações. Esta solução me pareceu bastante eficiente, porém restrita

somente a redes com este protocolo de roteamento. A estratégia usada neste trabalho não

foi encontrada em nenhum outro sistema, porém demonstrou ser bastante simples e

portável. O gerenciador utilizou a ferramenta Traceroute disponível nos nós da rede para

descobrir as rotas de transmissão.

Nesta avaliação do sistema, foi requisitado ao gerenciador o serviço Premium para

transmissões com fonte em Linuxl e destino em Linux2. Como os pacotes são

diferenciados no momento da transmissão pelos nós da rede, as interfaces que

necessitaram de configuração foram a interface ethO (192.168.2.2) do nó Linuxl e a

interface ethl (192.168.3.1) do nó Roteador. Nas tabelas 7-3 e 7-4, as informações de

configuração apresentadas pela ferramenta TC confirmam que o gerenciador descobriu os

nós do domínio e realizou as configurações necessárias para disponibilizar o serviço

Premium. No nó Linuxl, foi configurado um filtro u32 para pacotes com fonte em

192.168.2.2 (c0a80202 em hexadecimal) e destino em 192.168.3.2 (c0a80302 em

hexadecimal). Este filtro condicionou a taxa de transmissão dos pacotes em 100 Kbits/s e

redirecionou-os para a classe 1:1, a qual define a marcação dos pacotes Premium. No nó

Roteador, a configuração foi mais simples. A classe dos pacotes Premium (classe 2:1) foi

alterada para permitir a transmissão de até 100 Kbits por segundo.

# tc filter show dev ethO

Page 77: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

filter parent 1: protocol ip pref 1 u32

filter parent 1: protocol ip pref 1 u32 fh 1: ht divisor 1

filter parent 1: protocol ip pref 1 u32 fh 800: ht divisor 1

filter parent 1: protocol ip pref 1 u32 fh 800:;800 order 2048 key ht 800 bkt O.flowid 1:1

police 1 action drop rate 100 Kbit burst 2 Kb mtu 2Kb

match c0a80202/ffffffff at 12

match c0a80302/ffffffff at 16

Tabela 7-3: Informações do TC sobre os filtros configurados na interface ethO do nó Linuxl

# tc class show dev ethl

classcbq 2: root rate 10 Mbits (bounded, isolated) prio no-transmit

class cbq 2:1 parent 2: leaf 8001: rate 100 Kbit (bonded, isolated) prio-1

class cbq 2:2 parent 2: leaf 8002: rate 5 Mbit prio 7

Tabela 7-4: Informações do TC sobre os filtros configurados na interface ethl do nó Roteador

7.4 Medição da Qualidade das Transmissões

Foram realizados alguns testes com o agente de medição com o objetivo de

observar se a implementação foi realizada corretamente e seus resultados têm boa

precisão. A estratégia tomada para verificar a precisão da implementação foi comparar

seus resultados com os resultados obtidos com ferramentas de terceiros. Partiu-se do

pressuposto que estas ferramentas de terceiros foram bem implementadas e sempre geram

resultados com boa precisão. Desta forma, a obtenção de resultados semelhantes com o

sistema implementado permitiria afirmar que, sob as condições de congestionamento

testadas, este sistema também gera resultados com boa precisão. Todas as medições foram

realizadas sob as mesmas condições de rede e os computadores envolvidos não possuíam

carga extra que pudesse influenciar os resultados.

7.4.1 Medições sem Serviço Premium em Rede sem Tráfego

Este primeiro teste serviu para avaliar a precisão dos resultados obtidos pelo agente

de medição em uma rede sem tráfego. Os únicos computadores que participaram do teste

foram o Linuxl e o Linux2, como pode ser visto na figura 7-3. Por não haver outras

transmissões durante os testes, os pacotes de medição foram transmitidos com a maior

Page 78: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

velocidade possível do ambiente e, conseqüentemente, suas latências de transmissão

foram bem baixas. Com esta situação de tráfego, foi possível verificar a qualidade da

implementação em relação ao tempo de processamento gasto durante as medições, porque

processamentos desnecessários prejudicam a precisão dos resultados.

Linuxl (cliente NTP)

Linux2 (servidor NTP)

192.168.2.2Tráfego de medição

192.168.3.2

Hub Ethernet (10 M bits/s)

192.168.3.1 !Hub Ethernet

Roteador (10 M bits/s)

Figura 7-3: Teste de medição sem tráfego de background

Os pacotes de medição foram enviados do computador Linuxl (endereço IP

192.168.2.2) para o computador Linux2 (endereço IP 192.168.3.2). Todas as medições

foram realizadas por cinco minutos com pacotes de 1400 bytes. O teste foi dividido em

dois grupos de medições: um seguindo o método round-trip e outro seguindo o método

one-way.

As medições seguindo o método one-way foram realizadas pelo agente de medição

utilizando os protocolos TCP e UDP e pela ferramenta MGEN utilizando o protocolo

UDP. A ferramenta MGEN é bastante utilizada para a realização de medições com

pacotes UDP. Sua escolha foi devido ao fato de ser bastante conhecida e possuir

características presentes no agente de medição: capacidade de definir o tamanho dos

pacotes, capacidade de transmitir os pacotes em intervalos definidos por uma distribuição

de Poisson e capacidade de determinar o tempo de medição. Ambos agente de medição e

MGEN transmitiram os pacotes a uma freqüência de transmissão de aproximadamente

dois pacotes por segundo seguindo uma distribuição de Poisson. O agente de medição

usou as portas 7002 e 7002 para o envio e recepção dos pacotes TCP e as portas 8002 e

8003 para o envio e recepção dos pacotes UDP.

Page 79: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

A sincronização necessária para medições one-way foi realizada através da

configuração do nó destino como servidor NTP e do nó fonte como cliente NTP. Desta

forma, foi possível atingir um altíssimo nível de sincronização entre os nós, com diferença

de menos de 1 milisegundo. Na Internet, as sincronizações não são tão precisas devido à

distância entre os clientes e servidores NTP, porém costumam ser sincronizações

aceitávéis para a maioria das aplicações. Nesta avaliação do agente de medição usando o

método de medição one-way, a sincronização entre os .relógios foi realizada antes do

início das medições.

O gráfico da latência dos pacotes, exibido na figura 7-4, mostra que os relógios dos

nós participantes da medição foram perdendo a sincronia durante os cinco minutos de

teste. No início das medições, logo após a sincronização entre os nós, os resultados

representavam os valores corretos de latência, algo em torno de 2.8 milisegundos. Após

um minuto de medição os valores ficaram negativos, representando uma total perda de

sincronia entre os relógios dos nós fonte e destino. Ambos agente de medição e MGEN

reportaram este fenômeno.

M e dição o n e -w a y sem trá fego de b a ck g ro u n d

10 15 --

(A£ 0 --<0 r, 11oc

-10 --<8-15 --

-20 J

25 50 75 50 175 200 225 250 275

tempo (s)

•TCP “UDP ----------MGEN (UDP)

Figura l-4\ Gráfico da medição one-way sem tráfego de background

Para confirmar que o fenômeno registrado pelo teste anterior foi realmente perda de

sincronização, as mesmas medições foram realizadas no sentido inverso. O computador

Linuxl foi colocado como destino dos pacotes de medição gerados pelo computador

Linux2. O gráfico da figura 7-5 apresenta os dados deste teste. Nota-se que, como no teste

anterior, os valores medidos foram perdendo a precisão de forma constante com o passar

do tempo. A diferença é que a inversão no sentido das transmissões provocou a inversão

Page 80: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

no sentido da linha do gráfico. Quando Linuxl foi a fonte das transmissões, as medições

de latência geraram resultados decrescentes, e quando Linux2 foi a fonte das

transmissões, as medições de latência geraram resultados crescentes. Este comportamento

levou a conclusão que o relógio de Linuxl estava funcionando mais rapidamente que o

relógio de Linux2.

Medição one -w a y no sentido inverso sem tráfego de background

30 i

25

0 -1----------------------- 1----------------------- 1----------------------- T----------------------- 1------------------------ I----------------------- 1----------------------- 1------------------------1------------------------1------------------------1

0 30 60 90 120 150 180 210 240 270

tempo (s)

----------TCP *UDP »™™»MGEN (UDP)

Figura 7-5: Gráfico da medição one-way no sentido inverso sem tráfego de background

Existem duas formas para melhorar a precisão dos resultados gerados nos testes

anteriores. Segundo [KAL99a], se a diferença entre os relógios dos nós é conhecida, este

valor pode ser somado ao valor de latência medido para gerar um resultado mais preciso.

Como esta diferença entre os relógios se altera com o tempo, seu valor deve ser

determinado periodicamente. Em vários casos, esta variação da diferença entre os relógios

pode ser representada através de uma função linear. Na prática, esta não parece ser a

melhor solução porque seria necessário calcular a taxa de perda de sincronização para

cada par de nós de medição. Este cálculo teria que ser realizado antes de cada medição ou

teria que ser armazenado e gerenciado pelo sistema gerente.

Uma forma mais simples e fácil de melhorar a precisão das medições é realizar a

sincronização dos nós em intervalos fixos durante o processo de medição. Desta forma,

quanto menor o intervalo entre as sincronizações, menor o erro inserido nos resultados

das medições. Por exemplo, a figura 7-6, apresenta o gráfico da medição one-way entre

Linuxl e Linux2 com sincronizações a cada 30 segundos. A estatísticas geradas por estes

dados mostram resultados bem mais precisos do que os anteriores, com a média das

latências ficando em tomo de 2.5 milisegundos, como pode ser visto na tabela 7-5.-

Page 81: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Medição one-way sem tráfego de background(sincronização a cada 30 segundos)

1 0 -i

0 "I--------- 1--------- 1--------- 1--------- 1--------- 1--------- 1--------- 1---------1--------- 1--0 30 60 90 120 150 180 210 240 270

tempo (s)

TCP -------UDP -^.v,MGEN(UDP)

Figura 7-6: Gráfico da medição one-way com sincronização a cada 30 segundos e sem tráfego debackground

TCP UDP MGEN (UDP)Latência média 2,590 2,477 2,452

Variação de latência média 0,088 0,080 0,063Porcentagem de pacotes 0% 0% 0%

Tabela 7-5: Estatísticas da medição one-way com sincronização a cada 30 segundos e sem tráfego debackground

Para alcançar alta precisão nas medições com o método one-way, foi decidido

realizar os próximos testes com sincronizações a cada um segundo. Na Internet, um

intervalo tão pequeno não seria possível porque os clientes NTP estão em quantidade

muito maior e o tráfego de suas sincronizações seria muito grande. Porém, sincronizações

a cada trinta segundos já diminuem bastante o erro inserido nas medições. Este intervalo

entre as sincronizações pode variar entre as redes que compõem a Internet, dependendo

do nível de tráfego nos roteadores e da localização do servidor NTP mais próximo. A

sincronização a cada um segundo entre os nós Linuxl e Linux2 praticamente impede a

perda de precisão nas medições, como pode ser visto na figura 7-7 e na tabela 7-6.

Page 82: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Medição one-way sem tráfego de background(sincronização a cada 1 segundo)

£

--------------1------------- 1-------------1-------------r---- i-------------1------------- i-------------1-------------1------------- f0 30 60 90 120 150 180 210 240 270

t e m p o (s)

Figura 7-7: Gráfico da medição one-way com sincronização a cada 1 segundo e sem tráfego debackground

TCP UDP MGEN (UDP)Latência média 2,970 2,823 2,827

Variação de latência média 0,111 0,064 0,078Porcentagem de pacotes 0% 0% 0%

Tabela 7-6: Estatísticas da medição one-way com sincronização a cada 1 segundo e sem tráfego debackground

Para o método de medição round-trip, a ferramenta usada para comparação foi o

Ping. Esta ferramenta é bastante usada para testar a comunicação entre nós da rede e

verificar a latência e a taxa de perda de pacotes das transmissões. As razões de sua

escolha foram a sua grande disponibilidade e suas capacidades de definir o tamanho dos

pacotes de medição, o intervalo de tempo entre cada transmissão e o tempo total de

medição. O agente de medição transmitiu os pacotes a uma freqüência de transmissão de

aproximadamente dois pacotes por segundo seguindo uma distribuição de Poisson. Por

não implementar esta funcionalidade, o Ping foi configurado para transmitir os pacotes

entre intervalos fixos de 0.5 segundos. Com medições de cinco minutos, cada ferramenta

de medição enviou um total de 600 pacotes. Os pacotes de medição foram enviados do

computador Linux 1 para o computador Linux2. O agente de medição usou as portas 7000

e 7001 para o envio e recepção dos pacotes TCP e as portas 8000 e 8001 para o envio e

recepção dos pacotes UDP. O fato de o Ping usar o protocolo de transmissão ICMP não

foi encarado como um problema porque o roteador não tinha nenhuma configuração que

priorizasse um protocolo sobre o outro.

Page 83: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

O gráfico com os valores de latência medidos pelo agente de medição, usando TCP

e UDP, e pela ferramenta Ping, usando ICMP, é apresentado na figura 7-8. Pode ser visto

que as linhas do gráfico praticamente se sobrepõem mostrando valores de latência

próximos de 5.7 milisegundos nas três medições. A constância dos resultados já era

esperada pelo fato de não haverem outras transmissões de dados na rede. Na tabela 7-7, as

estatísticas geradas com os resultados das medições ajudam a mostrar a grande

proximidade entre os resultados gerados pelo agente de medição e pelo Ping. Os

resultados como protocolo de transporte TCP foram um pouco acima dos resultados com

os protocolos UDP e ICMP. Acredita-se que isso tenha ocorrido porque o protocolo TCP

utiliza diversos recursos de controle de fluxo que não existem nos outros protocolos,

como as mensagens de confirmação e o controle de congestionamento.

Medição round-trip sem tráfego de background

10 !

0 -I--------- 1--------- 1--------- 1--------- i--------- 1--------- 1--------- 1--------- 1--------- 1—0 30 60 90 120 150 180 210 240 270

tempo (s)

•— “ TCP UDP »■•■•■'••■■•■■•••Ping (ICMP)

Figura 7-8: Gráfico da medição round-trip sem tráfego de background

TCP UDP PING (ICMP)

Latência média 5,772 5,619 5,605Variação de latência média 0,128 0,091 0,069

Porcentagem de pacotes 0 % 0 % 0%

Tabela 7-7: Estatísticas da medição round-trip sem tráfego de background

7.4.2 Medições sem Serviço Premium em Rede Congestionada

O segundo teste foi realizado com a rede congestionada. Seu objetivo foi verificar o

comportamento do agente de medição em uma rede com altos níveis de latência, variação

Page 84: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

de latência e perda de pacotes. Para provocar esta situação, foram gerados dois tráfegos de

background no ambiente através da ferramenta Iperf. Como apresentado na figura 7-9, um

tráfego de background de 8 Mbits/s foi gerado entre' o roteador e o nó Windows2 e outro

tráfego de background de 3 Mbits/s foi gerado entre os nós Windowsl e Windows2. O

tráfego de 8 Mbits/s gerado diretamente no roteador teve o objetivo de congestionar a

interface com endereço IP 192.168.3.1. Este tráfego representa a chegada de diversos

fluxos de pacotes em diferentes interfaces e sua retransmissão por uma única interface.

Sua conseqüência no roteador foi gerar uma grande fila de pacotes na saída da interface,

provocando um aumento no tempo de transmissão dos pacotes de medição que por ali

passavam Porém, este único tráfego de background não foi suficiente para encher a fila e,

conseqüentemente, gerar o descarte de alguns pacotes. Para conseguir este

comportamento, foi necessário gerar um segundo tráfego de background com fonte em

Windowsl e destino em Windows2. Após realizar tentativas com diferentes taxas de

transmissão, verificou-se que um tráfego adicional de 3 Mbits/s atravessando o roteador

no mesmo sentido era suficiente para exceder o limite de transmissão da interface do

roteador e provocar o descarte de uma quantidade razoável de pacotes.

Linuxl (cliente NTP)

Linux2 (servidor NTP)

192.168.2.2 f 192.168.3.2

192.168.2.1 É lpí Ä

192.168.3.1 192.168.3.3 • ’Hub Ethernet (10 Mbits/s)

Hub Ethernet (10 Mbits/s)Roteador

W indowsl Windows2Tràíego de medição

Tráfego de background - 3 Mbits/s

Tí áfego íte background • 8 Mbsís/s

Figura 1-9: Teste de medição com tráfego de background

Igualmente ao teste sem tráfego de background, as medições foram realizadas entre

os nós Linuxl e Linux2 durante cinco minutos com pacotes de 1400 bytes. O agente de

Page 85: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

medição foi comparado ao Ping nas medições segundo o método round-trip e ao MGEN

nas medições segundo o método one-way. Devido à grande variabilidade do tempo de

transmissão dos pacotes neste teste, cada medição foi realizada dez vezes para

proporcionar uma comparação de resultados mais clara.

Com o objetivo de visualizar a variabilidade do tempo de transmissão dos pacotes,

os valores de latência da primeira medição de cada ferramenta foram usados para gerar

dois gráficos. O primeiro gráfico, representando as medições através do método one-way,

é apresentado na figura 7-10. As medições com pacotes UDP e ICMP apresentaram um

comportamento bem parecido, registrando valores de latência entre 15 e 140

milisegundos. Diferentemente, as medições com pacotes TCP registraram valores de

latência entre 15 e 505 milisegundos. Esta diferença é explicada pelo fato de o protocolo

TCP retransmitir os pacotes perdidos. Por esta razão, os pacotes TCP que foram

descartados pelo roteador durante o teste tiveram que ser retransmitidos, apresentando

latência bem maior que os demais.

M edições de latência one-w ay com tráfego de background

350

0 30 60 90 120 150 180 210 240 270

tem po (s)

-— TCP----UDP-™»MGBM(UDF)

Figura 7-10: Gráfico das medições de latência one-way com tráfego de background

Através da visualização do gráfico da figura 7-10 e da análise dos dados que o

formam, é possível verificar de forma bastante clara que os valores de latência dos

pacotes de medição estiveram sempre entre o limite inferior de 15 milisegundos e o

limite superior de 140 milisegundos. O tráfego de background injetado na rede não

permitiu que os pacotes de medição fossem transmitidos em tempo menor que 15

milisegundos e não conseguiu provocar latência de transmissão maior que 140

Page 86: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

milisegundos. Baseado nestas informações, surge o questionamento sobre como deve

ser medida a latência de pacotes TCP. Segundo [KAL99a] e [KAL99b], as medições de

latência devem representar o tempo entre a saída do pacote da fonte e sua chegada no

destino. Porém, a metodologia de medição apresentada nestes documentos não

especifica se a latência das transmissões TCP deve incluir o tempo de retransmissão dos

pacotes perdidos. Em transmissões TCP, quando pacotes perdidos são retransmitidos, o

tempo de transmissão dos dados é maior que o tempo de transmissão do novo pacote

(pacote de retransmissão). Para os usuários da rede, o importante é saber quanto tempo a

rede está levando para transmitir os dados. Por esta razão, o sistema desenvolvido neste

trabalho mede o tempo de transmissão dos dados, não dos pacotes.

As tabelas 7-8, 7-9 e 7-10 apresentam, respectivamente, as estatísticas das

medições one-way com o agente de medição usando pacotes TCP e UDP e o MGEN

usando pacotes UDP. Devido ao comportamento diferenciado do protocolo TCP em

relação à perda de pacotes, não é possível comparar os resultados das medições com

TCP com os resultados das medições com UDP. Nota-se que as estatísticas das dez

medições de cada tabela são bastante similares devido ao tráfego de background ter sido

constante durante todas as medições. Nota-se também que a latência média das

medições com TCP foi aproximadamente 20 milisegundos maior que a latência média

das medições com UDP.. Como a perda de pacotes gera o aumento da latência e as dez

medições apresentaram valores de latência média bem próximos, conclui-se que o

. número de pacotes perdidos não variou muito entre as medições.

As medições one-way com pacotes UDP realizadas pelo agente de medição e pela

ferramenta MGEN apresentaram resultados muito similares, demonstrando que a agente

de medição também funciona bem em redes congestionadas e com perda de pacotes. É

possível verificar que a latência mínima, a latência média e a latência máxima

registradas pelas duas ferramentas foram praticamente iguais: 19, 54 e 132

milisegundos, respectivamente. O agente de medição e o MGEN também registraram

valores muito próximos de variação de latência mínima e a variação de latência

m áxim a. Estranhamente, os valores de variação de latência média registrados tiveram

considerável diferença: os resultados do agente de medição ficaram por volta de 47

milisegundos e os resultados do MGEN ficaram por volta de 34 milisegundos. As

medições de perda de pacotes apresentaram algumas pequenas variações entre cada

Page 87: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

medição, porém, na média, resultaram em valores bem próximos. Acredita-se que

pequenas variações no número de pacotes perdidos de cada medição sejam normais.

Agente de medição - TCP - one-way

I

mínima

^atência (ms,

média máxima

Variaç

mínima

ão de latênci

média

i (ms)

máxima

Perda de pacotes (%)

1 19,545 74,075 333,034 0,040 88,687 309,161 02 19,420 75,781 334,215 0,022 90,168 309,375 03 19,400 76,374 406,263 0,095 93,115 376,182 04 19,020 75,345 505,503 0,036 91,178 474,837 05 19,049 75,607 396,569 0,055 90,526 367,079 06 15,973 71,702 354,523 0,101 84,008 328,898 07 18,459 78,971 393,534 0,095 98,293 368,612 08 19,229 76,678 441,986 0,035 94,197 414,483 09 19,575 76,124 362,474 0,156 92,074 336,349 010 19,178 76,110 379,108 0,030 92,154 353,080 0M

Tatx

18,885

;la 7-8: Estatí

75,677

sticas do agen

390,721

te de medição

Agente de m

0,066

segundo o mé background

edição - UDF

91,440

todo one-way

- one-way

363,806

com pacotes'

0

'CP e tráfego de

mínima

^atência (ms

média máxima

Varia

mínima

5 ão de latênc

média

ia (ms)

máxima

Perda de pacotes (%)

1 20,493 53,782 130,563 0,013 47,102 108,403 8,72 19,156 55,249 132,270 0,106 48,283 109,325 8,23 20,098 53,680 130,186 0,097 47,'027 108,771 8,24 20,706 55,268 135,510 0,003 48,864 107,763 75 20,233 55,483 130,088 0,038 49,792 • 107,666 6,86 19,024 53,028 130,726 0,108 47,998 109,237 7,57 19,261 55,044 137,706 0,152 49,128 112,509 9,28 19,217 54,480 130,049 0,240 46,100 107,640 7,39 20,446 53,428 134,578 0,072 47,094 107,080 9,810 20,514 53,066 129,872 0,083 44,901 106,336 8,5M 19,915 54,251 132,155 0,091 47,629 108,473 8,1

Tabela 7-9: Estatísticas do agente de medição segundo o método one-way com pacotes UDP e tráfego debackground

Page 88: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

MGEN - UDP - one-way

Mínima

^atência (ms,

média máxima

Variai;

mínima

:ão de latênci

média

a (ms)

máxima

Perda de pacotes (%)

1 19,325 53,003 129,261 0,022 32,946 108,978 8,52 19,205 52,794 132,060 0,030 33,713 109,677 4,83 18,952 52,583 132,269 0,011 33,283 108,223 11,34 19,005 57,363 136,586 0,019 34,903 109,246 5,35 19,285 54,181 131,485 0,007 34,464 109,241 5,86 19,543 57,028 130,434 0,071 33,121 108,321 87 19,051 55,389 137,369 0,044 35,828 109,442 8,58 19,007 54,460 130,898 0,021 34,921 109,197 12,39 18,761 54,928 132,179 0,030 33,819 109,028 8,310 17,908 55,512 134,735 0,061 36,278 108,543 13,6M 19,004 54,724 132,728 0,032 34,328 108,990 8,6

Tabela 7-10: Estatísticas do MGEN segundo o método one-way com pacotes UDP e tráfego debackground

As tabelas 7-11, 7-12 e 7-13 apresentam, respectivamente, as estatísticas das

medições round-trip com o agente de medição usando pacotes TCP e UDP e o Ping

usando pacotes ICMP. Devido ao tráfego de background deste teste ter sido gerado

somente no sentido de ida para gerar o descarte de pacotes em uma das interfaces do

roteador, o tempo gasto pelos pacotes na volta foi bastante baixo. Através da

comparação dos resultados de cada método de medição, verifica-se que, em média, as

latências dos pacotes nas medições round-trip foram apenas 3 milisegundos maiores

que as latências dos pacotes nas medições one-way.

As dez medições realizadas com o agente de medição usando pacotes UDP e com o

Ping usando pacotes ICMP apresentaram resultados muito próximos. Na média, o agente

de medição registrou uma latência média de 56,224 milisegundos, uma variação de

latência média de 46,528 milisegundos e uma porcentagem de perda de pacotes de 7,3 %.

Em comparação, o Ping registrou uma latência média de 57,903 milisegundos uma

variação de latência média de 48,081 milisegundos e uma porcentagem de perda de

pacotes de 8 %. A diferença entre os valores de latência e variação de latência é menor

que 2 milisegundos e a diferença entre as percentagens de perda de pacotes é menor que 1

%, demonstrando que o agente de medição pode gerar resultados com precisão similar à

ferramenta Ping.

Page 89: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Agente de medição - TCP - round-trip

mínima

^atência (ms'

média máxima

Variac,

mínima

ão de latênci

média

a (ms)

máxima

Perda de pacotes (%)

1 21,045 76,543 393,156 0,014 89,832 366,257 02 21,078 79,124 344,575 0,074 94,314 320,737 03 21,348 76,211 372,872 0,026 88,287 350,309 04 20,879 73,013 378,614 0,006 81,648 351,146 05 20,308 73,940 390,895 0.062 85,145 358,067 06 23,469 81,402 359,970 0,008 93,290 334,153 07 23,693 81,380 366,914 0,008 92,211 337,762 08 23,600 76,203 368,467 0,007 81,028 339,746 09 22,014 77,278 336,227 0,007 84,836 303,060 010 23,464 81,301 406,964 0,002 92,740 372,381 0M 22,090 77,639 371,865 0,021 88,333 343,362 0

Tabela 7-11: Estatísticas do agente de medição segundo o método round-trip com pacotes TCP e tráfegode background

Agente de medição - UDP - round-trip

mínima

_atência (ms]

média

'

máxima

Variaç

mínima

ão de latênci

média

a (ms)

máxima

Perda de pacotes (%)

1 23,460 57,438 134,480 0,008 48,707 109,304 82 23,652 58,431 136,657 0,054 48,563 109,344 7,23 23,527 58,770 135,195 0,085 49,707 110,226 6,84 23,546 58,259 138,955 0,011 48,272 111,206 7,55 23,546 58,301 136,024 0,073 48,139 112,478 7,56 23,481 55,259 136,214 0,381 45,130 109,581 6,37 23,555 53,162 137,627 0,130 43,659 108,419 7,88 23,561 54,463 134,896 0,258 44,426 110,732 79 23,515 53,935 134,963 0,359 44,625 108,245 7,510 23,661 54,225 134,874 0,039 44,048 110,721 7,2M 23,550 56,224 135,988 0,140 46,528 110,026 7,3

Tabela 7-12: Estatísticas do agente de medição segundo o método round-trip com pacotes UDP e tráfegode background

Page 90: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Ping - ICMP - round-trip

mínima

^atência (ms'

média máxima

Variac,

mínima

:ão de latênci

média

a (ms)

máxima

Perda de pacotes (%)

1 22,481 56,773 135,554 0,060 45,158 108,398 9,52 23,492 58,393 136,026 0,160 48,980 110,948 7,33 23,372 57,690 136,406 .0,243 47,731 111,245 8,24 23,458 59,325 136,030 0,146 50,740 109,076 6,25 23.481 57,466 134,765 0,046 47,011 109,328 8,26 23,373 58,751 135,113 0,124 50,044 110,689 7,77 22,955 58,357 140,825 0,058 47,731 108,563 8,28 18.435 57,655 136,655 0,166 49,020 110,057 7,79 23,608 58,609 137,451 0,052 46,872 109,448 6,510 23.393 56,010 144,416 0,220 47,525 109,988 10,5M 22,805 57,903 137,324 0,127 48,081 109,774 8

Tabela 7-13: Estatísticas do PING segundo o método round-trip com pacotes ICMP e tráfego debackground

7.4.3 Medições com Serviço Premium em Rede Congestionada

A avaliação da qualidade das transmissões após a disponibilização do serviço

Premium pelo gerenciador foi realizada através da comparação dos resultados das

medições realizadas em três diferentes situações: serviço Melhor Esforço em rede sem

tráfego, serviço Melhor Esforço em rede congestionada e serviço Premium em rede

congestionada. As medições na rede sem tráfego e na rede congestionada já foram

realizadas nas seções 9.4.1 e 9.4.2, não sendo necessário suas repetições. O mesmo

tráfego de background usado para congestionar a rede na seção 9.4.2 foi usado na

avaliação do serviço Premium configurado automaticamente pelo gerenciador. Como

visto, o tráfego de background composto por uma transmissão de 8 Mbits/s do roteador

para o nó Linux2 e outra transmissão de 3 Mbits/s do nó Linuxl para o nó Linux2 foi

eficaz na geração de altos níveis de latência, variação de latência e perda de pacotes nas

transmissões entre os nós Linuxl e Linux2. Já que o serviço Premium disponibiliza

baixos níveis de latência, variação de latência e perda de pacotes, tal tráfego de

background pareceu ser bastante adequado para a avaliação.

O procedimento de medição foi o mesmo das avaliações anteriores: transmissão de

pacotes de medição de 1400 bytes do nó Linuxl para o nó Linux2 durante cinco minutos.

Como o serviço Premium foi disponibilizado em somente um sentido, o método de

medição utilizado foi o one-way. Caso não fosse possível sincronizar os nós de medição,

Page 91: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

o método de medição teria que ser o round-trip. Para motivos de avaliação, as medições

foram realizadas com pacotes UDP e TCP. Em situações normais utiliza-se apenas o

protocolo das transmissões do cliente. O gráfico da figura 7-11 apresenta a latência dos

pacotes transmitidos durante os cinco minutos de medição. Nota-se que, com o serviço

Premium, as transmissões não sofreram o atraso gerado pela interface congestionada do

roteador, comprovando que os pacotes foram marcados corretamente no nó Linuxl e

priorizados no roteador de acordo com a especificação do PHB EF. Para confirmar a

precisão das medições do gerenciador e proporcionar mais dados sobre a qualidade das

transmissões após a configuração do serviço Premium, foi realizada uma medição

também com a ferramenta MGEN.

Medições one-way com serviço Premium

18 16

» 14 E 12

101 8 <5 6

iS 42

• 0 -I----------- 1----------- 1------------1----------- 1----------- 1----------- 1----------- 1----------- 1----------- 1—0 30 60 90 120 150 180 210 240 270

tempo (s)

----- - TCp «— «*>UDP -— 'MGEN (UDP)

Figura 7-11: Medições one-way com serviço Premium

Para uma melhor avaliação da qualidade do serviço Premium disponibilizado

automaticamente pelo gerenciador, os resultados das medições realizadas em cada uma

das três situações de tráfego criadas no ambiente de testes foram agrupados em duas

tabelas de acordo com o protocolo de transmissão usado. A tabela 7-14 apresenta os

resultados das medições com pacotes UDP e a tabela 7-15 apresenta os resultados das

medições com pacotes TCP.

Os resultados das medições na rede sem tráfego representam a melhor qualidade de

transmissão possível no ambiente de testes com pacotes de 1400 bytes: latência de 3

milisegundos, variação de latência de 0,1 milisegundo e nenhuma perda de pacotes. Por

outro lado, os resultados das medições com a rede congestionada representam uma

Page 92: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

baixíssima qualidade de transmissão entre os nós Linuxl e Linux2. O tráfego de

background injetado na rede foi maior que a capacidade de transmissão da interface

192.168.3.1 do roteador, provocando o descarte de aproximadamente 8 % dos pacotes e o

grande aumento da latência e variação de latência dos pacotes.

O serviço Premium promete baixos níveis de latência, variação de latência e perda

de pacotes. Baseado nas informações das tabelas 7-14 e 7-15 é possível concluir que a

configuração automática realizada pelo gerenciador foi correta porque as transmissões

entre os nós Linuxl e Linux2 apresentaram baixos níveis de latência e variação de

latência e nenhuma perda de pacotes, demonstrando que os pacotes foram marcados no nó

fonte (Linuxl) e priorizados em relação aos pacotes do tráfego de background na

interface congestionada do roteador.

Medições com UDPL

mínimaatência (n

médians)máxima

Variaç;mínima

ío de latênc média

ia (ms) máxima

Perda de pacotes (%)

Serviço Melhor Esforço em rede sem tráfego

2,755 2,823 7,130 0 0,064 4,423 0

Serviço Melhor Esforço em rede congestionada

19,915 54,251 132,155 0,091 47,629 108,473 8,1

Serviço Premium em rede congestionada

2,451 4,161 12,243 0 0,568 7,922 0

Tabela 7-14: Medições com UDP

Medições com TCP. L

mínimaatência (n

médiais)máxima

Variaçãcmínima

de latênc Média

;ia (ms) máxima

Perda de pacotes (%)

Serviço Melhor Esforço em rede sem tráfego

2,866 2,970 7,326 0 0,111 4,346 0

Serviço Melhor Esforço em rede congestionada

18,885 75,677 390,721 0,066 91,440 363,806 0

Serviço Premium em rede congestionada

3,027 4,312 12,670 0 0,566 8,271 0

Tabela 7-15: Medições com TCP

7.5 Conclusão

A descoberta de rotas foi uma funcionalidade do sistema que teve que ser realizada

de uma forma diferente de qualquer outra pesquisada. A comunicação com roteadores

Page 93: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

operando com o protocolo de roteamento OSPF para descobrir as rotas pareceu ser uma

estratégia muito restrita porque outros protocolos de roteamento são usados na Internet. A

utilização da ferramenta Traceroute por este sistema se apresentou bastante simples e

eficiente. Além disso, o Traceroute está disponível em diversos sistemas operacionais e a

parte do seu resultado que interessa é somente a rota dentro do domínio, não sendo

prejudicado por possíveis filtros de pacotes localizados em outros domínios da Internet.

O sistema de gerência desenvolvido neste trabalho implementou a comunicação

entre o sistema gerente e os agentes através de sockets TCP. Esta estratégia foi bem

sucedida devido à facilidade e flexibilidade deste recurso de comunicação, porém não

seguiu nenhum padrão de comunicação. A especificação dos BBs ainda não define qual

protocolo de comunicação deve ser usado para este fim.

O sistema de medições implementado possibilitou a avaliação da qualidade das

transmissões com bastante precisão devido à sua fidelidade às especificações do grupo de

trabalho IPPM do IETF. Além disso, a possibilidade do usuário especificar o tamanho dos

pacotes, o protocolo e o método de medição foram funcionalidades essenciais para a

geração de bons resultados. As medições de acordo como método one-way demonstraram

a total dependência do método em relação à precisão da sincronização entre os nós de

medição. Este tipo de medição ponto-a-ponto provou ser uma funcionalidade muito

importante no sistema devido à necessidade dos usuários em se certificar que o serviço

disponibilizado está de acordo com o combinado.

Page 94: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

8 CONCLUSÃO

8.1 Conclusões sobre o Sistema de Gerência

As especificações que o QBone vem fazendo sobre o Bandwidth Broker auxiliaram

este trabalho a desenvolver um sistema de gerência próximo do que é esperado. Houve

várias dúvidas na forma de implementação devido ao grande número de indefinições que

ainda existem sobre o assunto, principalmente em relação às comunicações entre os

agentes e o gerente. A comunicação entre BBs não foi abordada neste trabalho devido ao

grau de complexidade inserido por tal funcionalidade e à grande indefinição que ainda

existe sobre o assunto. Mesmo assim, o sistema implementado mostrou ser bastante eficaz

na disponibilização do serviço Premium aos seus usuários.

Os recursos de controle de tráfego do sistema operacional Linux funcionaram

bastante bem durante a avaliação do sistema. Através das disciplinas de enfileiramento

usadas, principalmente a CBQ, foi possível configurar o serviço Premium de forma

simples e eficiente. O mapeamento das ordens de configuração para comandos da

ferramenta TC funcionou corretamente. Através da estratégia de realizar configurações

base, ficou simples adicionar classificadores e alterar a largura de banda limite dos

dispositivos DiffServ do domínio.

O sistema de gerência desenvolvido neste trabalho implementou a comunicação

entre o sistema gerente e os agentes através de sockets TCP. Esta estratégia foi bem

sucedida devido à facilidade e flexibilidade deste recurso de comunicação, porém não

seguiu nenhüm padrão de comunicação. A especificação dos BBs ainda não define qual

protocolo de comunicação deve ser usado para este fim, porém, esta definição parece estar

próxima devido aos trabalhos que vêm sendo realizados pelo IETF na área de

gerenciamento de políticas. Os dois candidatos são o protocolo COPS e o protocolo

SNMP. Os grupos de trabalho Policy Framework e RAP vêm definindo uma arquitetura

de gerenciamento de políticas que usa o protocolo COPS para a transmissão das

informações de configuração aos nós da rede. O protocolo COPS possui características

bem adequadas à transmissão de informações de configuração, porém é um protocolo

desconhecido pela grande maioria dos profissionais da área de redes e vem recebendo

pouca atenção dos fabricantes de roteadores. O protocolo SNMP, por outro lado, já vem

Page 95: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

sendo usado na gerência de rede por vários anos e é bastante conhecido pelos

profissionais da área, porém nunca foi usado para realizar configurações devido,

principalmente, à sua falta de segurança. O grande uso do SNMP sempre foi a leitura de

variáveis das MIBs e a transmissão de mensagens de alerta ao sistema gerente. Com a

definição do SNMP versão 3, foram adicionadas importantes funcionalidades de

segurança que tornaram possível o uso do protocolo na configuração de dispositivos da

rede. O grupo de trabalho SNMPConf do IETF vem trabalhando na adaptação do

protocolo SNMP para o gerenciamento de políticas com bastante sucesso. Comparando os

dois protocolos, o SNMP tem maior potencial de crescimento nesta área devido ao seu

amplo suporte nas redes de computadores existentes.

A descoberta de rotas foi uma funcionalidade do sistema que teve que ser realizada

de uma forma diferente de qualquer outra pesquisada. A comunicação com roteadores

operando com o protocolo de roteamento OSPF para descobrir as rotas pareceu ser uma

estratégia muito restrita porque outros protocolos de roteamento são usados na Internet. A

utilização da ferramenta Traceroute por este sistema se apresentou bastante simples e

eficiente. Além disso, o Traceroute está disponível em diversos sistemas operacionais e a

parte do seu resultado que interessa é somente a rota dentro do domínio, não sendo

prejudicado por possíveis filtros de pacotes localizados em outros domínios da Internet.

O sistema de medições implementado possibilitou a avaliação da qualidade das

transmissões com bastante precisão devido à sua fidelidade às especificações do grupo de

trabalho IPPM do IETF. Além disso, a possibilidade do usuário especificar o tamanho dos

pacotes, o protocolo e o método de medição foram funcionalidades essenciais para a

geração de bons resultados. As medições de acordo como método one-way demonstraram

a total dependência do método em relação à precisão da sincronização entre os nós de

medição. Este tipo de medição ponto-a-ponto provou ser uma funcionalidade muito

importante no sistema devido à necessidade dos usuários em se certificar que o serviço

disponibilizado está de acordo com o combinado. Foi possível concluir que os trabalhos

do grupo IPPM estão bastante avançados, proporcionando metodologias de medição

muito claras e eficazes. Além de medições ativas, outras formas de monitoração serão

necessárias para gerenciar as redes com QoS, tais como medições passivas, sistemas de

alarme e contabilidade dos recursos utilizados.

Page 96: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

8.2 Conclusões Gerais

Na comunidade de usuários da Internet, é muito desejado que a rede mundial de

computadores evolua a um nível onde seja possível escolher serviços com diferentes

níveis de qualidade, de acordo com a necessidade de cada momento. Após uma ampla

pesquisa sobre os projetos que estão sendo realizados na área de gerência de Qualidade de

Serviço e o desenvolvimento de um sistema de gerência para o Serviço Diferenciado

Premium, foi possível concluir que, para disponibilizar a tão desejada Qualidade de

Serviço aos seus usuários, a Internet terá que se transformar em uma rede inteligente,

capaz de gerenciar seus recursos de tal forma que as transmissões na Internet sejam

controladas para receber a qualidade que merecem. A inteligência que a Internet precisa

implementar está sendo especificada em arquiteturas de QoS e arquiteturas de

gerenciamento de políticas, porém existem muitas incertezas e problemas que devem ser

resolvidos nestas especificações. O grau de complexidade de uma especificação deste tipo

é tão grande que ainda levarão vários anos para que surja uma arquitetura pronta para

implementação.

Dentre as arquiteturas de QoS para a Internet que vêm sendo desenvolvidas nos

últimos anos, a arquitetura de Serviços Diferenciados vem apresentando os maiores

avanços. Sua proposta de gerenciar os recursos da Internet através de BBs distribuídos

pelos domínios administrativos da rede é bastante avançada e possui grande potencial de

crescimento. A especificação do Bandwidth Broker ainda está incompleta, porém várias

funcionalidades do sistema já estão definidas, possibilitando a implementação de

protótipos para testar sua aplicação no gerenciamento dos recursos de domínios DiffServ.

Os Bandwidth Brokers pesquisados neste trabalho apresentam idéias bastante

diversificadas sobre a forma de gerenciar os recursos e as tecnologias que devem ser

usadas. Esta experimentação de novas idéias e tecnologias é muito importante na área de

pesquisa, porém é necessário que exista uma ou mais instituições na liderança dos

trabalhos para que as boas idéias sejam transformadas em especificações e as más idéias

sejam descartadas. Com o intuito de harmonizar as diferentes propostas de BBs, o projeto

QBone da Intemet2 vem trabalhando na definição de uma arquitetura básica e de um

grupo de requerimentos que deverão ser atendidos nos próximos projetos.

Page 97: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Os BBs representam a base do sistema de gerência da arquitetura de Serviços

Diferenciados e, por esta razão, deverão receber mais atenção após a definição das

questões mais básicas da arquitetura. As principais questões que estão pendentes na

definição dos BBs são a forma de organização e armazenamento das políticas e os

protocolos de comunicação entre o Bandwidth Brokere os nós do domínio e entre BBs de

domínios adjacentes. Como foi demonstrado neste trabalho, atualmente já é possível

desenvolver sistemas de gerência para serviços diferenciados restritos a somente um

domínio e usando uma mistura de soluções padronizadas e proprietárias. A especificação

da arquitetura está acontecendo vagarosamente através de projetos desenvolvidos por

inúmeras instituições de pesquisa. Espera-se que, um dia, a Internet possa implementar

esta ou outra arquitetura de QoS para poder disponibilizar serviços com maior qualidade.

8.3 Sugestões para Trabalhos Futuros

8.3.1 Gerenciamento dos Recursos do Domínio

Ainda não foi definida a melhor estratégia de configuração para os nós dos

domínios DiffServ. Esta estratégia envolve a definição de como armazenar as políticas do

domínio, como transmiti-las para os nós DiffServ e como realizar a configuração.

Atualmente, existem duas propostas nesta área: o grupo de trabalho Policy Framework

propõe o uso do protocolo COPS para a comunicação e de diretórios LDAP para o

armazenamento das políticas; o grupo de trabalho SNMPConf propõe o uso do protocolo

SNMP para a comunicação e de uma MIB DiffServ para o armazenamento das políticas.

Seria interessante fazer uma comparação detalhada sobre as propostas e avaliar qual é

mais adequada à arquitetura de Serviços Diferenciados.

8.3.2 Reserva de Recursos Através de Vários Domínios

A arquitetura de Serviços Diferenciados não especifica em detalhes como deve ser

realizada a reserva de recursos através de vários domínios. Esta é uma questão bastante

complexa e ainda não existe consenso sobre como as reservas devem ser realizadas.

Dependendo da estratégia de sinalização, podem surgir grandes problemas de

Page 98: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

escalabilidade ou garantia de qualidade. A realização de trabalhos de comparação entre

diferentes opções de sinalização, como em [GUN99], ou implementação e avaliação de

alguma proposta específica seria bastante útil para o avanço da arquitetura.

8.3.3 Gerenciamento do Uso dos Recursos da Rede

Os sistemas de gerência de QoS precisam oferecer funcionalidades para a

contabilidade e cobrança dos recursos usados por cada usuário. Isso envolve a criação de

um sistema integrado de contas de usuários, recursos disponibilizados, taxa de cobrança,

etc. Um sistema deste tipo pode ficar bem complexo dado que os recursos utilizados pelos

usuários poderão estar distribuídos por domínios DiffServ localizados em diferentes

países. A arquitetura de Serviços Diferenciados necessita de desenvolvimento na área de

contabilidade e cobrança.

Page 99: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

REFERÊNCIAS BIBLIOGRÁFICAS

[ALM99a]

[ALM99b]

[BAK01]

[BAS98]

[BBT98a]

[BBT98b]

[BBT98C]

[BEL92]

ALMESBERGER, Wemer; SALIM, JamalHadi; KUZNETSOV, Alexey. Differentiated Services on Linux. Junho 1999. Disponível em: <ftp://icaitp.epfl.ch/pub/linux/diifserv/misc/dsid-01.ps.gz>. Acesso em: 5 fevereiro 2000. Trabalho não publicado.

ALMESBERGER, Wemer. Linux Network Traffic Control - Implementation Overview. Abril 1999. Disponível em: <ftp://icaftp.epfl.ch/pub/people/almesber/pub/tcio-current.ps.gz>. Acesso em: 5 fevereiro 2000. Trabalho não publicado.

BAKER, F.; CHAN, K.; SMITH, A. Management Information Base for the Differentiated Services Architecture. Internet-Draft, Internet Engineering Task Force, julho 2001. Disponível em: <http://www.ietf.org/intemet-drafts/draft-ietf-diffserv-mib-16.txt>. Acesso em: 10 dezembro 2000.

BASHANDY, Ahmed; CHONG, Edwin; GHAFOOR, Arif. Network Modeling and Jitter Control for Multimedia Communication Over Broadband Network. In: IEEE INFOCOM’9 9 ,559,1999, New York. Proceedings... [S.I.]: IEEE Press, 1999. 1585 p. 559-566.

BRITISH COLUMBIA INSTITUTE OF TECHNOLOGY (Canada). Technology Centre. Group for Advanced Information Technology. CA*netII Differentiated Services - Bandwidth Broker High Level Design. British Columbia, novembro 1998. 16 p.

BRITISH COLUMBIA INSTITUTE OF TECHNOLOGY (Canada). Technology Centre. Group for Advanced Information Technology. CA*netII Differentiated Services - Bandwidth Broker Transfer Protocol. British Columbia, outubro 1998. 19 p.

BRITISH COLUMBIA INSTITUTE OF TECHNOLOGY (Canada). Technology Centre. Group for Advanced Information Technology. CA*netII Differentiated Services - Bandwidth Broker System Specification. British Columbia, outubro 1998. 16 p.

I. Bilinskis; A. Mikelsons. Randomized Signal Processing. Londres: Prentice Hall International, 1992.

Page 100: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

[BLA98] BLAKE, Steven, et al. An Architecture for Differenciated Services.Request for Comments: 2475, Internet Engineering Task Force, dezembro 1998.

[BRA94]

[BRAOO]

[DEM99]

[DUROO]

[EVA99]

[FER98]

[FIN01]

[FL095]

BRADEN, R.; CLARK, D.; SHENKER, S. Integrated Services in the Internet Architecture: An Overview. Request for Comments: 1633, Internet Engineering Task Force, junho 1994.

BRAUN, Torsten; at al. A Linux Implementation of a Differentiated Services Router. 5TH IFIP TC6 INTERNATIONAL SYMPOSIUM, INTERWORKING 2000, 1938, 2000, Bergen, Noruega. Proceedings... [S.I.]: Springer, 2000. 412 p. 302-315.

DEMICHELIS, C.; CHIMENTO, P. IP Packet Delay Variation Metric forIPPM. Internet Draft, Internet Engineering Task Force, novembro 2001.

DURHAM, D., at al. The COPS (Common Open Policy Service) Protocol. Request for Comments: 2597, Internet Engineering Task Force, janeiro 2000.

EVANS, Joseph; RAO, Dhananjaya. Bandwidth Broker Implementation Version 1: Specifications for Internet2-Qbone-BB Operability Event. Disponível em: <http://www.merit.edu/intemet/working.groups/i2-qbone- bb/inter-op-old/old-new/ku-bb.htm>. Acesso em: 22 abril2001.

FERGUSON, P.; HUSTON, G. Quality of Service: delivering QoS on the Internet and in corporate networks. USA: John Wiley & Sons, 1998.

FINE, M., at al. Differentiated Services Quality of Service Policy Information Base. Internet-Draft, Internet Engineering Task Force, novembro 2001. Disponível em: <http://www.ietf.org/intemet-drafts/draft- ietf-diffserv-pib-05.txt >. Acesso em: 10 dezembro 2001.

FLOYD, Sally. Notes on CBQ and Guaranteed Service. Julho 1995. Disponível em: <http://www.icir.org/floyd/papers/guaranteed.ps>. Acesso em: 1 março 2001.

[FL096] FLOYD, Sally. Notes on Class-Based Queueing: Setting Parameters. Setembro 1995. Disponível em:

Page 101: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

<http://www.icir.Org/floyd/papers/params.ps.Z>.

[GUN99]

[HEI99]

[JAC99]

[KAL99a]

[KAL99b]

[KHA01]

[KIE01]

[KIN93]

GUNTER, Manuel; BRAUN, Torsten. Evaluation of Bandwidth Broker Signaling. In: SEVENTH ANNUAL INTERNATIONAL CONFERENCE ON NETWORK PROTOCOLS, 1999, Toronto, Canada. Proceedings... Piscataway: IEEE Press, 1999. 360 p. 145-152.

HEINANEN, Juba, at al. Assured Forwarding PHB Group. Request for Comments: 2597, Internet Engineering Task Force, junho 1999.

JACOBSON, Van; NICHOLS, Kathleen; PODURI K. An Expedited Forwarding PHB. Request for Comments: 2598, Internet Engineering Task Force, junho 1999.

KALIDINDI, S.; ALMES, G.; ZEKAUSKAS, M. A One-way Delay Metric for IPPM. Request for Comments: 2679, Internet Engineering Task Force, setembro 1999.

KALIDINDI, S.; ALMES, G.; ZEKAUSKAS, M. A Round-trip Delay Metric for IPPM. Request for Comments: 2681, Internet Engineering Task Force, setembro 1999.

KHALIL, Ibrahim; GUNTER, Manuel; BRAUN, Torsten. Implementation of a Bandwidth Broker for Dynamic End-to-End Capacity Reservation over Multiple Diffserv Domains. In: IFIP/IEEE INTERNATIONAL CONFERENCE ON MANAGEMENT OF MULTIMEDIA NETWORKS AND SERVICES, 4., 2001, Chicago, USA. Proceedings... Piscataway: IEEE Press, 2001. 380 p. 160-168.

KIELING, Alexandre B.; WESTPHALL, Carlos B.; VIEIRA, Elvis M. Uma Biblioteca de Classes para Medição de Serviços Diferenciados. In: WORKSHOP RNP2, 3., 2001, Florianópolis. Anais... [S.I. : s. n.], UFSC, 2001.

KINGMAN, J. F. C. Poisson Processes. Oxford: Clarendon Press, 1993.

[MAN98] MANSOUR, Yishay; PATT-SHAMIR, Boaz. Jitter Control in QoSNetworks. In: 39* ANNUAL IEEE SYMPOSIUM ON FOUNDATIONS OF COMPUTER SCIENCE, 5., 1998, Palo Alto. Proceedings... [S.I.]:

Page 102: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

91

[MCWOO]

[METOO]

[MIL92]

[NEIOl]

[NIC98]

[NIC99]

[RAD99]

[REI98]

[RIS98]

IEEE Press, 1998. 885 p. 559-566.

McWherter, David T.; Sevy, Jonathan; Regli, William C. Building an IP Network Quality-of-Service Testbed. IEEE Internet Computing, Piscataway, v. 4, n. 4, p. 65-73, julho-agosto 2000.

METZ, Chris. Differentiated Services. IEEE MultiMedia, Piscataway, v. 7, n. 3, p. 84-90, julho-setembro 2000.

MILLS, David. Network Time Protocol (Version 3) Specifications, Implementations and Analysis. Request for Comments: 1305, Internet Engineering Task Force, março 1992.

NEILSON, Rob, at al. A Discussion of Bandwidth Broker Requirements for Intemet2 Qbone Deployment. Julho 2001. Disponível em: <http://www.merit.edu/working.groups/i2-qbone-bb/doc/BB_Req7.doc>. Acesso em: 10 novembro 2001. Trabalho não publicado.

NICHOLS, Kathleen, at al. Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers, Request for Comments: 2474, Internet Engineering Task Force, dezembro 1998.

NICHOLS, Kathleen; JACOBSON, Van; ZHANG, Lixia. A Two-bit Differentiated Services Architecture for the Internet. Request for Comments: 2638, Internet Engineering Task Force, julho 1999.

RADHAKRISHNAN, Saravanan Linux - Advanced Networking Overview Version 1. Disponível em <http://qos.ittc.ukans.edu/howto>. Acesso em: 21 junho 2001.

REICHMEYER, Francis, at al. A Two-Tier Resource Management Model for Differentiated Services Networks. Novembro 1998. Disponível em: <http://irl.cs.ucla.edu/papers/2-tier-draft.ps>. Acesso em: 25 janeiro 2001.

RISSO, Fulvio; GEVROS, Panos. Operational and Performance Issues of a CBQ router. Computer Communication Review, New York, v. 24, n. 5, p. 47-58, outubro, 1999.

Page 103: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

[ROYOO] ROY, Alain. GARA: A Quality of Service Architecture. In: FIRST JOINT INTERNET2 / DOE QOS WORKSHOP, 1., 2000, Houston, USA. Proceedings... [S.l. : s. n.], 2000. Disponível em: <http://www.intemet2.edu/qos/houston2000/proceedings/Roy/ 20000209- QoS2000-Roy.pdf>. Acesso em: 10 março 2001.

[S AL99] S ALIM, Jamal Hadi. Kemel Komer: IP Bandwidth Management. Linux Journal. USA, n. 62, 1 junho 1999. Disponível em <http://www.linuxjoumal.com/article.php?sid=3369>. Acesso em: 22 março 2000.

[SAN00] SANDER, Volker, et al. A Differentiated Services Implementation for High-Performance TCP Flows. In: TERENA NETWORKING CONFERENCE, 2000, Lisboa, Portugal. Proceedings... [S.l. : s. n.], 2000. Disponível em: <http://www.cdt.luth.se/~olov/publications/IWQoS- 99a.pdf>. Acesso em: 21 abril 2001.

[SHC99] SCHELÉN, Olov, at al. Performance of QoS Agents for Provisioning Network Resources. In: IFIP INTERNATIONAL WORKSHOP ON QUALITY OF SERVICE, 7., 1999, Londres, Inglaterra. Proceedings... [S.l. : s. n.], 1999. Disponível em:<http://www.terena.nl/tnc2000/proceedings/4B/4b3.pdf>. Acesso em: 21 novembro 2001.

[SRE99] SREEKANTAN, Deepak; RAO, Dhananjaya. Implementation of aBandwidth Broker System for Resource Management in Differentiated Services. Disponível em: <http://www.ittc.ku.edu/~kdrao/845>. Acesso em:1 março 2001.

[STE00] STELZL, Rudi. The Siemens Bandwidth Broker. In: FIRST JOINT INTERNET2 / DOE QOS WORKSHOP, 2000, Houston, USA. Proceedings... [S.l. : s. n.], 2000. Disponível em<http: //w w w. intemet2. edu/qo s/houston2000/proceedings/S telzl/ 20000209- QoS2000-Stelzl.pdf>. Acesso em: 1 março 2001.

[STR00] STRICKLEN, Michael; CUMMINGS, Bob; MCCLELLAN, Stan. Linuxand the Next Generation Internet. Linux Journal. USA, n. 72,1 abril 2000. Disponível em: <http://www.linuxjoumal.com/article.php?sid=3928>. Acesso em: 10 abril 2000.

Page 104: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

[TEI98]

[TEI99]

[TEROO]

[VER91]

TEITELBAUM, B. QoS Requirements for Intemet2. In: INTERNET2: JOINT APPLICATIONS/ENGINEERING QOS WORKSHOP, 1998, Santa Clara, USA. Anais... [S.l. : s. n.], 1998. Disponível enx <http://www.intemet2.edu/qos/may98Workshop/html/requirements.html>. Acesso em: 13 julho 2000.

TEITELBAUM, B. Qbone Architecture (vl.O). Agosto 1999. Disponível em: <http://www.intemet2.edu/qos/wg/papers/qbArch/index.html>. Acesso em: 9 dezembro 2000. Trabalho não publicado.

TERZIS, Andreas. The Role of BB in Traffic Engineering. In: FIRST JOINT INTERNET2 / DOE QOS WORKSHOP, 2000, Houston, USA. Proceedings... [S.l. : s. n.], 2000. Disponível em<http://www.intemet2.edu/qos/houston2000/proceedings/Terzis/ 20000209- QoS2000-Terzis.pdf>. Acesso em: 1 março 2001.

VERMA, Dinesh; ZHANG, Hui; FERRARI, Domenico. Delay Jitter Control for Real-Time Communication in a Packet Switching Network. In: IEEE TRICOM ‘91,2,1991, Chapel Hill, USA. Proceedings... [S.l.]: IEEE Press, 1991. 512 p. 35-43.

Page 105: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

ANEXO 1 - Descrição dos Arquivos da Aplicação Web

PEPEdgelnit.jsp

O arquivo PEPEdgelnit.jsp realiza o cadastramento dos agentes de configuração

localizados nos computadores dos clientes do sistema. Os agentes de configuração,

quando inicializados, invocam este script no servidor de aplicações informando o

endereço IP do computador no qual estão rodando. O script adiciona estes endereços na

lista de clientes, possibilitando que requisições do serviço Premium para transmissões

com fonte nestes computadores sejam aceitas pelo sistema.

PEPEdgeDeInit.jsp

O arquivo PEPEdgeDeInit.jsp realiza o descadastramento dos agentes de

configuração localizados nos computadores dos clientes do sistema. Ele é invocado

quando os agentes de configuração estão terminando sua execução.

PEPCoreInit.jsp

O arquivo PEPCoreInit.jsp realiza o cadastramento dos agentes de configuração

localizados nos roteadores. Os agentes de configuração, quando inicializados, invocam

este script no servidor de aplicações informando o endereço IP das interfaces do roteador

no qual estão rodando. O script adiciona estes endereços na lista dos roteadores

cadastrados. A partir deste momento, o roteador está habilitado para receber ordens de

configuração.

PEPCoreDelnit.jsp

O arquivo PEPCoreDelnit.jsp realiza o descadastramento dos agentes de

configuração localizados nos roteadores. Ele é invocado quando os agentes de

configuração estão terminando sua execução.

Page 106: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

PDP.jsp

O arquivo PDP.jsp contém o código JSP e HTML necessário para apresentar os

formulários de requisição de serviço, requisição de medição e listagem de clientes e

roteadores. Através de recursos de persistência fornecidos pelo servidor de aplicação, a

aplicação Web mantém os objetos de dados disponíveis entre requisições dos clientes.

Além disso, o script também é responsável pelo processamento das requisições de

alocação e desalocação de serviço. Através de sockets TCP, o script envia ordens de

configuração para os agentes da rede. O resultado de cada operação é apresentado ao

cliente através de uma mensagem abaixo do formulário de requisição.

Cada alocação realizada é armazenada em um objeto da classe HashTable. Este

objeto serve para armazenar os dados relativos às alocações e medições de cada cliente. A

classe Hashtable armazena dados através de uma chave e um valor. Neste sistema, o IP do

cliente foi usado como chave e um vetor de strings contendo informações sobre cada

alocação do cliente foi usado como valor. Estas informações são formadas pelo IP do

destino, a largura de banda alocada e os seguintes valores da última medição: latência

mínima, média e máxima, variação de latência mínima, média e máxima e porcentagem

de pacotes perdidos.

PDPmeasure.jsp

O arquivo PDPmeasure.jsp é usado para processar requisições de medição. Se todos

os parâmetros forem válidos, o script se conecta com o agente de medição presente no

cliente e envia os parâmetros da medição que deve ser feita. Após o termino da medição,

o script recebe os resultados e salva estes valores no objeto Hashtable.

Page 107: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

ANEXO 2 - DESCRIÇÃO DAS CLASSES DO AGENTE DE

DESCOBERTA DE ROTAS

Traceroute

1• startListenerpublic boolean startListener()

Este método implementa um servidor que espera por conexões do gerenciador na

porta 49151. Cada conexão estabelecida com o agente representa uma execução da

ferramenta Traceroute. Após receber do gerenciador o endereço do destino, o agente

invoca o método nativo execTraceroute, cuja única funcionalidade é executar a

ferramenta Traceroute do sistema e escrever a saída em um arquivo.

• getRoutepublic String[] getRoute()

Este método lê o arquivo com o resultado do Traceroute e gera uma lista com os

endereços IP que formam a rota.

Retorna uma lista de endereços IP. '

Page 108: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

ANEXO 3 - DESCRIÇÃO DAS CLASSES DO AGENTE DE

CONFIGURAÇÃO

PEPedge

• Initpublic boolean Init()

Este método invoca o método nativo initDiffserv para realizar a configuração inicial

de DiffServ no computador cliente e se comunica com a aplicação gerente para cadastrar

este cliente.

Retoma verdadeiro se a operação foi realizada com sucesso e falso caso contrário.

• Delnitpublic boolean Delnit()

Este método invoca o método nativo delnitDiffserv para remover a configuração

DiffServ do computador cliente e se comunica com a aplicação gerente para remover o

cadastro deste cliente.

Retoma verdadeiro se a operação foi realizada com sucesso e falso caso contrário.

• startListenerpublic boolean startListener()

Este método espera por conexões na porta 49150 e, de acordo com os parâmetros

enviados, invoca o método nativo addMarker para instalar um marcador de pacotes para

um novo fluxo ou o método nativo delMarker para remover um marcador de pacotes já

existente.

• initDiffservpublic native boolean initDiffserv()

Este método cria uma disciplina de enfileiramento do tipo DSMARK em uma

determinada interface. Esta disciplina de enfileiramento implementa a marcação de

pacotes e serve de base para a configuração dos classificadores u32 e condicionadores de

tráfego.

Page 109: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

98

Retoma verdadeiro se a operação foi realizada com sucesso e falso caso contrário.

• delnitDiffserv

public native boolean delnitDiffserv()

Este método remove todos os mecanismos de controle de tráfego existentes na

interface.

Retorna verdadeiro se a operação foi realizada com sucesso e falso caso contrário.

• addMarkerpublic native boolean addMarker(String src, String dest, String rate)

Este método adiciona um marcador para um fluxo de dados entre src e dest,

condicionado a uma taxa de transmissão máxima rate.

Parâmetros:

src - o endereço IP fonte;

dest - o endereço IP destino;

rate - a largura de banda.

Retorna verdadeiro se a operação foi realizada com sucesso e falso caso contrário.

• delMarkerpublic native boolean delMarker(String src, String dest, String rate)

Este método remove um marcador existente configurado para um fluxo de dados

entre src e dest e com taxa de transmissão máxima rate.

Parâmetros:

src - o endereço IP fonte;

dest - o endereço IP destino;

rate - a largura de banda.

Retorna verdadeiro se a operação foi realizada com sucesso e falso caso contrário.

PEPcore

• Initpublic boolean Init()

Page 110: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Este método invoca o método nativo initDiffserv para realizar a configuração inicial

de DiffServ no roteador e se comunica com a aplicação gerente para cadastrar este

roteador.

Retorna verdadeiro se a operação foi realizada com sucesso e falso caso contrário.

• Delnitpublic boolean Delnit()

Este método invoca o método nativo delnitDiffserv para remover a configuração

DiffServ do roteador e se comunica com a aplicação gerente para remover o cadastro

deste roteador.

Retorna verdadeiro se a operação foi realizada com sucesso e falso caso contrário.

• startListener -public boolean startListener()

Este método espera por conexões na porta 49150 e, de acordo com os parâmetros

enviados, invoca o método nativo seíClassifier para alterar a largura de banda que deve

ser reservada para o serviço Premium.

• initDiffservpublic native boolean initDiffserv()

Este método cria uma disciplina de enfileiramento do tipo CBQ para classificar e

priorizar os pacotes Premium.

Retoma verdadeiro se a operação foi realizada com sucesso e falso caso contrário.

• delnitDiffservpublic native boolean delnitDiffserv()

Este método remove todos os mecanismos de controle de tráfego existentes na

interface.

Retorna verdadeiro se a operação foi realizada com sucesso e falso caso contrário.

• setClassifierpublic native boolean setClassifier(String rate)

Page 111: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Este método configura a largura de banda que deve ser reservada ao serviço

Premium.

Retorna verdadeiro se a operação foi realizada com sucesso e falso caso contrário.

Page 112: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

ANEXO 4 - DESCRIÇÃO DAS CLASSES DO AGENTE DE

MEDIÇÃO

O sistema de medições [KEE01] é composto por quatro classes: Random,

RandonPoissonDistribution, TCPProbe e UDPProbe. As duas primeiras são usadas para a

geração de números randômicos de acordo com uma distribuição de Poisson. As outras

duas são usadas para medições de transmissões TCP e UDP, respectivamente. Este

sistema de medições é parte integrante dos agentes de medição e é executado de acordo

com as requisições enviadas do gerenciador para o agente de medição. O resultado das

medições é representado por uma lista contendo os valores de latência dos pacotes de

teste. O agente de medição retoma ao gerenciador a lista de valores para posterior

processamento pelo sistema de estatísticas, onde são gerados os valores desejados, como,

por exemplo, latência mínima, média e máxima.

Classe Random

A classe Random implementa a funcionalidade necessária para a geração pseudo-

randômica de números e caracteres através do auxílio das funções rand e srand da

biblioteca de classes padrão do C++.

• Randompublic RandomO

Cria um novo objeto Random e semeia o gerador de números randômicos (srand)

com o tempo corrente. Se o gerador não fosse semeado com valores diferentes, todas as

instâncias gerariam a mesma seqüência de resultados.

• nextDoublepublic double nextDouble(void)

Retorna o próximo número pseudo-randômico do tipo double de uma seqüência

distribuída uniformemente entre 0.0 e 1.0.

• nextChar

Page 113: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

public char nextChar(void)

Retoma o próximo caractere pseudo-randômico de uma seqüência.

RandomPoissonDistribution

Esta classe gera valores de acordo com uma distribuição de Poisson e é usada pelas

classes de medição (TCPProbe e UDPProbe) para determinar o intervalo de tempo entre o

envio de cada pacote em uma medição de latência. A grande vantagem do uso deste

método, ao invés de intervalos de valor fixo, se deve à possibilidade de evitar um

comportamento periódico nas transmissões, o qual pode diminuir a imparcialidade das

amostras caso seja gerada uma sincronização.

• RandomPoissonDistributionpublic RandomPoissonDistribution(long mean)

Cria um novo gerador de distribuição de Poisson comum determinado valor médio.

Parâmetros:

mean - o valor médio da distribuição de Poisson.

• NextLongpublic long nextLong()

Retorna o próximo valor da distribuição de Poisson no formato long.

TCPProbe

As principais funcionalidades implementadas na classe TCPProbe são os métodos

de medição de latência de transmissões TCP. Estes métodos seguem uma arquitetura

cliente-servidor e possibilitam a medição da performance da rede de acordo com as

métricas: latência round-trip e latência one-way. Para a geração e transmissão de pacotes

TCP, foram utilizados sockets do tipo SOCK_STREAM. Através deste tipo de sockets,

são criados dois canais de comunicação através de dois pares de portas, um para a troca de

informações de controle e outro para a transmissão dos pacotes de medição.

TCPProbe

Page 114: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

public TCPProbe(}

Cria um novo probe de medição para transmissões TCP.

• probepublic Êloat probe(char *dest, unsigned short sport, unsigned short

i dport, unsigned long segNumber, unsigned short segSize)

Realiza medições de acordo com a métrica Type-P-Round-trip-Delay [KAL99b].

Deve ser executado no nó gerador dos pacotes de medição.

Parâmetros:

dest - o endereço do nó destino;

sport - a porta fonte dos pacotes;

dport - a porta destino dos pacotes;

segNumber - o número de pacotes que serão transmitidos; e

segSize - o tamanho destes pacotes.

Retoma o tempo gasto pelo método para realizar a medição.

O método cria dois canais de comunicação com o nó endereçado pelo parâmetro

dest: um canal de controle e um canal para os pacotes de medição. 0 canal de controle é

criado em portas pré-definidas no sistema. O canal para os pacotes de medição é criado

nas portas especificadas pelos parâmetros sport e dport. Através do canal de controle, o

método probe se comunica com o método dispatch do nó destino com a finalidade de

informar o tamanho (segSize) e o número de pacotes (segNumber) que serão transmitidos.

Usando o método nextChar da classe Random, é criada uma lista de caracteres do

tamanho de segSize para ser inserida em cada pacote. É importante frisar que esta lista é

formada por caracteres gerados r.andomicamente para evitar que o tempo de medição seja

menor do que deveria ser devido a alguma técnica de compressão aplicada durante o

caminho.

Com o auxílio do método nextLong da classe RandomPoissonDistribution, cada

pacote é transmitido entre intervalos que seguem uma distribuição de Poisson com média

de 500 milisegundos. Cada pacote que retoma tem seus tempos de envio e recepção

subtraídos para determinar o valor de latência. Este valor é, èntão, colocado em uma lista

na posição representada pelo identificador de seqüência do pacote. As posições dos

pacotes perdidos na lista são preenchidas como valor -2147483648.

Page 115: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

• dispatchpublic float dispatch(unsigned short port)

Realiza medições de acordo com a métrica Type-P-Round-trip-Delay [KAL99b],

Deve ser executado no nó receptor dos pacotes de medição.

Parâmetros:

1 port - a porta de recepção dos pacotes.

Retoma o identificador do processo que está executando o método.

Este método é contatado pelo método probe para a realização de uma medição. Ele

é informado do tamanho e número de pacotes que serão transmitidos e se prepara para a

recepção. Cada pacote recebido é imediatamente retransmitido para que a latência de

processamento não influa muito no valor final da medição.

• probe2public float probe2(char *dest, unsigned short sport, unsigned short

dport, unsigned long segNumber, unsigned short segSize)

Realiza medições de acordo com a métrica Type-P-One-way-Delay [KAL99a].

Deve ser executado no nó gerador dos pacotes de medição.

Parâmetros:

dest - o endereço do nó destino;

sport - a porta fonte dos pacotes;

dport - a porta destino dos pacotes;

segNumber - o número de pacotes que serão transmitidos; e

segSize - o tamanho destes pacotes.

Retorna o tempo gasto pelo método para realizar a medição.

Similarmente ao método probe, o método probe2 cria dois canais de comunicação

com o nó do endereço dest: um canal de controle e um canal para os pacotes de medição.

Neste caso, as medições são realizadas em um sentido para o método dispatch.2 do nó

destino, não havendo recepção de nenhuma informação até que todos os pacotes tenham

sido enviados. Somente no final da medição, o método dispatch2 transmite a lista de

latências resultante da medição para o método probe através do canal de controle.

• dispatch2public float dispatch2(unsigned short port)

Page 116: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Realiza medições de acordo com a métrica Type-P-One-way-Delay [KAL99a].

Deve ser executado no nó receptor dos pacotes de medição.

Parâmetros:

port - a porta de recepção dos pacotes.

Retoma o identificador do processo que está executando o método.

O método dispatch2 é contatado pelo método probe2 para a realização de uma

medição. Ele é informado do tamanho e número de pacotes que serão transmitidos e se

prepara para a recepção. Cada pacote recebido tem sua latência imediatamente calculada

através da subtração do tempo corrente do sistema pelo tempo de envio existente dentro

do pacote. Estes valores de latência são colocados em uma lista indexada pelo

identificadores dos pacotes. Somente no final da medição esta lista é transmitida para o

gerador dos pacotes de medição.

UDPProbe

A classe UDPProbe foi desenvolvida para realizar os mesmos tipos de medições da

classe TCPProbe, porém com pacotes UDP. Seus métodos têm a mesma assinatura dos

métodos da classe TCPProbe, possibilitando o fácil uso de ambas as classes para

realização de medições através das métricas Type-P-Round-trip-Delay e Type-P-One-

way-Delay.

A criação e transmissão dos pacotes UDP é feita através de sockets do tipo

SOCK_DGRAM. Um detalhe importante é que o canal de comunicação para informações

de controle continua sendo criado com sockets SOCK_STREAM devido à garantia de

recebimento disponibilizada pelo protocolo TCP. O uso do protocolo UDP nas

transmissões dos pacotes exigiu que os métodos de medição implementassem algum

mecanismo de controle de tempo de espera. O procedimento padrão do comando

recvfrom dos sockets SOCK_DGRAM é esperar indefinidamente pela chegada de algum

pacote. Porém, a metodologia de medição seguida nesta implementação define que, após

algum limite de tempo pré-determinado, o sistema deve desistir da recepção do pacote e

determiná-lo perdido. Este controle foi implementado através do comando setsockopt, o

qual serve para alterar diversas características dos sockets. Desta forma, através dos

parâmetros adequados, foi possível limitar o tempo de espera do socket.

Page 117: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Após a criação da lista que receberá os valores de latência dos pacotes, cada posição

é preenchida como valor -2147483648, o qual caracteriza um pacote perdido. A detecção

de timeout dos pacotes é realizada através da checagem do valor de retomo do comando

de recepção recvfrom. Se o valor for menor que zero, indicando um erro, e este valor for

igual a constante EAGAIN, isto significa que o sistema ficou esperando a chegada de um

pacote até o limite de tempo configurado. Neste caso, o sistema apenâs começa uma nova

iteração no laço. Como as posições na lista de resultados são preenchidas com o valor de

pacote perdido antes do início das medições, não é necessário fazer nada nesta situação.

Apenas os pacotes que chegam inteiros e dentro do limite de tempo têm suas latências

inseridas na lista.

• UDPProbepublic UDPProbe()

Cria um novo probe de medição para transmissões UDP.

• probepublic float probe(char *dest, unsigned short sport, unsigned short

dport, unsigned long segNumber, unsigned short segSize)

Realiza medições de acordo com a métrica Type-P-Round-trip-Delay [KAL99b].

Deve ser executado no nó gerador dos pacotes de medição.

Parâmetros:

dest - o endereço do nó destino;

sport - a porta fonte dos pacotes;

dport - a porta destino dos pacotes;

segNumber - o número de pacotes que serão transmitidos; e

segSize - o tamanho destes pacotes.

Retoma o tempo gasto pelo método para realizar a medição.

Este método tem a mesma funcionalidade do método probe da classe TCPProbe,

com a única diferença que os pacotes de medição são transmitidos através do protocolo

UDP.

• dispatchpublic float dispatch(unsigned short port)

Page 118: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Realiza medições de acordo com a métrica Type-P-Round-trip-Delay [KAL99b],

Deve ser executado no nó receptor dos pacotes de medição.

Parâmetros:

port - a porta de recepção dos pacotes.

Retoma o identificador do processo que está executando o método.

Este método tem a mesma funcionalidade do método dispatch da classe TCPProbe,

com a única diferença que os pacotes de medição são transmitidos através do protocolo

UDP.

• probe2public float probe2(char *dest, unsigned short sport, unsigned short

dport, unsigned long segNuitiber, unsigned short segSize)

Realiza medições de acordo com a métrica Type-P-One-way-Delay [KAL99a],

Deve ser executado no nó gerador dos pacotes de medição.

Parâmetros:

dest - o endereço do nó destino;

sport - a porta fonte dos pacotes;

dport - a porta destino dos pacotes;

segNumber - o número de pacotes que serão transmitidos; e

segSize - o tamanho destes pacotes.

Retoma o tempo gasto pelo método para realizar a medição.

Este método tem a mesma funcionalidade do método probel da classe TCPProbe,

com a única diferença que os pacotes de medição são transmitidos através do protocolo

UDP.

• dispatch2public float dispatch2(unsigned short port)

Realiza medições de acordo com a métrica Type - P-One - way-De lay [KAL99a],

Deve ser executado no nó receptor dos pacotes de medição.

Parâmetros:

port - a porta de recepção dos pacotes.

Retorna o identificador do processo que está executando o método.

Page 119: IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO … · IMPLEMENTAÇÃO DE UM SISTEMA DE GERÊNCIA PARA O SERVIÇO DIFERENCIADO PREMIUM Dissertação submetida à Universidade

Este método tem a mesma funcionalidade do método dispatch2 da classe

TCPProbe, com a única diferença que os pacotes de medição são transmitidos através do

protocolo UDP.