Abstract:
|
Nas pilhas de protocolos de rede típicas, como TCP/IP, a camada de rede oferece transmissão não confiável de datagramas um serviço muito primitivo para ser usado diretamente pelas aplicações em geral. É a camada de transporte a responsável por oferecer serviços de rede confiáveis e confortáveis às aplicações. A pilha TCP/IP oferece tradicionalmente apenas dois protocolos de transporte: TCP e UDP. O UDP implementa apenas o recurso de portas, sem acrescentar confiabilidade à rede. O TCP, por outro lado, oferece um serviço confiável, com conexões ponto-a-ponto e transmissão de bytes, abstraindo completamente as características da rede. TCP e UDP são dois extremos; algumas aplicações desejariam usar ao mesmo tempo recursos de ambos os protocolos, e/ou ter controle mais direto sobre alguns aspectos da rede. Tal necessidade surgiu na sinalização telefônica, o que motivou a criação de um novo transporte, o SCTP. O SCTP (Stream Control Transmission Protocol) guarda diversas semelhanças com o TCP, mas também apresenta diversos recursos adicionais interessantes: transmissão de mensagens indivisíveis, multiplos fluxos de mensagens por conexão, variação da confiabilidade das mensagens, bem como melhorias de segurança. A proposta deste trabalho é apresentar os recursos do SCTP, estudar a aplicabilidade do mesmo a protocolos de aplicação que hoje utilizam TCP ou UDP como transporte, e realizar testes de desempenho sobre uma implementação real do SCTP, com a simulação de diversas condições típicas de rede. O desenvolvimento do trabalho envolveu uma razoável revisão bibliográfica sobre protocolos em todas as camadas, criação e adaptação de aplicativos para execução dos testes, uso de ferramentas de simulação de rede, escolha de métricas de avaliação de desempenho, e adaptação de protocolos de aplicação ao SCTP. |