1 / 35

AYAME を distix に繋ぐために

AYAME を distix に繋ぐために. AYAME. BSD ネットワークスタックのための MPLS 実装及びデザイン. AYAME 箱 for distix. I386 PC Network interface ATM Efficient Networks, Inc. ENI-155 Adaptec 5900 5905 5940 GbE Alteon ベースのインターフェースカード Netgear GA620 Netgear GA620T

zan
Download Presentation

AYAME を distix に繋ぐために

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AYAMEをdistixに繋ぐために

  2. AYAME • BSD ネットワークスタックのための MPLS 実装及びデザイン

  3. AYAME箱 for distix • I386 PC • Network interface • ATM • Efficient Networks, Inc. ENI-155 • Adaptec 5900 5905 5940 • GbE • Alteonベースのインターフェースカード • Netgear GA620 • Netgear GA620T • NS83820ベースの1000BTカード(patchがAYAME web pageより取得可能) • Netgear GA622 • NetBSD-1.5.2 release • AYAME source • http://www.ayame.org/

  4. distixに繋ぐまで • AYAME install • zebra(経路制御モジュール)の起動 • ayamed(カーネルインターフェイスモジュール)の起動 • ldpd(ラベル制御モジュール)の起動 • LSP確認 • bgp on MPLS

  5. AYAME install • Webページにあるインストールマニュアル(http://www.ayame.org/product.php#manuals)を参照のこと • 今回の説明は次回リリースに関するもの • 現リリース(0.1)とldpd UIが若干違う

  6. distixに繋ぐまで • AYAME install • zebra(経路制御モジュール)の起動 • ayamed(カーネルインターフェイスモジュール)の起動 • ldpd(ラベル制御モジュール)の起動 • LSP確認 • bgp on MPLS

  7. zebraの設定 • zebraを通じてL3での経路制御を行う • /usr/ayame/etc/zebra.confを編集し、staticな経路をあらかじめ設定しておく • /usr/ayame/etc/zebra.conf.sampleを参照

  8. zebra.conf(1/3) • Staticなrouteを設定 • ip route XXX.XXX.XXX.XXX/32 YYY.YYY.YYY.YYY 15(>10)      (bgpピアを張る相手)   (distix core router) • 経路のDistance valueは10よりも大きい値を用いる • AYAMEがMPLS経路に用いる値は10 • Distance valueを指定せずにrouteを設定すると、1がDistance valueとして設定される(10よりも優先度が高い)ためMPLSでの転送が行われなくなる

  9. zebra.conf(2/3) • 自分のアドレスに対する経路を設定 • ip route <interface addr>/32 <loopback addr> • distix core routerに向けて自分のインターフェイスアドレスに対するラベルマッピング情報を送信するため(distixの仕様として送信する必要がある) • AYAMEは経路テーブルにあるアドレスに関するラベル情報を送信するので、特に自分のアドレスに対する経路を設定する必要がある Example) ip route 192.41.187.14/32 192.41.184.195

  10. zebra.conf(3/3) Example) ip route 192.41.184.8/32 192.41.187.13 15 ip route 192.41.184.9/32 192.41.187.13 15 ip route 192.41.184.192/32 192.41.187.13 15 ip route 192.41.186.58/32 192.41.187.13 15 ip route 192.41.186.254/32 192.41.187.13 15 ip route 192.41.187.2/32 192.41.187.13 15 ip route 192.41.187.14/32 192.41.184.195< loopback addr ip route 192.41.187.58/32 192.41.187.13 15

  11. zebraの起動 • AYAME patchの適用されたzebraを起動 • $ /usr/ayame/sbin/zebra -d • L3での疎通確認 • ping等

  12. distixに繋ぐまで • AYAME install • zebra(経路制御モジュール)の起動 • ayamed(カーネルインターフェイスモジュール)の起動 • ldpd(ラベル制御モジュール)の起動 • LSP確認 • bgp on MPLS

  13. ayamedの起動 • 特別な設定は必要無し • /usr/ayame/sbin/ayamedを起動 • /var/log/ayamed.logにログが記録される

  14. distixに繋ぐまで • AYAME install • zebra(経路制御モジュール)の起動 • ayamed(カーネルインターフェイスモジュール)の起動 • ldpd(ラベル制御モジュール)の起動 • LSP確認 • bgp on MPLS

  15. ldpdの設定 • /usr/ayame/etc/ldpd.confに設定を記述 • /usr/ayame/etc/ldpd.conf.sampleを参照

  16. ldpd.conf • ldp routerid と ldp interfaceを設定 • distixの場合ldp routeridはloopback addressを設定Example)ldp routerid 192.168.1.1ldp interface 192.168.1.1 UNSOLICITED 5 15 192.168.1.1ldp interface 192.168.2.1 UNSOLICITED 5 15 192.168.2.1…

  17. ldpdの起動 • /usr/ayame/sbin/ldpdを起動 • /var/log/ldpd.logにログが記録される • LDPによるラベル情報の交換により、LSPが構築される

  18. ldpd session確認 $ telnet localhost 10646 > show ldp status ================================================================================ LDPd Status: -------------------------------------------------------------------------------- Number of temporary session sockets is [0]. HELLO senders: HS Local LDPID TransptAddress TargetAddress HIntvl DIntvl RFlag -- ------------------ --------------- --------------- ------ ------ ----- 1 192.168.1.2:00 192.168.1.2 0.0.0.0 5 15 OFF Hello Adjacencies: HA LDPID TransptAddress HT CSN EXD TM --- ------------------ --------------- -- --- --- -- 1 150.65.117.95:00 192.168.1.1 15 0 NO 14 LDP Sessions: LS Local LDPID Peer LDPID St Ro Recv Send BT HT KT ---- ------------------ ------------------ -- -- ---- ---- -- -- -- 1 192.168.1.2:00 192.168.1.1:00 OP AC 7 11 30 55 3

  19. distixに繋ぐまで • AYAME install • zebra(経路制御モジュール)の起動 • ayamed(カーネルインターフェイスモジュール)の起動 • ldpd(ラベル制御モジュール)の起動 • LSP確認 • bgp on MPLS

  20. LSP確認(1/2) • Zebra (telnet localhost 2601) > show ip route Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, B - BGP, M - MPLS, > - selected route, * - FIB route K * 127.0.0.0/8 via 127.0.0.1 inactive C>* 127.0.0.0/8 is directly connected, lo0 R>* 150.65.0.0/16 [120/11] via 192.50.109.249, fxp0, 2d18h18m S>* 192.41.184.0/22 [1/0] via 192.41.187.13, pvc0 S>* 192.41.184.8/32 [15/0] via 192.41.187.13, pvc0 S>* 192.41.184.9/32 [15/0] via 192.41.187.13, pvc0 S>* 192.41.184.192/32 [15/0] via 192.41.187.13, pvc0 C>* 192.41.184.195/32 is directly connected, lo0 S>* 192.41.186.58/32 [15/0] via 192.41.187.13, pvc0 S>* 192.41.186.254/32 [15/0] via 192.41.187.13, pvc0 M>* 192.41.187.2/32 [10/0] LSP 0:25, 2d16h13m S- 192.41.187.2/32 [15/0] via 192.41.187.13, pvc0 C>* 192.41.187.12/30 is directly connected, pvc0 … B>* 211.19.192.0/19 [20/0] via 192.41.187.2 (recursive via LSP 0:25), 2d16h12m K>* 224.0.0.0/8 via 127.0.0.1, lo0

  21. LSP確認(2/2) $ /usr/ayame/sbin/route show Routing tables Internet: Destination Gateway Flags 192.168.0.0 192.168.1.1 UG 192.168.1.0 link#1 U 192.168.3.0 0:21 UG 192.168.4.0 0:22 UG 192.168.5.0 0:23 UG 224.0.0.0 127.0.0.1 UG MPLS: Destination Gateway Flags 0:0 0:0 U 0:16 0:0 UGH 0:18 0:0 UGH 0:19 0:0 UGH 0:20 0:0 UGH 0:21 128:100172 UGH 0:22 128:100173 UGH 0:23 128:100174 UGH 128:0 128:0 U

  22. distixに繋ぐまで • AYAME install • zebra(経路制御モジュール)の起動 • ayamed(カーネルインターフェイスモジュール)の起動 • ldpd(ラベル制御モジュール)の起動 • LSP確認 • bgp on MPLS

  23. BGP on MPLS • zebra + ayamed + ldpdでLSPは張れる • LSP上にbgpdを用いてBGPを通す • /usr/ayame/etc/bgpd.confに設定を記述

  24. bgpd.conf(1/2) • /usr/ayame/etc/bgpd.conf.sampleを参照 • ピア(neighbor)設定のebgp-multihopは1にする • ピア(neighbor)設定のupdate-sourceとして自分のアドレスを設定する

  25. bgpd.conf(2/2) Example) router bgp 17932 bgp router-id 192.50.109.254 network 192.50.109.0/24 neighbor 192.41.187.2 remote-as 9612 neighbor 192.41.187.2 description **** intec W&G **** neighbor 192.41.187.2 ebgp-multihop 1 neighbor 192.41.187.2 update-source 192.41.187.14 neighbor 192.41.187.2 filter-list adv-only-myas out

  26. bgpdの起動 • AYAME patchの適用されたbgpdを起動 • $ /usr/ayame/sbin/bgpd -d

  27. BGP確認(1/2) • bgpd (telnet localhost bgpd) > show ip bgp neighbors BGP neighbor is 192.41.187.2, remote AS 9612, local AS 17932, external link Description: **** intec W&G **** BGP version 4, remote router ID 192.41.187.2 BGP state = Established, up for 2d18h21m Last read 00:00:05, hold time is 90, keepalive interval is 30 seconds Neighbor capabilities: Route refresh: advertised and received (old and new) Address family IPv4 Unicast: advertised and received Received 21624 messages, 0 notifications, 0 in queue Sent 21630 messages, 662 notifications, 0 in queue Route refresh request: received 0, sent 0 Minimum time between advertisement runs is 0 seconds …

  28. BGP確認(2/2) • zebra (telnet localhost 2601) > show ip route bgp Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, B - BGP, M - MPLS, > - selected route, * - FIB route B>* 211.19.192.0/19 [20/0] via 192.41.187.2 (recursive via LSP 0:25), 2d16h12m

  29. Appendix • MPLSパケット確認法 • ldp session確認法 • ldp hello message確認方法

  30. MPLSパケット確認 # tcpdump -x -i ti0 tcpdump: listening on ti0 17:37:19.170417 0:90:69:98:f0:20 0:d0:b7:67:11:c2 8847 106: 0001 40fd 0000 01ff 4500 0054 c9c4 0000 ff01 6f8f c0a8 0002 c0a8 0102 0000 3e56 30c2 000f 3f01 3c3c 2898 0200 0809 0a0b 0c0d 0e0f 1011 1213 1415 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425 2627 2829 2a2b 2c2d • MPLSの上でpingを行う際は、-Iオプションによるソースアドレスの設定が必要

  31. ldp session確認(1/2) $ netstat Active Internet connections Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.168.1.2.56573 192.168.1.1.646 ESTABLISHED tcp 0 0 192.168.1.3.646 192.168.1.1.56579 ESTABLISHED tcp 0 0 192.168.1.2.1008 192.168.3.2.ssh ESTABLISHED …

  32. ldp session確認(2/2) $ telnet localhost 10646 > show ldp status ================================================================================ LDPd Status: -------------------------------------------------------------------------------- Number of temporary session sockets is [0]. HELLO senders: HS Local LDPID TransptAddress TargetAddress HIntvl DIntvl RFlag -- ------------------ --------------- --------------- ------ ------ ----- 1 192.168.1.2:00 192.168.1.2 0.0.0.0 5 15 OFF Hello Adjacencies: HA LDPID TransptAddress HT CSN EXD TM --- ------------------ --------------- -- --- --- -- 1 150.65.117.95:00 192.168.1.1 15 0 NO 14 LDP Sessions: LS Local LDPID Peer LDPID St Ro Recv Send BT HT KT ---- ------------------ ------------------ -- -- ---- ---- -- -- -- 1 192.168.1.2:00 150.65.117.95:00 OP AC 7 11 30 55 3

  33. ldp hello message確認(1/3) $ telnet localhost 10646 > show ldp status ================================================================================ LDPd Status: -------------------------------------------------------------------------------- Number of temporary session sockets is [0]. HELLO senders: HS Local LDPID TransptAddress TargetAddress HIntvl DIntvl RFlag -- ------------------ --------------- --------------- ------ ------ ----- 1 192.168.1.2:00 192.168.1.2 0.0.0.0 5 15 OFF Hello Adjacencies: HA LDPID TransptAddress HT CSN EXD TM --- ------------------ --------------- -- --- --- -- 1 150.65.117.95:00 192.168.1.1 15 0 NO 14 LDP Sessions: LS Local LDPID Peer LDPID St Ro Recv Send BT HT KT ---- ------------------ ------------------ -- -- ---- ---- -- -- -- 1 192.168.1.2:00 150.65.117.95:00 OP AC 7 11 30 55 3

  34. ldp hello message確認(2/3) • 実際に流れているかdump # tcpdump -i ti0 tcpdump: listening on ti0 17:30:53.740162 192.168.1.2.65036 > ALL-ROUTERS.MCAST.NET.646: udp 42 [ttl 1] 17:30:55.295745 192.168.1.1.646 > ALL-ROUTERS.MCAST.NET.646: udp 42 [tos 0xc0][ttl 1]

  35. ldp hello message確認(3/3) • 224.0.0.0に対する経路が存在することを確認 $ /usr/ayame/sbin/route show Routing tables Internet: Destination Gateway Flags 192.168.0.0 192.168.1.1 UG 192.168.1.0 link#1 U 224.0.0.0 127.0.0.1 UG

More Related