terça-feira, 2 de setembro de 2008

Contextualizando protocolos de transporte de dados na Internet - Um foco no DCCP

Nos últimos anos, houve uma extraordinária disseminação das aplicações de rede "sensíveis ao atraso", tais como videoconferência, VoIP, jogos massivamente online, entre outros. Tais aplicações são caracterizadas pela preferência no tempo de entrega dos dados em detrimento da confiabilidade desta entrega. Como consequência, pode-se observar um intenso crescimento no uso do protocolo UDP [1] como solução paliativa para o transporte de dados multimídia na Internet devido a algumas características intrísicas relacionadas ao transporte de dados presentes - ou mesmo a falta de serviços para oferecer a estes tipos de aplicações - neste protocolo. Esta escolha é considerada plausível pois está estreitamente associada ao comportamento do protocolo TCP[2]. Nesta vertente, mecanismos de retransmissões de dados presentes no protocolo supracitado faz com que aplicações neste domínio recebam dados que, em um determinado momento, não são mais de seus interesses (pacotes atrasados, por exemplo).

O uso do protocolo UDP traz alguns impactos significativos quando utilizado em aplicações multimídia. Tais consequências estão diretamente relacionadas ao estado em que a rede pode atingir. Como o protocolo UDP não possui mecanismos de controle de congestionamento, fluxos UDP podem degradar consideravelmente a performance de outros protocolos, como, por exemplo, o do TCP, causando também excessiva perdas de pacotes. Como este protocolo fornece controle de congestionamento, ao detectar intensivo tráfego, o protocolo TCP tende a diminuir sua taxa de transmissão. Este cenário pode ser observado na Figura abaixo, onde um fluxo TCP concorre com três fluxos UDP. Pode-se observar que após 50 segundos do início do experimento, o fluxo UDP ocupa toda a largura de banda disponível na rede.



Fonte: [6]

Neste contexto, é notória a necessidade de um protocolo que não ofereça confiabilidade (ou seja, preferencialmente não faça uso de mecanismos de retransmissão), porém mantenha conhecimento do estado da rede, como, por exemplo, fazendo uso de mecanismos de controle de congestionamento, evitando que a mesma entre em alto nível de congestionamento quando defrontada com aplicações multimídia. Desta forma, a IETF (Internet Engeneering Task Force) [3] aprovou recentemente a especificação do protocolo DCCP (Datagram Congestion Control Protocol)[4][5] como um dos padrões de transmissão de dados multimídia para Internet. Esta decisão fundamentou-se objetivando melhorias nos serviços oferecidos pelas aplicações multimídia e pela escassez nas possibilidades de protocolos para o transporte de dados na Internet (TCP ou UDP).

Thiago Sales

[1] RFC0768. UDP: User Datagram Protocol, 8 1980. http://www.ietf.org/rfc/rfc0768.txt. Último acesso, Agosto de 2008.

[2] TCP: Tranmission Control Protocol, 9 1981. http://www.ietf.org/rfc/rfc0793.txt. Último acesso, Agosto de 2008.

[3] The Internet Engeneering Task Force, 1992. http://ietf.org

[4] E. Kohler, M. Handley, and S. Floyd. Datagram congestion control protocol
(dccp), 2006. http://www.rfc-editor.org/rfc/rfc4340.txt.

[5] Eddie Kohler, Mark Handley, and Sally Floyd. Designing DCCP: Congestion
Control Without Reliability. In in Proc. ACM SIGCOMM 2006, Piza, 2003

[6] Leandro Melo de Sales. Avaliação experimental do protocolo dccp para transmissão de conteúdos multimídia em redes sem fio 802.11g e na internet. Dissertação de Mestrado, Universidade Federal de Campina Grande, 2008.

Nenhum comentário: