概要
引用元:
「平成26年度 秋期 ネットワークスペシャリスト試験(NW)午後Ⅱ 問2」
「平成28年度 秋期 ネットワークスペシャリスト試験(NW)午後Ⅱ 問1」
※それぞれ一部改変しております。
簡易的に記載しております。
至らない点がございますのでご了承ください。
前提知識
●VoIP( Voice over Internet Protocol )
- アナログの音声をデジタル化して、電話回線ではなくインターネットを通じて、音声通話を実現する技術
- 音声のアナログ信号をIPパケットでカプセル化することによって、インターネット回線を介して、安く電話ができるようになった
- 昔の電話回線は高かった、企業のコストカット要請が後押しした
●PBX( Private Branch eXchange )
- 2019年現在ではほとんど見かけない、インターネットに対応していない古い技術
- 電話回線において企業の電話機を統括する交換機
●IP-PBX( Intenet Protocol Private Branch eXchange )
- 企業内の電話機をコントロールする交換機で、 インターネット(TCP/IP)に対応した機器
- 現代の企業内で使われているのは、 PBXではなくIP-PBX
- VoIP対応PBXともいう
●VoIP-GW( VoIP gateway )
- アナログ網とインターネット網の境界に設置される
- アナログ網とインターネット網のSIP制御の差異を吸収して整合性をとる
- アナログの電話機でも VoIP-GW を介して、アナログ音声データがIPパケットでカプセル化され、IP電話を可能にする
- 昔の古い電話網(企業内)とインターネットに対応した新しい電話網(取引先)の間にたって、うまく電話できるようにしてくれるやつ ※あくまで例
- VoIP-GWは両方のSIPネットワークに対してUAとしてふるまう特殊なUAであるB2BUA(Back-to-Back User Agent)になる
- 要は八方美人で自分と異なる相手でも仲良くできる世渡り上手なやつ※26年ではIP-PBXがSIPサーバーを担い、28年では IP-PBXがVoIP-GW を担っている
SIPとは
●SIP(Session Initiation Protocol)
- UA(User Agent)間で、セッションに生成、変更、切断を行うプロトコル
- 生成したセッション上で、どのような通信を行うかは、SIPを使う上位のアプリケーションが、通信相手とのネゴシエーション(やりとり)によって決定する
- 音声データを転送するプロトコルはRTP、トランスポート層のプロトコルはリアルタイム性と再送制御を行わないUDPが使われる
- SIPのセッション生成の過程でのやりとりでSDP(Session Description Protocol)が使われる
- セッションの生成を仲介するサーバ(SIPサーバ)が利用される
①UA(User Agent)間で、セッションに生成、変更、切断を行うプロトコル
要は、企業内の電話や携帯電話のような端末(UA)間同士で、電話しようとかメッセージ送るなど最初にやりとりするときの約束ごと
②生成したセッション上で、どのような通信を行うかは、SIPを使う上位のアプリケーションが、通信相手とのネゴシエーション(やりとり)によって決定する
SIPを使って音声データだけをやりとり→電話
SIPを使って文字やテキストだけをやりとり→チャット(インスタントメッセージ)
SIPを使って音声データと動画をやりとり→ビデオ通話、ビデオ会議
③音声データを転送するプロトコルはRTP、トランスポート層のプロトコルはリアルタイム性と再送制御を行わないUDPが使われる
④SIPのセッション生成の過程でのやりとりでSDP(Session Description Protocol)が使われる。
SDPのセッション生成情報には、接続相手のURI(相手を識別するもの)、自分のURIとIPアドレスなどの通信に必要な情報が用いられる。
SDPの中にも送信元のIPアドレスが記述されるので、NATに関連して問題となる。
⑤セッションの生成を仲介するサーバ(SIPサーバ)が利用される
セッションは通信を行うUA間で直接やりとりして生成することもできるが、利用者が多いとURIの登録に手間がかかるので、セッションの生成を仲介するサーバが登場する。SIPサーバと呼ばれる。
転職エージェント(SIPサーバ)のように、転職者(端末、UA)が登録すれば、人員を募集している登録済みの企業(相手の端末、UA)の中から自分に合った転職先に応募することができるようになる。
SIP通信の確立手順
- UAは自分の利用者識別子と自分のIPアドレスを含む登録メッセージをSIPサーバに送信することで初期登録を行う
※通信相手のUAも↑の初期登録を行う - SIPサーバがセッションの生成を仲介するので、登録されたURIから、それに紐づく相手のIPアドレスを求めて、その相手にINVITEメッセージを送り、通信の開始をお願いする。
- 通信相手から200 OKが返答されたらSIPセッションが確立されて、その上でアプリケーションのやりとりが行われる。
※26年ではIP-PBXがSIPサーバーを担っている↓

出典:「平成26年度 秋期 ネットワークスペシャリスト試験(NW)午後Ⅱ 問2 p14」
SIPの問題点
SIPの問題点はNATとの相性がよくないこと
SIPで行うメッセージの中には送信元のIPアドレス(プライベートアドレス)が記述される。
しかし、一般的なNAT機器ではIPヘッダしか変換しない。
そのため、SIPメッセージ内(SIPヘッダやSDP)のIPアドレス情報を書き換えることができない。
①解決策
そこで専門的なNAT機器が必要になる。
それがSBC( Session Border Controller )で、SIPネットワークの境界に存在してセッションの生成を仲介するとともにRTPパケットの中継も行う機器。通常のNAT機器ではアドレス変換対象外のSIPメッセージ内の送信元IPアドレスを、SBCがNAT変換することによって、企業内の端末と外部のやりとりが可能になる。
※26年ではVoIP-GWがSBCを担っている

出典:「平成26年度 秋期 ネットワークスペシャリスト試験(NW)午後Ⅱ 問2 p15」
②解決策
STUN (Session Traversal Utilities for NAT) を活用したNAT越え
STUNとは、NATで変換された後のIPアドレスを教えてくれるサーバ
SDPを利用して、STUNサーバから知りえたNATで変換された後のIPアドレス(グローバルIPアドレス)とその送信元のIPアドレス(プライベートIPアドレス)を自分と相手にお互い通知。
それら2つのIPアドレスをもとにSIP通信を行うことで、NAT越えを可能にする。

出典:「平成28年度 秋期 ネットワークスペシャリスト試験(NW)午後Ⅱ 問1 p6,7」

出典:「平成28年度 秋期 ネットワークスペシャリスト試験(NW)午後Ⅱ 問1 p7」