Membros do grupo
- Fernando Dettoni
- João Paulo Flor
- Rita Soldi
Motivação
O Real-time Transport Protocol (RTP) vem adquirindo uma grande importância, devido à utilização crescente de redes TCP/IP
para a transmissão de dados multimídia. Frequentemente, essa transmissão é realizada por sistemas embarcados, como no caso
da TV Digital, de sistemas de TV de circuito fechado, entre outros.
A utilização do RTP em sistemas embarcados é um desafio, pois tais sistemas possuem restrições da capacidade de
processamento e memória, as quais não são levadas em conta no RTP. Como agravante, o protocolo TCP, uma das bases
para o RTP, possui várias características indesejáveis. Ele exige bastante em termos de memória, além de introduzir
latências na comunicação, devidas ao estabelecimento de conexão e à correção de erros.
Alguns desses problemas são amenizados pela implementação do TCP com janela 0, desenvolvido em 2008/2 como projeto final
de Sistemas Operacionais II. Para verificar a aplicabilidade do TCP janela 0, iremos desenvolver um RTP, levando em
consideração as restrições do mundo dos sistemas embarcados.
Delimitação do problema
O problema consiste em desenvolver uma versão do Real-time Transport Protocol (RTP), que utilize como protocolos subjacentes
o UDP e o TCP de janela 0. O RTP é o padrão mais comum para a transferência de dados multimídia em redes IP, e possui
suporte à correção de jitter e à distribuição multicast. Ele é utilizado, por exemplo, em aplicações de streaming de áudio/vídeo, voz sobre ip, entre outras.
O RTP é usado em conjunto com um segundo protocolo, o RTCP (Real-Time Control Protocol). Enquanto o RTP em si é
responsável pelo transporte dos dados com características de tempo real, o RTCP monitora a qualidade de serviço e
fornece informações de temporização para os participantes.
Metas
Implementar o protocolo RTP como componente do sistema operacional EPOS--, utilizando como protocolos subjacentes
o UDP e o TCP com janela 0. A implementação desenvolvida deve ser capaz de suportar a execução de algum tipo de aplicação
normalmente associado ao RTP, como streaming de áudio/vídeo e telefonia. Busca-se também que o protocolo implementado
ofereça um bom suporte a mecanismos de qualidade de serviço
Atividades a serem desenvolvidas
- Familiarização com os componentes do EPOS-- que tratam de rede (06/11)
- Configurar o ambiente
- Rodar network_test
- Escrita de uma aplicação exemplo usando a implementação de UDP do EPOS-- (09/11)
- Estudo do trabalho "TCP win 0" (13/11)
- Programação de uma aplicação de exemplo usando o "TCP win 0"
- Estudo do protocolo RTP
- Implementação de uma versão inicial do protocolo RTP
- Usando UDP como protocolo base
- Usando TCP como protocolo base
- Construção de uma aplicação de teste para o protocolo (04/12)
Bibliografia
- RFC3550: "A Transport Protocol for Real-time Applications" - http://tools.ietf.org/html/rfc3550
- "Redes de Computadores - Uma abordagem de sistemas", PETERSON, Larry L., DAVIE, Bruce S.
- "Redes de Computadores" - 2ª ed., TANENBAUM, Andrew S.