5 OMRÅDEBESKRIVELSE OG VERDIVURDERING
5.5 Reiseliv
O controle de congestionamento multicast do GMTP, denominado GMTP-MCC, tem como objetivo determinar uma taxa de transmissão equânime entre os fluxos de dados transmitidos pelo GMTP e por outros protocolos, como o TCP, em modo de transmissão multicast.
No algoritmo de controle de congestionamento TCP-Friendly Rate Control protocol (TFRC) (HANDLEY et al.,2003), o nó receptor envia para o transmissor relatórios sobre as perdas observadas e, com base nesse relatório, o transmissor calcula a nova taxa de
Figura 17 – O GMTP-UCC segmenta a rota e dessa forma não limita a taxa de transmissão de um nó capaz de receber um fluxo de dados em uma taxa de transmissão maior.
w2
t
3 w4 GMTP Register GMTP Register GMTP Register GMTP Register Reply Rp= 4Mb/s RTTS= 1s R(t) = 5Mb/s GMTP Register Reply Rp= 4Mb/s RTTS= 1s GMTP Register Reply Rp= 4Mb/s RTTS= 1s Rp= 4Mb/s RTTS= 2ms Conteúdo GMTP Data R(t) = 4Mb/s R(t) = 8Mb/s Legenda: Unicast s1t
1 R(t) = 1Mb/s GMTP Register GMTP Register Reply Rp= 1Mb/s RTTS= 1s GMTP Ack Rp= 1Mb/s GMTP Ack Rp= 4Mb/s GMTP Ack Rp= 4Mb/s GMTP Ack Rp= 1Mb/s Rp= 4Mb/s RTTS= 2ms Conteúdo GMTP Data Rp= 1Mb/s RTTS= 9ms Conteúdo GMTP Data Rp= 1Mb/s RTTS= 9ms Conteúdo GMTP Data Fonte – Sales (2014)transmissão. O TFRC é categorizado como um protocolo de controle de congestionamento baseado em uma equação matemática (Equation Based Congestion Control) e algoritmos desse tipo são adotados em diversos protocolos, como no DCCP (SALES, 2014).
O algoritmo do TRFC não é eficiente em transmissões multicast, devido ao problema conhecido por implosão de confirmações (feedback implosion). Esse problema ocorre quando há muitos receptores enviando relatórios de perdas para o mesmo transmissor, o que resulta em uma inundação de relatórios, os quais o transmissor é incapaz de processar em tempo hábil (SALES, 2014). Visando contornar esse problema, Widmer e Handley (2006) propuseram o TCP-Friendly Multicast Congestion Control (TFMCC), uma versão do TFRC adaptada para fluxo de dados multicast. No TFMCC, propõe-se um mecanismo de taxa de supressão (suppression rate), onde somente receptores com uma taxa calculada inferior à taxa de supressão são elegíveis para dar feedback, a menos que seu RTT seja maior do que o RTT máximo, caso em que também são elegíveis para dar feedback. O receptor que, em seu feedback, informar a menor taxa é denominado current limiting receiver (CLR).
No GMTP, utiliza-se um algoritmo de controle de congestionamento próprio, adaptado do TRFC, para fluxo de dados multicast. Diferente do TFMCC, que utiliza uma taxa de supressão, no GMTP-MCC elege-se um subconjunto dos nós clientes para atuar como relatores. Apenas os relatores devem calcular a taxa de transmissão baseado na taxa de eventos de perda de pacotes e enviar os feedbacks ao emissor. Assim, regula-se a taxa de transmissão na rede local com base nos relatórios transmitidos por nós eleitos como relatores.
Resumidamente, o algoritmo do TRFC funciona da seguinte forma:
1. O receptor mede a taxa de perda de pacotes e a envia para o nó transmissor; 2. O nó transmissor usa esse relatório para medir o RTT até o receptor;
3. O nó transmissor utiliza a Equação 2.4 para determinar qual será a sua próxima taxa de transmissão em função do relatório de perdas e o RTT obtidos;
4. O nó transmissor ajusta sua taxa de transmissão para o valor calculado no passo anterior. R(s, p) = s RT T ×q2×p3 + 12 ×q 3×p 8 × p × (1 + 32 × p2) (2.4)
Na Equação 2.4(PADHYE et al.,1998), R(s, p) é a taxa de transmissão medida em bytes/segundo definida em função de s, que é o tamanho do pacote medido em bytes e p, que corresponde a taxa de perda de pacotes observado pelo nó receptor; RT T é o tempo de ida-volta entre o nó transmissor e o receptor, medido em segundos.
O GMTP-MCC, sendo uma adaptação da versão original do TFRC, funciona da seguinte forma:
1. O nó repassador executa um algoritmo de eleição de nós relatores, selecionando um subconjunto de seus clientes.
2. Os nós relatores calculam a taxa de transmissão utilizando a Equação 2.4, em vez do transmissor realizar este cálculo, como na versão original do TFRC;
3. Os nós relatores determinam a taxa de eventos de perda, e não todos os receptores do grupo multicast. Para calcular o evento de perda p, utiliza-se o mesmo procedimento feito pelo TFRC, onde um intervalo de perda é determinado por consecutivas perdas de pacotes, desde do primeiro pacote perdido até o último pacote perdido, seguido de um pacote recebido com sucesso (HANDLEY et al., 2003; PADHYE et al., 1998);
4. O RTT é calculado entre o nó relator e o nó repassador, com o temporizador controlado pelos nós relatores e não pelo nó repassador. Isto evita que o nó repassador tenha que manter estado de temporizador para cada fluxo de dados transmitido para os nós clientes. Para determinar o valor do parâmetro RTT e calcular a taxa de transmissão através da Equação 2.4, o GMTP-MCC utiliza a Equação 2.2, que também é utilizada no GMTP-UCC, porém com θ = 0.25, valor igual ao utilizado no TCP e no DCCP;
5. A taxa de transmissão a ser utilizada pelo nó repassador é a média aritmética de todas as taxas enviadas pelos nós relatores;
6. Repete-se todos os passos a partir do passo 2 a cada intervalo igual ao RTT ou quando um intervalo de perda p é determinado.
Para todo fluxo de dados, o primeiro nó relator será o cliente que iniciar a primeira conexão para obter o referido fluxo. Os seguintes relatores serão os próximos clientes que se conectarem para receber o fluxo de dados, até atingir um parâmetro que determinará a quantidade máxima de relatores por fluxo de dados. Tal parâmetro pode ser determinado pelo administrador do repassador. Por padrão, utiliza-se 1
6 dos nós clientes como sendo
relatores para a transmissão de um fluxo de dados.
Sendo assim, à medida que um nó repassador recebe pacotes do tipo GMTP-Request, no pacote de resposta GMTP-RequestReply, o repassador ativa um indicador sinalizando que o referido nó cliente em processo de conexão deverá se comportar como um nó relator, passando a enviar relatórios da taxa de transmissão calculada.