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
91
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を実機で動かす USBキーボード接続編
kazueda
0
19
16ビットCPU用FUZIXを実機で動かす キー入力編
kazueda
0
25
初代プレステでuCLinuxその2「rootfsが公開されました」
kazueda
0
66
初代プレステでuCLinuxその1 Linuxのinitで「Hello World」
kazueda
0
100
Raspberry pi 400をUSBキーボードとして使う
kazueda
0
450
「東海道らぐ」のブースで「USBガジェット三昧」の展示
kazueda
0
52
Raspberry Pi Pico WでRNDIS-Wifiブリッジ
kazueda
0
130
Raspberry pi pico2の亜種で Risc-V用Linux-nommuを起動する話
kazueda
1
590
PythonのソースファイルをLLMで修正した話
kazueda
0
130
Other Decks in Programming
See All in Programming
その節約、円になってますか?
isamumumu
1
710
源内ハンズオン概要編
hideg
0
130
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
770
数百円から始めるRuby電子工作
tarosay
0
140
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
120
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.5k
Built Our Own Background Agent at LayerX
layerx
PRO
9
5.1k
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
310
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
140
「人を評価する AI」の設計と実装
ryoyanara
0
180
今さら聞けない .NET CLI
htkym
0
180
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
600
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
690
Git: the NoSQL Database
bkeepers
PRO
432
67k
Utilizing Notion as your number one productivity tool
mfonobong
4
520
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
260
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Become a Pro
speakerdeck
PRO
31
6.2k
Believing is Seeing
oripsolob
1
180
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Google's AI Overviews - The New Search
badams
0
1.1k
Why Our Code Smells
bkeepers
PRO
340
58k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
AI: The stuff that nobody shows you
jnunemaker
PRO
9
890
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 おしまい