$30 off During Our Annual Pro Sale. View Details »

低帯域環境を楽しむ その1

kazueda
December 29, 2020

低帯域環境を楽しむ その1

kazueda

December 29, 2020
Tweet

More Decks by kazueda

Other Decks in Programming

Transcript

  1. 低帯域環境を楽しむ
    その1 環境設定
    鹿児島Linux勉強会 2020.12
    2020. 12. 26
    1
    kazueda
    か ず え だ

    View Slide

  2. kazueda(かずえだ)の紹介
    • 大阪出身、丙午、おとめ座、O型
    • 科学者(化学)
    • 2003年4月から、浜松で働き始める
    • 自転車での移動が生活の足
    • 趣味は、「ラジオを聴くこと」、
    「アメリカのコミックの邦訳を読む
    こと」
    • 「STAY HOME」期間にオンライン
    イベントの楽しさを知りました。
    • 懇親会の楽しみ方を確立する前に、
    オンライン懇親会のシーズンが終わ
    りそうです。
    @kazueda
    2
    slideshare speaker deck

    View Slide

  3. kazueda(かずえだ)の紹介
    • 大阪出身、丙午、おとめ座、O型
    • 科学者(化学)
    • 2003年4月から、浜松で働き始める
    • 自転車での移動が生活の足
    • 趣味は、「ラジオを聴くこと」、
    「アメリカのコミックの邦訳を読む
    こと」
    • 可能な限りオンラインイベントに参
    加して、発表するようにしています。
    • ひと月に2回程度の発表がちょうど
    よいようです。
    @kazueda
    3
    slideshare speaker deck

    View Slide

  4. 今回のお話
    • これまでのお話
    • 遅延から帯域制限に
    • 帯域制限の環境設定
    • 帯域制限の実際
    • 今後の展開
    4

    View Slide

  5. 今回のお話
    • これまでのお話
    • 遅延から帯域制限に
    • 帯域制限の環境設定
    • 帯域制限の実際
    • 今後の展開
    5

    View Slide

  6. これまでのお話
    • 9月のらぐでは、動画と音声のストリーミ
    ングのずれを何とかしようとしてました。
    6

    View Slide

  7. これまでのお話
    • 9月のらぐでは、動画と音声のストリーミ
    ングのずれを何とかしようとしてました。
    7

    View Slide

  8. これまでのお話
    • 9月のらぐでは、動画と音声のストリーミ
    ングのずれを何とかしようとしてました。
    8

    View Slide

  9. matokenさんの提案
    9

    View Slide

  10. 今回のお話
    • これまでのお話
    • 遅延から帯域制限に
    • 帯域制限の環境設定
    • 帯域制限の実際
    • 今後の展開
    10

    View Slide

  11. Linuxのtcコマンド見つけました
    • 遅延を設定できます。
    • 帯域制限できます。
    11

    View Slide

  12. Linuxのtcコマンド見つけました
    • 遅延を設定できます。
    • 帯域制限できます。
    12

    View Slide

  13. Linuxのtcコマンド見つけました
    • 遅延を設定できます。
    • 帯域制限できます。
    13
    帯域制限できます!!

    View Slide

  14. Linuxのtcコマンド見つけました
    • 遅延を設定できます。
    • 帯域制限できます。
    Kazuedaの使っているIIJのsimは、低速、高
    速切り替えられるので便利。
    低速の速度制限時は、無制限に使えます。
    14
    帯域制限できます!!

    View Slide

  15. Linuxのtcコマンド見つけました
    • 遅延を設定できます。
    • 帯域制限できます。
    kazuedaの使っているIIJのsimは、低速、高
    速切り替えられるので便利。
    低速の速度制限時は、無制限に使えます。
    15
    速度制限時の環境を構築して、
    何が楽しめるか探してみます。

    View Slide

  16. IIJmioのSIMの上限を超えた世界
    • 速度制限下では、以下の通りです。
    参考:モデム 300~28800 bps
    16

    View Slide

  17. IIJmioのSIMの上限を超えた世界
    • 速度制限下では、以下の通りです。
    参考:モデム 300~28800 bps
    17
    どのように楽しみましょうか。

    View Slide

  18. 今回のお話
    • これまでのお話
    • 遅延から帯域制限に
    • 帯域制限の環境設定
    • 帯域制限の実際
    • 今後の展開
    18

    View Slide

  19. 人工的に回線速度を遅くします
    1. Raspberry pi 1BにUSB-LANアダプタ、TTL-
    USBケーブルをつなぐ
    2. 有線LAN-有線LANブリッジを作成
    3. tcコマンドで設定
    19

    View Slide

  20. 1. Raspberry pi 1BにUSB-LANアダプ
    タ、TTL-USBケーブルをつなぐ
    20
    <-USB-LAN
    アダプタ
    (eth1)
    <-LANケーブル
    (eth0)
    ターミナルとの接続
    USB-TTL RasPi
    5V 4pin 5V
    GND 6pin GND
    RX 8pin TX
    TX 10pin RX
    ②④⑥⑧⑩

    View Slide

  21. 2. 有線LAN-有線LANブリッジを作成
    1. ブリッジユーティリティのインストール
    2. 新しいブリッジを作る”addbr ”
    3. ブリッジを追加”addif ”
    21
    $ sudo apt install bridge-utils
    $ sudo brctl addbr br0
    $ sudo brctl addif br0 eth0
    $ sudo brctl addif br0 eth1

    View Slide

  22. 2. 有線LAN-有線LANブリッジを作成
    1. ブリッジユーティリティのインストール
    2. 新しいブリッジを作る”addbr ”
    3. ブリッジを追加”addif ”
    4. 設定が反映されているか確認
    22
    $ brctl show
    bridge name bridge id STP enabled interfaces
    br0 no eth0
    eth1
    ############

    View Slide

  23. 2. 有線LAN-有線LANブリッジを作成
    1. ブリッジユーティリティのインストール
    2. 新しいブリッジを作る”addbr ”
    3. ブリッジを追加”addif ”
    4. 設定が反映されているか確認
    5. インターフェースの有効化
    23
    $ sudo ip link set eth0 up
    $ sudo ip link set eth1 up
    $ sudo ip link set br0 up

    View Slide

  24. 2. 有線LAN-有線LANブリッジを作成
    1. ブリッジユーティリティのインストール
    2. 新しいブリッジを作る”addbr ”
    3. ブリッジを追加”addif ”
    4. 設定が反映されているか確認
    5. インターフェースの有効化
    24
    $ sudo ip link set eth0 up
    $ sudo ip link set eth1 up
    $ sudo ip link set br0 up
    実験用なので、シェルスクリプトにしておくと便利

    View Slide

  25. bridge.sh
    #!/bin/bash
    sudo brctl addbr br0
    sudo brctl addif br0 eth0
    sudo brctl addif br0 eth1
    sudo ip link set eth0 up
    sudo ip link set eth1 up
    sudo ip link set br0 up
    25

    View Slide

  26. 今回のお話
    • これまでのお話
    • 遅延から帯域制限に
    • 帯域制限の環境設定
    • 帯域制限の実際
    • 今後の展開
    26

    View Slide

  27. 速度測定はspeedtest-cli

    リストに掲載の任意のサーバーの番号
    27
    https://github.com/sivel/speedtest-cli
    $ speedtest-cli --list
    $ speedtest-cli –-server @@@@@

    View Slide

  28. 帯域を制限しよう
    • Bash script見つけました
    28
    https://gist.github.com/CGenie/9c8947fc9474561ddfb3
    https://gist.github.com/obscurerichard/3740206
    https://gist.github.com/denilsonsa/5176e1c9b6a119594ce0

    View Slide

  29. 帯域を制限しよう
    1. GPRS
    2. GSM
    3. EDGE
    4. 2.5G
    5. GPRS
    6. 3G
    7. 4G
    8. 2.4k
    9. 9.6k
    10. 14.4k
    11. 28.8k
    12. modem-56k
    13. 56k
    14. T1
    15. T3
    16. DSL
    17. cablemodem
    18. wifi-a
    19. wifi-b
    20. wifi-g
    21. wifi-n
    22. eth-10
    23. eth-100
    24. eth-1000
    25. vsat
    26. vsat-busy
    29
    https://gist.github.com/CGenie/9c8947fc9474561ddfb3
    利用可能な設定

    View Slide

  30. 制限前
    Hosted by tdlabs (Sakai) [203.15 km]:
    45.193 ms
    T g w …
    Download: 10.54 Mbit/s
    T g …
    Upload: 7.13 Mbit/s
    30
    https://gist.github.com/CGenie/9c8947fc9474561ddfb3
    ブリッジを通すだけでかなり遅くなっています

    View Slide

  31. 帯域を制限しよう
    Hosted by tdlabs (Sakai) [203.15 km]:
    1128.082 ms
    T g w …
    Download: 3.05 Mbit/s
    T g …
    Upload: 0.34 Mbit/s
    31
    https://gist.github.com/CGenie/9c8947fc9474561ddfb3
    param modem-14.4k
    command=slow
    bandwidth=14400bps
    latency=150ms
    $ sudo ./slow.sh modem-14.4k

    View Slide

  32. 帯域を制限しよう
    Hosted by tdlabs (Sakai) [203.15 km]:
    439.276 ms
    Testing download speed...
    Download: 0.44 Mbit/s
    Testing upload speed...
    Upload: 0.00 Mbit/s
    32
    https://gist.github.com/CGenie/9c8947fc9474561ddfb3
    param modem-2.4k
    command=slow
    bandwidth=2400bps
    latency=250ms
    $ sudo ./slow.sh modem-2.4k

    View Slide

  33. 帯域を制限しよう
    Hosted by tdlabs (Sakai) [203.15 km]:
    509.974 ms
    Testing download speed...
    Download: 0.19 Mbit/s
    Testing upload speed...
    Upload: 0.00 Mbit/s
    33
    https://gist.github.com/CGenie/9c8947fc9474561ddfb3
    param modem-1200
    command=slow
    bandwidth=1200bps
    latency=280ms
    $ sudo ./slow.sh modem-1200

    View Slide

  34. 帯域を制限しよう
    v g f g …
    Cannot retrieve speedtest configuration
    ERRO: [Errno -3] Temporary
    failure in name
    resolution>
    34
    https://gist.github.com/CGenie/9c8947fc9474561ddfb3
    param modem-300
    command=slow
    bandwidth=300bps
    latency=300ms
    $ sudo ./slow.sh modem-300

    View Slide

  35. 帯域を制限しよう
    v g f g …
    Cannot retrieve speedtest configuration
    ERRO: [Errno -3] Temporary
    failure in name
    resolution>
    35
    https://gist.github.com/CGenie/9c8947fc9474561ddfb3
    param modem-300
    command=slow
    bandwidth=300bps
    latency=300ms
    $ sudo ./slow.sh modem-300
    Bandwidthが300bpsだと接続もできませんでした

    View Slide

  36. まとめ
    • Raspberry piで有線-有線ブリッジを作成
    • tcコマンドで帯域制限
    • 300 bpsではスピードテストできず
    36

    View Slide

  37. まとめ
    • Raspberry piで有線-有線ブリッジを作成
    • tcコマンドで帯域制限
    • 300 bpsではスピードテストできず
    今後の展開
    • 帯域制限下でストリーミングを楽しむ
    • 他の帯域制限法を試す
    37

    View Slide

  38. まとめ
    • Raspberry piで有線-有線ブリッジを作成
    • tcコマンドで帯域制限
    • 300 bpsではスピードテストできず
    今後の展開
    • 帯域制限下でストリーミングを楽しむ
    • 他の帯域制限法を試す
    38
    おしまい

    View Slide