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.