update
This commit is contained in:
334
Writerside/topics/04/Rechnernetze/Teil-1/01_Internetworking.md
Normal file
334
Writerside/topics/04/Rechnernetze/Teil-1/01_Internetworking.md
Normal file
@ -0,0 +1,334 @@
|
||||
# Internetworking
|
||||
> 
|
||||
|
||||
## MAC und IP-Adressen im Heimatnetzwerk
|
||||

|
||||
|
||||
**Bleiben MAC und IP-Adresse immer gleich?**
|
||||
- MAC-Adresse
|
||||
- gelten nur im LAN
|
||||
- IP-Adresse
|
||||
- muss unverändert festbleiben
|
||||
|
||||
## MAC-Adressierung
|
||||
### Beispiel Ethernet-Header
|
||||

|
||||
|
||||
### Beispiel WLAN-Header
|
||||

|
||||
- nicht mehr nur Quell- und Zieladresse
|
||||
- gezwungener Nachrichtenweg über den Router
|
||||
|
||||
|
||||
## Übersicht Network-Layer
|
||||
> 
|
||||
|
||||
### IP und ICMP
|
||||
- **Eigenschaften**
|
||||
- IP
|
||||
- stellt Header im Network Layer zur Verfügung
|
||||
- einfache Spezifikation auf beiden Seiten
|
||||
- einziges Problem: Fragmentierung von IP-Paketen
|
||||
- ICMP
|
||||
- Fehlermeldungen und Test des Netzwerks
|
||||
- Zwischen Host/Router und Router
|
||||
- Fehler werden verursacht durch
|
||||
- fehlerhafte IP-Pakete
|
||||
- "Nichterreichbarkeit" von Netzen, Hosts, Routern, Diensten
|
||||
- Kein Client von L3, sondern von IP
|
||||
|
||||
#### Internet Protocol V6
|
||||
> 
|
||||
|
||||
##### Neighbor Discovery Protocol (NDP) in IPv6
|
||||

|
||||

|
||||

|
||||
|
||||
#### Internet Protocol V4
|
||||
- realisiert verbindungslose Kommunikation auf L3
|
||||
- bietet Hardware-unabhängiges Paketformat
|
||||
- 
|
||||
|
||||
> 
|
||||
|
||||
##### IPv4 Adressierung
|
||||

|
||||
- Netz
|
||||
- _bspw. anderes Netz für MK/FBI_
|
||||
- je feiner man die trennt, desto besser ist Performance, Sicherheit
|
||||
- Host
|
||||
- Endgerät
|
||||
- braucht eine individuelle IP-Adresse
|
||||
|
||||
##### IPv4 Lebenszeit
|
||||
- beim Routen durch vermaschte Netze könnten Datagramme ziellos unendlich lang kreisen
|
||||
- Ressourcen werden vergeudet
|
||||
> **Lösung: TTL-Feld**
|
||||
>
|
||||
> Jeder Router reduziert TTL um `1`,
|
||||
> bei Erreichen von `0` wird Paket gelöscht
|
||||
|
||||
###### Subnetting
|
||||
- gleich großer Host/Netz Anteil
|
||||
- Falls man vom einen mehr braucht → umrechnen
|
||||
|
||||
#### ICMP
|
||||

|
||||
- Falls IP Fehler bei Zustellung hat, ICMP zur Benachrichtigung des Senders nutzen
|
||||
- Destination Unreachable
|
||||
- Fragmentation Needed and DF set
|
||||
- _Fragmentierung benötigt, aber nicht erlaubt_
|
||||
- Time To Live Exceeded
|
||||
- Source Quench
|
||||
- _Host kann Datagramme nicht so schnell verarbeiten, wie diese vom Netzwerk eintreffen_
|
||||
|
||||
**Eigenschaften**
|
||||
- ICMP-Nachrichten als Nutzdaten in IP-Paketen
|
||||
- enthält
|
||||
- Typ
|
||||
- 
|
||||
- Code
|
||||
- ggf. erste 8 Byte des IP-Pakets, das die Fehlermeldung verursacht hat
|
||||
- wird direkt von `Ping` und `Traceroute` verwendet
|
||||
|
||||
##### ICMP: Traceroute
|
||||
- Sender schickt IP-Paket mit TTL=1
|
||||
- 1. Router sendet ICMP zurück
|
||||
- Sender schickt IP-Paket mit TTL=2
|
||||
- 2. Router sendet ICMP zurück
|
||||
- ...
|
||||
|
||||
|
||||
##### ICMP-Flooding-Angriff
|
||||
- Angreifer überflutet Zielgerät mit ICMP-Echo-Request-Paketen
|
||||
- Zielgerät beantwortet alle
|
||||
- verbraucht Ressourcen
|
||||
|
||||
##### ICMP Smurf-Angriff
|
||||
- Angreifer schickt ICMP-Paket mit gefälschter Quell-IP-Adresse
|
||||
- Netzwerk antwortet an gefälschte IP-Adresse
|
||||
- → DDoS-Angriff auf OSI-Schicht 3
|
||||
|
||||
##### ICMP Umleitungen in Mehrpunkt-Ethernet-Netzwerken
|
||||
|
||||
| | |
|
||||
|---------------------------------|------------|
|
||||
| Host | 10.0.0.100 |
|
||||
| Router G1 (Standardgateway) | 10.0.0.1 |
|
||||
| Router G2 (nächster Hop von G1) | 10.0.0.2 |
|
||||
|
||||
Wenn Host Paket an Zielnetzwerk X sendet:
|
||||
1. G1 empfängt von Host in Netzwerk in dem es verbunden ist
|
||||
2. G1 überprüft Routing-Tabelle und erhält IP von G2 auf Route zu X
|
||||
3. Wenn G2 und Host in gleichem Netzwerk:
|
||||
- ICMP-Umleitungsnachricht an Host, dass er es in Zukunft direkt an G2 schicken soll
|
||||
- kürzer als Weg über G1
|
||||
4. G1 schickt Datenpaket an Ziel weiter
|
||||
|
||||
- Abhängig von Host-Konfiguration
|
||||
- ICMP-Umleitungsnachricht ignorieren oder anwenden
|
||||
|
||||
|
||||
###### Suboptimaler Pfad mit statischem Routing
|
||||

