Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
低帯域環境を楽しむその1
Search
kazueda
December 29, 2020
Programming
87
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
低帯域環境を楽しむ その1
kazueda
December 29, 2020
More Decks by kazueda
See All by kazueda
16ビットCPU用FUZIXを実機で動かす キー入力編
kazueda
0
11
初代プレステでuCLinuxその2「rootfsが公開されました」
kazueda
0
57
初代プレステでuCLinuxその1 Linuxのinitで「Hello World」
kazueda
0
90
Raspberry pi 400をUSBキーボードとして使う
kazueda
0
370
「東海道らぐ」のブースで「USBガジェット三昧」の展示
kazueda
0
43
Raspberry Pi Pico WでRNDIS-Wifiブリッジ
kazueda
0
110
Raspberry pi pico2の亜種で Risc-V用Linux-nommuを起動する話
kazueda
1
540
PythonのソースファイルをLLMで修正した話
kazueda
0
130
M5Stackサーバーを使って初代プレイステーションでuClinuxのカーネルを起動
kazueda
0
170
Other Decks in Programming
See All in Programming
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
150
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
170
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
350k
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
170
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
2
620
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
130
Vite+ Unified Toolchain for the Web
naokihaba
0
340
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.5k
Webフレームワークの ベンチマークについて
yusukebe
0
180
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
120
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
370
AIだと陥りがちなJakarta EE最新技術への移行時の落とし穴と解決策
tnagao7
0
120
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
860
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Leo the Paperboy
mayatellez
7
1.9k
Technical Leadership for Architectural Decision Making
baasie
3
420
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Heart Work Chapter 1 - Part 1
lfama
PRO
7
36k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Mobile First: as difficult as doing things right
swwweet
225
10k
Transcript
低帯域環境を楽しむ その1 環境設定 鹿児島Linux勉強会 2020.12 2020. 12. 26 1 kazueda
か ず え だ
kazueda(かずえだ)の紹介 • 大阪出身、丙午、おとめ座、O型 • 科学者(化学) • 2003年4月から、浜松で働き始める • 自転車での移動が生活の足 •
趣味は、「ラジオを聴くこと」、 「アメリカのコミックの邦訳を読む こと」 • 「STAY HOME」期間にオンライン イベントの楽しさを知りました。 • 懇親会の楽しみ方を確立する前に、 オンライン懇親会のシーズンが終わ りそうです。 @kazueda 2 slideshare speaker deck
kazueda(かずえだ)の紹介 • 大阪出身、丙午、おとめ座、O型 • 科学者(化学) • 2003年4月から、浜松で働き始める • 自転車での移動が生活の足 •
趣味は、「ラジオを聴くこと」、 「アメリカのコミックの邦訳を読む こと」 • 可能な限りオンラインイベントに参 加して、発表するようにしています。 • ひと月に2回程度の発表がちょうど よいようです。 @kazueda 3 slideshare speaker deck
今回のお話 • これまでのお話 • 遅延から帯域制限に • 帯域制限の環境設定 • 帯域制限の実際 •
今後の展開 4
今回のお話 • これまでのお話 • 遅延から帯域制限に • 帯域制限の環境設定 • 帯域制限の実際 •
今後の展開 5
これまでのお話 • 9月のらぐでは、動画と音声のストリーミ ングのずれを何とかしようとしてました。 6
これまでのお話 • 9月のらぐでは、動画と音声のストリーミ ングのずれを何とかしようとしてました。 7
これまでのお話 • 9月のらぐでは、動画と音声のストリーミ ングのずれを何とかしようとしてました。 8
matokenさんの提案 9
今回のお話 • これまでのお話 • 遅延から帯域制限に • 帯域制限の環境設定 • 帯域制限の実際 •
今後の展開 10
Linuxのtcコマンド見つけました • 遅延を設定できます。 • 帯域制限できます。 11
Linuxのtcコマンド見つけました • 遅延を設定できます。 • 帯域制限できます。 12
Linuxのtcコマンド見つけました • 遅延を設定できます。 • 帯域制限できます。 13 帯域制限できます!!
Linuxのtcコマンド見つけました • 遅延を設定できます。 • 帯域制限できます。 Kazuedaの使っているIIJのsimは、低速、高 速切り替えられるので便利。 低速の速度制限時は、無制限に使えます。 14 帯域制限できます!!
Linuxのtcコマンド見つけました • 遅延を設定できます。 • 帯域制限できます。 kazuedaの使っているIIJのsimは、低速、高 速切り替えられるので便利。 低速の速度制限時は、無制限に使えます。 15 速度制限時の環境を構築して、
何が楽しめるか探してみます。
IIJmioのSIMの上限を超えた世界 • 速度制限下では、以下の通りです。 参考:モデム 300~28800 bps 16
IIJmioのSIMの上限を超えた世界 • 速度制限下では、以下の通りです。 参考:モデム 300~28800 bps 17 どのように楽しみましょうか。
今回のお話 • これまでのお話 • 遅延から帯域制限に • 帯域制限の環境設定 • 帯域制限の実際 •
今後の展開 18
人工的に回線速度を遅くします 1. Raspberry pi 1BにUSB-LANアダプタ、TTL- USBケーブルをつなぐ 2. 有線LAN-有線LANブリッジを作成 3. tcコマンドで設定
19
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 ②④⑥⑧⑩
2. 有線LAN-有線LANブリッジを作成 1. ブリッジユーティリティのインストール 2. 新しいブリッジを作る”addbr <brname>” 3. ブリッジを追加”addif <brname>
<ifname>” 21 $ sudo apt install bridge-utils $ sudo brctl addbr br0 $ sudo brctl addif br0 eth0 $ sudo brctl addif br0 eth1
2. 有線LAN-有線LANブリッジを作成 1. ブリッジユーティリティのインストール 2. 新しいブリッジを作る”addbr <brname>” 3. ブリッジを追加”addif <brname>
<ifname>” 4. 設定が反映されているか確認 22 $ brctl show bridge name bridge id STP enabled interfaces br0 no eth0 eth1 ############
2. 有線LAN-有線LANブリッジを作成 1. ブリッジユーティリティのインストール 2. 新しいブリッジを作る”addbr <brname>” 3. ブリッジを追加”addif <brname>
<ifname>” 4. 設定が反映されているか確認 5. インターフェースの有効化 23 $ sudo ip link set eth0 up $ sudo ip link set eth1 up $ sudo ip link set br0 up
2. 有線LAN-有線LANブリッジを作成 1. ブリッジユーティリティのインストール 2. 新しいブリッジを作る”addbr <brname>” 3. ブリッジを追加”addif <brname>
<ifname>” 4. 設定が反映されているか確認 5. インターフェースの有効化 24 $ sudo ip link set eth0 up $ sudo ip link set eth1 up $ sudo ip link set br0 up 実験用なので、シェルスクリプトにしておくと便利
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
今回のお話 • これまでのお話 • 遅延から帯域制限に • 帯域制限の環境設定 • 帯域制限の実際 •
今後の展開 26
速度測定はspeedtest-cli ↑ リストに掲載の任意のサーバーの番号 27 https://github.com/sivel/speedtest-cli $ speedtest-cli --list $ speedtest-cli
–-server @@@@@
帯域を制限しよう • Bash script見つけました 28 https://gist.github.com/CGenie/9c8947fc9474561ddfb3 https://gist.github.com/obscurerichard/3740206 https://gist.github.com/denilsonsa/5176e1c9b6a119594ce0
帯域を制限しよう 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 利用可能な設定
制限前 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 ブリッジを通すだけでかなり遅くなっています
帯域を制限しよう 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
帯域を制限しよう 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
帯域を制限しよう 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
帯域を制限しよう v g f g … Cannot retrieve speedtest configuration
ERRO: <urlopen error [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
帯域を制限しよう v g f g … Cannot retrieve speedtest configuration
ERRO: <urlopen error [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だと接続もできませんでした
まとめ • Raspberry piで有線-有線ブリッジを作成 • tcコマンドで帯域制限 • 300 bpsではスピードテストできず 36
まとめ • Raspberry piで有線-有線ブリッジを作成 • tcコマンドで帯域制限 • 300 bpsではスピードテストできず 今後の展開
• 帯域制限下でストリーミングを楽しむ • 他の帯域制限法を試す 37
まとめ • Raspberry piで有線-有線ブリッジを作成 • tcコマンドで帯域制限 • 300 bpsではスピードテストできず 今後の展開
• 帯域制限下でストリーミングを楽しむ • 他の帯域制限法を試す 38 おしまい