Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【shownet.conf_】ネットワークテストの最適化と利便性の追求

ShowNet
September 30, 2024

 【shownet.conf_】ネットワークテストの最適化と利便性の追求

SPEAKER

ShowNet NOCチームメンバー
西形 渉(キーサイト・テクノロジー)

ShowNet

September 30, 2024
Tweet

More Decks by ShowNet

Other Decks in Technology

Transcript

  1. テスターチームの役割 ➢ あらゆるレイヤで発生する課題をあぶり出す Tester 2 パケットロスがないか? サービス提供レベルは 確保できているか? 高速インターフェースへの チャレンジ

    プロトコルの相互接続 極端に遅くならないか? 不正なパケットを受けても 機器がダウンしないか? バーチャルテスターの活用 脅威を検出できるか? 攻撃者目線での脆弱性検出 高度な攻撃は検出できるか? CGNは正しく動いているか? セッションテーブルが 溢れたりしないか? きちんとフィルターが かかっているか 脆弱なデジタル資産はないか? 自動化などの新機能への チャレンジ ウィークネスや欠陥の検出 サイバー攻撃の攻撃ステージに マッピングできるか? ドメイン内のデジタル資産 自動検出
  2. ShowNetで注力する要素 ① Tester 3 疎通性だけでなく 期待したサービス品質が 提供できるか? インタロップの語源である 『Interoperability』 正しく相互に接続できるか?

    出展社や来場者を 危険に晒すことなく 期待通り守れるか? パフォーマンス プロトコル セキュリティ テストの自動化
  3. ShowNetで注力する要素 ② ➢どのように効率よく活用するか? ✓ 多種多様なネットワークテスター ✓ 会期までの限られた時間 ✓ 設定パラメーターや試験手法の違い ➢

    その解決策として、 ✓必要なテストトラフィックを必要な場所に • いつでもテスターを切り替えられる構成 • できる限り何でもできるテスターを構築 ✓ 必要なテストトラフィックをいつでも誰でも簡単に • 共通の設定ファイルを使用する • テストシナリオをスクリプト化する Tester 4
  4. ご提供頂きました機器 Tester 5 コントリビューター 提供機器 プラットフォーム カテゴリ 用途 NTTアドバンステクノロジ様 ROME

    mini -- L1-SW ファシリティ スパイレントコミュニケーションズ様 Velocity SW -- L1-SW ファシリティ アイビーシー様 tenable.one ソフトウェア / SaaS Security セキュリティ試験 (脆弱性アセスメント) 東陽テクニカ様 TestCenter N4U ハードウェア(.5g) L2-L3 バックボーン試験 TestCenter A1 400G ハードウェア L2-L3 バックボーン試験&DC試験 TestCenter B3 800G ハードウェア L2-L3 バックボーン試験 CF30 ハードウェア L4-L7 / Security セキュリティ試験 (エクスプロイト/マルウェア) C200 ハードウェア L4-L7 / Security コネクション・スループット試験 CF VM Container ソフトウェア L4-L7 DC試験 Pentera様 Pentra Core ソフトウェア L4-L7 / Security セキュリティ試験 (ペネトレーションテスト) エーピーコミュニケーションズ様 NEEDLEWORK ソフトウェア L4-L7 / Security コネクション/スループット試験(自動化) シスコシステムズ様 Cisco Vulnerability Management SaaS Management セキュリティ試験(脆弱性管理) キーサイト・テクノロジー様 AresONE 400G ハードウェア(.moip) L2-L3 バックボーン試験 IxN/IxL/BPS VE ソフトウェア L2-L7 / Security セキュリティ試験 (エクスプロイト/マルウェア) Threat Simulator ソフトウェア / SaaS Security セキュリティ試験(BAS) CyPerf ソフトウェア L4-L7 / Security クラウド試験 Vision Edge 40 -- Network Packet Broker ファシリティ Application Server -- -- コントローラー
  5. ShowNet 2024 Tester 7 400G L2L3 Tester Spirent TestCenter 100G

    L4L7 Tester Spirent C200 400G L2L3 Tester Keysight AresONE 800G L2L3 Tester Spirent TestCenter L1 Switch Spirent HS3240 Security Tester Spirent CF30 Software Tester Remote Optical Patch ROME Mini NPB (as L1 Switch) Keysight Vision E40
  6. テスターラックの物理構成 Tester 8 ROME mini 100G 400G 10G CF30 C200

    Vision Edge40 Velocity HS3240 IxVM Server 1 IxVM Server 2 100G-LR4 x 4 400G-FR4 x 2 100G-LR4 x 4 100G-LR4 x 4 10G-LR x 4 10G-LR x 8 100G-SR4 x 4 10G-SR x 4 10G-SR x 4 10G-SR x 4 SMF x 48 (24 ports) TestCenter A3 400G 100G-LR4 x 2 400G-FR4 x 2 AresONE 400G 400G-LR4 x 2 800G TestCenter B3 800G 400G-FR4 x 4 MoIP MOC 1G Booth 800G-2FR4 x 1 PTX10002 sm1...13.romemini IPA (4G32) xg-0-1-4.mx204.noc xg-0-1-5.mx204.noc xg-0-1-6.mx204.noc xg-0-1-7.mx204.noc hg-0-5-3.ne8000m4-1 hg-0-1-0-15. cisco8608.noc fhg-0-0-0-3. cisco8608.noc fhg-0-0-0-31.cisco8711.noc fhg-0-0-0-29. ncs57b1.noc fhg-0-1-14. mx304.noc hg-0-1-11. mx304.noc hg-0-5-3. ne8000m4-2.noc sm15...23.romemini hg-1-0-5. acx7348.noc xg-1-1-24. fx2.noc hg-0-0-55. qfx5110.dc hg-1-54. nexus93180yc.dc xg-0-0-4.ce5732.pod6s xg-1-1-7.catalyst9300.pod5s xg-1-51.nexus93108tc.pod4 xg-0-2-2.ex4400.pod3n xg-0-0-3.ce5732.pod2s Nexus 93108tc.noc 1G-T x 4 MDF sm25...28.romemini hg-1-54.nexus93180yc-1.moip hg-1-54.nexus93180yc-2.moip hg-1-54.nexus93180yc-3.moip hg-1-54.ce6885.moip sm49...54.romemini fhg-1-1.tc-a1.tester fhg-1-2.tc-a1.tester fhg-1-3.tc-a1.tester fhg-1-4.tc-a1.tester hg-2-1.tc-a1.tester hg-2-2.tc-a1.tester sm55...58.romemini hg-1-1.c200.tester hg-1-2.c200.tester hg-1-3.c200.tester hg-1-4.c200.tester sm59...64.romemini fhg-1-1.aresone.tester fhg-1-2.aresone.tester hg-1-5.aresone.tester hg-1-6.aresone.tester hg-1-7.aresone.tester hg-1-8.aresone.tester sm65...74.romemini fhg-1.hs3240.tester fhg-2.hs3240.tester hg-3.hs3240.tester hg-4.hs3240.tester hg-5.hs3240.tester hg-6.hs3240.tester xg-7.hs3240.tester xg-8.hs3240.tester xg-9.hs3240.tester xg-10.hs3240.tester sm75...82.romemini xg-1.vision-e40.tester xg-2.vision-e40.tester xg-3.vision-e40.tester xg-4.vision-e40.tester xg-5.vision-e40.tester xg-6.vision-e40.tester xg-7.vision-e40.tester xg-8.vision-e40.tester xg-17...22.hs3240.tester fhg-1-3.aresone.tester fhg-1-4.aresone.tester hg-1-1.ixvm-server-1.tester hg-1-2.ixvm-server-1.tester hg-2-1.ixvm-server-2.tester hg-2-2.ixvm-server-2.tester xg-17...28.vision-e40.tester xg-2-1.ixvm-server-1.tester xg-2-2.ixvm-server-1.tester xg-2-3.ixvm-server-1.tester xg-2-4.ixvm-server-1.tester xg-2-1.ixvm-server-2.tester xg-2-2.ixvm-server-2.tester xg-2-3.ixvm-server-2.tester xg-2-4.ixvm-server-2.tester ehg-0-0-30.ptx10002.noc ehg-1-1.tc-b3.tester xg-1-44...47.nexus93108tc xg-3-1.ixvm-server-1.tester xg-3-2.ixvm-server-1.tester xg-3-1.ixvm-server-2.tester xg-3-2.ixvm-server-2.tester
  7. 2024年の "あばれ" ➢ 試験内容 ✓ バックボーン試験(L2-L3) • ステートレストラフィックによるパフォーマンス試験 • プロトコルエミュレーションを活用(バックボーンルーター疑似)

    ✓ コネクション/スループット試験(L4-L7) • ステートフルトラフィックによるパフォーマンス試験 • プロトコルエミュレーションを活用(出展者収容スイッチ疑似) ✓ セキュリティ試験(Security) • セキュリティファンクションに応じた試験 • 会期前の脆弱性アセスメント ✓ (取り組み)試験の自動化 • バックボーン試験・コネクション/スループット試験 Tester 11
  8. バックボーン試験 Tester 13 ➢ パフォーマンス試験 ✓ テスターからバックボーンルーターにトラフィックを送信し、 ルーター間の帯域に問題ないことを確認する。 • 800/400/100GE

    • エッジルーター(PE)<-> エッジルーター(PE) ⁃ テスターからエッジルーターは、UDPトラフィックを生成して、エッジルーターがEncap処理 • コアルーター(P)<-> エッジルーター(PE) ⁃ テスターからコアルーターには、直接Encapトラフィックを送信 ⁃ コアルーターに接続するテスターはプロトコルエミュレーションが必要 製品名 リンク速度 PE <-> PE P <-> PE プラットフォーム コントリビューター TestCenter 800G / 400G / 100G o o ハードウェア 東陽テクニカ様 AresONE 400G / 100G o o ハードウェア キーサイト・テクノロジー様 IxNetwork VE サーバー依存 (100G/10G/1G) o o ソフトウェア キーサイト・テクノロジー様 NEEDLEWORK サーバー依存 (100G/10G/1G) o -- ソフトウェア エーピーコミュニケーションズ様
  9. バックボーン試験 Tester 14 ➢ 試験トラフィックの最適化 ✓ トラフィック定義 ✓判定基準 • 帯域の90%以上が確保されていること

    Configuration Specification Type / Protocol Stateless Traffic / UDP Direction Bidirectional Size IMIX + Jumbo Frame (68B:574B:1522B:8000B = 7:4:1:1) ※ コアルーターからのトラフィックはSRv6のヘッダ分を加算 Duration 120 Second + α
  10. ➢ フレームサイズには注意が必要 バックボーン試験 Tester 16 104B(Send/Receive) = 64B(Data) + 40B(SRv6)

    Tester Tester ncs57b1 cisco8201 Encapsulation Decapsulation SRv6 104B(Send) = 64B(Data) + 40B(SRv6) Tester Tester ne8000m4-1 cisco8201 Encapsulation Decapsulation SRv6 64B(Receive) = 104B(Data + SRv6) – 40B(SRv6) 104B(Send) = 104B(Data) 144B(Receive) = 104B(Data) + 40B(SRv6) Frame Size fps L2 Throughput 64B 74,404,762 38.095Gbps 104B 50,403,226 41.935Gbps 144B 38,109,756 43.902Gbps Linerate = 50% における 64B/104B/144B の fps と L2 Throughput
  11. バックボーン試験 Tester 17 Spirent TestCenter B3 <-> Juniper ptx10002 800Gbps

    + 800Gbps = 1.6Tbps!!! Keysight IxNetwork VE (Virtual Edition) 90Gbps + 90Gbps = 180Gbps!!!
  12. コネクション/スループット試験 Tester 19 ➢ パフォーマンス試験 ✓出展社収容スイッチとバックボーン間の各種ファンクションおよび パフォーマンスに問題がないことを確認する。 • 出展社収容スイッチ <->

    バックボーンルーター ⁃ 出展社疑似 • 出展社収容スイッチに接続したテスターからHTTP/HTTPSトラフィックを送受信 ⁃ 出展社収容スイッチ疑似 • 出展社収容スイッチ疑似にはEVPN/VXLANのプロトコルエミュレーションが必要 製品名 出展社疑似 出展社収容スイッチ疑似 プラットフォーム コントリビューター TestCenter -- o ハードウェア 東陽テクニカ様 CF30 o -- ハードウェア 東陽テクニカ様 C200 o -- ハードウェア 東陽テクニカ様 IxNetwork VE -- o ソフトウェア キーサイト・テクノロジー様 IxLoad VE o -- ソフトウェア キーサイト・テクノロジー様 NEEDLEWORK o -- ソフトウェア エーピーコミュニケーションズ様
  13. コネクション/スループット試験 Tester 20 ➢ 対象ホール ✓ Hall2/Hall3/Hall4/Hall5/Hall6 ➢ 確認事項 ✓

    IPv4/IPv6(Global/Private) ✓ CGNの動作 ✓ セキュリティサービスの有効性 ✓ ホール間の回線品質 ✓ サービススループット EVPN/VXLAN (Type 5) Protocol Emulation
  14. コネクション/スループット試験 Tester 21 ➢ 試験トラフィックの最適化 ✓ トラフィック定義 ✓ 判定基準 •

    2Gbpsのスループットが得られること • 攻撃トラフィックが検知または遮断されること Configuration Confirmation Specification IP IPv4/IPv6 Mix IPv4/IPv6(Global/Private) Type / Application Stateful Traffic / HTTP : HTTPS (2:8) CGNの動作 Direction HTTP(S) GET from Client CGNの動作 Size 1MB サービススループット CPS/CC/TP 1000 / 20000 / 2Gbps サービススループット Duration 300 Second ホール間の回線品質 Malicious Exploit / Malware セキュリティサービスの有効性
  15. ➢ ファンクション試験 ※ 対応製品については Cisco Vulnerability Management と連携 セキュリティ試験 Tester

    25 試験種別 内容 テスター (ShowNetにおける) ターゲット コントリビューター Basic Test エクスプロイト/マルウェアの検知/遮断試験 CyberFlood BreakingPoint VE Inline Firewall Monitoring Device 東陽テクニカ様 キーサイト・テクノロジー様 Advanced Test 最新のエクスプロイト/マルウェアを用いた 検知/遮断試験 通常トラフィックとの混在環境における エクスプロイト/マルウェア検知/遮断試験 できる限り多くのエクスプロイト/ マルウェアを用いた検知/遮断試験 Vulnerability Assessment 攻撃の侵入口となるセキュリティ不備/ 脆弱性有無の検出試験 Tenable.one Pentera Core Global IP and Private IP アイビーシー様 Penetration Test 侵入後のセキュリティ対策の十分性や 被害レベルの確認試験 Pentera Core Global IP and Private IP ペンテラ様 Breach & Attack Simulation (BAS) 様々な攻撃トラフィックや攻撃手法の シミュレーションによるセキュリティ対策の 有効性確認試験 Threat Simulator Inline Firewall NDR/EDR キーサイト・テクノロジー様
  16. ➢ セキュリティ対策の評価手法 セキュリティ試験 Tester 26 試験種別 タイミング 影響 頻度 スコープ

    Basic Test ラボ/展開前 低い 一時的 包括的 運用中 低い 一時的 包括的 Advanced Test ラボ/展開前 低い 一時的 包括的 運用中 高い 一時的 包括的 Vulnerability Assessment 運用中 低い 継続的 限定的 Penetration Test 運用中 高い 一時的 包括的 Breach & Attack Simulation (BAS) 運用中 低い 継続的 包括的
  17. その他の試験 Tester 30 ➢ DC連携 ✓ RoCEv2 プロトコルエミュレーション ✓ コンテナ対応テスターによる基盤試験

    ➢ 5G連携 ✓ N3 - N6 トラフィックシミュレーション ➢ MoIP連携 ✓ IGMP/MLD プロトコルエミュレーション 製品名 DC - AI/ML DC - Container 5G MoIP コントリビューター TestCenter N4U -- -- o -- 東陽テクニカ様 TestCenter A1 400G o -- -- -- 東陽テクニカ様 CyberFlood VM Container -- o -- -- 東陽テクニカ様 AresONE 400G or IxNetwork VE -- -- -- o キーサイト・テクノロジー様 RoCEv2 Multicast to/from MOC
  18. RoCEv2 プロトコルエミュレーション Tester 31 ➢ RoCEv2 (RDMA over Converged Ethernet

    Version 2) ✓ ロードバランシング ✓ 輻輳制御(ECN/PFC) nexus 93180yc qfx5120 nexus 9408 nexus 9332d Spirent TestCenter A1 Spirent TestCenter A1 Load Balancing Test Congestion Control Test ① ECN = 01としてトラフィックを送信 ② 輻輳を検知してECN = 11に設定 ③ ECN = 11を受信してCNPを送信 ④ CNPを受信してDCQCNに従い送信レートを落とす ① ② ③ ④ qfx5120 nexus 9408 nexus 9332d nexus 93180yc
  19. ➢ マルチキャストトラフィックの送受信 IGMPv3 プロトコルエミュレーション Tester 32 MOC Stage Backbone Backbone

    n93108yc-1 n93108yc-2 ce6685 n93108yc-3 Keysight AresONE 400G Keysight AresONE 400G x 2系統 = 120Gbps (Multicast) x 20 Sender x 20 Sender x 20 Receiver x 1 Receiver Join Stream 1...20 (1 to 1) Join Stream 21...40 (1 to N) 1 Stream = 1.5Gbps
  20. 試験の自動化 Tester 33 ➢ 自動化が必要な理由 ✓ テスター毎に操作方法が異なる • 主な操作はGUIで実施する(IPアドレスを変更/有効化だけでも大変?) •

    毎回同じ設定を利用したい ✓ コンフィグ変更後も試験が必要 • 試験を回帰的に実施する(GUIかつマニュアル操作では工数がかかる) • 簡単な試験は誰でも実施したい ➢ Open Traffic Generator APIは? ✓ まだ機能が限定的である ✓ ベンダーの実装が追いついていない
  21. ➢ 想定構成 ✓ 同じテスター内でテストパスを自動切替 独自機能を用いた自動化 Tester 34 IxNetwork TestCenter NeedleWork

    control tester via GUI or Script control tester via GUI or Script control tester via GUI or Script Test Path 1 Test Path 2 Test Path 1 Test Path 2 Test Path 1 Test Path 2 持ち込みのコントローラーなど 持ち込みのコントローラーなど 持ち込みのコントローラーなど
  22. ssh > shownet_automation.py -f test_config.json 共通設定ファイルを用いた自動化 Tester 35 ➢ 想定構成

    ✓ 単一のコマンドで複数のテスターをコントロール IxNetwork (L2L3) TestCenter (L2L3) NeedleWork (L4L7) shownet_automation.py test_config.json NOC control tester ixnetwork_python.py testcenter_python.py needlework_python.py Ubuntu in Tester Team's Server 製品名 対応レイヤ プラットフォーム コントリビューター TestCenter L2-L3 ハードウェア 東陽テクニカ様 IxNetwork L2-L3 ソフトウェア キーサイト・テクノロジー様 NeedleWork L4-L7 ソフトウェア エーピーコミュニケーションズ様
  23. ssh > shownet_automation.py -f test_config.json 共通設定ファイルを用いた自動化 Tester 36 ➢ 想定構成

    IxNetwork TestCenter NeedleWork Ubuntu in Tester Team's Server shownet_automation.py test_config.json ixnetwork_python.py NOC test_config.json { "session": "IxNetwork Test via Python", "apiserver": "10.39.18.146", "endpoint1": { "tester": "ixnetwork", "chassis": "10.39.18.146", "slot": 4, "port": 1, "module": "ethernetvm", "multiplier": 10, "macaddr": "00:11:01:00:00:01", "ipaddr": "192.168.1.1", "prefix": 16, "gateway": "192.168.2.1" }, "endpoint2": { "tester": "ixnetwork", "chassis": "10.39.18.146", "slot": 4, "port": 2, "module": "ethernetvm", "multiplier": 10, "macaddr": "00:12:01:00:00:01", "ipaddr": "192.168.2.1", "prefix": 16, "gateway": "192.168.1.1" }, "traffic1": { "rate": 0.1, "size": 512, "count": 10000 } } shownet_automation.py import sys, os, time, traceback import argparse, json from ixnetwork.ixnetwork_python import * #from testcenter_python import * #from needlework_python import * parser = argparse.ArgumentParser() parser.add_argument('-f', '--file', type = str, default = '') args = vars(parser.parse_args()) if len(args['file']) == 0: print('Please specify a configuration file using option ¥'-f¥'.') exit() with open(args['file']) as jsonFile: testConfig = json.load(jsonFile) tester1 = testConfig['endpoint1']['tester'] tester2 = testConfig['endpoint2']['tester'] if not tester1 == tester2: print('Please configure to use same tester pair between endpoint1 and endpoint2') exit() else: tester = tester1 if tester == 'ixnetwork': ixNetTrafficGen(testConfig) #elif tester == 'testcenter': testCenterTrafficGen(testConfig) #elif tester == 'needlework': needleWorkTrafficGen(testConfig) control tester ixnetwork_python.py import sys, os, time, traceback import argparse, json from ixnetwork_restpy import * def ixNetTrafficGen(testConfig): apiServerIp = testConfig['apiserver'] sessionName = testConfig['session'] sessionId = None chassis1 = testConfig['endpoint1']['chassis'] slot1 = testConfig['endpoint1']['slot'] port1 = testConfig['endpoint1']['port'] module1 = testConfig['endpoint1']['module'] testport1 = chassis1 + ';' + str(slot1) + ';' + str(port1) multiplier1 = testConfig['endpoint1']['multiplier'] macaddr1 = testConfig['endpoint1']['macaddr'] ipaddr1 = testConfig['endpoint1']['ipaddr'] prefix1 = testConfig['endpoint1']['prefix'] gateway1 = testConfig['endpoint1']['gateway'] chassis2 = testConfig['endpoint2']['chassis'] slot2 = testConfig['endpoint2']['slot'] port2 = testConfig['endpoint2']['port'] module2 = testConfig['endpoint2']['module'] testport2 = chassis2 + ';' + str(slot2) + ';' + str(port2) multiplier2 = testConfig['endpoint2']['multiplier'] macaddr2 = testConfig['endpoint2']['macaddr'] ipaddr2 = testConfig['endpoint2']['ipaddr'] prefix2 = testConfig['endpoint2']['prefix'] gateway2 = testConfig['endpoint2']['gateway'] rate1 = testConfig['traffic1']['rate'] size1 = testConfig['traffic1']['size'] count1 = testConfig['traffic1']['count'] session = SessionAssistant(IpAddress=apiServerIp, RestPort=None, UserName='admin', Password='admin', SessionName=sessionName, SessionId=sessionId, ApiKey=None, ClearConfig=True, LogLevel='info', LogFilename='restpy.log')
  24. 共通設定ファイルを用いた自動化 Tester 37 ➢ 共通の設定ファイルを読み込みスクリプトを実行 with test_config.json { "session": ”Shownet

    Test via Python", "apiserver": ”xxx.xxx.xxx.xxx", "endpoint1": { "tester": "needlework", "chassis": ”xxx.xxx.xxx.xxx", "slot": X, "port": Y, "module": "ethernetvm", "multiplier": 10, "macaddr": "00:11:01:00:00:01", "ipaddr": "192.168.1.1", "prefix": 16, "gateway": "192.168.2.1" }, "endpoint2": { "tester": "needlework", "chassis": ”xxx.xxx.xxx.xxx", "slot": X, "port": Y, "module": "ethernetvm", "multiplier": 10, "macaddr": "00:12:01:00:00:01", "ipaddr": "192.168.2.1", "prefix": 16, "gateway": "192.168.1.1" }, "traffic1": { "rate": 0.1, "size": 512, "count": 10000 } } ※ 実際の設定ファイルとは異なります。
  25. 共通設定ファイルを用いた自動化 Tester 38 ➢ 共通の設定ファイルを読み込みスクリプトを実行 test_config.json { "session": ”Shownet Test

    via Python", "apiserver": ”xxx.xxx.xxx.xxx", "endpoint1": { "tester": ”ixnetwork", "chassis": ”xxx.xxx.xxx.xxx", "slot": X, "port": Y, "module": "ethernetvm", "multiplier": 10, "macaddr": "00:11:01:00:00:01", "ipaddr": "192.168.1.1", "prefix": 16, "gateway": "192.168.2.1" }, "endpoint2": { "tester": ”ixnetwork", "chassis": ”xxx.xxx.xxx.xxx", "slot": X, "port": Y, "module": "ethernetvm", "multiplier": 10, "macaddr": "00:12:01:00:00:01", "ipaddr": "192.168.2.1", "prefix": 16, "gateway": "192.168.1.1" }, "traffic1": { "rate": 0.1, "size": 512, "count": 10000 } } ※ 実際の設定ファイルとは異なります。 test_config.json { "session": ”Shownet Test via Python", "apiserver": ”xxx.xxx.xxx.xxx", "endpoint1": { "tester": ”testcenter", "chassis": ”xxx.xxx.xxx.xxx", "slot": X, "port": Y, "module": "ethernetvm", "multiplier": 10, "macaddr": "00:11:01:00:00:01", "ipaddr": "192.168.1.1", "prefix": 16, "gateway": "192.168.2.1" }, "endpoint2": { "tester": ”testcenter", "chassis": ”xxx.xxx.xxx.xxx", "slot": X, "port": Y, "module": "ethernetvm", "multiplier": 10, "macaddr": "00:12:01:00:00:01", "ipaddr": "192.168.2.1", "prefix": 16, "gateway": "192.168.1.1" }, "traffic1": { "rate": 0.1, "size": 512, "count": 10000 } } ※ 実際の設定ファイルとは異なります。