Você está na página 1de 13

REDES DE

COMPUTADORES
UNIDADE 6 Protocolo TCP/IP
(Aula 10 Sistema TCP/IP e Aspectos do Protocolo TCP)

Prof. Ivan Nunes da Silva

1. Protocolo TCP
1.1 Introduo ao TCP (1)
z O TCP (Transmission Control Protocol) o protocolo em nvel
de camada de transporte que oferece confiabilidade famlia
TCP/IP (RFC 793).
Aplicaes de
Rede

Camada de
Aplicao

TCP

Qualquer

Camada de
Transporte
Camada de
Internet

Camada de
Acesso
Rede

TCP

UDP
ICMP

IP

ARP
RARP

FTS
FDDI
PPP (modem)
Token Ring
Ethernet

Rede Fsica
2

1. Protocolo TCP
1.1 Introduo ao TCP (2)
z Os projetistas queriam uma interface direta para as
Aplicaes:
Capacidade de apontar os dados no apenas para um
host, mas para uma aplicao, utilizando-se da mesma
conexo lgica no transporte dos dados.
Um mecanismo de multiplexao (aceitar dados de
vrias aplicaes e direcion-los para uma sada na
Camada Internet).
Um mecanismo de demultiplexao (aceitar os dados
da Camada Internet e direcion-los para vrias
Aplicaes).

Outro aspecto do MUX/DEMUX que uma nica


aplicao pode manter conexes com vrios hosts
simultaneamente.

1. Protocolo TCP
1.1 Introduo ao TCP (3)
z O Processo de Multiplexao:

MULTIPLEXAO
Camada de
Aplicao

AP1

AP2

AP3

AP4
Portas

Camada de
Transporte

TCP / UDP
Camada de
Internet
Camada de
Acesso Rede

1. Protocolo TCP
1.1 Introduo ao TCP (4)
z O Processo de Demultiplexao:

DEMULTIPLEXAO
Camada de
Aplicao

AP1

AP2

AP3

AP4
Portas

Camada de
Transporte

TCP / UDP
Camada de
Internet
Camada de
Acesso Rede

1. Protocolo TCP
1.1 Introduo ao TCP (5)
z Portas Para as Aplicaes:
As Aplicaes podem enderear dados por meio dos
protocolos UDP e TCP usando nmeros de Portas.
Uma Porta um endereo interno predefinido que serve
como uma via da Aplicao para a Camada de Transporte e
vice-versa.
As Aplicaes mais conhecidas utilizam-se de nmeros de
portas default, previamente reservados para seu uso.
As portas 1 a 1023 so utilizadas por Aplicaes mais
conhecidas.
As portas 1024 a 65535 so utilizadas por outras aplicaes
quaisquer.
6

1. Protocolo TCP
1.1 Introduo ao TCP (6)
z Exemplos de Portas TCP:
Servio
echo
ftp
telnet
smtp
gopher
finger
http
pop3
nntp
nbsession
news

Nmero de
Porta
7
21
23
25
70
79
80
110
119
139
144

Descrio
Eco
File Transfer Protocol (FTP)
Conexo de rede de terminal
Simple Mail Transport Protocol (e-mail)
Gopher service (Web anterior ao WWW)
Finger (Busca de informaes em uma rede)
Servio da WWW
Post Office Protocol v. 3 (POP-3)
Network News Transfer Protocol (News)
Servio de sesso do NetBIOS
Notcias

1. Protocolo TCP
1.1 Introduo ao TCP (7)
z Exemplos de Portas UDP:
Servio

echo
nameserver
tftp
sunrpc
ntp
nbname
snmp

Nmero de
Porta

7
53
69
111
123
137
161

Descrio

Eco
Domain Name Server (DNS)
Trivial File Transfer Protocol
Remote Procedure Call (RPC)
Network Time Protocol
Nome do NetBIOS
Simple Network Management Protocol

1. Protocolo TCP
1.2 Caractersticas do Servio TCP
z o protocolo mais complexo e importante da pilha TCP/IP.
z Responsvel por prover s Aplicaes um DATA STREAM
(fluxo de dados) que apresente :
- Confiabilidade (RELIABILITY)
- Controle de Fluxo
- Controle de Erro
- Multiplexao entre Aplicaes

z Orientao conexo: estabelecimento, transferncia e


