{"id":3735,"date":"2011-04-15T10:19:57","date_gmt":"2011-04-15T08:19:57","guid":{"rendered":"http:\/\/security-planet.de\/?p=3735"},"modified":"2011-04-15T10:19:57","modified_gmt":"2011-04-15T08:19:57","slug":"ethernet-bridging-uber-mpls","status":"publish","type":"post","link":"https:\/\/cyber-fi.net\/index.php\/2011\/04\/15\/ethernet-bridging-uber-mpls\/","title":{"rendered":"Ethernet-Bridging \u00fcber MPLS"},"content":{"rendered":"<p>Der Cisco MPLS-Kurs ist zwar im gro\u00dfen und ganzen recht &#8220;rund&#8221;, beschr\u00e4nkt sich aber fast ausschlie\u00dflich auf MPLS-VPNs f\u00fcr IPv4. Das man auch andere Protokolle transportieren kann ist nur am Rande erw\u00e4hnt. Daf\u00fcr habe ich hier ein kleines Beispiel wie man mit AToM (AnyTransport over MPLS) zwei Standorte per Bridging \u00fcber das MPLS verbindet:<br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.iwen.de\/wp-content\/uploads\/2011\/04\/mpls.png\" alt=\"\" title=\"MPLS-Szenario\" width=\"606\" height=\"340\" class=\"aligncenter size-full wp-image-3749\" srcset=\"https:\/\/cyber-fi.net\/wp-content\/uploads\/2011\/04\/mpls.png 606w, https:\/\/cyber-fi.net\/wp-content\/uploads\/2011\/04\/mpls-300x168.png 300w\" sizes=\"auto, (max-width: 606px) 100vw, 606px\" \/><br \/>\nAls Router kommen mal wieder 7200er (im GNS3) mit IOS 15.0(1)M4 zum Einsatz:<\/p>\n<pre>Cisco IOS Software, 7200 Software (C7200-ADVIPSERVICESK9-M), Version 15.0(1)M4, RELEASE SOFTWARE (fc1)<\/pre>\n<p>Die fa0\/0-Interfaces der Router C1 und C2 sollen sich dabei in einem IP-Netz (hier in einem IPv6-Netz) befinden und sich ohne eine Routing-Instanz erreichen k\u00f6nnen.<\/p>\n<pre>hostname C1\n!\ninterface FastEthernet0\/0\n description Link zum CE1\n no ip address\n ipv6 address 2001:DB8:1111::1\/64<\/pre>\n<pre>hostname C2\n!\ninterface FastEthernet0\/0\n description Link zum CE2\n no ip address\n ipv6 address 2001:DB8:1111::2\/64<\/pre>\n<p>Die CE-Router m\u00fcssen daf\u00fcr IPv6 transparent bridgen. Das kann \u00fcber eine traditionelle Bridge-Group erreicht werden:<\/p>\n<pre>bridge irb\n!         \ninterface FastEthernet0\/0\n description Link zum C1\n no ip address\n bridge-group 1\n!         \ninterface FastEthernet0\/1\n description Link zum PE1\n no ip address\n bridge-group 1\n!\nbridge 1 protocol ieee<\/pre>\n<p>Die PE-Router haben eine normale MPLS-Konfiguration, verwenden aber f\u00fcr AToM keine MPLS-VPNs, sondern sogenannte &#8220;<a href=\"http:\/\/tools.ietf.org\/html\/rfc4447\">Pseudo-Wires<\/a>&#8220;. Daher werden auch keine VRF- oder BGP-Instanzen ben\u00f6tigt. Das ist im einfachsten Fall wie ein virtuelles Kabel zwischen zwei PE-Routern zu verstehen. Die Pseudo-Wires werden mit dem Befehl xconnect zwischen den Loopback-Adressen der PE-Router konfiguriert:<\/p>\n<pre>hostname PE1\n!\ninterface Loopback0\n ip address 10.10.10.1 255.255.255.255\n ip ospf 1 area 0\n!\ninterface FastEthernet0\/1\n description Link zum CE1\n no ip address\n xconnect 10.10.10.2 100 encapsulation mpls\n!<\/pre>\n<p>Auf dem PE 1 wird also ein Pseudowire mit der Virtual Circuit-ID von 100 vom aktuellen Router zur Loopback des PE2 (10.10.10.2) aufgebaut. Der Transport l\u00e4uft \u00fcber das schon vorhandene MPLS.<br \/>\nDa diese Pseudo-Wire unidirektional arbeiten, wird das gleiche auch auf dem PE2 konfiguriert:<\/p>\n<pre>hostname PE2\n!\ninterface Loopback0\n ip address 10.10.10.2 255.255.255.255\n ip ospf 1 area 0\n!\ninterface FastEthernet0\/1\n description Link zum CE2\n no ip address\n xconnect 10.10.10.1 100 encapsulation mpls\n!<\/pre>\n<p>Die PE-Router verwenden f\u00fcr den Austausch des VC-Labels eine gerichtete LDP-Sitzung:<\/p>\n<pre>PE1#sh mpls ldp neighbor 10.10.10.2\n    Peer LDP Ident: 10.10.10.2:0; Local LDP Ident 10.10.10.1:0\n\tTCP connection: 10.10.10.2.45592 - 10.10.10.1.646\n\tState: Oper; Msgs sent\/rcvd: 117\/118; Downstream\n\tUp time: 01:33:43\n\tLDP discovery sources:\n\t  Targeted Hello 10.10.10.1 -&gt; 10.10.10.2, active, passive\n        Addresses bound to peer LDP Ident:\n          10.10.2.1       10.10.10.2      \n<\/pre>\n<p>In meinem Setup hat der PE1 dem PE2 ein VC-Label von 1100 angek\u00fcndigt, und ein VC-Label von 1200 erhalten:<\/p>\n<pre>PE1#sh mpls l2transport binding \n  Destination Address: 10.10.10.2,  VC ID: 100\n    Local Label:  1100\n        Cbit: 1,    VC Type: Ethernet,    GroupID: 0\n        MTU: 1500,   Interface Desc: Link zum CE1\n        VCCV: CC Type: CW [1], RA [2]\n              CV Type: LSPV [2]\n    Remote Label: 1200\n        Cbit: 1,    VC Type: Ethernet,    GroupID: 0\n        MTU: 1500,   Interface Desc: Link zum CE2\n        VCCV: CC Type: CW [1], RA [2]\n              CV Type: LSPV [2]<\/pre>\n<p>Die Eigenschaften des Virtual Circuits:<\/p>\n<pre>PE1#sh mpls l2transport vc \n\nLocal intf     Local circuit              Dest address    VC ID      Status    \n-------------  -------------------------- --------------- ---------- ----------\nFa0\/1          Ethernet                   10.10.10.2      100        UP        \n\nPE1#\nPE1#\nPE1#sh mpls l2transport vc 100 detail       \nLocal interface: Fa0\/1 up, line protocol up, Ethernet up\n  Destination address: 10.10.10.2, VC ID: 100, VC status: up\n    Output interface: Se1\/0, imposed label stack {1000 1200}\n    Preferred path: not configured  \n    Default path: active\n    Next hop: point2point\n  Create time: 00:10:27, last status change time: 00:09:58\n  Signaling protocol: LDP, peer 10.10.10.2:0 up\n    Targeted Hello: 10.10.10.1(LDP Id) -&gt; 10.10.10.2\n    Status TLV support (local\/remote)   : enabled\/supported\n      Label\/status state machine        : established, LruRru\n      Last local dataplane   status rcvd: no fault\n      Last local SSS circuit status rcvd: no fault\n      Last local SSS circuit status sent: no fault\n      Last local  LDP TLV    status sent: no fault\n      Last remote LDP TLV    status rcvd: no fault\n    MPLS VC labels: local 1100, remote 1200 \n    Group ID: local 0, remote 0\n    MTU: local 1500, remote 1500\n    Remote interface description: Link zum CE2\n  Sequencing: receive disabled, send disabled\n  VC statistics:\n    packet totals: receive 377, send 76\n    byte totals:   receive 25754, send 8835\n    packet drops:  receive 0, seq error 0, send 0<\/pre>\n<p>Nachdem alles konfiguriert wurde kann die Verbindung getestet werden:<\/p>\n<pre>C1#ping ipv6 2001:DB8:1111::2 repeat 1\n\nType escape sequence to abort.\nSending 1, 100-byte ICMP Echos to 2001:DB8:1111::2, timeout is 2 seconds:\n!\nSuccess rate is 100 percent (1\/1), round-trip min\/avg\/max = 36\/36\/36 ms\nC1#\n<\/pre>\n<pre>C2#\n*Apr 12 14:59:25.659: ICMPv6: Received echo request, Src=2001:DB8:1111::1, Dst=2001:DB8:1111::2\n*Apr 12 14:59:25.663: ICMPv6: Sent echo reply, Src=2001:DB8:1111::2, Dst=2001:DB8:1111::1\nC2#\n<\/pre>\n<p>Im Capture auf dem Link zwischen PE1 und PE kann man die zwei Label und den dar\u00fcber transportierten Ethernet-Frame sehen:<\/p>\n<pre>No.     Time        Source                Destination           Protocol Info\n    299 146.171341  2001:db8:1111::1      2001:db8:1111::2      ICMPv6   Echo (ping) request id=0x0fc4, seq=0\n\nFrame 299: 130 bytes on wire (1040 bits), 130 bytes captured (1040 bits)\nCisco HDLC\nMultiProtocol Label Switching Header, Label: 1000, Exp: 0, S: 0, TTL: 255\nMultiProtocol Label Switching Header, Label: 1200, Exp: 0, S: 1, TTL: 255\nPW Ethernet Control Word\nEthernet II, Src: ca:05:ac:17:00:08 (ca:05:ac:17:00:08), Dst: ca:06:ac:18:00:08 (ca:06:ac:18:00:08)\nInternet Protocol Version 6, Src: 2001:db8:1111::1 (2001:db8:1111::1), Dst: 2001:db8:1111::2 (2001:db8:1111::2)\nInternet Control Message Protocol v6\n<\/pre>\n<p>Das \u00e4u\u00dfere Label (1000) ist das vom P-Router generierte Transport-Label zum PE2, das innere Label (1200) ist das vom PE2 generierte VC-Label.<\/p>\n<p>Bleibt zu kl\u00e4ren, warum ich bei diesem Beispiel entgegen meiner fr\u00fcheren Ank\u00fcndigung das SP-Netz mit IPv4 anstelle IPv6 aufgebaut habe. Das liegt daran, das LDP noch nicht \u00fcber IPv6 laufen kann.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der Cisco MPLS-Kurs ist zwar im gro\u00dfen und ganzen recht &#8220;rund&#8221;, beschr\u00e4nkt sich aber fast ausschlie\u00dflich auf MPLS-VPNs f\u00fcr IPv4. Das man auch andere Protokolle transportieren kann ist nur am Rande erw\u00e4hnt. Daf\u00fcr habe ich hier ein kleines Beispiel wie man mit AToM (AnyTransport over MPLS) zwei Standorte per Bridging \u00fcber das MPLS verbindet: Als <\/p>\n<div class=\"read-more-text\"><a href=\"https:\/\/cyber-fi.net\/index.php\/2011\/04\/15\/ethernet-bridging-uber-mpls\/\" 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,8],"tags":[80,358,417],"class_list":["post-3735","post","type-post","status-publish","format-standard","hentry","category-cisco","category-cisco-training","tag-atom","tag-konfiguration","tag-mpls"],"_links":{"self":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts\/3735","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=3735"}],"version-history":[{"count":0,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/posts\/3735\/revisions"}],"wp:attachment":[{"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/media?parent=3735"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/categories?post=3735"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cyber-fi.net\/index.php\/wp-json\/wp\/v2\/tags?post=3735"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}