Você está na página 1de 31

Redes de

computadores 1
CIÊNCIA DA COMPUTAÇÃO
PROF. JÚNIOR DE OLIVEIRA MENEZES
PROF.JUNIOR.MENEZES@UNINCOR.EDU.BR
Apresentação
 Aula 10
 Camada de transporte
Propósito da camada de transporte
Propósito da camada de transporte

 Examinaremos o propósito de camada de transporte no


encapsulamento de dados de aplicativo para uso pela
camada de rede. A camada de transporte também abrange
estas funções:

 Permite que vários aplicativos como e-mails e redes sociais


se comuniquem na rede ao mesmo tempo em um único
dispositivo
 Assegura que, se necessário, todos os dados sejam
recebidos confiavelmente e em ordem pelo aplicativo
correto.
 Emprega mecanismos de tratamento de erros
Camada de transporte

A camada de transporte
fornece comunicação
lógica e não física entre os
dispositivos
Processo de encapsulamento
e segmentação

Mensagem Aplicação

Buffer de transmissão

MSS Transporte

Segmento

Pacote IP Rede

MTU

Quadro Acesso
Camada de Transporte

 Assegura a entrega confiável dos pacotes:

 Como estabelecer uma ligação lógica? (e.g. SYN, FIN)


 Como saber se o pacote foi entregue com sucesso? (e.g. ACK ≈
Aviso Recepção);
 Quanto tempo esperar pela confirmação?
 Como fazer para não sobrecarregar o destinatário com
demasiados pacotes? (e.g. WinSize);
 Que mecanismos utilizar para permitir o reagrupamento dos
pacotes ao nível lógico? (e.g. Sequence Number).
 Ao nível da Camada de Transporte, a unidade de informação é o
SEGMENTO.
 Exemplos de protocolos que respondem: TCP, UDP.
Camada de Transporte
Protocolos
 Temos:
 TCP – Transmission Control Protocol;
 Usado por Telnet, HTTP, POP, FTP, etc…
 UDP – User Datagram Protocol;
 Usado por DHCP, TFTP, SNMP, etc…

 Objetivos:
 Permitir comunicação entre aplicações;

 Dotar a comunicação de confiabilidade (se desejado);

 Controlar fluxo e congestão (se desejado).


Serviço orientado e
não-orientado a conexão
Camada de Transporte
Protocolos
 Necessitam de:
 Mecanismo de endereçamento adicional para identificar
cada uma das aplicações que estão a comunicar;

 As aplicações são identificadas por um número ao qual se


chama porta;
 Exemplos:
 HTTP é identificado pelo número 80;
 FTP é identificado pelo número 21;

 NOTA: O tema portas será aprofundado ao se analisar os


protocolos da camada de aplicação!
Camada de Transporte
Protocolos
 Um protocolo de camada de transporte fornece comunicação
lógica entre processos que rodam em hospedeiros diferentes.

 Um protocolo de camada de rede fornece comunicação


lógica entre hosts.

 Uma rede de computadores pode disponibilizar vários


protocolos de transporte.

 Os serviços que um protocolo de transporte pode fornecer são


muitas vezes limitados pelo modelo de serviço do protocolo
subjacente da camada de rede
Protocolos de aplicação
e transporte
TCP – Transmission Control
Protocol
 Normalizado pelo IETF como RFC 793;

 O mais conhecido da camada de transporte (TCP/IP suite);

 Protocolo orientado à ligação;

 Estabelece a ligação lógica entre duas aplicações;


 Transposta os dados entre elas;
 Termina a ligação.

 Criado para assegurar a confiabilidade nas comunicações


de dados.
TCP – Confiabilidade

Estabelecimento confiável de
ligação

Transmissão confiável de
dados

Encerramento conffiável da
ligação.
TCP – 3 Way handshake(Triplo
aperto de mão)

 Em algumas culturas, quando duas pessoas se


encontram, ela se cumprimentam frequentemente
com as mãos
 O ato de apertar a mão(handshake) é composto por
ambas as partes como um sinal de saudação amigável
 As conexões de rede são semelhantes:
1. O primeiro handshake solicita sincronização
2. O segundo handshake confirma a solicitação de
sincronização inicial e sincroniza os parâmetros de
conexão na direção oposta
3. O segmento de handshake final é uma confirmação
usada para informar ao destino que ambos os lados
concordam que foi estabelecida uma conexão
TCP – 3 Way handshake(Triplo
aperto de mão)
 O TCP é um protocolo full-duplex, no qual cada conexão representa
