• Nenhum resultado encontrado

Desenvolvimento de modelos de simulação para a analise de qualidade de serviço em redes ATM

N/A
N/A
Protected

Academic year: 2021

Share "Desenvolvimento de modelos de simulação para a analise de qualidade de serviço em redes ATM"

Copied!
301
0
0

Texto

(1)

U

NIVERSIDADE

E

STADUAL DE

C

AMPINAS

F

ACULDADE DE

E

NGENHARIA

E

LÉTRICA E DE

C

OMPUTAÇÃO

D

EPARTAMENTO DE

C

OMUNICAÇÕES

Caixa Postal 6101, CEP 13081-970 – Campinas – SP. Telefone: (0xx19) 3788 3703. Fax: (0xx19) 3788 1395.

Desenvolvimento de Modelos de Simulação para a

Análise de Qualidade de Serviço em Redes ATM

TESE SUBMETIDA À FACULDADE DE ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO DA UNIVERSIDADE

ESTADUAL DE CAMPINAS, DEPARTAMENTO DE COMUNICAÇÕES, COMO PARTE DOS PRÉ-REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO TÍTULO DE

DOUTOR EM ENGENHARIA ELÉTRICA.

P

OR

ANTÔNIO MARCOS ALBERTI

Engenheiro Eletricista pela UFSM em 1996. Mestre em Engenharia Elétrica pela UNICAMP em 1998.

O

RIENTADOR

PROF. DR. LEONARDO DE SOUZA MENDES – DECOM/FEEC/UNICAMP

B

ANCA

E

XAMINADORA

PROF. DR. ANILTON SALLES GARCIA – PPGEE/UFES

PROF. DR. DALTON SOARES ARANTES – DECOM/FEEC/UNICAMP

PROF. DR. JÔNATAS MANZOLLI – NICS/UNICAMP

PROF. DR. MAURÍCIO FERREIRA MAGALHÃES – DCA/FEEC/UNICAMP

PROF. DR. NELSON LUIS SALDANHA DA FONSECA – IC/UNICAMP

(2)

ii

FICHA CATALOGRÁFICA ELABORADA PELA

BIBLIOTECA DA ÁREA DE ENGENHARIA - BAE - UNICAMP

AL17d

Alberti, Antônio Marcos

Desenvolvimento de modelos de simulação para a análise

de qualidade se serviço em redes ATM / Antônio Marcos

Alberti. --Campinas, SP: [s.n.], 2003.

Orientador: Leonardo de Souza Mendes.

Tese (doutorado) - Universidade Estadual de Campinas,

Faculdade de Engenharia Elétrica e de Computação.

1. Simulação (Computadores digitais). 2.

Telecomunicações. 3. Sistemas de comunicação em banda

larga. 4. Modo de transferência assíncrono. I. Mendes,

Leonardo de Souza. II. Universidade Estadual de

Campinas. Faculdade de Engenharia Elétrica e de

Computação. III. Título.

(3)

iii

Em momentos de dificuldade, somente a imaginação é mais importante do que o conhecimento.

Albert Einstein

(4)

iv

Agradecimentos

Aos meus pais, Luiz e Leda, pelo apoio, otimismo, carinho e dedicação.

À minha esposa, Luzinete, pela compreensão e incentivo.

Aos meus irmãos Fernando e Ricardo, pela amizade, compreensão e inspiração.

Ao meu orientador, Leonardo de Souza Mendes, pela confiança e amizade.

A todos os amigos do LaRCom, DECOM, DT, DMO, DCA, Optiwave, UEL, CT e Incamp,

pelos bons momentos de convivência e amizade.

A todos que de alguma forma contribuíram com a realização deste trabalho e que me ajudaram a

crescer como ser humano.

À Fundação de Amparo à Pesquisa do Estado de São Paulo, FAPESP, pelo suporte financeiro

que permitiu a realização deste trabalho.

(5)

v

Resumo

Este trabalho propõe o desenvolvimento de um conjunto de modelos de simulação capaz de

avaliar com precisão, eficiência e robustez a qualidade de serviço fim-a-fim oferecida para conexões

ATM diante de diferentes cenários de tráfego, de congestionamento e de recursos na rede. Para tanto, o

conjunto de modelos desenvolvido deve englobar não apenas as funções de gerenciamento de tráfego

ATM e sua complexa interdependência, mas também todas as demais funcionalidades das redes ATM,

tais como: o processamento, a comutação e o transporte de células ATM; a negociação do contrato de

tráfego; o roteamento e o gerenciamento de conexões virtuais chaveadas. Os resultados obtidos

demonstraram que o conjunto de modelos desenvolvido permite avaliar adequadamente a qualidade de

serviço fim-a-fim oferecida para conexões ATM diante de diversas situações de tráfego, de

congestionamento e de recursos na rede.

Abstract

This work proposes the development of simulation models capable to evaluate with precision,

efficiency and robustness the quality of service offered to ATM connections subject to different traffic,

congestion and resource scenarios. Therefore, the models developed enclose not only the ATM traffic

management functions and their complex interdependence, but also all the other ATM network

functionalities, such as the ATM cell processing, switching and transport; the traffic contract

negotiation; the routing and management of switched virtual connections. The obtained results had

shown that the developed models allow evaluating adequately the end-to-end quality of service for

ATM connections subject to several traffic, congestion and resource situations.

(6)

vi

Índice

CAPÍTULO 1 INTRODUÇÃO ...1

1.1 - MOTIVAÇÃO ...1

1.1.1 - ATM: Qualidade de Serviço Fim-a-Fim...1

1.1.2 - Funções de Gerenciamento de Tráfego ATM...3

1.1.3 - Complexidade e Interdependência entre Funções...5

1.2 - OBJETIVOS DO TRABALHO...7

1.3 - ORGANIZAÇÃO DA TESE...7

1.4 - PRINCIPAIS CONTRIBUIÇÕES...8

1.5 - REFERÊNCIAS BIBLIOGRÁFICAS...8

CAPÍTULO 2 SIMULAÇÃO DE REDES ATM ...11

2.1 - INTRODUÇÃO ...11

2.2 - SIMULAÇÃO DE SISTEMAS DE COMUNICAÇÕES ...11

2.2.1 - Classificação das Ferramentas ...12

2.2.2 - Principais Características...13

2.2.2.1 - Modelamento ... 13

2.2.2.2 - Gerência de Simulação... 13

2.2.2.3 - Técnicas de Simulação ... 13

2.2.2.3.1 - Simulação Orientada pelo Tempo (Time-Driven Simulation) ... 14

2.2.2.3.2 - Simulação Orientada por Dados (Data-Driven Simulation) ... 14

2.2.2.3.3 - Simulação Orientada por Eventos (Event-Driven Simulation) ... 14

2.2.2.4 - Biblioteca de Modelos... 16

2.3 - SIMULAÇÃO DE REDES ATM ...16

2.3.1 - Desafios de Desenvolvimento ...17

2.3.2 - Características Desejáveis ...18

2.3.3 - Técnicas de Simulação ...19

2.3.4 - Estratégias de Modelamento...20

2.3.4.1 - Modelamento no Nível de Células ... 21

2.3.4.2 - Modelamento no Nível de Chamadas... 23

2.3.4.3 - Modelamento Fluído ... 23

2.3.4.4 - Modelamento Utilizando Técnicas de Amostragem por Importância ... 24

2.3.5 - Simulação Paralela ou Distribuída...26

2.3.6 - Ferramentas de Simulação de Redes ATM...27

2.3.6.1 - Comparação entre as Ferramentas... 29

(7)

vii

CAPÍTULO 3 AMBIENTE DE SIMULAÇÃO...35

3.1 - INTRODUÇÃO ...35

3.2 - ESTRUTURA...36

3.2.1 - Programa Executável ...37

3.2.2 - Biblioteca de Modelos ...38

3.3 - REFERÊNCIAS BIBLIOGRÁFICAS...40

CAPÍTULO 4 CONJUNTO DE MODELOS NO NÍVEL DE CÉLULAS (CMNC)...43

4.1 - INTRODUÇÃO ...43 4.2 - ESTRUTURA...44 4.3 - MENSAGENS ...46 4.3.1 - Pacote ...47 4.3.2 - Célula ATM...49 4.3.3 - Contrato de Tráfego...50 4.3.4 - Ficha ...51

4.3.5 - Mensagem de Gerenciamento de Tráfego ...52

4.3.6 - Mensagem de Roteamento...53

4.4 - ESTRUTURAS DE DADOS AUXILIARES...54

4.4.1 - Variável Estatística Simples ...54

4.4.2 - Variável Estatística Média...54

4.4.3 - Arquivo...55

4.5 - OBJETOS AUXILIARES ...55

4.5.1 - Gerente de Entrada e Saída...55

4.5.1.1 - Gerenciamento de Arquivos... 56

4.5.1.2 - Gerenciamento de Amostragens Estatísticas ... 57

4.5.2 - Gerente de Alocação Dinâmica ...59

4.6 - CAMADAS ...59

4.6.1 - Camadas Requerentes e Removedoras de Conexões ...60

4.6.1.1 - Amostragens Estatísticas... 62

4.6.2 - Camadas Finalizadoras de Conexões...62

4.6.2.1 - Amostragens Estatísticas... 62

4.6.3 - Camadas Fontes de Tráfego...62

4.6.3.1 - Amostragens Estatísticas... 63

4.6.3.2 - Camada Fonte de Tráfego Determinístico... 63

4.6.3.3 - Camada Fonte de Tráfego Poissoniano ... 64

4.6.3.4 - Camada Fonte de Tráfego Externo... 64

4.6.4 - Camadas Receptoras de Tráfego ...65

