<style>
.reveal .slides {
background: url(https://hedgedoc.xinux.net/uploads/xinux-weiss.png) no-repeat;
background-position: right 10px bottom 10px;
background-size: 80px;
}
.reveal section { text-align: left; padding: 20px 40px !important; }
.reveal h2 { font-size: 34px !important; margin-bottom: 10px !important; }
.reveal ul li { font-size: 26px !important; line-height: 1.25 !important; margin-bottom: 6px !important; }
.reveal code { font-size: 24px !important; }
</style>
## ICMP bei IPv6
- ICMP (Internet Control Message Protocol) in IPv6
- Höherer Stellenwert im Vergleich zu IPv4
- Unverzichtbar für eine funktionierende IPv6-Infrastruktur
- Definition und Standards
-- ICMPv6 ist in RFC 4443 definiert
-- Ergänzt durch RFC 4884
-- Wesentlicher Bestandteil der IPv6-Kommunikation
---
## ICMPv6 Meldungen
- **Vergleich mit IPv4**
- ICMPv6 übernimmt ähnliche Funktionen wie ICMP in IPv4
- Wesentliche Unterschiede und Weiterentwicklungen in IPv6
- **ARP vs. Neighbor Discovery Protokoll (NDP)**
- ARP in IPv4 vermittelt zwischen den Schichten 2 und 3 für Adresszuordnung
- Bei IPv6 wird diese Aufgabe durch ICMPv6, insbesondere das Neighbor Discovery Protokoll (NDP, RFC 4861), erledigt
- Kommunikation ausschließlich in OSI-Schicht 3 bei IPv6
---
## Headeraufbau
- ICMPv6-Meldungen werden dem IPv6-Header als Nutzlast mit der Protokollnummer 58 angehängt
- Die Meldungen lassen sich grob in die Typen **Fehler** und **Information** aufteilen
---
## Fehlermeldungen I
- **1 Destination Unreachable**
- Signalisiert, dass das Ziel nicht erreicht werden kann
- Anwendungsszenarien:
- Zielhost oder Netzwerk nicht erreichbar
- Firewall blockiert den Zugriff auf das Ziel
- Weiter unterteilt in Codes:
- 0: No Route to Destination
- 1: Communication with Destination Administratively Prohibited
- 2: Beyond Scope of Source Address
- 3: Address Unreachable
- 4: Port Unreachable
- 5: Source Address Failed Ingress/Egress Policy
- 6: Reject Route to Destination
---
## Fehlermeldungen II
- **2 Packet Too Big**
- Das Paket ist größer als der maximal unterstützte Wert
- Anwendungsszenarien:
- MTU-Probleme im Netzwerk
- Router kann das Paket nicht weiterleiten, da es zu groß ist
---
## Fehlermeldungen III
- **3 Time Exceeded**
- Die Lebensdauer (Hop Limit) des Pakets ist abgelaufen
- Anwendungsszenarien:
- Traceroute nutzt diese Funktion gezielt
- Indikator für Routingprobleme
- **4 Parameter Problem**
- Fehlerhafte Header-Informationen im IPv6-Paket
- Router oder Host kann das Paket nicht interpretieren
---
## Informationsmeldungen I
- **128 Echo Request**
- **129 Echo Reply**
- Entspricht Ping-Funktionalität in IPv6
- Test von Erreichbarkeit und Laufzeit
- Beispiel:
```
ping6 fe80::1%enp0s3
```
---
## Informationsmeldungen II
- **133 Router Solicitation**
- Host fragt aktiv nach Routern im Netzwerk
- **134 Router Advertisement**
- Router teilt seine Existenz und Präfix-Informationen mit
- Grundlage für SLAAC (Stateless Address Autoconfiguration)
- **135 Neighbor Solicitation**
- Entspricht ARP-Request in IPv4
- Dient der Zuordnung IPv6 → MAC-Adresse
- **136 Neighbor Advertisement**
- Antwort auf NS-Nachricht
- Enthält die MAC-Adresse des Zielhosts
---
## ICMPv6 Typen (Übersicht Fehler)
| Kategorie | Typ | Beschreibung |
|:--|:--:|:--|
| Fehler | 1 | Destination Unreachable |
| Fehler | 2 | Packet Too Big |
| Fehler | 3 | Time Exceeded |
| Fehler | 4 | Parameter Problem |
---
## ICMPv6 Typen (Übersicht Information)
| Kategorie | Typ | Beschreibung |
|:--|:--:|:--|
| Information | 128 | Echo Request |
| Information | 129 | Echo Reply |
| Information | 133 | Router Solicitation |
| Information | 134 | Router Advertisement |
| Information | 135 | Neighbor Solicitation |
| Information | 136 | Neighbor Advertisement |
| Information | 137 | Redirect Message |
---
## Praxis: tcpdump Filter
- Nur ICMPv6 anzeigen
- tcpdump -i enp0s3 -n icmp6
- Nur **Neighbor Solicitations (Type 135)**
- tcpdump -i enp0s3 -n 'icmp6 and ip6[40] == 135'
- Nur **Router Advertisements (Type 134)**
- tcpdump -i enp0s3 -n 'icmp6 and ip6[40] == 134'
- Nur **Echo-Requests (Type 128)**
- tcpdump -i enp0s3 -n 'icmp6 and ip6[40] == 128'
---
## Zusammenfassung
- ICMPv6 ist essenziell für IPv6-Netze
- Übernimmt Funktionen von ARP, ICMP, Router Discovery und mehr
- Grundlage für SLAAC, NDP, DAD und Fehlerdiagnose
- Kein IPv6-Netz funktioniert ohne ICMPv6
---
## Referenzen
- RFC 4443 – Internet Control Message Protocol (ICMPv6)
- RFC 4861 – Neighbor Discovery for IPv6
- RFC 4862 – IPv6 Stateless Address Autoconfiguration
- RFC 4884 – Extended ICMP Messages
- Wireshark Display Filter: `icmpv6`