Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Funcionamento e Conceito
280805
Bruno Roberto
OBJETIVO: Conceitos que devem ficar
sobre o TCP
TCP é um protocolo FIÁVEL
Oferece confiança na transferência, sob um
protocolo de Rede não confiável
Somente trabalha em cima de Circuito Virtual (VC)
Orientado Principalmente à Circuito Virtual
Aproveita melhor a velocidade de qualquer Rede
(Conceito de Janela)
Início e Fim de uma Conexão Virtual
Conceito de Portas e SOCKET
Flexibilidade para trabalhar em grande variedade de
Redes
OBJETIVO: Conceitos que devem ficar
sobre o TCP
Mede periodicamente o Tempo de “Time
Out” ou Round Trip Time
Através do “Round Trip Time”, pode medir o
tempo da Janela e ainda supor que o pacote
foi perdido
Conhecer as FLAG´s do TCP
Conceito de MSS e Fragmentação
O TCP é um protocolo de comunicação e
não um software
TCP – Definição da RFC
http://www.ietf.org/rfc.html
TCP – Formato de mensagens
DADOS
O DATAGRAMA TCP
UDP – Formato de Mensagem
Aplicação do Usuário
Aplicação
Host- to
- Cabeçalho TCP Área de Dados TCP
Host
Internet
Cabeçalho IP Área de Dados IP
Acesso Cabeçalho
Quadro Área de Dados do Quadro
TCP – Protocolo Fiável
Orientação do Stream
É o conjunto de bits, dividido em octetos (bytes)
Segmento
TCP – Protocolo Fiável
Transmissão “bufferizada”
Reúne uma quantidade de pacotes para depois
transmitir, para a Aplicação (no caso do
recebimento) ou para a camada de Rede (no
caso do envio)
Conexão “Full-Duplex”
Ao estabelecer um “VC”, é criado uma estrada de
duas vias, aonde pode-se enviar e receber ao
mesmo tempo, sem perdas. Ao final da Conexão,
deve-se encerrar as duas vias.
TCP – Protocolo Fiável
O Circuito Virtual - “VC”
Como um protocolo pode oferecer uma
transferência confiável se o sistema básico
de comunicação (IP) é não confiável ?
Envia Pacote 1
Recebe o Pacote 1
Envia a ACK 1
Recebe a ACK 1
Envia o Pacote 2
Recebe o Pacote 2
Envia a ACK 2
Recebe a ACK 2
TCP – Protocolo Fiável
“VC” – Problemas na Transmissão
Ocorrências na Ocorrências na
Instalação do Instalação do
Transmissor Receptor
Envia Pacote 1
Inicia o Timer
(Round Trip Time) Pacote deveria chegar
ACK deveria ser enviada
A ACK chegaria
normalmente nesta hora
O Timer Termina
Retransmite o Pacote 1
Inicia o Timer
Recebe o Pacote 1
Envia a ACK 1
Recebe o ACK 1
Cancela o Timer
TCP – Conceito de Janela Deslizante
1 2 3 4 5 6 7 8 9 10
...
(a)
A Janela Desliza
1 2 3 4 5 6 7 8 9 10
...
(b)
TCP – Conceito de Janela Deslizante
Envia o pacote 1
Recebe o Pacote 1
Envia o pacote 2 Envia a ACK 1
Recebe o Pacote 2
Envia o pacote 3 Envia a ACK 2
Recebe o pacote 3
Recebe a ACK 1 Envia a ACK 3
Recebe a ACK 2
Recebe a ACK 3
TCP – Início de uma conexão
Open Ativo Open Passivo
CLOSED LISTEN
SYN
SYN_SENT
SYN+ACK SYN_RECVD
ESTABLISHED
ACK
ESTABLISHED
3 WAY HANDSHAKE
TCP – Início de uma conexão
Conexão TCP Estabelecida, cria duas “estradas”
FULL DUPLEX
TCP – Término de uma conexão
ESTABLISHED ESTABLISHED
FIN_WAIT FIN
CLOSE_WAIT
ACK
FIN
LAST_ACK
FIN_WAIT 2
TIME_WAIT
ACK CLOSED
49152 à 65535
TCP – Conceito de Portas – Como
Funciona
São definidas pelo IANA
http://www.iana.org/assignments/port-
numbers
Exemplo:
Ponto terminal: 200.50.6.2 , 25
Ponto Terminal é chamado de SOCKET
TCP – VC entre 2 Sockets
.1 .2, 2
5) Porta TCP 25
. 1
9 5) e (1 0
18
1 0 . 1 .1.5,
( 25)
. 2 ,
Estação A (10.
1. 1
e
, 1 696) )
. 1.1. 5 2 5 2 5)
(10 ,
.1.1.2 .1 .2,
e (10 1 0.1
5 ) e
(
2 5)
239
0, 9 7) . 2,
.1.1.1 Estação B 5 , 2 5
0. 1.
1
(10 .1.2 (1
.0 e
(10 5 6 Estação F
10
),
.1
.5
Estação D 0. 1
(1
(10.0.1.67, 1895) e (10.1.1.2, 25)
TCP - Flags
0/tcp Reserved
systat 11/tcp Active Users
ftp-data 20/tcp File Transfer [Default Data]
ftp 21/tcp File Transfer [Control]
smtp 25/tcp Simple Mail Transfer
pop3 110/tcp Post Office Protocol - Version
3
imap 143/tcp Internet Message Access
Protocol
A “Máquina de Estado” TCP