O nível Transporte nas redes TM Introdução Estrutura da camada de adaptação TM (L) L 1 L 2 L 3/4 L 5 Comparação entre protocolos L COP
Introdução camada L (TM daptation Layer) da rede TM corresponde a um nível transporte, que oferece um serviço destino-a-destino às aplicações usando os serviços da camada TM. O nível TM suporta o transporte da sequência de células de 53 bytes (48 bytes de dados) em circuitos virtuais, sem controlo de erros, de fluxo ou outro controlo. O nível L visa adaptar as características da rede aos requisitos das aplicações. sua principal funcionalidade é suportar a segmentação das mensagens das aplicações em células no emissor, e reconstruir a mensagem original no receptor. Existem vários protocolos L, destinados a suportar diferentes categorias de serviço: L1 tráfego CB L2 tráfego T-VB L3/4 e L5 - tráfego de dados sem requisitos de tempo real O protocolo L5 oferece uma funcionalidade semelhante ao UDP, sendo usado para transportar tráfego IP sobre TM. Não existe nenhum protocolo para dados que ofereça um serviço fiável semelhante ao TCP. Geralmente usa-se um nível transporte adicional sobre o L (TCP-IP-TM) para obter essa funcionalidade. L-2
Estrutura da camada de adaptação TM (L) C ubcamada de convergência ubcamada de segmentação e reagrupamento TM L Cada camada L está dividida em duas subcamadas: C (subcamada de convergência) Oferece a interface para a aplicação, realizando a segmentação do feixe de dados ou mensagens em unidades de 44 a 48 bytes no emissor. Dependendo do protocolo, pode incluir funcionalidades de delimitação de mensagens e detecção de erros. Lida com MENGEN. (subcamada de segmentação e reagrupamento) Na recepção realiza o reagrupar das células em mensagens, podendo acrescentar cabeçalhos (headers) e caudas (trailers). Dependendo do protocolo, pode lidar com multiplexagem de ligações e detecção de erros. Lida com CÉLUL. subcamada C (de convergência) pode-se ainda subdividir em duas camadas internas: Uma parte específica da aplicação; Uma parte comum para todas as aplicações (para um protocolo L). comunicação entre a aplicação e a camada L usa duas primitivas: uma de pedido (equest) e outra de sinalização (Indication). L-3
Estrutura da camada de adaptação TM (L) Cada protocolo L pode ter protocolos para uma ou para as duas subcamadas L, que acrescentam cabeçalhos e caudas à mensagem recebida da aplicação. subcamada de convergência (C) segmenta a mensagem por várias células. aída da plicação aída da subcamada de convergência C C aída da subcamada C C aída da camada TM T M C T M T M C 44-48 48 53 octetos Não usado L-4
L 1 uporta a transmissão de tráfego CB (Constant Bit ate). Não recupera erros, mas reporta perdas de células para a aplicação. O L1 usa a subcamada de convergência (C) e a subcamada de segmentação e reagrupamento. ubcamada C s tarefas da subcamada C são: detectar células perdidas e mal inseridas; controlar a entrega das mensagens recebidas da subcamada à aplicação, de forma a manter o ritmo constante; segmentar as mensagens da aplicação em unidades de 46 ou 47 bytes entregando-as à sub camada, ou reagrupar as unidades recebidas em mensagens. subcamada não tem cabeçalhos nem caudas específicas. ubcamada subcamada tem dois modos de funcionamento: feixe de células feixe de mensagens L-5
L 1 subcamada usa mensagens (PDUs) com o seguinte formato: Bits Não P (feixe) 1 3 3 1 0 N NP 47 bytes de dados Paridade par P (mensagens) 1 N NP Ponteiro 46 bytes de dados 8 48 Bytes Tem dois modos de funcionamento: N número de sequência de célula; NP CC do N gerado com o polinómio x 3 +x+1; bit de paridade par que protege os primeiros 7 bits. No modo feixe é usado o primeiro formato (primeiro bit a 0). No modo mensagem (tipo P com o primeiro bit a 1) a PDU tem um campo adicional (Ponteiro), que define o byte do início da próxima mensagem. Cada mensagem tem entre 0 e 92 bytes. penas as PDUs com N par podem ser do tipo P. s PDUs impares são usadas para realizar a sincronização de relógios. O L1 não contém campos para definir o número de bytes preenchidos na célula. Tem de se definir no início de uma transmissão entre as aplicações, não se aproveitando os bits restantes nas células. L-6
L 2 O L2 foi desenvolvido para suportar tráfego VB, evitando o envio de células quase vazias (como ocorre em L1 com intervalos curtos de recolha de amostras de áudio). Voz com ritmo binário baixo (e.g. C-CELP 8Kbps) Montagem das célula TM célula TM célula TM traso de empacotamento TM O L 2 apenas foi ratificado pelo ITU-T em etembro de 1997, depois da publicação do livro recomendado. É fornecido um tutorial da General DataComm. O L2 define um modelo de protocolos ligeiramente diferente. CP (Parte comum) equivale à junção da parte comum da subcamada de convergência mais a subcamada. O L2 suporta: Multiplexagem de ligações através de uma ligação itmo variável para cada ligação L-7
L 2 Protocolo CP (parte comum) O protocolo CP pode-se subdividir na subcamada CPC, que lida com mensagens, e na, que lida com células. parte comum da subcamada de convergência (CPC) recebe pacotes da parte específica da subcamada de convergência (C), acrescentando o seguinte cabeçalho: Bits 8 6 5 5 CID LI UUI HEC 1-45/64 Bytes de dados Cabeçalho CPC 48/67 Bytes CID (Channel Identifier) Identifica o utilizador do canal. LI (Length) Comprimento dos dados no pacote. UUI (User-to-User Indication) dados da subcamada C passados transparentemente. HEC (Header Error Control) código corrector de erros. subcamada CPC reúne pacotes de várias ligações L2 enviando-as à subcamada, que os segmenta em várias unidades de 47 bytes. Pacotes C Comprimento negociado por ligação L2 individual (tempo empacotamento limitado) Pacotes L2 (várias ligações L2) Células TM L-8
L 2 Os pacotes da subcamada correspondem à CP-PDU e têm a estrutura representada em seguida. ponta para início do primeiro pacote L2 que inicia transmissão na PDU egmento de pacote L2 que começou numa célula anterior Vazio ou segmento de pacote CP 6 1 1 1 Byte 47 Bytes (48 Bytes) OF (Offset Field) ponta para o início do primeiro pacote L2 contido na PDU. N (equence Number) Bit de sequência. P bit de paridade. O protocolo tem uma eficiência elevada pois permite utilizar técnicas de compressão de dados que geram um ritmo variável, como supressão de silêncios, reduzindo o espaço não usado nas células com a multiplexagem de vários canais. Protocolo C (parte específica) Foram definidos vários protocolos C para lidar com: Trunking de ligações (multiplexagem de ligações de tempo real sobre TM). plicações de voz sobre redes móveis. L-9
L 3/4 Nos trabalhos iniciais a ITU (International Telecommunication Union) previa a definição de dois protocolos L para dados sem requisitos temporais: um orientado à ligação (L3) e outro para serviços sem ligação (L4). Durante a normalização inicial dos protocolos eles foram combinados num único protocolo, que pode operar em dois modos: feixe (orientado à ligação); ou mensagem (sem ligação). No modo mensagem cada invocação envia uma mensagem para a rede, sendo preservadas as fronteiras entre mensagens. No modo feixe as fronteiras entre mensagens não são preservadas. O L 3/4 pode funcionar no modo fiável ou não fiável. No primeiro caso, detecta os erros de transmissão de mensagens. O L 3/4 suporta a multiplexagem de várias sessões através de um circuito virtual TM. Cada sessão é identificada por um MID (Multiplexing ID). Todas as sessões partilham a qualidade de serviço definida para o circuito virtual. vantagem da multiplexagem é a redução de custos, por se abrir uma única ligação entre duas máquinas. L-10
L 3/4 O L 3/4 tem protocolos nas duas subcamadas: C e Protocolo C (ubcamada de convergência) O protocolo C constrói uma mensagem com a estrutura seguinte e envia-a à subcamada. CPI (Common Part Indicator) define o tipo de mensagem e a unidade de contagem do campo B size. Btag, Etag Delimitadores de mensagem. Valores iguais para cada mensagem, incrementados em novas mensagens. B size define a dimensão do buffer a alocar no receptor da mensagem. Payload mensagem recebida da aplicação (até 65535 bytes) Padding bytes acrescentados à mensagem para tornar o comprimento múltiplo de 4. Length Comprimento total da mensagem. No modo mensagem é igual a B size. No modo feixe pode não ser. L-11
L 3/4 Protocolo (ubcamada de segmentação e reagrupamento) O protocolo recebe a mensagem da subcamada C, subdivide-a em blocos de 44 bytes, e acrescenta os seguintes cabeçalho e cauda: T (egment Type) Define a posição do segmento em relação à mensagem (Início, meio, fim ou célula única). N (equence Number) Número de sequência de célula. MID (Multiplexing ID) Número de sessão. uporta a multiplexagem de várias sessões. LI (Length Indicator) Número de bytes enviados. CC código de detecção de erros. Criticas ao L 3/4 O L 3/4 é ineficiente porque desperdiça demasiados bytes em cabeçalhos e caudas: 8 bytes por mensagem na subcamada C; 4 bytes por células na subcamada. melhor utilização possível é 83% da largura de banda. Na realidade é pior pois há bytes acrescentados na subcamada C e pode haver bytes vazios na última célula. O L 3/4 usa um código de detecção de erros fraco (10 bits) apenas ao nível da célula, não oferecendo nenhum código ao nível da mensagem na subcamada C. L-12
L 5 O L 3/4 foi proposto pela indústria de telecomunicações. No entanto foi rejeitado pela indústria de computadores, que propôs um novo protocolo para o transporte de dados sem requisitos de tempo real, normalizado como L 5. O L 5 suporta os dois modos de funcionamento e os dois níveis de fiabilidade suportadas no L 3/4 (modo mensagem e modo feixe e envio garantido e de melhor esforço). penas não suporta a multiplexagem de sessões. No entanto é mais eficiente. Protocolo C (ubcamada de convergência) O protocolo C constrói uma mensagem com a estrutura seguinte e envia-a à subcamada. UU (User to User) dados do utilizador. Length Comprimento da mensagem. CC resto calculado com um polinómio gerador de 32 bits. detecção de erros por mensagem é feita apenas no CC, com o mesmo polinómio usado no HDLC, que detecta uma percentagem elevada dos erros. Protocolo (ubcamada de segmentação e reagrupamento) O protocolo recebe a mensagem da subcamada C, subdivide-a em blocos de 48 bytes, não acrescentando nada. delimitação da mensagem é realizada através do terceiro bit do campo PTI no cabeçalho TM, que tem o valor 1 na última célula de uma mensagem e 0 nas restantes. L-13
Comparação entre protocolos L Item L 1 L 2 L 3/4 L 5 Categoria de serviço TM CB VB B/ UB B/ UB Multiplexagem Não im im Não Delimitação de mensagem Não im Btag/ Etag Bit em PTI locação antecipada de Não Não im Não memória na recepção Envia bytes utilizador extra Não im Não im Campos C (Bytes) 0 3 8 8 Checksum C Não Não Não 32 bits Dados na célula (Bytes) 46-47 47 44 48 Campos (Bytes) 1-2 1 4 0 Checksum Não Não 10 bits Não O L 3/4 não é usado na prática. COP ervice pecific Connection-Oriented Protocol O L 5 e o L 3/4 não oferecem um serviço comparável ao TCP, com recuperação de erros. Geralmente usa-se um protocolo adicional sobre o L (TCP) para oferecer este serviço às aplicações. O envio de mensagens fiável, com recuperação de erros apenas é suportado para mensagens de controlo, com o protocolo COP. O COP suporta o envio de mensagens de até 64K Bytes, utilizando-se retransmissão com "selective repeat" para recuperar de erros. Periodicamente o emissor pede ao receptor um bitmap com todas as mensagens recebidas. Baseado nesta informação, o emissor descarta as mensagens recebidas do buffer e retransmite as que não foram recebidas. L-14