# Internetworking > ![image_685.png](image_685.png) ## MAC und IP-Adressen im Heimatnetzwerk ![image_686.png](image_686.png) **Bleiben MAC und IP-Adresse immer gleich?** - MAC-Adresse - gelten nur im LAN - IP-Adresse - muss unverändert festbleiben ## MAC-Adressierung ### Beispiel Ethernet-Header ![image_687.png](image_687.png) ### Beispiel WLAN-Header ![image_688.png](image_688.png) - nicht mehr nur Quell- und Zieladresse - gezwungener Nachrichtenweg über den Router ## Übersicht Network-Layer > ![image_689.png](image_689.png) ### 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 V4 - realisiert verbindungslose Kommunikation auf L3 - bietet Hardware-unabhängiges Paketformat - ![image_690.png](image_690.png) ##### IPv4 Adressierung ![image_691.png](image_691.png) - 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 ![image_699.png](image_699.png) - 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 - ![image_700.png](image_700.png) - 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 ![image_701.png](image_701.png) ###### Layer-3-Switch ersetzt Konfiguration mit einem Router ![image_702.png](image_702.png) ## Einfaches Internetwork als Beispiel ![image_692.png](image_692.png) - 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 ![image_693.png](image_693.png) - 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 ![image_694.png](image_694.png) #### Step 1: Open the Webbrowser and Enter IP Address for the Development Board #### Step 2: PC Generates and Transmits a Frame ![image_695.png](image_695.png) #### Step 3: Frame is Forwarded through the Switch ![image_696.png](image_696.png) - 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 ![image_697.png](image_697.png) - 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 ![image_698.png](image_698.png) #### 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) - mehrere Computer teilen sich eine im Internet sichtbare IP-Adresse - Private Adressräume werden nicht weitergeleitet - ![image_703.png](image_703.png) ### NAT-Beispiel ![image_705.png](image_705.png) ### 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 ![image_706.png](image_706.png) ### Local Router with NAT #### NAT entry and forward Frame to ISP Router ![image_707.png](image_707.png) #### NAT translation in local Router ![image_708.png](image_708.png) ### Übersicht NAT im globalen Netzwerk ![image_709.png](image_709.png)