22
Camada de Transporte - TCP Este capítulo aborda os seguintes assuntos: As funções da camada de transporte TCP/IP. Controle de fluxo e os processos de estabelecimento de conexão. Processo de janelamento (Windowing) e de Confirmação (ACK). Os protocolos da camada de transporte. O formato dos cabeçalhos: TCP e UDP. Os números de portas: TCP e UDP.

Rc2 camada tcp camada 4 osi

Embed Size (px)

DESCRIPTION

Material emprestado da Redes

Citation preview

Page 1: Rc2 camada tcp camada 4 osi

Camada de Transporte - TCP

• Este capítulo aborda os seguintes assuntos:

• As funções da camada de transporte TCP/IP.

• Controle de fluxo e os processos de estabelecimento de

conexão.

• Processo de janelamento (Windowing) e de Confirmação

(ACK).

• Os protocolos da camada de transporte.

• O formato dos cabeçalhos: TCP e UDP.

• Os números de portas: TCP e UDP.

Page 2: Rc2 camada tcp camada 4 osi

Introdução à Camada de Transporte

• As duas funções principais da camada de transporte TCP/IP

são:

• Transportar e regular o fluxo de informações da origem até

o destino (fim-a-fim), de forma confiável e precisa.

O controle do fluxo de informações e a confiabilidade são

proporcionados:

• Pelas janelas deslizantes ou sliding windows.

• Pelos números de seqüência ou sequence numbers

(número do octeto enviado pelo host de origem).

• Pelos números de confirmações ou acknowledgment

numbers (próximo octeto TCP esperado pelo host de

destino).

Page 3: Rc2 camada tcp camada 4 osi

Controle de Fluxo• Evita que um host transmissor sobrecarregue os buffers de um

host receptor.

• Os dois hosts estabelecem uma taxa de transferência de

dados satisfatória para ambos, principalmente para o

receptor.

Page 4: Rc2 camada tcp camada 4 osi

Métodos de conexão TCP

• Os serviços orientados para conexão envolvem três fases:

• Fase de estabelecimento da conexão - um único caminho

entre a origem e o destino é determinado.

• Os recursos são normalmente reservados nesse

momento para garantir um nível consistente de serviço.

• Fase de transferência de dados - os dados são transmitidos

em seqüência pelo caminho estabelecido, chegando ao

destino na ordem em que foram enviados.

• Fase de encerramento da conexão - consiste em encerrar a

conexão entre a origem e o destino quando ela não é mais

necessária.

Page 5: Rc2 camada tcp camada 4 osi

Métodos de Conexão TCP• Os hosts TCP estabelecem uma sessão orientada para

conexão com os outros hosts usando um handshake triplo.

• Uma seqüência de handshake triplo/conexão aberta

sincroniza a conexão nas duas extremidades antes dos dados

serem transferidos.

• A troca de números de sequência de introdução, durante a

seqüência de conexão, é importante.

• Ela garante que dados perdidos, devido a problemas de

transmissão, possam ser recuperados ou retransmitidos.

Page 6: Rc2 camada tcp camada 4 osi

Métodos de conexão TCP Three-way-handshake

• Inicialmente, um host inicia uma conexão pelo envio de

um pacote indicando seu número de seqüência inicial x

com um bit no cabeçalho (CODE) definido para indicar um

pedido de conexão.

• Em seguida, o outro host recebe o pacote, grava o

número de seqüência x, responde com uma confirmação

x + 1 e inclui seu próprio número de seqüência inicial y.

• O número de confirmação x + 1 significa que o host

recebeu todos os octetos até x, inclusive, e que está

esperando x + 1 em seguida.

Page 7: Rc2 camada tcp camada 4 osi

Handshake Triplo• Para que uma conexão seja estabelecida, os dois hosts devem

sincronizar seus Initial Sequence Numbers (ISNs).

• Esta sincronização requer que cada lado envie seu próprio ISN e receba

uma confirmação (ACK) da troca enviada pelo outro lado.

Page 8: Rc2 camada tcp camada 4 osi

Confirmação TCP• A confirmação positiva (Positive Ack) com retransmissão é uma

técnica que garante a entrega confiável de dados.

• O remetente mantém um registro de cada pacote enviado e

espera uma confirmação.

• Ele aciona um timer quando envia um segmento e irá

retransmitir um segmento, se o timer expirar antes que

chegue uma confirmação.

Page 9: Rc2 camada tcp camada 4 osi

Retransmissão de Segmentos

Page 10: Rc2 camada tcp camada 4 osi

Sliding window - Janela móvel TCP

• O tamanho da janela determina a quantidade de dados que

pode ser transmitida de uma vez antes de ser recebida uma

confirmação do destino.

• Quanto maior o tamanho da janela (bytes), maior a

quantidade de dados que o host de destino pode receber e

processar estes dados.

• Depois que um host transmite o número de bytes da janela

dimensionada, ele tem de receber uma confirmação de que

os dados foram recebidos antes de poder enviar mais dados.

• Por exemplo, com um tamanho de janela 1, cada segmento

individual (1) tem de ser confirmado antes que o próximo

segmento possa ser enviado.

Page 11: Rc2 camada tcp camada 4 osi

Janela Móvel = 1

Page 12: Rc2 camada tcp camada 4 osi

Sliding Window e Confirmação

• O TCP usa confirmações de espera, o que significa que o

número da confirmação se refere ao octeto que é esperado

em seguida.

• A parte "móvel", de janela móvel, refere-se ao fato de que

o tamanho da janela é negociado dinamicamente durante a

sessão TCP.

• Isso resulta em uso eficiente da largura de banda pelos

hosts.

• A confirmação positiva e retransmissão, ou PAR (Positive

Acknowledgment and Retransmission).

Page 13: Rc2 camada tcp camada 4 osi

Sliding Window – Janela Móvel

• Por exemplo, com um tamanho de janela três, o dispositivo

de origem pode enviar três octetos ao destino.

• Ele deve então aguardar uma confirmação. Se o destino

receber os três octetos, ele enviará uma confirmação ao

dispositivo de origem, que poderá então transmitir mais três

octetos.

• Se, por algum motivo, o destino não receber os três octetos,

por exemplo, devido à sobrecarga de buffers, ele não enviará

uma confirmação.

• Por não receber a confirmação, a origem saberá que os

octetos deverão ser retransmitidos e que a taxa de

transmissão deverá ser diminuída.

Page 14: Rc2 camada tcp camada 4 osi

Janela móvel = 3

Page 15: Rc2 camada tcp camada 4 osi

Sliding Windows – Janela móvel

Page 16: Rc2 camada tcp camada 4 osi

Transmission Control Protocol - TCP

• Funcionalidades do TCP:

• Protocolo da camada 4 do modelo OSI.

• Fornece um circuito virtual entre aplicações do usuário

final.

• Orientado a conexão.

• Confiável.

• Divide as mensagens enviadas em segmentos.

• Reenvia tudo o que não foi recebido.

• Reagrupa as mensagens a partir de segmentos recebidos.

• Os protocolos que usam o TCP incluem:

• FTP, HTTP, SMTP e Telnet.

Page 17: Rc2 camada tcp camada 4 osi

Formato do Segmento TCP

• Definições dos campos do segmento TCP:

• Porta de origem: número da porta do host de origem.

• Porta de destino: número da porta do host de destino.

• Número de seqüência: número usado para garantir a

seqüência correta dos dados que estão chegando.

• Número de confirmação: próximo octeto TCP esperado.

• HLEN: tamanho do cabeçalho (palavras de 32 bits).

• Reservado: definido como zero.

• Bits de código: funções de controle, como: configuração e

término de uma sessão.

Page 18: Rc2 camada tcp camada 4 osi

Formato do Segmento TCP

• Janela: número de octetos que o remetente pode aceitar.

• Checksum: cálculo de verificação da integridade do

segmento.

• Urgent Pointer: indica o final dos dados urgentes.

• Opção: uma opção atualmente definida: tamanho máximo do

segmento TCP.

• Dados: dados de protocolo de camada superior.

Page 19: Rc2 camada tcp camada 4 osi

User Datagram Protocol - UDP

• Funcionalidades do UDP:

• Não é orientado a conexão.

• Troca de datagramas.

• Não possui confirmação ou entrega garantida.

• Não usa janelamento.

• Protocolos da camada superior que fornecem suporte.

• Os protocolos que utilizam o UDP incluem:

• TFTP, DHCP, SNMP, DNS.

Page 20: Rc2 camada tcp camada 4 osi

Formato do Datagrama UDP

• Porta de origem: número da porta chamadora.

• Porta de destino: número da porta chamada.

• Comprimento: tamanho do cabeçalho + dados, em bytes.

• Checksum: cálculo de verificação da integridade do segmento.

• Dados: dados de protocolo de camada superior.

Page 21: Rc2 camada tcp camada 4 osi

Números de Portas

• Tanto o TCP quanto o UDP usam números de portas para

passar as informações às camadas superiores.

• Eles são usados para manter o registro de diferentes

conversações que cruzam a rede ao mesmo tempo.

• Os números de portas são especificados como:

• Números abaixo de 255: utilizados para aplicações públicas.

• Números de 255 a 1023: atribuídos para aplicações

comerciais.

• Números acima de 1024: não são regulamentados.

• Os números de portas conhecidos estão definidos no

RFC1700.

Page 22: Rc2 camada tcp camada 4 osi

Números de Portas

• Os hosts finais usam números de portas para selecionar a

aplicação correta.

• O host de origem atribui dinamicamente números de porta

gerados na própria origem. Esses números são sempre

superiores a 1024.