Vimos anteriormente o LCP, o Protocolo de Controle de Conexão, o qual é usado para negociar as características da conexão e testar o seu funcionamento.
As duas mais importantes opções que podem ser negociadas pelo LCP são a unidade máxima de recepção e o Mapa de Caracteres de Controle Assíncrono. Há um número razoável de opções de configuração do LCP, mas não estão dentro do escopo deste guia. De qualquer forma a RFC 1548 traz uma descrição detalhada do LCP e de suas opções.
O Mapa de Caracteres de Controle Assíncrono, coloquialmente chamada de ``mapa assíncrono'', é usado em conexões assíncronas, como por exemplo em linhas discadas, para identificar o conjunto de caracteres que devem ser substituídos (por uma seqüência específica de dois outros caracteres) e interpretados como caracteres normais de texto e não como uma seqüência de comando, indicando alguma ação a ser tomada. Por exemplo, deve-se evitar o uso dos caracteres XON e XOFF, usado por softwares de negociação, porque algum modem mal configurado pode desconectar-se após receber um XOFF. Outros possíveis candidatos incluem Ctrl-] ( o caracter de fuga do programa telnet). PPP permite substituir qualquer caracter com código ASCII entre 0 e 31 através da utilização do ``mapa assíncrono''.
O ``mapa assíncrono'' é um mapa de 32 bits de tamanho, com o bit menos significativo indicando o caracter ASCII nulo, e o mais significativo correspondendo ao caracter de código ASCII 31. Caso um bit esteja configurado, isso significa que o caracter correspondente àquela posição deve ser substituído antes de ser enviado através da conexão. Inicialmente, o mapa assíncrono está configurado como 0xffffffff, ou seja com todos os bits configurados, indicando que todos os caracteres devem ser substituídos.
Para informar à máquina remota que ela não deve substituir todos os caracteres de controle, mas somente alguns deles, pode-se especificar um novo mapa assíncrono para o programa pppd através da opção asyncmap. Por exemplo, caso somente os caracteres ^S
e ^Q
(ASCII 17 e 19), comumente usados como XON e XOFF devam ser substituídos, deve ser usada a seguinte opção:
A Unidade Máxima de Recepção, ou MRU, indica para a máquina remota qual o tamanho máximo da unidade de transferência HDLC que se deseja receber. Apesar de lembrar o conceito de MTU - Unidade Máxima de Transferência, há pouca coisa em comum entre eles. A MTU é um parâmetro do kernel para dispositivos de rede e descreve o tamanho máximo de pacotes que a interface pode manusear. Já a MRU é como um aviso à máquina remota para não gerar pacotes com tamanho maiores que o definidos, a interface nunca será capaz de receber pacotes maiores que 1500 bytes.
Escolher uma MRU não é somente uma questão da capacidade de transferência, mas sim da definição de qual opção propicia a melhor performance. Caso se pretenda utilizar aplicações interativas sobre a conexão, configurar uma MRU ao redor de 296 pode ser uma boa idéia, uma vez que o uso de pacotes maiores (digamos de uma sessão FTP) fará o cursor pular. Para informar ao programa pppd que este deve solicitar uma MRU de, por exemplo 296, basta indicar a opção mru 296. MRUs muito pequenas somente fazem sentido se não se estiver utilizando a compressão de cabeçalho VJ (a qual é habilitada por padrão).
O programa pppd entende algumas opções do protocolo LCP que configuram o comportamento geral do processo de negociação, como por exemplo o número máximo de solicitações de configuração que podem ser trocadas antes que a conexão seja interrompida. A menos que se saiba exatamente o que se está fazendo, deve-se usar os parâmetros padrão.
Finalmente há duas opções que se aplicam às mensagens de eco do LCP. PPP as define como Solicitação de Eco e Resposta de Eco. O programa pppd usa estas funcionalidades para verificar se a conexão ainda está ativa. Pode-se habilitar isto usando a opção lcp-echo-interval junto com o tempo desejado expresso em segundos. Caso nenhum pacote seja recebido da máquina remota no intervalo definido, o programa pppd gerará uma Solicitação de Eco e esperará receber da máquina remota uma Resposta de Eco. Caso a resposta não seja recebida, a conexão será interrompida após o envio de um certo número de requisições. Este número pode ser configurado através da opção lcp-echo-failure. Por padrão estas funcionalidades não são habilitadas.