dois fluxos de comunicação unidirecional, ou sessões.
 Para estabelecer uma conexão, os hosts realizam um handshake
triplo. Bits de controle no cabeçalho TCP indicam o progresso e o
status da conexão.
 Dentro do cabeçalho de segmento TCP, existem seis campos de 1 bit
que contêm a informação de controle usada para gerenciar os
processos de TCP. Esses campos são:
 URG - Campo indicador de urgência
 ACK - Campo indicador de confirmação
 PSH - Função Push, força o envio dos dados
 RST - Restabelecer a conexão
 SYN – Pedido de sincronização números em sequência (Início)
 FIN - Não há mais dados do remetente (fim)
TCP – estabelecimento de conexão
TCP – Transmissão confiável

 Confirmação de recepção:

O receptor confirma, através de uma


mensagem curta (Acknowledgment),
que recebeu o segmento enviado;

 Retransmissão:

 Se a confirmação não for recebida


dentro de um período determinado, o
segmento é reenviado;
TCP – Cabeçalho - Segmento

0 7 8 15 16 23 24 31

Porta de origem Porta de destino

Número de seqüência

Número do reconhecimento
URG
ACK
PSH

SYN
RST

FIN
TC Reservado Tamanho da janela

Checksum Ponteiro de urgência

Opções

Dados (opcionais)
TCP - Retransmissão
 Quanto tempo esperar pela confirmação
(ACK)?

 Depende da distância ao destino e das


condições do tráfego no momento.

 O tempo de espera num determinado


momento é estimado a partir do Round-Trip Time
de cada ligação e o tempo estimado presente:

 Chama-se, por isso, retransmissão adaptável;


 O segredo do sucesso do TCP!
TCP – Controle de colisão
 A colisão é detectada por:

 Ocorrência de Timeout (ACKs não chegam);

 Recepção duplicada de ACKs.

 Ao serem detectadas colisões:

O envio de segmentos é reduzido


drásticamente (Collision Avoidance Algorithm);

 Depois começa a aumentar devagar,


inicialmente, e exponencialmente com o
tempo (Slow Start Algorithm);
TCP – Controlo de Fluxo
 O receptor:
 Anuncia, a cada ACK, o espaço livre do
seu bufffer (window size);

 O emissor:
 Envia segmentos até ao limite da janela
(window size), sem ter de esperar por
confirmação (ACKs);

 Este mecanismo é conhecido como


Protocolo da Janela Deslizante (Sliding
Window Protocol).
TCP – Encerramento
confiável
 Importante por causa da segurança:

 Senão for encerrada de forma correcta,


poderão ficar portas abertas;

 Alguém mal intencionado poderá


aproveitar.
UDP – User Datagram
Protocol
 A entrega da mensagem não é assegurada (não
confiável);

 Não é estabelecida ligação;

 Não há controlo de fluxo (não tem Window);

 Não há recuperação de erros (não há ACKs);

 Detecção de erros opcional (Checksum é opcional);

 VANTAGEM?

 Muito menor overhead e consequente velocidade!


UDP – User Datagram
Protocol
 O UDP é um protocolo simples que fornece as
funções básicas de camada de transporte.
 Tem uma sobrecarga muito mais baixa que o
TCP
 Isso não significa que os aplicativos que usam
o UDP sejam sempre não confiáveis, nem
significa que o UDP é um protocolo inferior.
 Isso simplesmente significa que essas funções
não são fornecidas pelo protocolo da camada
de transporte e devem ser implementadas em
outros locais se houver necessidade
UDP – User Datagram
Protocol
 Os protocolos principais de camada do
aplicação que usam UDP incluem:
 Sistema de Nome de Domínio (DNS)
 Protocolo de Gerenciamento Simples de Rede
(SNMP)
 Protocolo de Configuração Dinâmica de Host
(DHCP)
 Protocolo de Informação de Roteamento (RIP)
 Protocolo de Transferência Trivial de Arquivo
(TFTP)
 Telefonia IP ou Voz sobre IP (VoIP)
 Jogos on-line
UDP – Formato do cabeçalho

 Lenght
 Comprimento em bytes do cabeçalho +
dados;

Diz-se que o UDP é baseado em transação; isto é, quando


um aplicativo tem dados para enviar, ele simplesmente
envia os dados.
UDP – Formato do cabeçalho
 Servidor UDP ouve solicitações
UDP – Formato do cabeçalho
 Servidor UDP ouve solicitações
TCP ou UDP – Eis a questão
TCP ou UDP – Eis a questão

Você também pode gostar