Alana Gameiro Mendes
1 UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA PROPOSTA DE ALGORITMO DE CONTROLE DE ADMISSÃO DE CONEXÕES BASEADO EM THRESHOLD PARA AS REDES IEEE Claiton Luiz Soares Maio 2009
2 UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA PROPOSTA DE ALGORITMO DE CONTROLE DE ADMISSÃO DE CONEXÕES BASEADO EM THRESHOLD PARA AS REDES IEEE Claiton Luiz Soares Dissertação apresentada à Universidade Federal de Uberlândia para obtenção do título de Mestre em Engenharia Elétrica, aprovada em 19 de junho de 2009 pela banca examinadora: Gilberto Arantes Carrijo, Dr. (UFU) Paulo Roberto Guardieiro, Dr. Orientador (UFU) Solange da Silva, Dra. (UCG) Uberlândia, Maio de ii
3 Dados Internacionais de Catalogação na Publicação (CIP) S676p Soares, Claiton Luiz, Proposta de algoritmo de controle de admissão de conexões baseado em Threshold para as Redes IEEE / Claiton Luiz Soares f. : il. Orientador: Paulo Roberto Guardieiro. Dissertação (mestrado) Universidade Federal de Uberlândia, Programa de Pós-Graduação em Engenharia Elétrica. Inclui bibliografia. 1. Redes de computação - Teses. 2. Sistemas de comunicação sem fio - Teses. I. Guardieiro, Paulo Roberto. II. Universidade Federal de Uberlândia. Programa de Pós-Graduação em Engenharia Elétrica. III. Título. CDU: Elaborado pelo Sistema de Bibliotecas da UFU / Setor de Catalogação e Classificação iii
4 PROPOSTA DE ALGORITMO DE CONTROLE DE ADMISSÃO DE CONEXÕES BASEADO EM THRESHOLD PARA AS REDES IEEE Claiton Luiz Soares Dissertação apresentada por Claiton Luiz Soares à Universidade Federal de Uberlândia como parte dos requisitos à obtenção do título de Mestre em Engenharia Elétrica. Prof. Dr. Paulo Roberto Guardieiro Orientador Prof. Dr. Alexandre Cardoso Coordenador do curso de Pós-Graduação iv
5 Dedicatória Dedico este trabalho a meu pai. Procurei por uma palavra, que tentasse representar o meu sentimento. Por ter mania de fazer cálculos: somar, subtrair, multiplicar e dividir. E pela razão de ter adquirido um raciocínio lógico e matemático, analisei e calculei a melhor palavra e a melhor forma de lhe expressar o meu sentimento. Deduzir por indução do coração junto com a alma, que a palavra é amor, e a frase é te amo. Sinto falta do seu carinho, do seu jeito, de tuas palavras, dos seus ensinamentos. Queria acordar e estar ao seu lado, mas o problema que não estou dormindo, luto por uma vida, por um futuro, para ser seu orgulho, onde quer que esteja. A única coisa que posso fazer agora é lhe presentear realizando um grande sonho teu. Por estes motivos dedico este trabalho a ele. v
6 Agradecimentos Agradeço primeiramente a Deus, pela oportunidade de fazer o mestrado e pela força e sabedoria que me auxiliou durante os meus estudos. Ao Prof. Dr. Paulo Roberto Guardieiro, pela dedicação, paciência e ensinamentos durante todo o tempo, além disso, acreditando e confiando na minha pessoa. Ao meu amigo e companheiro de laboratório, Ederson, que sempre me incentivou e me apoiou em todos os momentos em que precisei. A todos os colegas do Mestrado que me apoiaram e a todos aqueles que me ajudaram de alguma forma para a realização deste trabalho. À CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior, pelo apoio financeiro concedido. À minha família que tanto amo... vi
7 Resumo Soares, C. L., Proposta de Algoritmo de Controle de Admissão de Conexões Baseado em Threshold para as Redes IEEE , UFU, Uberlândia, Brasil, 2009, 125p. O padrão IEEE , também conhecido como WiMAX (Worldwide Interoperability for Microwave Access), é uma das tecnologias mais promissoras para o acesso banda larga sem fio (BWA Broadband Wireless Access). O padrão IEEE fornece especificações das características da camada de acesso ao meio (MAC) e física. Agrega às redes BWA algumas vantagens em relação às outras tecnologias, tal como, ampla área de cobertura, mesmo em regiões de difícil acesso ou sem qualquer infra-estrutura de rede convencional, como é o caso de algumas regiões urbanas e rurais brasileiras. O padrão IEEE foi desenvolvido com Qualidade de Serviço (QoS) em mente. Para conseguir tal objetivo, criou-se um padrão orientado a conexão, onde as várias aplicações são diferenciadas em múltiplas classes de serviços, de acordo com os parâmetros solicitados por cada aplicação. Porém, o padrão não define como deve ser implementado o algoritmo de Controle de Admissão de Conexões (CAC Connection Admission Control), que é um requisito fundamental para obtenção de QoS. O algoritmo CAC é responsável por admitir ou rejeitar uma solicitação de uma nova conexão dependendo dos recursos já alocados da rede. Desta forma, o CAC deve rejeitar solicitações de conexões que poderiam comprometer a QoS das conexões admitidas. Em vista disto, neste trabalho apresenta-se uma proposta de um algoritmo de CAC baseado em threshold para as redes IEEE Além disto, o desempenho do algoritmo de CAC proposto foi analisado através de modelagem e simulação, utilizando o simulador de redes NS-2 (Network Simulator). Para realizar esta etapa, o algoritmo de CAC proposto foi implementado no módulo WiMAX do NIST (National Institute of Standards and Technology). Os resultados obtidos demonstraram que o algoritmo de CAC é eficiente e apresentou-se capaz de prover QoS em termos de largura de banda e atraso, sob diferente cenários. Palavras-chave: IEEE , WiMAX, BWA, QoS, CAC. vii
8 Abstract Soares, C. L., Proposed Threshold-Based Connection Admission Control (CAC) Algorithm for IEEE Networks, UFU, Uberlândia, Brazil, 2009, 125p. IEEE standard, also called WiMAX (Worldwide Interoperability for Microwave Access), is one of the most promising technologies for BWA (Broadband Wireless Access) networks. The IEEE standard provides specification of MAC and physical layer. The standard adds to the BWA networks some advantages over other technologies, such as wide area of coverage, even in areas of difficult access or without conventional network infrastructure, as is the case of some urban and rural regions in Brazil. IEEE standard is developed with Quality of Service (QoS) in mind. For that purpose it was created a connection oriented standard, where different applications are differentiated into multiple classes of service, in accordance with the parameters required by each application. However, the standard does not define how to implement the Connection Admission Control (CAC) algorithm, which is a fundamental requisite for obtaining QoS. The CAC algorithm is responsible for accepting or rejecting a new connection request depending on the resources already allocated in the network. Thus, the CAC must reject requests for connections that might compromise the QoS of admitted connections. This way, this work presents the proposal of a CAC algorithm based on threshold for the IEEE networks. Moreover, the performance of the proposed CAC algorithm has been analyzed through modeling and simulation using the NS-2 (Network Simulator). To perform this step, the proposed CAC algorithm has been implemented in the WiMAX module of the NIST (National Institute of Standards and Technology). The results showed that the CAC algorithm is efficient and it is able to provide QoS in terms of bandwidth and delay, under different scenarios. Keywords: IEEE , WiMAX, BWA, QoS, CAC. viii
9 Sumário 1. INTRODUÇÃO REDES DE ACESSO BANDA LARGA SEM FIO BASEADAS NO PADRÃO IEEE Introdução Padrão IEEE Evolução do Padrão IEEE Topologia do Padrão IEEE Topologia Ponto-Multiponto (PMP) Topologia Mesh Modelo de Referência Camada MAC Formato da MAC PDU Subcamadas da MAC Subcamada de Convergência Específica Convergência de Pacotes Convergência ATM Subcamada da Parte Comum da MAC Subcamada de Segurança Associações de Segurança Camada Física Interfaces Aéreas...42 ix
10 Aquisição e Inicialização de um Canal Considerações Finais PROVISÃO DE QUALIDADE DE SERVIÇO (QOS) NO PADRÃO IEEE Introdução Qualidade de Serviço (QoS) Qualidade de Serviço em Redes Sem Fio Qualidade de Serviço no Padrão IEEE Arquitetura de Qualidade de Serviço do Padrão IEEE Teoria do Modelo de Objeto de Operação Classes de Serviço Fluxos de Serviço Mecanismo de Classificação dos Fluxos de Serviço Disciplinas de Escalonamento Exemplos de Disciplinas de Escalonamento FIFO (First In First Out) RR (Round Robin) WRR (Weighted Round-Robin) WFQ (Weighted Fair Queuing) Características Desejáveis para as Disciplinas de Escalonamento Disciplinas de Escalonamento no Padrão IEEE Propostas de Algoritmos de Escalonamento Homogêneos para o Padrão IEEE Propostas de Algoritmos de Escalonamento Híbridos para o Padrão IEEE x
11 Propostas de Algoritmos de Escalonamento Oportunistas para o Padrão IEEE Considerações Finais PROPOSTA DE ALGORITMO DE CONTROLE DE ADMISSÃO DE CONEXÕES (CAC) PARA AS REDES IEEE Introdução Controle de Admissão de Conexões Controle de Admissão de Conexões no Padrão IEEE Trabalhos Relacionados Proposta de Algoritmo de CAC Baseado em Threshold para as Redes IEEE Pseudo-algoritmo da Proposta do Algoritmo de CAC Baseado em Threshold Conclusões ANÁLISE DA PROPOSTA DE ALGORITMO DE CAC BASEADO EM THRESHOLD PARA AS REDES IEEE Introdução Modelagem e Simulação Alguns Simuladores de Rede Existentes Network Simulator Descrição de Alguns Módulos do NS para Redes IEEE Descrição da Implementação do Algoritmo de CAC Proposto no Módulo do NIST Apresentação e Análise dos Resultados Cenário xi
12 Cenário Cenário Conclusões CONCLUSÕES GERAIS REFERÊNCIAS BIBLIOGRÁFICAS ANEXO A xii
13 Lista de Figuras Figura 2.1: Topologia Ponto-Multiponto (PMP)...29 Figura 2.2: Topologia Mesh Figura 2.3: Modelo de Referência do Padrão IEEE Figura 2.4: Formato do MAC PDU [1] Figura 2.5: Formato do Cabeçalho Genérico [1]...35 Figura 2.6: Formato do Cabeçalho de Requisição de Largura de Banda [1]...36 Figura 2.7: Frame do Padrão IEEE [1]...42 Figura 2.8: Processo de Entrada na Rede Figura 3.1: Arquitetura de QoS [5]...51 Figura 3.2: Teoria do Modelo de Objeto de Operação [1] Figura 3.3: Envelope do Modelo de Autorização Provisionado [1] Figura 3.4: Envelopes do Modelo de Autorização Dinâmico [1] Figura 3.5: Mecanismo de Classificação do Padrão IEEE (uplink) [1]...58 Figura 3.6: Mecanismo de Classificação do Padrão IEEE (downlink) [1] Figura 3.7: Modo de Operação da Disciplina FIFO [12] Figura 3.8: Modo de Operação da Disciplina RR [12]...61 Figura 3.9: Modo de Operação da Disciplina WFQ [12] Figura 3.10: Taxonomia das Disciplinas de Escalonamento no Padrão IEEE [17]. 66 Figura 4.1: Processo de Adição de um Novo Fluxo de Serviço...76 Figura 4.2: Proposta de CAC Baseado em Reservas [46] Figura 4.3: Representação da Proposta de CAC baseada em Threshold...83 Figura 5.1: Diagrama de Classes Figura 5.2: Vazão das Conexões UGS, rtps e BE...95 xiii
14 Figura 5.3: Atraso Médio das Conexões rtps Figura 5.4: Atraso Médio das Conexões UGS Figura 5.5: Vazão das Conexões rtps Figura 5.6: Vazão das Conexões UGS Figura 5.7: Atraso Médio das Conexões rtps Figura 5.8: Vazão das Conexões rtps Figura 5.9: Atraso Médio das Conexões UGS Figura 5.10: Vazão das Conexões UGS xiv
15 Lista de Tabelas Tabela 3.1: Parâmetros Especificados pelo Padrão IEEE d [6]...54 Tabela 5.1: Principais Parâmetros de Simulação...94 xv
16 Lista de Abreviaturas AMC ARQ ATM AWK BE BPSK BR BRAN BS BWA CAC CBR CI CID CRC CS DAMA DCD DFS DHCP DOCSIS DRR Adaptive Modulation and Coding Automatic Repeat Request Asynchronous Transfer Mode Aho, Weinberger and Kernighan Best Effort Binary Phase Shift Keying Bandwidth Request Broadband Radio Access Networks Base Station Broadband Wireless Access Connection Admission Control Constant Bit Rate CRC Indicator Connection Identifier Cyclic Redundancy Check Subcamada de Convergência Demand Assigned Multiple Access Downlink Channel Descriptor Dynamic Frequency Selection Dynamic Host Configuration Protocol Data Over Cable Service Interface Specification Deficit Round Robin xvi
17 DSA DSA-ACK DSA-REQ DSA-RSP DSC DSD DSL EC EDF EKS ertps ETSI FDD FEBA FEC FFT FIFO FTP GloMoSim GPC GPS GPSS HCS HiperACCESS Dynamic Service Addition Dynamic Service Addition Acknowledgment Dynamic Service Addition Request Dynamic Service Addition Response Dynamic Service Change Dynamic Service Delete Digital Subscriber Line Encriptation Control Earliest Deadline First Encriptation Key Sequence extended real-time Polling Service European Telecommunications Standards Institute Frequency Division Duplexing Fair End-to-end Bandwidth Access Forward Error Correction Fast Fourier Transform First In First Out File Transfer Protocol Global Mobile Information Systems Simulation Library Grant Per Connection Generalized Processor Sharing Grant Per Subscriber Station Header Check Sequence High Performance Radio Access xvii
18 HiperMAN HT IEEE ITU LEN LoS LSB LWX MAC MBAC MIMO MMS MPEG MSB MUFSS MWFQ MWRR NCTUns NDSL NIST NLoS nrtps NS OFDM High Performance Radio Metropolitan Area Network Header Type Institute of Electrical and Electronics International Telecommunication Union Length Line of Sight Least Significant Bit Light WIMAX Medium Access Control Measurement-Based Admission Control Multiple-Input Multiple-Output Multimedia Messaging Service Motion Picture Expert Group Most Significant Bit Multi-class Uplink Fair Scheduling Structure Modified WFQ Modified WRR National Chiao Tung University Network Simulator Networks & Distributed Systems Laboratory National Institute of Standards and Technology Non Line of Sight Non-real-time Polling Service Network Simulator Orthogonal Frequency Division Multiplexing xviii
19 OMNeT++ PARSEC PBAC PDU PGPS PHS PKM PMP QAM QoS QPSK RR RSV rtps SA SAID SAP SC SCFQ SDU SFID SLA SMS SNMP Objective Modular Network Testbed in C++ Parallel Simulation Environment for Complex Systems Parameter-Based Admission Control Protocol Data Unit Packet Generalized Processor Sharing Packet Header Suppression Privacy Key Management Point to Multi-Point Quadrature Amplitude Modulation Quality of Service Quadrature Phase Shift Keying Round Robin Reserved real-time Polling Service Security Association Security Association Identifier Service Access Point Single Carrier Self-Clocking Fair Queuing Service Data Unit Service Flow Identifier Service Level Agreement Short Message Service Simple Network Management Protocol xix
20 SNR SS TDD TDM TDMA TFTP UCD UGS VBR VC VCI VINT VoIP VP VPI WF 2 Q WFQ WIMAX WLAN WMAN WPAN WRR xdsl Signal-to-Noise Ratio Subscriber Station Time Division Duplexing Time Division Multiplexing Time Division Multiple Access Trivial File Transfer Protocol Uplink Channel Descriptor Unsolicited Grant Service Variable Bit Rate Virtual Channel VC Identifiers Virtual InterNetwork Testbed Voice over IP Virtual Path VP Identifiers Worst-case Fair Weighted Fair Queuing Weighted Fair Queuing Worldwide Interoperability for Microwave Access Wireless Local Area Network Wireless Metropolitan Area Network Wireless Personal Area Network Weighted Round Robin Various Digital Subscriber Line Technologies xx
21 Capítulo 1 INTRODUÇÃO As redes banda larga sem fio estão se tornando uma alternativa viável às redes banda larga tradicionais, permitindo aos seus usuários executarem as mesmas tarefas, bem como, proporcionando aos usuários mais flexibilidade e mobilidade, não apenas dentro de suas corporações, mas também fora delas. Neste contexto, as principais tecnologias de redes sem fio: WPAN (Wireless Personal Area Network), WLAN (Wireless Local Area Network) e WMAN (Wireless Metropolitan Area Network), têm proporcionado vantagens sobre as redes cabeadas, bem como algumas desvantagens e limitações. Dentre as vantagens das redes sem fio sobre as cabeadas, pode-se destacar a facilidade de implementação, a flexibilidade dentro da área de cobertura, redução do custo agregado e a topologia dinâmica. Dentre as desvantagens em relação às redes cabeadas podem-se citar: as dificuldades para provisão de QoS (Quality of Service), as questões de segurança, a limitação de largura de banda, etc. Diante disto, o padrão IEEE foi desenvolvido com o objetivo de minimizar estes problemas. O padrão IEEE , também conhecido como WiMAX (Worldwide Interoperability for Microwave Access), especifica as características da camada física (PHY) e da camada de acesso ao meio (MAC). Este padrão foi elaborado com suporte à Qualidade de Serviço. A escolha do padrão IEEE como tema fundamental deste trabalho se deve ao fato do padrão IEEE apresentar alguns pontos em aberto, ser uma tecnologia nova e 21
22 ser uma das tecnologias mais promissoras para o acesso banda larga sem fio. Além disso, o desenvolvimento das redes banda larga sem fio proporcionou uma revolução na maneira como certos serviços são oferecidos. As redes banda larga sem fio baseadas no padrão IEEE apresentam algumas características particulares, tais como a capacidade de prover QoS, a oferta de altas taxas de dados e uma ampla área de cobertura num ambiente sem fio de rede metropolitana. Além disto, a área de cobertura do padrão IEEE é mais ampla, se comparada com as outras tecnologias sem fio, oferecendo serviços em regiões suburbanas e rurais, sem qualquer infraestrutura ou recursos de comunicação, ou seja, em regiões típicas de países subdesenvolvidos, como o Brasil. Apesar do padrão IEEE apresentar uma arquitetura que fornece suporte a QoS, deixa em aberto alguns pontos fundamentais. Em muitos aspectos, o padrão IEEE propõe diretrizes sobre o que fazer, mas deixa a cargo do desenvolvedor como fazer. O padrão IEEE apenas propõe diretrizes a serem seguidas, mas não especifica como serão implementados os mecanismos que garantam as funcionalidades especificadas. O padrão IEEE deixa em aberto dois dos principais mecanismos na provisão de QoS: o algoritmo de escalonamento e o Controle de Admissão de Conexões (CAC). Assim, os fabricantes de equipamentos em conformidade com o padrão IEEE devem implementar estes mecanismos, que são fundamentais na provisão de QoS. Na literatura encontram-se alguns trabalhos que abordam a provisão de Qualidade de Serviço nas redes IEEE Destes, a maioria trata da questão de escalonamento, com poucos visando mecanismos de CAC. Diante deste cenário, o estudo do CAC torna-se bastante motivador, atraente e empolgante. O mecanismo de CAC é responsável por gerenciar a admissão ou rejeição de conexões na rede, sendo de fundamental importância para o bom desempenho da rede como um todo. 22
23 Em uma rede sem CAC todas as solicitações de conexões são admitidas. Assim o enlace pode ser saturado, pois a rede não tem nenhum mecanismo que gerencie a admissão de novas conexões, podendo ocasionar descartes de pacotes e atrasos não aceitáveis para aplicações multimídias. Em outras palavras, o mecanismo de CAC pode ser definido como o conjunto de ações tomadas pela rede durante a fase de estabelecimento da conexão que define quando um pedido de conexão pode ser aceito ou rejeitado, dependendo das condições da rede. Caso o pedido de conexão seja aceito, o mecanismo de CAC deve garantir que a QoS das conexões admitidas não sejam prejudicadas com a admissão de uma nova conexão. Tendo em vista o número escasso de trabalhos que abordam sobre os algoritmos de CAC para as redes de acesso IEEE , o objetivo deste trabalho é apresentar uma proposta de um algoritmo de CAC para as redes de acesso IEEE O desempenho do algoritmo de CAC proposto é analisado através de modelagem e simulação. Para desenvolver esta etapa, o algoritmo de CAC proposto foi implementado em um módulo WiMAX do NS-2 (Network Simulator), desenvolvido pelo NIST (National Institute of Standards and Technology). O módulo WiMAX do NIST foi escolhido por ser amplamente utilizado pela comunidade de pesquisa e não ter qualquer mecanismo de CAC implementado. Com base nos resultados obtidos, artigos foram produzidos e submetidos a diversos congressos [66-71]. Este trabalho está organizado da maneira descrita a seguir: O Capítulo 2 aborda as principais definições do padrão IEEE e a sua evolução seguindo uma ordem cronológica. A camada física e a camada MAC são descritas neste capítulo, bem como a apresentação do modelo de referência e as subcamadas da MAC. Além disso, aspectos relativos às interfaces aéreas da camada física também são brevemente descritos, bem como as topologias de rede PMP (Point-to-Multipoint) e Mesh. 23
24 No Capítulo 3 apresenta-se a questão da QoS, desde suas bases teóricas até a arquitetura QoS definida pelo padrão IEEE , além de enfatizar dois dos principais mecanismos deixados em aberto pelo padrão IEEE : o mecanismo de escalonamento e CAC. Além disto, apresenta-se as especificações da teoria do modelo de objetos, as classes e fluxos de serviço, bem como a classificação dos fluxos de serviço do padrão IEEE Este capítulo também realiza um levantamento bibliográfico das principais disciplinas de escalonamento encontradas na literatura e destacam-se as principais características desejáveis de uma disciplina de escalonamento. E por fim, apresentam-se algumas das principais propostas de escalonamento para o padrão IEEE , seguindo a classificação de [17], em três grupos: disciplinas de escalonamento homogêneas, híbridas e oportunistas. O Capítulo 4 aborda o mecanismo de CAC e apresenta algumas das principais propostas de CAC encontradas na literatura, bem como, a descrição da proposta de um algoritmo de CAC baseado em threshold para as redes IEEE O Capítulo 5 analisa a proposta do algoritmo de CAC baseado em threshold para as redes IEEE através de modelagem e simulação. Ainda neste capítulo, são destacadas algumas das principais ferramentas de simulação e como o mecanismo de CAC foi implementado e incorporado ao simulador. E, por fim, apresentam-se as conclusões finais e os trabalhos futuros relativos ao tema abordado. 24
25 Capítulo 2 REDES DE ACESSO BANDA LARGA SEM FIO BASEADAS NO PADRÃO IEEE Introdução As redes de acesso banda larga sem fio (BWA Broadband Wireless Access) tornaram-se uma solução tecnicamente e economicamente viável para fornecer acesso a Internet para usuários em regiões urbanas e rurais. Suas principais vantagens são a facilidade de implantação, que resulta em economia de custos, bem como a capacidade de fornecer acesso a regiões remotas, regiões de difícil acesso e rurais, sem qualquer infra-estrutura cabeada. Neste capítulo, será apresentado um dos principais padrões para as redes BWA, o padrão IEEE , que é considerado uma solução atrativa para as redes banda larga sem fio. Este capítulo será organizado da seguinte forma: A Seção 2.2 descreve sucintamente o padrão IEEE A Seção 2.3 apresenta algumas recomendações do padrão IEEE Em seguida, a Seção 2.4 aborda os dois tipos de topologias suportadas pelo padrão IEEE : PMP (Point to Multipoint) e Mesh. Na Seção 2.5 apresenta o modelo de referência especificado para o padrão IEEE , enfatizando alguns detalhes da camada de acesso ao meio (MAC) e da camada física. Finalmente, na Seção 2.6 serão apresentadas as considerações finais referente a este capítulo. 25
26 2.2. Padrão IEEE O padrão IEEE é uma das tecnologias mais promissora para acesso banda larga sem fio em redes metropolitanas, com desempenho comparável ao das tecnologias tradicionais, como a cabo, DSL (Digital Subscriber Line) ou serviço E1/T1. O padrão IEEE , também conhecido como WIMAX (World Interoperability for Microwave Access) ou IEEE WirelessMAN (WMAN - Wireless Metropolitan Area Network), foi desenvolvido pelo IEEE (Institute of Electrical and Electronics Engineers) no intuito de especificar formalmente as redes de acesso banda larga sem fio para áreas metropolitanas [1]. O advento desta nova tecnologia de acesso sem fio possibilitou atender aos anseios das WMANs que necessitam de altas taxas de transmissão e precisam atender uma grande quantidade de usuários em uma ampla área de cobertura. O WIMAX Fórum [2] foi criado em julho de 2001, com o objetivo de promover a compatibilidade e interoperabilidade dos equipamentos de acesso em redes banda larga sem fio. É uma organização sem fins lucrativos, formada por importantes empresas de equipamentos e componentes, tais como, a AT&T, Fujitsu, Intel, Siemens Mobile, Nozema, dentre outras. Atualmente, o WIMAX Forum está com mais de 400 filiados. O WIMAX Forum é o equivalente, ao Wi-Fi (Wireless Fidelity) Alliance, responsável pelo grande desenvolvimento e sucesso do Wi-Fi em todo o mundo. O padrão IEEE teve a sua primeira versão aprovada no final do ano de No entanto, foi lançado um projeto de revisão do padrão IEEE REVd focando maior conformidade com os aspectos do padrão HIPERMAN (ETSI) e maior detalhamento das especificações de teste [1]. Desta forma, ele pôde ser definido como um padrão global, pois foi desenvolvido de modo a ser compatível com os padrões do ITU (International Telecommunication Union) e do ETSI (European Telecommunications Standards Institute), mais especificamente com os padrões HiperACCESS (High Performance Radio Access) e 26
27 HiperMAN (High Performance Radio Metropolitan Area Network) do projeto BRAN (Broadband Radio Access Networks) do ETSI Evolução do Padrão IEEE O IEEE Working Group [3] é o grupo responsável pelo desenvolvimento e documentação do padrão IEEE e suas recomendações. Devido às exigências que foram somadas ao padrão, várias recomendações foram elaboradas e documentadas. Desta forma, o padrão teve o seu projeto concluído em 2004 com o lançamento final do documento IEEE e suas recomendações a, b e c. A seguir serão apresentadas sucintamente, seguindo a ordem cronológica, algumas das recomendações do padrão IEEE [4] [5]: IEEE a: Foi a primeira recomendação do padrão IEEE que cobre as freqüências de operação de 2 a 11 GHz. Assim, utiliza-se uma faixa de freqüência baixa que permite que o sinal penetre nos obstáculos. Deste modo, não requer linha de visada direta (NLoS - Non Line of Sight). O padrão IEEE a tem o objetivo de competir com tecnologias que provêem acesso na última milha, tais como cable modem e xdsl (Various Digital Subscriber Line Technologies), e propõe oferecer taxas de transmissão teóricas de até 100 Mbps e alcance máximo teórico de 50 quilômetros. IEEE b: Trata questões referentes à Qualidade de Serviço, permitindo o uso de freqüências entre 5 e 6 GHz não licenciadas, e utiliza antenas fixas sem linha de visada. IEEE c: Projetado para garantir a interoperabilidade entre diferentes fabricantes, através de protocolos e especificação de testes. Aponta para um conjunto de perfis para a operação do sistema na faixa de 10 a 66 GHz. 27
28 IEEE d ou IEEE : O IEEE d (ratificado em junho de 2004) é conhecido como WIMAX Fixo ou WIMAX Nomádico (pela facilidade de remanejamento). Corresponde à atualização do padrão IEEE , que consolida as revisões dos padrões IEEE a e IEEE c em um único padrão, substituindo o padrão IEEE a como o padrão base. Entre as alterações pode-se destacar a provisão de suporte para antenas MIMO (Multiple-Input Multiple-Output), o que aumenta a confiabilidade do alcance com multipercurso. IEEE e ou IEEE : O padrão IEEE e (ratificado em dezembro de 2005) é conhecido como WiMAX Móvel. Introduz suporte à mobilidade ao padrão, apresenta compatibilidade com as especificações do padrão IEEE d e as especificações de mobilidade em WMANs. Este padrão inclui mobilidade com LoS e NLoS, em freqüências de GHz e 2-11 GHz, respectivamente. No entanto, diversas recomendações foram autorizadas desde então, e algumas se encontram em fase draft (IEEE h, IEEE i, IEEE j, etc.) e pre-draft (IEEE m). Maiores informações sobre estas recomendações podem ser encontradas em [3] Topologia do Padrão IEEE O padrão IEEE foi desenvolvido para acesso banda larga sem fio em grandes extensões. A dimensão da área de cobertura das redes IEEE depende de alguns fatores, como codificação, freqüência, topologia, etc. Contudo, a topologia da rede tem papel fundamental na provisão de acesso à última milha. O padrão IEEE define dois tipos de topologias [1]: a ponto-multiponto (PMP - Point to Multipoint) e a Mesh. 28
29 Topologia Ponto-Multiponto (PMP) Na topologia PMP a estação base (BS - Base Station) tem total controle e gerencia todo tráfego de dados dentro de sua área de cobertura (célula). Assim, quando uma estação assinante (SS - Subscriber Station) quiser se comunicar com outra terá que, obrigatoriamente, transmitir seus dados para a BS e, então, a BS encaminhará os dados à SS de destino [1]. Portanto, as redes de acesso banda larga sem fio funcionam como as redes celulares, ou seja, as SSs comunicam-se diretamente com a BS. A BS é responsável pela coordenação da comunicação com as SSs. Assim, a BS deve ser posicionada em um lugar estratégico, para fornecer alcance para várias SSs simultaneamente. Na topologia PMP, a direção do tráfego é usada para distinguir o tipo do canal de dados: canal uplink e canal downlink [1] [5]. No canal uplink o tráfego é enviado no sentido da SS para a BS, enquanto no canal downlink o tráfego é enviado no sentido inverso. A Figura 2.1 ilustra a topologia PMP. Figura 2.1: Topologia Ponto-Multiponto (PMP). 29
30 Topologia Mesh Na topologia Mesh não existe a necessidade de comunicação direta entre a BS e as SSs, logo, as SSs podem comunicar com outras SSs diretamente [1]. Nesta topologia a BS não é responsável pela coordenação da comunicação entre as SSs. Assim, não há obrigatoriedade de transmitir os seus dados pela BS, desta forma, duas SSs podem trocar informações sem intermediários, como pode ser observado na Figura 2.2. Porém, a topologia Mesh exige algoritmos de roteamento complexos, pois operam no modo ad hoc, ou seja, operam sem a necessidade de um ponto central. Figura 2.2: Topologia Mesh. Na topologia Mesh não se pode utilizar a direção do fluxo da BS para a SS, ou viceversa, para distinguir o tipo do canal de dados, devido as SSs poderem se comunicar umas com as outras [5]. Uma vantagem da topologia Mesh em relação à PMP é que ela não possui um ponto único de falha, ou seja, caso a BS falhe na topologia PMP, todas as SSs de uma determinada célula ficarão impossibilitadas de se comunicar. Por outro lado, na topologia Mesh, se houver 30
31 algum problema que impossibilite a BS de rotear o tráfego, as SSs podem transmitir os dados, se tornando uma opção de roteamento de tráfego para a célula. O padrão IEEE especifica três importantes termos para topologia Mesh: vizinho (neighbor), vizinhança (neighborhood) e vizinhança estendida (extended neighborhood). As estações com as quais o nó possui enlaces diretos recebem a denominação de vizinhos. Vizinhos de um nó formam a vizinhança e são aqueles distantes de um salto do nó. A vizinhança estendida contém, adicionalmente, todos os vizinhos da vizinhança [1] Modelo de Referência O padrão IEEE define um modelo de referência que é empregado tanto na BS quanto na SS e define as duas camadas especificadas pelo padrão IEEE : camada de acesso ao meio (MAC) e a camada física. A camada MAC é subdivida em três subcamadas: a Subcamada de Convergência Específica, a Subcamada da Parte Comum da MAC e a Subcamada de Segurança [1]. O modelo de referência do padrão IEEE é ilustrado na Figura 2.3. Figura 2.3: Modelo de Referência do Padrão IEEE
32 Camada MAC A camada MAC tem a função de gerenciar as conexões, garantir Qualidade de Serviço através de mecanismos de alocação dinâmica de recursos e atribuição de prioridades de tráfego. A camada MAC também é responsável pela multiplexação dos fluxos de tráfego em conexões, escalonamento, suporte a segurança da comunicação e suporte à topologia da rede [1]. A camada MAC do padrão IEEE basicamente provê inteligência à camada física. A camada MAC também é responsável pelo controle de acesso ao meio e pela alocação de banda. A BS concede ou aloca largura de banda através de um dos seguintes mecanismos [1] [4] [9]: GPSS (Grant Per Subscriber Station): neste mecanismo a BS concede largura de banda por SS, e é responsabilidade da SS redistribuir a largura de banda entre as suas conexões mantendo a QoS de acordo com o nível de serviço negociado. Esse mecanismo é utilizado em cenários onde existem muitas conexões por terminal, o que possibilita ajustes mais sofisticados de acordo com as necessidades de QoS nas aplicações. GPC (Grant Per Connection): a BS concede largura de banda por conexão. Assim, este mecanismo é recomendado para cenários onde existem poucos usuários por SS. Com a intenção de assegurar que as requisições das SSs sejam atendidas, a BS aloca largura de banda com o propósito específico de garantir essas requisições antes que as SSs possam efetuar suas requisições. Esse procedimento é designado de polling. Há duas formas de polling na BS [1] [5]: Unicast: Cada SS é interrogada individualmente pela BS para informar se deseja utilizar o meio para transmissão. Caso queira transmitir, a BS aloca largura de banda para o envio de mensagens de requisição. 32
33 Baseado em Contenção: A técnica de requisição de largura de banda baseada em contenção é empregada quando uma quantidade insuficiente de largura de banda é disponibilizada individualmente pelo envio de mensagens da BS para muitas SSs inativas. A alocação é feita por multicast ou broadcast para um grupo de SSs que devem disputar por uma oportunidade de enviar suas requisições de largura de banda Formato da MAC PDU A MAC PDU (Protocol data Unit) também conhecida como frame da MAC, é responsável pela troca de dados entre as camadas MAC da BS e da SS. A MAC PDU, cujo tamanho máximo é de 2048 bytes, é composta por um cabeçalho de tamanho fixo, um payload de tamanho variável e um CRC (Cyclic Redundancy Check) [1] [4] [6]. O payload e CRC são opcionais. A Figura 2.4 ilustra o formato geral da MAC PDU, as siglas MSB e LSB referem-se ao bit mais significativo (Most Significant Bit) e menos significativo (Least Significant Bit), respectivamente. Figura 2.4: Formato do MAC PDU [1]. O padrão IEEE especifica dois formatos de cabeçalhos: o cabeçalho genérico e cabeçalho de requisição de largura de banda. Os dois formatos são distinguidos pelo campo HT (Header Type), se o campo HT = 0 identifica que o formato do cabeçalho é genérico, caso o campo HT =1 indica o cabeçalho de requisição de largura de banda. O cabeçalho genérico do padrão IEEE é ilustrado na Figura 2.5. O cabeçalho genérico possui vários campos, a seguir serão apresentados os significados de cada um destes campos [1] [6]: 33
34 EC (Encriptation Control) de 1 bit indica se o payload será criptografado. Type informa que tipo de carga contém o payload. Se Type = 0, indica que o payload é composto por um sub-cabeçalho de gerenciamento de concessão, utilizado para transportar o pedido de largura de banda à BS. As SSs informam à BS suas necessidades de gerenciamento da largura de banda no sentido uplink. Assim, evita-se a transmissão de um quadro completo para solicitar largura de banda, trata-se de uma requisição do tipo piggyback, em que um quadro de dados é aproveitado para fazer a requisição. Se Type = 1, implica que o payload contém um sub-cabeçalho de empacotamento que tem a função de empacotar várias MAC SDUs em uma única MAC PDU. Se Type = 2, informa que existe um sub-cabeçalho de fragmentação, utilizado para controlar o processo de fragmentação de MAC SDUs no payload. Assim, a MAC SDU pode ser transmitida e fragmentada independentemente. A fragmentação pode ocorrer tanto na BS, bem como na SS. Se Type = 3, compreende uma expansão do subcabeçalho de fragmentação ou de empacotamento no payload. Se Type = 4, indica que o payload detém informações referentes à retransmissão de quadros (ARQ Automatic Repeat Request). E, finalmente, se Type = 5, haverá um subcabeçalho Mesh no payload. RSV (Reserved) este campo é reservado para uso futuro, contém 1 bit, no cabeçalho genérico contém dois campos RSV, como pode-se observar na Figura 2.5. CI (CRC Indicator) informa se há (CI = 1) ou não (CI = 0) um código CRC no final da MAC PDU. EKS (Encriptation Key Sequence) de 2 bits indica qual chave foi utilizada na criptografia. Sua ausência é denotada pelo campo EC = 0. 34
35 LEN (Lenght) informa o tamanho total da MAC PDU, ou seja, comprimento do quadro, incluindo CRC. CID (Connection Identifier) (16 bits) é o identificador único de cada conexão atribuído pela BS. HCS (Header Check Sequence) de 8 bits para detectar erros presentes no cabeçalho. Figura 2.5: Formato do Cabeçalho Genérico [1]. As MAC PDUs que utilizam o cabeçalho de requisição de banda não contêm payload e são utilizadas exclusivamente para requisitar largura de banda uplink para uma determinada conexão. O cabeçalho de requisição de banda é representado na Figura 2.6. Observa-se que o campo HT = 1 indicando que é um cabeçalho de requisição de banda e o campo EC = 0 devido não se ter o payload. A seguir serão detalhados os campos do cabeçalho de requisição de banda [1] [6]: Type de 3 bits informa o tipo de requisição de banda. Se Type = 0, implica que a requisição de banda será incremental. Se Type = 1, a requisição será agregada. 35
36 BR (Bandwidth Request) (19 bits) expressa a quantidade de largura de banda requerida pela SS (no sentido uplink) para transmitir um número específico de bytes. CID (Connection Identifier) (16 bits) identifica a que conexão pertence a MAC PDU. HCS (Header Check Sequence) (8 bits) detecta erros no cabeçalho. Figura 2.6: Formato do Cabeçalho de Requisição de Largura de Banda [1] Subcamadas da MAC A camada MAC é dividida em três subcamadas: a Subcamada de Convergência Específica, a Subcamada da Parte Comum da MAC e a Subcamada de Segurança. Nas próximas subseções serão apresentadas as especificações para cada uma das subcamadas MAC definidas pelo padrão IEEE
37 Subcamada de Convergência Específica A subcamada de Convergência (CS) é a subcamada superior na camada MAC, fazendo interface com a camada acima. A CS é responsável pelo mapeamento do tráfego proveniente das camadas superiores para a camada MAC [1] [5]. A subcamada de convergência classifica os dados que recebe da camada superior em fluxos de serviços e conexões, associando a eles um SFID (identificador de fluxo de serviço) e um CID (identificador de conexão), assim é possível fornecer QoS mais adequada de acordo com a necessidade de cada fluxo de serviço. Também é dever da subcamada de convergência remover informações redundantes do cabeçalho dos pacotes, tais pacotes são chamados SDUs (Service Data Units). Esta técnica é chamada de PHS (Packet Header Supression) [1] [6]. A CS necessita de múltiplas especificações para prover interface com diferentes protocolos da camada superior. Por este motivo, o padrão IEEE apresenta duas especificações para esta subcamada [1]: A Convergência de Pacotes e a Convergência ATM (Asynchronous Transfer Mode) Convergência de Pacotes A Convergência de Pacote é definida para serviços de pacotes, tais como IPv4, IPv6, Ethernet e redes locais virtuais (VLAN) [5]. A Convergência de Pacotes é responsável pelo mapeamento dos pacotes das camadas superiores para um fluxo de serviço especificado pelo padrão IEEE [1] [6]. Em outras palavras, a Convergência de Pacotes é responsável por classificar as PDUs do protocolo da camada superior na conexão apropriada. O processo de mapeamento relaciona uma MAC SDU com uma conexão, cria uma associação com as características do fluxo de serviço desta conexão. Desta forma, facilita a entrega da MAC SDU com as características apropriadas de QoS. Portanto, as PDUs recebidas da camada superior são encapsuladas no formato da MAC SDU. 37
38 Convergência ATM A Convergência ATM é definida para serviços ATM. Nas redes ATM existem dois modos de comutação: a comutação por caminho virtual (VP Virtual Path) e a comutação por canal virtual (VC Virtual Channel). No modo de comutação VP, a conexão é identificada por uma VPI (VP Identifiers), enquanto que no modo de comutação VC, a conexão é identificada por um par de VPI e VCI (VC Identifiers) [1] [5]. Na Convergência ATM, diferentes mecanismos são aplicados às células ATM baseados em sua comutação. A Convergência ATM realiza um mapeamento, e este mapeamento é realizado durante a fase de estabelecimento da conexão. Depois da conexão estabelecida, as células ATM são mapeadas para o fluxo de serviço especificado pelo padrão IEEE baseado nos seus valores VPI ou VPI e VCI dependendo do mecanismo de comutação utilizado Subcamada da Parte Comum da MAC A Subcamada de Parte Comum da MAC é a principal subcamada da camada MAC do padrão IEEE Dentre as principais funções desempenhadas, podem ser citadas [1]: o escalonamento e alocação dinâmica de recursos de transmissão, estabelecimento e manutenção das conexões, construção das MAC PDU, suporte a camada física, suporte a Qualidade de Serviço. No padrão IEEE as conexões são identificadas por identificadores de 16 bits denominado CID. Assim, podem existir no máximo conexões dentro de cada canal uplink e downlink. Na topologia PMP, durante o processo de inicialização de uma SS, três pares de conexões de gerência (uplink e downlink) devem ser estabelecidos entre as SS e BS [1] [4]: 38
39 Conexão básica: é usada para enviar pequenas mensagens de gerência urgentes entre as SSs e a BS. Conexão primária: é usada para enviar mensagens de gerência não tão urgentes e maiores, que toleram atrasos maiores. Conexão secundária: é o terceiro tipo de conexão, e pode ser utilizada opcionalmente, sendo que foi desenvolvida para facilitar a gerência das SSs. A conexão secundária de gerência é usada para enviar mensagens de outros protocolos padronizados tolerantes ao atraso, tais como DHCP (Dynamic Host Configuration Protocol) e SNMP (Simple Network Management Protocol). Além dessas três conexões de gerenciamento, também são alocadas conexões de transporte às SSs para os serviços contratados. As conexões de transporte são unidirecionais a fim de facilitar a distinção dos parâmetros de QoS nos tráfegos uplink e downlink [1] Subcamada de Segurança Segurança é um aspecto fundamental em redes de computadores, principalmente na área de redes sem fio, porque os dispositivos não estão fisicamente conectados e compartilham serviços e dados através do ar. Desta forma, são mais vulneráveis aos acessos indevidos dos dados que trafegam. Assim, as redes sem fio necessitam de mecanismos que garantam maior segurança [8]. Tendo em vista atender esse requisito, o padrão IEEE especifica uma subcamada de segurança, localizada abaixo da subcamada de Parte Comum da MAC, definindo mecanismos de autenticação, protocolos, certificados e criptografia como forma de aumentar a segurança das redes metropolitanas sem fio [1]. Ela fornece privacidade às SSs, através da encriptação das conexões estabelecidas. Além disso, a subcamada protege a BS contra o acesso não autorizado a seus serviços, através 39
40 de um protocolo de administração de chaves, de métodos de autenticação baseados em certificados digitais, e de criptografia. Mesmo assim ainda há vulnerabilidades, devido principalmente ao enlace de radiofreqüência. Neste caso, a informação pode ser interceptada e modificada mais facilmente do que a informação que trafega por uma rede cabeada. Todavia, diversas vulnerabilidades existentes no IEEE original foram eliminadas no IEEE A subcamada de Segurança emprega ainda um protocolo de gerenciamento de chave cliente/servidor autenticada, onde a BS é responsável por controlar a distribuição de chaves às SSs. Contudo, a autenticação das estações assinantes é baseada em certificados digitais adicionados ao seu protocolo de gerenciamento de chave (PKM Privacy Key Management) [1]. O certificado digital contém a chave pública da SS e o seu endereço MAC Associações de Segurança Associações de segurança (SA - Security Association) são informações de controle compartilhadas entre uma BS e uma ou várias SSs com a finalidade de proteger as conexões. O padrão IEEE especifica dois tipos de SA [1] [8]: associações de segurança de autorização e associações de segurança de dados. A função da SA de autorização é promover a autenticação dos dispositivos e com isso aumentar a segurança dos usuários da rede. As associações de segurança de dados consistem de uma seqüência de informações trocadas com a finalidade de prover confidencialidade dos dados trafegados durante a conexão. O padrão define três tipos de SA de dados: primária, estática e dinâmica. A SA de dados é do tipo primária se ela é estabelecida durante a inicialização do enlace pelas estações assinantes. A SA é do tipo estática quando configurada diretamente na estação base. A SA é do tipo dinâmica se é estabelecida e eliminada de acordo com a demanda das conexões de transporte [1]. As associações de segurança estáticas e dinâmicas podem ser compartilhadas 40
41 por múltiplas estações assinantes, pois são estabelecidas pela BS e o padrão IEEE tem suporte multicast permitindo que muitos CIDs compartilhem uma mesma associação de segurança. O padrão define que cada SA de dados é identificada através de um SAID (Security Association Identifier), o que estabelece sua unicidade [1]. A estação base assegura a confidencialidade desses dados, desta forma, cada cliente tem acesso apenas a suas associações de segurança Camada Física As principais funções da camada física são: transmissão das MAC PDUs, definição das técnicas de transmissão digital: modulação e codificação, definição de espectro, correção de erro, definição da técnica de duplexing, construção dos frames e subframes de transmissão. A camada física opera na faixa de freqüências de GHz e 2-11 GHz (IEEE a) com taxas de transmissão teóricas entre 32 e 130 Mbps, dependendo do esquema de codificação e modulação utilizado [1]. Várias técnicas de modulação digital podem ser utilizadas em sistemas de telecomunicações, devido à intensidade do sinal e a relação sinal/ruído (SNR) diminuírem em função da distância relativa à BS. Assim, a camada física do padrão IEEE suporta quatro modulações diferentes [6]: Binary Phase Shift Keying (BPSK): A modulação BPSK é uma modulação digital binária, ou seja, a modulação codifica um bit por símbolo. Quadrature Phase Shift Keying (QPSK): Diferentemente da BPSK a modulação QPSK codifica dois bits por símbolo. Quadrature Amplitude Modulation (QAM) 16-QAM : A modulação 16-QAM codifica quatro bits por símbolo. 41
42 Quadrature Amplitude Modulation (QAM) 64-QAM : A modulação 64-QAM codifica seis bits por símbolo. A camada física opera em um formato de frames, os quais são subdivididos em intervalos de tempo chamados slots físicos. Cada frame é divido em subframe downlink e subframe uplink (Figura 2.7). O subframe downlink é utilizado pela BS para a transmissão de dados e de informações de controle para as SSs. O subframe uplink é compartilhado entre todas as SSs para transmissões que têm como destino a BS [9]. Em outras palavras, a comunicação entre a BS e a SS ocorre em dois sentidos, da BS para SS e da SS para BS, respectivamente, uplink e downlink [1] [9]. Figura 2.7: Frame do padrão IEEE [1]. O padrão IEEE permite dois modos de acesso ao meio físico: duplexação por divisão de freqüência (FDD Frequeny Division Duplexing) e duplexação por divisão do tempo (TDD Time Division Duplexing) [1] [4]. No modo FDD os canais downlink e uplink operam simultaneamente em freqüências diferentes. No modo TDD os subframes uplink e downlink compartilham a mesma freqüência, porém, não é possível realizar transmissões simultâneas nos dois sentidos. Assim, cada frame TDD tem um subframe downlink seguido por um subframe uplink Interfaces Aéreas O padrão IEEE especifica cinco interfaces aéreas para a camada física: WirelessMAN-SC, WirelessMAN-SCa, WirelessMAN-OFDM, WirelessMAN-OFDMA e WirelessMAN-HUMAN [1] [17]: 42
43 WirelessMAN-SC : é baseada em uma portadora única (SC Single Carrier), opera na faixa de freqüência de GHz, projetada para suportar somente a topologia PMP. A WirelessMAN-SC provê suporte para TDD e FDD. O canal uplink é baseado em uma combinação do TDMA e DAMA (Demand Assigned Multiple Acess). O canal downlink é baseado no TDM (Time Divison Multiplexing). WirelessMAN-SCa: utiliza uma portadora única como a interface área WirelessMAN- SC, opera na faixa de freqüência de 2 11 GHz, sendo projetada para sistemas NLoS. O canal uplink é baseado no TDMA e o downlink em TDM ou TDMA. Acrescenta melhorias na estrutura dos quadros visando contornar as condições do meio de transmissão sem linha de visada direta, incluindo o esquema de codificação FEC (Forward Error Correction). WirelessMAN-OFDM: utiliza a modulação OFDM (Ortoghonal Frequency Division Multiplexing), projetada para sistema sem visada direta, com transformada de 256 subportadoras. A OFDM é uma técnica de modulação multiportadora que tem por idéia básica dividir os dados a serem transmitidos em diversos canais e transmití-los paralelamente, a taxas menores. Esta técnica é muito usada em sistemas modernos de telecomunicações e dentre as suas vantagens pode-se citar: facilidade para transmissão em caminhos múltiplos, maior resistência à interferência, ideal para condições NLoS. O uso desta interface aérea é obrigatório para bandas de freqüências não licenciadas. A sua especificação é definida tanto para o padrão IEEE como para o HIPERMAN do ETSI, o que assegura a interoperabilidade global do padrão IEEE WirelessMAN-OFDMA: Utiliza a modulação OFDM como a interface área WirelessMAN-OFDM, porém com um número maior de sub-portadoras, 2048 subportadoras. Portanto, a utilização de 2048 sub-portadoras torna a FFT (Fast Fourier 43
44 Transform) mais lenta e aumenta os requisitos de sincronização. Nesse sistema, o acesso múltiplo é oferecido através de um subconjunto de endereçamento de múltiplas portadoras para receptores individuais. Assim, as SSs podem utilizar mais de uma subportadora. WirelessMAN-HUMAN: opera nas faixas de freqüências não licenciadas 5 6 GHZ, diferencia da WirelessMAN-OFDM, por utilizar um esquema de seleção de freqüência dinâmico (DFS Dynamic Frequency Selection) para detectar e evitar interferências Aquisição e Inicialização de um Canal Uma estação assinante que deseja ter acesso a uma rede de comunicação deve passar por um processo de inicialização com a BS, o qual é ilustrado pela máquina de estados representada na Figura 2.8 [5] [7] [33]. Primeiramente, como pode ser observado no lado direito da Figura 2.8, a SS varre o espectro de freqüência downlink. Após decidir sobre que canal (ou pares de canais) irá se configurar uma conexão, a SS tenta sincronizar a transmissão downlink com a BS para detectar o preâmbulo do frame. Pelo preâmbulo a camada MAC procura por um DCD (Downlink Channel Descriptor) e um UCD (Uplink Channel Descriptor). Assim que a camada física é sincronizada e a SS obtém os parâmetros sobre o meio físico, a estação cliente pode iniciar o processo de ranging. Este processo testa o canal para definir correções de tempo e potência da transmissão. A SS deverá enviar uma rajada usando uma potência mínima e deverá tentar incrementar essa potência de transmissão se não receber a variação de resposta. Para finalizar a primeira etapa é iniciada a negociação da capacidade do canal, onde a SS a partir do DCD e UCD da mensagem Capabilities Request Message obtém informações sobre os seguintes parâmetros UL (Uplink) e DL (Downlink): tipos de modulação, esquemas de codificação, taxas suportadas e tipo de duplexagem. A BS aceita ou nega a admissão de uma SS com base nas suas capacidades [7]. 44
45 Figura 2.8: Processo de Entrada na Rede. Na segunda etapa, representada pelo lado esquerdo da Figura 2.8, a BS conduz um processo de autorização da SS para que ela possa entrar na rede, o que inclui a troca de chaves de segurança, certificação e suporte à criptografia entre a BS e a SS [33]. Após o processo de autenticação, a SS envia uma mensagem de requisição de registro da conexão para a BS e a BS envia uma resposta à solicitação de registro da SS. Em seguida, a SS inicializa o DHCP para obter um endereço IP e outros parâmetros os quais viabilizam o estabelecimento de conectividade IP com a BS. A SS usa o protocolo TFTP (Trivial File Transfer Protocol) para obter os parâmetros operacionais. A BS envia informação adicional de configuração para a SS. Finalmente, as conexões são criadas após a finalização das etapas de registro e de transferência de parâmetros operacionais [5] [7] Considerações Finais Neste capítulo apresentou-se o padrão IEEE que é uma das tecnologias mais promissoras para acesso banda larga sem fio (BWA). Além disto, descreveu-se, seguindo uma 45
46 ordem cronológica, algumas das recomendações do padrão IEEE Os dois tipos de topologias especificadas para o padrão IEEE : Topologia PMP e Mesh foram abordados. Alguns detalhes da camada MAC e da camada física especificados pelo padrão IEEE foram descritos. As três subcamadas da camada MAC: a Subcamada de Convergência Específica, a Subcamada da Parte Comum da MAC e a Subcamada de Segurança foram enfatizadas. Apresentou-se de maneira sucinta as cinco interfaces aéreas especificadas para a camada física do padrão IEEE
47 Capítulo 3 PROVISÃO DE QUALIDADE DE SERVIÇO (QoS) NO PADRÃO IEEE Introdução O avanço das redes de comunicação (LAN s, WAN s, WLAN s, WMAN s, etc) proporcionou um considerável aumento no número de usuários e aplicações. Junto a este crescimento veio a necessidade de satisfazer as exigências dos usuários. Com a intenção de prover garantias ao usuário surgiu o conceito de Qualidade de Serviço (QoS Quality of Service) para rede de computadores. Nas redes sem fio, os parâmetros de QoS são mais difíceis de serem mantidos do que nas redes cabeadas. Tal complexidade se deve a alguns fatores, como qualidade de transmissão do meio sem fio, recursos escassos de largura de banda, mobilidade das estações, etc. Diante deste cenário, o padrão IEEE foi desenvolvido com QoS em mente, surgindo como uma solução para prover QoS nas redes de acesso banda larga sem fio. Neste capítulo também será apresentado uma fundamentação teórica sobre as disciplinas de escalonamento. Devido ao fato do padrão IEEE não especificar qual disciplina de escalonamento deve ser utilizada, a escolha de um mecanismo de escalonamento eficiente é essencial para garantir que os requisitos de QoS sejam atendidos e tem grande impacto no desempenho da rede. 47
48 O texto deste capítulo será organizado da seguinte maneira: a Seção 3.2 faz uma abordagem geral sobre QoS. A Seção 3.3 apresenta os desafios da provisão de QoS nas redes sem fio. A Seção 3.4 aborda a Qualidade de Serviço no padrão IEEE Em seguida, a Seção 3.5 apresenta alguns conceitos referentes às disciplinas de escalonamento que são fundamentais na provisão de QoS nas redes de acesso IEEE Finalmente, a Seção 3.6 apresenta as considerações finais deste capítulo Qualidade de Serviço (QoS) Qualidade de Serviço é um conceito que expressa a qualidade de transmissão em redes de comunicação. Na definição da ISO [11], QoS é o efeito coletivo do desempenho de um serviço, o qual determina o grau de satisfação de um usuário do serviço. Qualidade de Serviço não faz mágica, não cria largura de banda inexistente, não corrige imperfeições físicas das redes e situações drásticas de congestionamentos causadas por projetos mal elaborados. Entretanto, fornecer garantias de QoS em uma rede é de grande importância para o sucesso de aplicações em tempo real, como videoconferência, VoIP (Voz sobre IP), etc. Estas aplicações demandam, além de grande largura de banda, um serviço diferenciado. Em algumas aplicações é preciso garantir que a transmissão de dados seja feita sem interrupção ou perda de pacotes [12]. QoS é caracterizada por um conjunto de parâmetros que traduz as expectativas dos usuários e cujos valores são estabelecidos nos contratos de nível de serviço ou SLAs (Service Level Agreement). Assim, a rede deve utilizar mecanismos para gerenciar seus recursos para que possa prover o nível de Qualidade de Serviço que o usuário deseja. Tais parâmetros são normalmente relacionados à capacidade de transmissão de dados, ao tempo consumido nas transmissões e à confiabilidade. Alguns parâmetros comumente empregados são descritos a seguir [12] [13]: 48
49 Taxa de transmissão: quantidade de dados que podem ser transmitidos por unidade de tempo, normalmente expressa em bits por segundo (bits/s) ou em múltiplos dessa unidade (Kbps, Mbps); Vazão: o número de bytes de dados transmitidos com sucesso durante um determinado período de tempo, sendo medido separadamente em cada direção dos dados, também expresso em bits/s; Atraso: representa o tempo desde o envio da mensagem pelo usuário de origem até seu recebimento pelo usuário de destino. Em outras palavras, o atraso é o intervalo de tempo entre o envio e o recebimento de uma mensagem; Variação do Atraso (jitter): variação do atraso entre as unidades de dados consecutivas; Taxas de perdas de pacotes: é razão entre a quantidade de pacotes perdidos e a quantidade de pacotes enviados. Os pacotes podem ser perdidos na rede por descarte nas filas dos nós intermediários, ou podem ser corrompidos por colisão com outros pacotes em enlaces compartilhados e ainda por ruídos eletromagnéticos no meio físico Qualidade de Serviço em Redes Sem Fio As redes de acesso sem fio e móveis revolucionaram a telefonia e também estão causando impacto cada vez mais profundo no mundo das redes de computadores. O avanço das redes sem fio irá proporcionar o acesso à infra-estrutura global a qualquer hora, desimpedido e em qualquer lugar, habilitando um novo conjunto muito interessante de serviços [12]. Porém, a provisão de QoS em redes de acesso sem fio impõe muitos desafios, devido à dinâmica do ambiente em função da mobilidade dos usuários, as interferências 49
50 externas provocam variações na capacidade do canal e na taxa de erros, e redução da força do sinal à medida que aumenta a distância entre emissor e receptor [13]. Entretanto, o ambiente sem fio requer alguns cuidados para garantir desempenho, segurança e disponibilidade: obstáculos reduzem a área de cobertura, vários usuários na mesma localidade influenciam no desempenho, e a proximidade com fontes de interferência podem inviabilizar a transmissão e recepção de sinais. Além disso, será necessário utilizar recursos de autenticação, criptografia e controle de endereço MAC para permitir a utilização da tecnologia com maior segurança Qualidade de Serviço no padrão IEEE O projeto do padrão IEEE foi desenvolvido com QoS como pauta, e para conseguir tal objetivo criou-se um padrão orientado a conexão, onde as diferentes aplicações são diferenciadas em múltiplas classes de serviços, de acordo, com os parâmetros solicitados por cada aplicação. Nesta Seção serão apresentadas algumas das características especificadas na documentação do IEEE [1] referente à provisão de Qualidade de Serviço Arquitetura de Qualidade de Serviço do padrão IEEE O padrão IEEE foi projetado para suporte a QoS, ou seja, com a habilidade de suportar diferentes níveis de serviços para tipos distintos de tráfego, incorporada naturalmente na camada MAC. Porém, o padrão definiu apenas uma arquitetura capaz de suportar QoS e não especifica uma solução completa para fornecer garantias ao serviço oferecido. A arquitetura de QoS especificada pelo padrão IEEE é ilustrada na Figura 3.1, especificando-se as classes de serviço, as mensagens de sinalização, etc, porém deixa em aberto os mecanismos de escalonamento e de Controle de Admissão de Conexões (CAC). 50
51 Figura 3.1: Arquitetura de QoS [5]. Uma disciplina de escalonamento eficiente é essencial para garantir que os requisitos de QoS sejam atendidos e tem grande influência no desempenho da rede. A Seção 3.5 apresentará alguns conceitos e propostas de disciplinas de escalonamento encontradas na literatura para o padrão IEEE O mecanismo de CAC restringe o número de usuários simultâneos presentes na rede de forma a evitar a saturação do enlace sem fio. Ele que decide se uma conexão é aceita ou rejeitada dependendo dos recursos já alocados na rede. No capítulo 4 será apresentada uma proposta de um mecanismo de CAC para as redes de acesso IEEE e algumas propostas de CAC para o padrão IEEE encontradas na literatura Teoria do Modelo de Objeto de Operação A Figura 3.2 [1] [5] apresenta os principais objetos da arquitetura de provisão de QoS especificados pelo padrão IEEE Cada objeto é representado por um retângulo que contém vários atributos. Os atributos sublinhados identificam de forma única os objetos ao qual pertencem. Os atributos opcionais são denotados por colchetes. O relacionamento entre o número de objetos é marcado ao final de cada linha de associação entre eles. Por exemplo, um 51
52 fluxo de serviço pode estar associado com 0 ou N (várias) PDUs, mas uma PDU é associada com exatamente um fluxo de serviço. O fluxo de serviço é o conceito central do protocolo MAC, sendo identificado unicamente através de um SFID (32 bits). Os fluxos de serviço podem estar tanto na direção uplink como downlink. Os fluxos de serviço ativos e admitidos são mapeados por um CID (16 bits) [1]. Figura 3.2: Teoria do Modelo de Objeto de Operação [1]. Os dados do usuário são classificados na subcamada de Convergência e submetidos ao MAC SAP (Service Access Point). A informação entregue para a MAC SAP inclui o CID que identifica a conexão através da qual a informação é entregue. O fluxo de serviço para a conexão é mapeada para a conexão MAC identificada pelo CID [1]. A classe de serviço é um objeto opcional que pode ser implementada pela BS. Ela é referenciada por um nome ASCII, que é destinado para propósitos de aprovisionamento. A classe de serviço é definida na BS para possuir um conjunto de parâmetros de serviço particular (QoS Parameter Sets). O conjunto de parâmetros de QoS de um fluxo de serviço pode conter uma referência para o nome da classe de serviço (Service Class Name) como uma macro que seleciona todos os parâmetros de QoS da Classe de Serviço. 52
53 Classes de Serviço O padrão IEEE em seu projeto inicial especificou quatro classes de serviço, as quais devem ser tratadas de forma diferenciada pelo mecanismo de escalonamento da camada MAC. A seguir elas serão apresentadas [1] [6] [9]: UGS (Unsolicited Grant Service): suporta fluxos de serviço de tempo real que geram pacotes de dados com tamanho fixo periodicamente, tal como no tráfego CBR (Constant Bit Rate). O serviço oferece concessões de tamanho fixo periodicamente. Fluxos UGS não podem utilizar slots reservados para requisição de banda. Um fluxo UGS deve especificar os seguintes parâmetros de QoS: Maximum Sustained Traffic Rate, Maximum Latency, Tolerated Jitter e Request/Transmission Policy. rtps (Real-Time Polling Service): projetada para o suporte aos fluxos de serviço de tempo real com pacotes de tamanho variável, gerados em intervalos periódicos, tais como tráfego multimídia no formato MPEG (Motion Picture Experts Group). O serviço oferece periodicamente oportunidades de requisição unicast, as quais devem satisfazer os requisitos de QoS do fluxo e permitem à SS especificar o tamanho da concessão desejada. Conexões rtps não podem utilizar slots de contenção reservados para requisição de banda. Os parâmetros Minimum Reserved Traffic Rate, Nominal Polling Interval e Tolerated Poll Jitter são as principais especificações de QoS para esta classe de serviço. Para assegurar tais parâmetros, o escalonamento ideal é muito semelhante ao definido para os fluxos de serviço UGS. nrtps (Non-real-time Polling Service): suporta tráfego não sensível ao atraso que requer concessões de largura de banda de tamanho variável regularmente, tais como as aplicações FTP (File Transfer Protocol), , SMS (Short Message Service), MMS (Multimedia Messaging Service), etc. O serviço é similar àquele oferecido pelo rtps, porém o polling unicast ocorre com menor freqüência e o fluxo pode utilizar slots de 53
54 contenção reservados para requisição de banda. A oferta periódica de oportunidades de requisição unicast na classe nrtps ocorre em intervalos de tempo mais espaçados do que na classe rtps. Tal condição assegura que o fluxo seja recebido em oportunidades de requisição mesmo ocorrendo congestionamentos na rede. Um fluxo nrtps deve informar os seguintes parâmetros de QoS: Minimum Reserved Traffic Rate, Maximum Sustained Traffic Rate, Traffic Priority e Request/Transmission Policy. BE (Best Effort): suporta tráfego de melhor esforço sem quaisquer garantias de QoS. A SS pode utilizar tanto slots unicast quanto slots de contenção para requisitar largura de banda. Os parâmetros Maximum Sustained Traffic Rate, Traffic Priority e Request/Transmission Policy são as principais especificações de QoS da classe BE. O padrão IEEE e [15] incluiu uma nova classe de serviço, denominada ertps (extended real-time Polling Service). A classe ertps é similar ao UGS, porém não há nenhum mecanismo de requisição de largura banda. Esta classe de serviço foi projetada para ser utilizada em fluxos de serviço de tempo real com pacotes de tamanho variável, como VoIP com supressão de silêncio. Os parâmetros de QoS dos fluxos de serviço ertps são os mesmos da classe rtps. Os parâmetros especificados pelo padrão IEEE para as classes de serviço são apresentados na Tabela 3.1. Classe de Serviço Tabela 3.1: Parâmetros Especificados pelo Padrão IEEE d [6]. Maximum sustained traffic rate Minimum reserved traffic rate Request/ transmission policy Tolerated jitter Maximum latency Traffic priority UGS x x x x rtps x x x x nrtps x x x x BE x x x 54
55 Fluxos de Serviço No padrão IEEE toda a definição de parâmetros de QoS é feita com base no conceito de fluxo de serviço. Toda conexão em uma rede IEEE possui um fluxo de serviço associado e especifica os parâmetros de QoS para tal conexão. Os fluxos de serviço são definidos como um fluxo unidirecional de pacotes para os quais é provido determinado nível QoS [1]. Em outras palavras, o fluxo de serviço é um serviço de transporte da camada MAC responsável pela transmissão unidirecional dos pacotes provenientes no sentido uplink e downlink. Um fluxo de serviço é caracterizado por um conjunto de parâmetros de QoS, com o objetivo de padronizar a operação entre a SS e a BS. Esses parâmetros incluem detalhes de como a SS solicita slots no sentindo uplink e o comportamento esperado do escalonador implementado na BS [1] [2]. O padrão IEEE define que os fluxos de serviços são parcialmente caracterizados pelos seguintes atributos [1] [5] [6] [8]: Identificador do Fluxo de Serviço (SFID): Um SFID é atribuído para todos os fluxos de serviço existentes. O SFID serve como o principal identificador na SS e na BS para o fluxo. Um fluxo de serviço tem no mínimo um SFID e uma direção associada. Identificador da Conexão (CID): O mapeamento para um SFID somente é realizado quando a conexão tem seu(s) fluxo(s) de serviço admitido(s). ProvisionedQoSParamSet: Um conjunto de parâmetros de QoS fornecido por mecanismos externos aos definidos no padrão IEEE , como, por exemplo, pelo sistema de gerenciamento de rede. AdmittedQoSParamSet: Define um conjunto de parâmetros de QoS para os quais a BS (e possivelmente a SS) reserva recursos. O principal recurso reservado é a largura de 55
56 banda, mas outros recursos também podem ser reservados (por exemplo, memória) para viabilizar a ativação do fluxo. ActiveQoSParamSet: Especifica um conjunto de parâmetros de QoS que define o serviço sendo atualmente provido para o fluxo de serviço. Somente um fluxo de serviço ativo pode encaminhar pacotes. Authorization Module: Uma função lógica dentro da BS que aprova ou rejeita cada mudança nos parâmetros de QoS e classificadores associados a um fluxo de serviço. Para tanto, define um envelope que limita os possíveis valores dos conjuntos de parâmetros AdmittedQoSParamSet e ActiveQoSParamSet. O relacionamento entre os conjuntos de parâmetros de QoS é ilustrado na Figura 3.3 e na Figura 3.4. O ActiveQoSParamSet é sempre um subconjunto do AdmittedQoSParamSet, que é sempre um subconjunto do envelope de autorização. No modelo de autorização dinâmico (Figura 3.4), esse envelope é determinado pelo Authorization Module (rotulado como AuthorizedQoSParamSet). No modelo de autorização provisionado (Figura 3.3) esse envelope é determinado pelo ProvisionedQoSParamSet [1]. Figura 3.3: Envelope do Modelo de Autorização Provisionado [1]. 56
57 Figura 3.4: Envelopes do Modelo de Autorização Dinâmico [1]. É interessante pensar em três tipos de fluxos de serviço [1] [5] [8]: Provisionado: Conhecido pela provisão, por exemplo, do sistema de gerenciamento de rede. Os conjuntos de parâmetros AdmittedQoSParamSet e ActiveQoSParamSet para esse tipo de fluxo são ambos nulos. Admitido: Esse tipo de fluxo de serviço possui recursos reservados pela BS para o seu conjunto de parâmetros AdmittedQoSParamSet, mas esses parâmetros não estão ativos (o ActiveQoSParamSet é nulo). Os fluxos de serviço admitidos podem ter sido provisionados ou sinalizados por algum outro mecanismo. Ativo: Esse tipo de fluxo de serviço apresenta recursos comprometidos pela BS para o seu conjunto de parâmetros ActiveQoSParamSet. Por exemplo, a BS pode estar enviando mapas contendo concessões não solicitadas para a transmissão de um fluxo de serviço UGS. O conjunto de parâmetros ActiveQoSParamSet desse fluxo não é nulo. 57
58 Mecanismo de Classificação dos Fluxos de Serviço O mecanismo de classificação dos fluxos é responsável pelo mapeamento dos pacotes a um fluxo de serviço. Assim, o mecanismo de classificação dos fluxos de serviço desempenha um papel fundamental na provisão de QoS no padrão IEEE As Figuras 3.5 e 3.6 ilustram o mecanismo de classificação no sentido uplink e dowlink, respectivamente. Depois que a aplicação efetua seu registro na rede, ocorrerá uma associação da aplicação a um fluxo de serviço através da atribuição de um identificador único ou um SFID. Cada pacote é rotulado com a atribuição de um SFID, de modo que a rede possa prover a QoS adequada. Ao enviar pacotes, as aplicações solicitam o estabelecimento de uma conexão com a rede e recebe um CID. A classificação das MAC SDUs e a atribuição de SFIDs e CIDs são realizadas na Subcamada de Convergência Específica da MAC. Portanto, os pacotes da rede de acesso IEEE incluem dois identificadores, por fluxo e por conexão, o que torna camada MAC do padrão IEEE orientada à conexão. Figura 3.5: Mecanismo de Classificação do Padrão IEEE (uplink) [1] 58
59 Figura 3.6: Mecanismo de Classificação do Padrão IEEE (downlink) [1]. O grupo de ferramentas que oferece suporte à provisão de QoS para tráfegos downlink e uplink incluem: funções de configuração e registro dos fluxos de serviço, sinalização para o estabelecimento dinâmico de QoS com base nos fluxos de serviço e nos parâmetros de tráfego, escalonamento e parâmetros de tráfego para fluxos de serviço no sentido downlink e uplink e agrupamento de propriedades do fluxo de serviço em classes de serviço a fim de agregar requisições. O canal de acesso do padrão IEEE utiliza TDM no sentido downlink e TDMA no sentido uplink. O módulo de escalonamento de pacotes aloca largura de banda para conexões em função do número de slots alocados por conexão pelo canal TDM. Este módulo também determina quando uma conexão terá permissão para transmitir, caracterizando a conexão como ativa ou inativa Disciplinas de Escalonamento As disciplinas de escalonamento definem a política de classificação e enfileiramento dos pacotes escolhidos para a transmissão na interface de saída da BS ou da SS. Em outras palavras, é o algoritmo ( disciplina ) de escalonamento que decide qual o próximo pacote será servido na fila de espera. Este algoritmo é um dos mecanismos responsáveis por distribuir a largura de banda do enlace para os diferentes fluxos. 59
60 Um algoritmo de escalonamento pode ser do tipo work-conserving ou non-work conserving [17]. No primeiro caso, o servidor trabalha sempre, isto é, havendo pacotes em espera, eles serão sempre transmitidos. No segundo caso, um nó só pode transmitir um pacote quando este se torna elegível, isto é, quando o tempo necessário para ele se manter em espera termina. Portanto, se no nó encontrarem apenas pacotes não elegíveis em espera, então o servidor permanecerá inativo. Este tipo de algoritmo de escalonamento foi projetado para aplicações que não toleram variações no atraso de transmissão. A desvantagem óbvia destes algoritmos é o desperdício de largura de banda durante os períodos em que apenas existem pacotes não elegíveis em espera Exemplos de Disciplinas de Escalonamento A seguir serão apresentadas algumas das principais disciplinas de escalonamento encontradas na literatura FIFO (First In First Out) Esta é a disciplina de escalonamento mais simples, todos os pacotes que chegam são colocados em uma fila comum e servidos pela ordem de chegada, como ilustra a Figura 3.7. Nenhum conceito de prioridade ou classe de tráfego é utilizado, todos os pacotes são tratados igualmente. Portanto, existe apenas uma única fila de saída, onde os pacotes recebidos são armazenados e enviados na mesma ordem em que chegaram [12]. Quando os pacotes encontram a fila cheia são descartados, desta maneira, estes pacotes descartados são perdidos. Como a disciplina FIFO trata todos os pacotes de maneira igual, não é possível prover diferentes níveis de QoS para fluxos distintos. Nesta disciplina as fontes de tráfego mal comportadas podem consumir toda a largura de banda disponível. Assim, tráfegos em rajada podem causar atrasos inaceitáveis em tráfegos sensíveis a atraso e 60
61 pacotes pertencentes a tráfegos de maior prioridade podem ser perdidos devido ao overflow na fila, provocados possivelmente pelos tráfegos de menor prioridade RR (Round Robin) Figura 3.7: Modo de Operação da Disciplina FIFO [12]. No algoritmo RR seleciona-se o tráfego através de uma forma rotativa. Assim, o algoritmo percorre as classes presentes na fila, servindo um pacote de cada classe que contenha pelo menos um representante na fila [12]. Em outras palavras, o sistema seleciona um pacote de cada fila de espera de maneira rotativa. Este algoritmo também é muito simples, porém favorece os fluxos que contêm pacotes com maior comprimento, pois o pacote é servido independentemente do seu comprimento. Na Figura 3.8 apresenta-se uma abstração da forma que o algoritmo trabalha. Neste caso, atribuiu-se duas classes de serviço, sendo que o pacote da classe com a coloração verde é servido primeiramente que o segundo pacote da classe com a coloração vermelhada, devido à função de rotatividade do algoritmo RR, mesmo que o segundo pacote da classe com coloração vermelha tenha chegado primeiro, servindo assim um pacote de cada classe [12]. Figura 3.8: Modo de Operação da Disciplina RR [12]. 61
62 WRR (Weighted Round-Robin) A disciplina de escalonamento WRR define várias filas de espera com prioridades distintas, cujos fluxos de serviço são classificados e destinados a uma determinada fila de espera [12]. O tráfego é selecionado de forma rotativa com pesos. Dessa forma, em contraste com a disciplina de escalonamento RR que favorece fluxos com pacotes de maior comprimento, o WRR serve os pacotes de tamanho variável sem prejudicar os pacotes de menor tamanho e atribui uma melhor distribuição da largura de banda a cada fila de espera WFQ (Weighted Fair Queuing) O algoritmo WFQ, que é também denominado de Packet Generalized Processor Sharing (PGPS), opera com a mesma filosofia do algoritmo GPS (Generalized Processor Sharing), ou seja, WFQ é uma aproximação baseada em pacote do algoritmo GPS [14]. GPS é um algoritmo idealizado que assume que um pacote pode ser dividido em bits e cada bit pode ser escalonado separadamente. WFQ é uma aplicação prática do GPS conforme atribuem tempos finais para pacotes e seleciona pacotes na ordem crescente dos seus tempos finais. A WFQ diferencia do algoritmo GPS em dois aspectos [14]: A WFQ emula o algoritmo GPS, porém as filas têm pesos diferentes. A ponderação permite que cada uma das conexões obtenha uma porção ponderada da largura de banda do canal; Os tempos de finalização (ou tempos virtuais de término) com que se marca cada pacote de uma conexão, corresponde ao tempo em que esse pacote deveria abandonar a fila, segundo o estabelecido por uma disciplina GPS. No WFQ é necessário calcular o instante em que o pacote deixaria o servidor num sistema GPS. Os pacotes vão posteriormente ser servidos por ordem destes instantes de partida. A Figura 3.9 apresenta uma ilustração do modo de operação da disciplina WFQ, observa-se que os pacotes que chegam são classificados e enfileirados por classe em 62
63 diferentes filas. O escalonador atende de modo cíclico as filas. Os pesos de cada fila são denotados pelo valor de w i. Figura 3.9: Modo de Operação da Disciplina WFQ [12]. Existem outros algoritmos de escalonamento que são variantes do WFQ, dentre estes, podem-se citar o Self-Clocking Fair Queuing (SCFQ) e o Virtual Clock (VC) Características Desejáveis para as Disciplinas de Escalonamento Uma disciplina de escalonamento desempenha um papel fundamental para garantir que os requisitos de QoS sejam atendidos e tem grande influência no desempenho da rede. Em [17] citam-se algumas das características que tais disciplinas têm que apresentar para que elas consigam satisfazer tais exigências: Flexibilidade: O algoritmo de escalonamento deve ser capaz de suportar usuários com diversos requisitos de QoS e também satisfazer suas exigências. Idealmente, o projeto de um algoritmo de escalonamento deve ser flexível o suficiente para que necessite de mudanças mínimas, quando for utilizado em diferentes redes ou até mesmo em uma tecnologia diferente. Simplicidade: O algoritmo de escalonamento deve ser simples. Neste sentido, ele deve apresentar uma simplicidade conceitual que permita realizar uma análise controlável do algoritmo de tal forma que a análise da distribuição ou o pior caso de determinados parâmetros, tais como atraso e vazão, possa ser analisado. A simplicidade de implementação deve permitir a utilização eficiente do algoritmo em larga escala. 63
64 Proteção: Um algoritmo de escalonamento precisa ser capaz de proteger os usuários bem-comportados de fontes de dados variáveis, tais como aquelas que geram tráfego de melhor esforço (BE). Após a admissão na rede, os usuários negociam um acordo de nível de serviço (SLA) (por exemplo, um usuário irá especificar a taxa de pico e a taxa média de tráfego). Quando uma conexão não suportar o SLA, pode provocar flutuações do tráfego na rede. Neste caso, o algoritmo de escalonamento tem que garantir que tais flutuações não afetem o comportamento das outras conexões na rede. Justiça: Além de satisfazer os requisitos de QoS do usuário, o algoritmo de escalonamento deve garantir que um nível razoável de justiça seja mantido entre os usuários. Utilização do Enlace: O algoritmo de escalonamento é requerido para alocar largura de banda entre os usuários, de tal maneira que maximize a utilização do enlace. O algoritmo de escalonamento precisa garantir que os recursos não sejam alocados para usuários que não tenham dados suficientes para transmitir, evitando desperdício de recursos Disciplinas de Escalonamento no Padrão IEEE No padrão IEEE , um fluxo de serviço com os parâmetros de QoS é gerado quando uma requisição de conexão é concedida. O escalonador implementado na BS calcula os requisitos de atraso e vazão para o tráfego downlink e uplink, e provê as concessões e polls em intervalos de tempos adequados. O tráfego downlink é realizado através de broadcast, onde o escalonador monta e enfileira as rajadas de acordo com os parâmetros de QoS dos frames. O escalonamento no sentido uplink utiliza um esquema de concessão e polls mais complexo do que no sentindo downlink, pois exige coordenação entre a BS e cada SS 64
65 individualmente. Os algoritmos de escalonamento na SS realizam a distribuição da alocação da largura de banda concedida pela BS entre suas conexões. Neste mecanismo, não é necessário que a BS conceda largura de banda para cada conexão separadamente; este esquema é denominado de concessão de banda por estação assinante (GPSS). Contudo, o algoritmo de escalonamento implementado na SS pode ser diferente do implementado na BS. Porém, quando o mecanismo de concessão de banda por conexão (GPC) é utilizado, não necessita de um algoritmo de escalonamento na SS para decidir a alocação de largura de banda entre suas conexões, pois a BS concede banda por conexão. O padrão IEEE especifica um conjunto de parâmetros e funções para prover QoS, tais como sinalização, estabelecimento de conexão, classificação dos fluxos (UGS, rtps, nrtps, BE) e dentre outras, porém deixa em aberto qual disciplina de escalonamento deve ser usada. Uma disciplina de escalonamento eficiente é essencial para garantir que os requisitos de QoS sejam atendidos e tem grande influência no desempenho da rede. Diante da diversidade de disciplinas de escalonamento encontradas, em [17] elas são classificadas em três grupos (Figura 3.10): Algoritmos de escalonamento homogêneos: são os algoritmos originais que foram propostos para as redes cabeada que são utilizados no padrão IEEE , com o objetivo de satisfazer os requerimentos de QoS para as diferentes classes de serviço. Algoritmos desta categoria não consideram a questão da qualidade do canal. Algoritmos de escalonamento híbridos: esta categoria contém algoritmos que usam a combinação de dois ou vários algoritmos de escalonamento propostos para as redes cabeadas na tentativa de satisfazer os requisitos de QoS para as diferentes classes de serviço. Alguns algoritmos desta categoria abordam a questão da variação da condição do canal. 65
66 Algoritmos de escalonamento oportunistas: os algoritmos nesta categoria exploram primeiramente a variabilidade das condições do canal. Os algoritmos desta categoria também satisfazem os requerimentos de QoS e mantêm justiça entre as SSs. Figura 3.10: Taxonomia das Disciplinas de Escalonamento no Padrão IEEE [17] Propostas de Algoritmos de Escalonamento Homogêneos para o Padrão IEEE As disciplinas WRR e DRR (Deficit Round Robin) são propostas e avaliadas para redes IEEE em [20]. A disciplina WRR foi avaliada apenas no sentido uplink. Os pesos foram atribuídos em função das prioridades das classes de serviço, assim as classes com maior prioridade recebiam valores mais altos, por exemplo, para classe rtps atribuiu-se valor mais alto em comparação com os pesos das classes nrtps e BE. A disciplina DRR foi empregada no sentido downlink. Em [22] avalia-se o desempenho da disciplina EDF (Earliest Deadline First) nas redes IEEE A EDF é uma disciplina work-conserving originalmente proposta para aplicações de tempo real em redes de área de cobertura extensa. A disciplina atribui um prazo para cada pacote e aloca largura de banda para a SS que tem o pacote com o primeiro prazo. 66
67 O prazo pode ser atribuído para os pacotes da SS baseado nos requerimentos de atraso máximo nas SSs. A disciplina EDF é adequada para as classes de serviço que tenham requerimentos de atrasos rigorosos. Assim, os pacotes das classes UGS e rtps serão escalonados primeiramente que os pacotes das classes nrtps e BE. A disciplina escalona os pacotes das classes nrtps e BE somente se não existir pacotes das classes UGS e rtps. Portanto, uma deficiência desta disciplina é se o tráfego originado dos fluxos UGS e rtps aumenta, os pacotes das classes nrtps e BE não serão escalonados. A disciplina de escalonamento WFQ (Weighted Fair Queuing) também é analisada em [22] no sentindo uplink. O desempenho da disciplina WFQ é comparado com a disciplina WRR. O seu desempenho foi superior na presença de pacotes de tamanho variável. Em [23] um modelo hierárquico para o escalonamento de pacotes baseado na proposta de Bennet e Zhang [24] é proposto. O modelo é composto por três servidores de escalonamento: um servidor de escalonamento hard-qos, um servidor de escalonamento soft- QoS e um servidor de escalonamento best effort. Todos os servidores implementam a disciplina WF 2 Q (Worst-case Fair Weighted Fair Queuing) no sentindo uplink [25]. Em [26] a disciplina de escalonamento WF 2 Q foi avaliada no sentido downlink nas redes de acesso IEEE Algumas técnicas de compensação de erro foram adicionadas na disciplina WF 2 Q. O algoritmo de escalonamento proposto tem o objetivo de preservar a diferenciação de QoS e a justiça no tráfego downlink Propostas de Algoritmos de Escalonamento Híbridos para o Padrão IEEE Em [27] os autores propõem um esquema de escalonamento híbrido que combina os algoritmos de escalonamentos EDF, WFQ e FIFO. A alocação de largura de banda é realizada da seguinte maneira: todas as SSs que geram fluxos de serviço com prioridade alta alocam largura de banda até que elas não tenham quaisquer pacotes para serem enviados. O algoritmo 67
68 EDF é usado pela classe rtps, WFQ para a classe nrtps e FIFO para a classe BE. Além do algoritmo de escalonamento, é proposto um mecanismo de policiamento. Todos estes componentes juntos consistem em uma arquitetura de QoS. A desvantagem desta proposta é que as SSs que geram fluxos de serviço com prioridades menores irão essencialmente sofrer na presença de um número alto de SSs que geram fluxos com prioridades maiores, devido ao rigoroso mecanismo de alocação de banda. Um esquema híbrido que utiliza EDF para a classe rtps e WFQ para as classes nrtps e BE é proposto em [28]. Este esquema difere do especificado em [27], de duas maneiras. Primeiro, o algoritmo WFQ é usado nas SSs de ambas as classes, nrtps e BE. Segundo, a alocação de largura de banda não é feita de maneira estritamente rigorosa. Apesar dos detalhes da alocação de banda não serem especificados, é sucintamente mencionado que a largura de banda é alocada entre as classes de maneira justa. Porém, a desvantagem desta proposta é utilizar a disciplina WFQ, que apresenta uma alta complexidade computacional, para os fluxos BE que não exigem nenhuma garantia de QoS. Uma arquitetura denominada de MUFSS (Multi-class Uplink Fair Scheduling Structure) foi proposta para satisfazer os requerimentos de atraso e vazão das múltiplas classes de serviço do padrão IEEE em [29]. Neste trabalho apresentam-se duas propostas de disciplinas de escalomento: a MWRR (Modified WRR) e a MWFQ (Modified WFQ) baseadas nas disciplinas WRR e WFQ, respectivamente. A disciplina MWFQ é utilizada para escalonar os pacotes das classes UGS e rtps, a MWRR para escalonar os pacotes da classe nrtps e a FIFO para escalonar os pacotes da classe BE. Utiliza-se o modo de concessão de banda GPSS; assim, os escalonadores também são implementados nas SSs para alocar a largura de banda entre suas conexões. 68
69 Propostas de Algoritmos de Escalonamento Oportunistas para o Padrão IEEE Os algoritmos oportunistas propostos para o padrão IEEE exploram a variação da qualidade do canal dando prioridade para as SSs com melhor qualidade de canal, ao mesmo tempo em que tenta satisfazer os requisitos de QoS para tráfego de múltiplas classes. Em [31] propõe-se uma extensão oportunista da disciplina DRR como proposta para satisfazer as exigências de limite de atraso das múltiplas classes de serviço do padrão IEEE Em [32] apresenta-se uma extensão oportunista das disciplinas WRR e RR. Os algoritmos são oportunistas no sentido de selecionarem as SSs com o perfil de rajada mais robusto. Estes algoritmos também são eficazes para as SSs com as menores prioridades na presença de um grande número de SSs com maiores prioridades. Um algoritmo de escalonamento para sistema OFDMA com uma estrutura de quadro TDD para tráfego uplink e downlink no padrão IEEE é apresentado em [30]. Um problema de otimização é primeiramente formulado para a alocação de largura de banda para as SSs. A alocação de largura de banda entre os serviços de escalonamento é baseada na prioridade, similar ao algoritmo híbrido proposto em [27]. Mais especificamente, a BS tenta satisfazer os requisitos das conexões UGS, em seguida, das conexões rtps e nrtps. Finalmente, qualquer largura de banda residual é distribuída entre as conexões BE Considerações Finais Neste capítulo apresentou-se a importância da QoS na redes de computadores e alguns mecanismos de provisão de QoS nas redes IEEE Uma das vantagens do padrão IEEE é ser orientado a conexão; assim, os pacotes da rede de acesso IEEE incluem dois identificadores, um por fluxo e um por conexão. O padrão IEEE foi desenvolvido com a intenção de prover QoS para os diferentes tipos de aplicações, especificando várias 69
70 classes de serviço (UGS, rtps, nrtps e BE). Apesar do padrão IEEE apresentar um conjunto de parâmetros e funções para prover QoS, não especifica qual disciplina de escalonamento deve ser utilizada. Neste capítulo também apresentou-se alguns conceitos referentes às disciplinas de escalonamento e algumas considerações sobre a importância das disciplinas de escalonamento na provisão de QoS nas rede de acesso IEEE Diversas propostas são encontradas na literatura referentes a este tema. Neste capítulo abordaram-se algumas destas propostas, seguindo a classificação de [17], em três grupos: disciplinas de escalonamento homogêneas, híbridas e oportunistas. 70
71 Capítulo 4 PROPOSTA DE ALGORITMO DE CONTROLE DE ADMISSÃO DE CONEXÕES (CAC) PARA AS REDES IEEE Introdução No capítulo 3 foi descrito que apesar do padrão IEEE ter sido desenvolvido com QoS em mente, deixou em aberto dois dos principais mecanismos na provisão de QoS: os mecanismos de escalonamento e o CAC. Todavia, a maioria dos trabalhos encontrados na literatura enfatizam apenas a questão do escalonamento, enquanto poucos destes trabalhos abordam a questão do CAC. Alguns trabalhos também abordam propostas de algoritmos de escalonamento juntamente com algoritmos simples de CAC, porém estes algoritmos de CAC não conseguem atender os requisitos mínimos dos fluxos de serviço para prover QoS a eles, principalmente para os fluxos de serviço típicos de aplicações em tempo real, que são sensíveis ao atraso. Em vista disto, neste capítulo será apresentada uma proposta de algoritmo de CAC baseado em threshold para as redes IEEE O texto deste capítulo será organizado da seguinte forma: A Seção 4.2 realiza uma abordagem sobre o mecanismo de CAC. A Seção 4.3 apresenta algumas questões importantes 71
72 do mecanismo de CAC no padrão IEEE , enfatizando que o padrão especifica uma arquitetura de QoS, porém não define como o mecanismo de CAC deve ser implementado. A Seção 4.4 aborda algumas propostas de CAC encontradas na literatura para o padrão IEEE Em seguida, na Seção 4.5 apresenta-se o mecanismo de CAC proposto. Finalmente, na Seção 4.6 as considerações finais deste capítulo são apresentadas Controle de Admissão de Conexões Em redes de comunicação uma solicitação de conexão é qualquer requisição para utilizar recursos da rede para diversos serviços, tais como voz, vídeo, e web browsing. Cada solicitação de conexão possui suas características e requisitos que devem ser atendidos para ter o mínimo de QoS. Uma solicitação de conexão será aceita ou rejeitada dependendo das condições da rede. O mecanismo que gerencia a admissão ou rejeição de conexões é conhecido como Controle de Admissão de Conexões (CAC - Connection Admission Control) e seu bom funcionamento é de fundamental importância para o bom desempenho da rede como um todo. Em outras palavras, o CAC pode ser definido como o conjunto de ações tomadas pela rede durante a fase de estabelecimento da conexão que define quando um pedido de conexão pode ser aceito ou rejeitado dependendo das condições da rede [34]. Os mecanismos de CAC e policiamento são necessários para assegurar a utilização justa e eficiente da rede, principalmente em aplicações multimídias devido apresentarem tráfego de natureza variável [9]. O policiamento protege a rede de tráfegos que violam os parâmetros negociados durante o estabelecimento da conexão. O mecanismo de CAC restringe o número de usuários simultâneos na rede de forma a evitar a saturação do enlace. O esquema de CAC define se uma conexão é aceita ou rejeitada dependendo dos recursos da rede já alocados. 72
73 Um mecanismo de CAC eficiente deve atender vários requisitos para suportar toda a flexibilidade inerente dos diferentes tipos de tráfego e infra-estruturas de rede. Entre estes requisitos, podem ser citados: O tempo de resposta deve ser tal que o mecanismo de CAC possa tomar uma decisão em um curto intervalo de tempo; Deve existir uma margem de segurança de modo a garantir que os parâmetros de QoS negociados sejam satisfeitos quando todas as fontes estiverem se comportando como o negociado durante o contrato feito no estabelecimento da conexão; É interessante ao esquema de CAC possuir um mecanismo de policiamento associado para verificar a conformidade entre o tráfego negociado e o real, de modo a evitar que um tráfego excessivo na rede possa prejudicar a QoS das conexões admitidas na rede; O mecanismo de CAC deve suportar os tráfegos com taxa variável. Na literatura encontram-se duas importantes abordagens referentes ao controle de admissão de conexões [63] [64] [65]: o controle de admissão baseado em parâmetros (PBAC - Parameter-Based Admission Control) e baseado em medidas (MBAC - Measurement-Based Admission Control). Os métodos baseados em parâmetros utilizam descrições de tráfego previamente estabelecidas para calcular os recursos de rede disponíveis e decidir sobre a admissão de novas conexões. As descrições de tráfego seguem modelos determinísticos ou estocásticos, ou seja, a caracterização das conexões pode seguir modelos determinísticos ou estocásticos. Os métodos PBAC geralmente oferecem garantias mais restritas de QoS (em termos de atraso e perdas de pacotes), baixo custo computacional e não maximizam os níveis de 73
74 utilização da rede. Em [63] [64] os autores identificam dois problemas do método PBAC, sendo a dificuldade de se caracterizar o tráfego de fontes com comportamento em rajadas, podendo ocorrer erros que superestimam ou subestimam a necessidade real de recursos e a dificuldade de policiar este tráfego estatisticamente modelado para evitar que utilize mais recursos do que foi negociado na ocasião da admissão. Os métodos baseados em medidas não requerem uma caracterização precisa do tráfego, ou seja, não requerem uma especificação de tráfego muito precisa para exercer sua função. O MBAC não necessita guardar informações sobre as conexões já admitidas para avaliar a quantidade de recursos disponível na rede. A quantidade de recursos é estimada usando medidas realizadas diretamente sobre o tráfego presente na rede a cada instante. O processo de admissão de uma nova conexão é realizado através da comparação dos parâmetros da nova conexão com as medidas de cada instante da rede. Uma vantagem que se pode citar dos métodos MBAC em comparação aos métodos PBAC, é que os métodos MBAC amenizam os problemas citados acima com relação à imprecisão da caracterização das conexões, porém diminui a capacidade do controle de admissão de oferecer garantias absolutas a aplicações pouco tolerantes às variações do atraso e da taxa de perdas. Em [63] [64] apresentam-se algumas importantes questões a serem consideradas na elaboração dos algoritmos de MBAC: o risco de erros de estimativa podendo provocar erros nas decisões de admissão, a influência da dinâmica de chegada e partida de fluxos nessas estimativas e a quantidade de informação sobre o "passado" dos fluxos a ser usada no cálculo. Os dois componentes básicos do MBAC são: O mecanismo de medição: é utilizado para estimar a carga atual da rede. Em [63] [64] citam-se três diferentes técnicas de mecanismos de medição: a janelas 74
75 de tempos (Time-Window), amostras de pontos (Point Samples) e média exponencial (Exponencial Averaging); O algoritmo de decisão: é usado para decidir se uma nova conexão será ou não admitida. Em [63] [64] apresentam-se quatro algoritmos de decisão: soma simples (Simple Sum), soma medida (Measured Sum), região de aceitação (Acceptance Region) e banda equivalente (Equivalent Bandwidth). Normalmente, nas redes sem fio os recursos de radio são escassos e caros. Portanto, o uso eficiente de recursos de radio tem sido uma área de pesquisa constante em redes de comunicação sem fio. Os principais objetivos dos algoritmos de CAC nas redes sem fio são: fazer o melhor uso dos recursos de radio disponíveis, assegurar que os requisitos de QoS de todas as conexões admitidas sejam satisfeitos e evitar a saturação do enlace Controle de Admissão de Conexões no Padrão IEEE O padrão IEEE foi desenvolvido com QoS em mente, e especifica um conjunto de parâmetros e funções para prover QoS, tais como sinalização, estabelecimento de conexão, classificação dos fluxos, porém deixa em aberto como o mecanismo de CAC deve ser implementando. O padrão apenas define que a subcamada de Parte Comum da MAC é a responsável pelo esquema de CAC. O padrão IEEE especifica que a BS ou a SS ao criar uma nova conexão associa esta conexão com um dos fluxos de serviço [1]. Para realizar o gerenciamento dos fluxos de serviço existem três tipos de mensagem [1] [4] [9]: DSA (Dynamic Service Addition) para adição de novo fluxo, DSC (Dynamic Service Change) para modificação dos parâmetros do fluxo de serviço e a DSD (Dynamic Service Delete) para excluir um fluxo de serviço existente. O processo de admissão de novo fluxo será realizado através de um processo de três vias (three-way handshake), para realizar tal processo definem-se três mensagens de gerenciamento DSA (Figura 4.1): DSA-REQ 75
76 (Dynamic Service Addition Request), DSA-RSP (Dynamic Service Addition Response) e DSA-ACK (Dynamic Service Addition Acknowledgment). Figura 4.1: Processo de Adição de um Novo Fluxo de Serviço. Na Figura 4.1 apresenta-se o processo de admissão de uma nova conexão, utilizando as mensagens de DSA. A seguir, apresenta-se com mais detalhes o processo de admissão de uma nova conexão na rede: Primeiramente, a SS envia uma solicitação para a BS através da mensagem DSA-REQ; A BS recebe a mensagem DSA-REQ da SS, em seguida o mecanismo de CAC utiliza as informações contidas na mensagem DSA-REQ para decidir ser admite ou não a nova conexão; Se a rede não tiver recursos disponíveis, a solicitação da SS será rejeitada. Para informar a SS que a solicitação foi rejeitada, a BS envia uma mensagem DSA- RSP para SS informando que a solicitação foi rejeitada; Caso a rede tenha recursos disponíveis e atenda as exigências da solicitação, a solicitação é aceita, e a nova conexão é admitida. A BS envia uma mensagem DSA-RSP para a SS informando que a solicitação foi aceita; A SS por final envia uma mensagem DSA-ACK para a BS confirmando o processo de admissão da nova conexão, caso a conexão seja admitida. 76
77 O padrão IEEE especifica duas formas de concessão de largura de banda, concessão por conexão (GPC) e por estação assinante (GPSS) [1]. Quando a BS utiliza o modo de concessão GPC, o mecanismo de CAC realiza o controle por conexão separadamente. Em contraste, quando utiliza modo de concessão GPSS, o mecanismo CAC realiza o controle por SS; neste caso, o mecanismo de escalonamento implementado na SS que é responsável pela distribuição de largura de banda entre as conexões na SS. Na Seção seguinte serão apresentas algumas propostas de CAC encontradas na literatura para o padrão IEEE Trabalhos Relacionados Em [37] [38] apresenta-se um mecanismo de CAC muito simples baseado apenas na solicitação de banda. Neste mecanismo, a decisão se uma conexão é aceita ou rejeitada é baseada na largura de banda disponível do enlace. Se tiver largura de banda disponível e esta largura de banda for maior que a largura de banda solicitada pela nova conexão, a nova conexão é aceita, caso contrário, é rejeitada. Em [3] apresenta-se uma proposta de um algoritmo de CAC para o padrão IEEE , no modo de operação PMP, usando concessão de largura de banda para as SSs (GPSS). O algoritmo implementado na BS requer informação sobre os atrasos dos fluxos na rede para prover garantias em termos de largura de banda e atraso. Os autores denominam esta proposta de predictive CAC. O algoritmo verifica se a admissão do novo fluxo causará impacto nos outros fluxos já admitidos na rede, seguindo dois passos: verificação de largura de banda disponível e controle de atraso para os fluxos da classe de serviço UGS e rtps. O algoritmo de CAC, com base nestas informações decide se admite ou rejeita a solicitação de um novo fluxo. 77
78 Em [40] os autores propõem um algoritmo de CAC que admite uma nova conexão somente se conseguir manter as garantias de QoS negociadas para todas as outras conexões admitidas e para a nova conexão. O algoritmo de CAC proposto decide se admite uma nova conexão dependendo das condições descritas abaixo: Conexões UGS: se a solicitação for do tipo UGS, ela deverá satisfazer a seguinte condição: a solicitação de slots baseada na máxima taxa dentro de seu intervalo de concessão nominal deverá ser menor ou igual ao número total de slots que podem ser acomodados pelo tolerated grant jitter baseada na largura de banda; Conexões rtps: se a solicitação for do tipo rtps, ela deverá satisfazer a seguinte condição: o número de slots dentro de um intervalo de polling nominal com suas mínimas taxas deverá se menor ou igual que o número total de slots que podem ser acomodados dentro de um tolerated polling jitter pela largura de banda total; Conexões nrtps: é similar às conexões rtps exceto que os valores dos parâmetros do intervalo de polling nominal e tolerated polling jitter são maiores que os rtps devido a baixa prioridade em comparação com as conexões rtps; Conexões BE: o algoritmo BE não requer qualquer garantia, o algoritmo verifica se existem slots livres disponíveis e os aloca para as conexões BE. Em [41] apresenta-se uma proposta de uma arquitetura de QoS para o padrão IEEE A arquitetura proposta consiste de um algoritmo de CAC e um algoritmo de escalonamento hierárquico. Ambos os algoritmos de escalonamento e CAC são baseados no esquema de codificação e modulação adaptativa (AMC Adaptive Modulation and Coding), ou seja, o tempo necessário para transmitir n pacotes é calculado baseado no esquema AMC usado, isto é, o número de bits por símbolos OFDM. 78
79 Em [42] os autores apresentam uma proposta de CAC para o padrão IEEE baseada em processos estocásticos e uma associação com as cadeias de Markov. A proposta é dividida em duas partes: Na primeira parte, modela-se a chegada de novas conexões de diferentes classes (UGS, rtps, nrtps). Entretanto, não realiza a modelagem das conexões BE, pois elas são sempre admitidas, porém não requerem nenhuma garantia. Na segunda parte, calcula-se os resultados do modelo (probabilidade de conexão e atraso) com base nos resultados obtidos na primeira parte. Em [43] os autores propõem um esquema de CAC baseado no modelo de degradação. Neste modelo, a largura de banda para a classe de serviço nrtps é degradada para um certo nível para satisfazer uma nova conexão em tempo real (UGS e rtps). O modelo não fornece a largura de banda alocada para as conexões BE já admitidas para uma nova solicitação de conexão de um fluxo de serviço com prioridade alta, tais como o fluxo de serviço UGS e rtps. Alguns trabalhos apresentam uma proposta de CAC baseada no mecanismo de token bucket [44] [45]. Neste caso, cada conexão é controlada por dois parâmetros do mecanismo de token bucket: a taxa de token bucket r (bps) e o tamanho do token bucket b. Quando um fluxo espera para estabelecer uma conexão com a BS, envia estes dois parâmetros para a BS e espera a sua resposta, aceitando ou não a admissão de uma nova conexão. O fluxo rtps envia um parâmetros extra d para especificar os requisitos de atraso. Em [46] propõe-se um mecanismo de CAC baseado em reservas, denominado de Reservation Based Connection Admission Control (R-CAC), que define valores reservados para cada classe de serviço. A Figura 4.2 apresenta o esquema de alocação de banda proposto pelos autores. Considera-se que a BS rejeita as solicitações das conexões nrtps somente quando a solicitação mínima de largura de banda não pode ser satisfeita. A conexão BE é 79
80 sempre admitida para usar toda a largura de banda disponível C, mas a largura de banda alocada para a conexão BE pode ser usada pelas conexões de prioridade mais alta; assim, a largura de banda para as conexões BE não pode ser garantida. Figura 4.2: Proposta de CAC Baseado em Reservas [46]. Em [47] realiza-se um estudo da alocação de largura de banda sobre o nível de pacotes e introduz-se o mecanismo de CAC baseado na probabilidade de bloqueio ao nível de chamada e ao nível de rajada. Realizou-se neste trabalho uma análise diferenciada para os vários tipos de fluxos de serviço (UGS, rtps, nrtps e BE). Considerou-se que as conexões com taxas de transmissão menores somente no nível de chamada. As conexões com taxas maiores que são causadas pelo download de grandes arquivos ou períodos longos de atividades de vídeo VBR, aplicações típicas das classes nrtps e rtps, respectivamente, foram analisadas somente no nível de rajada. E por fim, a proposta do mecanismo de CAC foi analisada para as aplicações multimídias Proposta de Algoritmo de CAC Baseado em Threshold para as Redes IEEE O algoritmo de CAC proposto é baseado em valores de threshold, onde o valor do threshold é a largura de banda máxima atribuída para cada fluxo; assim, a capacidade do enlace será divida entre os fluxos (UGS, rtps e nrtps). Desta forma, divide-se a capacidade do enlace em três faixas de largura de banda denominadas threshold-ugs, threshold-rtps e threshold-nrtps, que representam a largura de banda reservada para os fluxos UGS, rtps e 80
81 nrtps, respectivamente. Em outras palavras, o algoritmo de CAC baseado em threshold decide se admite ou rejeita uma conexão baseado nas faixas de largura de banda máximas atribuídas para os fluxos UGS, rtps e nrtps. O algoritmo de CAC baseado em threshold não reserva largura de banda para o fluxo BE, porque o padrão IEEE especifica que o fluxo BE não recebe nenhuma garantia. Assim, os fluxos BE sempre serão admitidos na rede, porém, transmitem dados somente se existir largura de banda disponível. Os valores de threshold-ugs, threshold-rtps e threshold-nrtps serão atribuídos na BS pelos administradores de rede, e o valor determinado a cada um destes threshold é baseado nos contratos de serviços (SLAs) feitos pelo provedor de serviço. Assim, a faixa de largura de banda reservada para cada um dos fluxos é baseada nos SLAs vendidos pelo provedor de serviço. Os fluxos serão admitidos seguindo uma fila de prioridade; desta forma o fluxo UGS tem maior prioridade que o fluxo rtps, a prioridade do fluxo rtps é maior que a do fluxo nrtps, e o fluxo BE não tem prioridade alguma. Este mecanismo de prioridade é utilizado com a intenção de priorizar os fluxos UGS e rtps que são sensíveis ao atraso. A seguir serão apresentadas algumas condições para que os fluxos sejam admitidos na rede [66-71]: Uma conexão UGS somente será aceita se a seguinte condição for satisfeita: J UGS threshold-ugs max UGS ( ) j= 0 (4.1) BW C r j onde BW UGS é o valor da solicitação de largura de banda da conexão UGS, C threshold-ugs é o valor da largura de banda reservada para o fluxo UGS, r max-ugs é a taxa máxima solicitada para cada conexão ativa da classe de serviço UGS, J indica o número de conexões admitidas na rede; Uma conexão rtps somente será aceita se a seguinte condição for satisfeita: 81
82 BW C r ( j) (4.2) rtps threshold-rtps J mim rtps j= 0 onde BW rtps é o valor da solicitação de largura de banda da conexão rtps, C threshold-rtps é o valor da largura de banda reservada para o fluxo rtps, e r min-rtps é a taxa mínima solicitada para cada conexão ativa da classe de serviço rtps; Uma conexão nrtps somente será aceita se a seguinte condição for satisfeita: BW C r ( j) (4.3) nrtps threshold-nrtps J mim nrtps j= 0 onde BW nrtps é o valor da solicitação de largura de banda da conexão nrtps, C thresholdnrtps é o valor da largura de banda reservada para o fluxo nrtps, e r min-nrtps é a taxa mínima solicitada para cada conexão ativa da classe de serviço nrtps; Conexões BE sempre serão admitidas na rede. Contudo, as conexões BE somente irão transmitir, se existir largura de banda disponível na rede; assim, para que uma conexão BE consiga transmitir dados na rede, os requisitos de prioridade das demais classes de serviço já devem ter sido atendidos, bem com a seguinte condição tem que ser satisfeita: I J i 1 BW C r ( i, j) (4.4) BE total i= 0 j= 0 onde BW BE é o valor da solicitação de largura de banda da conexão BE, C total é a capacidade do enlace, e r( i, j ) é a taxa solicitada pelas j th conexões das i th classes de serviço já admitidas na rede. A Figura 4.3 ilustra um exemplo do modo de operação do algoritmo de CAC proposto. Observa-se que a capacidade do enlace é dividida em faixas de largura de banda, threshold- UGS, threshold-rtps e threshold-nrtps, que representam a largura de banda máxima atribuída para os fluxos UGS, rtps e nrtps, respectivamente. Neste cenário, nota-se que os fluxos BE 82
83 admitidos na rede utilizam a largura de banda disponível para transmitir dados. Uma importante consideração a respeito do fluxo BE é que a largura de banda alocada para ele não é reservada, assim, o fluxo BE não tem nenhuma garantia. Figura 4.3: Representação da Proposta de CAC Baseada em Threshold [71]. O algoritmo de CAC proposto usará as mensagens DSA-REQ, DSA-RSP e DSA-ACK para realizar o processo de admissão de uma nova conexão e o modo de concessão de banda GPC Pseudo-algoritmo da Proposta do Algoritmo de CAC Baseado em Threshold Nesta Seção será apresentado o pseudo-algoritmo da proposta do algoritmo CAC baseado em threshold [67]. 83
Acesso de Banda Larga Sem-fio (WBA) e Redes Metropolitanas Sem-fio (WLAN) baseados no padrão IEEE 802.16 (WiMAX)
Capítulo 1 Acesso de Banda Larga Sem-fio (WBA) e Redes Metropolitanas Sem-fio (WLAN) baseados no padrão IEEE 802.16 (WiMAX) Cristiano Bonato Both (cboth@unisc.br) Rafael Kunst (rkunst@inf.ufrgs.br) Juergen