|
||||
|
||||
###### Layer-3-Switch ersetzt Konfiguration mit einem Router
|
||||

|
||||
|
||||
|
||||
|
||||
|
||||
## Einfaches Internetwork als Beispiel
|
||||

|
||||
- von H1 aus zu H8
|
||||
- R1 packt es aus, schaut wohin, packt es ein und weiter
|
||||
- R2 packt es aus, schaut wohin, packt es ein und weiter
|
||||
- R3 packt es aus, schaut wohin, packt es ein und weiter
|
||||
|
||||

|
||||
- PPP hat weniger max. Payload als ETH
|
||||
- IP muss fragmentieren in kleinere Pakete
|
||||
|
||||
- Zwei wichtige Punkte
|
||||
- Jedes Fragment ist ein in sich abgeschlossenes IP-Diagramm
|
||||
- Übertragung unabhängig von anderen Fragmenten über eine Reihe physikalischer Netzwerke
|
||||
- Jedes IP-Diagramm wird für jedes zu durchquerendes physikalische Netzwerk in ein entsprechendes Frame gekapselt
|
||||
|
||||
|
||||
### Laptop and DevBoard communication within LAN
|
||||
#### Step 0: Überblick
|
||||

|
||||
|
||||
#### Step 1: Open the Webbrowser and Enter IP Address for the Development Board
|
||||
#### Step 2: PC Generates and Transmits a Frame
|
||||

|
||||
|
||||
#### Step 3: Frame is Forwarded through the Switch
|
||||

|
||||
- falls nicht bekannt an welchem Port die richtige MAC-Adresse hängt
|
||||
- an alle (bis auf Sender-Port, da ist MAC-Adresse ja bekannt) rausschicken
|
||||
|
||||
#### Step 4: Frame arrives at the Development Board and is forwarded to the Webserver
|
||||

|
||||
- auf jedem Layer überprüfen ob an richtiger Stelle
|
||||
- Layer 2: MAC richtig?
|
||||
- Layer 3: IP richtig?
|
||||
- Layer 4: PortNumber running auf dem device?
|
||||
|
||||
#### Step 5: Webserver on DevBoard generates Frame and sends the page to the pc
|
||||

|
||||
|
||||
#### Step 6: Step 3 with new frame
|
||||
- Frame kommt am Switch an
|
||||
- Switch schaut, ob er die MAC kennt
|
||||
- Switch sendet weiter an PC (Port 3)
|
||||
- PC öffnet frame und schaut, ob er für ihn ist
|
||||
- PC öffnet Packet und schaut, obs passt
|
||||
- PC öffnet Message
|
||||
|
||||
## Network Address Translation (NAT) (nicht klausurrelevant)
|
||||
- mehrere Computer teilen sich eine im Internet sichtbare IP-Adresse
|
||||
- Private Adressräume werden nicht weitergeleitet
|
||||
- 
|
||||
|
||||
### NAT-Beispiel
|
||||

|
||||
|
||||
### Transport Layer NAT (NAPT)
|
||||
- Löst folgendes Problem
|
||||
- Browser auf 192.168.0.1:3000 greift auf www.google.de auf Port 80 zu
|
||||
- Browser auf 192.168.0.2:3000 greift auf www.google.de auf Port 80 zu
|
||||
- → reines NAT funktioniert nicht
|
||||
- NAPT nutzt Port-Nummern aus TCP oder UDP
|
||||
- Gewährleistung Eindeutigkeit in Zuordnung der Pakete
|
||||
- In der Praxis ist NAT Synonym für NAPT
|
||||
|
||||
#### NAPT Beispiel
|
||||

|
||||
|
||||
### Local Router with NAT
|
||||
#### NAT entry and forward Frame to ISP Router
|
||||

|
||||
|
||||
#### NAT translation in local Router
|
||||

|
||||
|
||||
|
||||
### Übersicht NAT im globalen Netzwerk
|
||||

