Anda di halaman 1dari 5

14/03/2017 Redes de computadores/Multiplexao e demultiplexao - Wikilivros

Redes de computadores/Multiplexao e
demultiplexao
Origem: Wikilivros, livros abertos por um mundo aberto.
< Redes de computadores

Situada entre as camadas de aplicao e de rede, a camada de transporte prov uma comunicao processo a
processo. Para tal, a camada de transporte utiliza o conceito de portas, que , na verdade, um nmero que
identifica qual processo dever se encarregar da informao trazida por aquele pacote. Na prtica, o aplicativo
informa ao sistema operacional que estar escutando uma determinada porta e ento todos os pacotes daquele
protocolo (UDP ou TCP) sero repassados quele processo. A Demultiplexao a entrega dos dados de um
segmento da camada de transporte porta correta. "O trabalho de reunir, no hospedeiro de origem, pores de
dados provenientes de diferentes portas, encapsular cada poro de dados com infomaes do cabealho (que
mais tarde sero usadas na demultiplexao) para criar segmentos, e passar esses segmentos para a camada de
rede denominado multiplexao".(KUROSE; ROSS, 2006, p. 148).

ndice
1 Multiplexao e Demultiplexao na camada de transporte
2 Multiplexao/demultiplexao no orientada para conexo
3 Transporte Orientado Para Conexao: TCP
4 Transporte No Orientado Para Conexao: UDP
5 Mecanismos de Controle de Congestionamento
6 Servidores Web e o TCP
7 Algoritimo de Controle de Congestionamento
8 Referncias

Multiplexao e Demultiplexao na camada de transporte


Sabe-se que o servio de multiplexao e o de demultiplexao de extrema importncia para todas as redes de
computadores. No entanto, aqui ser enfatizado seu uso na camada de transporte.

A camada de transporte, em um hospedeiro de destino, recebe segmentos da camada de rede que fica abaixo
dela (isso acontece, analisando uma abordagem top-down), a qual tem o dever de entregar todos os dados
desses segmentos ao processo da camada de aplicao, que tambm roda nesse hospedeiro. Porm, o que
acontece na realidade que a camada de transporte no entrega os segmentos a um processo, mas sim em um
socket (porta) intermedirio. Onde cada socket tem um identificador exclusivo, que depende de o socket ser
TCP ou UDP.

O direcionamento a uma porta correta de um segmento, feito a partir da anlise de um conjunto de campos
que se localiza no segmento. Nesse campo encontra-se a porta destinatria, a qual o segmento ser direcionado
pela camada de transporte. Esse direcionamento a porta correta denominado de demultiplexao.

Define-se multiplexao como sendo a tarefa de reunir pedaos de dados, vindos de diferentes portas (no
hospedeiro de origem), encapsulando esses pedaos com o conjunto de campos para criar segmentos e entreg-
los a camada de rede. A transferncia de dados pode ser feita por: UDP (no orientada para conexo) ou TCP
(orientada para conexo). Caso seja feita por UDP, o socket UDP identificado por uma tupla com dois

https://pt.wikibooks.org/wiki/Redes_de_computadores/Multiplexa%C3%A7%C3%A3o_e_demultiplexa%C3%A7%C3%A3o 1/5
14/03/2017 Redes de computadores/Multiplexao e demultiplexao - Wikilivros

elementos: endereos IP de destino e um nmero de porta de destino; por outro lado seja feita por TCP, o socket
TCP identificado por uma tupla com quatro elementos: endereo IP de origem, nmero da porta de origem,
endereo IP de destino e nmero da porta de destino.

Multiplexao/demultiplexao no orientada para conexo


A porta UDP pode ser criada a partir de uma implementao, na qual pode se designar um nmero de porta
especfico ou mesmo deixar que seja designado um nmero de porta ao socket pela camada de transporte.
Logicamente isso, depender da escolha do implementador. Em geral, o lado servidor de uma aplicao designa
um nmero de porta especfico, enquanto o lado cliente da aplicao deixa essa escolha livre e transparente
para a camada de transporte.

Com isso, entende-se que mesmo que dois ou mais segmentos tenham endereos IP ou nmero de porta fonte
diferentes eles podero ser direcionados ao mesmo processo de destino, caso tenham o mesmo nmero IP e
mesmo nmero de porta de destino pela mesma porta de destino.

Transporte Orientado Para Conexao: TCP


O protocolo TCP , sem dvidas, um dos mais importantes protocolos utilizados atualmente. Esse protocolo
fornece um servio de entrega de pacotes confivel e orientado para conexo, ou seja, todos os aplicativos que
utilizam o TCP como protocolo de transporte estabelecem uma conexo antes de comear a trocar dados, alm
de contar com servios como deteco de erros, retransmisses, reconhecimento cumulativo, temporizadores e
campos de cabealho para nmeros de seqncia e de reconhecimento.

