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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
kazueda
December 29, 2020
Programming
95
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を実機で動かす「X68000でrootfsマウント編」
kazueda
1
13
16ビットCPU用FUZIXを実機で動かす USBキーボード接続編
kazueda
0
23
16ビットCPU用FUZIXを実機で動かす キー入力編
kazueda
0
29
初代プレステでuCLinuxその2「rootfsが公開されました」
kazueda
0
67
初代プレステでuCLinuxその1 Linuxのinitで「Hello World」
kazueda
0
110
Raspberry pi 400をUSBキーボードとして使う
kazueda
0
470
「東海道らぐ」のブースで「USBガジェット三昧」の展示
kazueda
0
55
Raspberry Pi Pico WでRNDIS-Wifiブリッジ
kazueda
0
130
Raspberry pi pico2の亜種で Risc-V用Linux-nommuを起動する話
kazueda
1
620
Other Decks in Programming
See All in Programming
高専キャリア LT 発表内容
crysta1221
4
4.2k
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
240
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
1
2k
React本体のコードリーディング
high_g_engineer
1
160
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
180
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
190
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
230
Flow は今どうなっているか
mizdra
PRO
0
760
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
530
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
1
830
引き算の組織 ― アウトカムとAIに全振りするために辞めたこと ― / Organization by Subtraction
hirokiyamamoto14
PRO
0
310
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.3k
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
The Curse of the Amulet
leimatthew05
2
14k
Crafting Experiences
bethany
1
270
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Writing Fast Ruby
sferik
630
63k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Are puppies a ranking factor?
jonoalderson
2
3.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
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 おしまい