Buscar

AULA 3 PROTOCOLOS REDES COMPUTADORES

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 61 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 61 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 61 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

REDES DE COMPUTADORES 
AULA 3 – CONTROLE DE CONGESTIONAMENTO 
PROTOCOLOS DE REDES DE COMPUTADORES 
PROF :DJACIR MACIEL
maciel.estacio@gmail.com
 O UDP (User Datagram Protocol) é um protocolo de 
transporte sem conexão (connectionless) e não-
confiável. 
 Ele não adiciona nenhum controle adicional aos 
serviços de entrega do IP exceto pelo fato de 
implementar a comunicação entre processos , em 
vez da comunicação entre hosts. 
 Da mesma forma, a verificação de erros é 
implementada de forma muito limitada.
 Se o UDP é simples assim, por que um processo 
iria querer usá-lo? 
 O UDP é um protocolo muito simples com 
um mínimo de overhead. 
 Se um processo quiser enviar uma pequena 
mensagem e não se preocupar muito com 
a confiabilidade, o ele é uma boa escolha. 
 Enviar uma pequena mensagem através do 
UDP exige menor interação entre o emissor e 
o receptor do que quando usamos o TCP ou 
o SCTP.
 Portas conhecidas no UDP
 A Tabela a seguir mostra alguns exemplos 
de portas conhecidas usadas pelo UDP. 
 Alguns números de porta podem ser 
usados tanto pelo UDP quanto pelo TCP. 
 Portas UDP 
 Confiável Versus Não confiável
 A camada de transporte oferece duas opções 
de serviços de transporte de dados: confiável ou 
não confiável.
 Se o programa na camada de aplicação requerer 
confiabilidade, necessitamos utilizar um 
protocolo de camada de transporte confiável que 
implemente mecanismos de controle de fluxo, 
controle de erros e ordenação de pacotes. 
 Isso implica em um serviço mais lento e 
mais complexo. 
 Por outro lado, o programa pode não 
requerer confiabilidade no transporte de 
dados; 
 Por qual motivos ?? 
 Por implementar mecanismos próprios de 
controle de fluxo, controle de erros e 
ordenação de pacotes; 
 Por requerer serviços mais rápidos; 
 Finalmente pela natureza do serviço não 
exigir controle de fluxo e de erros 
(aplicações em tempo real).
 Para esses casos, podemos usar um 
protocolo não confiável.
 Na Internet, existem três protocolos diferentes 
de camada de transporte.
 Como já mencionado. O UDP é um protocolo 
sem conexão (connectionless) e não confiável; 
 O TCP e o SCTP são orientados a conexão 
(connection-oriented) e confiáveis. 
 Esses três protocolos são capazes de atenderem 
às exigências dos diversos programas da 
camada de aplicação.
 Pensemos então !!!
 Se a camada de enlace é confiável e 
implementa controle de fluxo e de erros, 
realmente precisamos disso também na 
camada de transporte?
 A resposta é sim. 
 A confiabilidade na camada de enlace é 
implementada entre dois nós adjacentes. Na 
maioria dos casos, precisamos da 
confiabilidade fim a fim (end-to-end). 
 Como a camada de rede na Internet não é 
confiável (modalidade best effort), 
necessitamos implementar confiabilidade na 
camada de transporte. 
 Para compreender que o controle de erros na 
camada de enlace não é suficiente para 
garantir o controle de erros na camada de 
transporte, vejamos a próxima figura 
 Datagramas de Usuário
 Os pacotes UDP, denominados datagramas
de usuário, possuem um cabeçalho de 
tamanho fixo, de 8 bytes.
 Porta de origem.
 Esse campo especifica o número da porta 
usada pelo processo em execução no host 
de origem.
 Ele tem 16 bits de comprimento, significando 
que o número da porta pode variar de 0 a 
65535. 
 Se o host de origem for um cliente , o 
número da porta, na maioria dos casos, é 
um número de porta solicitado pelo processo 
cliente e escolhido randomicamente pelo 
software UDP em execução no host de 
origem
 Se o host de origem for um servidor, 
enviando uma resposta , o número da porta, 
na maioria dos casos, é um número de porta 
conhecido.
 Porta de destino. 
 Esse campo especifica o número da porta 
usado pelo processo em execução no host de 
destino. 
 Ele também tem 16 bits de comprimento. 
 Se o host de destino for um servidor (um cliente 
transmitindo uma solicitação), o número da 
porta, na maioria dos casos, é um número de 
porta conhecido
 Se o host de destino for um cliente (um 
servidor transmitindo sua resposta), o 
número da porta, na maioria das vezes, é 
um número de porta provisória. 
 Nesse caso, o servidor copia o número de 
porta provisória que recebeu no pacote de
 solicitação.
 Comprimento. 
 Esse campo de 16 bits define o comprimento 
total de um daïagrama UDP, compreendendo 
cabeçalho mais dados. 
 Os 16 bits podem definir um comprimento total 
entre 0 a 65.535 bytes. 
 Entretanto, o comprimento total deve ser 
