Pergunta

Olhando para os padrões de nível de enlace de dados, tais como o formato geral quadro PPP ou Ethernet , não está claro o que acontece se a soma de verificação é inválido. Como é que o know protocolo onde o próximo quadro começa?

Será que apenas digitalizar para a próxima ocorrência de "flag" (no caso do PPP)? Se assim for, o que acontece se a carga do pacote só acontece para conter "bandeira" em si? Meu ponto é que, se packet-framing ou campos "comprimento" são utilizados, não está claro como se recuperar de pacotes inválidos onde o campo "tamanho" pode ser corrompido ou os bytes "enquadramento" poderia apenas para acontecer a ser parte da packet carga útil.

Atualizar : Eu encontrei "enquadramento baseado em CRC GFP" o que eu estava procurando (o que não é estritamente o que eu pedi sobre), observando-se. De acordo com a Comunicação redes

O receptor GFP é sincronizado com o limite moldura de GFP através de um processo de três estados. O receptor é inicialmente no Hunt Estado , onde ele examina quatro bytes de cada vez para ver se o CRC computado ao longo dos dois primeiros bytes é igual o conteúdo dos próximos dois bytes. Se nenhuma correspondência é encontrada a GFP se move para a frente por um byte como GFP assume octeto transmissão síncrona dada pela camada física. Quando o receptor encontra uma correspondência ele se move para o estado pré-sync . Enquanto neste estado intermediário do receptor utiliza o campo experimental PLI (indicador de tamanho da carga) para determinar a localização da próxima fronteira de quadro. Se um número de destino N de detecção quadro de sucesso tem sido atingido, então o receptor se move para o estado de sincronização . O estado de sincronização é o estado normal, em que o receptor examina cada PLI, valida-o usando CHEC (verificação de erro de cabeçalho do núcleo), extrai a carga útil, e prossegue para o próximo quadro.

Em suma, cada pacote começa com "comprimento" e "CRC (comprimento)". Não há necessidade de escapar quaisquer caracteres e o tamanho do pacote é conhecido antes do tempo.

Parece haver duas abordagens principais para o enquadramento de pacotes:

  • esquemas de codificação (bits / byte de enchimento, codificação Manchester, 4B5B, 8b10b, etc)
  • dados não modificados + soma de verificação (GFP)

O primeiro é mais seguro, o último é mais eficiente. Ambos são propensos a erros se a carga útil só acontece para conter um pacote válido e linha de corrupção faz com que o processo bytes para conter o "start of frame" seqüência de bytes, mas que soa altamente improvável. É difícil encontrar números concretos para a robustez da GFP, mas um monte de protocolos modernos parecem usá-lo para que se possa supor que eles sabem o que estão fazendo.

Foi útil?

Solução

Você é muito perto da resposta correta já. Basicamente, se ele começa com um preâmbulo e termina em algo que partidas como soma de verificação, é um quadro e passou-se para as camadas superiores.

PPP e ethernet tanto olhar para o sinal seguinte quadro inicial. No caso de Ethernet, que é o preâmbulo, uma sequência de 64 bits alternados. Se um decodificador ethernet vê que, ele simplesmente assume que se segue é um quadro. Ao capturar os bits e, em seguida, verificar se os jogos de soma de verificação, decide se ele tem um quadro válido.

Tal como para a carga contendo o FLAG, em PPP é escapado com bytes adicionais para evitar tais erros de interpretação.

Outras dicas

Tanto o PPP e Ethernet têm mecanismos de enquadramento - ou seja, para quebrar um fluxo de bits em quadros, de tal forma que, se um receptor perde a noção do que é o quê, ele pode pegar no início do próximo quadro . Estes certo sentar na parte inferior da pilha de protocolos; todos os outros detalhes do protocolo são construídas sobre a idéia de frames. Em particular, o preâmbulo, LCP, e FCS estão a um nível superior, e não usado para moldação de controlo.

PPP, através de ligações de série, como dial-up, é enquadrado usando HDLC-like Framing . Um valor de byte de 0x7e, chamado uma sequência FLAG, indica o início do quadro. A estrutura continua até que o byte seguinte bandeira. Qualquer ocorrência do byte bandeira no conteúdo do quadro é escapado. Que se escapa é feito por escrito 0x7D, conhecido como o byte de controle de escape, seguida pelo byte de ser precedidos XOR com 0x20. A sequência sinalizador é escapado para 0x5e; a própria fuga de controle também tem que ser escapado, para 0x5D. Outros valores também podem ser escapado se a sua presença iria perturbar o modem. Como resultado, se um receptor perde sincronização, que pode apenas ler e bytes de descarte até que vê um 0x7e, em que pontos ele sabe que é no início de um quadro novo. O conteúdo do quadro são, então, estruturado, contendo alguns campos ímpares pequenas que não são realmente importante, mas são mantidas de um protocolo anterior IBM, juntamente com o pacote PPP (chamada uma unidade de dados de protocolo, PDU), e também a verificação de quadro sequência de vitelo (FCS).

