Baixe o app para aproveitar ainda mais
Prévia do material em texto
DISCIPLINA REDES CONVERGENTES - A PILHA TCP/IP E O PROTOCOLO RTP (REAL TIME PROTOCOL) OBJETIVOS: • Compreender as características do TCP e do UDP que fazem com que cada um dos protocolos seja mais adequado ao atendimento de um determinado serviço. • Compreender qual protocolo da camada de transporte é mais adequado em função das características de cada serviço. • Entender que nem o TCP nem o UDP atendem completamente aos requisitos dos serviços em tempo real. • Perceber que sendo o protocolo UDP muito simples e sem recursos apesar de rápido, outro protocolos devem auxiliar ao transporte de aplicações multimídia. • Será capaz de entender as facilidades e aplicabilidade do RSVP, RTP, RTCP e RTSP. • Entender de que forma o serviço digitalizado em codificação binária é encapsulado nos pacotes dos protocolos das camadas da pilha TCP/IP. Este entendimento permitirá visualizar a quantidade de bytes dos headers dos pacotes que transportam os serviços, dando base para o cálculo da taxa de bits necessária ao transporte dos serviços. CONTEÚDO: Protocolo TCP e suas Características de Confiabilidade e Orientação a Conexão (02A) Protocolo UDP e suas Características de Melhor Esforço (02A) Comparação Entre TCP e UDP em Termos de Aplicabilidade a Serviços em Tempo Real e Dados (02A) Protocolos RTP (Real Time Protocol) e RTCP (Real Time Control Protocol) e Recursos para transporte de Serviços de Voz e Vídeo (02A) Protocolos de Camada 2 (02B) Encapsulamento dos Serviços através da Pilha TCP/IP considerando RTP (02B) REFERÊNCIA : COMER, Douglas E. Redes de Computadores e Internet. 4. ed Bookman, Porto Alegre, 2007. DAVIDSON, Jonathan. Fundamentos de VoIP. São Paulo, Editora: Artmed Editora, 1ª edição. FARREL, Adrian A internet e seus protocolos: uma análise comparativa – 1ª. Edição Rio de Janeiro, Elseiver 2005 HERSENT, Oliver; GUIDE, David; PETIT, Jean-Pierre. Telefonia IP. São Paulo,Editora Addison Wesley, 1ª edição KUROSE, James F.; ROSS, Keith W. Redes de computadores e a Internet: uma abordagem top-down. São Paulo: Pearson, 2006. TANEMBAUM, Andrew S. Redes de Computadores. Rio de Janeiro, Editora Campus, 4ª Ed.,2003. MATERIAL DIDÁTICO : - Douglas E. Comer, Redes de computadores e Internet, Artmed/Bookman, 4. Edição 2007 Capítulo 7 pacotes quadros e detecção de erro - 15 páginas; Capítulo 17 ligação inter-redes 11 páginas; Capítulo 20 datagramas ip e encaminhamento - 9 páginas; Capítulo 21 encapsulamento ip frag/remont - 8 páginas; Capítulo 22 Ipv6 - 11 páginas; Capítulo 26 tradução de endereços – 8 páginas; Apêndice 3 máscaras de endereços - 2 páginas; - Olifer& Olifer, Redes de Computadores, LTC editora, 1a. Edição 2008 endereçamento de redes TCP/IP 23 páginas; - Ed Titel Redes de Computadores, Artmed/Bookman, 1a. edição 2003 Capítulo 7 – roteamento 28 páginas; - Chappel Laura Diagnosticando redes, Pearson 1a. Edição 2002 Ferramentas genéricas para diagnósticos - 11 páginas; - Maia Luis Paulo, Arquiteturas de redes de computadores, LTC Editora, 1. Edição 2009 Camada de transporte - 18 páginas. Atividade estruturada : 1) Faça uma comparação entre os protocolos UDP e TCP em termos de tempo gasto para a entrega de um serviço. 2) Porque o UDP é mais adequado que o TCP a serviços em tempo real? 3) Em que exemplo de aplicação o TCP é mais adequado que o UDP? 4) O que o protocolo RTP acrescenta em termos de funcionalidades ao protocolo UDP no transporte de mídias em tempo real? 5) Que tipo de informação o protocolo RTCP pode transportar na direção do transmissor sobre a qualidade da entrega dos dados no receptor? 6) Qual é o relacionamento entre os protocolos RTP e RSVP. Qual é o papel de cada de cada um dos protocolos em uma transferência de mídia em tempo real? 7) Faça uma comparação entre a operação de um controle remoto de um DVD player e do protocolo RTSP. 8) Qual é o tamanho somado dos headers no encapsulamento TCP, IP, Frame Relay? 9) Supondo o serviço de VoIP, quantos bytes são usados nos headers para transportar a voz em uma LAN? 10) Em termos de consumo de bytes, qual é o protocolo de L2 mais adequado ao baixo consumo de banda na rede IP? Protocolo TCP e suas Características de Confiabilidade e Orientação a Conexão O protocolo TCP (Transmission Control Protocol) oferece os seguintes serviços: controle de erros e fluxo, serviço com conexão e envio de fluxo de dados. Para TCP, uma conexão é formada pelo par (End. IP. Origem, Porta Origem) e (End. IP Destino, Porta Destino). • Orientado a conexão: estabelecimento de conexão antes do envio de dados. • Entrega ordenada de dados na seqüência enviada. Ordenação de mensagens. • Verificação de integridade do transporte. • Controla o reenvio de pacotes com erro ou não recebidos. • Protocolo seguro, lento e requer processamento. • Controle de fluxo e erro fim-a-fim. Caracterísiticas do TCP (definido na RFC 793): • Serviço confiável de transferência de dados. • Comunicação full-duplex fim-a-fim. • A aplicação basta enviar um fluxo de bytes. • Desassociação entre quantidade de dados enviados pela aplicação e pela camada TCP. • Multiplexação de IP, através de várias portas. • Opção de envio de dados urgentes. CONEXÃO TCP Uma conexão TCP é formada por três fases: - estabelecimento de conexão; - troca de dados; - finalização da conexão. TCP - Formato do segmento definido na RFC- 793 O, 1, 15 16, 17 31 Porta de origem Porta de destino Número de sequência Número de reconhecimento T C Reserva do U R G A C K P S H R S T S Y N F I N Tamanho da janela Checksum Ponteiro de urgência Opções Dados (opcionais) contagem por bytes de dados (não segmentos!) número de bytes receptor está pronto para aceitar Internet checksum (como no UDP) - URG: dados urgentes (pouco usado). - ACK: campo de ACK é válido. - PSH: produz envio de dados (pouco usado). - RST, SYN, FIN: estabelec. de conexão (comandos de criação e término). CONTROLE DE ERRO FIM A FIM Nos protocolos orientados a conexão (como o TCP), o protocolo deve resolver todos os problemas deixados pela rede de interconexão, como duplicação de pacotes, datagramas com erro, pacotes fora de ordem e perda de datagramas. O TCP para oferecer um serviço de transporte confiável, implementa os seguintes mecanismos: - reconhecimento positivo (ACK); - reconhecimento negativo (NAK, definido na RFC- 2018); - retransmissão por timeout; - piggybacking (informações enviadas de carona); - reconhecimento cumulativo; - janela deslizante; - retransmissão seletiva. - O TCP utiliza um algoritmo de retransmissão adaptativo que regula dinamicamente o temporizador em função da variação do atraso na rede. - O receptor utiliza o número de sequência contido no segmento para identificar segmentos duplicados e fora de ordem. - O SACK (Selective Acknowledgement Options), definido na RFC-2018, permite que o receptor informe quais os segmentos de dados que foram corretamente recebidos. - Como o TCP opera no modo full-duplex, são implementadas quatro janelas deslizantes por conexão lógica, duas no host de origem e duas no host de destino, associadas aos buffers de transmissão e recepção. Neste mecanismo, é possível identificar os bytes já transmitidos e reconhecidos (BTR), os bytes transmitidos e não reconhecidos(BTNR), os bytes não transmitidos (BNT), mas que ainda podem ser transmitidos e os bytes que devem aguardar para serem transmitidos (BAT). JANELAS DE TRANSMISSÃO BTR BTNR BNT BAT 0 1 2 3 4 5 6 7 8 9 10 Protocolos da Camada de Transporte Serviços de Transporte da Internet : 1) Confiável, seqüencial e unicast: TCP. - toma ação para diminuir o congestionamento. - faz controle de fluxo - faz controle de erro orientado à conexão 2) Não confiável (“best-effort”), não seqüencial, entrega unicast or multicast : UDP. 3) Serviços não disponíveis: - tempo-real - garantia de banda - multicast confiável application transporte rede enlace física application transporte rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física Princípios de Controle de Congestionamento Congestionamento : informalmente: “muitas fontes enviando dados acima da capacidade da rede tratá-los”, diferente de controle de fluxo ! sintomas: – perda de pacotes (saturação de buffer nos roteadores). – atrasos grandes (filas nos buffers dos roteadores). Controle de congestionamento (a) Uma rede rápida com um receptor de baixa capacidade. (b) Uma rede lenta com um receptor de alta-capacidade. Controle de congestionamento Quando há pacotes demais presentes em partesub-rede lentai. Abordagens do problema de controle de congestionamento 1) Controle de congestio- namento fim-a-fim: não usa realimentação explícita da rede congestionamento é inferido a partir das perdas e dos atrasos observados nos sistemas finais abordagem usada pelo TCP 2) Controle de congestio- namento assistido pela rede: roteadores enviam informações para os sistemas finais bit único indicando o congestionamento (TCP/IP) – taxa explícita do trans- missor poderia ser enviada Existem duas abordagens gerais para o problema de controle de congestionamento : Protocolo UDP e suas Características de Melhor Esforço O protocolo de datagrama do usuário (User Datagram Protocol) é definido na RFC 768 e possui as seguintes características: - Não orientado a conexão - Entrega não garantida dos datagramas IP - Sem verificação de integridade. - Entrega na ordem de chegada. - Sem confirmação de entrega. - Protocolo sem garantia, rápido e que requer pouco processamento. - Transferência de dados não confiável - Multiplexação/demultiplexação - Detecção de erros - Sem controle de congestionamento - Sem controle de fluxo -Não tem segmentação -Melhor controle no nível da aplicação sobre quais dados são enviados e quando. (não possui controle de congestionamento). - Não há estabelecimento de conexão (não introduz atraso dessa fase). - Não há estados de conexão (pode ter um número maior de clientes ativos). -Pequena sobrecarga de cabeçalho de pacote. - O socket UDP é identificado somente pelo endereço IP de destino e pelo número de porta de destino. Principais características A transferência confiável pode ser implementada na camada aplicação. Ex.: Uso de mecanismos de reconhecimento e retransmissão Dessa forma a aplicação não fica sujeita a um controle de congestionamento do transporte (bom para aplicações multimídias). UDP - transferência não confiável UDP – detecção de erros - Nem sempre a camada de enlace utiliza verificação de erros. - Pode haver erros binários quando um datagrama é armazenado na memória de um roteador. - Realiza a detecção através de uma soma de verificação (checksum) de 16 bits. UDP - Formato do datagrama definido na RFC-768 ...............................32 BITS.............................. PORTA DA FONTE # PORTA DO DESTINO # COMPRIMENTO UDP CHECKSUM UDP DADOS - Porta da fonte (16 bits) - Porta do destino (16 bits) - Comprimento UDP (16 bits) - Soma de verificação UDP (16 bits) - Datagrama completo: o tamanho máximo é função do tamanho máximo do IP (65535 octetos) Tamanho, em bytes do segmento UDP, incluíndo cabeçalho. UDP: User Datagram Protocol [RFC 768] Protocolo de transporte da Internet “sem gorduras”. Serviço “best effort” , segmentos UDP podem ser: – Perdidos. – entregues fora de ordem para a aplicação. Sem conexão: – não há apresentação entre o UDP transmissor e o receptor. – cada segmento UDP é tratado de forma independente dos outros. Porque existe um UDP ? não há estabelecimento de conexão (que pode redundar em atrasos). simples: não há estado de conexão nem no transmissor, nem no receptor. cabeçalho de segmento reduzido. não há controle de congestionamento: UDP pode enviar segmentos tão rápido quanto desejado (e possível). Muito usado por aplicações de mutimídia contínua (streaming) – tolerantes à perda – sensíveis à taxa Transferência confiável sobre UDP: necessidade de acrescentar confiabilidade na camada acima. Comparação Entre TCP e UDP em Termos de Aplicabilidade a Serviços em Tempo Real e Dados - O TCP é adequado ao transporte de serviços que requeiram confiabilidade e que não tenham como requisito o retardo de transporte. - O UDP é um protocolo simples e rápido sem qualquer recurso de controle do transporte. - Na internet há serviços que usam o UDP e aqueles que usam o TCP e há serviços que podem usar um ou outro. - O uso de um protocolo ou de outro está relacionado com a necessidade e características de cada serviço. - O UDP é tipicamente usado por aplicações como vídeo e audio streaming ou aplicações de simples requisição e resposta como pesquisas de DNS. -A ausência de um pacote UDP não é corrigida na recepção. - O UDP é mais adequado que o TCP para o transporte de serviços em tempo real, contudo, por não ter mecanismos de marcação da seqüência dos pacotes e de marcação de tempo dos pacotes (requisitos necessários ao transporte de serviços em tempo real), precisa de outros protocolos auxiliares para o transporte do tráfego em tempo real, por exemplo o RTP (Real Time Protocol). UDP : a) Servidor envia na taxa apropriada para o cliente (indiferente ao congestionamento da rede !) - Taxa de envio freqüente = taxa de codificação = taxa constante - Então, taxa de chegada = taxa constante — perda de pacotes. b) Pequeno atraso de reprodução (2~5 s) para compensar o atraso de jitter da rede c) Recuperação de erros: permitido pelo tempo Fluxo contínuo de multimídia: UDP ou TCP? TCP : a) Envia na máxima taxa possível suportada pela rede. b) Taxa de chegada flutua devido ao controle do congestionamento do TCP. c) Maior atraso de execução: suaviza a taxa de entrega do TCP. d) HTTP/TCP passa mais facilmente através dos firewalls. Comparação Entre TCP e UDP TCP (Transmission Control Protocol) UDP (User Datagrama Protocol) - Protocolo e serviço orientado a conexão oferecido pela camada de transporte - Protocolo e serviço não orientado a conexão oferecido pela camada de transporte - Estabelece conexão antes da transmissão. - Implementa controle de erro. - Implementa controle de fluxo. - Indicado para transmissão de grandes volumes de dados. - Complexo e lento. - Não estabelece conexão antes da transmissão. - Não oferece controle de erro. - Não oferece controle de fluxo. - Indicado para transmissão de pequenos volumes de dados.- Simples e rápido. - Serviços orientados a conexão: é estabelecida uma conexão lógica entre a origem e o destino antes do início da transmissão, semelhante ao conceito de circuito virtual apresentado na camada de rede. Além disso, garante a entrega e a sequência de dados transmitidos, por isso é também chamado de transporte confiável. - Serviços não orientados a conexão: não existe uma conexão lógica entre a origem e o destino, sendo semelhante ao conceito de datagrama apresentado na camada de rede. Além disso, não garante a entrega e a sequência de dados transmitidos, por isso é também chamado de transporte não confiável. 1. Diga qual protocolo você considera o melhor (TCP ou UDP) e explique por que. Atividade estruturada : Protocolos RTP (Real Time Protocol) e RTCP (Real Time Control Protocol) e Recursos para transporte de Serviços de Voz e Vídeo - O RSVP (Resource reSerVation Protocol) é um protocolo de sinalização entre roteadores para a troca de informações sobre aceitar ou não uma conexão com QoS (qualidade de serviço). - Um roteador dito transmissor envia uma mensagem “path” destinada a um roteador receptor. A mensagem contém endereço IP de origem, endereço IP de destino e uma especificação de fluxo com informações de QoS (taxa de bits, retardo...) desejadas. RSVP - A mensagem é roteada do transmissor ao receptor. - Os roteadores ao longo do caminho recebem a mensagem “path” e enviam uma mensagem de reserva aos roteadores seguintes do caminho. - Os roteadores ao receberem as requisições avaliam se têm como atender aos pedidos de reserva. Caso seja possível, os recursos são reservados e a requisição atendida. Caso não seja possível o transmissor é notificado. - Uma mensagem “resv” é enviada pelo receptor ao transmissor contendo a descrição do fluxo, definindo as informações de QoS aceitas. RTP - Protocolo de transporte em tempo-real (Real- Time Transport Protocol). - Definido na RFC 3350 e é o protocolo de transporte para aplicações em tempo real. - Normalmente usado sobre o UDP. - Serviços: identificação do tipo de carga útil (mídia), números de sequência e estampa de tempo. - Não possui controle de fluxo, controle de erros, confirmação e mecanismo de solicitação de retransmissões. - Complementa o UDP com, principalmente, as facilidades de time-stamp e sequence number. a) A facilidade de time-stamp permite que seja indicada uma marca do tempo em que o pacote é enviado. A facilidade permite monitorar o retardo e a variação de retardo entre o tempo de chegada dos pacotes ao destino. b) A facilidade de sequence number permite numerar os pacotes enviados e perceber na recepção dos pacotes se estes chegam na ordem enviada. Permite monitorar perda de pacotes no caso de ausência de algum pacote. Posição do RTP na pilha de protocolos (fonte: Tanenbaum) Formato do cabeçalho RTP (fonte: Tanenbaum) RTP e QoS RTP não fornece nenhum mecanismo para assegurar a entrega dos pacotes e dados no tempo correto nem fornece outras garantias de qualidade de serviço. O encapsulamento RTP é visto apenas nos sistemas finais, ou seja, ele não é percebido pelos roteadores intermediários. Roteadores fornecem o serviço de melhor esforço tradicional da Internet. Eles não fazem nenhum esforço especial para assegurar que os pacotes RTP cheguem ao destino no momento correto - Protocolo de controle de transporte em tempo real (Real-Time Transport Control Protocol). - Também definido na RFC 3350. - Pacotes RTCP enviados em multicast contém relatórios de remetente e/ou receptor com dados estatísticos: o remetente pode mudar a taxa de transmissão e o destinatário pode sincronizar diferentes fluxos de mídias em uma sessão RTP. RTCP -Possui um problema potencial de escalabilidade. Exemplo: a) Sessão RTP com um remetente e vários receptores em multicast. b) Total de tráfego RTP não muda se o número de receptores aumenta. c) Total de tráfego RTCP aumenta linearmente com o número de receptores, por causa dos relatórios periódicos dos receptores. Solução: cada participante reduz o tráfego RTCP à medida que o número de participantes da conferência aumenta. -O RTCP (Real Time Control Protocol) opera em conjunto com o RTP. - Permite informar à origem dos pacotes sobre a qualidade dos dados entregues no destino. - Informa o maior número de pacotes recebido, jitter, timestamps que permitem o cálculo de latência entre origem e destino. O RTP/RTCP são os protocolos responsáveis pela fase de transferência de mídia entre transmissor e receptor de vários serviços em tempo real, tal como o serviço VoIP ou video sob demanda. - O RTSP (Real Time Streaming Protocol) é um protocolo para controle da transferência de dados sob demanda com propriedades de tempo real. - Permite a interação cliente-servidor manipulando a execução do arquivo de forma semelhante a um controle remoto sobre um reprodutor de mídia gravada (CD ou DVD player). RTSP Recursos para transporte de Serviços de Voz e Vídeo - Segmentação. - Controle de erro fim a fim. - Multiplexação/demultiplexação. - Transferência de dados (confiável ou não). - Controle de fluxo fim a fim. - Controle de congestionamento. - Utilização da rede de forme rápida e simples através de API (Application Program Interface). Serviços de rede - Protocolos de aplicação e transporte utilizados Serviço Protocolo de aplicação Protocolo de transporte Transferência de arquivos FTP TCP Terminal remoto Telnet TCP Correio eletrônico SMTP TCP Serviço Web HTTP TCP Trivial FTP TFTP UDP Endereçamento dinâmico DHCP UDP Gerência remota SNMP UDP Serviço de nomes DNS UDP/TCP Serviço de arquivos remotos NFS UDP/TCP Fim
Compartilhar