A função básica desta camada é a de garantir a transmissão total dos dados desde a origem ao seu destino. Para isso, recebe os dados da camada superior (camada de sessão) e segmenta-os em pequenos pedaços, após o qual os passa à camada inferior (camada de rede. Esta segmentação é necessária, pois a transmissão total dos dados como uma grande sequência de bits na presença de erros pode ser fatal, o que obriga o originador a retransmitir os mesmos na totalidade. Assim, a transmissão dos dados em pequenas sequências só obriga, em caso de erros, a retransmissão de algumas dessas sequências, minimizando este problema. Em regra, a camada de transporte cria ligações distintas para cada ligação que a camada de sessão necessita. No entanto, em condições especiais a camada de transporte pode preferir dividir os dados referente a uma ligação por várias outras (maiores débitos) ou combinar dados de ligações diferentes numa única ligação (redução de custos de manutenção de ligações). Este dinamismo obriga a camada de transporte a proporcionar um elevado nível de abstracção à camada de rede, escondendo-lhe os detalhes da implementação da ligação. Durante a fase de estabelecimento da ligação, a camada de transporte negocia com a camada de rede o tipo de serviços que vai utilizar. Esses serviços são vários e variam nas garantias que proporcionam. Uns garantem a entrega total dos dados pela ordem que foram enviados e outros, pelo contrário, não dão qualquer tipo de garantia. A camada de transporte tem, ainda, um mecanismo de controle de fluxo com o objectivo de regular o fluxo de informação pelas diversas ligações. Este mecanismo identifica o destinatário de um bloco de dados através de um cabeçalho especial em cada bloco e redirige-o imediatamente para a respectiva ligação. O estabelecimento e a interrupção das ligações entre dispositivos é, ainda, da responsabilidade da sua responsabilidade.
©
Departamento de Engenharia Informática |
|