(8)

viii

4.6.5 - Camadas de Adaptação ATM ...65

4.6.5.1 - Camada de Adaptação ATM Tipo 5... 65

4.6.5.1.1 - Amostragens Estatísticas ... 65

4.6.6 - Camadas ATM...66

4.6.6.1 - Camada ATM do BTE ... 66

4.6.6.1.1 - Amostragens Estatísticas ... 66

4.6.6.2 - Camada ATM do Comutador ... 66

4.6.6.2.1 - Amostragens Estatísticas ... 69

4.6.7 - Camadas Físicas ...69

4.6.7.1 - Camada Física de Entrada ... 70

4.6.7.1.1 - Amostragens Estatísticas ... 71

4.6.7.2 - Camada Física de Saída... 71

4.6.7.2.1 - Amostragens Estatísticas ... 73

4.7 - GERENCIADORES DE TRÁFEGO...73

4.7.1 - Estruturas de Filas (Queueing Structures) ...74

4.7.1.1 - Estrutura de Filas Default... 74

4.7.1.1.1 - Amostragens Estatísticas ... 75

4.7.1.2 - Estrutura de Filas com Fila por Conexão ... 75

4.7.1.2.1 - Amostragens Estatísticas ... 76

4.7.2 - Escalonadores (Schedulers) ...76

4.7.2.1 - Escalonador Default ... 78

4.7.2.1.1 - Amostragens Estatísticas ... 78

4.7.2.2 - Escalonador de Pacotes com Compartilhamento de Processador Generalizado... 78

4.7.2.2.1 - Amostragens Estatísticas ... 79

4.7.2.3 - Escalonador Regulador de Tráfego Virtual Scheduling ... 80

4.7.2.3.1 - Amostragens Estatísticas ... 84

4.7.2.4 - Escalonador WF2Q ... 85

ALGORITMO DE ARMAZENAMENTO DE CÉLULAS ATM ... 87

ALGORITMO DE SERVIÇO DE CÉLULAS ATM ... 89

4.7.2.4.1 - Amostragens Estatísticas ... 91

4.7.2.5 - Escalonador LFVC... 92

4.7.2.5.1 - Amostragens Estatísticas... 97

4.7.3 - Algoritmos de Controle de Admissão de Conexões ...98

4.7.3.1 - Algoritmo de Controle de Admissão de Conexões Default... 98

4.7.3.1.1 - Amostragens Estatísticas ... 99

4.7.3.2 - Algoritmo de Controle de Admissão de Conexões Elwalid Mitra... 99

4.7.3.2.1 - Amostragens Estatísticas ... 103

4.7.4 - Algoritmos de Gerenciamento de Estrutura de Filas ...104

(9)

ix

4.7.4.1.1 – Amostragens Estatísticas ... 105

4.7.4.2 - Algoritmo de Gerenciamento de Estrutura de Filas com Particionamento Dinâmico ... 105

4.7.4.2.1 - Amostragens Estatísticas ... 107

4.7.5 - Algoritmos de Descarte Seletivo de Células...107

4.7.5.1 - Algoritmo de Descarte Seletivo de Células Default ... 108

4.7.5.1.1 - Amostragens Estatísticas ... 108

4.7.5.2 - Algoritmo de Descarte Seletivo de Células Baseado no CLP ... 108

4.7.5.2.1 - Amostragens Estatísticas ... 109

4.7.5.3 - Algoritmo de Descarte Seletivo de Células Baseado no CLR ... 109

4.7.5.3.1 - Amostragens Estatísticas ... 109

4.7.6 - Algoritmos de Policiamento de Tráfego ...109

4.7.6.1 - Policiador Leaky Bucket ... 110

4.7.6.1.1 - Amostragens Estatísticas ... 115 4.8 - BLOCOS...115 4.8.1 - Aplicativos...116 4.8.1.1 - Aplicativo Determinístico ... 116 4.8.1.2 - Aplicativo Poissoniano... 116 4.8.1.3 - Aplicativo Externo ... 117 4.8.1.4 - Aplicativo Receptor ... 117 4.8.2 - Equipamentos ...117

4.8.2.1 - Terminal Faixa Larga ... 118

4.8.2.2 - Comutador... 118

4.8.3 - Gerente ...119

4.8.3.1 - Gerente... 119

4.9 - FUNCIONAMENTO...120

4.10 - ALOCAÇÃO DINÂMICA DE MODELOS INTERNOS...124

4.11 - NOMENCLATURA DOS MODELOS...126

4.12 - REFERÊNCIAS BIBLIOGRÁFICAS...127

CAPÍTULO 5 ESPECIFICAÇÃO DE SIMULAÇÕES ...129

5.1 - INTRODUÇÃO ...129

5.2 - IDENTIFICAÇÃO DE CENÁRIOS ...129

5.2.1 - MPEG sobre ATM...129

5.2.2 - Internet sobre ATM ...131

5.2.3 - Multimídia em Tempo Real sobre ATM ...132

5.3 - OBTENÇÃO DE SEQÜÊNCIAS DE TRÁFEGO ...133

5.4 - ADAPTAÇÃO DE SEQÜÊNCIAS DE TRÁFEGO ...133

5.4.1 - Adaptação de Seqüências de Tamanho de Frame MPEG para Seqüências de Fluxo de Transporte MPEG134 5.5 - CONFIGURAÇÃO DE CONTRATOS DE TRÁFEGO ...140

(10)

x

5.5.1 - Escolha da Categoria de Serviço ...143

5.5.2 - Definição dos Parâmetros de QoS ...143

5.5.3 - Definição dos Descritores de Tráfego ...143

5.5.3.1 - Estimação de Descritores para Tráfego VBR: Técnica do Buffer Virtual... 144

5.5.3.1.1 - Implementação do VB... 146

5.5.3.1.2 - Estimativa de um Par (PCR, CDVT) ... 147

5.5.3.1.3 - Estimativa de um Conjunto de Pares (SCR, MBS)... 149

5.5.3.1.4 - Resultados ... 151

5.5.4 - Escolha da Definição de Conformidade ...156

5.6 - REFERÊNCIAS BIBLIOGRÁFICAS...156

CAPÍTULO 6 SIMULAÇÕES...159

6.1 - INTRODUÇÃO ...159

6.2 - SIMULAÇÃO 1: VALIDAÇÃO DO ESCALONADOR WF2Q...159

6.2.1 - Configuração da Rede no Simulador ...159

6.2.2 - Definição das Simulações...160

6.2.3 - Configuração dos Modelos ...161

6.2.4 - Resultados...163

6.2.5 - Validação do Modelo WF2Q_Scheduler ...163

6.2.6 - Amostragem por Eventos ...165

6.2.7 - Amostragem por Tempo ...177

6.3 - SIMULAÇÃO 2: ANÁLISE DA QOS EM SVCS ATM ...182

6.3.1 - Configuração da Rede no Simulador ...183

6.3.2 - Definição das Simulações...184

6.3.3 - Configuração dos Modelos ...184

6.3.4 - Resultados...185

6.4 - SIMULAÇÃO 3: CENÁRIO NVOD MPEG-4 SOBRE ATM... 188

6.4.1 - Configuração do Cenário no Simulador ...188

6.4.2 - Definição das Simulações...191

6.4.3 - Configuração dos Modelos ...193

6.4.3.1 - Aplicativos ... 193

6.4.3.2 - Terminais Faixa Larga ... 194

6.4.3.3 - Chaveador ... 195

6.4.4 - Resultados...195

6.4.4.1 - Ocupação Média por Conexão ... 197

CAPACIDADE DE 1000 CÉLULAS (B=0)... 198

Modelo de CAC, BM e SD Default (V=0) ...198

(11)

xi

CAPACIDADE DE 500 CÉLULAS (B=1)... 202

Modelo de CAC, BM e SD Default (V=0) ...202

Modelo de CAC Elwalid, de BM com Particionamento Dinâmico e de SD baseado no CLR (V=1) ...204

CAPACIDADE DE 100 CÉLULAS (B=2)... 206

Modelo de CAC, BM e SD Default (V=0) ...206

Modelo de CAC Elwalid, de BM com Particionamento Dinâmico e de SD baseado no CLR (V=1) ...208

CAPACIDADE DE 50 CÉLULAS (B=3)... 210

Modelo de CAC, BM e SD Default (V=0) ...210

Modelo de CAC Elwalid, de BM com Particionamento Dinâmico e de SD baseado no CLR (V=1) ...212

6.4.4.2 - Atraso Médio por Conexão ... 214

CAPACIDADE DE 1000 CÉLULAS (B=0)... 215

Modelo de CAC, BM e SD Default (V=0) ...215

Modelo de CAC Elwalid, de BM com Particionamento Dinâmico e de SD baseado no CLR (V=1) ...217

CAPACIDADE DE 500 CÉLULAS (B=1)... 219

Modelo de CAC, BM e SD Default (V=0) ...219

Modelo de CAC Elwalid, de BM com Particionamento Dinâmico e de SD baseado no CLR (V=1) ...221

CAPACIDADE DE 100 CÉLULAS (B=2)... 223

Modelo de CAC, BM e SD Default (V=0) ...223

Modelo de CAC Elwalid, de BM com Particionamento Dinâmico e de SD baseado no CLR (V=1) ...225

CAPACIDADE DE 50 CÉLULAS (B=3)... 227

Modelo de CAC, BM e SD Default (V=0) ...227

Modelo de CAC Elwalid, de BM com Particionamento Dinâmico e de SD baseado no CLR (V=1) ...229

6.4.4.3 - CLR Médio por Conexão ... 231

CAPACIDADE DE 1000 CÉLULAS (B=0)... 233

Modelo de CAC, BM e SD Default (V=0) ...233

Modelo de CAC Elwalid, de BM com Particionamento Dinâmico e de SD baseado no CLR (V=1) ...235

CAPACIDADE DE 500 CÉLULAS (B=1)... 237

Modelo de CAC, BM e SD Default (V=0) ...237

Modelo de CAC Elwalid, de BM com Particionamento Dinâmico e de SD baseado no CLR (V=1) ...239

CAPACIDADE DE 100 CÉLULAS (B=2)... 241

Modelo de CAC, BM e SD Default (V=0) ...241

Modelo de CAC Elwalid, de BM com Particionamento Dinâmico e de SD baseado no CLR (V=1) ...243

CAPACIDADE DE 50 CÉLULAS (B=3)... 245

Modelo de CAC, BM e SD Default (V=0) ...245

Modelo de CAC Elwalid, de BM com Particionamento Dinâmico e de SD baseado no CLR (V=1) ...247

6.5 - REFERÊNCIAS BIBLIOGRÁFICAS...249

(12)

xii

7.1 - SUMÁRIO DAS ATIVIDADES E CONCLUSÕES ...251

7.2 - PRINCIPAIS CONTRIBUIÇÕES...258

7.3 - SUGESTÕES DE TRABALHOS FUTUROS...260

7.4 - PUBLICAÇÕES ...260

7.5 - REFERÊNCIAS BIBLIOGRÁFICAS...262

APÊNDICE A DESCRIÇÃO DETALHADA DO AMBIENTE DE SIMULAÇÃO ...263

A.1 - PROGRAMA EXECUTÁVEL...263

A.1.1 - Kernel ...263

A.1.2 - Conexões ...275

A.1.3 - Parâmetros ...277

A.1.4 - Tabela de Dados ...278

A.1.5 - Eventos ...278

A.1.6 - Mensagens ...279

A.2 - BIBLIOTECA DE MODELOS ...280

A.2.1 - Blocos ...280

A.2.2 - Camadas...287

A.2.3 - Gerenciadores de Tráfego ...290

(13)

xiii

Índice de Figuras

FIGURA 2.1 – ESQUEMA DE ARMAZENAMENTO E EXECUÇÃO DE EVENTOS. ...15

FIGURA 3.1 – ESTRUTURA DO HYDRAGYRUM. ...37

FIGURA 3.2 – PROGRAMA EXECUTÁVEL COM INTERFACE EM MODO CARACTERE. ...37

FIGURA 3.3 – PROGRAMA EXECUTÁVEL COM INTERFACE GRÁFICA. ...38

FIGURA 3.4 – ESTRUTURA HIERÁRQUICA DE MODELOS NO HYDRAGYRUM...39

FIGURA 4.1 – ESTRUTURA DO CONJUNTO DE MODELOS NO NÍVEL DE CÉLULAS. ...45

FIGURA 4.2 – HIERARQUIA DE OBJETOS UTILIZADA PARA MODELAR A FASE DE TRANSMISSÃO DE DADOS NA REDE ATM...47

FIGURA 4.3 – ESTRUTURA DO PACOTE...48

FIGURA 4.4 – ESTRUTURA DA CÉLULA ATM. ...49

FIGURA 4.5 – ESTRUTURA DO CONTRATO DE TRÁFEGO. ...51

FIGURA 4.6 – ESTRUTURA DAS FICHAS. ...51

FIGURA 4.7 – ESTRUTURA DAS MENSAGENS DE GERENCIAMENTO DE TRÁFEGO. ...52

FIGURA 4.8 – ESTRUTURA DAS MENSAGENS DE ROTEAMENTO. ...53

FIGURA 4.9 – ESTRUTURA DAS VARIÁVEIS ESTATÍSTICA SIMPLES. ...54

FIGURA 4.10 – ESTRUTURA DAS VARIÁVEIS ESTATÍSTICA MÉDIAS. ...55

FIGURA 4.11 – ESTRUTURA DOS ARQUIVOS. ...55

FIGURA 4.12 – EXEMPLO DE ARQUIVO DE SAÍDA. ...57

FIGURA 4.13 – EXEMPLO DE UM PARÂMETRO MATRICIAL PARA A SELEÇÃO DAS VARIÁVEIS ESTATÍSTICAS QUE FARÃO PARTE DE UMA AMOSTRAGEM. ...58

FIGURA 4.14 – PERÍODOS ATIVOS E INATIVOS DAS CONEXÕES CRIADAS PELAS CAMADAS REQUERENTES E REMOVEDORAS DE CONEXÕES...61

FIGURA 4.15 – PADRÃO DE TRÁFEGO GERADO PELA CAMADA FONTE DE TRÁFEGO DETERMINÍSTICO PARA DUAS SITUAÇÕES: A) CONEXÕES COM DURAÇÕES DETERMINÍSTICAS. B) CONEXÕES COM DURAÇÕES EXPONENCIAIS NEGATIVAS...64

(14)

xiv

FIGURA 4.16 – PADRÃO DE TRÁFEGO GERADO PELA CAMADA FONTE DE TRÁFEGO POISSONIANO PARA DUAS SITUAÇÕES: A) CONEXÕES COM DURAÇÕES DETERMINÍSTICAS. B) CONEXÕES COM DURAÇÕES

EXPONENCIAIS NEGATIVAS...64

FIGURA 4.17 – ESTRUTURA DA SWITCH FABRIC MODELADA NO CONJUNTO DE MODELOS NO NÍVEL DE CÉLULAS...67

FIGURA 4.18 – ITERAÇÃO ENTRE A CAMADA SW_ATM E OS DEMAIS GERENCIADORES DE TRÁFEGO DO BLOCO COMUTADOR. ...68

FIGURA 4.19 – ITERAÇÃO ENTRE A CAMADA PHY_IN E OS DEMAIS GERENCIADORES DE TRÁFEGO DO BLOCO COMUTADOR. ...71

FIGURA 4.20 – ITERAÇÃO ENTRE A CAMADA PHY_OUT E OS DEMAIS GERENCIADORES DE TRÁFEGO DOS BLOCOS COMUTADOR E BTE. ...72

FIGURA 4.21 – ESTRUTURA DO GERENCIADOR DE TRÁFEGO DEFAULT_QUEUEING_STRUCTURE. ...75

FIGURA 4.22 – ESTRUTURA DO GERENCIADOR DE TRÁFEGO PER_VC_QUEUEING_STRUCTURE. ...76

FIGURA 4.23– ESTRUTURA DO ESCALONADOR VS_TS_SCHEDULER. ...80

FIGURA 4.24 – ALGORITMOS IMPLEMENTADOS PARA OS ESPAÇADORES: A) A (CBR.1, ABR.1 E UBR.1) E B) B (VBR.1)...82

FIGURA 4.25 – ALGORITMOS IMPLEMENTADOS PARA OS ESPAÇADORES: A) C (VBR.2) E B) D (VBR.3)...84

FIGURA 4.26 – ESTRUTURA DO MODELO DO ESCALONADOR WF2Q. ...87

FIGURA 4.27 – ALGORITMO DE ARMAZENAMENTO DE CÉLULAS ATM. ...89

FIGURA 4.28 – ALGORITMO DE SERVIÇO DE CÉLULAS ATM...91

FIGURA 4.29 – ESTRUTURA DO LFVC_SCHEDULER...92

FIGURA 4.30 – ALGORITMO IMPLEMENTADO PARA O ARMAZENAMENTO DE CÉLULAS NO LFVC_SCHEDULER...95

FIGURA 4.31 – ALGORITMO IMPLEMENTADO PARA A TRANSMISSÃO DE CÉLULAS NO LFVC_SCHEDULER...96

FIGURA 4.32 – ALGORITMO DE SERVIÇO DA CÉLULA DA CABECEIRA DA FILA H...97

FIGURA 4.33 – FLUXOGRAMA DO CRITÉRIO DE ACEITAÇÃO DE CONEXÕES DO ELWALID_MITRA_CAC. ...101

FIGURA 4.34 – DINÂMICA DO LIMIAR DE ACEITAÇÃO DE CÉLULAS PARA: A) CLASSE COM MULTIPLEXAÇÃO SEM PERDAS E B) CLASSE COM MULTIPLEXAÇÃO ESTATÍSTICA. ...106

FIGURA 4.35 – ESTRUTURA DO LEAKY_BUCKET_TP. ...111

FIGURA 4.36 – ALGORITMOS IMPLEMENTADOS PARA OS POLICIADORES: A) A (CBR.1, ABR.1 E UBR.1) E B) B (VBR.1)...112

(15)

xv

FIGURA 4.37 – ALGORITMO IMPLEMENTADO PARA O POLICIADOR C (VBR.2). ...114

FIGURA 4.38 – ALGORITMO IMPLEMENTADO PARA O POLICIADOR D (VBR.3)...115

FIGURA 4.39 – ESTRUTURA DO APLICATIVO DETERMINÍSTICO...116

FIGURA 4.40 – ESTRUTURA DO APLICATIVO POISSONIANO. ...116

FIGURA 4.41 – ESTRUTURA DO APLICATIVO EXTERNO. ...117

FIGURA 4.42 – ESTRUTURA DO APLICATIVO RECEPTOR. ...117

FIGURA 4.43 – ESTRUTURA DO BTE...118

FIGURA 4.44 – ESTRUTURA DO COMUTADOR...119

FIGURA 4.45 – EXEMPLO DE UMA REDE ATM SIMPLES. ...123

FIGURA 4.46 – ESTRUTURA INTERNA DOS BLOCOS DA REDE ATM SIMPLES. ...124

