Skip to main contentPhantom-WG

Terazi Sistemi

Terazi, IPv4 ve IPv6 adreslerinden oluşan havuzu deterministik olarak eşleyen dengeleme mekanizmasıdır.

network IPv4 IPv6

Nasıl Çalışır?

Terazi, her iki protokol ailesini tek bir koordinat sistemi üzerinden yönetir: index.

Alt ağ oluşturulduğunda IPv4 ve IPv6 adresleri bu indeks üzerinden birbirine kilitlenir:

Yapının özü şudur: IPv4 kapasitesi baz alınır, IPv6 kendini buna göre şekillendirir. Prefix uzunluğu değiştiğinde her iki protokol aynı anda yeniden boyutlanır ve simetri her koşulda korunur.

Diyagram Yükleniyor
Lütfen bekleyin...
Yükleniyor...

Prefix Dönüşümü

Referans implementasyon — phantom_daemon/base/wallet/wallet.py:

Her iki protokol aynı host bit sayısını paylaşır. IPv4 prefix'i, IPv6 prefix'ini doğrudan belirler — iki satırlık bir dönüşüm, iki havuzun simetrisini garanti eder:

Diyagram Yükleniyor
Lütfen bekleyin...
Yükleniyor...

Havuz Yapısı

Adresler veritabanında önceden oluşturulur (wallet.dbusers tablosu). Her satır bir IPv4/IPv6 çiftidir. Boş slot'lar <null> olarak bekler. İstemci atandığında anahtar, isim ve zaman damgası doldurulur.

0 atanmış
5 boş
/29
ipv4_address
ipv6_address
id
name
private_key_hex
public_key_hex
preshared_key_hex
created_at
updated_at
10.8.0.2 fd00:70:68::2 <null> <null> <null> <null> <null> <null> <null>
10.8.0.3 fd00:70:68::3 <null> <null> <null> <null> <null> <null> <null>
10.8.0.4 fd00:70:68::4 <null> <null> <null> <null> <null> <null> <null>
10.8.0.5 fd00:70:68::5 <null> <null> <null> <null> <null> <null> <null>
10.8.0.6 fd00:70:68::6 <null> <null> <null> <null> <null> <null> <null>

Simüle wallet.db users tablosu — alt ağ /29 — 5 kullanılabilir slot

Atama ve İptal

Havuz satırları sabittir. Atama ve iptal, satırın adresini değil yalnızca dolu/boş durumunu değiştirir:

  • Atama — ilk boş yuva verilir; yani id değeri <null> olan en küçük index. Yeni istemci her zaman havuzdaki en erken boşluğu doldurur.
  • İptal — satır silinmez, kimlik alanları (id, isim, anahtarlar, zaman damgaları) <null> yapılır. IPv4/IPv6 çifti havuzda yerinde kalır ve yeniden kullanılabilir hale gelir.

Bunun sonucu: iptal, adres dizisinde kopukluk oluşturmaz — yalnızca o index'i boşa alır, sıradaki istemci de onu doldurur. Havuzdaki adresler her zaman ardışıktır; değişen tek şey hangi index'in dolu olduğudur.


CIDR Değişikliğinde Ne Olur?

CIDR prefix değiştirildiğinde havuz sıfırdan yeniden oluşturulur. İstemci kimlikleri (anahtar, isim, UUID) korunur.

IP adresleri değişebilir.
İstemciler oluşturulma sırasına göre index 2'den itibaren ardışık olarak yeniden atanır — aradaki boşluklar kapanır. Boşluk yoksa ve subnet tabanı aynıysa adresler korunabilir; ancak bu garanti edilmez. Tüm WireGuard yapılandırmalarının yeniden dışa aktarılması gerekir.
Diyagram Yükleniyor
Lütfen bekleyin...
Yükleniyor...

Doğrulama

GET /api/core/network/validate uç noktası havuzun terazi simetrisini ve yapısal bütünlüğünü doğrular. Başarılı yanıt:

Terazi index uyumsuzluğu veya adres boşluğu tespit edilirse valid: false ve hata listesi döner:

Buradaki IPv4 gap, havuzun adres dizisindeki bir kopukluğu bildirir; yani bir bozulma işaretidir. İptal edilmiş (boşta bekleyen) bir yuvayla ilgisi yoktur — boş yuva havuzun normal hâlidir ve hata sayılmaz.

Diyagram Yükleniyor
Lütfen bekleyin...
Yükleniyor...