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

ns-3.29でモジュール開発

dorapon2000
August 09, 2019

 ns-3.29でモジュール開発

研究室のゼミで発表したスライドを外部向けに少し変えたものです。

銭飛著「ns3によるネットワークシミュレーション」の第8章に沿って、ネットワークシミュレータns-3におけるモジュールの開発方法について、実際にサンプルコードをまじえながら説明します。8章の開発事例1では無線メッシュでの消費電力モデルの作成、開発事例2ではラウンドロビンキューの作成を行います。いずれも提供されているサンプルコードがバージョンの違いにより動かないため、現在の最新版である3.29に対応させたコードをgithub上に公開しています。

https://github.com/dorapon2000/ns3-simpleMesh-with-energy
https://github.com/dorapon2000/ns3-rr-queue-disc

dorapon2000

August 09, 2019
Tweet

More Decks by dorapon2000

Other Decks in Design

Transcript

  1. ͜ͷεϥΠυʹ͍ͭͯ • ݚڀࣨͷθϛͰར༻ͨ͠΋ͷΛগ͠վมͨ͠΋ͷͰ͢ • ೥ʹग़൛͞ΕͨʮOTʹΑΔωοτϫʔΫγϛϡϨʔγϣϯʯ ҎԼ ڭՊॻ ͷষʮϞδϡʔϧ։ൃʯʹ͍ͭͯ·ͱΊͯ͋Γ·͢ • ڭՊॻͰѻ͏OTͷόʔδϣϯ͕ݹ͗͢ΔͨΊɺʹରԠͤ͞·ͨ͠

    • ڭՊॻ͕ແ͍ํͰ΋ཧղͰ͖Δͱ͸ࢥ͍·͢ • ։ൃࣄྫͱ։ൃࣄྫͷίʔυ͸HJUIVC্ʹެ։͍ͯ͠·͢ p IUUQTHJUIVCDPNEPSBQPOOTTJNQMF.FTIXJUIFOFSHZ p IUUQTHJUIVCDPNEPSBQPOOTSSRVFVFEJTD • εϥΠυͷਐߦͰҰ෦ɺڭՊॻ͕ఏڙ͢Δαϯϓϧίʔυ͕OTϑΥϧμ ಺͋Δ͜ͱ͕લఏʹͳ͍ͬͯΔ෦෼͕͋Γ·͢ • OTͰϞδϡʔϧΛ࡞ΔํͷࢀߟʹͳΕ͹޾͍Ͱ͢ 2
  2. OTͷϑΥϧμߏ଄ • ͋ 6 ドキュメント サンプルコード ヘルパー関数 • wifi-helper •

    yans-wifi-helper • wifi-radio-energy-model-helper テストコード モジュールの本体
  3. OTͷϑΥϧμߏ଄ • ͋ 7 ドキュメント サンプルコード ヘルパー関数 • wifi-helper •

    yans-wifi-helper • wifi-radio-energy-model-helper テストコード モジュールの本体
  4.  ϑΝΠϧ಺ͷϞδϡʔϧ໊Λద౰ʹม͑Δ NFTISBEJPFOFSHZNPEFMIFMQFSDD • 8*'*@3"%*0@&/&3(:ˠ.&4)@3"%*0@&/&3(: • 8JGJ3BEJP&OFSHZ.PEFM)FMQFSˠ.FTI3BEJP&OFSHZ.PEFM)FMQFS NFTISBEJPFOFSHZNPEFMIFMQFSI • 8JGJ3BEJP&OFSHZ.PEFM)FMQFSˠ

    .FTI3BEJP&OFSHZ.PEFM)FMQFS 14 ݕࡧ ໨HSFQ https://github.com/dorapon2000/ns3-simpleMesh-with- energy/commit/d73677b7fbeacb947c5878c102945dfc91401fd5#diff-87c2edcf94bbcc381ce0ebb2a717a86b
  5. XTDSJQUͷฤू 17 def build(bld): obj = bld.create.ns3……. obj.source = [

    'model/mesh-info… 'model/mesh-point… ] headers = bld(features='n… headers.module = 'mesh' headers.source = [ 'model/mesh-info… 'model/mesh-poin ] src/traffic-contorl/wscript ccファイルの場所 hファイルの場所 ৽͘͠࡞੒ͨ͠ϑΝΠϧΛXBGʹ఻͑Δ
  6. γφϦΦϑΝΠϧΛॻ͘ ڭՊॻͷαϯϓϧίʔυΛগ͠ม͑Δ 19 ns3-book/work/wlan/mesh-with-energy/ • simpleMesh-with-energy.cc • simpleMeshTest.cc • simpleMeshTest.h

    ৽ن࡞੒ simpleMesh-with-energy/ コピー scratch/ https://github.com/dorapon2000/ns3-simpleMesh-with- energy/commit/c7057d515d3882f5b3942f884f4edbf2c4ba5cc2#diff-ec76a1f3e8bbf822eda06ca566e75fce
  7. γφϦΦϑΝΠϧΛॻ͘ • ϝογϡωοτϫʔΫ • OO9·Ͱ͕OΛհͯ͠#(3ͱ௨৴ • ։࢝ඵͰ௨৴։࢝ • ඵʹऴྃ •

    ࣮ߦ݁Ռ͸ʮEBUBUBUBʯϑΥϧμʹ อଘ 20 引⽤: ns3によるネットワークシミュレーション
  8. ྲྀΕ  ΩϡʔΫϥεͷ࢓૊Έͷ೺Ѳ  ϞδϡʔϧΛϑϧεΫϥον p QGJGPRVFVFEJTDDDIΛϕʔεʹൃలͤ͞Δ p ϋογϡ஋ͰϑϩʔΛ෼ྨ͢Δ p

    อ࣋͢ΔΩϡʔͷ਺ʹ্ݶΛઃ͚Δ p ࣍ʹσΩϡʔ͢ΔΩϡʔͷΠϯσοΫεΛه࿥͢Δ  XTDSJQUͷฤू  XBGCVJME  γφϦΦεΫϦϓτ  XBGSVO  ࣮ߦ݁ՌΛݟΔ 26
  9. υΩϡϝϯτ • 2VFVFEJTDJQMJOFT • OT2VFVF%JTD$MBTT3FGFSFODF • OT2VFVF#BTF $MBTT3FGFSFODF • OT2VFVF*UFN$MBTT5FNQMBUF3FGFSFODF

    ࢀߟʹͨ͠ίʔυ • GRDPEFMRVFVFEJTDDD • GJGPRVFVFEJTDDD • QGJGPGBTURVFVFEJTDDD • QGJGPWTSFEDD 27