Redes
Define-se multiplexação como sendo a tarefa de reunir pedaços de dados, vindos de diferentes portas (no hospedeiro de origem), encapsulando esses pedaços com o conjunto de campos para criar segmentos e entregá-los a camada de rede. A transferência de dados pode ser feita por: UDP (não orientada para conexão) ou TCP (orientada para conexão). Caso seja feita por UDP, o socket UDP é identificado por uma tupla com dois elementos: endereços IP de destino e um número de porta de destino; por outro lado seja feita por TCP, o socket TCP é identificado por uma tupla com quatro elementos: endereço IP de origem, número da porta de origem, endereço IP de destino e número da porta de destino.
O método de receber os dados do processo utilizando uma determinada porta, colocar um cabeçalho e enviar a um determinado processo de outro host é chamado de multiplexação.
O método de receber um pacote vindo de outro host e repassar as informações ao processo correto é chamado de demultiplexação 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 aplicação, que também roda nesse hospedeiro. Porém, o que acontece na realidade é que a camada de transporte não entrega os segmentos a um processo, mas sim em um socket (porta) intermediário. Onde cada socket tem um