Ao contrario do UDP para mandar dados atravs do TCP necessrio a abertura de uma conexo fim-a-fim, ou
seja o TCP suporta comunicao apenas entre dois hosts por vez. Uma sesso TCP inicializada atravs de um
processo conhecido como 'three-way handshake', que consiste em trs pacotes de estabelecimento de conexo,
sendo um pacote SYN enviado pelo cliente que consiste em um segmento TCP especial que no contem
nenhum dado da camada de aplicao mas com o flag SYN ativado. Alm disso o cliente escolhe
aleatoriamente um numero de seqncia inicial e coloca esse nmero no campo de numero de seqncia do
segmento SYN inicial. Quando o servidor recebe o segmento SYN ele aloca buffers e variveis TCP
necessrias a conexo e envia um segmente de aceitao de conexo ao TCP cliente. Esse segmento chamado
SYNACK. Ao receber o segmento SYNACK o cliente tambm reserva buffers e variveis para a conexo. O
cliente ento envia ao servidor mais um segmento que reconhece o segmento de confirmao da conexo do
servidor, o bit SYN ajustado para 0 e a conexo j esta estabelecida. Esse processo sincroniza os nmeros de
seqncia e oferece informaes de controle necessrias para estabelecer uma conexo virtual entre os dois
hosts. Depois de concludo o 'tree-way handshake' inicial, os segmentos so enviados e confirmados de forma
seqencial entre os hosts remetente e destinatrio. Um processo de handshake semelhante usado pelo TCP
antes de fechar a conexo para verificar se os dois hosts acabaram de enviar e receber todos os dados.

O TCP recebe os dados de aplicao e processa esses dados como um conjunto de bytes, os mesmos so
agrupados em segmentos que o TCP numera em seqncia para a entrega. Apos receber os dados de aplicao
o TCP direciona esses dados para um buffer de envio da conexo (reservado durante o estabelecimento da
conexo) e vai criando segmentos e enviando para a rede. A quantidade mxima retirada do buffer e colocada
em um segmento limitada pelo MMS (tamanho mximo do segmento).

O TCP utiliza o conceito de portas, que permite que vrios programas estejam em funcionamento, ao mesmo
tempo, no mesmo computador, trocando informaes com um ou mais servios/servidores.

Algumas das principais caractersticas do TCP e que faz com que ele seja tao utilizado so citadas a seguir:

Garante a entrega de datagramas IP: Esta talvez seja a principal funo do TCP, ou seja, garantir que os
pacotes sejam entregues sem alteraes, sem terem sido corrompidos e na ordem correta. O TCP tem
uma srie de mecanismos para garantir esta entrega.

https://pt.wikibooks.org/wiki/Redes_de_computadores/Multiplexa%C3%A7%C3%A3o_e_demultiplexa%C3%A7%C3%A3o 2/5
14/03/2017 Redes de computadores/Multiplexao e demultiplexao - Wikilivros

Garante o seqenciamento adequado e entrega ordenada de dados segmentados: Esta caracterstica


refere-se a funo de dividir grandes arquivos em pacotes menores e transmitir cada pacote
separadamente. Os pacotes podem ser enviados por caminhos diferentes e chegar fora de ordem. O TCP
tem mecanismos para garantir que, no destino, os pacotes sejam ordenados corretamente, antes de serem
entregues ao programa de destino.
Verifica a integridade dos dados transmitidos: Usando clculos de soma de verificaao o TCP faz
verificaes para garantir que os dados no foram alterados ou corrompidos durante o transporte entre a
origem e o destino.
Envia mensagens positivas dependendo do recebimento bem-sucedido dos dados. No destino, o TCP
recebe os pacotes, verifica se esto OK e, em caso afirmativo, envia uma mensagem para a origem,
confirmando cada pacote que foi recebido corretamente. Caso um pacote no tenha sido recebido ou
tenha sido recebido com problemas, o TCP envia uma mensagem ao computador de origem, solicitando
uma retransmisso do pacote. Com esse mecanismo, apenas pacotes com problemas tero que ser
reenviados, o que reduz o trfego na rede e agiliza o envio dos pacotes.
Oferece um mtodo preferencial de transporte de programas que devem usar transmisso confivel de
dados baseada em sesses: Ou seja, o TCP muito mais confivel do que o UDP e indicado para
programas e servios que dependam de uma entrega confivel de dados.

Transporte No Orientado Para Conexao: UDP


