Uma introdução ao mundo das redes para se compreender melhor os processos sobre URL, HTML, HTTP e etc. Um resumo que eu fiz para entender melhor e usar como material de pesquisa para possíveis implementações Linux.
As funções principais da camada de transporte do modelo OSI são transportar e regular o fluxo de informações da origem até o destino de forma confiável e precisa. Controle fim a fim e confiabilidade são criados por janelas deslizantes, números de seqüência e confirmações.
A Camada Quatro oferece serviços de transporte do host ao host origem de destino. Ela cria uma conexão lógica entre as extremidades da rede. OS Protocolos na camada de transporte desmontam e remontam os dados que são enviados por várias aplicações de camada superior no mesmo fluxo de dados da camada de transporte. Esses dados da camada de transporte fornecem serviços de transporte fim a fim.
Ao mesmo tempo em que a camada de transporte envia os dados e procura garantir que os mesmos não sejam perdidos. Para exercer esta garantia ela contém confirmações de conexão entre o host que envia e o que recebe além destas confirmações ainda existe um controle de fluxo durante a conexão. Para exemplificar o controle de fluxo, podemos citar uma situação na qual um host receptor não consiga receber os dados na velocidade em que chegam causando perda de dados por descarte. O controle de fluxo evita que isso aconteça estabelecendo a comunicação numa velocidade satisfatória para ambos.
O protocolo TCP/IP dispõe de "tantos outros" procedimentos para as diversas formas de conexão entre hosts. Quando se estabelece uma conexão num Sistema Par, entram em ação novas regras para não haver um congestionamento, ou até erros, durante a comunicação. Estas regras agem em conjunto formando um processo chamado de Handshake, que age desde a solicitação de sincronização até um envio de segmento de confirmação usado para informar ao destino que ambos os lados concordam que foi estabelecida uma conexão.
Outra função que não posso deixar de citar são os sinais de ready (pronto) e not-ready (não pronto) que é usado pelos receptores para informar se eles estão em condições de receber, ou não, os datagramas enviados, evitando o descarte que se aplica na condição de pico de memória. O TCP/IP fornece condições para que o host transmissor envie um sinal indicando o final de transmissão e o receptor confirme para que a conexão encerre normalmente.
Como este protocolo oferece uma transferência de dados confiável, orientada à conexão, os pacotes devem respeitar uma ordem de chegada ao serem transmitidos para não existir falha ao protocolo. Isto pode também acontecer se algum pacote for perdido ou danificado. Neste caso usa-se um "subsistema" de reenvio de pacotes (inclusos nas condições citadas acima) antes da retransmissão do conjunto de pacotes recebidos normalmente, para que haja um envio de pacotes numa ordem definida por chegada, junto com os pacotes que foram reenviados para finalmente serem enviados na ordem certa. Esse "subsistema" é chamado de Janelamento, que também é um mecanismo de controle de fluxo, usando janelas com número de pacotes de dados restantes que o emissor tem permissão para ter sem ter recebido uma confirmação.
Esta janela que contém informações para a ordem correta de pacotes dispõe-se de tamanhos variáveis, que mudam de acordo com o número de bytes que o receptor pode aceitar. O TCP também mantém uma janela de controle de congestionamento que permite gerenciar o espaço no buffer e o processamento. Quando o pacote chega com sucesso o receptor manda uma resposta de Confirmação contendo o pedido do outro pacote, quando o transmissor não recebe esta confirmação ele retransmite o pacote para o receptor.
Dentro da Camada de Transporte ainda existe um protocolo chamado Protocolo de Datagrama de Usuário (User Datagram Protocol (UDP), que não é orientado para conexões por não usar de confirmações ou entrega garantida onde é usado para aplicações que não precisam juntar seqüências de segmentos.
O protocolo UDP possui serviços como TFTP, SMMP, DHCP e DNS. Tanto o TCP quanto o UDP usam números de porta (soquete) para passar as informações às camadas superiores. Os números de porta são usados para manter registro de diferentes conversações que cruzam a rede ao mesmo tempo.
[4] Comentário enviado por adrianoturbo em 08/05/2009 - 10:35h
Amigo ,
Não entendi essa sua colocação: "Existe um protocolo chamado HTTP que não opera na Camada de Aplicação, e sim na Internet, é um protocolo que muito se relaciona com a Camada Quatro."
Por que o protocolo HTTP não operaria na camada de aplicação tendo em vista que ele provêm um tipo de serviço ,especialmente nessa camada ?