2024/09/25 のものと同じ。
https://lsnl.jp/~ohsaki/lecture/netcompx/2024/#10-1
- 「シミュレータ」および「エミュレータ」が何かを他人に説明できるようになる。
- 「エピデミックブロードキャスト」とは何かを他人に説明できるようになる。
- DTN シミュレータ (dtnsim) をインストールできるようになる。
- シミュレーション条件を変えて dtnsim を実行できるようになる。
https://lsnl.jp/~ohsaki/lecture/netcompx/2024/priv/04.pdf
「シミュレータ」および「エミュレータ」とは何かを、 それぞれの違いがわかるように説明せよ。
世の中にある○○シミュレータや○○エミュレータについて、 (1) それは本当にシミュレータ/エミュレータか、 (2) もしそうならそれはなぜか、 を考えて議論せよ。
「エピデミックブロードキャスト」とは何かを説明せよ。
エピデミックブロードキャストがどういうものかを理解した後、 「エピデミックブロードキャストを使うと何ができそうか? (どんなアプリや用途に使えそうか?)」 を議論せよ。
dtnsim をインストールせよ。
dtnsim におけるエージェントの移動モデルを「グラフの CRWP」から「グラフ上のランダムウォーク」に変更してシミュレーションを実行せよ。
→ テキスト参照
→ テキスト参照
> sudo PIP_BREAK_SYSTEM_PACKAGES=1 pip3 install -U dtnsim
> dtnsim | cellx
> dtnsim -h
option -h not recognized
usage: dtnsim [-v] [-s #] [-n #] [-r range] [-I id[,id]...] [-m mobility] [-p path] [-a agent] [-M monitor]
-v verbose mode
-s # seed of random number generator
-n # number of agents
-r range communication range [m]
-I id[,id...] initial infected nodes
-m mobility name of mobility class (Fixed/FullMixed/LevyWalk/LimitedRandomWaypoint/RandomWalk/RandomWaypoint/graph.Fixed/graph.Sequential/graph.RandomWalk/grpah.CRWP)
-p path name of path class (NONE/Line/Grid/Voronoi)
-a agent name of agent class (CarryOnly/Random/Epidemic/P_BCAST/SA_BCAST/HP_BCAST/ProPHET)
-M monitor name of monitor class (Null/Log/Cell)
> dtnsim -m graph.RandomWalk | cellx
- 「シミュレータ」という名称が付いたシステムやソフトウェアにどのようなものがあるか調べてみよ。それぞれについて、それらが本当にシミュレータの一種であるかを確認せよ。
- 「エミュレータ」という名称が付いたシステムやソフトウェアにどのようなものがあるか調べてみよ。それぞれについて、それらが本当にエミュレータの一種であるかを確認せよ。
- TCP/IP が、本当に通信網の分断に対して耐性がないかを実験で確認せよ。例えば、ISO イメージのような巨大なファイルのダウンロード中に Wi-Fi ルータの電源を ON/OFF してみよ。どのくらいの通信回線断であれば正常にダウンロードできるか調査してみよ。
- epidemic という英単語の意味を英英辞書で調べよ。
- 自身が使っている PC やスマートフォンで、ユニキャスト、マルチキャスト、ブロードキャストのどれが、どの程度使用されているかを調査せよ。
- 「which dtnsim」を実行することにより、dtnsim プログラムがどこにインストールされているかを調査せよ。
- 「sudo pip3 install dtnsim」によって、ファイルがどこにインストールされたかを調査せよ。
- pip3 コマンドを用いて dtnsim をアンインストールせよ。アンインストールされたことを確認した後、pip3 コマンドを用いて dtnsim を再度インストールせよ。
- エージェントの移動モデルをさまざまに変化させてシミュレーションを実行してみよ。それぞれの移動モデルにおいて、エージェントの移動パターンがどのように変化するかを観察せよ。グラフ上の移動モデルを使用する場合は、-p オプションによって経路もあわせて指定する必要があることに注意せよ。
- エージェントの通信プロトコルをさまざまに変化させてシミュレーションを実行してみよ。それぞれの通信プロトコルにおいて、通信特性がどのように変化するかを観察せよ。
- cellx ではオプションを指定することで、可視化方法をさまざまに変化させられる。以下のオプションを試してみよ。どのような目的の可視化の時に、どのようなオプションを指定すると望ましいかを考察せよ。
> cellx -h
option -h not recognized
usage: /usr/local/bin/cellx [-E] [-c #] [-M class] [-F rate] [-L rate] [-A alpha] [-m #] [file...]
-E enable macro expansion with cpp
-c # select color scheme
-M class monitor class (Null/SDL/SDL_Filter/PostScript) (default: SDL)
-F rate the number of frames per animation/fading
-L rate limit the frame rate (default: infinity)
-A alpha alpha for filtering effect (0 <= alpha <= 255)
-m # the number of frames to render (default: infinity)
-c 0〜7: カラースキームの変更
例: カラースキームを 1 番に変更
> dtnsim | cellx -c 1
-M class: モニターモジュールの指定
-A alpha: フィルタ効果の強さ (小さいほど残像が残る)
例: 残像を残すフィルタを有効にする
> dtnsim | cellx -M SDL_Filter -A 40
-L rate: フレームレートの上限
例: フレームレートを 30 フレーム/秒に抑える
> dtnsim | cellx -L 30
例: 上記の組み合せ
> dtnsim | -M SDL_Filter -A40 -L30
「レポート課題 2024/09/25」と同じ。
[<15. エディタ (Emacs チュートリアル)] [>17. Python 言語 (1) (名前、変数、式)]