Instituto de Educação, Ciência e
Tecnologia - Alagoas
Redes de Computadores
Aulas 59-62
Sumário
1. UDP
2. TCP
Sumário
1. UDP
2. TCP
1. UDP
●Protocolos da Camada de Transporte:
»
Identificam os sistemas finais
Hosts finais executam múltiplos aplicativos – Executados em processos separados ou em threads Sistemas Operacionais multiusuário e multitarefa»
O que é um protocolo fimafim?
Permite que um programa individual sirva como ponto final no processo de comunicação1. UDP
●Protocolos da Camada de Transporte:
»
UDP – User Datagram Protocol
Menos complexo Apresenta maior facilidade de compreensão»
contudo ...
O UDP não fornece o tipo de serviço esperado por boa parte dos aplicativos1. UDP
●Caracterização do UDP:
»
Protocolo fimafim
»
Nãoorientado à conexão
Não há estabelecimento prévio de conexão Não há préestabelecimento de tempo de espera entre o envio de duas mensagens Não há mensagens de controle Apresenta baixa sobrecarga»
Orientado a mensagens
»
Melhor esforço(replica o modelo de serviço do IP)
»
Interatividade arbitrária
1. UDP
●Caracterização do UDP:
»
Orientado a mensagens
Produtividade: – Relação: tamanho do pacote X tamanho do cabeçalho Fragmentação»
Melhor esforço(replica o modelo de serviço do IP)
Não detecta ou corrige anomalias Aplicativos com tolerância a erros preferem UDP1. UDP
●Caracterização do UDP:
»
Interatividade arbitrária
1a1 1amuitos muitosa1 Muitosamuitos»
Suporte para:
Unicast Multicast Broadcast1. UDP
●Caracterização do UDP:
»
Utilizam número de porta para identificar sistemas
finais
»
Lembrese do arquivo portnumbers!
http://www.iana.org/assignments/portnumbers1. UDP
●Formato do datagrama IP
»
Mensagens UDP possuem:
Cabeçalho (8 bytes) Carga útil – Também camada de carregamento ou payload.1. UDP
●Campos do datagrama UDP
»
Porta de fonte / Porta de destino
»
Tamanho da mensagem
»
Checksum(soma de verificação)
Opcional ●EXERCÍCIOS
»
Resolva os exercícios da página 345:
[COMER, 2007]
24.1, 24.2, 24.3, 24.4Sumário
1. UDP
2. TCP
2. TCP
●[COMER, 2007]
»
“O TCP executa uma tarefa aparentemente
impossível: usa o serviço de entrega não confiável
oferecido pelo IP quando está enviando dados para
outro computador, mas fornece um serviço
confiável de entrega de dados a programas
aplicativos.”
2. TCP
●A demanda por transporte confiável
»
Software de interrede deve garantir uma
comunicação imediata e confiável
Dados devem ser entregues: – Na mesma ordem em que foram enviados – Sem perda – Sem duplicação ●Para tanto:
»
Transmission Control Protocol
2. TCP
●Serviço oferecido pelo TCP para os aplicativos:
1. Orientação à conexão
2. Comunicação pontoaponto
Cada conexão TCP possui exatamente duas extremidades3. Confiabilidade completa
4. Comunicação Fullduplex
5. Interface de Stream
Aplicativo envia uma seqüência contínua de bytes6. Partida de conexão confiável
2. TCP
●Serviços fimafim e datagramas
»
TCP estabelece conexões virtuais
São obtidas via software.»
Do ponto de vista do TCP:
A interrede é um sistema de comunicação que pode aceitar e entregar mensagens sem mudar ou interpretar seu conteúdo2. TCP
●Perda de pacote e retransmissão
»
Remetente compensa a perda de pacotes
implementando um esquema de retransmissão
Quanto tempo esperar? – Muito tempo: ociosidade – Pouco tempo: duplicação Fatores que influenciam o atraso:2. TCP
●Retransmissão adaptativa
»
Antes do TCP: valor fixo de retransmissão
Não funciona bem em uma interrede(na nuvem)»
Evolução: retransmissão adaptativa
“TCP monitora o atraso corrente em cada conexão e adapta (isto é, altera) o timer de transmissão para acomodar as condições variáveis.”2. TCP
●Retransmissão adaptativa
1 ACK 1 RTT1 RTT3 RTT2 f(RTT1,RTT2,RTT3) = TE1 TE1=Tempo de Espera 1 2 3 ACK 2 ACK 3 4 X Mensagem perdida!!! Esperar TE1 segundos 42. TCP
●Qual o tempo de espera ideal o TCP deve utilizar?
Maior que o RTT. Contudo, o RTT é variável Caso TE seja muito pequeno: – Haverá retransmissões desnecessárias Caso TE seja muito longo: – Haverá demora na reação para tratar segmentos perdidos»
Como estimar o RTT?
SampleRTT: – quantidade de tempo transcorrido entre o momento em que o segmento é enviado e o momento em que um ACK é recebido – Sofre variações de acordo com o congestionamento nos roteadores e carga nos sistemas finais(qualquer valor pode ser atípico)2. TCP
●
Estimativa do tempo de viagem de ida e volta(RTT)
»
Estimativa de RTT:
EstimatedRTT = (1 )•EstimatedRTT + •SampleRTT
– Tempo estimado é combinação ponderada entre o valor estimado de
RTT atual e o novo valor de RTT
Valor recomendado para : 0,125 (ou seja, 1/8)[RFC 2988] Logo:
2. TCP
●
Estimativa do tempo de viagem de ida e volta(RTT)
Variabilidade de RTT:
– DevRTT = (1)•DevRTT•|SampleRTT EstimatedRTT|
2. TCP
●Estabelecimento e gerenciamento da
temporização de retransmissão
»
Conhecidos os valores de
DevRTT e EstimatedRTT Qual valor deve ser usado para retransmissão do TCP? – Maior que EstimatedRTT: Evita retransmissões desnecessárias – Contudo não deve ser muito maior. Solução: – TempoDeEspera = EstimatedRTT + 4•DevRTT2. TCP
●Buffers, controle de fluxo e janelas
»
TCP utiliza um mecanismo de janela para o
controle de fluxo
Windowing (ou janelamento)»
Como funciona o mecanismo de janelamento?
1. Após o estabelecimento da conexão, cada lado aloca um buffer para armazenar dados que chegam. 2. À medida em que os dados chegam, o receptor envia ACKs, que especificam também o tamanho do buffer restante disponível, ou seja, a janela. – window advertisement2. TCP
●Buffers, controle de fluxo e janelas
»
Situação 1:
Receptor consegue ler os dados tão depressa quanto eles chegam – Envia um tamanhos de janela positivos»
Situação 2:
Receber não consegue ler os dados tão depressa quanto eles chegam Dados que chegam acabam enchendo todo o buffer2. TCP
●
Buffers, controle de fluxo e janelas
2. TCP
●
Exemplo:
»
Janela inicial:
2000 bytes
2. TCP
2. TCP
●