FIGURA 4.47 – ALOCAÇÃO DINÂMICA DE CAMADAS E DE GERENCIADORES DE TRÁFEGO NO CMNC. ...125

FIGURA 4.48 – NOMENCLATURA DOS MODELOS INTERNOS DO BLOCO COMUTADOR. ...126

FIGURA 5.1 – CENÁRIO NVOD MPEG SOBRE ATM NATIVO...130

FIGURA 5.2 – CENÁRIOS INTERNET SOBRE ATM...131

FIGURA 5.3 –CENÁRIO MULTIMÍDIA EM TEMPO REAL SOBRE ATM...132

FIGURA 5.4 – SEGMENTAÇÃO DE FRAMES MPEG EM CÉLULAS ATM: A) SOLUÇÃO COMUMENTE UTILIZADA E B) SOLUÇÃO ADOTADA PELO PROGRAMA DE ADAPTAÇÃO. ...136

FIGURA 5.5 – ALGORITMO PARA A ADAPTAÇÃO DAS SEQÜÊNCIAS DE FRAMES MPEG EM PACOTES TS MPEG. ...138

FIGURA 5.6 – SEQÜÊNCIA DE TAMANHO DE FRAME MPEG. ...140

FIGURA 5.7 – SEQÜÊNCIA DE FLUXO DE TRANSPORTE MPEG DE SAÍDA...140

FIGURA 5.8 – EQUIVALÊNCIA ENTRE: A) BUFFER VIRTUAL E B) POLICIADOR. ...145

FIGURA 5.9 – ESTIMATIVA DE UM PAR (PCR, CDVT) – PARTE I. ...150

FIGURA 5.10 – ESTIMATIVA DE UM PAR (PCR, CDVT) – PARTE II. ...151

FIGURA 5.11 – SEQÜÊNCIA DE FRAMES MPEG DE ENTRADA. ...152

FIGURA 5.12 – SEQÜÊNCIA DE AAL-SDUS RESULTANTE DA ADAPTAÇÃO DOS FRAMES MPEG...152

FIGURA 5.13 – OCUPAÇÃO DO BUFFER VIRTUAL DURANTE AS VARIAS ITERAÇÕES DO ALGORITMO DE ESTIMAÇÃO DO PCR E DO CDVT. ...153

(16)

xvi

FIGURA 5.14 – OCUPAÇÃO DO BUFFER VIRTUAL DURANTE AS ÚLTIMAS 3 ITERAÇÕES DO ALGORITMO DE ESTIMAÇÃO

DO PCR E DO CDVT...154

FIGURA 5.15 – CONVERGÊNCIA DO ALGORITMO DE ESTIMAÇÃO DO PCR E DO CDVT...154

FIGURA 5.16 – SCR VERSUS MBS E BT...156

FIGURA 6.1 – TOPOLOGIA DA REDE UTILIZADA PARA VALIDAR O MODELO WF2Q_SCHEDULER...160

FIGURA 6.2 – OCUPAÇÃO DA ESTRUTURA DE FILAS DO BTE_0 PARA O MODELO DE ESCALONADOR WF2Q. ...164

FIGURA 6.3 – OCUPAÇÃO DAS FILAS DE CADA CONEXÃO NA ESTRUTURA DE FILAS DO BTE_0 SUJEITA A CAPACIDADE DE 100 CÉLULAS PARA AMBOS OS MODELOS DE ESCALONADORES...166

FIGURA 6.4 – OCUPAÇÃO DAS FILAS DE CADA CONEXÃO NA ESTRUTURA DE FILAS DO BTE_0 SUJEITA A CAPACIDADE DE 50 CÉLULAS PARA AMBOS OS MODELOS DE ESCALONADORES...167

FIGURA 6.5 –ATRASO INSTANTÂNEO DAS CÉLULAS NA ESTRUTURA DE FILAS DO BTE_0 COM CAPACIDADE DE 100 CÉLULAS PARA AMBOS OS MODELOS DE ESCALONADORES...169

FIGURA 6.6 – ATRASO INSTANTÂNEO DAS CÉLULAS NA ESTRUTURA DE FILAS DO BTE_0 COM CAPACIDADE DE 50 CÉLULAS PARA AMBOS OS MODELOS DE ESCALONADORES...170

FIGURA 6.7 – ATRASO MÉDIO DAS CÉLULAS NA ESTRUTURA DE FILAS DO BTE_0 COM CAPACIDADE DE 100 CÉLULAS PARA AMBOS OS MODELOS DE ESCALONADORES...171

FIGURA 6.8 – ATRASO MÉDIO DAS CÉLULAS NA ESTRUTURA DE FILAS DO BTE_0 COM CAPACIDADE DE 50 CÉLULAS PARA AMBOS OS MODELOS DE ESCALONADORES...172

FIGURA 6.9 – NÚMERO DE CÉLULAS PERDIDAS NA ESTRUTURA DE FILAS DO BTE_0 COM CAPACIDADE DE 100 CÉLULAS PARA AMBOS OS MODELOS DE ESCALONADORES...174

FIGURA 6.10 – NÚMERO DE CÉLULAS PERDIDAS NA ESTRUTURA DE FILAS DO BTE_0 COM CAPACIDADE DE 50 CÉLULAS PARA AMBOS OS MODELOS DE ESCALONADORES...175

FIGURA 6.11 – CLR NA ESTRUTURA DE FILAS DO BTE_0 COM CAPACIDADE DE 100 CÉLULAS PARA AMBOS OS MODELOS DE ESCALONADORES. ...176

FIGURA 6.12 – CLR NA ESTRUTURA DE FILAS DO BTE_0 COM CAPACIDADE DE 50 CÉLULAS PARA AMBOS OS MODELOS DE ESCALONADORES. ...177

FIGURA 6.13 – OCUPAÇÃO MÉDIA NA ESTRUTURA DE FILAS DO BTE_0 PARA OS DOIS MODELOS DE ESCALONADORES.178 FIGURA 6.14 – ATRASO MÉDIO NA ESTRUTURA DE FILAS DO BTE_0 PARA OS DOIS MODELOS DE ESCALONADORES. ....179

FIGURA 6.15 – CLR MÉDIO NA ESTRUTURA DE FILAS DO BTE_0 PARA OS DOIS MODELOS DE ESCALONADORES. ...181

(17)

xvii

FIGURA 6.17 – TOPOLOGIA DA UTILIZADA PARA AVALIAR A QOS DE SVCS ATM...183

FIGURA 6.18 – OCUPAÇÃO MÉDIA DA ESTRUTURA DE FILAS DO BTE_0. ...186

FIGURA 6.19 – ATRASO MÉDIO DAS CÉLULAS NA ESTRUTURA DE FILAS DO BTE_0...187

FIGURA 6.20 – TAXA MÉDIA DE PERDA DE CÉLULAS NA ESTRUTURA DE FILAS DO BTE_0. ...187

FIGURA 6.21 – ATRASO MÉDIO FIM-A-FIM DAS CÉLULAS NA REDE. ...187

FIGURA 6.22 – CENÁRIO VÍDEO SOBRE DEMANDA MPEG-4 SOBRE ATM NATIVO. ...188

FIGURA 6.23 – CENÁRIO NVOD MPEG-4 SOBRE ATM UTILIZANDO O CONJUNTO DE MODELOS NO NÍVEL DE CÉLULAS...189

FIGURA 6.24 – VISÃO DETALHADA DO CENÁRIO NVOD MPEG-4 SOBRE ATM UTILIZANDO O CMNC...189

FIGURA 6.25 – EXEMPLO DE FIGURA DE RESULTADOS PARA A CONFIGURAÇÃO DE SIMULAÇÃO (U)(3)(1)(Z). ...196

FIGURA 6.26 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(0)(0)(Z)...198

FIGURA 6.27 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(0)(0)(Z)...199

FIGURA 6.28 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(0)(1)(Z)...200

FIGURA 6.29 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(0)(1)(Z)...201

FIGURA 6.30 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(1)(0)(Z)...202

FIGURA 6.31 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(1)(0)(Z)...203

FIGURA 6.32 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(1)(1)(Z)...204

FIGURA 6.33 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(1)(1)(Z)...205

FIGURA 6.34 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(2)(0)(Z)...206

FIGURA 6.35 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(2)(0)(Z)...207

(18)

xviii

FIGURA 6.36 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(2)(1)(Z)...208 FIGURA 6.37 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(2)(1)(Z)...209 FIGURA 6.38 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(3)(0)(Z)...210 FIGURA 6.39 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(3)(0)(Z)...211 FIGURA 6.40 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(3)(1)(Z)...212 FIGURA 6.41 – OCUPAÇÃO DA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(3)(1)(Z)...213 FIGURA 6.42 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(0)(0)(Z)...215 FIGURA 6.43 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(0)(0)(Z)...216 FIGURA 6.44 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(0)(1)(Z)...217 FIGURA 6.45 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(0)(1)(Z)...218 FIGURA 6.46 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(1)(0)(Z)...219 FIGURA 6.47 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(1)(0)(Z)...220 FIGURA 6.48 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(1)(1)(Z)...221 FIGURA 6.49 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(1)(1)(Z)...222 FIGURA 6.50 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(2)(0)(Z)...223 FIGURA 6.51 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(19)

xix

FIGURA 6.52 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES

(U)(2)(1)(Z)...225

FIGURA 6.53 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(2)(1)(Z)...226

FIGURA 6.54 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(3)(0)(Z)...227

FIGURA 6.55 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(3)(0)(Z)...228

FIGURA 6.56 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(3)(1)(Z)...229

FIGURA 6.57 – ATRASO NA ESTRUTURA DE FILAS PHY_OUT_QS_0 DO BTE_0 PARA AS CONFIGURAÇÕES (U)(3)(1)(Z)...230

FIGURA 6.58 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(0)(0)(Z). ...233

FIGURA 6.59 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(0)(0)(Z). ...234

FIGURA 6.60 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(0)(1)(Z). ...235

FIGURA 6.61 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(0)(1)(Z). ...236

FIGURA 6.62 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(1)(0)(Z). ...237

FIGURA 6.63 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(1)(0)(Z). ...238

FIGURA 6.64 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(1)(1)(Z). ...239

FIGURA 6.65 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(1)(1)(Z). ...240

FIGURA 6.66 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(2)(0)(Z). ...241

FIGURA 6.67 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(2)(0)(Z). ...242

FIGURA 6.68 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(2)(1)(Z). ...243

FIGURA 6.69 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(2)(1)(Z). ...244

FIGURA 6.70 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(3)(0)(Z). ...245

FIGURA 6.71 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(3)(0)(Z). ...246

FIGURA 6.72 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(3)(1)(Z). ...247

FIGURA 6.73 – CLR NA CAMADA FÍSICA DE SAÍDA DO BTE_0 PARA AS CONFIGURAÇÕES (U)(3)(1)(Z). ...248

(20)

xx

FIGURA A.2 – FLUXOGRAMAS DE FUNCIONAMENTO DO KERNEL...266

FIGURA A.3 – RELAÇÃO ENTRE AS FUNÇÕES DE INTERFACEAMENTO DO KERNEL E AS FUNÇÕES DE COMPORTAMENTO DOS MODELOS. ...268

FIGURA A.4 – FLUXOGRAMA DA FUNÇÃO DE EXECUÇÃO DA SIMULAÇÃO (RUN). ...270

FIGURA A.5 – FASES NECESSÁRIAS PARA A SIMULAÇÃO DE UMA REDE NO HYDRAGYRUM. ...273

FIGURA A.6 – ESTRUTURA DE CLASSES DO KERNEL DO HYDRAGYRUM [3]. ...274

FIGURA A.7 – ESTRUTURA HIERÁRQUICA DE CONEXÕES DO HYDRAGYRUM. ...276

FIGURA A.8 – REMOÇÃO DE CONEXÕES NO HYDRAGYRUM...276

FIGURA A.9 – EXEMPLO DE TOPOLOGIA PARA REDES ATM. ...277

FIGURA A.10 – ESTRUTURA DOS PARÂMETROS DO HYDRAGYRUM. ...278

FIGURA A.11 – ESTRUTURA DOS EVENTOS DO HYDRAGYRUM. ...279

FIGURA A.12 – ESTRUTURA DE UM BLOCO DO HYDRAGYRUM. ...280

FIGURA A.13 – CONSTRUÇÃO DE NOVOS BLOCOS NO HYDRAGYRUM...285

FIGURA A.14 – PASSOS NECESSÁRIOS PARA DESENVOLVER UM NOVO BLOCO PARA O HYDRAGYRUM. ...286

FIGURA A.15 – ESTRUTURA DE UMA CAMADA DO HYDRAGYRUM. ...287

FIGURA A.16 – CONSTRUÇÃO DE NOVAS CAMADAS NO HYDRAGYRUM. ...290

(21)

xxi

Índice de Tabelas

TABELA 2.1 – CARACTERÍSTICAS DE ALGUMAS FERRAMENTAS DE SIMULAÇÃO DE REDES ATM. ...30

TABELA 4.1 – MAPEAMENTO DOS DESCRITORES DE TRÁFEGO ORIGINAIS PARA OS DESCRITORES A SEREM UTILIZADOS NO CRITÉRIO DE ACEITAÇÃO DO CAC. ...99

TABELA 4.2 – MAPEAMENTO DOS DESCRITORES DE TRÁFEGO ORIGINAIS PARA OS DESCRITORES A SEREM UTILIZADOS NO CÁLCULO DA LARGURA DE FAIXA EFETIVA E DO ESPAÇO EM GERENCIADOR DE TRÁFEGO EFETIVO. .101 TABELA 5.1 – PARÂMETROS DE QOS E DESCRITORES DE TRÁFEGO PARA AS CATEGORIAS DE SERVIÇO ATM. FONTE [7]. ...142

TABELA 5.2 – DEFINIÇÕES DE CONFORMIDADE PARA AS CATEGORIAS DE SERVIÇO ATM. FONTE [7]. ...142

TABELA 5.3 – CONJUNTOS DE PARES (SCR, MBS) OU (SCR, BT). ...155

TABELA 6.1 – DESCRITORES DE TRÁFEGO ATM UTILIZADOS. ...161

TABELA 6.2 – PESOS E CLR PARA CADA CONEXÃO. ...163

TABELA 6.3 – EVOLUÇÃO DAS VARIÁVEIS DO WF2Q_SCHEDULER DURANTE A EXECUÇÃO DO ALGORITMO DE ARMAZENAMENTO DE CÉLULAS ATM...165

TABELA 6.4 – DESCRITORES DE TRÁFEGO ATM UTILIZADOS. ...184

TABELA 6.5 – PESOS E CLR PARA CADA CONEXÃO. ...185

TABELA 6.6 – DESCRITORES DE TRÁFEGO ATM UTILIZADOS. ...193

TABELA 6.7 – PRINCIPAIS CARACTERÍSTICAS DAS CONEXÕES ESTABELECIDAS A PARTIR DE CADA APLICATIVO DA REDE. ...197

(22)

1

Capítulo 1

Introdução

1.1 - Motivação

1.1.1 - ATM: Qualidade de Serviço Fim-a-Fim

Estimuladas pelo vertiginoso crescimento da Internet e pela demanda crescente por serviços que

integram dados, voz, vídeo e imagens, as operadoras de telecomunicações têm realizado, nas últimas

décadas, grandes investimentos na ampliação de suas estruturas de transmissão. Estas novas

infra-estruturas, ao contrário das antigas redes telefônicas, não dependem mais de uma única tecnologia.

Redes ópticas, telefônicas, via satélite e sem fio têm se integrado cada vez mais, oferecendo aos

usuários uma gama maior de serviços disponíveis, a qualquer tempo e em qualquer lugar. Além disso,

uma grande variedade de protocolos, funções e algoritmos são usados desde a camada física até a

camada de aplicação da rede. Neste cenário, o uso de ferramentas computacionais tem se demonstrado

imprescindível não apenas para reduzir custos, mas também para acelerar o projeto, a análise e a

implantação dessas redes.

Uma das tecnologias mais utilizadas nessa ampliação de infra-estrutura é a tecnologia ATM

(Asynchronous Transfer Mode) [1][2][3][4]. O ATM é fundamentado na transmissão, multiplexação e

chaveamento de pequenos pacotes de tamanho fixo, chamados de células, que permitem a integração e

o transporte de voz, vídeo, imagens e dados sobre uma mesma rede de alta velocidade. O ATM oferece

vantagens em potencial tanto em termos de vazão agregada de comutação quanto no suporte à

qualidade de serviço (QoS – Quality of Service). E mais, o ATM pode ser usado em todas as porções de

uma rede, desde a rede local até a rede de longa distância, reduzindo assim os custos de operação,

administração e manutenção. Com todas estas vantagens em mãos, o ATM foi escolhido em 1988 pelo

ITU-T (International Telecommunication Union – Telecommunication Standardization Sector) como o

