Novos Protocolos de Streaming MMTP e SCTP Cesar Henrique Pereira Ribeiro Escola de Engenharia Universidade Federal Fluminense (UFF) cesarhpribeiro@yahoo.com.br
Roteiro da Apresentação Introdução MMTP (Multimedia Multiplexing Transport Protocol) SCTP (Stream Control Transmission Protocol) Comparação entre os Protocolos Conclusão
Introdução Streaming introduz uma nova forma de consumir mídia pela Internet, ele permite que se use um arquivo de mídia enquanto ele está sendo transmitido, não precisando esperar que o arquivo inteiro seja recebido. Os dados transmitidos pela Internet são tocados nos players e depois descartados.
MMTP Multimedia Multiplexing Transport Protocol O MMTP é um protocolo da camada de transporte cujo objetivo é agregar todos os canais de comunicação disponíveis para os dispositivos móveis e fornecer à aplicação um único canal virtual, independente das tecnologias de enlace utilizadas em cada canal individual.
MMTP Multimedia Multiplexing Transport Protocol Benefícios Principais: 1 Maior largura de banda para a aplicação, permitindo melhor qualidade do tráfego multimídia; 2 Utiliza o canal com menor atraso de propagação para a troca de mensagens de controle; 3 A largura de banda extra de qualquer canal pode ser utilizada para a retransmissão de pacotes perdidos selecionados, sem afetar o stream principal sendo transmitido; 4 Com o uso de múltiplos canais o MMTP é menos sensível a flutuação de banda de um canal individual; 5 O uso de múltiplos canais de dados torna natural o handoff de conexões.
MMTP Multimedia Multiplexing Transport Protocol No início da comunicação, o MMTP descobre os canais de comunicação disponíveis e estima o atraso de propagação e a taxa de pacotes de cada um. Para saber se a taxa solicitada pela aplicação está disponível, o protocolo calcula a taxa agregada dos canais. Existem dois casos: Largura de banda solicitada > largura de banda agregada disponível: Neste caso, o MMTP notifica à aplicação que os pacotes serão descartados. A aplicação pode então decidir se aborta a transmissão, modifica a taxa ou continua normalmente. Largura de banda solicitada < largura de banda agregada disponível: Neste caso, o MMTP notifica à aplicação que existe largura de banda suficiente para a transmissão dos dados na taxa solicitada.
MMTP Multimedia Multiplexing Transport Protocol O MMTP envia o primeiro segmento de uma sequência de dados pelo canal com maior atraso de propagação.
MMTP Multimedia Multiplexing Transport Protocol Controle de Congestionamento: Quando um pacote chega para ser transmitido pelo MMTP, existem três possibilidades: Não há token disponível: o frame tem que esperar até que um token que possa entregar o frame a tempo seja gerado em um canal. Se nenhum token for gerado antes do tempo de entrega do frame expirar, o frame é descartado; Exatamente um token disponível: se o canal correspondente puder entregar o frame a tempo, o pacote é enviado. De outra forma, o pacote espera como no caso 1; Múltiplos tokens estão disponíveis: se mais de um canal puder entregar o pacote, o canal com maior atraso de propagação é escolhido. Manter o canal com o maior tempo de propagação em uso possibilita a criação de um rápido caminho de resposta. Se nenhum canal puder entregar o pacote a tempo, o frame espera como no caso 1.
SCTP Stream Control Transmission Protocol O SCTP: É orientado a mensagens. Utiliza o conceito de associação. Estabelece vários fluxos de comunicação. Multihoming.
SCTP Stream Control Transmission Protocol Entrega confirmada de dados de usuário, livre de erros e não duplicados. Fragmentação de dados em conformidade com o MTU descoberto do caminho. Entrega seqüencial de dados de usuário em múltiplos fluxos.
SCTP Stream Control Transmission Protocol Empacotamento opcional de múltiplas mensagens de usuário num único pacote SCTP. Tolerância a falhas de rede através do suporte a caminhos múltiplos (multihoming). O SCTP é rate adaptative, adaptando-se as variações da rede.
SCTP Stream Control Transmission Protocol O SCTP provê transmissão confiável Detecta quando os dados são descartados, reordenados, duplicados ou corrompidos, retransmitindo dados quando necessários. O SCTP é orientado a conexão. O SCTP usa o conceito de associação. Mais amplo que a conexão TCP
Associação SCTP Uma conexão TCP estabelece apenas um único fluxo full-duplex. Uma associação SCTP estabelece um número arbitrário de fluxos simplex. Para simular uma conexão TCP, basta criar um fluxo SCTP em cada direção O SCTP tem potencial de substituir o TCP em diversas aplicações Todas as portas reservadas pelo IANA ao TCP são automaticamente reservadas ao SCTP.
SCTP Stream Control Transmission Protocol
SCTP Stream Control Transmission Protocol As mensagens de usuário são associadas a números de fluxo. Cada mensagem tem um número de seqüência dentro do fluxo. Cada fluxo tem um escopo de ordenação Há ainda a opção de não manutenção da ordem no fluxo.
SCTP Stream Control Transmission Protocol
Comparação Característica Descarte de Quadros Retransmissão de Quadros Confiabilidade MMTP seletivo seletiva não-confiável STCP seletivo seletiva confiável Reconhecimentos ACKs Controle de Congestionamento Descobre MTU Mínimo Multi-Homing Comunicação Envio de Pacotes Redundantes Protocolo de Transporte Fluxo de Streaming Qtde. de fontes descarte seletivo não sim ponto-a-ponto não MMTP full-duplex única sim sim ponto-a-ponto não SCTP Fluxos Simplex Independentes em Ambas as Direções única
Conclusão A medida que aumenta a demanda e o consumo de dados para streaming, surgem novos desafios como mobilidade, alta-disponibilidade e convergência. Para superar estes desafios, novos protocolos de streaming são desenvolvidos com o objetivo de otimizar a comunicação de dados de acordo com as características do meio-físico e com as necessidades das aplicações utilizadas.