Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

SpaceNet AG Joseph-Dollinger-Bogen 14 80807 München – Homenet multi-Router, multi-ISP – automagisch! Gert Döring, SpaceNet AG, München.

Ähnliche Präsentationen


Präsentation zum Thema: "SpaceNet AG Joseph-Dollinger-Bogen 14 80807 München – Homenet multi-Router, multi-ISP – automagisch! Gert Döring, SpaceNet AG, München."—  Präsentation transkript:

1 SpaceNet AG Joseph-Dollinger-Bogen München – Homenet multi-Router, multi-ISP – automagisch! Gert Döring, SpaceNet AG, München Heise IPv6-Konferenz, , Frankfurt

2 SpaceNet AG Joseph-Dollinger-Bogen München – Inhalt „niemand braucht zu Hause mehr als einen Router“ … und wenn doch? DHCPv6-PD („klassisch“) CableLabs´ hipnet homenet („die Zukunft“?) „Proof of Concept“-Test mit OpenWRT

3 SpaceNet AG Joseph-Dollinger-Bogen München – Ein Router ist genug! Ein „typisches“ Heim-Netz: Enduser-ISP 1 dynamische IPv4-Adresse extern privates Netz mit DHCP intern „off the shelf“-Heimrouter mit NAT NAT x

4 SpaceNet AG Joseph-Dollinger-Bogen München – Ein Router ist genug? x x Zwei kaskadierte Router funktionieren bei IPv4 „dank“ NAT – aber „eher zufällig“, und auch nur „one-way“ IPv6 hat kein NAT-by-default, also geht das damit sowieso nicht – neue Ansätze sind gefragt NAT x Zweiter Router als „WLAN-Access-Point“

5 SpaceNet AG Joseph-Dollinger-Bogen München – Mehr Router! Multi-Router- Szenarien z.B. für Ausfallsicherheit, Technologiewechsel, Gastnetz,...

6 SpaceNet AG Joseph-Dollinger-Bogen München – Routerkaskade mit IPv6, „klassisch“ Router verteilen (immer kleiner werdende) IPv6-Prefixe per DHCPv6-Prefix Delegation (PD) Auf jedem Link ein /64, per RA oder DHCPv6 an Hosts kommuniziert Strikte Top-Down-Struktur nötig Eindeutige Default-Route DHCPv6-PD 2001:608:5::/ :608:5:1::/64 RA: 2001:608:5:0::/64 DHCPv6-PD 2001:608:5:10::/60 DHCPv6-PD? RA: 2001:608:5:11::/ :608:5:12::/64 DHCPv6-PD 2001:608:5:18::/ :608:4:1a::/64 ??? Umgang mit redundanten Links (Schleifen) ist nicht definiert.

7 SpaceNet AG Joseph-Dollinger-Bogen München – Routerkaskade mit IPv6, „klassisch“ Kaskadierte Router mit IPv6 heute schon machbar… strikte Hierarchie in Richtung ISP DHCPv6 Prefix Delegation verteilt kleiner werdende Netzblöcke Router verteilen daraus /64s auf ihre Interfaces aber… strikte Baumstruktur nötig kein Support für Multihoming (mehrere ISPs) kein sinnvolles Handling von Topologie- oder Prefix-Änderungen nicht Teil der „IPv6 CPE“ spec (RFC7084) kaum Support für „Server-Seite“ in Home-Routern* kein Konzept für „Naming-Support im Homenet“ (mDNS)

8 SpaceNet AG Joseph-Dollinger-Bogen München – CableLabs / Hipnet „near term future routers for the home“: saubere Topologie-Erkennung, auch wenn Schleifen vorkommen („LAN-Ports von zwei Routern zusammengesteckt“) automatische Erkennung von „LAN“ und „WAN“- Ports, aka „directionless routers“ ohne dafür ein Routing-Protokoll zu brauchen multihoming (nur) als active/backup (mit renumbering) service discovery / naming: multicast forwarding https://ripe66.ripe.net/presentations/115-HIPnet_RIPE66.pdf

