Introdução a rede I
a. O que é?
É a codificação em bits e bytes dos dados representados pela linguagem ASN.1, para que os mesmos possam ser transmitidos através dos circuitos digitais. Codificação essa que segue as regras da BER (Regras básicas de codificação), a qual trabalha com três campos o rótulo, tamanho e valor.
b. Como a camada de apresentação a implementa?
A codificação em bytes é feita observando os três campos: rótulo, tamanho e valor. A quantidade mínima será de três bytes podendo chegar a um tamanho “infinito”.
O rótulo é composto por um byte, sendo que os dois últimos bits (contando da direita para esquerda) indicam a classe do dado (00 -universal, 01- aplicação e 11- privado); o sexto bit indica o tipo (1- primitivo ou 0- estruturado); e os quatros primeiros indicam o tipo do dado que pode ser boolean, interger, null, etc.
O campo tamanho pode ter uma quantidade ilimitada de bytes, informando o tamanho que pode ser:
Curto, tendo apenas um byte sendo o primeiro com o valor 0 e os outros informando o tamanho (podendo representar de 1 a 127);
Longo, podendo chegar a 127 bytes, tendo no seu primeiro bit do primeiro byte o valor 1 e os outros bits informarão quantos bytes terão, e com a sequência de bytes teremos o valor do tamanho;
Indefinido, mais de 127 bytes, sendo que o primeiro bit do primeiro byte terá o valor 1 e os outros 0, seguindo os bytes informando o valor do tamanho, sendo delimitado com um byte com todos os bits com valor 0.
Valor, que informa o dado em si, que é codificado conforme o tipo, a exemplo um visiblestring que utiliza um byte por caracter, sendo codificado conforme o código ASCII, e dados inteiros são codificados em binário.