menor, pois um datagrama UDP deve ser 
repassado em um datagrama IP de 
comprimento total igual a 65.535 bytes.
 o campo de comprimento em um datagrama
UDP, na verdade, é desnecessário um 
datagrama UDP deve ser encapsualdo em 
um datagrama IP.
 Checksum. Esse campo de 16 bits é usado 
para detectar erros na transmissão de 
datagrama UDP(cabeçalho mais dados).
 Operação do UDP Serviços Sem Conexão 
(Connectionless)
 Como mencionado anteriormente, o UDP 
implementa serviços de transporte sem 
conexão.
 Isso significa que cada datagrama de 
usuário enviado pelo UDP é um datagrama
independente.
 Não existe nenhuma relação entre os 
diferentes datagramas de usuário, mesmo 
se eles forem provenientes de um mesmo 
processo de origem e tiverem o mesmo 
programa de destino.
 Os datagramas de usuário não são 
numerados. 
 Além disso, não existem mecanismos para 
estabelecer e/ou terminar uma conexão 
virtual, ao contrário do que acontece com 
o TCP. 
 Isso significa que cada datagrama de usuário 
pode trafegar por um caminho diferente.
 Cada solicitação deve ser suficientemente 
pequena para caber em um único 
datagrama de usuário. 
 Apenas processos que transmitem 
mensagens curtas devem usar o UDP.
 Controle de Fluxo e de Erros
 O UDP é um protocolo de transporte muito 
simples e não confiável.
 Não implementa controle de fluxo e, 
portanto, nenhum mecanismo de 
janelamento.
 O receptor pode ser inundado com um 
número excessivo de mensagens que 
chegam a ele.
 O UDP não implementa mecanismos de 
controle de erros, exceto o checksum. Isso 
significa que o emissor não sabe se uma 
mensagem foi perdida ou duplicada. 
 Quando o receptor detecta um erro por 
meio do checksum, o datagrama de usuário 
é descartado de maneira imperceptível.
 A ausência de controle de fluxo e de controle 
de erros significa que um processo de 
aplicação usando UDP deve implementar 
esses mecanismos.
 Encapsulamento e desencapsulamento
 Para transmitir uma mensagem de um 
processo a outro, o protocolo UDP 
encapsula e desencapsula mensagens em 
um datagrama IP.
 Formação de Filas
 No UDP portas são associadas à filas.
 Quando um processo no lado cliente é 
iniciado, este solicita para o sistema 
operacional um número de porta.
 Algumas implementações criam tanto uma 
fila de chegada como uma de saída 
associada a cada processo.
 Outras criam apenas uma fila de chegada 
associada a cada processo.
 Uso do UDP
 O UDP é adequado para um processo que 
requeira comunicação solicitação-resposta 
simples com pouca preocupação com 
controle de erros e de fluxo.
 Normalmente, ele não é usado para um 
processo como o FTP que precisa transmitirum volume muito grande de dados
 Uso do UDP
 O UDP é adequado para um processo que 
implemente mecanismos internos de 
controle de fluxo e de erros. 
 Por exemplo, o processo TFTP (Trivial File 
Transfer Protocol) implementa mecanismos 
internos de controle de fluxo e de erros.
 Ele pode usar o UDP de maneira fácil.
 Uso do UDP
 O UDP é um protocolo de transporte indicado 
para multicast.
 O recurso de multicast está embutido no 
software UDP, mas não no software TCP.
 O UDP é muito utilizado no gerenciamento de 
redes, protocolo SNMP.
 O UDP é usado em alguns protocolos de 
roteamento para atualização de rotas como o 
RIP (Routing Information Protocol)
 TCP
 O segundo protocolo da camada de
transporte a é denominado TCP
(Transmission Control Protocol) que, assim
como o UDP, é um protocolo de
comunicação entre processos finais
(programa a programa).
 Portanto, o TCP, bem como o UDP, usa
números de portas.
 Diferentemente do UDP, o TCP é um
protocolo orientado a conexão;
 Ele cria uma conexão virtual entre dois
processos TCPs pata a transmissão de
dados.
 Além disso, o TCP implementa mecanismos
de controle de fluxo e de erros na camada
de transporte.
 Serviços TCP
 Comunicação entre processos
 Assim como o UDP, o TCP implementa a 
comunicação entre processos utilizando 
números de porta. 
 Portas usadas pelo 
 Serviços de Entrega de Fluxo de Dados 
 O TCP diferentemente do UDP, é um 
protocolo orientado a fluxo de dados. 

 No UDP, um processo (um programa 
aplicativo) envia mensagens, com 
delimitadores predefinidos, para o UDP.
 O UDP acrescenta seu próprio cabeçalho a 
cada uma dessas mensagens e as entrega 
para transmissão pelo IP. 
 O TCP, por outro lado, possibilita a um
processo aplicativo enviar dados na forma
de um fluxo de bytes e possibilita ao
processo de recepção receber dados na
forma de um fluxo de bytes
 O TCP cria um ambiente no qual os dois
