{"id":1358,"date":"2009-03-16T08:33:56","date_gmt":"2009-03-16T07:33:56","guid":{"rendered":"http:\/\/security-planet.de\/?p=1358"},"modified":"2009-03-16T08:33:56","modified_gmt":"2009-03-16T07:33:56","slug":"die-ospf-prozess-id-beim-pe-ce-routing","status":"publish","type":"post","link":"https:\/\/cyber-fi.net\/index.php\/2009\/03\/16\/die-ospf-prozess-id-beim-pe-ce-routing\/","title":{"rendered":"Die OSPF Prozess ID beim PE-CE-Routing"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-643\" title=\"router\" src=\"https:\/\/blog.iwen.de\/wp-content\/uploads\/2008\/12\/router.png\" alt=\"router\" width=\"70\" height=\"49\" \/><br \/>\nWenn OSPF als IGP in einem Netz konfiguriert wird, ist die Prozess-ID nur lokal signifikant. Es ist keine AS-Nummer wie bei EIGRP, und daher funktioniert folgende Konfiguration ohne Probleme:<\/p>\n<pre><code>hostname R1\nrouter ospf 10\n network 10.10.10.1 0.0.0.0 area 0\n\nhostname R2\nrouter ospf 20\n network 10.10.10.2 0.0.0.0 area 0<\/code><\/pre>\n<p>Etwas anders verh\u00e4lt sich die Sache aber, wenn man OSPF als PE-CE-Routing-Protokoll einsetzt. In den original Kursunterlagen zum Kurs &#8220;Implementing Cisco MPLS&#8221; kann man folgendes zum Thema nachlesen:<\/p>\n<blockquote><p><em>process-id<\/em>: Internally used identification parameter for an OSPF routing process.<br \/>\nThis parameter is locally assigned and can be any positive integer. A unique value is assigned for each OSPF routing process.<\/p><\/blockquote>\n<p>Wenn man seine PE-Router aber so konfiguriert, bekommt man nicht das erwartete Ergebnis.<br \/>\nUm das zu verdeutlichen, habe ich die <a href=\"http:\/\/security-planet.de\/2009\/02\/22\/training-implementing-cisco-mpls\/\">Konfiguration des MPLS-Kurses<\/a> verwendet:<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1363\" title=\"pe-ce-ospf\" src=\"https:\/\/blog.iwen.de\/wp-content\/uploads\/2009\/03\/pe-ce-ospf.png\" alt=\"pe-ce-ospf\" width=\"624\" height=\"422\" srcset=\"https:\/\/cyber-fi.net\/wp-content\/uploads\/2009\/03\/pe-ce-ospf.png 624w, https:\/\/cyber-fi.net\/wp-content\/uploads\/2009\/03\/pe-ce-ospf-300x203.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><br \/>\nDie (relevante) Konfiguration des CE11A:<\/p>\n<pre><code>router ospf 5\n network 10.1.11.17 0.0.0.0 area 0\n network 150.1.11.17 0.0.0.0 area 0\n<\/code><\/pre>\n<p>Die (relevante) Konfiguration des CE12A:<\/p>\n<pre><code>router ospf 6\n network 10.1.12.17 0.0.0.0 area 0\n network 150.1.12.17 0.0.0.0 area 0\n<\/code><\/pre>\n<p>Die (relevante) Konfiguration des PE11:<\/p>\n<pre><code>router ospf 10 vrf CUST-A\n redistribute bgp 65001 subnets\n network 150.1.11.18 0.0.0.0 area 0<\/code><\/pre>\n<p>Die (relevante) Konfiguration des PE12:<\/p>\n<pre><code>router ospf 20 vrf CUST-A\n redistribute bgp 65001 subnets\n network 150.1.12.18 0.0.0.0 area 0\n<\/code><\/pre>\n<p>Wie man sieht, sind alle Prozess-IDs unterschiedlich, was innerhalb eines AS kein Problem darstellen w\u00fcrde.<br \/>\nWenn man sich die Routing-Tabelle der CE-Router anschaut, zeigt sich aber folgendes Problem:<\/p>\n<pre><code>CE11A#sh ip route ospf\n     10.0.0.0\/8 is variably subnetted, 5 subnets, 3 masks\nO E2    10.1.12.16\/28 [110\/65] via 150.1.11.18, 00:26:01, Serial1\/0.101\n     150.1.0.0\/28 is subnetted, 2 subnets\nO E2    150.1.12.16 [110\/1] via 150.1.11.18, 00:26:01, Serial1\/0.101\n<\/code><\/pre>\n<p>Die Routen werden als External gelernt, anstelle als Inter-Area-Routen, wie es sein sollte.<\/p>\n<p>Eine M\u00f6glichkeit, das Problem zu l\u00f6sen, ist, f\u00fcr jeden Kunden dieselbe Prozess-ID zu benutzen.<br \/>\nEs geht aber auch anders. Innerhalb des PE-OSPF-Prozesses kann die <code>domain-id<\/code> spezifiziert werden. Wenn diese auf den PE-Routern f\u00fcr jeden Kunden identisch ist, werden die Routen wie gew\u00fcnscht als IA gelernt.<br \/>\nDie PE12-Konfig wird folgenderma\u00dfen angepa\u00dft:<\/p>\n<pre><code>router ospf 20 vrf CUST-A\n domain-id 0.0.0.10\n redistribute bgp 65001 subnets\n network 150.1.12.18 0.0.0.0 area 0<\/code><\/pre>\n<p>Jetzt passt die Routing-Tabelle auf CE11A:<\/p>\n<pre><code>CE11A#sh ip route ospf\n     10.0.0.0\/8 is variably subnetted, 5 subnets, 3 masks\nO IA    10.1.12.16\/28 [110\/129] via 150.1.11.18, 00:00:35, Serial1\/0.101\n     150.1.0.0\/28 is subnetted, 2 subnets\nO IA    150.1.12.16 [110\/65] via 150.1.11.18, 00:00:35, Serial1\/0.101\n<\/code><\/pre>\n<p>Warum das Ganze? Aus der Prozess-ID wird der Domain-Identifier abgeleitet und standardm\u00e4\u00dfig als extended Community Wert 0005 \u00fcbertragen (beschrieben im <a href=\"http:\/\/www.ietf.org\/rfc\/rfc4577.txt\">RFC 4577<\/a>).<br \/>\nDie Domain ID des PE11 kommt also bei PE12 an (ich habe &#8220;Extended Community&#8221; gegen &#8220;ExtCom&#8221; abgek\u00fcrzt, damit es lesbar bleibt):<\/p>\n<pre><code>PE12#sh ip bgp vpnv4 all 10.1.11.16\nBGP routing table entry for 65001:10:10.1.11.16\/28, version 44\nPaths: (1 available, best #1, table CUST-A)\n  Not advertised to any peer\n  Local\n    192.168.1.17 (metric 193) from 192.168.1.17 (192.168.1.17)\n      Origin incomplete, metric 65, localpref 100, valid, internal, best\n      ExtCom: RT:65001:10 OSPF DOMAIN ID:0x0005:0x0000000A0200\n        OSPF RT:0.0.0.0:2:0 OSPF ROUTER ID:150.1.11.18:0\n      mpls labels in\/out nolabel\/11107<\/code><\/pre>\n<p>Die &#8220;0A&#8221; ist in diesem Fall die hexadezimale Form der &#8220;10&#8221;, die auf PE11 konfiguriert ist. Wenn auf PE11 <code>domain-id 11.12.13.14<\/code> konfiguriert w\u00e4re, k\u00e4me bei PE12 folgendes an: <code>OSPF DOMAIN ID:0x0005:0x0B0C0D0E0200<\/code><\/p>\n<p>Der Standard sieht jetzt vor, da\u00df eine Route mit abweichender Domain-ID als External importiert wird. Ist die Domain-ID hingegen identisch, wird sie als Inter-Area-Route importiert. Die ganze Sache kann aber noch dadurch erweitert werden, da\u00df es mehr als eine Domain-ID geben kann.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wenn OSPF als IGP in einem Netz konfiguriert wird, ist die Prozess-ID nur lokal signifikant. Es ist keine AS-Nummer wie bei EIGRP, und daher funktioniert folgende Konfiguration ohne Probleme: hostname R1 router ospf 10 network 10.10.10.1 0.0.0.0 area 0 hostname R2 router ospf 20 network 10.10.10.2 0.0.0.0 area 0 Etwas anders verh\u00e4lt sich die Sache <\/p>\n<div class=\"read-more-text\"><a href=\"https:\/\/cyber-fi.net\/index.php\/2009\/03\/16\/die-ospf-prozess-id-beim-pe-ce-routing\/\" class=\"read-more\">continue reading<\/a><\/div>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"twitterCardType":"","cardImageID":0,"cardImage":"","cardTitle":"","cardDesc":"","cardImageAlt":"","cardPlayer":"","cardPlayerWidth":0,"cardPlayerHeight":0,"cardPlayerStream":"","cardPlayerCodec":"","footnotes":""},"categories":[5],"tags":[358,417,453],"class_list":["post-1358","post","type-post","status-publish","format-standard","hentry","category-cisco","tag-konfiguration","tag-mpls","tag-ospf"],"_links":{"self":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts\/1358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/comments?post=1358"}],"version-history":[{"count":0,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts\/1358\/revisions"}],"wp:attachment":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/media?parent=1358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/categories?post=1358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/tags?post=1358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}