Uzyskiwanie poprawnego adresu IPv6 z podanego prefiksu


2

Na moim komputerze z systemem Windows XP mam następujące informacje:

IP Address: fcb1:cafe:1:9e33::2
Default Gateway: fcb1:cafe:1:9e33::1

Działa dobrze i mogę pingować bramkę. Jednak teraz jest inny prefiks dla hosta podany jako:

fcb1:abab:cdcd:efe1::/64

Aby uzyskać do tego dostęp, dodałem statyczną trasę do tego adresu IP za pośrednictwem bramy:

netsh interface ipv6 add route fcb1:abab:cdcd:efe1:1::/64 "Local Area Connection" fcb1:cafe:1:9e33::1  

To polecenie zostało pomyślnie przyjęte, ale teraz, gdy próbuję pingować:

ping6 fcb1:abab:cdcd:efe1:1

Dostaję wiadomość: Bad IPv6 address fcb1:abab:cdcd:efe1:1

Wygląda na to, że adres IP, którego używam, jest niepoprawny, jednak wpis hosta został zaakceptowany. Czy ktoś mógłby zasugerować z prefiksem: fcb1:abab:cdcd:efe1::/64jaki jest prawidłowy adres IP, który mogę pingować?

Próbowałem sprawdzić kalkulator podsieci, ale wydaje się, że wykrywają to jako niepoprawne, jednak ten prefiks jest używany w prawidłowym systemie i działa dobrze, masz jakiś pomysł?


4
Erm, brakuje ci drugiego podwójnego punktu? ping6 fcb1:abab:cdcd:efe1::1
nixda

@nixda, oh dziękuję bardzo, to był dokładnie błąd, rozwiązałeś zagadkę !!
Johny Bravo

Odpowiedzi:


1

Brakuje drugiego jelita grubego »ping6 fcb1:abab:cdcd:efe1::1


Ponieważ nie przepadam za linijkami, większość ludzi prawdopodobnie nie wie:

Źle: 2001: 0 db8 :: 0001 
Prawidłowo: 2001: db8 :: 1 
Zera wiodące powinny być pomijane! 

Źle: 2001: db8: 0: 0: 0: 0: 2: 1 
Prawidłowo: 2001: db8 :: 2: 1 
Źle: 2001: db8 :: 0: 1 
Prawidłowo: 2001: db8 :: 1 
Użycie „::” musi być przeprowadzone maksymalnie! 

Źle: 2001: db8 :: 1: 1: 1: 1: 1 
Prawidłowo: 2001: db8: 0: 1: 1: 1: 1: 1 
Pojedyncze 16-bitowe pole z zerami nie może być łączone! 

Źle: 2001 :: 1: 0: 0: 0: 1 
Prawidłowo: 2001: 0: 0: 1 :: 1 
Masz kilka opcji pod adresem z „::”, aby skrócić  
najdłuższe występowanie zer zostanie zmniejszone! 

Źle: 2001: db8: 0: 0: 1 :: 1 
Również źle: 2001: db8 :: 1 :: 1 
Prawidłowo: 2001: db8 :: 1: 0: 0: 1 
Jeśli wiele sekwencji ma taką samą długość zer,  
pierwszy musi zostać skrócony! 

Źle: 2001: db8: 0: 0: A :: B 
Prawidłowo: 2001: db8: 0: 0: a :: b 
Znaki „a” do „f” muszą być małe!

Źródło


Jeśli chodzi o twoją listę: RFC 5952 opisuje zalecenie i żadne z przedstawionych powyżej tekstowych przedstawień jako „Wrong” nie jest tak naprawdę błędne (z wyjątkiem odstępów między częściami adresu, zawsze są one nieprawidłowe). Nawet MUSZĄ zostać zaakceptowane przez każde oprogramowanie implementujące adresy IPv6 w formie tekstowej, ponieważ są to prawidłowe adresy, jak opisano w RFC 4291. Jednakże, jeśli twierdzisz, że jest zgodny z RFC 5952, NIE MOŻNA użyć powyższych „niewłaściwych” reprezentacji adresów.
Dubu,

@Dubu Dobra uwaga. Edytuj odpowiedź i dołącz kilka odniesień i wyjaśnień. :)
nixda,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.