Článek hezky popisuje, proč jde přechod na IPv6 tak rychle jak jde. Je to prostě jiné, spousta věcí tam není dořešených. Kdyby někdo v posledních 20 letech přišel s IPv4.1, což by byla naprosto identická kopie IPv4 s tím, že by adresy byly dvojnásobné (64bitů) [přičemž normální IPv4 packet by byl zároveň validním IPv4.1 packetem], přešlo by se za pár let a v podstatě by si toho nikdo ani nevšimnul. Ostatně, ono to lze udělat i dnes, stačí říct, napsat krátké RFCčko a počkat, než se to projeví v operačních systémech...
Myslím si něco podobného o tom, že měl být mezistupeň. Mohl být dokonce dál, mohl poskytovat prostor pro další rozšíření.
RFC nejde jen tak napsat. Když se k jeho používání nikdo nepřihlásí, bude tam ležet opuštěné a úplně k ničemu. Dnes už je IPv6 tak daleko, že opravdu není smysluplné uvažovat o ničem jiném, než to dotáhnout.
To se samozřejmě zkoušelo, jen ne před 20 ale před 30 lety. Například používat rezervované bity v hlavičce IPv4 nebo používat volby IPv4 pro rozšíření adresy. Nefungovalo to. To, aby normální IPv4 packet by byl zároveň validním IPv4.1 packetem totiž ve skutečnosti nepřináší žádnou výhodu. Stejně je potřeba všechny systémy doplnit o podporu.
Navíc není pravda, že v IPv4 všechno funguje bez problémů a nebylo potřeba vymýšlet nic nového. I kdyby nakrásně v IPv4 nebyl žádný problém s nedostatkem adres, stejně tam neexistuje žádné řešení, jak přidělit domácí sítí za routerem veřejné adresy. Je dost pravděpodobné, že kdyby někdo takové řešení navrhl, bude vypadat velmi podobně jako to, které se dnes používá v IPv6.
Teď už je to jedno, ale spíš mohl vzniknout protokol, který by nebyl přímo kompatibilní s IPv4, ale byl by stavěný tak, aby šel snadno a s poměrně levným zařízením převádět. Velmi zjednodušeně, stačilo by, kdyby obsahoval veškeré standardní IPv4 údaje plus navíc informaci o cíli za NATEM. Pokud by v cestě byla jen zařízení, která by podporovala tento protokol, spojení by doputovalo bez NATU. Kdyby se po cestě vyskytlo jediné zařízení bez podpory, na hranici by se to ořezalo na běžné IPv4 a prošlo by to natem. Jediné, co by bylo potřeba, zařízení věděla, jestli jejich soused ještě přijme ono "IPv4.1", nebo jestli to od tohoto bodu je potřeba ořezat.
Z počátku by byl přínos jen minimální, ale jak by bylo zřejmé, že jsou všechny velké cesty už připravené, daly by se začít používat další vlastnosti a hlavně směrování sítí, které by leželo dál, než původní hranice IPv4.
Myslím, že toto by bývalo mělo daleko prudší start a rychleji bychom se dostali do bodu, kdy není potřeba někoho přesvědčovat o přínosech.
Takový protokol je IPv6.
Akorát je to na rozdíl od toho vašeho vynálezu funkční. Už jsem vám jednou vysvětloval, že tunelovat jiným protokolem můžete prostředek cesty, ale výchozí i koncové zařízení musí rozumět novému protokolu, pokud ho mají používat. Představte si to na dopisu. Když budete posílat dopis z Číny do ČR, musíte umět v Číně napsat českou adresu a dolů napsat Czech Republic. Mezi Čínou a ČR se to bude řídit tím Czech Republic, ale v rámci ČR už bude potřeba ta česká adresa. Když napíšete českou adresu Čínsky, možná to bude nějak putovat po Číně, když napíšete do adresy Czech Republic, dorazí to i do ČR, ale v ČR to podle čínské adresy nikam nedorazí.
Takže aby fungoval nový protokol, musí mu rozumět cíl, ořezávat se nesmí po cestě nic a zdroj musí umět „napsat“ správně adresu cíle.
Tak mi přijde, že se snažíte znovuvynalézat portforwarding. Informace o cíli za natem (nebo spíš naty v množném čísle) se dá bez problémů říct číslem portu. Akorát je třeba aby všechny naty po cestě byly nastavené tak, aby tu informaci uměly interpretovat a přeposlaly packet správným směrem.
Prakticky : Máte ISPíka s CGNATem, co nechce nastavit portforwarding. Jak někoho takového donutíte aby na ten jeho CGNAT přidal podporu pro váš ipv4.1?
Vaše IPv4.1 skončí přesně na prvním natu, co ho neumí. Je úplně jedno, jesti o tom router před ním ví, nebo ne. Jestli to ořeže na běžné ipv4, tak ten nat stejně nebude vědět kam to poslat dál. Dá se to leda tak protunelovat, ale to už můžeme zrovna tunelovat naše ipv6 a nebude v tom praktický rozdíl.
To nemyslíte vážně...
Port forward je největší opruz a nastavovat to pro každé zařízení ad-hoc si nedovedu představit... Nebo těžce placené, protože to bude muset udělat nějaký technik co tohle umí a má k tomu přístup + byrokracie na 2 týdny. U domácího zařízení které máte v bytě u botníku je to něco jiného.
Nojo, ale je potřeba víc bitů. Spoj část před a za NATem a dostaneš 64b adresu, se kterou si stejně stroje pro IPv4 neporadí a musíš minimálně upgradovat firmware.
Pak narazíš na to, že máš jenom 4mld takových podsítí. Vem si normální město v Číně, 12M obyvatel, většinou pár s jedním děckem, to je 4M domácností a 0.1% ti sežere jedno velkoměsto. Jsou jich tam desítky, stejně jako třeba v USA, Indii nebo Japonsku. Připočitej firmy, CDN, státní správu,... a za pár let zase řešíš, jak rozšířit adresy. A na vrub toho "za NATem" to udělat nemůžeš, protože kompatibilita a mezitím se to začne používat na podsítě... Blbý, co?
Tak co místo 32b před NATem rovnou hodit 64b? A za NATem to samý, ať se s tím pracuje stejně. Máme 128b adresu. To už vystačí na dlouho. Zatím stačí malá část, tak třeba 7/8 podsítí rezervujem, kdyby bylo potřeba začít s jiným číslováním. I tak zatím máme dost...
Moment, s novou dlouhou adresou by bylo fajn přidělit čísla hierarchicky. Kontinent, stát, oblast, .... tak, aby to kopírovalo páteřní sítě. Dost by to zkrátilo BGP tabulky, že. No tak to rovnou udělejme, IPv6 se přeprodávají a jsou hodně pomíchaný...
A jak tak na to koukám, ona je ta adresa zařízení unikátní v rámci všech možných kombinací IP adres. Buďto se liší podsíť, nebo adresa v ní. Jak nejlím udělat z unikátního prvku v množině unikátní prvek v té samé množině? Jednoduše, neměnit ho. Právě jsme přišli o překlad adres (NAT).
A jak zařízení sdělíme, že je tam dlouhá adresa? V hlavičce paketu jsou bity pro označení protokolu, tak s jejich pomocí. No a máme nový protokol. Který může koexistovat s tím starým a nehádají se...
Podobnost s IPv6 je čistě náhodná
> Kdyby někdo v posledních 20 letech přišel s IPv4.1, což by byla naprosto identická kopie IPv4 s tím, že by adresy byly dvojnásobné (64bitů) [přičemž normální IPv4 packet by byl zároveň validním IPv4.1 packetem]
Je tu drobný problém. Ve validním IPv4 packetu není místo na dalších 2x32b pro druhý kus adresy. Za hlavičku se taky přidat nedá, protože tam hned následují data. Cokoliv s delšíma adresama musí být nový protokol (a je celkem jedno, jak moc je podobný tomu starému).
A i kdyby to nakrásně šlo, tak části internetu jedoucí na starém protokolu budou moci komunikovat jen se starýma adresama. A jsme přesně tam, kde jsme s IPv6, kdy Facebook a spol můžou zavádět nové protokoly jak chcou, ale stejně musí fungovat přes ty staré adresy, protože ISP se na nový protokol zvysoka vykašlali a jejich zákazníci můžou jen na starý internet.
Ve validním IPv4 packetu není místo na dalších 2x32b pro druhý kus adresy. Za hlavičku se taky přidat nedá, protože tam hned následují data.
Čistě technicky by se to udělat dalo, ale jak už zde v diskusi padlo, z praktického hlediska by to stejně podstatné problémy s přechodem neřešilo, takže se to neujalo.
Starý internet vznikl jako síť sítí, kde se mohl každý bavit s každým, kdo o to stál a neblokoval ho. Od té doby, co "vyřešili" nedostatek adres NATem, to není internet, ale něco, co si na něj hraje.
To ale bola doba ked ste na tej sieti nestretol hovado za kazdym rohom. So smutkom spominam na doby BBS, kvalita ludi tam je s "kvalitou" ludi na dnesnom internete neporovnatelna...
NAT nikdy nebol primarne urceny ako riesenie nedostatku, bol a je urveny na zachovanie sukromia v intranete pri prepojeni do internetu.
Preco by komplikoval legitimnu komunikaciu? Servru ma byt jedno kolko klientov je za natom s ktorym komunikuje. Pre odlisenie jednotlivych zariadeni je ip adresa (ktoru riesi firewall) nedostatocna, da sa jednoducho podvrhnut. Lepsie je pouzit napr session id ktore je v tele datagramu a kryptovane TLS. Takto server rozozna jednotlive koncove zariadenia za natom, s tym ze v komunikaci sa im nebude babrat niekto nepovolany.
Nesmysl. NAT nikdy žádné soukromí neřešil a neřeší. NAT je jenom řešení nedostatku IPv4 adres. Dokud nám stačila /28 síť, kterou jsme měli přidělenou, používali jsme normálně veřejné IP adresy. Teprve když se počet zařízení v síti zvýšil, museli jsme začít používat NAT.
S tym mozete mydlit hlavu nejakemu milenialovi, NAT tu bol davno predtym nez niekoho trapil nejaky nedostatok ipv4 adries...
NAT tu bol davno predtym nez niekoho trapil nejaky nedostatok ipv4 adries
Možná NAT v obecném smyslu "překlad adres", ale spíš výjimečně, tu a tam někde, a i tak spíš bezstavový, tj. žádná maškaráda a už vůbec ne ve smyslu toho, co si dnes pod zkratkou "NAT" většina lidí představí. Schovávání lokálních sítí za jednu adresu se začalo používat právě v době, kdy s šířením Internetu (tedy spíš webu a mailu) mezi prostý lid začalo být jasné, že zpomalení vyčerpávání adresního prostoru IPv4 díky CIDR pomůže jen na chvíli a že tak rychle se IPv4 na smetiště dějin nedostane.
Schovávání lokálních sítí za jednu adresu se začalo používat právě v době, kdy s šířením Internetu (tedy spíš webu a mailu) mezi prostý lid začalo být jasné, že zpomalení vyčerpávání adresního prostoru IPv4 díky CIDR pomůže jen na chvíli a že tak rychle se IPv4 na smetiště dějin nedostane.
Pamatam casy ked zacali operatori davat k internetu notas za korunu, vtedy isiel cely internet do kytek... Maskaradu sme casto riesili uz pred tym, mnoho velkych firiem ktore dostali vtedy dostatok ipv4 (a ak nestacili tak nebolo drahe kupit dalsie) schovavali intranet za nat. Firewall nie je vsemocny, ip sa dalahko podstrcit. Naviac kazdu chvilu sa preflakne nejaky backdoor na znackovych firewalloch, no ktory admin by bol rad keby mu firewall zrazu spristupnil do internetu cely intranet, nez nainstaluje zaplaty? :D
Myslím, že by sis měl zodpovědět pár otázek:
1) O co bezpečnější je port serveru otevřený do světa skrz mašakrádu oproti portu vystrčenýmu do světa ze stroje, který má veřejnou IP adresu?
2) Jaký je princip "ochrany" s pomocí NATu?
3) Co by se stalo, kdyby do WAN portu někdo postal paket se zdrojovou adresou, která odpovídá vnitřní síti?
4) K čemu potřebuješ maškarádu?
5) Co by se stalo, kdybys měl v síti jeden počítač a vypnul NAT?
6) Jak bys řešil situaci, kdybys měl na přípojce čtyři IPv4 adresy a potřeboval na ni pověsit tři servery?
7) Jak bys postupoval ve stejné situaci, kdyby to byly normální PC a proč?
8) Jde to i zjednodušit? Není tam něco zbytečně?
Myslím, že by sis měl zodpovědět pár otázek:
1) O co bezpečnější je port serveru otevřený do světa skrz mašakrádu oproti portu vystrčenýmu do světa ze stroje, který má veřejnou IP adresu?
2) Jaký je princip "ochrany" s pomocí NATu?
3) Co by se stalo, kdyby do WAN portu někdo postal paket se zdrojovou adresou, která odpovídá vnitřní síti?
4) K čemu potřebuješ maškarádu?
5) Co by se stalo, kdybys měl v síti jeden počítač a vypnul NAT?
6) Jak bys řešil situaci, kdybys měl na přípojce čtyři IPv4 adresy a potřeboval na ni pověsit tři servery?
7) Jak bys postupoval ve stejné situaci, kdyby to byly normální PC a proč?
8) Jde to i zjednodušit? Není tam něco zbytečně?
No ono je to tazke ked vam ako dospelemu nikto nepreplati osobneho asistenta, ktory by van stale dookola odpovedal na otazky ktore uz boli zodpovedane. Sorry, aleiny dojem ze tej vasej sady otazok nemam. To ze sa pokusate o argumentacny faul s tym ze ma zahltite otazkami ktore uz boli zodpovedane, ma ani nenapadlo...
No ono je to tazke ked vam ako dospelemu nikto nepreplati osobneho asistenta, ktory by van stale dookola odpovedal na otazky ktore uz boli zodpovedane. Sorry, aleiny dojem ze tej vasej sady otazok nemam. To ze sa pokusate o argumentacny faul s tym ze ma zahltite otazkami ktore uz boli zodpovedane, ma ani nenapadlo...
Pokud odpovědi na ty otázky znáte, proč je ignorujete? Diskusi tu zahlcujete akorát vy tím, že pořád dokola opakujete dávno vyvrácené nesmysly.
Přímo na začátku RFC 1631, které standardizuje NAT, se píše, že internet trápí úbytek IP adres. Přesně proto vznikl NAT.
Nedá se to nijak doložit, protože to není pravda. NAT vznikl právě kvůli nedostatku - ale tehdy to ještě nebyl nedostatek technický, ale obchodní. V devadesátých letech bylo málo možností připojení, a spousta z nich nenabízela blok IP adres. Prostě byly určeny pro připojení jednoho počítače. Takový byl modus operandi, ve firmě byl jeden fax a jeden modem. Modem sloužil nejen k připojování k internetu, často suploval i příjem faxů, někdy i odesílání.
Pokud někdo chtěl celý blok IP adres, nebyl to problém. Místo vytáčeného připojení za 1 Kč per spojení si prostě objednal pevný okruh nebo ISDN, zaplatil vyšší (později nižší) tisíce, dostal kvalitní linku i IP adresy. Jen ta cena byl "trochu" problém.
Tedy, IP adresy ještě byly, ale k zákazníkovi se nedostaly. NAT vznikl, aby řešil tento nedostatek.
Soukromí se absolutně neřešilo, nebylo narušované (neexistovaly služby, které by ho narušovaly) a prakticky neexistovaly jiné internetové hrozby, než že někdo zkoušel telnetem nebo na FTP ručně kombinaci jména a hesla.
Stačilo by rozšířit stávající adresu o postupně další předčíslí a mohlo by se fungovat vesele dál bez velkých změn. Z adresy v4 8.8.8.8 by se udělala v6: 0.0.8.8.8.8 a hotovo. Prostě před původní v4 by se přidalo 0.0 a nové v6 adresy by místo těch 0 měly nějaká čísla opět do 255.
Ale chápu, že se to musí dělat složitě, pak ale ať nečekají, že lidi budou nadšeně přecházet.
Jasně, a těm čtyřem bajtům, do kterých se IP adresa zapisuje v IPv4 paketu, by se řeklo, ať se trochu smrsknou a udělají místo ještě pro další dva bajty.
To je demagogie. Samozřejmě by to musel být nový protokol rozšířený o několik bajtů (smysl dává o 4). Výhodou by bývalo bylo, že mohlo vzniknout přechodné období, kdy by se používaly pouze adresy bez využití té rozšířené části. Přechod mezi těmito sítěmi by se v přechodném období realizoval jen oříznutím / doplněním nul. Kdo by neměl nové zařízení, prostě by jel po staru. Kdo by měl, brzy by sám hledal, jak nový protokol co nejvíc využít.
IPv6 se dá vyčítat hlavně to, že vůbec nemyslela na přechodné období a jednoduchost, aby byl přechod bezbolestný i u těch, kteří i dodnes nevidí moc důvodů, proč se s IPv6 zabývat. Že se kde kdo cítí být nucen do něčeho, v čem nevidí účel, je tristní.
A k čemu by to bylo? Stará zařízení ty přidané byty nevidí, takže s novýma adresama komunikovat nemůžou. Vyjde to úplně nastejno jako úplně jiný protokol, který má ale vyhrazené adresy odpovídající starým ipv4 adresám.
K čemu bych měl vůbec doplňovat a zase ořezávat ty nuly? Přes stará zařízení se stejně musím protunelovat.
K čemu bych měl vůbec doplňovat a zase ořezávat ty nuly? Přes stará zařízení se stejně musím protunelovat.
Kdyby bylo (kdysi) stanovené třeba 5leté období, kdy se rozšířená část adresy nesmí používat, tak byl čas na to, aby všichni měli nový hardware a připravený pro nové funkce. I ti, kteří dnes na IPv6 prdí, by byli připravení udělat pár konfiguračních změn (nikoliv doplňovat celý druhý stack). Malá koncová zařízení by si ani nevšimla, že se něco změnilo, až by se to začalo používat na plno (podobně, jako nijak moc nezaregistrovaly nástup CIDR).
Netvrdím, že by to bylo ideální řešení, ale výslednice by byla po uběhlých dvaceti letech lepší.
IPv6 si ukouslo moc velké sousto, novým protokolem chtěli vyřešit nejen nedostatek adres, ale i spoustu další problémů IPv4. Neupírám snahu. Jenže tím soustem jsme se skoro zadusili. Za tu dobu, co se z toho křísíme, uteklo mnoho vody, a IPv4 je zase jinde, než bylo, takže se objevují nové a nové praktické problémy, které IPv6 musí dohánět.
Nesouhlasím s tím, jak zde někteří hlásají, že vše je to jen důsledek prasáren namatlaných do IPv4. Ty prasárny jsou samy už důsledek něčeho jiného - potřeb světa komunikovat. Je nutné je vzít jako fakt a neignorovat to jen z principu.
A kdo by ty ISPíky, co na to teď prdí, donutil ty změny udělat? Proč by měli šťourat do konfigurace svých routerů, když se s vnějším světem domluví přes IPv4?. A když jejich zákazníci mají ipv4, takže poskytovatelé si tu ipv4 adresu taky musí pořídit.
Kdyby stačilo jen doplnit nuly, tak už dávno ipv6 máme. Taková trivka jako dát ipv4 adresám odpovídající ipv6 adresy autory samozřejmě napadla. Akorát se nepřidaly nuly ale 2002:
Mít podporu pro větší adresy a jejich routování znamená druhý stack. Těch 32b na adresu je prolezlé skrznaskrz vším, takže jakýkoliv protokol s většíma adresama znamená brutální přepis a ladění chyb.
Není to demagogie, byla to reakce přesně na to, co bylo napsáno v komentáři. Připadá vám, že to byl tak hloupý nápad, že ho nikdo nemohl myslet vážně? Že bylo přece jasné, že se tím myslí další protokol? Ne, jasné to není. To, že nedomyslí další krok, dělají všichni ti, kdo tvrdí, že se IPv6 dalo udělat jednodušeji. Vy také. Ten váš nápad je úplně stejně nereálný, jako vměstnat 6 bajtů adresy do 32bitové hlavičky. Akorát že to nevidíte.
Autoři IPv6 na přechodné období mysleli v maximální možné míře. Víc kompatibilní už to udělat nejde, pokud má být zachována funkčnost IPv6. To už jsem vám vysvětlil. Nedomyšlené návrhy, které staví na tom, že se 6 oktetů zapíše do 32bitové hlavičky nebo podobných pitominách, na tom nic nezmění.
@Filip Jirsák
Jste jen zaslepený. Technicky by byl pokrok už jen to, aby vznikl protokol umožňující 64 bitů. Prvních 32 bitů pro veřejnou IPv4 adresu, druhých 32 bitů pro interní adresu jinak zprostředkovanou NATEM. Tím by byl protokol kompatibilní jak pro IPv4 / NAT, tak postupně pro přímé adresování.
Ano, takový protokol by nevymýtil NAT rovnou, ani úplně, ale dobrovolně by se rozšiřovaly ostrovy, kterého podporují. Míst, které by neměly jinou možnost, než ho utnout, by postupně ubývalo, až by to splynulo.
Místo dualstacku dvou prakticky nesouvisejících protokolů by existoval dualstack velmi příbuzných protokolů.
To by vyřešilo 90 % toho, co nás trápí. Vyřešilo by to 0 % ostatních problémů IPv4 a 20 % problémů by to přineslo nových. Stále by to byl pokrok a v oblasti, která všechny trápí nejvíc.
Je to opravdu jen klasické velikáštví techniků. Než zavádět něco nedokonalého, tak raději nemít nic.
Mlátíme prázdnou slámu, IPv6 se už naštěstí chytá. Líto je mi těch ztracených let s NATEM.
Jste jen zaslepený.
Tom, že vidím věci, které vy nevidíte, bych neříkal zaslepenost.
Technicky by byl pokrok už jen to, aby vznikl protokol umožňující 64 bitů. Prvních 32 bitů pro veřejnou IPv4 adresu, druhých 32 bitů pro interní adresu jinak zprostředkovanou NATEM. Tím by byl protokol kompatibilní jak pro IPv4 / NAT, tak postupně pro přímé adresování.
Mělo by to takovou drobnou vadu – nefungovalo by to.
Místo dualstacku dvou prakticky nesouvisejících protokolů by existoval dualstack velmi příbuzných protokolů.
Ano, jednoho funkčního a jednoho nefunkčního.
To by vyřešilo 90 % toho, co nás trápí.
Jo, pak už by zbývalo jen vyřešit těch zbývajících 10 % – mít nějaký funkční protokol, který bude schopen adresovat mnohem větší množství sítí.
Je to opravdu jen klasické velikáštví techniků. Než zavádět něco nedokonalého, tak raději nemít nic.
To je přece váš přístup. Než IPv6 s ne úplně jednoduchým přechodem, raději protokol, který sice nebude funkční, ale zato se na něj přejde snadno.
@Filip Jirsák
Jo, přesně tento přístup mají technici. Než najít 90% řešení, tak raději dvacet let čekat na 100% řešení. Které ovšem nebude zase 100%, protože uteklo 20 let a v mezičase se změnila situace...
Víte, mně osobně je to vlastně jedno. Mám IPv4 i IPv6 a necítím z toho osobně újmu. Spíš se těším, až se IPv6 ujme víc. Na druhou stranu, být zaslepený a předkládat tento obchodně-technický průšvih za úspěch, to už chce velký trénink v doublethinku.
Miroslav Šilhavý: Tak ještě jednou pro pomaleji chápající. Vaše řešení je 0 %, nefungovalo by. Ano, technici opravdu nemají rádi nefunkční řešení. Vy akorát demagogicky tvrdíte, že to byl průšvih, ale žádné lepší řešení nemáte. Pokud máte na výběr varianty „nikdy“ a „za dvacet let“, je varianta „za 20 let“ pořád oproti „nikdy“ obrovský úspěch.