61. Hole Punching
NATs
Local
Host
10.100.100.100:10002
192.168.0.1:10001
NATはトランスポートアドレスをアロケートして、
ローカルホストとのマッピングを行う
62. Hole Punching
NATs
Local
Host
10.100.100.100:10002
192.168.0.1:10001
このグローバルアドレスに
パケットが来た場合
63. Hole Punching
NATs
Local
Host
10.100.100.100:10002
192.168.0.1:10001
マップされたローカルホストに
パケットを送信
64. Hole Punching
!
Transport Address(IP&Port)をどうチェックに使うか
パケットを送ってきた相手に対して、こちらから送信したことがあるか
などのチェックの仕方など
ルータによって振舞が変わる
必ずしもうまくはいかない
65. STUN
STUN
Server
NATs
STUN
Client
外から見て自分のアドレスがどうなっているかを
確認するためのもの
!
STUNサーバーはリクエストを受け取ると
自分から見える相手のアドレスを返すだけ、という
非常にシンプルな機能のサーバー
Server Reflexive Transport Address
Host Transport Address
102. Bluetooth Low Energy (BTLE)
• LE = Low Energy (省エネ)
• Bluetooth 4.0から
• それまで(Bluetooth Classic)は高速化を追求
• 別物と考えるくらいで
• 4.0=LEではなく、4.0の中にLEの他にHS(HightSpeed)なども
103. Paring
• 旧来のBluetoothでは基本的にデバイスのペアリング必要。2.1以上ではSecure Simple Paring
• Just Works
• Out of Band (NFCとか)
• Passkey Entry
• Numeric Comparison
• iBeaconなどに見られるようにLEではペアリングの無いユースケースがほとんど
• LEも似たようなモデルがあり、PassKeyEntryも一応存在するし、逆に、上に上げたように、
ClassicにもJust Worksがあり、確認なしで使える仕様も存在はする。
• とはいえ、LE用のSDK/チップではJust Worksしか採用されてなかったりする