Вы находитесь на странице: 1из 6

Redes de Computadores II- Aula 21 - TCP (1)

1. Introdução
Limitações do protocolo IP
• O protocolo IP da camada de rede não fornece uma transferência de dados fim a
fim confiável porque :
 Os pacotes podem não chegar ao destino devido a algum problema nos nós
intermediários
 Os pacotes podem não chegar ordenados no destino
 IP não faz checagem de erros no pacote transmitido. Essa checagem é feita
apenas no cabeçalho do protocolo
Quem resolverá os problemas acima é o TCP (Transmission control Protocol)

Funções da camada de Transporte


• Controle fim a fim de que os pacotes chegam e chegam corretamente utilizando
números de seqüência e reconhecimentos
• Controle de fluxo
• Segmentação e blocagem de segmentos para transmissão
• Controle de seqüência de mensagens fim a fim
• Detecção de erros

2. TCP

Transmission Control Protocol - Protocolo de controle de transmissão

Características TCP :

Baseando-se no modelo de referência OSI, o protocolo TCP é um protocolo que reside


na camada de transporte como mostra a figura acima.

O TCP permite que múltiplos programas de aplicação numa determinada máquina se


comuniquem concorrentemente com outros programas de outras máquinas.

O TCP é um protocolo orientado a conexão que fornece um serviço confiável de


transferência de dados fim a fim

Solução para os problemas de erros que não forem solucionados no nível IP, dado que
este último é um protocolo sem conexão.

Redes TCP/IP-Mauro Mendes Em 14/06/2005 Página 21- 1


Redes de Computadores II- Aula 21 - TCP (1)

Alguns dos problemas com os que TCP deve tratar são:


• pacotes perdidos ou destruídos por erros de transmissão
• expedição de pacotes fora de ordem ou duplicados.

3. Transmissão de segmentos

Cada octeto transmitido é associado a um número de sequência de segmento. Os


segmentos podem carregar "de carona" (piggybacking) um reconhecimento.

O reconhecimento é o número de sequência do próximo octeto que o receptor espera


receber.

Quando uma entidade TCP transmite um segmento de dados ele o coloca em uma fila
de retransmissão e dispara um temporizador. Se o reconhecimento é recebido, o
segmento é retirado da fila. Senão, o segmento é retransmitido.

Redes TCP/IP-Mauro Mendes Em 14/06/2005 Página 21- 2


Redes de Computadores II- Aula 21 - TCP (1)

4. Exemplo de utilização

Usuário A Usuário B

Send
Dados (100-199)

Dados (200-299)

Dados (300-399)
Liberado

ACK (400,500)
Send
Dados (400,499)

Dados (500,599)

Dados (600,699)

Dados (700,799) Liberado

ACK (800,200)

Send
Dados (800,899)
Liberado
Dados (900,999)

ACK (900,0)

Redes TCP/IP-Mauro Mendes Em 14/06/2005 Página 21- 3


Redes de Computadores II- Aula 21 - TCP (1)

5. Controle de fluxo

 O TCP provê meios para que o receptor possa determinar o volume de dados que o
transmissor pode lhe enviar (controle de fluxo).

 O controle de fluxo baseia-se no envio, junto com o reconhecimento, do número de


octetos que o receptor tem condições de receber (janela de recepção), contados a partir
do último octeto da cadeia de dados recebido com sucesso.

 Com base na informação de janela, o transmissir atualiza sua janela de transmissão,


calculando o número de octetos que pode enviar antes de receber outra liberação.

6. Sequenciação / Checagem de erros

 No receptor os números de sequência são utilizados para ordenação dos


segmentos fora de ordem.

 Para checar se os segmentos é calculado o CRC e, se com erro, são descartados.

7. Conceitos de portas e sockets no TCP


a) O TCP permite comunicações simultâneas entre diversos processos de aplicação
com vários hosts.

b) Nas aplicações de rede existe sempre um processo cliente numa máquina que
dispara uma conexão, e um processo servidor em outra que tem que estar
preparado para aceitar várias conexões simultâneas.

c) Para isso existe para cada tipo de processo servidor o conceito de um processo
"master" que aceita novas conexões e cria processos escravos do mesmo tipo para
lidar com cada conexão. O processo "master" nunca morre (exceto em condições
excepcionais) e o processo cliente tem uma duração finita.

d) Cada processo cliente e servidor tem uma identificação de porta, que variam de 0 a
65.535

e) Os processos Servidores (FTP, WEB, TELNET, etc) alocam números de portas


padronizados (well known ports) de 0 a 1023. O Telnet aloca porta 23, o FTP a 21 e
o SMTP a 25.

f) Os processos clientes alocam os números a partir de 1024 dinâmicamente para


cada processo.

g) Os processos clientes alocam os endereços de forma dinâmica, iniciando por 1024

h) As identificações de portas nos clientes e servidores não são suficientes para


identificar univocamente um processo TCP. Para tanto o identificador da porta é
associado ao endereço IP, definindo um socket (ponto terminal).

Redes TCP/IP-Mauro Mendes Em 14/06/2005 Página 21- 4


Redes de Computadores II- Aula 21 - TCP (1)

i) Uma conexão é identificada pelo par de sockets, que é uma identificação única
numa rede Internet.

j) O O TCP foi construído sobre a abstração de CONEXÃO, na qual os objetos a


serem identificados são conexões de circuitos virtuais e não portas individuais. As
conexões são identificadas por um par de "sockets".

k) Uma conexão consiste de um circuito virtual entre dois programas de aplicações. O


TCP define um "socket" como um par de inteiros (host,port), onde host é o
endereço IP para um computador e Port é uma porta TCP nesse computador.

Exemplo:
(128.10.2.3, 25) especifica a porta TCP número 25 na máquina com o o endereço IP
128.10.2.3. Uma conexão está definida por dois endpoints. Se há uma conexão entre
as máquinas 192.107.104.12 (na UNICE) e 143.54.2.99 (FORTALNET), a conexão
deve ser definida pelos endpoints seguintes: (192.107.104.12, 1069) e (143.54.2.99,
25).

l) Já que o TCP identifica uma conexão por um par de endpoints, um número de porta
nos Servidores pode ser compartilhado por múltiplas conexões na mesma máquina.
Alguns Números de Portas TCP de Servidores bem conhecidas
Serviço Porta padrão Serviço Porta padrão
FTP-DATA 20 HTTP 80
FTP (controle) 21 DNS 53
TELNET 23 POP3 110
SMTP 25 IMAP4 143

7. Transmissão de Segmentos

a) Para transmissão de segmentos usando o TCP é necessário inicialmente o


estabelecimento da conexão entre os processos cliente e servidor, quando são
estabelecidos os seguintes parâmetros:
 As portas usadas pelo cliente e pelo Servidor
 Os números de sequência do cliente e do Servidor
 Tamanho máximo do segmento a ser utilizado (MSS-Maximum Segment size).

b) No estabelecimento da conexão são necessários os seguintes passos (Tree way


handshake-estabelecimento em 3 vias):
 O cliente envia um datagrama com o bit Syn ligado e o seu número de
sequência (Syn-seq). O bit Syn é uma das informações do cabeçalho TCP que
serão vistos nas próximas aulas, assim como o bit FIN (Finaliza conexão);
 O servidor envia também uma sequência Syn-seq com o seu número de
sequência e um ack para confirmar o recebimento do cliente (Syn-seq-ack);
 O cliente envia um ack para o servidor confirmando o recebimento do segmento
(Ack)

Redes TCP/IP-Mauro Mendes Em 14/06/2005 Página 21- 5


Redes de Computadores II- Aula 21 - TCP (1)

c) Conceito de segmento : conjunto de dados montado pelo TCP composto de uma


seqüência de bytes e identificado por um número de sequência.

d. Exemplo :
Número de 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Sequência 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2
1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0
Conteúdo A B C D E F G H I J K L M N O P Q R S T
Registros 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5
Segmentos 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4

Conteúdo do registro 1: ABCD


Conteúdo do segmento 1: ABCDE

1. Estabelecimento da conexão
Cliente Servidor
Syn – seq 100 
 Syn – seq 20 ack 101 – mss 5
Ack 21 

2. Transmissão de dados :
Cliente Servidor
Seq 101 – ack 21 – “ABCDE”
Seq 106 – ack 21 – “FGHIJ”
Seq 111 – ack 21 – “KLMNO”
Ack 111
Seq 116 – ack 21 – “PQRST”

3. Encerramento da conexão:
Cliente Servidor
Seq 121- ack 21 - FIN
Ack 122
FIN Seq 21 – ack 122
Ack 22

Bibliografia :
Interligação em Redes TCP/IP - Douglas E Comer - Capítulo 13
Das Lans Mans Wans às Redes ATM - Luiz Fernando - Capítulo 12

Redes TCP/IP-Mauro Mendes Em 14/06/2005 Página 21- 6

Вам также может понравиться