În termeni simpli, puteți distinge între două tipuri de legături (aceasta este o simplificare, dar suficientă pentru această întrebare):
- legături peer-to-peer, unde fiecare parte a unei legături este un singur peer.Fiecare peer știe că există doar un alt peer în spatele legăturii și toți ceilalți sunt direcționați. Un exemplu este o legătură serială (prin modemul PSTN)
- link-uri de acces multiple, unde poate exista mai mult de un alt peer în spatele link-ului. Există o multitudine de exemple, cum ar fi Ethernet, WiFi și unele învechite
Când configurați adresa la o interfață în forma (obișnuită) de „adresă și mască de rețea” prin adresa ip adăugați x.y.z.t/n dev eth
, în esență faci următoarele lucruri:
- spuneți nucleului că ar trebui să recunoască un
x.y.z.t
la fel de propria adresa, deci adaugă o rută locală de domeniu în local
tabel de rutare
- spuneți nucleului care se adresează ca
x.y.z.00...0
A·x.y.z.11...1
sunt direct accesibile în spatele link-ului, așa că adaugă o rută a link-ului scope prin această interfață în principal
tabel de rutare (/n
specifică de fapt câți biți de adresă sunt comuni pentru toate gazdele din acea rețea)
- tell kernel x.y.z.11...1 este adresa de „difuzare” a legăturii, deci adaugă o rută de difuzare în
local
tabel (și va lua în considerare pachetele destinate acelei adrese, în plus față de adresa „nod personal”. x.y.z.t
)
Dar nu există nicio „rețea” în spatele legăturii peer-to-peer, nu există nimeni la care să transmită, poate exista doar un alt peer. Când adăugați adresa la linkul din formular adresa ip adăugați local x.y.z.t remote b.c.d.e dev tun
, în esență faci următoarele:
- spuneți nucleului că ar trebui să recunoască an
x.y.z.t
la fel de propria adresa, deci adaugă o rută locală de domeniu în local
tabel de rutare
- spuneți nucleului adresa
b.c.d.e
este direct accesibil prin acel link, așa că adaugă o rută la adresa respectivă prin această interfață la principal
tabel de rutare.
De exemplu. comanda adresa ip adăugați local 10.0.1.0 la distanță 10.0.1.1 dev tun0
creează pur și simplu următoarele rute:
local 10.0.1.0 dev tun0 proto kernel scope host src 10.0.1.0
(în local
masa)
10.0.1.1 dev tun0 proto kernel scope link src 10.0.1.0
(în principal
masa)
Verificați tabelele de rutare înainte și după emiterea comenzilor „adăugați adresa IP” în ambele cazuri.
Te remarc Mai adăugați configurație de stil peer-to-peer la interfața cu acces multiplu și invers; puteți chiar să adăugați o singură adresă „/32” și apoi să adăugați rutare „prin interfață” manual, iar asta va funcționa exact ca și cum ați seta o mască de rețea semnificativă sau o adresă de la distanță în comandă. Puteți chiar să adăugați mai multe tipuri de configurații la interfața unică și toate ar putea funcționa simultan! Așa că nu luați toți acești parametri prea în serios, gândiți-vă la ei ca la modalitatea de a adăuga automat rutele necesare atunci când configurați o adresă.