KWALIFIKACJA INF8 - STYCZEŃ 2017

PYTANIE NR 32.
Którą postać przyjmie adres FE80:0000:0000:0000:0EF0:0000:0000:0400 protokołu IPv6 po kompresji?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawny zapis skrócony nie może zmieniać wartości hextetów.
Najpierw usuwa się tylko zera wiodące: 0EF0→EF0 i 0400→400. Następnie najdłuższy ciąg kolejnych hextetów równych 0 zastępuje się pojedynczym "::". Daje to FE80::EF0:0:0:400.

Pełne wyjaśnienie:

Adres IPv6 ma 8 hextetów (grup po 16 bitów) zapisanych szesnastkowo i rozdzielonych dwukropkami. Kompresja zapisu ma jedynie skrócić tekst, ale musi zachować możliwość odtworzenia dokładnie tego samego adresu.

Krok 1: usuń zera wiodące w każdym hextetcie. Zgodnie z regułą zapisu tekstowego usuwa się wyłącznie zera stojące na początku hextetu, np. 0EF0→EF0 oraz 0400→400. Nie wolno usuwać zer "ze środka" lub "z końca", bo to zmienia wartość liczby szesnastkowej.

Po tym kroku adres ma postać: FE80:0:0:0:EF0:0:0:400.

Krok 2: zastąp najdłuższą sekwencję kolejnych hextetów równych 0 operatorem "::". W tym adresie po FE80 występuje sekwencja trzech zer (0:0:0), a później sekwencja dwóch zer (0:0). Zastępuje się tylko najdłuższą sekwencję, a "::" może pojawić się tylko raz.

Dlatego poprawny wynik to: FE80::EF0:0:0:400.

Dlaczego pozostałe zapisy są błędne?

  • FE80:0:0:0:EF:0:0:400 usuwa nie tylko zera wiodące, ale także końcowe w hextetcie 0EF0, zamieniając go na EF. To zmienia wartość hextetu, więc oznacza inny adres.
  • FE80::EF:4 dodatkowo "obcina" 0400 do 4, co również zmienia wartość hextetu i daje inny adres niż wejściowy.
  • FE80:0000:0000:0000:0EF0:0000:0000:0400 to forma nieskompresowana (z zachowanymi zerami wiodącymi), więc nie spełnia warunku "po kompresji".

Wskazówka egzaminacyjna: jeśli w odpowiedzi znikają cyfry inne niż zera wiodące (np. EF0→EF albo 400→4), to prawie na pewno doszło do zmiany wartości i zapis jest niepoprawny.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Stosuje się dwie główne reguły: usuwa się zera wiodące w każdym hextetcie (np. 0400→400), a następnie najdłuższy ciąg hextetów równych 0 zastępuje się pojedynczym "::". Operator "::" może wystąpić tylko raz.
Bo tylko zera na początku nie zmieniają wartości liczby. Usunięcie innej cyfry lub zer niewiodących zmienia wartość hextetu, a więc cały adres IPv6. Np. 0EF0→EF0 jest poprawne, ale 0EF0→EF jest błędne, bo to inna liczba szesnastkowa.
"::" zastępuje jeden lub więcej kolejnych hextetów o wartości 0 (czyli 0:0:0...). To skrót tekstowy, który pozwala pominąć powtarzające się zera. Aby zapis był jednoznaczny, w jednym adresie IPv6 "::" może pojawić się tylko raz.
Gdy w adresie są co najmniej dwie sekwencje hextetów równych 0 o tej samej, maksymalnej długości. Wtedy, zgodnie z zaleceniem, skraca się sekwencję bardziej z lewej strony. Zapewnia to spójny, przewidywalny zapis adresów.
Rozwiń (zdekompresuj) skrót do 8 hextetów i porównaj z oryginałem. Kontroluj szczególnie hextety, gdzie "zniknęły" cyfry: powinny znikać wyłącznie zera wiodące lub całe hextety równe 0 zastąpione przez "::". Inne skróty oznaczają błąd.
Technicznie "::" może zastąpić także pojedynczy hextet 0, ale zalecenia zapisu tekstowego preferują skrócenie najdłuższej sekwencji zer. Jeśli zastosujesz "::" w miejscu krótszej sekwencji, zapis może nie być optymalny lub zgodny z zalecaną konwencją.
Najczęstsze są: (1) usuwanie zer niewiodących (np. EF0→EF), (2) błędny wybór sekwencji do "::" (nie najdłuższa), (3) próba użycia "::" więcej niż raz, (4) pozostawianie wiodących zer mimo "kompresji". Każdy z tych błędów psuje jednoznaczność zapisu.
Hextet to 16-bitowa grupa zapisu adresu IPv6, zwykle przedstawiana jako 1–4 cyfry szesnastkowe między dwukropkami. Zera usuwa się tylko na początku hextetu. Skracanie nie może "przesuwać" granic hextetów, bo to zmieniłoby strukturę i wartość adresu.
Prefiks zaczynający się od FE80 jest typowy dla adresów działających w obrębie jednego łącza (link-local), często automatycznie nadawanych interfejsom. Na egzaminie warto rozpoznawać takie prefiksy, ale w tym zadaniu kluczowe są reguły zapisu tekstowego i kompresji hextetów.
Ćwicz na wielu przykładach w dwóch krokach: (1) usuń zera wiodące w każdym hextetcie, (2) znajdź najdłuższą sekwencję hextetów 0 i zastąp ją "::" (tylko raz). Dodatkowo zawsze wykonuj "kontrolne rozwinięcie" do 8 hextetów, aby wykrywać zmiany wartości.
info

Około 40% zdających odpowiada poprawnie na to pytanie. trudne

Eksperci podkreślają: "Poprawny zapis skrócony nie może zmieniać wartości hextetów.Najpierw usuwa się tylko zera wiodące: 0EF0→EF0 i 0400→400."

Źródła:

  • IETF RFC 5952: "A Recommendation for IPv6 Address Text Representation", sekcje 4.2.1–4.2.3, https://www.rfc-editor.org/rfc/rfc5952 (dostęp 2026-02-27)
  • IETF RFC 8200: "Internet Protocol, Version 6 (IPv6) Specification", https://www.rfc-editor.org/rfc/rfc8200 (dostęp 2026-02-27)
  • IETF RFC 4291: "IP Version 6 Addressing Architecture", https://www.rfc-editor.org/rfc/rfc4291 (dostęp 2026-02-27)

Materiały:

  • RFC 5952 – zasady tekstowej reprezentacji adresów IPv6
  • RFC 8200 – specyfikacja protokołu IPv6
  • Materiały szkolne/notes: przykłady kompresji i dekompresji zapisów IPv6

Aktualizacja pytania: 03.04.2026



Aktualizacja pytania: 03.04.2026
📡 Brak połączenia internetowego