9 SpaceNet AG Joseph-Dollinger-Bogen München – CableLabs / Hipnet RS? RA! up Router schickt auf allen(!) Ports Router Solicitations und DHCPv6-PD-Requests. Antwort bestimmt „up“-Port Bei mehreren Möglichkeiten entscheidet u.A. angebotene Präfix- Länge und Bandbreite RS? RA! Router-Solicitation und DHCPv6-PD- SOLICIT Router-Advertisement und DHCPv6 ADVERTISE

10 SpaceNet AG Joseph-Dollinger-Bogen München – CableLabs / Hipnet RS? RA! up RS? up RA! DHCPv6-PD RA! Sind mehrere „down“-Ports zusammen- geschaltet, sehen Clients RAs von allen Routern WiFi-Ports sind niemals Kandidaten für „up“-Port Hipnet-Ansatz erzeugt „eindeutige“ Topologie Prefix-Verteilung wieder mit DHCPv6-PD + RA RA!

11 SpaceNet AG Joseph-Dollinger-Bogen München – CableLaps / Hipnet Probleme mit dem „Hipnet“-Ansatz: kein wohldefinierter „Keepalive“-Mechanismus, um Router- Ausfall zu erkennen (active/backup) kein Update-Mechanismus für „neue Informationen“ könnte man über DHCPv6 „RECONFIGURE“ und kurze RA- Intervalle lösen nur active/backup multihoming primärer und sekundärer ISP-Router müssen sich „sehen“ (damit Backup-Router inaktiv wird) multi-level DHCPv6-PD führt zu starkem Verschnitt LANs mit mehreren Routern nicht arbitriert, d.h. Clients sehen mehrere Router und mehrere Prefixe Naming (mDNS) über Multicast-Forwarding. „Besser als nichts“, hat aber keine Conflict-Resolution („InkJet“ – ja, aber welcher?)

12 SpaceNet AG Joseph-Dollinger-Bogen München – Homenet Was ist „Homenet“? Working-Group der IETF, die sich genau mit der Frage beschäftigt „wie soll ein typisches Home-Netz zukünftig aussehen?“ auto-konfigurierend (Adressen & Naming) multihoming mit mehreren Providern keine Scheu vor „Routingprotokollen“ Fokus auf IPv6, Support von IPv4 „soweit möglich“

13 SpaceNet AG Joseph-Dollinger-Bogen München – Homenet: The Protocols zum ISP: RS/RA, DHCPv6-PD – „wie immer“ im Homenet: HNCP als „Information Flooding“-Protokoll (erste Entwürfe mit OSPFv3) verteilter Algorithmus für Prefix-Vergabe (/64) hybrid mDNS + DNS für „Naming“ Source/Destination-Address-Routing, entweder als Teil von HNCP, oder extern (Babels, OSPFv3, …) RA, DHCPv6 für Kommunikation mit Hosts – „wie immer“

14 SpaceNet AG Joseph-Dollinger-Bogen München – Homenet – single-homed ext RS? RA! Router-Solicitation, DHCPv4- und DHCPv6-PD- SOLICIT Router-Advertisement, DHCPv4 und/oder DHCPv6 ADVERTISE RS? RA! RS? Homenet-Router sind ebenfalls „directionless“ Ports, auf denen ein DHCPv4- oder -v6-Request (SOLICIT) beantwortet wird, sind EXTERN DHCP-Request von Homenet-Routern werden ignoriert(!) Ports mit (authentisierten*) HNCP-Neighbours sind INTERN auf internen Port werden RAs gesendet und DHCPv4/v6-Requests von Hosts beantwortet auf internen Ports werden RA ignoriert(!) auf externen Ports wird (ggf.) Firewall und IPv4-NAT aktiviert ext HNS HNCP NetworkState Update HNS DHCPv6-PD HNCP in sync Anders als bisher erfolgt Prefix-Verteilung im „Homenet“ nicht mehr über DHCPv6-PD... HNS

