AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 793114
Accepted
nh2
nh2
Asked: 2025-03-29 22:00:25 +0800 CST2025-03-29 22:00:25 +0800 CST 2025-03-29 22:00:25 +0800 CST

Diferença entre pointopoint-/32 e /32 com rota adicionada

  • 772

Em redes Linux, há alguma diferença entre criar um endereço IP com uma /32sub-rede pointopoint GATEWAYhabilitada e um endereço /32com uma rota adicional GATEWAY?

( pointopointin ifconfigé a peeropção em ip address, e o IFF_POINTOPOINTsinalizador no kernel.)

Concretamente, existe alguma diferença (por exemplo, no comportamento de roteamento ou desempenho) entre os comandos

ip addr add 1.2.3.4/32 peer 1.2.3.1 dev eth0

e

ip addr add 1.2.3.4/32 dev eth0
ip route add 1.2.3.1 dev eth0

onde 1.2.3.1fica o portal?

Pergunta bônus: se não há diferença, por que foi pointopointadicionado ao kernel?

linux
  • 1 1 respostas
  • 42 Views

1 respostas

  • Voted
  1. Best Answer
    grawity
    2025-03-30T06:30:17+08:002025-03-30T06:30:17+08:00

    No nível do kernel, o comportamento de roteamento é o mesmo. Tanto as máscaras de sub-rede regulares quanto os endereços de peer PtP são traduzidos para rotas com escopo de link (aquelas com proto kernel) para que um tipo separado de pesquisa não precise ser feito.

    Mas esse é o caso agora. Eu suspeito que você pode ter a linha do tempo invertida e que IFF_POINTOPOINT pode ter sido adicionado muito, muito antes de tal roteamento se tornar possível de configurar de forma genérica. (Não para Linux; Linux apenas reimplementou essa API em particular.)

    O roteamento IPv4 inicial era "classificado" – inicialmente não havia máscara de sub-rede porque ela estava implícita no endereço (certos endereços eram "classe A", etc.), com os comprimentos de prefixo de cada classe codificados em cada pilha de rede.

    Então, quando você configura um endereço IP em um ambiente classful, você apenas escreve ifconfig foo0 192.168.1.5mas não há lugar para especificar o /32nor mask 255.255.255.255porque tais conceitos ainda não existiam em IP – em vez disso, o sistema automaticamente "saberia" que 192.x era um endereço de Classe C e, portanto, um /24, e essa era sua única opção (até que a criação de sub-redes fosse "inventada" anos depois).

    Portanto, um sinalizador adicional seria necessário para substituir esse comportamento para links ponto a ponto, como PPP ou outras interfaces seriais.

    Talvez outra pessoa analise o código-fonte inicial do Unix e do BSD para verificar isso.

    A sub-rede foi uma adição posterior ao IPv4 – na verdade, parece que também costumava haver um sinalizador IFF_SUBNET para habilitar explicitamente o recurso de sub-rede, pelo menos no SunOS 3 – e a super-rede veio ainda mais tarde. (Ou seja, havia até sistemas que permitiam que você sub-rede um endereço de classe C para um /26, mas não permitiam que você o tornasse um /22.)

    Por fim, o "CIDR" totalmente genérico foi adotado, mas levou muitos anos para se tornar universal.

    A capacidade de designar um endereço de peer ainda serve a um propósito hoje; por exemplo, para protocolos de roteamento como OSPF para determinar o endereço de peer em links não compatíveis com broadcast. Em geral, OSPF tratará a 'sub-rede' ou 'peer' designados de forma diferente das rotas gerais de escopo de link – os primeiros são anunciados implicitamente como parte da topologia (ou seja, parte do LSA do 'roteador'), os últimos têm que ser importados como rotas "externas".

    • 3

relate perguntas

  • Existe uma maneira de fazer ls mostrar arquivos ocultos apenas para determinados diretórios?

  • Inicie/pare o serviço systemd usando o atalho de teclado [fechado]

  • Necessidade de algumas chamadas de sistema

  • astyle não altera a formatação do arquivo de origem

  • Passe o sistema de arquivos raiz por rótulo para o kernel do Linux

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve