# 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  