encerramento.
z Comunicao ponto-a-ponto: cada conexo tem exatamente
duas extremidades.
z Confiabilidade completa: garante que todos os dados sero
entregues livres de erros e na ordem correta.
z Estabelecimento de conexo confivel: garante que dados de
conexes anteriores no interferiro com a nova conexo.
z Encerramento de conexo gracioso: garante que todos os
dados sero entregues antes da conexo ser fechada.

1. Protocolo TCP
1.3 Controle de Erros e de Perdas (1)
z Segmentos so encapsulados em datagramas IP:
Podem chegar com erros ou podem ser perdidos.

z O controle de erros e de perdas de segmentos baseado


em mecanismos de:
Deteco de erros
Checksum gerado pelo emissrio e verificado pelo
destinatrio.

Confirmao positiva de recebimento com


Retransmisso
PAR Positive Acknowledgment with Retransmission;
Emissrio retransmite o segmento de tempos em tempos at
receber uma confirmao do destinatrio (ACK);
Quando um destinatrio recebe um segmento com checksum
vlido ele envia um pacote de confirmao (ACK).

Temporizao
10

Adaptativa estima atraso de ida-e-volta (round-trip delay).

1. Protocolo TCP
1.3 Controle de Erros e de Perdas (2)
z Exemplo de Retransmisso

11

1. Protocolo TCP
1.3 Controle de Erros e de Perdas (3)
z Exemplo de Temporizao Adaptativa
Otimizao de Desempenho
Situao 1

Situao 2

Tempo 1
Tempo 1
Tempo 2
Tempo 2

Quando comparados com o time out pequeno da Situao 2, o time out da Situao 1
maior em virtude de seus maiores tempos de envio e recebimento de pacotes.
12

1. Protocolo TCP
1.4 Ordenao e Confirmao de Segmentos
z Segmentos so encapsulados em datagramas IP:
Podem chegar fora de ordem ou podem ser perdidos.

z Ordenao de segmentos:
No estabelecimento da conexo, cada extremidade
conhece o nmero de seqncia inicial da outra
extremidade;
Cada segmento carrega seu nmero de seqncia (ordem
do primeiro byte do segmento dentro do stream);
Reordenao com uso de buffers.

z Confirmao de segmentos:
Cada segmento de confirmao carrega um nmero que diz
ao emissrio quantos bytes (em ordem) j foram recebidos;
Se a confirmao demora, o emissrio retransmite os
segmentos a partir da ltima confirmao.
13

1. Protocolo TCP
1.5 Controle de Fluxo de Segmentos (1)
z Buffers para reordenao de segmentos so
limitados.
z O controle de fluxo de segmentos baseado no
mecanismo de janelas deslizantes (sliding
windows) com adio de anncio do tamanho da
janela (window advertisement).
Cada segmento carrega, alm do nmero de confirmao,
um tamanho de janela que indica ao emissrio quantos
bytes o destinatrio dispe no buffer;
O emissrio pode transmitir segmentos at o limite da
janela, ento deve parar e esperar pela confirmao de
segmentos;
O tamanho da janela pode ser alterado dinamicamente para
controlar o fluxo de segmentos:
Janela = zero pare de transmitir.
14

1. Protocolo TCP
1.5 Controle de Fluxo de Segmentos (2)
z Mtodo das Janelas Deslizantes
O tamanho da janela regulado para manter a
rede completamente saturada de pacotes.
Permite transmisso eficiente com controle de
fluxo.
1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

Envia pacotes 1, 2 e 3

Recebe ACK 1

Desliza janela e
envia pacote 4

15

1. Protocolo TCP
1.6 Estabelecimento Confivel de Conexo (1)
z Conexo lgica (virtual) fim-a-fim.
z Baseado no mecanismo three-way handshake:
Host interessado em estabelecer conexo envia um
segmento com a flag SYN ativada, contendo o nmero de
seqncia gerado aleatoriamente (segmento de
sincronizao);
Host destino responde com outro segmento com as flags
SYN e ACK ativadas, contendo um nmero de seqncia
tambm gerado aleatoriamente e o nmero de seqncia
do segmento que ele espera receber;
O host que iniciou a conexo confirma o estabelecimento
da conexo enviando um segmento com a flag ACK
ativada, com o nmero de seqncia que o destino espera,
e com o nmero de seqncia que ele est esperando.
16

1. Protocolo TCP
1.6 Estabelecimento Confivel de Conexo (2)
z Ilustrao do Mecanismo de Three-way Handshake:
Host A

Host B

SYN, S(X)

SYN, ACK, S(Y), A(X+1)