Modo de Transferência da Rede Digital de Serviços Integrados Faixa Larga (B-ISDN – Broadband

(23)

2

Na década de 1990, o ATM passou por diversos desenvolvimentos, guiados pelo ITU-T [5] e

ATM Fórum [6], que culminaram na implantação de redes mundo afora. Atualmente, o ATM está

sendo utilizado principalmente para: prover acesso e interligar redes corporativas que necessitam de

muita largura de faixa e que sejam distribuídas geograficamente; construir backbones de longa

cobertura e metropolitanos, visando a agregação de tráfego de redes de acesso; interconectar redes de

diferentes tecnologias; e oferecer soluções de distribuição de vídeo.

Devido as suas características, o ATM têm sido considerado uma das tecnologias mais

favoráveis para oferecer QoS fim-a-fim para um grande número de aplicações, tais como telefonia,

videoconferência, vídeo sobre demanda, educação à distância e web browsing. Entretanto, o suporte à

qualidade de serviço em redes ATM requer um conjunto bastante sofisticado de funções de

gerenciamento de tráfego (TM – Traffic Management). Dentre as principais razões que levaram a essa

sofisticação podemos destacar a multiplexação estatística de células ATM e a ausência de um

mecanismo de controle de fluxo no nível de células. Para suportar a multiplexação estatística, ou seja, o

compartilhamento temporal dos enlaces por várias conexões, as redes ATM aceitam muito mais tráfego

do que a capacidade de transmissão existente. A idéia é aumentar a eficiência da rede partindo da

suposição que o período de surto de tráfego de uma determinada conexão não coincide com o período

de surto das demais conexões. Por outro lado, o fato das redes ATM não possuírem um controle de

fluxo no nível de células, permite que conexões mal comportadas transmitam um número maior de

células do que o negociado. Para evitar que esse tráfego indesejado comprometa a QoS de conexões

bem comportadas, as funções de gerenciamento de tráfego devem marcar ou descartar células desse

tráfego a fim de evitar o congestionamento. Portanto, os objetivos principais das funções de

gerenciamento de tráfego são a prevenção e a reação ao congestionamento na rede.

Quando ocorre um congestionamento em uma rede ATM, as funções de gerenciamento de

tráfego reagem de forma a manter os objetivos de QoS negociados e ao mesmo tempo maximizar o uso

dos recursos disponíveis. Portanto, somente através de um gerenciamento de tráfego adequado é

possível manter um nível satisfatório de QoS na rede sem reduzir a sua eficiência. As funções de

gerenciamento de tráfego foram definidas pelo ATM Forum [6] na especificação Traffic Management

Specification 4.0 [7], e pelo ITU-T [5] na recomendação I.371 Traffic Contract and Congestion

Control in B-ISDN Standard [8]. Embora hajam algumas diferenças entre estes documentos, ambos

(24)

3

1.1.2 - Funções de Gerenciamento de Tráfego ATM

Formalmente, a especificação TM 4.0 do ATM Forum define as seguintes funções de

gerenciamento de tráfego ATM:

 Controle de Admissão de Conexões (CAC – Connection Admission Control).

 Controle de Utilização de Parâmetros (UPC – Usage Parameter Control).

 Descarte Seletivo de Células (Selective Cell Discarding).

 Formatação de Tráfego (Traffic Shaping).

 Controle Explícito de Congestionamento na Direção de Transmissão (Explicit Forward

Congestion Control).

 Gerenciamento de Recursos usando Caminhos Virtuais (Resource Management using

Virtual Paths).

 Descarte de Frames (Frame Discard).

 Controle de Fluxo Genérico (Generic Flow Control).

 Controle de Fluxo ABR (ABR Flow Control).

Na prática, porém, essas funções são implementadas como algoritmos bem definidos, que em

alguns casos agrupam mais de uma função de gerenciamento de tráfego. Um exemplo é o algoritmo de

descarte seletivo de células que agrupa as funções de descarte seletivo de células e de descarte de

frames. Embora a maioria das funções de gerenciamento de tráfego estejam sendo utilizadas em

equipamentos comerciais, algumas delas praticamente não saíram do estágio de pesquisa acadêmica.

São exemplos as funções de gerenciamento de recursos usando caminhos virtuais e de controle de fluxo

genérico. Por outro lado, muitos algoritmos de gerenciamento de tráfego foram desenvolvidos por

empresas para aplicação prática sem ter sido formalmente definidos pelo ITU-T ou pelo ATM Forum.

São exemplos os algoritmos de escalonamento de células e de gerenciamento de estruturas de filas.

Neste trabalho, consideramos os seguintes algoritmos de gerenciamento de tráfego ATM (veja o

Capítulo 4):

 Algoritmos de Escalonamento (Scheduling Algorithms) – São implementados em cada ponto

de armazenamento de células da rede (estrutura de filas – queueing structure) para

(25)

4

selecionar a ordem apropriada de serviço das células, a fim de garantir os objetivos de QoS

negociados.

 Algoritmos de Controle de Admissão de Conexões (CAC Algorithms – Connection

Admission Control Algorithms) – Determinam se uma nova conexão ATM pode ou não ser

estabelecida na rede, reservando espaço físico nas estruturas de filas da rede e largura de

faixa nos algoritmos de escalonamento. Este algoritmo implementa a função de controle de

admissão de conexões especificada pelo ATM Forum.

 Algoritmos de Gerenciamento de Estruturas de Filas (Buffer Manangement Algorithms) –

São implementados junto as estruturas de filas da rede a fim de julgar se uma célula

recebida pode ou não ser armazenada.

 Algoritmos de Descarte Seletivo de Células (Selective Cell Discard Algorithms) – Em uma

situação de congestionamento, células ATM eventualmente terão que ser descartadas. Nesta

situação, algoritmos de descarte seletivo de células são necessários, pois células de menor

prioridade devem ser descartadas em benefício de células mais prioritárias. Este algoritmo

implementa as funções de descarte seletivo de células e de frames especificadas pelo ATM

Forum.

 Algoritmos de Formatação de Tráfego (Traffic Shaping Algorithms) – Formatam o tráfego

das conexões ATM para que esse esteja de acordo com o contrato de tráfego negociado.

Este algoritmo implementa a função de formatação de tráfego especificada pelo ATM

Forum.

 Algoritmos de Policiamento de Tráfego (Traffic Policing Algorithms) – Atuam marcando e

descartando células ATM a fim de que o tráfego mal comportado de uma determinada

conexão satisfaça os descritores de tráfego negociados. Este algoritmo implementa a função

de controle de utilização de parâmetros especificada pelo ATM Forum.

As funções de controle explícito de congestionamento na direção de transmissão, gerenciamento

de recursos usando caminhos virtuais, controle de fluxo genérico e de controle de fluxo ABR não

foram consideradas neste trabalho.

(26)

5

1.1.3 - Complexidade e Interdependência entre Funções

Segundo Giroux et. al [9], a complexidade das funções de gerenciamento de tráfego não é

intrínseca das redes ATM, mas sim necessária para qualquer tecnologia que aspire carregar tráfego

multimídia de forma eficiente e ao mesmo tempo atender garantias de QoS fim-a-fim. Além disso, na

nossa opinião, a complexidade do gerenciamento de tráfego ATM é agravado por outro importante

fator: a forte interdependência existente entre essas funções. Por exemplo, consideremos o caso de

uma conexão ATM cujo contrato de tráfego negociado assegura um valor máximo de taxa de perda de

células (CLR – Cell Loss Ratio) da ordem de 10

-6

. O CLR obtido para essa conexão dependerá:

 Da estrutura de armazenamento de células utilizada – Uma estrutura de filas com filas

individuais por conexão (per-VC queueing) permite um melhor isolamento de tráfego entre

conexões do que uma estrutura de filas com uma única fila FIFO (first-in first-out queuing)

[10]. Esse isolamento de tráfego evita que um surto de tráfego mal comportado de uma

determinada conexão possa interferir nas células de outras conexões, ocasionando assim um

possível congestionamento e a perda de células nessas conexões. Tipicamente, o tráfego de

várias conexões é isolado entre si através de divisões físicas ou lógicas da estrutura de filas.

 Do algoritmo de gerenciamento de estruturas de filas utilizado – Alguns esquemas de

particionamento de estruturas de filas oferecem isolamento naturalmente, através da reserva

de recursos fixos para cada conexão, como por exemplo o particionamento completo

(complete partitioning), enquanto outros precisam ser acoplados a um algoritmo de descarte

seletivo de células para oferecer esse isolamento e ao mesmo tempo maximizar o ganho

estatístico obtido [9], como por exemplo o particionamento dinâmico (dynamic partitioning)

[10]. Uma alocação de espaço em buffer inferior do que a necessária para uma determinada

conexão pode ocasionar a perda de células durante uma situação de congestionamento.

 Do algoritmo de escalonamento adotado – Vários algoritmos de escalonamento podem ser

implementados para oferecer diferentes níveis de isolamento, atraso e vazão [11]. A

utilização de um algoritmo de escalonamento inadequado pode ocasionar o aumento

excessivo da ocupação das estruturas de filas da rede, bem como do tempo de permanência

das células nessas estruturas. Neste caso, células ATM poderão ser descartadas devido a

(27)

6

falta de recursos nas estruturas de filas ou ao atraso excessivo sofrido por essas células na

rede.

 Do algoritmo de controle de admissão de conexões utilizado – Um algoritmo de CAC

eficiente produz um alto ganho estatístico sem violar as garantias de QoS negociadas. Na

prática, as alocações de largura de faixa e de espaço em buffer feitas pelos algoritmos de

CAC são utilizadas para gerenciar os recursos disponíveis nas estruturas de filas e nos

algoritmos de escalonamento [12]. Portanto, é de fundamental importância que estas

alocações sejam feitas de forma precisa e em acordo com os demais algoritmos de

gerenciamento de tráfego implementados na rede.

 Do algoritmo de descarte de células utilizado – O CLR obtido para a conexão dependerá em

grande parte desse algoritmo, uma vez que é ele que decide qual célula ou quais células

serão descartadas. Alguns algoritmos de descarte permitem descartar células de conexões

menos prioritárias em prol de células de conexões mais prioritárias, aumentando assim o

isolamento de tráfego entre as conexões.

 Do algoritmo de policiamento de tráfego utilizado – Em determinadas circunstâncias, os

algoritmos de policiamento de tráfego podem descartar células ATM consideradas não

conformes com o contrato de tráfego acordado na fase de estabelecimento da conexão.

Portanto, esses algoritmos podem contribuir significativamente para o CLR obtido.

 Do algoritmo de formatação de tráfego utilizado – Alguns algoritmos de formatação de

tráfego funcionam de forma integrada com algoritmos de escalonamento. Portanto, é

possível que células de um tráfego mal comportado sejam descartadas devido a falta de

recursos nas estruturas de filas que armazenam essas células.

Assim sendo, uma boa estimativa do nível de qualidade de serviço obtido para uma determinada

conexão deve considerar todas as componentes geradas por esses algoritmos de gerenciamento de

tráfego e a sua complexa interdependência. Somente com esse nível de detalhamento é possível estimar

com precisão a qualidade de serviço oferecida para uma determinada conexão em termos de CLR,

atraso e vazão.

(28)

7

1.2 - Objetivos do Trabalho

Este trabalho propõe o desenvolvimento de um conjunto de modelos de simulação capaz de

avaliar com precisão, eficiência e robustez a qualidade de serviço fim-a-fim oferecida para conexões

ATM diante de diferentes cenários de tráfego, de congestionamento e de recursos na rede. Para tanto, o

conjunto de modelos desenvolvido deverá englobar não apenas as funções de gerenciamento de tráfego

ATM e sua complexa interdependência, mas também todas as demais funcionalidades das redes ATM,

tais como: o processamento, a comutação e o transporte de células ATM; a negociação do contrato de

tráfego; o roteamento e o gerenciamento de conexões virtuais chaveadas.

1.3 - Organização da Tese

A tese está organizada em sete capítulos. O segundo capítulo apresenta uma discussão sobre a

simulação de sistemas de comunicação, e em especial de redes ATM. Neste capítulo são abordados os

principais aspectos envolvidos na simulação computacional de redes ATM, destacando as várias

direções que poderiam ser tomadas na realização deste trabalho. O terceiro capítulo apresenta o

ambiente de simulação Hydragyrum 1.0, que foi o software escolhido para o desenvolvimento do

conjunto de modelos de simulação. Neste capítulo é mostrada uma visão geral do ambiente de

simulação Hydragyrum, abordando a estrutura e as principais características deste ambiente. O quarto

capítulo apresenta o conjunto de modelos desenvolvido para a análise da qualidade de serviço em

redes ATM, ou seja, o conjunto de modelos no nível de células. Este é o capítulo principal da tese,

onde são mostradas as maiores contribuições do trabalho. O quinto capítulo apresenta uma discussão

sobre os possíveis cenários de redes que poderiam ser simulados no Hydragyrum utilizando o conjunto

de modelos no nível de células. Este capítulo também é importante, pois mostra como especificar

simulações baseadas nos modelos desenvolvidos. O sexto capítulo apresenta três simulações realizadas

utilizando-se o conjunto de modelos no nível de células e o ambiente de simulação Hydragyrum. Neste

capítulo são apresentados os resultados de simulação do trabalho. Estes resultados demonstraram que o

conjunto de modelos desenvolvido permite avaliar com precisão, eficiência e robustez a qualidade de

serviço fim-a-fim oferecida para conexões ATM diante de diferentes cenários de tráfego, de

congestionamento e de recursos na rede. Finalmente, no sétimo capítulo será apresentado um sumário

das atividades desenvolvidas, relatando as principais decisões tomadas, soluções adotadas e conclusões

(29)

8

obtidas durante o desenvolvimento do trabalho. Também serão apresentadas algumas sugestões para

trabalhos futuros.

1.4 - Principais Contribuições

A principal contribuição do trabalho é o desenvolvimento de uma ferramenta única para a

análise da qualidade de serviço em redes ATM. Esta ferramenta permite a análise sofisticada da QoS

em redes ATM, uma vez que ela possui um amplo e expansível conjunto de modelos (veja o Capítulo

4), capaz de avaliar a qualidade de serviço oferecida para conexões ATM considerando não apenas as

funções de gerenciamento de tráfego e sua complexa interdependência, mas também todas as demais

funcionalidades das redes ATM. No Capítulo 6 são mostrados resultados que permitem comparar a

qualidade de serviço oferecida para cada conexão de uma rede ATM diante de diferentes cenários de

tráfego, de congestionamento e de recursos na rede. Além da ferramenta para a simulação de redes

ATM, este trabalho contribuiu ainda com dois outros softwares inéditos (veja o Capítulo 5): um para a

adaptação de seqüências de tráfego MPEG e outro para a estimação de descritores de tráfego ATM.

1.5 - Referências Bibliográficas

[1]

BLACK, UYLESS, “ATM: Foundation for Broadband Networks”, Prentice-Hall, 1995.

[2]

MINOLLI, D., ALLES, A., “LAN, ATM, and LAN Emulation Technologies”, Artech House,

1996.

[3]

SACKET, G.C., METZ, C., “ATM and Multiprotocol Networking”, McGraw Hill, January

1997.

[4]

ALLES, A., “ATM Internetworking”, White Paper, Cisco Systems, Inc., May 1995.

[5]

http://www.itu.ch

[6]

http://www.atmforum.com

[7]

ATM FORUM, “Traffic Management 4.0”, 1996.

(30)

9

[9]

GIROUX, N., GANTI, S., “Quality of Service in ATM Networks: State-of-Art Traffic

Management”, Prentice Hall, 1998.

[10]

KRISHNAN, S., CHOUDHURY, A., CHIUSSI, F., “Dynamic Partitioning: A Mechanism for

Shared Memory Management”, IEEE INFOCOM’99, 1999.

[11] BENNETT, J.C.R., ZHANG, H., “WF2Q: Worst-case Fair Weighted Fair Queuing'”,

INFOCOM'96, March 1996.

[12]

ELWALID, A., WENTWORTH, R., “A New Approach for Allocating Buffers and Bandwidth

to Heterogeneous, Regulated Traffic in an ATM Node”, IEEE Journal on Selected Areas in

Communications, 13(6), 1995.

(31)

10

Página deixada em branco intencionalmente.

(32)

11

Capítulo 2

Simulação de Redes ATM

2.1 - Introdução

Atualmente, a simulação computacional tem sido apontada como a alternativa mais flexível

para a análise de desempenho de sistemas de comunicações [1][2][3], e em especial de redes ATM. Um

exemplo desta flexibilidade é a facilidade com que mecanismos de gerenciamento de tráfego podem ser

projetados e comparados. Outro exemplo é a dinâmica com que diferentes estratégias de modelamento

podem ser utilizadas para modelar a arquitetura e os componentes de uma rede ATM. Estes, e outros

exemplos mostram que somente a simulação computacional permite a análise de desempenho de redes

ATM a um baixo custo e com um nível de flexibilidade adequado, que não é encontrado em outras

soluções tais como métodos analíticos e redes de teste. Assim sendo, neste capítulo discutiremos os

principais aspectos da simulação computacional de redes ATM. Iniciaremos abordando a simulação de

sistemas de comunicações em geral, fazendo uma classificação das ferramentas existentes e discutindo

algumas de suas principais características. O objetivo é apresentar as características gerais dos

softwares de simulação de sistemas de comunicações. Estas características serão úteis para melhor

compreendermos os aspectos fundamentais das ferramentas de simulação de redes ATM. Em seguida,

abordaremos a simulação de redes ATM propriamente dita. Discutiremos os principais desafios que, na

nossa opinião, devem ser vencidos na simulação de redes ATM. Discutiremos também, as

características desejáveis dos softwares de simulação de redes ATM, as técnicas de simulação

utilizadas, as principais estratégias de modelamento e a simulação paralela ou distribuída de redes

ATM. Apresentaremos também algumas ferramentas de simulação destas redes, fazendo uma

comparação entre elas.

2.2 - Simulação de Sistemas de Comunicações

Inicialmente, a simulação computacional foi usada para avaliar o desempenho de componentes

individuais de um sistema de comunicações, tal como um modem, um satélite ou um receptor. Com o

(33)

12

passar dos anos, sistemas completos começaram a ser simulados. Entretanto, somente sistemas muito

caros e de alto risco eram simulados, em parte devido ao alto custo dos computadores. Hoje em dia, a

simulação computacional é utilizada em uma gama muito grande de aplicações, que vão desde o

mapeamento genético humano até a análise de investimentos financeiros em bolsas de valores. A

popularização da simulação computacional se deve principalmente à redução do custo e ao aumento da

capacidade dos computadores, bem como do desenvolvimento de sistemas operacionais mais eficientes

e simples de serem usados. Esta popularização também atingiu as ferramentas para a simulação de

sistemas de comunicações. Atualmente, tais ferramentas tem sido utilizadas não só no meio acadêmico

e empresarial, mas também em microcomputadores pessoais.

2.2.1 - Classificação das Ferramentas

Segundo Law [2] existem três tipos principais de softwares de simulação de sistemas de

comunicações:

 Linguagens Gerais de Simulação – Podem em princípio ser utilizadas para simular qualquer

sistema. Porém, algumas destas linguagens incluem conjuntos de modelos (veja seção

2.2.2.1 - ) especialmente desenvolvidos para a simulação de redes de comunicações. Talvez

a maior vantagem deste tipo de software é que ele possibilita simular qualquer tipo de rede

de comunicações, independente da sua complexidade e das suas singularidades. Entretanto,

nem sempre é possível atingir o grau de detalhamento desejado quando se utiliza este tipo

de ferramenta. Exemplos deste tipo de software que possibilitam a simulação de redes ATM

são: MODSIM III [4], SIMSCRIPT II.5 [4] e Parsec [5][6].

 Linguagens de Simulação Orientadas às Redes de Comunicações – Como o próprio nome já

diz, são direcionadas especificamente para a simulação de redes de comunicação. Dentre as

vantagens deste tipo de software podemos destacar a facilidade e a flexibilidade de

desenvolvimento de modelos. Exemplos deste tipo de software que possibilitam a simulação

de redes ATM são: OPNET Modeler [7] e TeD/GTW [8].

 Simuladores Orientados às Redes de Comunicações – São softwares que permitem simular

apenas uma classe específica de redes de comunicações. Dentre as vantagens deste tipo de

software estão a facilidade de uso e a redução do tempo e da complexidade de

(34)

13

deste tipo permitem o desenvolvimento de novos modelos. Exemplos destes simuladores

são: NIST [10][11], QUARTS-II [12], ATM-TN [13][14], CLASS [15][16], Ancles [17],

SimATM (Pennsylvania State University) [18], SimATM (Unicamp) [19][20] e

Hydragyrum (Unicamp) [21][22].

2.2.2 - Principais Características

2.2.2.1 - Modelamento

Modelamento é o processo de construir modelos de sistemas e de dispositivos reais para um

determinado ambiente de simulação, de forma que estes modelos representem o mais fiel possível o

funcionamento desses elementos diante de um certo conjunto de situações. Tipicamente, as ferramentas

atuais de simulação [3] usam um diagrama de blocos hierárquico para representar graficamente os

modelos de um determinado sistema. Neste diagrama, cada bloco funcional representa um subsistema,

que é conectado a outros blocos a fim de representar o sistema completo. Estes blocos são construídos a

partir de bibliotecas de modelos disponibilizadas junto com o software de simulação, e possuem

parâmetros de simulação e de design. Parâmetros de simulação são usados para configurar o estado de

um bloco durante a simulação como, por exemplo, a amostragem ou não de uma determinada variável

estatística, enquanto parâmetros de design são usados para configurar o valor de variáveis específicas

de um bloco, desta forma permitindo a modificação do seu comportamento. Os blocos funcionais são

representados graficamente através de ícones, que uma vez conectados, descrevem o sistema a ser

simulado.

2.2.2.2 - Gerência de Simulação

As ferramentas atuais de simulação possuem um gerente de simulação, tipicamente chamado de

kernel ou núcleo do simulador, que é responsável por acionar os blocos que descrevem um sistema a

ser simulado. Este núcleo permite que um bloco utilize os recursos computacionais disponíveis por um

intervalo de tempo dependente da técnica de simulação utilizada. Quando este bloco termina suas

tarefas, ele avisa o kernel do simulador, que por sua vez aciona outros blocos do modelo de simulação,

até que a simulação termine.

2.2.2.3 - Técnicas de Simulação

Atualmente, várias técnicas são utilizadas no desenvolvimento de softwares de simulação de

sistemas de comunicações [3]. Estas técnicas basicamente diferem na forma como os blocos do sistema

(35)

14

simulado são acionados (executados), e podem ser classificadas em três categorias: simulação orientada

pelo tempo (Time-Driven Simulation), simulação orientada por dados (Data-Driven Simulation) e

simulação orientada por eventos (Event-Driven Simulation).

2.2.2.3.1 - Simulação Orientada pelo Tempo (Time-Driven Simulation)

Nesta técnica, cada bloco do modelo de simulação é chamado uma vez a cada intervalo de

avanço do tempo de simulação (simulation clock). Ou seja, a cada incremento no tempo de simulação,

todos os blocos do sistema são executados, atualizam seus estados internos para corresponder ao tempo

atual, independente da existência ou não de alguma tarefa a ser executada. Isto torna esta técnica

bastante ineficiente do ponto de vista computacional [3]. O tempo global de simulação é atualizado

através de um incremento constante.

2.2.2.3.2 - Simulação Orientada por Dados (Data-Driven Simulation)

Nesta técnica de simulação, um bloco só é executado se todos os dados necessários para a

execução das suas tarefas já estiverem disponíveis. Desta forma, se em cada bloco do sistema simulado

for conhecida de antemão a disponibilidade de tais dados, é possível a construção de uma seqüência de

chamada de blocos antes do inicio da simulação. Caso contrário, a disponibilidade de tais dados deve

ser verificada durante a simulação e os blocos deverão ser executados dinamicamente. A principal

vantagem desta técnica é que ela minimiza o número de execuções realizadas a cada bloco. Entretanto,

em certas situações, como por exemplo em sistemas com fluxo bidirecional de dados, pode acontecer

de não ser possível definir uma seqüência de execução de blocos. Isto inviabiliza a aplicação desta

técnica para a simulação de redes de comunicações, porque neste tipo de simulação quase sempre

existem realimentações. Entretanto, esta técnica tem sido bastante usada na simulação de sistemas

ponto-a-ponto e no nível de sinais, tal como em sistemas ópticos.

2.2.2.3.3 - Simulação Orientada por Eventos (Event-Driven Simulation)

Nesta técnica de simulação os blocos agendam execuções, que são armazenadas em uma fila

com prioridades na forma de eventos (Figura 2.1). Cada evento possui um tempo de execução. Um

gerenciador de eventos (presente no gerente de simulação) retira o evento de maior prioridade (menor

tempo de execução) que se encontra na fila e executa o bloco para o qual o evento se destina. Vários

eventos podem ser agendados para o mesmo tempo de execução. Neste caso, o kernel deve executar os

eventos na ordem em que eles foram agendados, ou seja, segundo a disciplina FIFO (First-in first-out).

Toda vez que um evento é retirado da fila, o tempo global de simulação é avançado para o

tempo de execução deste evento. Tipicamente, apenas alguns blocos são chamados a cada avanço no

(36)

15

tempo de simulação. Quando um bloco é acionado, procedimentos específicos são executados. Por

exemplo, um bloco que modela um equipamento terminal pode executar um procedimento que

representa a transmissão de uma célula ATM através de um enlace até o próximo equipamento da rede

ATM. Ao término do processamento dessas funções, o fluxo da simulação é retornado para o kernel,

que retira e interpreta outro evento da fila. A simulação prossegue até que não hajam mais eventos para

serem executados, ou até que o tempo final de simulação seja alcançado.

Na Figura 2.1, os blocos A,B e C agendam eventos na fila com prioridades. O kernel retira o

evento com maior prioridade da fila, interpreta este evento e realiza a chamada do bloco a que o evento

se destina. Supondo que todos os eventos que são mostrados na figura sejam executados, o bloco A

será chamado no instante 1 segundo duas vezes, o bloco B nos instantes 0, 1 e 2 segundos, e o bloco C

nos instantes 1 e 2 segundos. Quando um bloco é executado, ele pode agendar novos eventos na fila

para instantes de tempo superiores ou iguais ao tempo atual.

Bloco A

Bloco B

Bloco C

Evento (1) Evento (1) Evento (1) Evento (0) Gerenciador de Eventos Fila de Eventos Evento (2) Evento (1) Evento (2) Executa o Bloco B (0,1,2) Executa o Bloco A (1,1) Executa o Bloco C (1,2) 1 2 4 3

1 Agendamento de eventos pelos blocos.

2 Armazenamento dos eventos na fila com prioridades.

3 Retirada do evento de maior prioridade.

4 Interpretação e execução do evento retirado da fila.

Nota: Os valores entre parênteses indicam tempo de execução em segundos.

(37)

16

A troca de informações entre blocos pode ser facilmente implementada utilizando-se a

simulação orientada por eventos. Por exemplo, um bloco pode agendar um evento para outro bloco

contendo as informações a serem trocadas. Assim, quando o kernel interpretar este evento, ele poderá

executar o bloco de destino e entregar as informações que lhe pertencem. Neste caso, o kernel funciona

como um intermediador para a troca de mensagens entre blocos.

Segundo Shanmugan [3], para a simulação de redes de comunicações e sistemas lógicos, a

técnica event-driven é mais eficiente do ponto de vista computacional do que a técnica data-driven,

devido a sua natureza assíncrona.

2.2.2.4 - Biblioteca de Modelos

Os sistemas de comunicações são representados a partir da interconexão de blocos, que

representam subsistemas. Geralmente, os blocos disponíveis fazem parte de uma biblioteca de modelos,

que é fornecida junto com as ferramentas de simulação. A utilização de bibliotecas de modelos permite

a fácil substituição dos blocos durante a fase de configuração do sistema a ser simulado.

A biblioteca de modelos pode ser implementada de duas formas: junto do kernel do simulador

ou separadamente. Na primeira forma de implementação, a biblioteca de modelos só pode ser

expandida se toda a ferramenta for recompilada. Já na segunda solução, novos modelos podem ser

incorporados à ferramenta sem a necessidade de recompilar o kernel do simulador.

2.3 - Simulação de Redes ATM

No final da década de 80, paralelamente ao desenvolvimento da tecnologia ATM, surgiram os

primeiros experimentos de simulação de redes ATM [23][24]. Tipicamente, estes experimentos

preocupavam-se somente com a simulação da arquitetura dos comutadores ATM. Logo em seguida,

surgiram simuladores capazes de simular o transporte e o processamento de células ATM em toda a

rede. No geral, estes softwares eram bastante específicos, desenvolvidos somente para a simulação de

redes ATM. Exemplos são os simuladores NIST [10], CLASS [15], SimATM (Pennsylvania State

University) [18] e SimATM (Unicamp) [19][20]. Neste mesmo período algumas linguagens gerais ou

orientadas às redes de comunicações também incorporaram modelos para a simulação de redes ATM.

Um exemplo é a ferramenta Ptolemy [25]. Com o passar do tempo, novas ferramentas de simulação

começaram a ser desenvolvidas, ampliando cada vez mais os aspectos simulados. Observando a

evolução destas ferramentas, algumas questões fundamentais podem ser levantadas: Quais são os

Referências

Documentos relacionados

Este trabalho pretende contribuir com o desenvolvimento do Turismo em Caverna, Espeleoturismo, a partir da avaliação da percepção de qualidade de serviços pelos visitantes

4.5 Conclusões: Este trabalho mostrou um modelo criado para representar uma linha de transmissão monofásica através de uma cascata de circuitos π, cujos parâmetros longitudinais

Considerando a importância do assunto, a variabilidade existente nas características físicas e a ausência de dados na literatura especializada referente a

No Capitulo 7, foi apresentada nossa proposta para o fornecimento dos servigos para tolerancia a faltas no ambiente operacional Seljuk-Amoeba. Como foi possivel observar durante

TED (Transferência Eletrônica Disponível) Pagamento de Boletos de Cobrança DOC (Documento de Ordem de Crédito). Por Operação Por Operação Por Operácão R$ 18,20 R$ 18,20

TAR REG COBR (*) QUANDO DO REGISTRO NA BAIXA POR PAGAMENTO NA BAIXA SEM PAGAMENTO Escritural Interna sem Registro 11,00 Por título registrado/pago NA BAIXA POR PAGAMENTO TAR

O objetivo deste trabalho foi avaliar épocas de colheita na produção de biomassa e no rendimento de óleo essencial de Piper aduncum L.. em Manaus