mirror of
https://github.com/theoleuthardt/hwr-notes.git
synced 2026-06-06 02:21:07 +00:00
265 lines
8 KiB
Markdown
265 lines
8 KiB
Markdown
# IPv4-Netzadressen zusammenfassen (Route Summarization)
|
||
> **Kommt sicher in der Klausur!** Verschiedene IPv4-Netze in CIDR-Schreibweise → zusammenfassen + begründen.
|
||
|
||
---
|
||
|
||
## Das Prinzip
|
||
|
||
Mehrere spezifische Routen werden zu **einer einzigen summarischen Route** zusammengefasst.
|
||
Das reduziert Routing-Tabellen und macht das Netz effizienter.
|
||
|
||
**Bedingung:** Alle zusammenzufassenden Netze müssen zum **gleichen Next Hop / gleichen Interface** führen – sonst ergibt die Zusammenfassung keinen Sinn (man würde Datenverkehr falsch weiterleiten).
|
||
|
||
---
|
||
|
||
## Algorithmus (Schritt für Schritt)
|
||
|
||
1. Alle Netzadressen in **Binär** umschreiben (nur die relevanten Oktette)
|
||
2. Von links nach rechts die **identischen Bits zählen** → das wird die neue Präfixlänge
|
||
3. Die ersten n identischen Bits nehmen, Rest auf **0 setzen** → neue Netzadresse
|
||
4. **Prüfen**: Deckt die Zusammenfassung nur die gewünschten Netze ab, oder fallen unerwünschte Netze mit rein?
|
||
5. Falls unerwünschte Netze dabei sind: **Präfix vergrößern** (mehr Bits = kleineres Netz) und Restnetze separat behandeln
|
||
|
||
---
|
||
|
||
## Wann kann man NICHT zusammenfassen?
|
||
|
||
- Die Netze liegen **nicht lückenlos beieinander** im Adressraum → unerwünschte Netze würden mit eingeschlossen
|
||
- Die Netze führen zu **unterschiedlichen Next Hops** → falsche Weiterleitung
|
||
- Ein Netz liegt **außerhalb** der möglichen Zusammenfassung → dann zwei getrennte Zusammenfassungen
|
||
|
||
**Argumentation in der Klausur:**
|
||
„Netz X kann nicht mit Netz Y zusammengefasst werden, weil eine gemeinsame Zusammenfassung auch die Netze A, B, C einschließen würde, die einen anderen Next Hop haben / nicht existieren."
|
||
|
||
---
|
||
|
||
## Hilfstabelle: Bit-Wertigkeiten
|
||
|
||
| 2⁷ | 2⁶ | 2⁵ | 2⁴ | 2³ | 2² | 2¹ | 2⁰ |
|
||
|----|----|----|----|----|----|----|-----|
|
||
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|
||
|
||
---
|
||
|
||
## Beispiel 1 – Einfache Zusammenfassung (aus VL4)
|
||
|
||
**Gegeben:** 172.16.0.0/24, 172.16.1.0/24, 172.16.2.0/24, 172.16.3.0/24
|
||
|
||
**Schritt 1 – Binär (3. Oktett entscheidend):**
|
||
```
|
||
172.16.0.0 → 0000 00|00
|
||
172.16.1.0 → 0000 00|01
|
||
172.16.2.0 → 0000 00|10
|
||
172.16.3.0 → 0000 00|11
|
||
↑
|
||
22 Bits identisch
|
||
```
|
||
|
||
**Schritt 2 – Neue Präfixlänge:** /22 (22 identische Bits von links)
|
||
|
||
**Schritt 3 – Neue Netzadresse:** 172.16.0.0 (Bits ab Position 23 auf 0)
|
||
|
||
**Ergebnis:** `172.16.0.0/22`
|
||
|
||
**Prüfung:** /22 deckt 172.16.0.0 bis 172.16.3.255 → genau die 4 Netze, keine unerwünschten ✓
|
||
|
||
---
|
||
|
||
## Beispiel 2 – Nicht-triviale Zusammenfassung (aus VL4)
|
||
|
||
**Gegeben:** 192.168.0.0/24 bis 192.168.9.0/24
|
||
|
||
**Problem:** Eine einzige Zusammenfassung würde auch 192.168.10.0 bis 192.168.15.0 einschließen.
|
||
|
||
**Binär (3. Oktett):**
|
||
```
|
||
192.168.0.0: 0000 0|000 ─┐
|
||
192.168.1.0: 0000 0|001 │
|
||
192.168.2.0: 0000 0|010 ├─ 21 Bits identisch → /21
|
||
192.168.3.0: 0000 0|011 │ deckt .0 bis .7
|
||
192.168.4.0: 0000 0|100 │
|
||
192.168.5.0: 0000 0|101 │
|
||
192.168.6.0: 0000 0|110 │
|
||
192.168.7.0: 0000 0|111 ─┘
|
||
|
||
192.168.8.0: 0000 100|0 ─┐ 23 Bits identisch → /23
|
||
192.168.9.0: 0000 100|1 ─┘ deckt .8 und .9
|
||
```
|
||
|
||
**Ergebnis:** Zwei Zusammenfassungen nötig:
|
||
- `192.168.0.0/21` (deckt .0 bis .7)
|
||
- `192.168.8.0/23` (deckt .8 und .9)
|
||
|
||
**Argumentation:** Eine einzige /21 ab .8 würde .8 bis .15 abdecken – aber .10 bis .15 existieren nicht / haben anderen Next Hop → nicht erlaubt.
|
||
|
||
---
|
||
|
||
## Beispiel 3 – Aus VL4 Vorlesungsaufgabe
|
||
|
||
**Gegeben:**
|
||
- 192.168.160.0/24
|
||
- 192.168.161.0/24
|
||
- 192.168.162.0/23
|
||
- 192.168.164.0/22
|
||
|
||
**Binär (3. Oktett):**
|
||
```
|
||
192.168.160.0: 1010 0|000
|
||
192.168.161.0: 1010 0|001
|
||
192.168.162.0: 1010 0|010 (→ deckt .162 und .163 wegen /23)
|
||
192.168.164.0: 1010 0|100 (→ deckt .164 bis .167 wegen /22)
|
||
↑
|
||
21 Bits identisch
|
||
```
|
||
|
||
**Ergebnis:** `192.168.160.0/21`
|
||
(deckt 160–167, alle 4 Netze liegen darin, keine unerwünschten Netze dabei ✓)
|
||
|
||
---
|
||
|
||
## Beispiel 4 – Gruppenaufgabe VL4 (ein Netz passt nicht rein)
|
||
|
||
**Gegeben:**
|
||
- 172.30.31.0/24
|
||
- 172.30.32.0/24
|
||
- 172.30.33.0/24
|
||
- 172.30.34.0/23
|
||
- 172.30.36.0/23
|
||
- 172.30.38.0/24
|
||
|
||
**Binär (3. Oktett):**
|
||
```
|
||
172.30.31.0: 0001 1111 ← passt NICHT zu den anderen (andere Bitfolge)
|
||
172.30.32.0: 0010 00|00 ─┐
|
||
172.30.33.0: 0010 00|01 ├─ 22 Bits → /22 (deckt .32–.35)
|
||
172.30.34.0: 0010 00|10 ─┘
|
||
172.30.36.0: 0010 01|00 → /23 (deckt .36–.37)
|
||
172.30.38.0: 0010 01|10 → /24 (einzeln)
|
||
```
|
||
|
||
**Warum .31 nicht zusammenfassen?**
|
||
Würde man .31 mit .32–.38 zusammenfassen, bräuchte man /21, das würde .24–.31 UND .32–.39 abdecken. Damit kämen .24–.30 dazu – die existieren nicht / haben anderen Next Hop. → Nicht erlaubt.
|
||
|
||
**Ergebnis:** 4 Einträge:
|
||
- `172.30.31.0/24` (allein, passt nicht in Gruppe)
|
||
- `172.30.32.0/22` (deckt .32–.35)
|
||
- `172.30.36.0/23` (deckt .36–.37)
|
||
- `172.30.38.0/24` (allein)
|
||
|
||
---
|
||
|
||
## Schnell-Lookup: Welche CIDR-Größen gibt es?
|
||
|
||
| Präfix | Maske | Adressen | 3. Oktett Schrittweite |
|
||
|--------|-------|----------|------------------------|
|
||
| /24 | 255.255.255.0 | 256 | 1 |
|
||
| /23 | 255.255.254.0 | 512 | 2 |
|
||
| /22 | 255.255.252.0 | 1024 | 4 |
|
||
| /21 | 255.255.248.0 | 2048 | 8 |
|
||
| /20 | 255.255.240.0 | 4096 | 16 |
|
||
| /19 | 255.255.224.0 | 8192 | 32 |
|
||
| /18 | 255.255.192.0 | 16384 | 64 |
|
||
| /17 | 255.255.128.0 | 32768 | 128 |
|
||
| /16 | 255.255.0.0 | 65536 | — (ganzes 2. Oktett) |
|
||
|
||
**Schrittweite** = wie weit auseinander die Netzadressen liegen dürfen (z.B. bei /22 immer Vielfache von 4 im 3. Oktett: .0, .4, .8, .12, ...)
|
||
|
||
---
|
||
|
||
## Übungsaufgaben (selbst lösen)
|
||
|
||
### Aufgabe 1
|
||
Gegeben (alle /24, gleicher Next Hop):
|
||
- 10.0.0.0/24
|
||
- 10.0.1.0/24
|
||
- 10.0.2.0/24
|
||
- 10.0.3.0/24
|
||
|
||
<details>
|
||
<summary>Lösung</summary>
|
||
|
||
3. Oktett: 0, 1, 2, 3 → binär: 0000 00|00 bis 0000 00|11 → 22 identische Bits
|
||
**Ergebnis: 10.0.0.0/22**
|
||
|
||
</details>
|
||
|
||
---
|
||
|
||
### Aufgabe 2
|
||
Gegeben (alle /24, gleicher Next Hop):
|
||
- 192.168.4.0/24
|
||
- 192.168.5.0/24
|
||
- 192.168.6.0/24
|
||
- 192.168.7.0/24
|
||
|
||
<details>
|
||
<summary>Lösung</summary>
|
||
|
||
3. Oktett: 4, 5, 6, 7 → binär: 0000 01|00 bis 0000 01|11 → 22 identische Bits
|
||
**Ergebnis: 192.168.4.0/22**
|
||
|
||
</details>
|
||
|
||
---
|
||
|
||
### Aufgabe 3
|
||
Gegeben (alle /24, gleicher Next Hop):
|
||
- 172.16.8.0/24
|
||
- 172.16.9.0/24
|
||
- 172.16.10.0/24
|
||
- 172.16.11.0/24
|
||
- 172.16.12.0/24
|
||
- 172.16.13.0/24
|
||
|
||
<details>
|
||
<summary>Lösung</summary>
|
||
|
||
3. Oktett binär:
|
||
- 8 = 0000 1000
|
||
- 9 = 0000 1001
|
||
- 10 = 0000 1010
|
||
- 11 = 0000 1011
|
||
- 12 = 0000 1100 ← hier weicht Bit 5 ab!
|
||
- 13 = 0000 1101
|
||
|
||
Eine einzige Zusammenfassung würde 8–15 umfassen (/21), aber .14 und .15 sind nicht dabei → prüfen ob das ok ist (fehlen die im Next Hop?).
|
||
Falls .14 und .15 nicht existieren / anderen Next Hop haben → zwei Zusammenfassungen:
|
||
- `172.16.8.0/22` (deckt .8–.11)
|
||
- `172.16.12.0/23` (deckt .12–.13)
|
||
|
||
Falls .14 und .15 denselben Next Hop haben → **172.16.8.0/21** (deckt .8–.15)
|
||
|
||
**Argumentation zählt hier!**
|
||
|
||
</details>
|
||
|
||
---
|
||
|
||
### Aufgabe 4 – Mit unterschiedlichen Präfixen
|
||
Gegeben (gleicher Next Hop):
|
||
- 10.1.0.0/24
|
||
- 10.1.1.0/24
|
||
- 10.1.2.0/23
|
||
|
||
<details>
|
||
<summary>Lösung</summary>
|
||
|
||
10.1.2.0/23 deckt bereits .2 und .3.
|
||
Also sind insgesamt .0, .1, .2, .3 abgedeckt → 4 aufeinanderfolgende /24-Äquivalente.
|
||
3. Oktett: 0–3 → 22 identische Bits
|
||
**Ergebnis: 10.1.0.0/22**
|
||
|
||
</details>
|
||
|
||
---
|
||
|
||
## Argumentation-Template für die Klausur
|
||
|
||
**Wenn zusammenfassbar:**
|
||
> „Die Netze X, Y, Z können zu [Zusammenfassung]/[Präfix] zusammengefasst werden, da die ersten [n] Bits der Netzadressen identisch sind. Die Zusammenfassung deckt genau diese Netze ab und schließt keine unerwünschten Netze ein."
|
||
|
||
**Wenn NICHT zusammenfassbar (als eine Zusammenfassung):**
|
||
> „Eine gemeinsame Zusammenfassung von X und Y würde das Netz [unerwünschtes Netz] einschließen, das einen anderen Next Hop hat / nicht existiert. Daher sind zwei separate Zusammenfassungen nötig: [A]/[n] und [B]/[m]."
|
||
|
||
**Wenn ein Netz einzeln bleiben muss:**
|
||
> „Netz X kann nicht mit den übrigen Netzen zusammengefasst werden, da eine gemeinsame Zusammenfassung die Netze [A bis B] einschließen würde, die nicht zum selben Next Hop gehören."
|