Ethernet usa uma abordagem logicamente semelhante, de ter símbolos que são reconhecidas como marcadores de quadro de início e fim, em vez de dados, mas em vez de ter bytes reservados além de um mecanismo de escape, que utiliza um esquema de codificação que é capaz de expressar símbolos de controlo especiais que são distintos dos bytes de dados - um pouco como o uso de pontuação para romper uma sequência de letras. Os detalhes do sistema utilizado variam de acordo com a velocidade.

Padrão (10 Mb / s) ethernet é codificado usando uma coisa chamada Manchester encoding , em que cada bit a ser transmitido é representado como dois níveis sucessivos sobre a linha, de tal maneira que um existe sempre uma transição entre os níveis em todos os bits, o que ajuda a que o receptor fique sincronizada. os limites do quadro são indicados por violar a regra de codificação, levando a que haja um pouco sem transição (eu li isso em um livro anos atrás, mas não consegue encontrar uma citação online - eu poderia estar errado sobre isso). Com efeito, este sistema se expande o código binário para três símbolos -. 0, 1, e violação

Rápida (100 Mb / s) ethernet usa um diferente esquema de codificação, com base em um 5b / 4b código , onde os grupos de quatro bits de dados (nybbles) são representados como grupos de cinco bits sobre o fio, e transmitida directamente, sem o regime de Manchester. A expansão para cinco bits permite que os dezesseis padrões necessários utilizado ser escolhido para cumprir a exigência de transições de nível freqüentes, mais uma vez para ajudar a estadia receptor sincronizados. No entanto, ainda há espaço para escolher alguns símbolos extra, que pode ser transmitida, mas não correspondem ao valor de dados, com efeito, ampliando o conjunto de nybbles a vinte e quatro símbolos - os nybbles 0 a F, e símbolos chamado Q, I , J, K, T, R, S e H. Ethernet usa um par JK a marca moldura começa, e TR para fins marca de frame.

Gigabit Ethernet é semelhante ao Fast Ethernet, mas com um esquema de codificação diferente - as versões de fibra óptica usar um 8b / 10b código em vez do código 5b / 4b, ea versão de par trançado utiliza algum arranjo código quinary muito complexo que eu realmente não entendo. Ambas as abordagens se obter o mesmo resultado, que é a capacidade de transmissão de dados, quer de bytes ou um de um pequeno conjunto de suplementosímbolos especiais itional, e os símbolos especiais são utilizados para o enquadramento.

No topo desta estrutura básica enquadramento, existe então um preâmbulo fixo, seguido por um delimitador da estrutura, e alguns campos de controlo de diferentes inutilidade (olá, LLC / SNAP!). Validade destes campos pode ser usado para validar o quadro, mas não podem ser usadas para definir quadros por conta própria.

Tanto quanto eu sei, PPP suporta apenas detecção de erros, e não suporta qualquer tipo de correção de erros ou de recuperação.

Apoiado por Cisco aqui: http: / /www.cisco.com/en/US/docs/internetworking/technology/handbook/PPP.html

Este Wikipedia PPP ativação da linha seção descreve os conceitos básicos de RFC 1661. Uma seqüência Frame Check é usado para detectar erros de transmissão em um quadro (descrito na seção encapsulamento anteriormente).

O diagrama de RFC 1661 sobre esta página da Wikipedia descreve como a fase do protocolo de rede pode reiniciar com Estabelecimento de Ligação em um erro.


Além disso, as notas da página Cisco referida por Suvesh.

PPP protocolo Link-Controle

O PPP LCP fornece um método de estabelecimento, configuração, manutenção, e que encerra a ligação ponto-a-ponto. LCP passa por quatro fases distintas.

Primeiro, ligação estabelecimento e negociação de configuração ocorrer. Antes de quaisquer datagramas camada de rede (por exemplo, IP) pode ser trocado, LCP primeiro deve abrir a conexão e negociar parâmetros de configuração. Esta fase é concluída quando um quadro de configuração de reconhecimento tem sido enviadas e recebidas.

Isto é seguido por determinação qualidade link. LCP permite uma fase de determinação da qualidade da ligação opcional, seguindo o link-establishment e fase configuração de negociação. Nesta fase, a ligação é testado para determinar se a qualidade da ligação é suficiente para abrir protocolos da camada de rede. Esta fase é opcional. LCP pode atrasar a transmissão de informação de protocolo de rede camada até que esta fase esteja completa.

Neste ponto, a rede de negociação camada configuração protocolo ocorre. Depois de LCP terminou a fase de determinação da qualidade de ligação, os protocolos da camada de rede pode ser configurado separadamente pelo PCN apropriado e pode ser trazido para cima e para baixo feita a qualquer momento. Se LCP encerra a ligação, ele informa os protocolos da camada de rede para que eles possam tomar as medidas adequadas.

Finalmente, a rescisão ligação ocorre. LCP pode encerrar a ligação a qualquer momento. Isso geralmente é feito a pedido de um usuário, mas pode acontecer por causa de um evento físico, tais como a perda da transportadora ou da expiração de um temporizador de inactividade-período.

Três classes de quadros LCP existe. quadros Link-establishment são usados ??para estabelecer e configurar um link. quadros Link-terminação são usados ??para encerrar uma ligação, e quadros de ligação de manutenção são usados ??para gerenciar e depurar um link.

Esses quadros são utilizados para realizar o trabalho de cada uma das fases LCP.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top