Você está na página 1de 21

Redes de Computadores

Prof. Marcelo Gonçalves Rubinstein

Programa de Pós-Graduação em Engenharia Eletrônica


Faculdade de Engenharia
Universidade do Estado do Rio de Janeiro
Ementa

 Introdução a Redes de Computadores


 A Camada Aplicação
 A Camada Transporte
 A Camada Rede
 A Camada Enlace
 A Camada Física
Camada transporte

 Protocolos de transporte
 Fornecem comunicação entre processos de aplicação
que rodam em hospedeiros diferentes
 Implementados nos sistemas finais
 Protocolos de rede
 Fornecem comunicação entre hospedeiros diferentes
Camada transporte

 Diversos protocolos
 UDP
 RTP/RTCP
 TCP
Camada transporte

 PDUs possuem diferentes nomes


 Segmento (TCP e geral)
 Datagrama (UDP)
 TPDU (geral)
 Pacote (geral)
Camada transporte

 Serviços
 Multiplexação/demultiplexação
 Transferência de dados (confiável ou não)
 Controle de fluxo
 Controle de congestionamento
 Serviços serão apresentados intercalados com
protocolos que usam esses serviços
Multiplexação/demultiplexação

 Utilizam o conceito de portas (sockets)


 Multiplexação
 Reunir porções de dados de diferentes portas, criar
segmentos e passar para a camada rede
 Demultiplexação
 Entregar os dados de um segmento à porta correta
Multiplexação/demultiplexação

Exemplo de multiplexação/demultiplexação (fonte: Kurose)


Multiplexação/demultiplexação

Formato geral de um segmento de transporte (fonte: Kurose)


UDP

 Protocolo de datagrama do usuário (User


Datagram Protocol)
 Definido na RFC 768
 Serviços
 Transferência de dados não confiável
 Multiplexação/demultiplexação
 Detecção de erros
 Não orientado a conexão
 Sem controle de congestionamento
 Sem controle de fluxo
UDP

 Principais características
 Melhor controle no nível da aplicação sobre quais
dados são enviados e quando
 Não possui controle de congestionamento
 Não há estabelecimento de conexão
 Não introduz atraso dessa fase
 Não há estados de conexão
 Pode ter um número maior de clientes ativos
 Pequena sobrecarga de cabeçalho de pacote
UDP - transferência não confiável

 Transferência confiável pode ser implementada


na camada aplicação
 Ex.: Uso de mecanismos de reconhecimento e
retransmissão
 Dessa forma a aplicação não fica sujeita a um controle
de congestionamento do transporte
 Bom para aplicações multimídias
UDP - multiplexação/demultiplexação

 Socket UDP é identificado por somente


 Endereço IP de destino
 Número de porta de destino
Multiplexação/demultiplexação no UDP (fonte: Kurose)

DatagramSocket serverSocket = new DatagramSocket(6428);

P2 P1
P1
P3

SP: 6428 SP: 6428


DP: 9157 DP: 5775

SP: 9157 SP: 5775


cliente DP: 6428 DP: 6428 cliente
servidor
IP: A IP:B
IP: C

SP fornece o “endereço de retorno”


UDP - detecção de erros

 Usada pois nem sempre a camada de enlace


utiliza verificação de erros
 Realiza a detecção através de uma soma de
verificação (checksum) de 16 bits
 Na fonte
 Complemento a 1 da soma (em complemento a 1) de
todas as palavras de 16 bits
 Soma em complemento a 1 leva em conta o vai um do bit
mais significativo
 No destino
 Complemento a 1 da soma (em complemento a 1) de
todas as palavras de 16 bits (inclui a soma de
verificação)
 Se um ou mais bits do resultado forem 1 → erro
UDP - detecção de erros

 Ver exemplo do Kurose na pag. 156


 Datagrama com erro pode ser
 Descartado
 Passado para a aplicação (junto com um aviso)
UDP - formato do datagrama

Formato do datagrama UDP (adaptado de Tanenbaum)

Data
UDP - formato do datagrama

 Porta de origem (16 bits)


 Porta de destino (16 bits)
 Comprimento (16 bits)
UDP - formato do datagrama

 Soma de verificação (16 bits)


 Feita no datagrama UDP junto com um pseudo
cabeçalho
 Para fazer uma verificação adicional e uma confirmação
de que o datagrama chegou ao destino correto
 Pseudo cabeçalho (12 octetos) contém
 Endereços IP da fonte e do destino
 Enchimento
 Campo protocolo (valor 17)
 Comprimento UDP
UDP - formato do datagrama

 Soma de verificação (cont.)


 Opcional
 Se os bits são iguais a 0 não é usada (para diminuir a
sobrecarga)
 Se o cálculo de uma soma de verificação resulta em
16 bits iguais a 0, estes são trocados para 16 bits
iguais a 1 (o número 0 possui duas representações
em complemento a 1)
UDP - formato do datagrama

 Dados
 No fim do datagrama podem ter enchimento usado no
cálculo da soma de verificação