15 SpaceNet AG Joseph-Dollinger-Bogen München – DP Homenet – single-homed ext DHCPv6-PD Delegated Prefix: 2001:608:5:200::/56 DNS: 2001:608::2 RA! ISP weist Prefix (wie gehabt) per DHCPv6-PD zu im Homenet wird Prefix-Information an alle Router geflooded jeder Router wählt daraus ein zufälliges /64 pro Interface collision-check über flooding im Home-Net auf jedem Link vergibt nur ein Router (DR) ein Prefix sobald /64 vergeben ist, können Hosts per RA informiert werden Administrator darf statische /64-Prefixe vergeben AP R2 Assigned Prefix (Router R2) 2001:608:5:26d::/64 Jeder Router vergibt auf Basis der externen Prefix-Infos eigenständig /64s, keine Hierarchie RA! Router-Advertisement, DHCPv4 und/oder DHCPv6 ADVERTISE

16 SpaceNet AG Joseph-Dollinger-Bogen München – Homenet – HNCP im Detail Every router has a Router ID and a set of data in TLV form, building this routers's "NodeState" data set. For less computionally intensive comparison, a hash value of this NodeState data is built, H(R). this NodeData is data like "which neighbour routers exist on which link" (intrinsic to HNCP) or "which prefixes have been assigned by upstream routers" ("external" data used by protocols on top of HNCP) In steady state (synchronized): each router knows the NodeState for all other routers each router periodically publishes a "NetworkState Update" message, which consists of a hash of (all individual NodeState hashes). This update is sent by link-local multicast on all links. as every router has the same state, the NetworkState hash will be the same on every router, so comparison of "are we all in sync?" is very easy, just the hash needs to be compared If a router has new information (like: new prefix from upstream), it updates its NodeState data, increments its serial number, calculates a new hash H(R), and a new NetworkState hash. Then it sends the new H(H) value out each neighbour will notice that the hash values do no longer match, and request a detailed list of individual router hashes + serial numbers (NetworkState Request) by link-local unicast message by comparing hashes and serial numbers, the router will know which router has updated its data, and request an update for this router's data from the publishing neighbour (NodeData Request), again by link-local unicast message then, this newly updated router will update its local copy of the announcing router's NodeData with all new information, build a new NetworkState hash, and publish the new hash in a NetworkState Update multicast message the next neighbours "further down" in the network will now see the updated NetworkState hash, and come back querying for the updated NodeData. In other words: updated information is only flooded by means of a change in the NetworkState hash, and optionally NodeData hash, but the actual update is unicast-pulled by each neighbour who does not yet have it. The use of a NetworkState hash and serial numbers for each individual NodeData hash avoids the need to have a global "Network serial number“ and ACKed TLA updates etc. to get the network synchronized

17 SpaceNet AG Joseph-Dollinger-Bogen München – Homenet – multi-homed: Prefixe ext DHCPv6-PD RA! Router-Advertisement, DHCPv4 und/oder DHCPv6 ADVERTISE, Green ISP DHCPv6-PD RA! Delegated Prefix: 2001:470:721f::/52 DNS: 2001:470:20::2 DP Delegated Prefix, Blue ISP RA! 2001:608:5:26d::/ :470:721f:f78::/ / :608:5:2a1::/ :470:721f:5f1::/ /24 Jeder Link hat ein /64 von jedem Upstream-ISP (1x blau, 1x grün), dazu noch IPv4 und ggf. ULA

18 SpaceNet AG Joseph-Dollinger-Bogen München – Homenet – multi-homed: Routing ext default Default-Routing im Homenet muß (wegen ISP- Filter nach BCP38) abhängig von Source-IP sein default Default-Route default Default-Route für grüne Source-IPs Default-Route für blaue Source-IPs 2001:608:5:2a1::beef 2001:470:721f:5f1::babe PCs mit mehreren globalen IPv6-Adressen ISPs mit Source-Adress-Filter (Anti-Spoofing, BCP38) wie funktioniert Default-Routing?

19 SpaceNet AG Joseph-Dollinger-Bogen München – Homenet – multihomed (3) Multihoming in Homenet bedeutet: alle Devices haben mehrere globale IPv6-Adressen Router müssen Pakete Source-IP-abhängig forwarding für abgehende Verbindungen wählt jedes Gerät für jede Verbindung anhand der verwendeten Source-Adresse aus, über welchen ISP die Verbindung gehen soll Kontrolle beim End-User, nicht beim Router oder ISP session-survivability über shim6, sctp oder mp-tcp für eingehende Verbindung wird ISP über Ziel-Adresse gewählt (d.h. über DNS kontrollierbar) „das wird nie funktionieren!!“ (Anm. am Rande: das ist auch nur für Home-Netze gedacht)

20 SpaceNet AG Joseph-Dollinger-Bogen München – Multi-Address Multihoming geht nicht? zu kompliziert? verstehen die User nicht? Image taken from Mark Townsley‘s homenet talk at RIPE 67 and used with permission

21 SpaceNet AG Joseph-Dollinger-Bogen München – Multi-Address Multihoming Client wählt den zu verwendenden ISP über Source-Adresse  volle Kontrolle durch Benutzer, z.B. via Browser-Plugin

22 SpaceNet AG Joseph-Dollinger-Bogen München – Multi-Address Multihoming: missing pieces Für „nimm das, was am besten geht“: Source-Address-Failover bzw. Source-Address-Probing und – Caching („happy eyeballs 2“) ietf-mif-happy-eyeballs-extension Für „Anwendung X soll (nur) über ISP Y laufen“: eine einfach(!!) zu verwaltende globale Policy-Tabelle, mit der man seine Präferenz je nach Anwendung konfigurieren kann (vgl. iOS) einen Mechanismus, über den man an ein IPv6-Prefix ein Label kleben kann („SpaceNet“, „Telekom“) – z.B. via DHCPv6, via RA, oder via „well-defined lookups“ draft-lepape-6man-prefix-metadata, draft-korhonen-6man-prefix-properties, draft-bhandari-dhcp-class-based-prefix direkter API-Support in Anwendungen, die ihre User selbst fragen möchten („SpaceNet“, „HE.Net“, „beides versuchen“)

23 SpaceNet AG Joseph-Dollinger-Bogen München – Homenet – andere Aspekte Naming und Service Discovery mDNS + DNS „hybrid“ jeder Router lernt (und antwortet) via mDNS, steckt das Ergebnis in eine lokale DNS-Zone, die über HNCP bei allen anderen Routern delegiert wird lokaler DNS-Recursor kennt Namen und Zonen draft-stenberg-homenet-dnssd-hybrid-proxy-zeroconf draft-cheshire-mdnsext-hybrid Sicherheitsmodell mit „voll authentisierten“ Homenet-Routern (optional!) Anmeldung z.B. über „pairing mit Smartphone-Hilfe“ HNCP sieht cryptographisch starke Hashes und Signaturen bereits vor draft-behringer-homenet-trust-bootstrap Interaktion mit Hipnet- oder RFC7084-CPEs Homenet-Router bieten DHCPv6-PD und DHCPv4 für Downstream-Router Service-Discovery und „Homenet hinter RFC7084“ sind „schwierig“ draft-winters-homenet-sper-interaction

24 SpaceNet AG Joseph-Dollinger-Bogen München – Homenet – Implementationen? Beispielimplementation auf Basis von OpenWRT install OpenWRT „trunk“ # opkg update && opkg install hnet-full # vi /etc/config/network config interface ´hlan´ option interface ´eth1´ option proto ´hnet´ config interface ´hwan´ option interface ´eth0´ option proto ´hnet´ # /etc/init.d/network reload

25 SpaceNet AG Joseph-Dollinger-Bogen München – Homenet - Testnetz Testplattform: OpenWRT „barrier breaker“ (trunk r40576), vom TP-Link tl-1043nd v2 TP-Link tl-wdr3600 3x TP-Link tl-wdr3600 Blue ISP: Cisco 1841 mit HE.Net-Tunnel Green ISP: SpaceNet

26 SpaceNet AG Joseph-Dollinger-Bogen München – Homenet - Testnetz IP-Adress-Distribution für blaues und grünes IPv6-Prefix (und IPv4) funktioniert! ip addr show 2: eth0: („WAN“) inet /29 brd inet6 2001:470:721f:ffff:12fe:edff:fee6:5f33/64 3: eth1: („LAN“) inet /24 brd inet6 2001:608:5:24f:12fe:edff:fee6:5f32/64 inet6 2001:470:721f:9a4:12fe:edff:fee6:5f32/64 ip addr show 2: eth0: inet6 2001:608:5:2a1:21e:33ff:fe28:9069/64 valid_lft 2866sec preferred_lft 1062sec inet6 2001:470:721f:5f1:21e:33ff:fe28:9069/64 valid_lft 3505sec preferred_lft 1703sec inet /24 brd

27 SpaceNet AG Joseph-Dollinger-Bogen München – Homenet - Testnetz ip -6 route |grep def default from :: via fe80::21e:f7ff:fe38:afd5 dev eth0 default from 2001:470:721f::/52 via fe80::21e:f7ff:fe38:afd5 dev eth0 default from 2001:470:721f:ffff::/64 via fe80::21e:f7ff:fe38:afd5 dev eth0 default from 2001:608:5:200::/56 via fe80::c24a:ff:febe:77f2 dev eth1 ip -6 route default from :: via fe80::c24a:ff:febe:77f2 dev eth0.2 default from 2001:470:721f::/52 via fe80::c24a:ff:febe:77f2 dev eth0.2 default from 2001:470:721f:ffff::/64 via fe80::c24a:ff:febe:77f2 dev eth0.2 default from 2001:608:0:62::/64 via fe80::c24a:ff:febe:77f2 dev eth0.2 default from 2001:608:5:200::/56 via fe80::c24a:ff:febe:77f2 dev eth :470:721f:e5::/64 dev eth :470:721f:5f1::/64 dev eth :470:721f:664::/64 via fe80::c24a:ff:febe:7860 dev eth :470:721f:69f::/64 via fe80::c24a:ff:febe:7860 dev eth :470:721f:7a2::/64 dev eth :470:721f:9a4::/64 via fe80::c24a:ff:febe:77f2 dev eth :470:721f:c31::/64 via fe80::c24a:ff:febe:77f2 dev eth :470:721f:eef::/64 via fe80::c24a:ff:febe:77f2 dev eth :470:721f:f15::/64 via fe80::c24a:ff:febe:7860 dev eth :470:721f:f78::/64 via fe80::c24a:ff:febe:7860 dev eth0.1 unreachable 2001:470:721f::/52 dev lo 2001:608:5:23c::/64 dev eth :608:5:24f::/64 via fe80::c24a:ff:febe:77f2 dev eth :608:5:26d::/64 via fe80::c24a:ff:febe:7860 dev eth :608:5:26e::/64 via fe80::c24a:ff:febe:77f2 dev eth :608:5:2a1::/64 dev eth :608:5:2a7::/64 dev eth :608:5:2ab::/64 via fe80::c24a:ff:febe:7860 dev eth :608:5:2bd::/64 via fe80::c24a:ff:febe:7860 dev eth :608:5:2ce::/64 via fe80::c24a:ff:febe:77f2 dev eth :608:5:2f4::/64 via fe80::c24a:ff:febe:7860 dev eth0.1 unreachable 2001:608:5:200::/56 dev lo fe80::/64 dev eth0.1 fe80::/64 dev eth0.2 fe80::/64 dev eth0.3 ip -6 route |grep def default from :: via fe80::214:1cff:fed2:30c0 dev eth0.2 default from 2001:470:721f::/52 via fe80::12fe:edff:fee6:5f32 dev eth0.1 default from 2001:470:721f:ffff::/64 via fe80::12fe:edff:fee6:5f32 dev eth0.1 default from 2001:608:0:62::/64 via fe80::214:1cff:fed2:30c0 dev eth0.2 default from 2001:608:5:200::/56 via fe80::214:1cff:fed2:30c0 dev eth0.2 ip -6 route |grep def default from :: via fe80::c24a:ff:febe:77f2 dev eth0.5 default from 2001:470:721f::/52 via fe80::c24a:ff:febe:77f2 dev eth0.5 default from 2001:470:721f:ffff::/64 via fe80::c24a:ff:febe:77f2 dev eth0.5 default from 2001:608:0:62::/64 via fe80::c24a:ff:febe:77f2 dev eth0.5 default from 2001:608:5:200::/56 via fe80::c24a:ff:febe:77f2 dev eth0.5 Routing im Homenet abhängig von Ziel und Source-Adresse des Pakets