processos parecem estar conectados por
um "canal“ imaginário que transporta seus
dados pela Internet.
 Fluxo de dados no TCP 
 Buffers de Transmissão e Recepção
 Como existe a possibilidade dos processos
de transmissão e de recepção não gerarem
ou lerem dados em uma mesma
velocidade, o TCP precisa de buffers para seu
armazenamento.
 Existem dois buffers, um buffer de
transmissão e um buffer de recepção, um
em cada direção.
 Uma forma de implementar um buffer é 
usar uma matriz circular de posições (1 
byte)
 Segmentos
 Embora o sistema de buffers trate da
disparidade entre as velocidades dos
processos de geração e leitura de dados,
precisamos de mais um passo antes de
podermos efetivamente transmitir os dados.
 A camada IP, como provedora de serviços
para o TCP, precisa enviar dados em
pacotes, não na forma de um fluxo de
bytes.
 Na camada de transporte, o TCP agrupa
determinado número de bytes em pacotes,
denominados Segmento.
 Segmentos TCP 
 Comunicação Full- Duplex
 o TCP oferece serviço full-duplex no qual
dados podem fluir em ambos as direções
simultaneamente.
 O TCP diferentemente do UDP, é um
protocolo orientado a conexão.
 Já estudamos que esta é uma conexão
virtual, e não uma conexão física.
 Um segmento TCP é encapsulado em um
datagrama IP e pode ser recebido fora de
ordem, perdido ou corrompido e, em
seguida, precisa ser reenviado.
 Cada um deles pode ser transmitido por um 
caminho diferente até atingir o destino. Não 
existe uma conexão física.
 Formato do TCP 
 Um segmento TCP é formado por um
cabeçalho de 20 a 60 bytes, seguido pelos
dados do programa aplicativo.
 O cabeçalho tem 20 bytes quando não
existem informações opcionais sendo
transmitidas (até 60 bytes).
 Endereço da porta de origem
 Trata-se de um campo de 16 bits que 
identifica o número da porta do programa 
de aplicação no host que está enviando o 
segmento (origem). 
 Esse campo tem o mesmo objetivo do 
endereço da porta de origem no cabeçalho 
UDP.
 Endereço da porta de destino. 
 Trata-se de um campo de 16 bits que 
identifica o número da porta do programa 
de aplicação no host que está recebendo o 
segmento (destino). 
 Esse campo tem o mesmo objetivo do 
endereço da porta de destino no cabeçalho 
UDP.
 Número de seqüência
 Esse campo de 32 bits identifica o número 
atribuído ao primeiro byte de dados de um 
segmento. 
 Como dissemos anteriormente, o TCP é um 
protocolo de transporte orientado a fluxo de 
dados.
 Número de confirmação
 Esse campo de 32bits identifica o número 
de bytes que o receptor espera receber da 
outra parte. 
 Se o receptor tiver recebido corretamente o 
número de bytes x da outra parte, ele define 
x + 1 como o número de confirmação. 
 Comprimento do cabeçalho
 Esse campo de 4 bits identifica a 
quantidade de palavras de 4 bytes de um 
cabeçalho TCP.
 O comprimento do cabeçalho tem entre 20 
e 6O bytes. 
 Conseqüentemente, o valor desse campo 
pode ser entre 5 (5 x 4 : 20) e 15 (15 x 4 -
60)
 Reservado
 Trata-se de um campo de 6 bits reservado 
para uso futuro.
 Controle
 Esse campo define 6 bits de controle 
(flags) distintos .
 Controle
 Esses bits possibilitam a implementação de 
controle de fluxo, estabelecimento e 
encerramento de uma conexão virtual e a 
configuração do modo de transferência de 
dados no TCP.
 Tamanho da janela
 Esse campo define o tamanho de uma janela TCP, 
em bytes, que a outra parte deve manter. 
 O comprimento desse campo é de 16 bits, 
significando que o tamanho máximo de uma janela 
é de 65.535 bytes. 
 Normalmente, esse valor é conhecido como janela 
receptora (rwnd) e é determinado pelo receptor. 
 Nesse caso, o emissor deve obedecer àquilo que 
está configurado pelo receptor
 Checksum
 Esse campo de 16 bits contém o valor 
calculado do checksum. 
 O cálculo do checksum para o TCP segue o 
mesmo procedimento descrito para o UDP. 
 Entretanto, a inclusão do checksum no 
datagrama UDP é opcional, ao passo que a 
inclusão do checksum no TCP é obrigatória.
 Urgent Pointer
 Esse campo de 16 bits, que é válido apenas 
se o flag URG (Urgente) estiver ativo, é 
usado quando um segmento contém dados 
urgentes. 
 Ele define o número que deve ser 
acrescentado ao número de seqüência para 
obter o número do último byte urgente da 
seção de dados do segmento.
 Opções
 Esse campo pode conter um total de até 40 
bytes de informações opcionais que serão 
inclusas ao cabeçalho TCP. 
 OBRIGADO

Continue navegando