ネスペ勉強メモ2【特定用途向けのネットワーク】
ネスペ試験の個人メモです
WAN
「Wide Area Network(ワイドエリアネットワーク)」の略で、遠く離れた場所とつながったネットワークのことで、だれもが自由に接続できるネットワーク。 WANは簡単に言えばLANとLANをつないだ大きなネットワークのこと。
FTTx
FTTH(Fiber To The Home), FTTC(Fiber To The Curb), FTTB(Fiber To The Building)などアクセス回線を光ファイバーで接続して、高速で広帯域な通信を行う方法のこと。その中でも現在主流になりつつあるのはGE-PON(Gigabite-Ethernet - Passive Optical Network)である。GE-PONの構成例は下記の通りである。
ONU(Optional Network Unit)は自宅にあるやつ、OLT(Optional Line Terminal)は収容局側にあるもので、どちらも電気信号と光信号を変換する機能を持っている。その中間にある光スプリッタは光信号を通すだけの「受動的」な装置のためPON(Passive Optical Network)という名所の由来になっている。
IP-VPN網
WANサービスの一つ。ネットワーク層プロトコルとしてIPを使用して、通信事業者が提供する閉域網の中でVPNを実現するサービス。レイヤ3サービスを実現している。
IP-VPN網の通信はMPLS(Multi-Protocol Label Switching)という技術を使ってパケット転送を行っている。MPLSではラベルという利用者を識別する固有のVPN情報をパケットに付与する。これを用いることで閉域内で利用者ごとにルーティングテーブルが作られてVPNが実現する。また網の外に出て外部と通信する場合はラベルは除去されるため、利用者はその存在を意識することがない。
広域イーサ網
通信事業者が提供するイーサネット閉域網を利用してVPNを実現するサービス。IP-VPNとは違いレイヤ2サービスを実現している。
広域イーサ網の通信はVLAN技術を用いてパケットを転送しており、網に入る際にVLANタグ(拡張VLANタグ)をパケットに付与して、網を出るときにこれを除去する。
※レイヤ2サービスとレイヤ3サービスの違い
レイヤ2サービスはMACアドレスを参照してデータ通信を行う
レイヤ3サービスはIPアドレスを参照してデータ通信を行う
※IP-VPN網と広域イーサ網の違い
IP-VPNはネットワーク層プロトコルがIPに限定されているのに対して、広域イーサ網は様々なプロトコルに対応しているため、広域イーサネットはIP-VPNに比べて柔軟なカスタマイズが可能な代わりに設定が煩雑だという特徴がある。
WAN高速装置(WAS)
Wan Acceleration Systemの略らしい。ちなみにアクセラレーターは「加速させるもの」という意味。WASはWAN回線を挟んだ2拠点のそれぞれに設置する。以下のようなイメージ。
何故WASだと高速データ転送ができるのか?
WASの高速データ転送の理由を知る上で、通常のファイル転送と比較する。SMB1.0(CIFS)を取り上げるとCIFS(Common Internet File System)の仕様上、リクエスとレスポンスの1往復でやり取りできるデータサイズには上限があるため、大きいファイルサイズのデータを読み出すには何往復もする必要がある。1往復あたりの所要時間は下記の式で求まる。
[1往復あたりの所要時間] = [シリアル化遅延時間] + [RTT]
[シリアル化遅延時間] = [パケット] / [帯域] で求めることができる。つまりはデータ量が少なく帯域が広いならば時間は短くなり、逆にデータ量が多く帯域が狭いなら時間は長くなるということ。
RTT(Round Trip Time)とはリクエストを送ってからレスポンスが返ってくるまでのパケット往復時間のことである。
SMB1.0の場合はデータ上限があるため、仮に帯域を広くしてシリアル化遅延を減らしたとしてもデータ数膨大ならばその分往復数も増加するため、RTTの影響をもろにうけることになりデータの転送が遅くなる。
これを解消するのがWASの「代理応答」と「一括転送」の技術である。「代理応答」とはWASがあたかもファイルサーバであるかのように振る舞うこと。これを行うことによってWAS間でデータの「一括転送」を実現している。
一括転送といっても膨大なデータを一度でやり取りできるわけではないが、SMB1.0に比べると往復回数はかなり減るため、帯域数を広くしなくてもRTTの影響を少なくすることで、高速データ通信を実現している。RTTの遅延時間が大きければ大きいほどWASによる高速化の恩恵を受けることができるといえる。
※SMBプロトコルについて
SMB1.0に関しては前述した通り1往復のやりとりが主に行われるが、今日ではSMB2.0以降が広く用いられており、こちらは並列処理ができたり、非同期処理ができたりなどの機能がある。
ユニファイドコミュニケーション
ユニファイド(=統一された)の意味。さまざまな通信・伝達手段を連携させ、共通の利用基盤として提供するシステムやサービスの総称。電話、テレビ電話、遠隔会議、電子メール、インスタントメッセンジャーなどを、仮想化した利用基盤を経由させることで、統合的な管理・利用が可能となる。
SIP(Session Initiation Protocol)
端末間でセッションの生成、変更、転送、切断などを行うプロトコル。SIPでは端末のことをユーザーエージェント(UA)という。SIPはあくまでセッションを制御する機能であり、セッション上のやり取りされるデータ転送は行わない。リアルタイムデータの転送にはRTP(Rear-time Transport Protocol)を用いる。また、SIPの機能は上記で述べたセッション制御の他にもインスタントメッセージ機能、イベント通知機能などがある。
※SIPはテキストデータなのに対して、RTPはバイナリデータという違いがある。
SDP(Session Description Protocol)
リアルタイムデータの転送を行う前に、上位アプリケーション間でどのような通信を行うかの情報交換を行う必要がある。具体的には「UAのIPアドレス」「RTPが使用するポート番号」「符号化方式」など。こういった情報を一括りにまとめたものがSIPの規定するセッションである。セッションの記述方法を規定したものをSDPという。
※SIPで規定されるセッションを記述するための規約(プロトコル)がSDP
SIPの構成要素
SIP構成要素はUAとSIPサーバである
UA
ユーザーエージェント、端末のこと。UAの識別にはSIP URIが用いられる。書式は「sip:[利用者識別子]@ドメイン名」というURI形式。
SIPサーバ
外部の電話から社内のIP電話にかける際を考えると、発呼側がIP電話のIPアドレスを知っていればそのまま繋がるのでSIPサーバなど不要だが、実際には相手端末のIPアドレスまでは知らないことが多いためSIPサーバが必要となる。SIPサーバの役割は以下の3つに分類できる。
レジストラ
プロキシサーバ
リダイレクトサーバ
※レジストラとはREGISTERリクエストを受理し、位置情報(SIP URIにIPアドレスや保持時間などを対応付けした情報)をロケーションデータベースに登録すること。
SIPのメッセージ
発呼側から送られるリクエストと着呼側から返信されるレスポンスの2種類がある。
SIPのリクエスト
どれも頻出らしいので抑えておいたほうがよさげ
レスポンス
ブラウザとか同じようにレスポンスコードが返される。レスポンスコードに関してはブラウザとほぼ同じ
1xx 情報応答
2xx 応答成功
3xx リダイレクト応答
4xx クライアント起因のエラー
5xx サーバーエラー
6xx 一般的なエラー
SIPメッセージフォーマット
SIPメッセージはスタートライン、ヘッダ、ボディからなる。以下がメッセージ例である。
Viaフィールド
リクエストが経由したパスを示している。まず最初に送信元UAが自分のIPアドレス(またはホスト名)を格納、その後中継先で自分を経由したことを示すためにViaフィールドの上位に1行追加していく。受信側に届いた後はレスポンスを送り返す際に再度Viaフィールドを用いる。今度は逆の手順で最上位のViaフィールド最上位行を1行消して、中継する。これを繰り返すことで送信元UAの元にたどり着く仕組みである。
※ボディは必要に応じて追加されるためないものもある。
SIPシーケンス(SIPサーバーあり)
SIPサーバーを挟まない場合もあるが、前述した通り相手のIPアドレスがわからないといけないので注意。基本的には[INVITE]→[200 OK]→[ACK]の手順でセッションの生成を行い(スリーウェイハンドシェイク)、メディアデータを通信、最後は[BYE]→[200 OK]でセッションの切断を行う手順となる。
セッション生成部分に着目するとSIPサーバーはTryingとRingingというパケットを送信している。Tryingは処理中の意味で、SIPサーバーがINVITE要求の転送を知らせるために、結果が返ってくる前に投げるものである。Ringingは呼び出し中の意味で着呼側が要求応答するまでの間に投げるものである。
HTTPSダイジェスト認証
SIPは通信相手のUAを認証する仕組みを持っており、SIPが規定している認証がダイジェスト認証である。簡単な流れは以下の通りである。
UAはサーバーにリクエストを投げる
サーバーは認証が通っていないのでチャレンジ値(ランダム値)をUAに送り返す。(この時のステータスは「401 Unathorized」)
UAはユーザー名とレスポンス値(パスワードとチャレンジから生成したハッシュ値)をサーバーに投げる
サーバー側が認証を行い、先程のチャレンジが使われた上で正しい認証情報であれば通す。(この時のステータスは「200 OK」)
3の時に平文のパスワードを送信していないため、万が一通信情報が盗聴されたとしてもパスワード漏洩に繋がらないため、BASIC認証と比べると安全な認証と言える。
VoIPネットワーク
VoIP(Voice over Internet Protocol)はインターネットのようなデータ回線を使って音声通信を行うことができる技術のことをさす。公衆IP電話網と自社の内線IP電話網を接続するには2つのSIPネットワークを接続するVoIPゲートウェイ(以下、VoIP GW)が必要である。
自社から公衆IPへの通信を考える。自社端末のIPはローカルIP、公衆IPはグローバルIPのため単純にNAT接続で通信を試みるときは問題ないが、レスポンスの際にローカルIPに対してレスポンスを送るためレスポンスが返ってこない。VoIPはNAPT機能を伴う中継を行うB2BUA(Back-to-Back User Agent)となる。
B2BUA(Back-to-Back User Agent)
両方のSIPネットワークに対してUAとして振る舞う特殊なUA。「2つのUA」が連携して動作することでSIPネットワーク中継を可能にする。このようなNAT起因の問題を解決するVoIP機能のことをNATトラバーサル機能という。
また、VoIPはセッションの値のやり取りだけではなくRTP(リアルタイムデータパケット)の中継を行うSBC機能(Session Border Controller)もある。
※NATとNAPT(IPマスカレード)の違い
NAT(Network Address Translation) … IPアドレスを変換する(ローカルIP→グローバルIPなど)
NAPT(Network Address Port Translation) … IPアドレスとポート番号を変換する