In der heutigen Vorlesung haben wir uns mit dem Entwurf von Protokollen beschäftigt.
| Anfang | 2-msc-ain-internet-proto-design-160510 – Seite 43 |
|---|---|
| Ende | 2-msc-ain-internet-proto-design-160510 – Seite 53 |
Grundlagen des Protokollentwurfs
Wie geht man mit Pfadänderungen im Protokoll um?
- Kein Problem, außer eine Firewall hängt dazwischen
- Veränderungen an Bandbreite, Latenz und RTT müssen kommuniziert werden
Welche Regeln sind beim Protokollentwurf zu beachten?
- Werte: Binary- (kompakter) oderText-Format
- KISS: Keep it simple, stupid
- Reserved-Felder: Definiere, wie sie aussehen müssen (Must be set zero when sending (MBZ))
- Format: Big oder Little Endian
- Ethertype: Unterscheidung und IPv4 und IPv6 wird bereits auf Layer 2 erkennbar
- Feldgrößen: 64/128-Bit Felder für Zukunftsfähigkeit
- Options im IP-Header: Viele Firewalls blocken die Optionen und sind daher nutzlos
- IPv4: Hier ist das Type-Feld zu klein
- IPv6: Es werden Erweiterungen anstatt Optionen mit Next Header-Adressierung verwendet
Was sind Type-Length-Values (TLVs)?
- Optionale Informationen können als TLV in einem Protokoll codiert werden anstatt den Header zu vergößern
- A/B: Anweisung wie mit den Nachrichten umzugehen ist, wenn Extension unbekannt ist (read, forward, delete)