28 SpaceNet AG Joseph-Dollinger-Bogen München – Homenet - Testnetz Routing im Homenet abhängig von Ziel und Source-Adresse des Pakets traceroute to from 2001:608:5:2a1:21e:33ff:fe28: R3.eth0_1.R3.home (2001:608:5:2a1:c24a:ff:fe38:ecba) 2 GreenISPRouter.eth0_3.GreenISPRouter.home (2001:608:5:2ce:c24a:ff:febe:77f2) 3 Cisco-M-Vlan62.Space.Net (2001:608:0:62::ffff) 4 Cisco-M-XVI-Vlan11.Space.Net (2001:608:0:11::111) 5 Cisco-M-LI-Te1-1-v23.Space.Net (2001:608:0:e77::229) 6 Cisco-F-VI-Te1-5.Space.Net (2001:67c:158c:1::10) 7 te c150.f.de.plusline.net (2001:7f8::3012:0:1) 8 te7-2.c101.f.de.plusline.net (2a02:2e0:12:19::101) 9 2a02:2e0:3fe:ff21:c::2 (2a02:2e0:3fe:ff21:c::2) 10 2a02:2e0:3fe:ff21:c::2 (2a02:2e0:3fe:ff21:c::2) default Pakete „ins Internet“ laufen entweder nach rechts zum GreenISP oder nach oben zum BlueISPRouter, je nach Source-Adresse traceroute to from 2001:470:721f:5f1:21e:33ff:fe28: R3.eth0_1.R3.home (2001:470:721f:5f1:c24a:ff:fe38:ecba) 2 GreenISPRouter.eth0_5.R2.home (2001:470:721f:c31:c24a:ff:febe:77f2) 3 BlueISPRouter.eth1.BlueISPRouter.home (2001:470:721f:9a4:12fe:edff:fee6:5f32) :470:721f:ffff::ffff (2001:470:721f:ffff::ffff) 5 cron2-1.tunnel.tserv6.fra1.ipv6.he.net (2001:470:1f0a:ae6::1) 6 v399.core1.fra1.he.net (2001:470:0:69::1) 7 te c150.f.de.plusline.net (2001:7f8::3012:0:1) 8 te1-3.c102.f.de.plusline.net (2a02:2e0:12:20::102) 9 2a02:2e0:3fe:ff12:c::1 (2a02:2e0:3fe:ff12:c::1) 10 2a02:2e0:3fe:ff12:c::1 (2a02:2e0:3fe:ff12:c::1) default

29 SpaceNet AG Joseph-Dollinger-Bogen München – Letzte Worte „Heim-Netze mit mehr als einem Router“ existieren, und werden in Zukunft eher häufiger anzutreffen sein die existierenden Lösungen (RFC7084- und Hipnet- CPEs) sind nicht allgemein genug einsetzbar die Homenet-Architektur ist zwar noch relativ jung, überzeugt aber bereits durch „running code“ wichtig ist im nächsten Schritt die Akzeptanz und Implementierung durch „normale“ Router-Hersteller... und die IPv6-Experten sollten aufhören, Lösungen mit „einem Routingprotokoll im Heim-Netz“ als „das wird nie was“ totzureden... dann wird‘s auch was

30 SpaceNet AG Joseph-Dollinger-Bogen München – Referenzen Homenet: draft-stenberg-homenet-hncp-00.txt draft-pfister-homenet-prefix-assignment-00.txt draft-stenberg-homenet-dnssd-hybrid-proxy-zeroconf-00.txt draft-kline-homenet-default-perimeter-00.txt draft-ietf-mif-happy-eyeballs-extension-04.txt draft-v6ops-ipv6-multihoming-without-ipv6nat-06.txt  RFC Implementation (für OpenWRT) Hipnet: https://ripe66.ripe.net/presentations/115-HIPnet_RIPE66.pdf

31 SpaceNet AG Joseph-Dollinger-Bogen München – Finis Noch Fragen? Jederzeit gerne an die SpaceNet AG… Internet Service Provider seit 1994 Ihr Partner für komplexe Hosting-Lösungen IPv6-Erfahrung seit (natürlich mit IPv6!)


Herunterladen ppt "SpaceNet AG Joseph-Dollinger-Bogen 14 80807 München – Homenet multi-Router, multi-ISP – automagisch! Gert Döring, SpaceNet AG, München."

Ähnliche Präsentationen


Google-Anzeigen