Click here to load reader

Disserta˘c~ao de Mestrado Jhon Franko Jorge · PDF file Jhon Franko Jorge Velarde APLICAC˘AO DO PROTOCOLO SPDY PARA APLICATIVOS DE~ MONITORAMENTO SOBRE REDES DE IP PUBLICO Trabalho

  • View
    5

  • Download
    0

Embed Size (px)

Text of Disserta˘c~ao de Mestrado Jhon Franko Jorge · PDF file Jhon Franko Jorge Velarde APLICAC˘AO...

  • Universidade Federal do ABC (UFABC)

    Centro de Matemática, Computação e Cognição (CMCC) Curso de Pós-Graduação em Ciência da Computação

    Dissertação de Mestrado

    Jhon Franko Jorge Velarde

    APLICAÇÃO DO PROTOCOLO SPDY PARA APLICATIVOS DE

    MONITORAMENTO SOBRE REDES DE IP PÚBLICO

    Santo André - SP

    2014

  • Curso de Pós-Graduação em Ciência da Computação

    Dissertação de Mestrado

    Jhon Franko Jorge Velarde

    APLICAÇÃO DO PROTOCOLO SPDY PARA APLICATIVOS DE

    MONITORAMENTO SOBRE REDES DE IP PÚBLICO

    Trabalho apresentado como requisito parcial para obtenção do t́ıtulo de Mestre em Ciência da Computação, sob orientação do Prof. Dr. Nunzio Marco Torrisi.

    Santo André - SP

    2014

  • Centro de Matemática, Computação e Cognição (CMCC)

    Curso de Pós-Graduação em Ciência da Computação

    APLICAÇÃO DO PROTOCOLO SPDY PARA APLICATIVOS DE

    MONITORAMENTO SOBRE REDES DE IP PÚBLICO

    Jhon Franko Jorge Velarde Março de 2014

    BANCA EXAMINADORA:

    • Prof. Dr. Nunzio Marco Torrisi (Presidente) (CMCC) Universidade Federal do ABC - UFABC

    • Prof. Dr. Rodrigo Palucci Pantoni Instituto Federal de São Paulo - IFSP

    • Prof.a Dr.a Vera Nagamuta (CMCC) Universidade Federal do ABC - UFABC

    • Prof. Dr. Ronaldo Cristiano Prati (Suplente) (CMCC) Universidade Federal do ABC - UFABC

  • Este exemplar foi revisado e alterado em relação à versão original, de acordo com as observações levantadas pela banca no dia da de- fesa, sob responsabilidade única do autor e com a anuência de seu orientador.

    Santo André, 20 de março de 2014.

    Assinatura do autor:

    Assinatura do orientador:

  • Resumo

    O objetivo deste trabalho é propor o uso do protocolo SPDY em aplicativos de

    monitoramento sobre redes de IP público, com foco nas melhorias sobre HTTP e

    fornecido pelo escalonamento de requests utilizando as oito prioridades no fluxo

    SPDY. Para o escalonamento SPDY, são considerados algoritmos de padrões de

    projeto que utilizam mecanismos śıncronos ou asśıncronos para o gerenciamento

    de requests de múltiplos clientes, tais como: os padrões Reactor e Proactor. A

    caracteŕıstica principal, o quantum de tempo, compartilhada nos algoritmos de

    escalonamento, tais como: Escalonamento por Prioridade, Escalonamento Round-

    Robin, Escalonamento em Filas Multińıvel, Weighted Fair Queuing e Weighted

    Round-Robin, permite que os requests com menor prioridade tenham maior opor-

    tunidade de ser gerenciados. Um protótipo de servidor SPDY foi desenvolvido

    baseado na especificação do protocolo SPDY e, nas caracteŕısticas principais

    dos padrões de projeto e algoritmos de escalonamento propostos. A avaliação

    deste protótipo foi feita na simulação de uma situação real de monitoramento,

    o protótipo considerou três estruturas para gerenciamento de requests no escalo-

    nador: oito filas de prioridade, uma fila sem prioridade e oito filas de prioridade

    com um quantum de tempo para cada fila. Os resultados obtidos mostram que

    os requests com maior prioridade são processados na média em menor tempo

    além de que são gerenciados em maior quantidade e, a utilização de um quan-

    tum de tempo para cada fila de prioridade aumentou a quantidade de requests

    gerenciados com menor prioridade.

    Palavras-chave: Aplicativos de monitoramento, DNP3, SCADA, HMI, Escalona-

    mento, SPDY, HTTP, Padrões de projeto, Filas, Prioridade.

    iv

  • Abstract

    The aim of this research project is to propose the use of SPDY protocol for

    monitoring applications over public IP networks, with focus on the improve-

    ments over HTTP provided by the request scheduling using the eight priorities

    in SPDY stream. For the SPDY scheduling, are considered design patterns algo-

    rithms which use synchronous or asynchronous mechanisms for handles request

    of multiple clients, such as: Reactor and Proactor pattern. The main feature,

    the time quantum, shared in scheduling algorithms, such as: Priority Scheduling,

    Round-Robin Scheduling, Multilevel Queue Scheduling, Weighted Fair Queuing

    and Weighted Round-Robin, allows lower priority requests have higher oppor-

    tunity to be managed. A SPDY server prototype was developed based on the

    specification of the SPDY protocol, and the main characteristics of the design

    patterns and scheduling algorithms proposed. The evaluation of this prototype

    was made in the simulation of a real situation monitoring, was considered in the

    prototype three structures for managing requests in the scheduler: eight priority

    queues, a queue without priority and eight priority queues with a time quantum

    for each queue. The results show that higher priority requests are processed on

    average in less time beyond that are managed in a larger quantity, and the use

    of a time quantum for each priority queue increased the amount of lower priority

    managed requests.

    v

  • Agradecimentos

    Agradeço a Deus pelas bênçãos, pela minha saúde e proteção em todos os dias

    da minha vida.

    Agradeço a minha esposa e amor Alisoli Pretel Jesus por que juntos somos

    uma grande equipe, pelo apoio, pela presença e grande amor, por que todo isso

    foi um grande motor para conduzir este mestrado em bom caminho.

    Agradeço profundamente a minha amada mãe, Dominga e a minha querida

    irmã, Maŕıa, pelo amor, pelas orações, pela motivação, compreensão e apoio

    incondicional em todo momento.

    Agradeço a meu orientador o Prof. Dr. Nunzio Marco Torrisi pela amizade,

    pelos ensinamentos, ajuda e colaboração com o meu trabalho no mestrado.

    Aos professores André Balan, João Paulo Gois e Ronaldo Prati pelas novas

    experiências e pelos conhecimentos adquiridos.

    E finalmente, agradeço a meus caros amigos Ĺıdia, Marcel e Renato por ter

    me dado a sua confiança, amizade e por sempre torcer por mim.

    vi

  • Glossário

    AJAX Asynchronous Javascript and XML

    CyberOPC Cybernetic OPC

    DNP3 Distributed Network Protocol, version 3

    HMI Human Machine Interface HTML5 HyperText Markup Language, version 5 HTTP HyperText Transfer Protocol HTTPS HyperText Transfer Protocol Secure

    IETF Internet Engineering Task Force

    OLE Object Linking and Embedding OPC OLE for Process Control OPC XML-DA OPC eXtensible Markup Language-Data Ac-

    cess OPC-UA OPC-Unified Architecture

    RFC Request For Comments

    SCADA Supervisory Control And Data Acquisition SPDY SPeeDY Protocol SSL Secure Sockets Layer

    TCP/IP Transmission Control Protocol/ Internet Pro- tocol

    TLS Transport Layer Security

    W3C World Wide Web Consortium

    vii

  • Sumário

    Glossário vii

    1 Introdução 2

    1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.3 Organização deste trabalho . . . . . . . . . . . . . . . . . . . . . . 4

    2 Revisão Bibliográfica 5

    2.1 Tecnologias Relacionadas . . . . . . . . . . . . . . . . . . . . . . . 5

    2.1.1 Melhoria do Projeto de Aplicativos HTTP . . . . . . . . . 5

    2.1.2 Melhorias da Especificação do Protocolo HTTP . . . . . . 7

    2.1.3 Tecnologias Middleware para Otimização de uso de HTTP 8

    2.2 Estado da arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2.2.1 Protocolo WebSocket . . . . . . . . . . . . . . . . . . . . . 10

    2.2.2 Protocolo SPDY . . . . . . . . . . . . . . . . . . . . . . . 10

    2.3 Algoritmos de Escalonamento . . . . . . . . . . . . . . . . . . . . 13

    2.3.1 Escalonamento Round-Robin . . . . . . . . . . . . . . . . . 13

    2.3.2 Escalonamento por Prioridade . . . . . . . . . . . . . . . . 14

    2.3.3 Escalonamento em Filas Multińıvel . . . . . . . . . . . . . 15

    2.3.4 Weighted Fair Queuing . . . . . . . . . . . . . . . . . . . . 16

    2.3.5 Weighted Round-Robin . . . . . . . . . . . . . . . . . . . . 17

    3 Metodologia 18

    3.1 Padrões de projeto para transmissão de dados de tipo śıncrono e

    asśıncrono . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    3.2 Metodologia para a avaliação dos resultados . . . . . . . . . . . . 22

    4 Desenvolvimento de um protótipo de servidor SDPY 24

    viii

  • SUMÁRIO ix

    5 Resultados 28

    5.1 Testes I: Análise do comportamento dos tempos de processamento

    nas oito filas de prioridade . . . . . . . . . . . . . . . . . . . . . . 32

    5.2 Testes II: Análise e comparação do comportamento dos tempos

    de processamento em uma fila sem prioridade e nas oito filas de

    prioridade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    5.3 Testes III: Análise e comparação do comportamento dos tempos

    de processamento nas oito filas com prioridade e quantum de tempo 43

    6 Conclusões 48

  • Lista de Figuras

    2.1 Diagrama temporal da modalidad