KATOエンジニヤリング開発日誌

「アウトプット無きエンジニアにインプットもチャンスも無い」の精神で書いています

仮想化技術と無線通信について学ぶ

ネットワーク特論1の第14回目の授業内容まとめになります。

AIITのネットワーク特論1を受講しました - KATOエンジニヤリング開発日誌

TCP/IPモデルの役割と標準化を学ぶ - KATOエンジニヤリング開発日誌

レイヤ2のネットワーク機器と通信方式・データ配送方式 - KATOエンジニヤリング開発日誌

ネットワーク層の機器と技術について学ぶ - KATOエンジニヤリング開発日誌

ルーティングと経路制御表の集約計算について学ぶ - KATOエンジニヤリング開発日誌

LDAPとActive Directoryについて学ぶ - KATOエンジニヤリング開発日誌

IPv6とHTTPについて学ぶ - KATOエンジニヤリング開発日誌

DNSとDHCPプロトコルについて学ぶ - KATOエンジニヤリング開発日誌

電子メールの送受信に関するプロトコルを学ぶ - KATOエンジニヤリング開発日誌

IPSecとセキュアな通信について学ぶ - KATOエンジニヤリング開発日誌

第14回目の目標

  • ネットワーク利用上、基礎となる仮想化の知識について、それぞれ説明できる
  • サーバーとネットワークの仮想化について、その背景と代表的な技術について説明できる
  • 無線通信に関する基礎的な用語について、説明できる

仮想化

概要

仮想化とは「ない」ものを「ある」ようにする技術のことで、サーバー・ストレージ・PCや携帯電話などの実機を「占有」しているのか「共有」しているのかという概念が非常に重要になってくる。

一般的には物理的なリソースを抽象化し、他のものに物理的な資源であることを意識させないようにする技術である。

ITにおける仮想化という言葉は、サーバーの処理能力やメモリ容量、ディスク容量などのコンピュータの物理的資源を関連する他のシステムやユーザー・アプリケーションからは論理的に異なる資源であるかのように見せる技術である。

仮想化の歴史は意外に古く1960年代のOSにも実装されている 。

当時はコンピュータ資源(メモリやストレージ)は高価で貴重なものであったので、コンピュータ資源を有効活用したいという絶対的なニーズがあった。

そこでより多くのユーザーやアプリケーションでコンピュータ資源を共用し、有効活用するために仮想化という技術が生まれた。

仮想化の対象

仮想化の対象 仮想化の実装方式
サーバー ・1台の物理サーバーを分割して、複数の論理サーバーを構成する
・複数の物理サーバーを1台の論理サーバーに統合し、処理能力の高いサーバーを構成する
デスクトップ ・物理サーバー上に、ユーザーが使用するアプリケーション環境を集約する
・クライアント上でアプリケーションを実行させ、サーバーから必要に応じてクライアントにOSイメージを配信する
ストレージ ・1台の物理ディスクを分割して複数のディスクに見せる
・複数の物理ディスクを統合して1つのディスクに見せる
ネットワーク ・1つの物理的なLANを複数の論理的なLANに分割し、物理的なLAN構成とは異なるLANを作る
・複数のネットワーク機器を統合し、1台のネットワーク機器として稼働させる

資源の仮想化

サーバーの仮想化

f:id:masayuki_kato:20170604140053p:plain

1つの物理サーバー上で複数の論理サーバーを稼働させる形態をとる。

上図では、使用するユーザーやアプリケーションごとに仮想サーバーとなる論理サーバーを割り当てている。

メモリの仮想化

f:id:masayuki_kato:20170604140354p:plain

上図では、物理的なストレージ(主記憶装置、補助記憶装置)ではデータの記憶領域がバラバラになっているが、論理的な視点でみると、1つの仮想記憶領域に連続してデータが記憶されている。

資源の統合と分割

複数台のサーバーを統合することにより、処理能力の高い1つのサーバーが稼働しているかのように見える。

逆に1台の物理サーバーで仮想化ソフトウェアを利用して、複数の論理サーバーを稼働させることができる。

1台の物理サーバーを分割する方法として、「物理分割」と「論理分割」がある。

  • 物理分割
    • プロセッサやメモリなどのコンピュータ資源を物理的なブロック単位で分割すること
    • ハードウェア障害やシステム負荷の上昇による他区画への影響が無い
  • 論理分割
    • 物理的な制約を受けることなく、各区画に自由に分割すること
    • ハードウェア障害や負荷上昇により、当該資源を使用している区画が影響を受ける

クラウド

インターネットなどのネットワークを通じてコンピュータ資源を利用する形態のこと。

オンプレミスでのサービス運用と比べて、クラウドなら小さいリソースでサービスを初めて、後々スケールアップさせていくということができる。

アメリカの国立標準技術研究所(NIST)によりクラウドと呼ぶに足る5つの定義が定められている。

  1. オンデマンド・セルフサービス
    • ユーザーはクラウドサービス提供者と電話等で直接やり取りをせずとも、ブラウザ等を用いて設定等を行える
  2. 幅広いネットワークアクセス
    • コンピューティング能力をネットワークから使用できる
  3. リソースの共有
    • リソースは複数のユーザーで共有される
  4. スピーディな拡張性
    • ユーザーの需要に応じて、いつでも提供リソースのサイズが変更される
  5. 計測可能なサービス
    • ユーザーの使用量を計測し、最適なシステム環境を提供する

クラウドの利用形態

f:id:masayuki_kato:20170604142945p:plain

  • IaaS(Infrastructure as a Service)
    • システムで使用するCPI、メモリ、ハードディスクなどのハードウェアや、システムで稼働するOS、ネットワーク環境を提供するサービス
  • PaaS(Platform as a Service)
    • アプリケーションが稼働するためのプラットフォームを提供するサービス
  • SaaS(Software as a Service) -アプリケーションソフトウェアの機能を分割し、ユーザーが必要とする機能だけを提供するサービス

クラウドのサービス形態

  • プライベートクラウド
    • 特定の企業がある業務で使用するための専用システム基盤を提供する
    • ユーザー企業、またはクラウド事業者が管理する
    • クローズドなシステムとなるため、企業内ポリシーの実現が図りやすく、高度なセキュリティを管理できるというメリットがある
    • パブリッククラウドと比べて高コストになりやすく、こまめなリソースの追加・縮退が難しいというデメリットがある
  • パブリッククラウド
    • 特定の企業専用のシステム基盤ではなく、不特定の企業や個人が自由に使用できる環境を提供する(クラウド事業者が管理する)
    • プライベートクラウドと比べてITサービスの調達が手軽である
    • OSのバージョンやセキュリティなど定期的にメンテナンスが必要な作業はクラウドプロバイダー側が行ってくれる
    • 障害が発生した際にはクラウドプロバイダーからの障害連絡を待つしかないというデメリットがある
  • ハイブリッドクラウド
    • プライベートクラウドとパブリッククラウドを組み合わせた形態
    • ex:プライベートクラウド上の企業データをパブリッククラウド上のアプリケーションを連携させる

仮想化技術

サーバーが提供する業務の重要性が近年増加しており、リソースに対する拡張性や信頼性に対する要望が高まっている。

様々なベンダが仮想化を様々な技術で実現し、多くの技術が生まれている。

  • 分離
    • 本来1つのセットである「ハードウェア」「OS」「アプリケーション」を仮想化技術により分離する
  • 統合
    • 複数のサーバーを単一のサーバーとして利用する

サーバーの仮想化方式

仮想化方式 概要 リソース
サーバ統合 複数のサーバを1つのサーバに見せる OS 複数のサーバのOS上のホスト名、IPアドレスを1つに見せる
アプリケーションサービス 複数のサーバ上で動作するデータベース、業務システムを1つに見せる
サーバ分割 1つのサーバのハードウェア資源を分割して利用する CPU クロック、ソケット、コア単位でOSに提供
メモリ メモリやディスクの容量を特定のOSごとに分割して提供したり、予約して占有させたりする
ディスク

代表的なサーバー仮想化技術

サーバの仮想化を実現するための技術は大きく2つに分けられる。

ホストOS型

仮想化を実現するためのプログラム(仮想化プログラム)を物理サーバー(Windous、LinuxなどのOS)に導入し、そのプログラム上で仮想化されたOSを稼働させる。

f:id:masayuki_kato:20170604152749p:plain

  • ホストOS上のアプリケーションとして仮想化プログラムが動作している
  • ゲストOSは、ホストOSを経由してハードウェアを利用する
ハイバーバイザ型

1つのハードウェアに複数のOSを稼働させるための仲介役である、「ハイパーバイザ」と呼ばれる仮想化を実現するレイヤを配置し、その上で仮想化サーバを動作させる。

f:id:masayuki_kato:20170604153209p:plain

  • 仮想化プログラムがハードウェアをコントロールする
  • ゲストOSはハイパーバイザを介して直接ハードウェアを利用する
  • ホストOS型と比べて高速である

ネットワークの仮想化

ネットワーク機器はもともと独立したハードウェアとして提供されてきたが、ネットワークが複雑化し、システム要件の多様化に伴って、機器の故障時の対応や設定変更などの運用管理に対する負荷が増大した。

サーバーやストレージなどと同様に、ネットワークを分割したり統合したりすることで運用管理の負荷を軽減したり、機器に仮想化技術を適用してネットワークを構成するケースが多くなっている。

ネットワーク機器の用途(復習)
用途 ネットワーク機器
サーバやクライアント機器を接続する装置 ・レイヤ2スイッチ
・レイヤ3スイッチ
通信回線を接続する装置 ・ルータ
・レイヤ3スイッチ
ネットワーク間を接続する装置 ・ルータ
・レイヤ3スイッチ
複数のサーバ機器の負荷を分散させる装置 ・ロードバランサ
セキュリティを確保する装置 ・ファイアウォール
・侵入検知装置
・VPN装置

これらを仮想化しようというのが「ネットワークの仮想化」である。

ネットワーク機器・回線の分割技術

  • VLAN
    • ネットワーク機器を使ってネットワーク資源を分割する技術として最も一般的
    • 1つの物理的なLANスイッチを複数のLANセグメントに分割する技術
  • VRF(Virtual Routing and Fowarding)
    • 1台のルータ、またはレイヤ3スイッチ上で複数のルーティング機能を稼働させ、あたかも複数のルータが存在するかのように見せる技術
    • 通常、1台のルータはパケットの経由情報であるルーティングテーブルを1つしか持たないが、VRF機能によりルーティングプロセスごとにテーブルを複数保持可能になる
    • 用途ごとにネットワークを完全に分離できる
  • VPNトンネリング
    • ネットワーク機器間で仮想的な経路(トンネル)を確立する技術
    • トンネルを流れるデータを暗号化して伝送できるので、WAN回線のデータセキュリティ確保のために広く使われている
    • ネットワーク機器において、複数のVPNトンネルを確立することができるので、1つの物理回線を複数のトンネルに分割したり、トラフィックに応じてトンネルを分けることができる
  • 仮想アプライアンス*1
    • 従来ハードウェアで動作していたルータやロードバランサ、ファイアウォールなどの機能をサーバー上の仮想環境で動作するようにしたもの
    • 仮想サーバーの稼働環境に応じて、定義ファイルやOS、ソフトウェアがカスタマイズされパッケージ化されている
    • 個別にサーバー上のOSやソフトウェアの設定を行う必要がない

ネットワークの仮想化の現状

ネットワークの仮想化はサーバー、ストレージ、デスクトップの仮想化ほど進まなかった。

その理由としては、現在のネットワーク機器は各ベンダがハード、ソフトウェア、サービスを作っているため、RFCで標準化されている部分以外は互換性がないため、ベンダロックが発生しやすいという点があげられる。

しかし、ユーザーは「自由度の低さ」を許容できず、自分たちで必要なネットワークを運営管理できる仕組みである、「SDN」「OpenFlow」といった技術に注目があつまっている。

無線通信

概要

無線LANとは無線通信技術のうち、オフィス内のようなLANの範囲を比較的高速で接続するものである。

最初は主に移動して使うことが多い軽量の機器に用いられていたが、通信速度の向上とともに省スペースで配線コストを削減できるメリットが出てきて、現在ではオフィス、家庭、店舗、駅、空港などでも使われるようになった。

無線通信の種類

通信距離に応じて、様々なものがある。

分類 通信距離 規格化団体等 関連団体や技術名称
短距離無線 数m 個別 RF-ID
無線PAN 10m前後 IEEE802.15 Bluetooth
無線LAN 100m前後 IEEE802.11 Wi-Fi
無線MAN 数km~100km IEEE802.16,
IEEE802.20
WiMAX
無線WAN - GSM,
CDMA2000,
W-CDMA
3G, LTE, 4G,次世代携帯

IEEE802.11

  • 無線LANプロトコルの物理層とデータリンク層の一部(MAC層:メディアアクセス制御層)を定義した規格
  • 「IEEE802.11」という名称は下記2つの意味がある
    • 多くの規格の総称として用いられる場合
    • 無線LANの1通信方式として用いられる場合
  • IEEE802.11関連の規格の基礎になり、周波数帯や最大通信速度などの特徴が異なる複数の規格がある
  • ここで規定されるデータリンク層の一部(MAC層)はIEEE802.11のすべての規格に利用されている
  • イーサネットと同じMACアドレスが利用され、CSMA/CDとよく似たCSMA/CAというアクセス制御方式を採用している
  • 1通信方式としてのIEEE802.11
    • 物理層で電波もしくは赤外線を用い、1Mbpsもしくは2Mbpsの通信速度を実現する規格
    • 後発の規格である802.11b等より劣るため、ほとんど利用されていない

CSMA/CA

CSMA/CA(Carrier Sense Multiple Access / Collision Avoidance)のアクセス制御の流れとしては下記の通り。

  1. 通信が行われているかどうかをチェックする
  2. 衝突に防止するため、フレームを送る前にランダムな時間を待つ
  3. ランダムな時間が過ぎた後、もう一度通信が行われているかをチェックしてフレームを送信する
  4. 送信後、受信側からのAck信号を待つ
  5. 決められた時間内にAck信号が受信できない場合、再送する(もう一度1へ戻る)

2種類の接続形態

無線LANでネットワークを構築する場合、「アドホックモード(Ad Hoc)」と「インフラストラクチャモード(Infrastructure)」という2種類の接続形態がある。

アドホックモード

アクセスポイントを経由することなく、端末機器間で直接通信を行う方式のこと。

無線LANアクセスポイントを必要としないのでネットワーク構成は簡単に済むが拡張性に乏しく、2台の端末間で通信を行っている間は、他の端末はそれらと通信が行えないというデメリットがある。

インフラストラクチャモード

端末が無線LANのアクセスポイントを経由することによってデータ通信を行う通信方式。

複数の端末が同時にインターネットに接続できる。

インフラストラクチャモードには「BSS」と「ESS」という2つのサービス方式が存在する。

BSS(Basic Service Set)

f:id:masayuki_kato:20170604172200p:plain

アクセスポイントとその電波到達範囲にいる無線端末で構成されるネットワークのこと。

ESS(Extended Service Set)

f:id:masayuki_kato:20170604172359p:plain

複数のアクセスポイントと、その電波到達範囲内にいる無線端末から構成されるネットワークのこと。

単純に複数のBSSで構成される無線LANネットワークのこと。

IEEE802.11の比較

f:id:masayuki_kato:20170604172758p:plain

IEEE802.11bとIEEE802.11g

  • 2.4GHz帯の周波数を利用する無線LAN
  • データ転送速度
    • IEEE802.11b:11Mbps
    • IEEE802.11g:54Mbps
  • 通信可能な距離:30~50m程度
  • アクセス制御にはCSMA/CAを採用している

IEEE802.11a

  • 5GHz帯の周波数を利用する無線LAN
  • データ転送速度:最大54Mbpsまで
  • IEEE802.11bとは互換性がない
  • 他の機器からの干渉を受けにくい傾向がある
    • 2.4GHxは電子レンジなどで使われているため

IEEE802.11n

  • 2.4GHz帯と5GHz帯の両方に対応している
  • データ転送速度:理論上は最大600Mbps
  • IEEE802.11g/aをベースに複数のアンテナを同期させて通信するMIMO(Multiple-Input Multiple-Output)という技術採用することで高速化を実現している

無線LANを使用する場合の留意点

通信可能な範囲内であれば許された利用者以外でも電波を受信することができるため、盗聴や改ざんといった危険に常にさらされていることに気をつけなければならない。

また、他の通信機器との電波干渉により、転送能力が著しく低下することもあるので、アクセスポイントの設置箇所等のネットワーク設計にも気をつけなければならない。

無線通信のセキュリティ形式

  • WEP(Wired Equivalent Privacy)
    • クライアントとアクセスポイント間の認証はパスワードで行っているが、キーの値が固定されているのでセキュリティ的には弱い
  • WPA(Wi-Fi protected Access)
    • 従来のSSID(Service Set Identifier)とWEPキーに加えて、ユーザー認証機能を備えた点や、TKIPと呼ばれる暗号化プロトコルを採用
  • TKIP(Temporal Key Integrity Protocol)
    • 暗号鍵を一定時間ごとに自動的に返信する
  • 802.11i
    • AES(Advanced Encryption Standard Encryption)
    • WAP2はAES暗号化を視点している

Bluetooth

  • IEEE802.11b/gなどと同じ2.4GHz帯の電波を使って通信する規格
  • データ転送速度
    • バージョン2で3Mbps(実際の最大スループットは2.1Mbps)
  • 通信可能な距離
    • 電波強度によって最大1m、10m、100mの3種類
  • 通信可能な端末は原則として最大8台
  • WPAN(Wireless Personal Area Network)としてIEEE802.15で標準化を進められている

WiMAX

  • マイクロ波を使って、企業や自宅への無線接続を行う方式
  • DSL(ADSL)やFTTH(光回線)のようなラストワンマイルを無線で実現する方式の1つ
  • 無線MAN(Wiresell Metropolitan Area Network)に属し、大都市圏をエリアとする広範囲なワイヤレスネットワークをサポートしている
  • IEEE802.16の中で標準化
    • IEEE802.16e(Mobile WiMAX)の標準化も進められている
  • WiMAX Forum:機器互換性やサービスの相互接続性などの検証

SDNとOpenFlow

SDN

SDN(Software-Defined Networking)とはネットワークの構成、機能、性能などをソフトウェアの操作で動的に設定・変更することを可能にする考え方のこと。

ルータやスイッチ、ファイアウォールなどのネットワーク機器に対してそれぞれ個別に設定することなく、ソフトウェアで一元的に管理することでネットワークの管理を実現できる。

OpenFlowの概要

  • OpenFlowは技術仕様と位置付け、複雑で多種多様なネットワークを抽象化し、ネットワークを動的かつ柔軟に制御する方法を定義するもの
  • SDNはOpenFlowを含むより広い概念である
  • サーバ上のソフトウェアによるネットワーク制御・管理を実現する
  • ネットワークを構成するルータやスイッチなどの機器
    • データを転送するための「データ転送機能」
    • 経路を計算するための「制御機能」
    • コマンド処理や機器の管理を行う「管理機能」
  • OpenFlowでは制御機能を「OpenFlowコントローラ」と呼ばれるサーバー上で動作するソフトウェアに集約する
  • OpenFlowに対応したスイッチは「OpenFlowスイッチ」と呼ばれデータ転送処理のみを行う

OpenFlowを利用すると下記のような利点がある。

  • ソフトウェア開発の技術やツールが使える
    • アジャイル開発手法でコントローラを開発すれば反復的な機能追加が可能
    • コントローラのソースコードや関連データをgitなどのバージョン管理ツールで管理すれば、ネットワーク全体のバージョン管理やバージョン間の差分チェック、および巻き戻しも可能になる

但し、スイッチの台数が増えたときの対処やフローテーブルの容量などには注意が必要である。

*1:特定の目的のために用いられる専用機器のこと