| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung |
| gf_informatik:web:internet:ip_adressen [2022-12-08 18:09] – [IP-Adressen] hof | gf_informatik:web:internet:ip_adressen [2025-11-27 06:57] (aktuell) – [ARP] hof |
|---|
| |
| Die IP-Adresse wird einem Gerät meist zugewiesen, wenn es sich mit dem Netzwerk verbindet. Das dazugehörige Protokoll heisst [[wpde>DHCP]]. Der DHCP-Server wird mittels *Broadcast* (also einer Nachricht auf der Netzzugangsschicht an das ganze Subnetz) angefragt und antwortet mit der IP-Adresse, der grösse des Subnetz', und dem DNS-Server. | Die IP-Adresse wird einem Gerät meist zugewiesen, wenn es sich mit dem Netzwerk verbindet. Das dazugehörige Protokoll heisst [[wpde>DHCP]]. Der DHCP-Server wird mittels *Broadcast* (also einer Nachricht auf der Netzzugangsschicht an das ganze Subnetz) angefragt und antwortet mit der IP-Adresse, der grösse des Subnetz', und dem DNS-Server. |
| |
| ### IPv4 | ### IPv4 |
| |
| `161.78.13.64` | `161.78.13.64` |
| |
| Mit 32 Bit lassen sich 2<sup>32</sup>, also ca. 4 Milliarden verschiedene Adressen generieren, was bei weitem nicht für alle Geräte reicht. Um bis zur endgültigen Einführung von [[gf_informatik:web:internet:ip_adressen#IPv6|IPv6]] trotzdem alle Geräte mit dem Internet zu verbinden, wird oft [[gf_informatik:web:internet:ip_adressen#NAT|NAT]] verwendet. | Mit 32 Bit lassen sich 2<sup>32</sup>, also ca. 4 Milliarden verschiedene Adressen generieren, was bei weitem nicht für alle Geräte reicht. Um bis zur endgültigen Einführung von [[gf_informatik:web:internet:ip_adressen#IPv6|IPv6]] trotzdem alle Geräte mit dem Internet zu verbinden, wird oft [[gf_informatik:web:internet:ip_adressen#NAT|NAT]] verwendet |
| | |
| | Der Wikipedia-Eintrag zu [[wpde>IPv4]] ist lesenswert und verständlich geschrieben. |
| ### Subnetze | ### Subnetze |
| Alle Geräte in einem lokalen Netz haben dasselbe *Präfix*, sie teilen sich also die ersten `n` Bits der IP-Adresse, genauso wie alle Gebäude an einer Strasse den gleichen Strassennamen und die gleiche Ortschaft in der Post-Adresse. | Alle Geräte in einem lokalen Netz haben dasselbe *Präfix*, sie teilen sich also die ersten `n` Bits der IP-Adresse, genauso wie alle Gebäude an einer Strasse den gleichen Strassennamen und die gleiche Ortschaft in der Post-Adresse. |
| Alle Geräte im gleichen Subnetz können sich direkt ansprechen; alle anderen Adressen müssen via Router versendet werden -> [[gf_informatik:web:internet:routing|]] | Alle Geräte im gleichen Subnetz können sich direkt ansprechen; alle anderen Adressen müssen via Router versendet werden -> [[gf_informatik:web:internet:routing|]] |
| |
| Das Subnetz wird meist mit der CIDR-Notation ausgedrückt: `161.78.13.64/24` bedeutet, dass die ersten 24 Bit (also die drei ersten Dezimal-Blöcke) das Netzwerk identifizieren. Der letzte Block identifiziert das Gerät im Subnetz; es kann also höchstens 256 Geräte im Subnetz geben. | Das Subnetz wird meist mit der CIDR-Notation ausgedrückt: `161.78.13.0/24` bedeutet, dass die ersten 24 Bit (also die drei ersten Dezimal-Blöcke) das Netzwerk identifizieren. Der letzte Block identifiziert das Gerät im Subnetz; es kann also höchstens 256 Geräte im Subnetz geben. |
| | |
| | Früher und bei Windows wird das Subnetz auch als binäre *Maske* angegeben, die ersten drei Blöcke würden bespielsweise durch die Maske `255.255.255.0` (entspricht im Binärsystem `11111111.11111111.11111111.0`) *maskiert*. Je länger das Präfix bzw. je mehr Einsen in der Maske, desto weniger Bits sind im Hostbereich für Geräte verfügbar. |
| | |
| | Beispiel: |
| | | ^ Netzadresse (CIDR) ^ Subnetzmaske ^ Adressbereich ^ Netz-, <color #ed1c24>Subnetz</color>- und <color #00a2e8>Host</color>anteil (binär) ^ |
| | ^ Netz | 192.0.2.0/24 | 255.255.255.0 | 192.0.2.0 – 192.0.2.255 | ''<color #000>11000000.00000000.00000010.</color><color #00a2e8>xxxxxxxx</color>'' | |
| | ^ Subnetz | 192.0.2.0/25 | 255.255.255.128 | 192.0.2.0 – 192.0.2.127 | ''<color #000>11000000.00000000.00000010.</color><color #ed1c24>0</color><color #00a2e8>xxxxxxx</color>'' | |
| | ^ Subnetz | 192.0.2.128/26 | 255.255.255.192 | 192.0.2.128 – 192.0.2.191 | ''<color #000>11000000.00000000.00000010.</color><color #ed1c24>10</color><color #00a2e8>xxxxxx</color>'' | |
| | ^ Subnetz | 192.0.2.192/26 | 255.255.255.192 | 192.0.2.192 – 192.0.2.255 | ''<color #000>11000000.00000000.00000010.</color><color #ed1c24>11</color><color #00a2e8>xxxxxx</color>'' | |
| | |
| | Übersicht über CIDR und eine Liste aller Masken findet sich auf [[https://de.wikipedia.org/wiki/Classless_Inter-Domain_Routing#%C3%9Cbersicht_f%C3%BCr_IPv4|Classless Inter-Domain Routing]]. |
| |
| Früher wurde das Subnetz auch als binäre *Maske* angegeben, die ersten drei Blöcke würden bespielsweise durch die Maske `255.255.255.0` (entspricht im Binärsystem `11111111.11111111.11111111.0`) *maskiert*. | |
| |
| Übersicht über CIDR und eine Liste aller Masken findet sich auf [[wpde>Classless Inter-Domain Routing]]. | |
| ### NAT | ### NAT |
| |
| www.tg.ch has address 161.78.13.64 | www.tg.ch has address 161.78.13.64 |
| </code> | </code> |
| | |
| | |
| ### URL - Universal Resource Locator | ### URL - Universal Resource Locator |
| Die Adresse im Browser besteht aus mehreren Teilen: | Die Adresse im Browser besteht aus mehreren Teilen: |
| |
| Das **Scheme** bestimmt, welches Protokoll benützt wird, um die Adresse zu laden, im Browser meist `http` oder `https`. Es gibt aber noch zahlreiche andere Möglichkeiten: | Das **Scheme** bestimmt, welches Protokoll benützt wird, um die Adresse zu laden, im Browser meist `http` oder `https`. Es gibt aber noch zahlreiche andere Möglichkeiten: |
| * `mailto` identifiziert eine E-Mail-Adresse. | * `mailto` identifiziert eine E-Mail-Adresse: [[mailto:info@example.com]] |
| * `tel` identifiziert eine Telefonnummer. | * `tel` identifiziert eine Telefonnummer: <html><a href="tel:+410791234567">tel:+410791234567</a></html> |
| * `file` referenziert eine lokale Datei. | * `file` referenziert eine lokale Datei: <html><a href="file:/dev/null">file:/dev/null</a></html> |
| * `data` bedeutet, dass der Rest des URLs die Daten enthält (also kein Zugriff erfolgen muss). | * `data` bedeutet, dass der Rest des URLs die Daten enthält (also kein Zugriff erfolgen muss): <html><a href="data:text/html;base64,PGh0bWw+PGhlYWQ+CiAgICAgICAgPHRpdGxlPlJvbGwgdGhlIGRpY2UhPC90aXRsZT4KICAgICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICAgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xIj4KICAgICAgICA8c3R5bGU+CmJvZHkgewogICAgbWFyZ2luOiAwIGF1dG87CiAgICB3aWR0aDogMTAwdnc7CiAgICBoZWlnaHQ6IDEwMHZoOwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgY29sb3I6YmxhY2s7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBiZWlnZTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOwp9CgpteS1kaWNlIHsKICAgIGRpc3BsYXk6Z3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwp9CgouZGljZSB7CiAgICBmb250LXNpemU6IG1pbig1MHZ3LCA1MHZoKTsKfQoKLmRpY2VbZGF0YS1leWVzPScxJ106YWZ0ZXIgewogICAgICBjb250ZW50OiAn4pqAJzsgCn0KLmRpY2VbZGF0YS1leWVzPScyJ106YWZ0ZXIgewogICAgICBjb250ZW50OiAn4pqBJzsgCn0KLmRpY2VbZGF0YS1leWVzPSczJ106YWZ0ZXIgewogICAgICBjb250ZW50OiAn4pqCJzsgCn0KLmRpY2VbZGF0YS1leWVzPSc0J106YWZ0ZXIgewogICAgICBjb250ZW50OiAn4pqDJzsgCn0KLmRpY2VbZGF0YS1leWVzPSc1J106YWZ0ZXIgewogICAgICBjb250ZW50OiAn4pqEJzsgCn0KLmRpY2VbZGF0YS1leWVzPSc2J106YWZ0ZXIgewogICAgICBjb250ZW50OiAn4pqFJzsgCn0KICAgICAgICA8L3N0eWxlPgogICAgPC9oZWFkPgogICAgPGJvZHk+CiAgICAgICAgPG15LWRpY2Ugb25jbGljaz0icm9sbCgpOyI+ICAgICAgICAgICAgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpY2UiIGRhdGEtZXllcz0iNSI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpY2UiIGRhdGEtZXllcz0iNCI+PC9kaXY+CiAgICAgICAgPC9teS1kaWNlPgogICAgICAgIAogICAgPHNjcmlwdD4KZnVuY3Rpb24gcmFuZGludChtaW4sIG1heCkgewogICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChtYXggLSBtaW4gKyAxKSArIDEpOwp9CgpmdW5jdGlvbiBkcmF3X3RleHQoZGVzdGluYXRpb24sIGV5ZXMpIHsKICAgIGRlc3RpbmF0aW9uLnNldEF0dHJpYnV0ZSgnZGF0YS1leWVzJywgZXllcyk7Cn0KCmZ1bmN0aW9uIHJvbGwoKSB7CiAgICBmb3IgKGxldCBkaWUgb2YgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgiZGljZSIpKSB7CiAgICAgICAgZHJhd190ZXh0KGRpZSwgcmFuZGludCgxLDYpKTsKICAgIH0KfQpyb2xsKCk7CiAgICA8L3NjcmlwdD4KICAgIAo8L2JvZHk+PC9odG1sPg==">Dieser URL</a></html> enthält beispielsweise eine ganze Webseite. |
| |
| Die **Domain** sagt, welcher Server kontaktiert werden soll. Um die richtige IP-Adresse dafür herauszufinden, kontaktiert der Browser einen DNS-Server. | Die **Domain** sagt, welcher Server kontaktiert werden soll. Um die richtige IP-Adresse dafür herauszufinden, kontaktiert der Browser einen DNS-Server. |
| |
| Der **Pfad** schlussendlich wird an den Server weitergereicht und identifiziert die Ressource (z.B. eine HTML- oder CSS-Datei) auf dem Server, die geladen werden soll. | Der **Pfad** schlussendlich wird an den Server weitergereicht und identifiziert die Ressource (z.B. eine HTML- oder CSS-Datei) auf dem Server, die geladen werden soll. |
| | |
| | |
| ### IPv6 | ### IPv6 |
| |
| Um die Knappheit der IPv4 Adressen zu lösen, wurde ab 1999 [[wpde>IPv6]] eingeführt, das 2<sup>128</sup> mögliche Adressen bietet. Damit ist also nicht nur möglich, jedes Gerät mit einer Adresse zu versorgen, sondern es hat sogar genügend Adressen für jedes Atom im Universum... | Um die Knappheit der IPv4 Adressen zu lösen, wurde ab 1999 [[wpde>IPv6]] eingeführt, das 2<sup>128</sup> mögliche Adressen bietet. Damit ist also nicht nur möglich, jedes Gerät mit einer Adresse zu versorgen, sondern es hat sogar genügend Adressen für jedes Atom auf der Erdoberfläche... |
| |
| IPv6-Adressen werden meist in Blöcken zu vier Hexadezimalzahlen (0-9,a-f) dargestellt: `2001:0db8:85a3:08d3:1319:8a2e:0370:7347` | IPv6-Adressen werden meist in Blöcken zu vier Hexadezimalzahlen (0-9,a-f) dargestellt: `2001:0db8:85a3:08d3:1319:8a2e:0370:7347` |
| |
| ### ARP | ### ARP |
| [[gf_informatik:web:internet:routing]] beschreibt, wie Pakete von Router zu Router weiterversandt werden - aber wie weiss ein Gerät eigentlich innerhalb eines Subnetz, welches Gerät eine bestimmte IP-Adresse hat? Dafür dient das **Adress Resolution Protocol** (ARP). Innerhalb eines Subnetz kann jedes Gerät einen sogenannten **Broadcast** versenden, ein Paket an alle anderen Geräte im Subnetz. Das Gerät verschickt also einen APR-Broadcast und fragt "welches Gerät hat die IP-Adresse 1.2.3.4?". Jedes Gerät im Subnetz hört den Broadcast, das richtige Gerät antwortet dann mit einer ARP-Antwort "Ich habe die IP 1.2.3.4 und meine MAC-Adresse ist ab:cd:ef:01:23". | [[gf_informatik:web:internet:routing]] beschreibt, wie Pakete von Router zu Router weiterversandt werden - aber wie weiss ein Gerät eigentlich innerhalb eines Subnetz', welches Gerät eine bestimmte IP-Adresse hat? Dafür dient das **Adress Resolution Protocol** (ARP). Innerhalb eines Subnetz kann jedes Gerät einen sogenannten **Broadcast** versenden, ein Paket an alle anderen Geräte im Subnetz. Das Gerät verschickt also einen ARP-Broadcast und fragt "welches Gerät hat die IP-Adresse `1.2.3.4`?". Jedes Gerät im Subnetz hört den Broadcast, das richtige Gerät antwortet dann mit einer ARP-Antwort "Ich habe die IP `1.2.3.4` und meine MAC-Adresse ist `ab:cd:ef:01:23`". |
| |