SIP URIによるロケーションの解決はどのように行われるのですか? 藤原和典 (JPRS) |
SIP(参照:DNS Tips:SIPとは何ですか?)とは、一まとまりの通信を開始、変更、完了するアプリケーション層のシグナリングプロトコルで、電話やインスタントメッセンジャーのような、1対1あるいは複数の参加者間のやりとりに使われます。そのSIPで、相手を指定する方法の1つがSIP URIです。SIP URIのロケーション解決はRFC 3263に定義されています。
SIP URIは多くの場合、sip:info@jprs.co.jpのように、ドメイン名部分とローカル部分から構成されますが、ドメイン名部分の解釈を説明します。ローカル部については、SIPサーバに静的、あるいは動的に対応表を持ちます。補足ですが、SIP URIとしては、sip:ドメイン名、sip:IPアドレス という書き方も許されています。
0. ドメイン名部分がIPアドレスの場合はそのまま使用します。
1. ドメイン名に対する NAPTR リソースレコードを検索します。SIPが対象とするサービスフィールドは、SIP+D2U SIP+D2T
SIP+D2S SIPS+D2U SIPS+D2T SIPS+D2S、flagは“s” で、replacementフィールドに書かれたドメイン名に対してSRV検索を行なったものがSIP
URIの指すロケーションとなります。
例: NAPTR検索 |
|||
jprs.co.jpへのSIP呼び出しを考えます。まず、jprs.co.jpのNAPTR検索を行ない、以下の結果を得たとします。
SIP+D2Uは、トランスポートとしてUDPを用いるSIPサービスを示します。
sip0.jprs.co.jpのポート5060がサービスロケーションです。
以上の結果として、jprs.co.jpのSIPサービスは、203.178.133.20のUDP 5060 ポートであることが分かりました。 |
2. 1でNAPTRリソースレコードが定義されていない場合、過去の標準との互換性のために、対応しているSIPプロトコル・トランスポートに従い、ドメイン名に _sip._udp や_sips._tcp などのプロトコル・トランスポート識別子をつけ、SRV問い合わせを行ないます。その結果、1の後半と同様にロケーションを得ることができます。
例: TCPトランスポートを使用するSIPSに対応しているクライアントの場合 |
jprs.co.jpというドメイン名のロケーションを解決するには_sips._tcp.jprs.co.jp.に対し、SRV問い合わせを行ないます。 |
例: UDPトランスポートを使用するSIPに対応しているクライアントの場合 |
jprs.co.jpというドメイン名のロケーションを解決するには_sip._udp.jprs.co.jp.に対し、SRV問い合わせを行ないます。 |
3. 1、2での問い合わせが失敗した場合、そのドメイン名のA, AAAAを検索し、IPアドレスを得ます。
関連記事 | ENUMとは何ですか? ENUMはどのようにしてDNSのデータベースに登録されるの? SIPとは何ですか? NAPTRリソースレコードって何ですか? SRVリソースレコードって何ですか? |
DNS Tips Index |
「Master of IP Network総合インデックス」 |
- 完全HTTPS化のメリットと極意を大規模Webサービス――ピクシブ、クックパッド、ヤフーの事例から探る (2017/7/13)
2017年6月21日、ピクシブのオフィスで、同社主催の「大規模HTTPS導入Night」が開催された。大規模Webサービスで完全HTTPS化を行うに当たっての技術的、および非技術的な悩みや成果をテーマに、ヤフー、クックパッド、ピクシブの3社が、それぞれの事例について語り合った - ソラコムは、あなたの気が付かないうちに、少しずつ「次」へ進んでいる (2017/7/6)
ソラコムは、「トランスポート技術への非依存」度を高めている。当初はIoT用格安SIMというイメージもあったが、徐々に脱皮しようとしている。パブリッククラウドと同様、付加サービスでユーザーをつかんでいるからだ - Cisco SystemsのIntent-based Networkingは、どうネットワークエンジニアの仕事を変えるか (2017/7/4)
Cisco Systemsは2017年6月、同社イベントCisco Live 2017で、「THE NETWORK. INTUITIVE.」あるいは「Intent-based Networking」といった言葉を使い、ネットワークの構築・運用、そしてネットワークエンジニアの仕事を変えていくと説明した。これはどういうことなのだろうか - ifconfig 〜(IP)ネットワーク環境の確認/設定を行う (2017/7/3)
ifconfigは、LinuxやmacOSなど、主にUNIX系OSで用いるネットワーク環境の状態確認、設定のためのコマンドだ。IPアドレスやサブネットマスク、ブロードキャストアドレスなどの基本的な設定ができる他、イーサネットフレームの最大転送サイズ(MTU)の変更や、VLAN疑似デバイスの作成も可能だ。
|
|