ACK, S(X+1), A(Y+1), DATA

17

1. Protocolo TCP
1.7 Formato de Segmento TCP (1)
Porta Origem

Porta Destino
Nmero de Seqncia
Nmero de reconhecimento - ACK

UAPRS F
Tamanho
do
Reservado R C S S Y I
cabealho
GKHT NN
Checksum

Janela
Ponteiro de urgncia
Padding

Opes

Dados
z
z
z
z

Nmeros de porta identificam aplicaes (16 bits).


Nmero de seqncia (32 bits).
Nmero de reconhecimento ACK (32 bits).
Tamanho do cabealho (4 bits) .
nmero de palavras de 32 bits que indica o tamanho do cabealho.

18

z Reservado (6 bits): para uso futuro.

1. Protocolo TCP
1.7 Formato de Segmento TCP (2)
Porta Origem

Porta Destino
Nmero de Seqncia
Nmero de reconhecimento - ACK

UAPRS F
Tamanho
do
Reservado R C S S Y I
cabealho
GKHT NN
Checksum

Janela
Ponteiro de urgncia
Padding

Opes

Dados
z Flags de controle (1 bit cada):

19

URG: segmento urgente.


ACK: reconhecimento.
PSH: forar envio.
RST: um valor 1 reinicia a conexo.
SYN: pede estabelecer conexo nmeros de seq. sero sincronizados.
FIN: valor 1 anuncia trmino de conexo.

1. Protocolo TCP
1.7 Formato de Segmento TCP (3)
Porta Origem

Porta Destino
Nmero de Seqncia
Nmero de reconhecimento - ACK

UAPRS F
Tamanho
do
Reservado R C S S Y I
cabealho
GKHT NN
Checksum

Janela
Ponteiro de urgncia
Padding

Opes
Dados

20

z Janela (16 bits) disponibilidade, em octetos, do buffer de recepo.


z Checksum (16 bits) verificao de integridade dos dados.
z Ponteiro de urgncia (16 bits) - posio relativa ao incio do campo de dados, em que
se encerra uma seqncia que deve ser entregue com urgncia aplicao.
z Opes especifica um pequeno conjunto de valores opcionais, como por exemplo o
tamanho mximo (Maximum Segment Size - MSS).
z Padding bits zero extras (conforme necessidade de preenchimento de campo).
z Dados identifica os dados sendo transmitidos.

10

2. Protocolo UDP
2.1 Introduo ao UDP
z O UDP (User Datagram Protocol RFC 768 ) um protocolo
de transporte no orientado conexo.
Aplicaes de
Rede

Camada de
Aplicao

UDP

Qualquer

Camada de
Transporte
Camada de
Internet

Camada de
Acesso
Rede

TCP

UDP
ICMP

IP

ARP
RARP

FTS
FDDI
PPP (modem)
Token Ring
Ethernet

Rede Fsica
21

2. Protocolo UDP
2.2 Caractersticas do UDP
z Servio de datagrama para as aplicaes.
z No orientado a conexo.
z No confivel (No usa confirmao para certificao da
entrega de dados).
z No implementa nenhum mecanismo de recuperao de
erros.
z Mais eficiente do que TCP:
No estabelece conexo.
No confirma recebimento de dados.

z Ideal para muitas aplicaes cliente / servidor:


Servidor no sabe quais e nem quantos clientes iro solicitar
seus servios.
Protocolos do tipo requisio / resposta.
Resposta confirma a requisio.
22

11

2. Protocolo UDP
2.3 Formato do Datagrama do UDP
Porta Origem

Porta Destino

Tamanho

CheckSum
Dados

z Porta Origem (16 bits) e Porta Destino (16 bits).


z Tamanho (16 bits): tamanho em octetos do
cabealho + dados.
z CheckSum: gerado a partir do cabealho e dos
dados (16 bits). Item opcional e um valor zero nesse
campo indica que a soma no foi realizada.
23

3. Encapsulamento TCP/UDP
3.1 Ilustrao das Camadas do TCP/IP
Aplicao
UDP/TCP
Internet
Interface
de rede
24

12

3. Encapsulamento TCP/UDP
3.2 Ilustrao do Encapsulamento
dados do usurio

cabealho
UDP/TCP

cabealho
IP

cabealho
de rede

mensagens
DNS, SNMP, ...

datagrama UDP/
segmento TCP

datagrama IP

quadro da camada
de rede

25

Fim da Apresentao

26

13