|
||||
|
||||
|
||||
## Address Resolution Protocol ARP
|
||||
> Übersetzung von IP- in physikalische MAC-Adresse
|
||||
|
||||
### Beispiel: MAC vom Router
|
||||
#### Step 1: ARP Request
|
||||

|
||||
|
||||
#### Step 2: ARP Response
|
||||

|
||||
|
||||
#### Step 3: Entry in ARP Table
|
||||

|
||||
- Jeder Punkt im Netzwerk wartet seine eigene ARP-Tabelle
|
||||
- Layer 2 Protokoll, das auf IP Adressen referenziert, sie aber NICHT nutzt
|
||||
|
||||
### 2. Beispiel ARP Request
|
||||

|
||||
|
||||
### ARP Header
|
||||

|
||||
|
||||
|
||||
### ARP-Quiz
|
||||
- Die ARP-Request Nachricht wird per Postcast verschickt ✓
|
||||
- ~~ARP kann zu einer MAC-Adresse eine IP-Adresse vermitteln~~ (Reverse ARP (RARP))
|
||||
- Die ARP-Tabelle enthält nur die Adressabbildungen der Systeme im LAN, mit denen kommuniziert wurde ✓
|
||||
- ~~Der ARP-Reply wird per Broadcast geschickt~~ (Unicast)
|
||||
- ARP kann zu einer IP-Adresse eine MAC-Adresse ermitteln ✓
|
||||
- Der ARP-Reply wird nur an die anfragende Station geschickt ✓
|
||||
|
||||
## Dynamic Host Configuration Protocol (DHCP)
|
||||
- Vereinfachung der Installation und Verwaltung von vernetzten Rechnern
|
||||
- DHCP integriert weitgehend automatisch einen Rechner in das Internet bzw. Intranet
|
||||
|
||||
### Charakteristika
|
||||
- Server
|
||||
- mehrere DHCP-Server können konfiguriert werden
|
||||
- Koordination z. Zt aber noch nicht standardisiert
|
||||
- Erneuerung der Konfiguration
|
||||
- IPs müssen regelmäßig erneut angefordert werden
|
||||
- vereinfachtes Verfahren
|
||||
- Optionen
|
||||
- Verfügbar für:
|
||||
- Router
|
||||
- Netzmaske
|
||||
- NTP (Network Time Protocol)-Timeserver
|
||||
- SLP (Service-Location Protocol)-Verzeichnis
|
||||
- DNS (Domain Name System)
|
||||
|
||||
### DHCP Header
|
||||

|
||||
|
||||
| Field | Octets | Description |
|
||||
|---------|--------|-------------------------------------------------------------------------|
|
||||
| op | 1 | Messagetyp |
|
||||
| htype | 1 | Typ der Hardware-Adresse |
|
||||
| hlen | 1 | Länge der Hardware-Adresse |
|
||||
| hops | 1 | used in case of relay agents. Clients sets them to 0 |
|
||||
| xid | 4 | Transaktions-ID, die vom Client und Server für die Session genutzt wird |
|
||||
| secs | 2 | Zeit [s] seit Client Prozess requested hat |
|
||||
| flags | 2 | Flags |
|
||||
| ciaddr | 4 | Client IP |
|
||||
| yiaddr | 4 | IP, die dem Client vom Server zugewiesen wird |
|
||||
| siaddr | 4 | Server IP |
|
||||
| giaddr | 4 | IP Adresse vom Relay-Agent |
|
||||
| chaddr | 16 | Client Hardware-Adresse (MAC) |
|
||||
| sname | 64 | Server Hostname |
|
||||
| file | 128 | Boot filename |
|
||||
| options | var | Additional options |
|
||||
|
||||
|
||||
|
||||
### Client Server Exchange
|
||||

|
||||
|
||||
### Arbeitsweise von DHCP
|
||||
|
||||
| Fall A | Fall B (`Broadcast Bit = 1`) |
|
||||
|---------------------------------|---------------------------------|
|
||||
|  |  |
|
||||
|
||||

|
||||
|
||||
| **DHCP Discover** | **DHCP Offer** | **DHCP Request** | **DHCP ACK** | _DHCP NACK_ |
|
||||
|---------------------------------|---------------------------------|---------------------------------|---------------------------------|:--------------------------------|
|
||||
|  |  |  |  |  |
|
||||
|
||||
|
||||
### DHCP Zustandsdiagramm
|
||||

|
||||
|
||||
### DHCP Snooping
|
||||

|
||||
|
||||
|
||||
## Domain Name Service (DNS)
|
||||
- weltweit verteilte Namensdatenbank
|
||||
- besitzt hierarchische Namensstruktur
|
||||
- aufgeteilt in nicht überlappende Zonen
|
||||
- 
|
||||
- 
|
||||
- bildet Namen auf Informationen (bspw. IP-Adressen) ab
|
||||
- www.ieee.org → 199.172.136.40
|
||||
- Vorteil: Information/Adresse, auf die abgebildet wird, kann sich ändern
|
||||
|
||||
### DNS Levels
|
||||

|
||||
|
||||
### DNS Funktionsweise
|
||||

|
||||

|
||||
|
||||
|
Reference in New Issue
Block a user