1 / 31

Redes de Computadores

Redes de Computadores. Transmission Control Protocol - TCP. O modelo TCP/IP. Aplicativo. TCP,UDP. Transporte. IP. Internet. Interface de Rede. Comunicação vista pelo TCP. O Serviço de Transporte.

beth
Télécharger la présentation

Redes de Computadores

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Redes de Computadores Transmission Control Protocol - TCP Administração e Gerenciamento de Redes - SCE 238

  2. O modelo TCP/IP Aplicativo TCP,UDP Transporte IP Internet Interface de Rede Administração e Gerenciamento de Redes - SCE 238

  3. Comunicação vista pelo TCP Administração e Gerenciamento de Redes - SCE 238

  4. O Serviço de Transporte • Recebe dados da camada de aplicativos e os divide em unidades menores para a camada internet (IP). • multiplexação/demultiplexação • Orientado à conexão (ponto a ponto) • Controle de Fluxo (congestionamento) • Confiabilidade (tratar erros) Administração e Gerenciamento de Redes - SCE 238

  5. Transporte X Data Link • Controle de Erros • Controle de Fluxo • Seqüenciamento de Pacotes Administração e Gerenciamento de Redes - SCE 238

  6. Roteador SubRede Roteador Host Host Meio Físico a) Ambiente do Data Link b) Ambiente da camada de transporte • Dissimilaridades • Endereçamento • Conexão • Capacidade de armazenamento (buffering) Administração e Gerenciamento de Redes - SCE 238

  7. Estabelecendo uma conexão • Requisição de conexão conexão aceita • Não é tão simples: Pacotes • perdidos • armazenados (por roteadores) • duplicados Administração e Gerenciamento de Redes - SCE 238

  8. Formato de um segmento TCP Administração e Gerenciamento de Redes - SCE 238

  9. De onde vem a confiabiliade ? • Técnica de Reconhecimento com Retransmissão: (Aknowledgement with Retransmission) • Receptor comunica-se com emissor enviando uma msg ACK (aknowledgement) ao receber dados. • Emissor mantém registro de cada pacote enviado e mantém um timer p/ retransmissão Administração e Gerenciamento de Redes - SCE 238

  10. Reconhecimento c/ retransmissão Eventos no Emissor Msgs na Rede Eventos no Receptor Envia pacote 1 Recebe Pacote 1 Envia ACK 1 Recebe ACK 1 Envia Pacote 2 Recebe Pacote 2 Envia ACK 2 Recebe ACK 2 Administração e Gerenciamento de Redes - SCE 238

  11. Pacote perdido ou corrompido Eventos no Emissor Msgs na Rede Eventos no Receptor Pacote perdido Envia pacote 1 Inicia Timer Pacote deveria chegar ACK deveria ser enviado ACK deveria chegar Tempo espira Retransmite Pac. 1 Inicia Timer Recebe Pacote 1 Envia ACK 1 Recebe ACK 1 Cancela timer Administração e Gerenciamento de Redes - SCE 238

  12. Pacotes duplicados • Origem de pacotes duplicados • Gerados por camadas inferiores de rede • Atrasos (delays) na rede • Solução • Atribuir a cada pacote um nro de seqüência • exigir do receptor que “lembre” qual nro de seqüência recebeu Administração e Gerenciamento de Redes - SCE 238

  13. Segmentos, Streams e Nros de seqüência • TCP enxerga fluxo de dados (data stream) • sequência de octetos (bytes) • Agrupados em Segmentos • Cada segmento viaja dentro de um datagrama IP • Transporte utiliza janelas deslizantes • melhor eficiência (maior throughput) • controle de fluxo (buferização) Administração e Gerenciamento de Redes - SCE 238

  14. Janelas Deslizantes • No TCP, as janelas deslizantes operam ao nível de octetos (não segmentos ou pacotes) • Octetos são numerados seqüencialmente • conceitualmente, a cada octeto é atribuído um nro de seqüência. • Emissor mantém 3 ponteiros sobre a janela para cada conexão. Administração e Gerenciamento de Redes - SCE 238

  15. Janela Deslizante 1 2 3 4 5 6 7 8 9 10 11 ... Somente enviados após movimentação da janela Octetos enviados e reconhecidos Octetos não enviados mas que serão sem delay Octetos enviados e não reconhecidos Administração e Gerenciamento de Redes - SCE 238

  16. Three-way handshake • Procedimento usado para estabelecer conexão • normalmente iniciado por um TCP e atendido por outro TCP • Por que 3? • a escolha do nro inicial de seqüência (ISN) não está atrelada a um clock global de rede. Administração e Gerenciamento de Redes - SCE 238

  17. Handshake: abrindo conexão Eventos no Emissor Msgs na Rede Eventos no Receptor Envia SYNseq = x Recebe segmento SYN Envia SYN seq = y, ACKx +1 Recebe SYN +ACK Envia ACKy + 1 Recebe ACK Obs: Se SYN está presente: nro de seqüência é ISN O primeiro octeto de dados será ISN+1. Administração e Gerenciamento de Redes - SCE 238

  18. Seleção do 1º nro de sequência (ISN) • Aleatório: clock fictício de 32 bits incrementado a cada 4 microsegundos • ciclo de 4.55 horas • tempo máximo de vida de um segmento (MSL) < 4,55 • ISN será único. Administração e Gerenciamento de Redes - SCE 238

  19. Conexão antiga TCP A TCP B 1. FECHADA LISTEN 2. SYN-ENV. --> <SEQ=100><CTL=SYN> ... 3. (duplicate) ... <SEQ=90><CTL=SYN> --> SYN-RECEB. 4. SYN-ENV. <-- <SEQ=300><ACK=91><CTL=SYN,ACK> <-- SYN-RECEIVED 5. SYN-ENV. --> <SEQ=91><CTL=RST> --> LISTEN 6. ... <SEQ=100><CTL=SYN> --> SYN-RECEB. 7. SYN-ENV. <-- <SEQ=400><ACK=101><CTL=SYN,ACK> <-- SYN-RECEB. 8. ESTAB. --> <SEQ=101><ACK=401><CTL=ACK> --> ESTAB. Administração e Gerenciamento de Redes - SCE 238

  20. Fechando uma conexão • Conexão TCP: full duplex • contém 2 streams independentes de dados • O TCP que recebe pedido de fechamento, passa a não aceitar mais dados • O TCP que iniciou o fechamento, pode ainda receber dados. Administração e Gerenciamento de Redes - SCE 238

  21. Fechando conexão Eventos no Emissor Msgs na Rede Eventos no Receptor Aplicativo fecha conexão Envia FINseq = x Recebe segmento SYN Envia ACKx +1 (informa aplicativo) Recebe ACK Aplicativo fecha conexão Envia FINseq = y,ACK x + 1 Recebe SYN +ACK Envia ACKy + 1 Recebe ACK Administração e Gerenciamento de Redes - SCE 238

  22. O que é uma janela ?Controle de Congestão • Janela enviada em cada segmento indica faixa de nro de sequências que o emissor da janela está preparado para receber. • Tam. relacionado ao buffer da conexão Administração e Gerenciamento de Redes - SCE 238

  23. Administração e Gerenciamento de Redes - SCE 238

  24. Emissor Receptor 0 4K Aplicativo passa 2K vazio 2K seq=0 2K ACK=2048 WIN=2048 Aplicativo passa 2K 2K seq=2048 cheio Emissor bloqueado ACK=4096 WIN=0 Aplicativo lê 2K ACK=4096 WIN=2048 2K Emissor pode env. 2K 1K seq=4096 2K 1K Administração e Gerenciamento de Redes - SCE 238

  25. Observações • Emissor não tem que transmitir assim que dados chegam do aplicativo • Receptor não tem que retransmitir ACKs imediatamente. (pode esperar o buffer encher) Administração e Gerenciamento de Redes - SCE 238

  26. Formato de um segmento TCP Administração e Gerenciamento de Redes - SCE 238

  27. Tamanho máximo segmento • Header TCP: 20 bytes • Header IP: 20 bytes • Max: • 65535 - 20 - 20 = 65495 bytes de dados Administração e Gerenciamento de Redes - SCE 238

  28. Conteúdo do Segmento 1 • Sequence Number: nro do primeiro octeto no segmento (exceto SYN) • Aknowledgement: nro do octeto que o emissor espera receber. • Hlen: comprimento do cabeçalho • Reserved: não usado (projeto bem feito!) Administração e Gerenciamento de Redes - SCE 238

  29. Conteúdo do Segmento 2 • Code Bits: propósito/objetivo do segmento U R G A C K P S H R S T S Y N F I N • URG: indica dado urgente sendo transmitido • ACK: Se 0, desprezar nro de aknowledgement • PSH: transmite segmento sem bufferizar • RST: resetar conexão (queda do host, rejeitar segmento) Administração e Gerenciamento de Redes - SCE 238

  30. Code Bits 2.1 • URG: indica dado urgente sendo transmitido • ACK: Se 0, desprezar nro de aknowledgement • PSH: transmite segmento sem bufferizar • RST: resetar conexão (queda do host, rejeitar segmento) • SYN: estabelecer conexões (SYN=1) • FIN: liberar uma conexão • SYN e FIN tem nros de sequência. Administração e Gerenciamento de Redes - SCE 238

  31. Conteúdo do Segmento 3 • Window: quantos octetos podem ser mandados começando a partir do byte no campo aknowledgement number. • window = 0: receptor precisa de “descanso”. • Checksum: cabeçalho+dados • Options: funções extras • Especificar valor inicial da janela • se ausente, usar default (536+20=556 octetos) Administração e Gerenciamento de Redes - SCE 238

More Related