Fundamento de Redes de Computadores              Aula 8      Camada de Transporte II
Notas da Aula✔    .●        Fundamentos de Redes de Computadores   2/27
Relembrando as Camadas     Fundamentos de Redes de Computadores   3/27
Transporte orientado para conexão: TCPTCP: Visão geral (RFCs: 793, 1122, 1323, 2018, 2581)                                ...
Estrutura do Segmento TCP                                          32 bitsURG: dados urgentes                             ...
Número de Sequência e Acks do TCP#’s de sequência:  −      “número” na cadeia de        bytes do 1º byte nos        dados ...
Tempo de ida e volta e timeout do TCPComo definir o valor de               Como estimar o RTT? timeout do TCP?            ...
EstimatedRTT = (1- α)*EstimatedRTT + α*SampleRTTmédia móvel exponencial ponderadainfluência da amostra passada diminui  ex...
Amostras de RTT Estimados      Fundamentos de Redes de Computadores   9/27
Transferência confiável de dados no TCPTCP cria serviço rdt em●                                  ●                        ...
Eventos de remetente TCP:dados recebidos da apl.:                 timeout:                                               −...
TCP: cenários de retransmissão               Hosp. A              Hosp. B                                              Hos...
Host A                Host B                       Seq =                             92, 8                                ...
TCP Geração de Ack   Fundamentos de Redes de Computadores   14/27
Retransmissão Rápidaperíodo de timeout●                                          ●                                        ...
Hosp. A                              Hosp. B         seq # x1         seq # x2         seq # x3                           ...
Controle de Fluxo TCP   lado receptor da conexão controle de fluxo     TCP tem um buffer de     recepção:               re...
Controle de fluxo TCP: como funciona                                              destinatário: anuncia           espaçoda...
Gerenciamento da conexão TCPlembre-se: Remetente e         apresentação de 3 vias:  destinatário TCP estabelecem etapa 1: ...
Gerenciamento da conexão TCPfechando uma conexão:cliente fecha socket:                                               clien...
Princípios de controle de congestionamentoCongestionamento:informalmente: “muitas fontes enviando muitos  dados muito rápi...
Causas/custos do congestionamento: cenário 1dois remetentes,  dois destinatáriosum roteador,  infinitos bufferssem retrans...
Causas/custos do congestionamento: cenário 2um roteador, buffers finitosretransmissão do pacote perdido pelo remetente“cus...
Causas/custos do congestionamento: cenário 3quatro remetentescaminhos com vários  saltostimeout/retransmissão             ...
sempre: λin = λout (vazão)      retransmissão “perfeita” apenas quando há perda: λin > λout      retransmissão do pacote a...
Técnicas para controle de congestionamentoduas técnicas amplas para             controle de  controle de                  ...
Slides baseados no material do livro Fundamento          de Redes da Pearson Editora.               Fundamentos de Redes d...
Próximos SlideShares
Carregando em…5
×

Aula 8 camada de transporte ii

1.244 visualizações

Publicada em

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.244
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
67
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula 8 camada de transporte ii

  1. 1. Fundamento de Redes de Computadores Aula 8 Camada de Transporte II
  2. 2. Notas da Aula✔ .● Fundamentos de Redes de Computadores 2/27
  3. 3. Relembrando as Camadas Fundamentos de Redes de Computadores 3/27
  4. 4. Transporte orientado para conexão: TCPTCP: Visão geral (RFCs: 793, 1122, 1323, 2018, 2581) dados full duplex:ponto a ponto: −dados bidirecionais fluem na − um remetente, um destinatário mesma conexãocadeia de bytes confiável, em −MSS: tamanho máximo do ordem: − sem “limites de mensagem” segmentoparalelismo: orientado a conexão: − congestionamento TCP e controle − apresentação (troca de msgs de fluxo definem tamanho da de controle) inicia estado do janela remetente e destinatáriobuffers de envio & recepção antes da troca de dados fluxo controlado: − remetente não sobrecarrega destinatário Fundamentos de Redes de Computadores 4/27
  5. 5. Estrutura do Segmento TCP 32 bitsURG: dados urgentes contagem por (quase não usado) porta origem porta destino bytes de dados (não segmentos!) ACK: # ACK número sequência válido número reconhecimento compr.não cab. usado UAP R S F janela recepção # bytesPSH: empurrar dados destinatário agora (quase não soma verificação ponteiro dados urg. pode aceitar usado) RST, SYN, FIN: opções (tamanho variável) estab. conexão (comandos setup, teardown) dados da soma de aplicação verificação da Internet (tamanho variável) (como em UDP) Fundamentos de Redes de Computadores 5/27
  6. 6. Número de Sequência e Acks do TCP#’s de sequência: − “número” na cadeia de bytes do 1º byte nos dados do segmentoACKs: − # seq do próximo byte esperado do outro lado − ACK cumulativoex.: como o destinatário trata segmentos fora de ordemex.: TCP não diz – a critério do implementador Fundamentos de Redes de Computadores 6/27
  7. 7. Tempo de ida e volta e timeout do TCPComo definir o valor de Como estimar o RTT? timeout do TCP? SampleRTT: tempo medido da transmissão domaior que RTT segmento até receber o − mas RTT varia ACKmuito curto: timeout − ignora retransmissões prematuro SampleRTT variará; − retransmissões queremos RTT estimado desnecessárias “mais estável” − média de várias mediçõesmuito longo: baixa recentes, não apenas reação a perda de SampleRTT atual segmento Fundamentos de Redes de Computadores 7/27
  8. 8. EstimatedRTT = (1- α)*EstimatedRTT + α*SampleRTTmédia móvel exponencial ponderadainfluência da amostra passada diminui exponencialmente rápidovalor típico: α = 0,125 Fundamentos de Redes de Computadores 8/27
  9. 9. Amostras de RTT Estimados Fundamentos de Redes de Computadores 9/27
  10. 10. Transferência confiável de dados no TCPTCP cria serviço rdt em● ● retransmissões são cima do serviço não disparadas por: confiável do IP − eventos de timeout − ACKs duplicadossegmentos em paralelo● ● inicialmente, considera remetente TCPACKs cumulativos● simplificado: − ignora ACKs duplicadosTCP usa único● − ignora controle de temporizador de fluxo, controle de retransmissão congestionamento Fundamentos de Redes de Computadores 10/27
  11. 11. Eventos de remetente TCP:dados recebidos da apl.: timeout: − retransmite segmentocria segmento com # seq que causou timeout# seq # é número da cadeia de bytes do primeiro byte de − reinicia temporizador dados no segmento ACK recebido:inicia temporizador, se ainda − Reconhecem-se não tiver iniciado (pense nele segmentos sem ACK como para o segmento mais antigo sem ACK) anteriores ● atualiza o queintervalo de expiração: sabidamente tem ACK TimeOutInterval ● inicia temporizador se houver segmentos pendentes Fundamentos de Redes de Computadores 11/27
  12. 12. TCP: cenários de retransmissão Hosp. A Hosp. B Hosp. A Hosp. B Seq = Seq = 92, 8 92, 8 by tes da bytes dados Seq = 92 timeout dos Seq = 100, 20 by t e s da timeout dos = 100 ACK 00 X K =1 = loss AC ACK Seq = 120 Seq = 92, 8 92, 8 Sendbase bytes by tes da dados Seq = 92 timeout dos = 100 SendBase = 120 K= = AC AC K 120 100SendBase= 100 SendBase = 120 Timeout prematuro tempo tempo Cenário de ACK perdido Fundamentos de Redes de Computadores 12/27
  13. 13. Host A Host B Seq = 92, 8 by tes da dos 100 timeout Seq = 100, 2 AC K= 0 bytes dados X perdaSendBase ACK == 120 120 tempo Cenário ACK cumulativo Fundamentos de Redes de Computadores 13/27
  14. 14. TCP Geração de Ack Fundamentos de Redes de Computadores 14/27
  15. 15. Retransmissão Rápidaperíodo de timeout● ● se remetente recebe 3 relativamente grande: longo atraso antes de reenviar − ACKs para os pacote perdido mesmos dados, eledetecta segmentos perdidos● supõe que segmento por meio de ACKs após dados com ACK duplicados −remetente geralmente envia foi perdido: muitos segmentos um após o − retransmissão rápida: outro reenvia segmento −se segmento for perdido, antes que o provavelmente haverá muitos ACKs duplicados para esse temporizador expire segmento Fundamentos de Redes de Computadores 15/27
  16. 16. Hosp. A Hosp. B seq # x1 seq # x2 seq # x3 ACK x1 seq # x4 X seq # x5 ACK x1 ACK x1 ACK x1 ACKsduplicadostrês vezes reenv ia se q X 2 timeout tempo Fundamentos de Redes de Computadores 16/27
  17. 17. Controle de Fluxo TCP lado receptor da conexão controle de fluxo TCP tem um buffer de recepção: remetente não estourará buffer do destinatário transmitindo muitos dados muito rapidamente espaçodatagramas de buffer dados TCP processo daIP (atualmente) não usado (no buffer) aplicação serviço de compatibilização de velocidades: compatibiliza a taxa de processo da aplicação envio do remetente com a pode ser lento na de leitura da aplicação leitura do buffer receptora Fundamentos de Redes de Computadores 17/27
  18. 18. Controle de fluxo TCP: como funciona destinatário: anuncia espaçodatagramas de buffer dados TCP processo da (atualmente) (no buffer) aplicação espaço de buffer nãoIP não usado usado incluindo valor de rwnd no cabeçalho do segmento (suponha que destinatário TCP descarte segmentos remetente: limita # de fora de ordem) bytes com ACKa rwnd espaço de buffer não usado: garante que buffer do = rwnd destinatário não = RcvBuffer-[LastByteRcvd estoura - LastByteRead] Fundamentos de Redes de Computadores 18/27
  19. 19. Gerenciamento da conexão TCPlembre-se: Remetente e apresentação de 3 vias: destinatário TCP estabelecem etapa 1: hosp. cliente envia “conexão” antes que troquem segmento SYN do TCP ao segmentos dados servidor −especifica # seq. inicial −sem dadosinicializa variáveis TCP: − #s seq.: etapa 2: hosp. servidor recebe − buffers, informação de SYN, responde com controle de fluxo (p. e. segmento SYNACK RcvWindow) −servidor aloca bufferscliente: inicia a conexão −especifica # seq. inicial do − Socket clientSocket = new servidor Socket("hostname","port #"); etapa 3: cliente recebeservidor: contactado pelo cliente SYNACK, responde com − Socket connectionSocket = segmento ACK, que pode welcomeSocket.accept(); conter dados Fundamentos de Redes de Computadores 19/27
  20. 20. Gerenciamento da conexão TCPfechando uma conexão:cliente fecha socket: cliente servidor clientSocket.close(); fecha FINetapa 1: sistema final do cliente envia segmento de controle TCP FIN ao servidor fecha ACKetapa 2: servidor recebe FIN, temporizada espera responde com ACK. Fecha FIN conexão, envia FIN. ACKetapa 3: cliente recebe FIN, responde com ACK − entra em “espera temporizada” – responderá com ACK aos FINs fechado recebidosetapa 4: servidor recebe ACK - conexão fechadaNota: Com pequena modificação, pode tratar de FINs simultâneos. Fundamentos de Redes de Computadores 20/27
  21. 21. Princípios de controle de congestionamentoCongestionamento:informalmente: “muitas fontes enviando muitos dados muito rápido para a rede tratar”diferente de controle de fluxo!manifestações: − pacotes perdidos (estouro de buffer nos roteadores) − longos atrasos (enfileiramento nos buffers do roteador)um dos maiores problemas da rede! Fundamentos de Redes de Computadores 21/27
  22. 22. Causas/custos do congestionamento: cenário 1dois remetentes, dois destinatáriosum roteador, infinitos bufferssem retransmissãograndes atrasos quando congestionadovazão máxima alcançável Fundamentos de Redes de Computadores 22/27
  23. 23. Causas/custos do congestionamento: cenário 2um roteador, buffers finitosretransmissão do pacote perdido pelo remetente“custos” do congestionamento:mais trabalho (retransmissão) para determinada “vazão”retransmissões desnecessárias: enlace transporta várias cópias do pacote Fundamentos de Redes de Computadores 23/27
  24. 24. Causas/custos do congestionamento: cenário 3quatro remetentescaminhos com vários saltostimeout/retransmissão Fundamentos de Redes de Computadores 24/27
  25. 25. sempre: λin = λout (vazão) retransmissão “perfeita” apenas quando há perda: λin > λout retransmissão do pacote adiado (não pedido) torna λin maior (que o caso perfeito ) para o mesmo λout R/2 R/2 R/2 R/3λ λ λ R/4out out out R/2 R/2 R/2 λin λin λin a. b. c. Fundamentos de Redes de Computadores 25/27
  26. 26. Técnicas para controle de congestionamentoduas técnicas amplas para controle de controle de congestionamento congestionamento: assistido pela rede:controle de congestionamento fim a ● roteadores oferecem fim: feedback aos sistemas finais● nenhum feedback explícito − único bit indicando da rede congestionamento● congestionamento (SNA, DECbit, TCP/IP deduzido da perda e ECN, ATM) atraso observados do − taxa explícita que o sistema final remetente deve enviar● técnica tomada pelo TCP no enlace de saída Fundamentos de Redes de Computadores 26/27
  27. 27. Slides baseados no material do livro Fundamento de Redes da Pearson Editora. Fundamentos de Redes de Computadores 27/27

×