cs:bsd_sockets_-_principy_noveho_navrhu_api

Jak jistě všichni pozorujeme, oproti původním představám se IPv6 prosazuje proti verzi 4 dosti pomalu a obtížně. Na většinu uživatelů současného Internetu totiž adresová nouze zatím nedoléhá a ostatní pozitiva IPv6 zřejmě nevyváží utrpení spojené s přechodem na nový protokol. V této situaci je proto nezbytné, aby se nové API pro IPv6 chovalo velmi nenápadně a nenarušilo hladký chod stávajících síťových služeb a aplikací. Rovněž je potřeba, aby přidání podpory IPv6 do stávajících programů bylo pokud možno snadné.

Návrh nového API se proto řídil těmito kritérii:

  • Veškeré změny musí zachovat kompatibilitu se stávajícími programy na úrovni binární i zdrojové. Jinými slovy, binární programy musí nadále fungovat i na systémech s knihovnami podporujícími nové API a programy napsané pro staré API musí jít beze změn přeložit a fungovat i na systémech s novým API.
  • Změny v API musí být co nejmenší a v souladu s tradičními postupy programování pomocí BSD Sockets.
  • Je-li to vhodné a možné, programy napsané pro nové API by měly být schopny komunikovat s jinými počítači jak pomocí IPv6, tak i IPv4. Nové API také musí fungovat na strojích podporujících zároveň obě verze IP (tzv. duální sloupec protokolů).

Znamená to tedy, že díky uvedeným zásadám bude migrace aplikací na IPv6 triviální a programátorův život radostný? Obecně bohužel nikoli. Existuje totiž pěkná řádka programů a protokolů, které používají některý z těchto postupů či předpokladů:

  • Pracují s adresou IPv4 uvnitř aplikace (identifikují uzly adresami, kešují adresy získané z DNS apod.)
  • Předpokládají, že síťové rozhraní má jen jednu IP adresu.
  • Předpokládají, že IP adresa má 32 bitů.

Programy, které těmito neduhy netrpí, je ale obvykle možno upravit pro nové API. Existují dokonce i automatické konvertory.

Poslední úprava:: 25.07.2019 13:11