O documento apresenta uma introdução ao protocolo TCP no nível de transporte, descrevendo suas principais características como o controle de conexão por meio de três vias de aperto de mão, o controle de sequência de pacotes e o reconhecimento de pacotes recebidos.
Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)
1. Introdução a Redes de
Computadores
- Nível de Transporte -
Protocolo TCP
(parte 1)
Prof. André Peres
andre.peres@poa.ifrs.edu.br
2. Sobre este material
• Vídeos da apresentação em:
Parte 1 - Nível de Transporte - Protocolo TCP
Parte 2 - Protocolo TCP (flags)
Parte 3 - Protocolo TCP (sequência)
Parte 4 - Protocolo TCP (parte 1 - prática)
Este trabalho está licenciado sob uma Licença Creative Commons
Atribuição-NãoComercial-SemDerivações 4.0 Internacional. Para ver uma
cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/4.0/.
3. Referências
Redes de Computadores
(impresso)
Redes de Computadores
(e-book)
Redes de Computadores II
(impresso)
Redes de Computadores II
(e-book)
Redes de Computadores III
(impresso)
Redes de Computadores III
(e-book)
4. Nível de Transporte
• TCP - Transmission Control Protocol (RFC 793)
• Orientado à conexão
• Garante a chega dos pacotes
• em ordem
• recebendo confirmações (ACK)
• retransmitindo em caso de perda ou erro
• controlando time-out
• controlando duplicação de pacotes
• controlando o fluxo de envio
6. Nível de Transporte - TCP
• Multiplexação de portas
• Source Port → porta de origem
• Destination Port → porta de destino
• Tamanho de cabeçalho
• Header length
• Identificação de erros no destino
• Checksum
7. Nível de Transporte - TCP
• Multiplexação de portas, tamanho de cabeçalho e controle
de erros no destino
8. Nível de Transporte - TCP
• Controle de conexão
• FLAG (1 bit) identificando início de conexão → SYN
• FLAG (1 bit) indicando a finalização de conexão → FIN
• FLAG (1 bit) de reconhecimento → ACK
13. Nível de Transporte - TCP
• Controle de Conexão
• Visão geral de uma conexão
14. • Demais FLAGS e Urgent Pointer
Nível de Transporte - TCP
15. • Demais FLAGS
• ECN - Explicit Congestion Notification
• Quando um roteador identifica uma situação de
congestionamento seta ECN = 1
• CWR - Congestion Window Reduced
• Ao ser notificado com ECN=1, o TCP diminui o fluxo
de transmissão diminuindo o valor do Congestion
Window e notifica o roteador setando CWR =1
Nível de Transporte - TCP
16. • Demais FLAGS
• URG e Urgent Pointer
• não são utilizados por aplicações modernas
• cria prioridades de dados de aplicação
• Urgent Pointer - especifica o volume (quantidade de
bytes) urgentes
• quando URG = 1 o TCP irá entregar os dados urgentes
para a aplicação imediatamente
• o TCP notifica a aplicação de que se tratam de dados
urgentes
Nível de Transporte - TCP
17. • Demais FLAGS
• PSH - Push
• notificação para entrega de dados para a aplicação
• identifica o final de um fluxo de dados
• ao receber PSH = 1 o TCP entrega os dados para a
aplicação
• RST - Reset
• interrupção de conexão abrupta
• indicação de problema na comunicação
• ao receber RST = 1 o TCP encerra a conexão sem mais
nenhuma troca de pacotes
Nível de Transporte - TCP
18. • Controle de Sequência
• Sequence number (Número de sequência)
• Acknowledgement number (Número de reconhecimento)
Nível de Transporte - TCP
19. Nível de Transporte - TCP
• Controle de Sequência
• Sequence number (Número de sequência)
• 32 bits (0 - 4.294.967.296)
• Incrementado quando:
• flag SYN=1
• incrementado em 1
• flag FIN=1
• incrementado em 1
• existem dados de aplicação
• incrementado no número de bytes de
aplicação
20. Nível de Transporte - TCP
Controle de Sequência
• Número de reconhecimento (Acknowledgement number)
• 32 bits (0 - 4.294.967.296)
• indica o valor de sequence number esperado
• reconhece o recebimento de todos os pacotes
anteriores
35. Nível de Transporte - TCP
• Cálculo de tempo médio de envio/recebimento de pacotes
• RTT (Round Trip Time)
• Calculado durante o estabelecimento da conexão
• Monitorado durante toda a conexão