Guia de Sintaxe e Layout do Diagrama de Pacote do Mermaid.js

Um diagrama de pacote é um componente de visualização especializado usado por engenheiros de rede, analistas de segurança e desenvolvedores de sistemas para mapear a estrutura binária exata de protocolos de rede, alocações de memória ou cabeçalhos de pacotes personalizados de hardware. Introduzido nativamente no Mermaid.js, esta ferramenta substitui o trabalho tedioso de desenhar tabelas manualmente, renderizando automaticamente um mapa de grade de nível de bits responsivo e perfeitamente alinhado a partir de uma divisão de campos limpa e baseada em texto.

Compreendendo o Layout da Grade de Pacote

Diferentemente dos fluxogramas livres padrão, um diagrama de pacote depende de um sistema rigoroso e matemático de grade modelado diretamente após os RFCs de redes:

  • Largura de Bit (Eixo Horizontal):O motor de layout segmenta automaticamente cada linha em um sistema de grade de 32 bits (abrangendo os bits de 0 a 31) por padrão.
  • Cálculo Automático de Bits:Você simplesmente declara o tamanho em bits para cada campo. O motor de renderização cuida da matemática — empacotando automaticamente campos adjacentes na mesma linha ou envolvendo-os limpidamente na próxima linha quando o tamanho acumulado ultrapassar o limite de 32 bits.

Estrutura Básica de Sintaxe

Todo mapa de pacote começa com o packetcabeçalho de declaração. É seguido por campos em bloco declarados como pares sequenciais que correspondem a um padrão estrito "Nome do Campo": TamanhoEmBitspadrão em linhas individuais.

packet
  0-3: "Versão"
  4-7: "IHL"
  8-15: "Tipo de Serviço"
  16-31: "Comprimento Total"

Referência de Sintaxe

A tabela abaixo detalha os parâmetros de dados fundamentais e as regras de formatação de layout necessárias para construir um diagrama de pacote no Mermaid.js.

Elemento de Sintaxe Requisito de Tipo Descrição e Comportamento Visual da Grade
Declaração Identificador de Palavra-Chave Inicializa o espaço de trabalho de layout de protocolo em nível de bit. Deve usar exatamente o packetbloco de cabeçalho.
Nome do Campo String entre aspas A etiqueta que é exibida dentro do espaço do bloco. Sempre deve estar entre aspas duplas.
Tamanho em Bits Número Inteiro Positivo O comprimento absoluto em bits do campo (por exemplo, 1 para bandeiras de um único bit, 8 para bytes, 16 para shorts). Define a largura visual.
Gatilho de Quebra de Linha Rastreador Automático Ocorre automaticamente toda vez que o tamanho total combinado em bits atinge um múltiplo de 32 bits.

Plano Realista: Mapa Estrutural do Cabeçalho de Pacote IPv4

Este plano abrangente rastreia a estrutura padrão de pacotes de roteamento na internet (IPv4). Mostra como campos de múltiplos bits, bandeiras de um único bit e blocos maiores de 16 bits se montam sequencialmente dentro da disposição padrão em grade horizontal de 32 bits. Os campos que atingem a marca de 32 bits descem automaticamente para a próxima linha de forma limpa.

pacote
  0-3: "Versão"
  4-7: "IHL"
  8-15: "Tipo de Serviço"
  16-31: "Comprimento Total"
  32-47: "Identificação"
  48-50: "Bandeiras"
  51-63: "Deslocamento de Fragmento"
  64-71: "TTL"
  72-79: "Protocolo"
  80-95: "Verificação do Cabeçalho"


Dica de Sintaxe: Se um campo declarado individualmente for maior que 32 bits (como uma sal criptográfica de 64 bits ou um timestamp), o motor de renderização irá envolver suavemente e esticar esse bloco verticalmente por várias linhas sequenciais, usando indicadores de conexão limpos para preservar a legibilidade.


Armadilhas Comuns de Sintaxe e Restrições do Sistema

Ao projetar mapas de documentação de nível de byte altamente precisos, considere esses parâmetros de solução de problemas para evitar falhas na compilação:

  • Embrulhos Obrigatórios de Aspas: Cada string de descrição de campo deve estar entre aspas duplas. Omitir as aspas causará erros imediatos na análise de sintaxe.
  • Tamanhos Inválidos de Bits em String: A atribuição de espessura de valor após o separador de dois pontos deve ser um número inteiro bruto e não entre aspas. Passar decimais ou tamanhos alfabéticos (por exemplo, "Dados": 8bits) interromperá a compilação do diagrama.
  • Alinhamento de Borda da GradeCertifique-se de que a soma dos seus campos combinados seja divisível por 32, para obter diagramas de cabeçalho uniformes e em forma de caixa. Deixar uma linha com bits não atribuídos pode causar blocos finais desiguais.
  • Restrições de Escala da Visualização:Embora o motor calcule dinamicamente as larguras do layout, encher blocos pequenos de 1 bit ou 2 bits com descrições de texto muito longas pode cortar a tipografia ou causar sobrecarga visual. Mantenha rótulos de bits pequenos concisos.
Scroll to Top