O UDP um protocolo usado para o transporte rpido de dados entre hosts TCP/IP. Porm o UDP no fornece
garantia de entrega e nem verificao de dados. De uma maneira simples, podemos dizer que o protocolo UDP
manda os dados para o destino sem a necessidade de apresentao entre as unidades remetentes e destinatria
antes de enviar o segmento, porem se vai chegar, e sem erros, impossvel saber (o UDP fornece verificao de
erro porm nada faz para corrigir o erro, apenas informa a aplicao que determinado pacote corrupto). O
UDP no garante a entrega ou verifica o seqenciamento para qualquer pacote. Uma outra soluo bastante
utilizada ultimamente a insero da confiabilidade na prpria aplicao (adicionando mecanismos de
reconhecimento e de transmisso embutidos na aplicao) permitindo assim que ela tire proveito de ambas as
alternativas, ou seja, os processos de aplicao se comunicam de maneira confivel sem ter que se sujeitar as
limitaes da taxa de transmisso impostas pelo mecanismo de controle de congestionamento impostas pelo
TCP.

Alguns dos principais motivos pelo qual o UDP pode ser prefervel so:

Melhor controle no nvel de aplicao sobre quais dados so enviados e quando: como ele no possui
controle de congestionamento (como ocorre no TCP), no ocorre atraso no envio do pacote. No possui o
servio de confirmao de recebimento que pode atrasar a transmisso se alguns pacotes forem perdidos,
e compatvel com aplicaes de tempo real onde a velocidade mais importante que a confiabilidade
na entrega.
No h estabelecimento de conexo: O UDP apenas envia os dados sem perder tempo tentando abrir
conexes (como ocorre no TCP) esse um dos motivos pelo qual DNS roda sobre UDP.
No h estados de conexo: Usado pelo TCP para garantir a entrega confivel de dados (esses estados
inclui buffers de envio e recebimento, parmetros de controle de congestionamento e etc), por isso um
servidor com uma aplicao especifica pode suportar um numero muito maior de clientes ativos quando a
aplicao roda sobre UDP ao invs de TCP.
Pequena Sobrecarga de Cabealho de Pacote: O TCP possui 20 bytes de sobrecarga de cabealho
enquanto o UDP so possui 8 bytes.

Algumas das aplicaes mais importantes que utilizam o UDP so:

Atualizao de tabelas de roteamento com protocolo RIP.


Transferir dados de gerenciamento de rede, que normalmente funcionam quando a rede esta
sobrecarregada e difcil conseguir transferncia confivel devido ao controle de congestionamento.
O DNS tambm roda sobre o UDP.
bastante utilizado em aplicaes multimdia como telefone por internet, vdeo conferncia em tempo
real e recepo de udio e vdeo armazenados.

https://pt.wikibooks.org/wiki/Redes_de_computadores/Multiplexa%C3%A7%C3%A3o_e_demultiplexa%C3%A7%C3%A3o 3/5
14/03/2017 Redes de computadores/Multiplexao e demultiplexao - Wikilivros

Mecanismos de Controle de Congestionamento


Podemos distinguir mecanismos de controle de congestionamento conforme a camada de rede oferea ou no
assistncia explcita camada de transporte, com finalidade de controle de congestionamento. Sabendo que
'Janela de Congestionamento' um parmetro que impe uma limitao a taxa a qual o remetente pode enviar
trfego para dentro da rede, (especificamente a quantidade de dados no reconhecidos em um hospedeiro no
pode exceder o mnimo da janela de congestionamento) podemos dividir o controle de congestionamento em
dois modos:

Controle de congestionamento fim-a-fim: Nesse mtodo a camada de rede no fornece nenhum suporte
explcito camada de trasporte, e o congestionamento da rede intuda pelos sistemas finais com base na
observao do comportamento da rede (perda de pacotes). Esse o metodo utilizado pelo protocolo TCP.
Controle de congestionamento assistido pela rede: com esse mtodo os roteadores fornecem
realimentao de informaes ao remetente a respeito do congestionamento da rede. O controle de
congestionamento assistido pela rede tem dois modos de operao. So eles:
Realimentao Direta: Pacote enviados de um roteador da rede a um remetente (como se fosse um
pacote de congestionamento dizendo: estou congestionado)
Realimentao Indireta: Ocorre quando um roteador marca/atualiza um campo em um pacote que
esta indo do remetente ao destinatrio para indicar o congestionamento e com isso o destinatrio
informa ao remetente sobre o congestionamento. Esse mtodo possui a desvantagem de perder, no
mnimo, o tempo de ida e volta de um pacote, para avisar ao remetente sobre o congestionamento.

Servidores Web e o TCP


