Kompresja i rozwijanie IPv6
Skróć adres IPv6 do jego jedynej kanonicznej postaci albo rozwiń go do wszystkich 32 cyfr i zobacz, które zera znikają, dlaczego jeden ciąg zamienił się w podwójny dwukropek :: i którą regułę RFC 5952 złamał twój zapis. Działa też z listami.
Rozpoznany zapis IPv6
Jeden adres albo lista, po jednym w wierszu (do 100). Konwersja odbywa się w twojej przeglądarce; nic nie jest wysyłane.
2001:db8::1:0:0:1
RFC 5952, reguła po regule
- Skrócony (RFC 5952)
- Rozwinięty (pełny)
- W adresie URL
- Jako liczba
- Dziesiętny · hex · binarny
- Nazwa zwrotna DNS
Jak skrócić adres IPv6?
Zamień litery na małe, usuń zera wiodące w każdej grupie, a potem zastąp przez :: najdłuższy ciąg co najmniej dwóch grup zerowych, a przy dwóch równie długich ciągach pierwszy z nich.
Tak powstaje jedyna kanoniczna postać, którą według RFC 5952 ma wypisywać oprogramowanie. Na wejściu programy muszą nadal przyjmować każdy inny poprawny zapis, więc skracanie nigdy nie zmienia adresu, tylko sposób jego zapisu.
2001:0DB8:0000:0000:0000:FF00:0042:8329392001:0db8:0000:0000:0000:ff00:0042:8329392001:db8:0:0:0:ff00:42:8329272001:db8::ff00:42:83292239 → 22 znaki

