タグ

stunに関するi_matsuiのブックマーク (8)

  • WebRTCにおけるNAT越えの課題へのアプローチ - Qiita

    WebRTCは、音声映像メディアやデータをP2Pで通信する能力をブラウザに提供します。しかし、既存のインターネットの世界ではNATが広く用いられており、容易にP2Pを利用することはできません。この記事では、NATに対してどのような課題がWebRTCに存在し、どのようなアプローチで解決を試みているかについて解説します。 インターネットの世界におけるNATの存在 今日のインターネットにおいて、エンドユーザが用いるホストのほとんどは何らかのNATデバイスの配下に設置されています。これはWebに携わるエンジニアの間では広く知られている事実でしょう。全世界に広がった広大なインターネットの世界に対応するためにIPv6が新たなインターネットプロトコルとして発案されてかなりの時刻が経過しました。にもかかわらず、古いインターネットプロトコルであるIPv4が一般的に用いられており、しかもそのアドレスは既にとっ

    WebRTCにおけるNAT越えの課題へのアプローチ - Qiita
  • 輪講資料 ICE(Interactive Connectivity Establishment)

    輪講資料 ICE(Interactive Connectivity Establishment) 名城大学 理工学部 情報工学科 渡邊研究室 B4 140441043 鴨下友馬 1/61 ICE 基事項 RFC5245で標準化されているUDPベースのNAT越えプロトコル オファー/アンサーモデルを利用する任意のプロトコルで 使用可能である. オファー/アンサーモデル:セッションを開始するために,一方が自らの視点 から情報を提供し(オファー),もう一方が相手に対応する情報を返答する (アンサー)モデル.RFC3264で標準化. オファー/アンサーモデルを利用するプロトコルの例:  SIP(Session Initiation Protocol):音声や映像,テキストメッセージの交換などを 行うために必要なセッションの生成・変更・切断を行うプロトコル STUN,TURNという2つ

  • WebRTCでTURNを使う - console.lealog();

    トピックとしてはまったく目新しくないけど、そういやまとめてないなと思ったのでメモ。 TURN RFC 5766 - Traversal Using Relays around NAT (TURN): Relay Extensions to Session Traversal Utilities for NAT (STUN) `Traversal Using Relays around NAT`ってやつ。 P2Pの場合、各エンドポイントにはそれぞれの都合があって、簡単につなげないこともある。 ざっくり言うと、たとえば特定のプロトコルが使えないとか、ポートが空いてないとか、変なプロキシがいるとか。 そんなときにいったんグローバルにいるTURNサーバーを中継することで、厳密なP2Pではなくなるけど、接続成功率が上がったり、通信経路を固定化できたり、場合によっては通信の品質も安定したりする・・スル

    WebRTCでTURNを使う - console.lealog();
  • WebRTC で利用されいる TURN プロトコルの解説

    webrtc_turn.rst WebRTC で利用されいる TURN プロトコルの解説 日時 2021-01-29 作 @voluntas バージョン 2021.2 url https://voluntas.github.io/ この記事が良いと思ったらこの記事に Star をお願いします。 著者 株式会社時雨堂 で 1 から多くの商用環境で利用されている WebRTC SFU を開発している。 WebRTC スタックは暗号ライブラリの利用している部分以外はすべて自前実装。 概要 WebRTC は P2P というイメージをお持ちの方が多いと思います。 今回は P2P で繋げなかった場合に利用される TURN というプロトコルの話をします。 目的は単純で、気で WebRTC を使う場合は繋がることが重要になります。 そして、トラブルシューティングをする人向けの話です。 実際に運用している

    WebRTC で利用されいる TURN プロトコルの解説
  • STUN Clientを実装してみる - Qiita

    ハッカソンで勉強がてらSTUN Clientを実装したのでメモ。 github 方針 STUNサーバのRFCは2ある https://tools.ietf.org/html/rfc3489 https://tools.ietf.org/html/rfc5389 (RFC5780もSTUNに関係しているけど、定義自体はこの2)。このうちRFC5389はRFC3489をobsoleteしているので、実際には5389だけ読めばいい。 ただ変更記述を読んでも今ひとつピンとこなかったのと、ハッカソン中に実装が終わるかどうかということを考え、RFC3489のClientだけ実装することにした。 従って以下の記述はRFC3489に関するものである。 概要 NATの後ろに居るPrivate IPアドレスしか持っていないクライアントは、インターネット上の機器と通信することができないため、どこかでグローバ

    STUN Clientを実装してみる - Qiita
  • WebRTCゲートウェイ「Janus」を使ってみた - Qiita

    何をしたのか WebRTCゲートウェイ「Janus」をインストールし、サンプルを動かしてみました。 Janusとは Janus: the general purpose WebRTC Gateway 汎用WebRTCゲートウェイ ビデオ通話などの機能はプラグインとして提供されている SFU/MCUなどもプラグインとして提供されている。 早速インストール 実行環境 さくらのVPS CPU2コア メモリ1GB OS Ubuntu 16.04 LTS 依存パッケージをインストール $ sudo apt-get install libmicrohttpd-dev libjansson-dev libnice-dev \ libssl-dev libsrtp-dev libsofia-sip-ua-dev libglib2.0-dev libopus-dev \ libogg-dev libcurl

    WebRTCゲートウェイ「Janus」を使ってみた - Qiita
  • TypeScriptとNode.jsでWebRTCを実装してみた

    WebRTC Meetup Online #1 開発リポジトリ https://github.com/shinyoshiaki/werift-webrtc

    TypeScriptとNode.jsでWebRTCを実装してみた
  • WebRTCのサンプル一覧|npaka

    以下の記事を参考に書いてます。 ・WebRTC samples 1. WebRTC「WebRTC」を使用すると、オープンスタンダード上で動作するリアルタイム通信機能をアプリケーションに追加できます。ピア間で送信されるビデオ、音声、および一般的なデータをサポートしているため、開発者は強力な音声およびビデオ通信ソリューションを構築できます。 このテクノロジーは、すべての主要なプラットフォームのネイティブクライアントだけでなく、最新のすべてのブラウザで使用できます。「WebRTC」の背後にあるテクノロジーは、オープンWeb標準として実装されており、すべての主要なブラウザで通常の「JavaScript API」として使用できます。 AndroidやiOSなどのネイティブクライアントの場合、同じ機能を提供するライブラリを利用できます。 「WebRTC」プロジェクトはオープンソースであり、Apple

    WebRTCのサンプル一覧|npaka
  • 1