Este um cenrio bastante interessante para se entender os princpios da multiplexao e demultiplexao no
TCP. Observe uma ilustrao (http://www.decom.ufop.br/prof/tiago/disciplinas/2006/sistDist/trabalhos/httpXtc
p_arquivos/Image1.gif) de uma situao tpica, onde vrios clientes se conectam a um servidor WEB atravs da
porta 80.

Em virtude de o TCP ser identificado por uma tupla de 4 (quatro) elementos, todas as conexes sero
corretamente multiplexadas/demultiplexadas.

Os pacotes que saem dos hospedeiros clientes possuem sempre o IP de destino B e porta de destino 80. Isto
exatamente o esperado em se tratando de servidores WEB.

Consideremos primeiramente o processo cliente (navegador) rodando no hospedeiro A. Apesar de este processo
ter escolhido a mesma porta de origem do processo rodando em C (porta origem x), os pacotes de A e C sero
corretamente demultiplexados, pois o servidor WEB ainda pode diferenciar os pacotes devido ao campo IP de
origem. Analogamente, tambm no haver problema na identificao de pacotes de duas aplicaes rodando
no mesmo hospedeiro cliente (como ocorre em C). Os pacotes sero diferenciados atravs do nmero da porta
de origem, que deve ser diferente para cada um dos processos(neste exemplo, temos x e y). Uma breve
concluso que o servidor identifica os pacotes pelo campo 'IP de origem', e duas aplicaes no mesmo cliente
se diferenciam pela campo 'porta de origem'.

O servidor WEB, por sua vez, tem duas abordagens para gerenciar estas conexes. Ele pode, a cada nova
requisio, criar um novo thread (inserido em um nico grande processo), ou criar um novo processo. Threads
so mais eficientes, uma vez que exigem/alocam menos recursos de hardware para serem executados. Observe
que nas duas abordagens, o servidor designar um socket nico a cada thread/processo, que na prtica, designa
a porta pela qual os dados passam da aplicao camada de transporte.

Algoritimo de Controle de Congestionamento

https://pt.wikibooks.org/wiki/Redes_de_computadores/Multiplexa%C3%A7%C3%A3o_e_demultiplexa%C3%A7%C3%A3o 4/5
14/03/2017 Redes de computadores/Multiplexao e demultiplexao - Wikilivros

O principal objetivo do controle de congestionamento reduzir a taxa em que um remetente envia pacotes na
rede. Normalmente isso conseguido diminuindo o tamanho da janela de congestionamento de todos os
remetentes quando a rede esta congestionada (ocorre perdas de pacotes).

Alguns dos principais algoritimos usados no controle de congestinamento so:

Diminuio Multiplicativa: Nessa abordagem o TCP diminui a janela de congestionamento pela metade
toda vez que houver uma nova perda de pacotes. O valor da janela de congestionamento pode atingir um
valor mnimo igual a 1 MSS.
Aumento Aditivo: Esse mtodo utilizado toda vez que no h congestionamento, o principio desse
mtodo que se nenhum congestionamento for detectado, provavelmente h largura de banda disponvel
e que pode ser usada adicionalmente pelo TCP. Nessas circunstancias o TCP aumenta sua janela de
congestionamento lentamente para verificar se h largura de banda adicional disponvel no caminho fim-
a-fim. Isso conseguido incrementando a janela de congestionamento cada vez que um novo
reconhecimento recebido tendo como meta aumentar a mesma de 1 MSS a cada tempo de viagem de
ida e volta.
Partida Lenta: No inicio de uma conexo o TCP inicia o valor da janela de congestionamento em 1 MSS.
Nesse caso a taxa de aumento da mesma aumenta exponencialmente, duplicando seu valor de janela de
congestionamento a cada RTT (Round Trip Time). Esse aumento exponencial continua at ocorrer o
primeiro evento de perda.

Referncias
KUROSE; ROSS. Redes de Computadores e a Internet: Uma abordagem top-down. So Paulo: Pearson
Addison Wesley, 2006

Obtido em "https://pt.wikibooks.org/w/index.php?
title=Redes_de_computadores/Multiplexao_e_demultiplexao&oldid=422253"

Categoria: Livro/Redes de computadores

Esta pgina foi modificada pela ltima vez (s) 21h03min de 8 de junho de 2016.
Este texto disponibilizado nos termos da licena Creative Commons Atribuio-Compartilhamento pela
mesma Licena 3.0 Unported; pode estar sujeito a condies adicionais. Consulte as Condies de Uso
para mais detalhes.

https://pt.wikibooks.org/wiki/Redes_de_computadores/Multiplexa%C3%A7%C3%A3o_e_demultiplexa%C3%A7%C3%A3o 5/5

Anda mungkin juga menyukai