Co wpisanoWielkie litery, zera wiodące i cała reszta: odczytany zostanie każdy poprawny zapis.Usunięte zeraZera wiodące przekreślone, grupa po grupie.Ciąg, który staje się ::Najdłuższy ciąg grup zerowych; przy remisie pierwszy.Ciągi, które zostająPozostałe ciągi zer zachowują swoje zera, z podanym powodem.Reguła po reguleIle reguł RFC 5952 złamał zapis; lista kontrolna pod spodem nazywa każdą i to, co się zmieniło.Jakie są zasady kompresji IPv6?
RFC 5952 ustala pięć reguł: usuń zera wiodące, rób :: jak najdłuższe, nigdy nie używaj :: dla pojedynczej grupy zerowej, skracaj najdłuższy ciąg (przy remisie pierwszy) i pisz litery szesnastkowe małymi literami.
Szóste zalecenie dotyczy adresów niosących IPv4: po prefiksie takim jak ::ffff: zapisuj ostatnie 32 bity jako adres IPv4 z kropkami. Narzędzie sprawdza każdą regułę na wpisanym tekście i nazywa te, które poprawiło.
1Usunięte zera wiodące§4.1
Dobrze: 2001:db8::1
Źle: 2001:0db8::0001
2:: jak najdłuższe§4.2.1
Dobrze: 2001:db8::2:1
Źle: 2001:db8:0:0:0:0:2:1
3Bez :: dla jednej grupy§4.2.2
Dobrze: 2001:db8:0:1:1:1:1:1
Źle: 2001:db8::1:1:1:1:1
4Najdłuższy ciąg, przy remisie pierwszy§4.2.3
Dobrze: 2001:db8::1:0:0:1
Źle: 2001:db8:0:0:1::1
5Małe litery§4.3
Dobrze: 2001:db8::a
Źle: 2001:DB8::A
+Końcówka IPv4 z kropkami§5
Dobrze: ::ffff:192.0.2.1
Źle: 0:0:0:0:0:ffff:192.0.2.1
Jak rozwinąć adres IPv6?
Policz zapisane grupy, niech :: zastąpi tyle grup zerowych, ile brakuje do ośmiu, i dopełnij każdą grupę do czterech cyfr: 2001:db8::1 ma trzy grupy, więc :: to pięć.
Postaci rozwiniętej używa odwrotny DNS, półbajt po półbajcie, i potrzebuje jej wiele logów i arkuszy, by sortować adresy jako tekst. Python nazywa ją .exploded, a Go StringExpanded.
2001db8::13 zapisane grupy2001db8000001+ 5 grup zerowych, które zastępuje ::20010db8000000000000000000000001dopełnione do 4 cyfrNa ile sposobów można zapisać jeden adres IPv6?
Na wiele: zera wiodące, wielkość liter i miejsce :: mogą się zmieniać, więc jeden adres ma wiele poprawnych zapisów, a RFC 5952 wymienia osiem dla 2001:db8:0:0:1:0:0:1, zanim ustali jedną postać kanoniczną.
Dlatego porównywanie adresów jako tekstu zawodzi: dwa zapisy tego samego adresu do siebie nie pasują. Porównuj je jako liczby 128-bitowe albo najpierw skróć oba.
2001:db8:0:0:1:0:0:12001:0db8:0:0:1:0:0:12001:db8::1:0:0:12001:db8::0:1:0:0:12001:0db8::1:0:0:12001:db8:0:0:1::12001:db8:0000:0:1::12001:DB8:0:0:1::12001:db8::1:0:0:1kanoniczny · RFC 5952Jak zapisać adres IPv6 w adresie URL, z portem lub strefą?
Umieść adres w nawiasach kwadratowych, http://[2001:db8::1]:8443/, aby portu nie wzięto za grupę; strefy takiej jak %eth0 w ogóle nie da się umieścić w adresie URL przeglądarki.
RFC 5952 każe ująć w nawiasy adres z portem, a zapis 2001:db8::1:8443 nazywa niezalecanym. Do niczego innego nawiasy w adresie URL nie służą. Przeglądarki wypisują adres szesnastkowo nawet po ::ffff:, więc [::ffff:192.0.2.1] pojawia się jako [::ffff:c000:201].
Strefy wskazują interfejs na jednym komputerze, jak w fe80::1%eth0. RFC 9844 w 2025 roku z powrotem usunął je z adresów URL, a przeglądarki je odrzucają, choć programy powinny nadal pozwalać je wpisać.
Strefa (%eth0) · fe80::1%eth0
| Wpisana w pole programu | dozwolona |
| W adresie URL przeglądarki | odrzucana |
| inet_pton() | nie umie jej odczytać |
| Adresy globalne | nigdy jej nie mają |
Jak skrócić lub rozwinąć IPv6 w kodzie?
Sparsuj adres i wypisz go: .compressed w Pythonie, netip.Addr.String() w Go i INET6_NTOA(INET6_ATON(…)) w MySQL dają kanoniczny tekst, a .exploded i StringExpanded() pełną postać.
W Pythonie str() też daje postać skróconą, a Python akceptuje przyrostek %zone. MySQL wypisuje małe litery, najwyżej 39 znaków, tak samo na każdej platformie.
› import ipaddress a = ipaddress.ip_address('2001:0DB8::0001') a.compressed, a.exploded ('2001:db8::1', '2001:0db8:0000:0000:0000:0000:0000:0001')
Python ipaddress
› a := netip.MustParseAddr("2001:0DB8::0001") fmt.Println(a.String(), a.StringExpanded()) 2001:db8::1 2001:0db8:0000:0000:0000:0000:0000:0001
Go net/netip
› SELECT INET6_NTOA(INET6_ATON('2001:0DB8::0001')); 2001:db8::1
MySQL 8.4
Najczęściej zadawane pytania
Jaka jest skrócona postać 2001:0db8:0000:0000:0000:ff00:0042:8329?
Ile razy podwójny dwukropek (::) może wystąpić w adresie IPv6?
Dlaczego 2001:db8:0:1:1:1:1:1 nie skraca się do 2001:db8::1:1:1:1:1?
Czy adresy IPv6 pisze się wielkimi, czy małymi literami?
Jak rozwinąć :: w adresie IPv6?
Ile znaków ma najdłuższy adres IPv6?
Dlaczego ::ffff:c000:280 zmienia się w ::ffff:192.0.2.128?
Jak wpisać adres IPv6 z portem w adresie URL?
Jak skrócić adres IPv6 w Pythonie?
Czy mogę skrócić naraz całą listę adresów IPv6?
Powiązane narzędzia
IPv6 na IPv4
Znajdź adres IPv4 w adresie IPv6: mapowany, NAT64, 6to4, Teredo i ISATAP, bit po bicie
IPv4 na IPv6
Każda postać IPv6 adresu IPv4: mapowana, NAT64 i 6to4, z oznaczeniem, czy w użyciu, czy rzadka
Konwerter IP na Dziesiętny
Adres IP na liczbę dziesiętną, hex, binarną i ósemkową i odwrotnie, z wagami bitów każdego oktetu
Jaki Jest Mój IP
Twój publiczny IPv4 i IPv6 naraz, z siecią, lokalizacją i sprawdzeniem VPN
Test IPv6
Sprawdź, czy IPv6 działa, co wybiera przeglądarka i czy strona ma IPv6
Kalkulator podsieci
Sieć, broadcast, dostępne hosty i maski dla każdego bloku IPv4 lub IPv6, a także VLSM, podział i podsieci w chmurze
Odwrotne DNS
Znajdź nazwy hostów powiązane z dowolnym adresem IP przez rekordy PTR
Wyszukiwanie DNS
Wszystkie rekordy DNS prosto z serwerów nazw domeny, obok pamięci podręcznej Google i Cloudflare