Site menu Dissertação de Mestrado

Dissertação de Mestrado

Aplicabilidade e desempenho do protocolo de transporte SCTP

Universidade Federal de Santa Catarina

Orientador: Prof. Luis Fernando Friedrich

(Click here to see this page in English language)

Documentos

Performance bruta

Performance com protocolos e implementações reais

Todos os softwares e adaptações criados para o teste estão sob a licença GPL.

Softwares adaptados ao SCTP, cujos patches estão no pacote acima: thttpd, httperf, Samba, Mozilla (adaptação limitada), trafshow versões 4.0 e 5.2, poc, telnet. Também há um patch para desligar o checksum CRC-32c no kernel.

Uma boa lista de referências bibliográficas sobre SCTP pode ser obtida no final da dissertação em formato PDF.

A dissertação trata do protocolo SCTP, o terceiro protocolo de transporte oficial da pilha TCP/IP. O SCTP é resultado do trabalho de um comitê denominado SIGTRAN (SIGnaling TRANsport), encarregado de criar um protocolo para transporte de mensagens de sinalização telefônica.

O SCTP é um protocolo confirmado ponto a ponto como TCP, porém possui diversos recursos adicionais, como: transporte de mensagens indivisíveis, múltiplos "canais" ou fluxos de mensagens, confiabilidade parcial, e uso de múltiplas conexões de rede para redundância.

O SIGTRAN não criou o SCTP do zero; partiu-se de um protocolo de aplicação denominado MDTP, que foi refinado até chegar-se ao SCTP atual. A RFC 2960 (ano 2000) ainda é a definição autoritativa do SCTP, embora haja algumas RFCs posteriores que modificam ou esclarecem detalhes, adicionam extensões e tratam de adaptações a IPSEC, SSL etc.

A dissertação possui uma ampla revisão bibliográfica sobre o protocolo em si, bem como sobre as extensões da API BSD/Sockets para acesso ao SCTP. Também há um estudo prévio de protocolos de aplicação, que hoje usam TCP ou UDP e poderiam beneficiar-se de uma migração para SCTP.

Finalmente, o trabalho realiza uma série de testes de performance com uma implementação livre do SCTP, a LK-SCTP (Linux Kernel SCTP). Os testes dividem-se em dois grandes grupos: performance bruta e performance com protocolos de aplicação reais.

A performance bruta foi testada usando-se pequenos softwares criados especificamente para o teste. Já nos testes com protocolos reais, implementações reais foram adaptadas ao SCTP.