introdução a redes de computadores - 6 - nível de transporte - tcp (p1)
TRANSCRIPT
![Page 1: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/1.jpg)
Introdução a Redes de Computadores
- Nível de Transporte -Protocolo TCP
(parte 1)
Prof. André [email protected]
![Page 2: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/2.jpg)
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/.
![Page 3: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/3.jpg)
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)
![Page 4: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/4.jpg)
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
![Page 5: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/5.jpg)
Nível de Transporte - TCP
• Cabeçalho TCP:
![Page 6: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/6.jpg)
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
![Page 7: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/7.jpg)
Nível de Transporte - TCP
• Multiplexação de portas, tamanho de cabeçalho e controle de erros no destino
![Page 8: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/8.jpg)
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
![Page 9: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/9.jpg)
Nível de Transporte - TCP
• Controle de Conexão
![Page 10: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/10.jpg)
Nível de Transporte - TCP
Controle de Conexão• Estabelecimento de conexões (three-way handshake)
![Page 11: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/11.jpg)
Nível de Transporte
Controle de Conexão• Finalização de conexões (4 vias)
![Page 12: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/12.jpg)
Nível de Transporte
Controle de Conexão• Finalização de conexões (3 vias)
![Page 13: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/13.jpg)
Nível de Transporte - TCP
• Controle de Conexão• Visão geral de uma conexão
![Page 14: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/14.jpg)
• Demais FLAGS e Urgent Pointer
Nível de Transporte - TCP
![Page 15: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/15.jpg)
• 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
![Page 16: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/16.jpg)
• 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
![Page 17: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/17.jpg)
• 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
![Page 18: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/18.jpg)
• Controle de Sequência• Sequence number (Número de sequência)• Acknowledgement number (Número de reconhecimento)
Nível de Transporte - TCP
![Page 19: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/19.jpg)
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
![Page 20: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/20.jpg)
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
![Page 21: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/21.jpg)
Nível de Transporte - TCP
Controle de Sequência
![Page 22: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/22.jpg)
Nível de Transporte - TCP
C S
![Page 23: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/23.jpg)
Nível de Transporte - TCP
C S
SeqNum = 0 | AckNum = 0 SYN
![Page 24: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/24.jpg)
Nível de Transporte - TCP
C S
SeqNum = 0 | AckNum = 0 SYN
SeqNum = 0 | AckNum = 1 SYN/ACK
![Page 25: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/25.jpg)
Nível de Transporte - TCP
C S
SeqNum = 0 | AckNum = 0 SYN
SeqNum = 0 | AckNum = 1 SYN/ACK
SeqNum = 1 | AckNum = 1 ACK
![Page 26: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/26.jpg)
Nível de Transporte - TCP
C S
SeqNum = 0 | AckNum = 0 SYN
SeqNum = 0 | AckNum = 1 SYN/ACK
SeqNum = 1 | AckNum = 1 ACK
42 bytes aplicação SeqNum = 1 | AckNum = 1
![Page 27: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/27.jpg)
Nível de Transporte - TCP
C S
SeqNum = 0 | AckNum = 0 SYN
SeqNum = 0 | AckNum = 1 SYN/ACK
SeqNum = 1 | AckNum = 1 ACK
42 bytes aplicação SeqNum = 1 | AckNum = 1
SeqNum = 1 | AckNum = 43
![Page 28: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/28.jpg)
Nível de Transporte - TCP
C S
SeqNum = 0 | AckNum = 0 SYN
SeqNum = 0 | AckNum = 1 SYN/ACK
SeqNum = 1 | AckNum = 1 ACK
42 bytes aplicação SeqNum = 1 | AckNum = 1
SeqNum = 1 | AckNum = 43
2 bytes aplicação SeqNum = 43 | AckNum = 1
![Page 29: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/29.jpg)
Nível de Transporte - TCP
C S
SeqNum = 0 | AckNum = 0 SYN
SeqNum = 0 | AckNum = 1 SYN/ACK
SeqNum = 1 | AckNum = 1 ACK
42 bytes aplicação SeqNum = 1 | AckNum = 1
SeqNum = 1 | AckNum = 43
2 bytes aplicação SeqNum = 43 | AckNum = 1
SeqNum = 1 | AckNum = 45
![Page 30: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/30.jpg)
Nível de Transporte - TCP
C S
SeqNum = 0 | AckNum = 0 SYN
SeqNum = 0 | AckNum = 1 SYN/ACK
SeqNum = 1 | AckNum = 1 ACK
42 bytes aplicação SeqNum = 1 | AckNum = 1
SeqNum = 1 | AckNum = 43
2 bytes aplicação SeqNum = 43 | AckNum = 1
SeqNum = 1 | AckNum = 45
SeqNum = 1 | AckNum = 45350 bytes aplicação
![Page 31: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/31.jpg)
Nível de Transporte - TCP
C S
SeqNum = 0 | AckNum = 0 SYN
SeqNum = 0 | AckNum = 1 SYN/ACK
SeqNum = 1 | AckNum = 1 ACK
42 bytes aplicação SeqNum = 1 | AckNum = 1
SeqNum = 1 | AckNum = 43
2 bytes aplicação SeqNum = 43 | AckNum = 1
SeqNum = 1 | AckNum = 45
SeqNum = 1 | AckNum = 45350 bytes aplicação
SeqNum = 45 | AckNum = 351
![Page 32: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/32.jpg)
Nível de Transporte - TCP
C S
SeqNum = 0 | AckNum = 0 SYN
SeqNum = 0 | AckNum = 1 SYN/ACK
SeqNum = 1 | AckNum = 1 ACK
42 bytes aplicação SeqNum = 1 | AckNum = 1
SeqNum = 1 | AckNum = 43
2 bytes aplicação SeqNum = 43 | AckNum = 1
SeqNum = 1 | AckNum = 45
SeqNum = 1 | AckNum = 45350 bytes aplicação
SeqNum = 45 | AckNum = 351
SeqNum = 351 | AckNum = 45 FIN
![Page 33: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/33.jpg)
Nível de Transporte - TCP
C S
SeqNum = 0 | AckNum = 0 SYN
SeqNum = 0 | AckNum = 1 SYN/ACK
SeqNum = 1 | AckNum = 1 ACK
42 bytes aplicação SeqNum = 1 | AckNum = 1
SeqNum = 1 | AckNum = 43
2 bytes aplicação SeqNum = 43 | AckNum = 1
SeqNum = 1 | AckNum = 45
SeqNum = 1 | AckNum = 45350 bytes aplicação
SeqNum = 45 | AckNum = 351
SeqNum = 351 | AckNum = 45 FIN
FIN/ACKSeqNum = 45 | AckNum = 352
![Page 34: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/34.jpg)
Nível de Transporte - TCP
C S
SeqNum = 0 | AckNum = 0 SYN
SYN/ACK
ACK
SeqNum = 0 | AckNum = 1
SeqNum = 1 | AckNum = 1
42 bytes aplicação SeqNum = 1 | AckNum = 1
SeqNum = 1 | AckNum = 43
SeqNum = 43 | AckNum = 1 2 bytes aplicação
SeqNum = 1 | AckNum = 45
SeqNum = 1 | AckNum = 45350 bytes aplicação
SeqNum = 45 | AckNum = 351
SeqNum = 351 | AckNum = 45 FIN
SeqNum = 45 | AckNum = 352
SeqNum = 352 | AckNum = 46 ACK
FIN/ACK
![Page 35: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/35.jpg)
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
![Page 36: Introdução a Redes de Computadores - 6 - Nível de Transporte - TCP (p1)](https://reader033.vdocuments.mx/reader033/viewer/2022042716/55adf9f11a28ab9a5f8b47e6/html5/thumbnails/36.jpg)
Nível de Transporte - TCP
• Exercício: captura e análise de cabeçalhos TCP