Zdejší flamovací vlákno "IPv6 - Pověry a fakta" mě znovu upozornilo, že bych pomalu měl řešit nový protokol. Dosud to vždycky vypadalo tak, že jsem se pustil do studia podkladů a následně došel k závěru, že problém buď vyřešit nelze, nebo vyřešit lze, ale zatím pro to nejsou k dispozici zařízení, která by to uměla.
Mám tyto požadavky "ze světa IPv4 a NAT", které bych chtěl nějakým způsobem splnit "ve světě IPv6":
1) Struktura vnitřní sítě musí být absolutně nezávislá na tom, co mi přidělí poskytovatel. Na IPv4 dostanu nějakou adresu A, kterou zná akorát router a za routerem si používám svoje neveřejné adresy, které jsem si sám určil a sám si je spravuji. Pokud mi poskytovatel přidělí novou adresu B, nebo dokonce přejdu k jinému poskytovateli a dostanu adresu C, tak o této změně informuji pouze router a celá vnitřní síť zůstane nezměněna.
- Jde tohle udělat ve světě IPv6? A pokud ano, jak?
2) Struktura vnitřní sítě nesmí být vypozorovatelná zvenku. V IPv4 to NAT docela uspokojivě řeší - všechny vnitřní počítače se se svými požadavky obrátí na router, který "svým jménem a na svůj účet" provede požadavek směrem ven, přijme odpověď a tu pak odešle původci požadavku. Pokud pominu případy, kdy použitý protokol vyšší úrovně sám leakuje informaci o vnitřní síti, a odhady na bázi specifik operačních systémů ("Windows XP normálně dovolí jen 10 odchozích spojení, takže pokud jich před lokální sítí vidím sto, tak to spíš signalizuje víc počítačů za routerem než jeden počítač s hacknutými Windows"), tak zvenku nelze poznat, jestli je moje vnitřní síť tvořena jedním počítačem nebo desítkou počítačů.
- Jde tohle udělat ve světě IPv6? Jestli jsem to dobře pochopil, mělo by to jít jiným mechanismem, ale se stejným koncovým výsledkem, pomocí Privacy Extensions - akorát nevidím, jak to spojit s požadavkem 1 výše.
3) Musí být možné jednoznačně rozpoznat, jestli požadavek nebo odpověď příchází z vnitřní nebo z vnější sítě. Ve světě IPv4 to dokážu dost snadno podle vnější adresy, protože mám zaručeno (aspoň tomu u svého routeru věřím), že router zahodí veškeré packety přicházející z vnější sítě, které mají adresu spadající mezi privátní rozsahy. Naopak ve vnitřní síti používám jedině privátní rozsahy. Tzn. pokud mi přijde packet se zdrojovou adresou v privátním rozsahu, vím, že jde o vnitřní komunikaci, a pokud přijde packet se zdrojovou adresou mimo privátní rozsah, vím, že jde o vnější komunikaci.
- Jde tohle udělat ve světě IPv6? Zdá se mi, že by to mohlo jít, kdybych na routeru zahazoval veškerou komunikaci, která přichází z vnější sítě a současně má zdrojovou adresu v rozsahu, který jsem uvedl jako privátní. Ale opět nevidím, jak to spojit s požadavkem 2. Plus dále nemám představu, jestli to nějaký levný*) router umí.
*) "Levný": Chci to domů. Nemám problém za to zaplatit nějaké rozumné peníze, ale při vědomí, že průmyslový router za desítky tisíc pro domácí použití za rozumnou investici nepovažuji. Tzn. řekněme v ceně do 5K Kč.
Možná by to celé šlo zařídit tak, že i pro svět IPv6, který to "nepotřebuje", implementuji NAT? (Tentokrát skutečný NAT, ne NAPT.)
Prosím, v zájmu diskuse, vyhněme se diskusi o užitečnosti, smysluplnosti, nahraditelnosti apod. těchto požadavků. Pro tuto diskusi je chápu jako konstantu, která musí být plně splněna, i kdyby se stokrát jevila jako nesmyslná. Děkuji.