ping電話

実験31A班

2017年度電気電子情報第一 (前期) 実験
i1i2i3 最終発表スライド

今年のi3実験はすごいらしい

  • 機械学習
  • 音声認識
  • VR
  • 文系就職

弊班

ping

ping

ネットワークの疎通確認に
使うやつ
テキストp.156参照

実行例

実体は
ICMP Echo Message

_人人人人人人_
>   任意データ   <
>     送信可能    <
 ̄Y^Y^Y^Y^Y^Y ̄

ping電話

ping電話

  • ICMP Echo Message を用いて
    音声データの送受信を行う
  • 要するに相手マシンにpingを
    ガンガン送りつけるだけ
  • Linuxでは権限管理上の問題で
    sudoコマンドをつける必要がある

ping電話

  • 一回のpingで送れるデータ量の上限は
    実測上25180バイト (=24.6kB)
    • OSのIPパケットのサイズ上限に​制限される模様
    • 実際には経路MTUに大きく左右されるらしい⋯⋯?
  • pingを1秒に10回送れば2Mbps
    • 快速インターネット

ユースケース

ユースケース

(まともなの)

  • ポート番号を気にする必要がない
    • ICMPにポートという概念はない
    • 「Address already in use」「は?」
      がなくなる
    • ポート開放もいらない

ユースケース

(やばいの)

  • Web認証が必要なWiFiアクセスポイントの
    認証を (無理やり) 突破することができる
    • 0001softbankSWS1dayなどの
      ​有料回線も使い放題
  • ルーターのファイアウォールを
    素通りすることができる
    • ルーター「何者だ!」
      怪しい通信「pingです」
      ルーター「よし通れ」

デモ

↑↓同時に再生してネ

圧縮の話

音声圧縮

  • 音声コーデックとしてOpusを採用
    • レンテイシの小ささを重視し、
      ストリーミングに特化したコーデック
    • 可変ビットレート
    • 20~ samples/frame という
      非常に小さなフレームで動作可能
      • 参考: MP3 (MPEG-1) では 1152 samples/frame

音声圧縮

  • 今回の通信ではビットレート 16kbps (= 2kB/s) に設定
    • これでも十分通話可能なレベル
  • ぶっちゃけping化実装の10倍大変だった
    • libopusの怪しいAPI, バージョン違い,
      メモリリーク, etc...

ご清聴ありがとう
ございました

Made with Slides.com