問3 モバイル端末を利用したシステムの構築に関する次の記述を読んで,設問1~3に答えよ。
F社は,機械部品の卸売業を営む中堅の企業であり,社内で受発注システムを利用している。
F社の受発注システムは, Webアプリケーションで構成されており,社内にはネットワーク機器及び各種サーバが設置されている。社内の有線LANは, 100 BASE-TXを用いたイーサネットで構築されている。会議室には無線LANのアクセスポイント(以下,APという)が設置され, IEEE 802.llg規格の無線LANを利用して,会議室に設置したPCから社内ネットワークにアクセスできる。受発注システムのWebアプリケーションは,商品名と数量を受け付け,在庫の確認と製造元への発注処理を行う。一度の注文で複数の商品が発注可能になっている。多岐にわたる取扱商品の説明は,Webサーバのカタログページとファイルサーバのカタログデータに保有している。
この問題は、前半が無線LAN、後半がHTTPのセッションに関する問題である。
[Question1] IEEE802.11gの周波数帯を答えよ? ついでに11aも。
A1 IEE802.11bと11gは2.4GHz帯である。一方、11aは5GHz
現在,F社では顧客の注文依頼を,電話とファックスで受け付け,オペレータが社内のPCをクライアント端末に用いて,受発注システムに入力している。しかし,営業部員からは,客先を訪問した際に,その場でインターネットを通じて受発注処理をしたいという要望が出されていた。
F社は,営業部員の要望を受け,受発注システムをインターネット経由でも利用可能にし,クライアント端末を,ノートPCとモバイル端末に変更して,クライアント端末と社内ネットワークを無線LANで接続できるよう,受発注システムの変更を行うことにした。F社が開発計画中の新しい受発注システム(以下,モバイル受発注シス
テムという)の構成を,図1に示す。
モバイル受発注システムでは,新たにIEEE 802.11nを実装したAP,ノートPC及びモバイル端末を導入する予定である。モバイル端末には,スマートフォン,タブレット端末など複数の種類を用意し,社員は業務に適したものを利用する。ノートPCは社内だけで利用するが,モバイル端末は社外への持ち出しを許可し,社外からRPサーバを経由してWebサーバにアクセスできるようにする。
〔無線LANの設計〕
システム企画課のG君は,まず,社内の無線LANの設計に着手した。次は,無線LANネットワークの設計に関する,G君と上司のH氏の会話である。
H氏:今回は無線LANの規格としてIEEE 802.llnを利用できるということだが,今まで使っていたIEEE 802.11gとはどこが違うのかな。
G君:はい。 IEEE 802.llgでは帯域幅20 MHzであったのに対し, IEEE 802.11nでは40 MHz も利用可能となっています。これは隣り合う帯域幅20 MHz のチャネルを二つ束ねることによって,送信データ量を2倍以上に増やす[ ア ]という技術を使ったものです。これによって,例えば20 MHz では理論値で144Mビットノ秒だった伝送速度が,最大で[ イ ]Mビットノ秒になります。
[Question2] 本文中の[ ア ]~[ イ ]に入れる適切な字句を答えよ。(設問1(1))
A2 アは11nの基礎知識で解ける。チャネルボンディングだ。bondは「結ぶ」という意味で、bondingは「結びつける」と考えればいいだろう。なので、チャネルボンディングはチャネルを複数結びつけるという意味だ。
イは意外に難問だ。単純に2倍の288と答えた人が多いであろう。11nのスピードである150M,300M,600Mという数字が記憶に残っていた人は解けたと思う。
[Question3] IEEE802.11g( 2.4GHz帯)では、チャネルボンディングをあまり使わない。
なぜか。
A3 利用できるチャンネルが減るからだ。もともと、3ch(例1,6,11)しか使えない。それが、2chしか使えなくなる。帯域が早くても使えるチャンネルが少なくなっては、ネットワーク全体としてのスループットはあまり上がらないからだ。一方、MIMOは、チャンネルを消費しないから使う。
また,送信側と受信側の双方で複数のアンテナを使い,同時に異なるデータを送信して受信時に合成する[ ウ ]という技術によって,データをより高速にやり取りすることができます。
[Question4] 本文中の[ ウ ]に入れる適切な字句を答えよ。(設問1(1))
A4 MIMO(Multiple Input Multiple Output)
MIMOの言葉通り、Multiple(多く)の電波のInput(入力)とMultiple(多く)の電波のOutput(出力)である。MIMOはアンテナを複数に束ねて高速化する。複数のアンテナで同時に送信したら、早くなるよねー。という理論である。参考までに、アンテナとは論理的なものではなく、物理的なアンテナである。
MIMOで束ねた場合、チャネルは増えるの?
増えない。チャネルは同一。なので、2.4GHz帯で使っても、チャネルボンディングのようにチャネルが減るとか、干渉しやすくなるようなことはない。
タブレットやスマートフォンは11nに対応しているということは、最大600Mのスピードがでるの?
いや、11n対応といっても、MIMOやチャネルボンディングには対応していないことが多い。ガードインターバル(GI:Guard interval)またはフレームアグリゲーションなどによる効果が期待できる程度だ。実際には54Mbpsが72Mbps程度に向上している程度であろう。
H氏:同時に,従来のIEEE 802.11gを引き続き利用しても問題ないのかな。
G君:IEEE 802.11nとIEEE 802.11gで同じチャネルを使った場合には,通信ができないことがあります。それを回避するために, IEEE 802.11nのmixed modeでは,フレームの先頭にIEEE 802.11gと同じ[ エ ]を付加して通信のタイミングをとり,同時利用を可能にすることができます。ただし,遅い方の通信速度に影響を受けて,スループットが低下します。
[Question5] 本文中の[ エ ]に入れる適切な字句を答えよ。(設問1(1))
A5 プリアンブル
この言葉は過去にも問われている。同期を取るものだ。覚えておこう。イーサネットの場合は8バイトの長さ。無線の場合はロングプリアンブル(18バイト)とショートプリアンブル(9バイト)がある。ただ、これはIEEE802.11bのものであり、最近ではショートプリアンブルの設定もあまりしなくなったかと思う。
また、IEEE802.11nには3つのフレームフォーマットがある。
①Legacy mode
11a/b/gと同じフレームフォーマット。Aruba無線LANでいうNon-HT(High Throughput) format
②Mixed mode
11a/gが理解できる11nのフレームフォーマット。Aruba無線LANでいうHT(High Throughput) Mixed Format
③Greenfield mode
11n専用フレームフォーマット。Aruba無線LANでいうHigh Throughput (HT)
H氏:その他にも, IEEE 802.11nを利用する上で,留意すべきことはあるかな。
G君:IEEE 802.11nでは,フレームアグリゲーションを使って,①フレームの送信待ち時間と確認応答の回数を減らすことで遅延時間を短縮し,データの高速なやり取りが可能になります。ただし,使用するアプリケーションによっては,②フレームアグリゲーションの影響を考慮する必要があります。
[Question6] 本文中の下線①を実現する,フレームアグリゲーションの仕組みを,25字以内で述べよ。(設問2(1))
A6 フレームアグリゲーションについての問題だ。フレームアグリゲーションは、無線LANのヘッダやプリアンブル部分のオーバヘッド部分の占める割合は多く、実効スループットの悪化につながる。そこで、複数のフレームをまとめて送ることで、このオーバヘッドを少なくするという考え。
まあ、シンプルな考えだ。
技術的には2つの仕組みがある
①MSDU(MAC Service Data Unit)
宛先が同じフレームを集め、それに無線ヘッダをつけて送る。
②MPDU(MAC Protocol Data Unit)
無線のヘッダに変換し、宛先が同じものを集める。とはいえ、フレームフォーマットを見ればわかるように、厳密には宛先が違っても問題ない。
フレームフォーマットをみればわかるように、伝送効率は①に比べて低い
前置きが長くなったが、答えはシンプルでいい。試験センターの解答例は「宛先が同じ複数のフレームを連結して送信する」である。MPDUの場合は、厳密には宛先が同じである必要はない。なので、「複数のフレームを連結して送信する」という趣旨の解答であれば正解だと考えている。
※とはいえ、実際には宛先が同じフレームをまとめていることが多いであろう。
[Question7] 本文中の下線②でG君が指摘した,フレームアグリゲーションの影響とはどのようなものであると考えられるか。40字以内で具体的に述べよ。(設問2(1))
A7 試験センターの解答例は「無線チャネルの占有時間が長くなり,その間は他の通信が待たされる」。イーサネットは1.5k程度データであるのに対し、MSDUは最大8k、MPDUの場合は最大64kのデータをまとめて送る。まとめて通信することによるオーバヘッドの効率化はあるが、このようなデメリットがあることも押さえておきたい。ただ、この解答を書ける人は少ないのではないか。
H氏:なるほど。フレームアグリゲーションを使用するかどうかは,アプリケーションとの組合せなど,様々な試行をして決定する必要があるということだな。その他,無線LAN以外の部分では,一部をギガビットイーサネットに変更することを検討すべきではないかな。インターネット経由のデータのやり取りを減らすために,客先へ行く前に,ファイルサーバからモバイル端末に,カタログデータをダウンロードしておきたいのだが。
G君:そうですね。APの設置と併せて検討してみます。
[Question8] H氏が指摘した,ギガビットイーサネットに変更する区間を2か所,図1の機器名を用いて答えよ。(設問2(3))
A8 これは簡単だ。問題文をしっかり読めば答えがでる。「ファイルサーバからモバイル端末に,カタログデータをダウンロードしておきたい」という部分を図1で確認する。すると、試験センターの解答例になる。
「ファイルサーバとSWとの間」「SWとAPとの間」
〔Webアプリケーションの改修〕
次にG君は, Webアプリケーションの改修について検討した。G君が考えた,モバイル端末とWebサーバ間の送受信シーケンスを,図2に示す。
従来,F社のクライアント端末は同一機種のPCだけであり, Webアプリケーションでは,セッション管理にクッキーを利用していた。
セッションってそもそも何でしたっけ? TCPのコネクションとの違いも教えて下さい
TCPのコネクションは3wayハンドシェークが行われる一連の通信。一方のセッションという言葉は、あいまいな言葉である。かなり乱暴ではあるが、買い物サイトにログインした情報と考えてほしい。
一つのセッションに複数のTCPコネクションが作成されることになるだろう。
なぜセッション管理が必要なんですか?
Webサイトでショッピングをする際に、ログインすることが多い。ログインした情報を持っておけば、買い物がスムーズに行える。たとえば、購入履歴のページでは、ログインIDをもとに表示できる。発送の段階ではログインIDをもとに住所を表示できる。
このように、Webページをまたがって一連の処理をするときに、セッション管理が求められる。
[Question9] セッションの管理方法にはどんな方法があるか?
A9 この問題には2つの方法が記載されている。
①クッキー
②URLリライティング →[ オ ]の解答
①のクッキー(Cookie)に関して少し解説する。
たとえば、Gmailにログインすると、クライアントのブラウザに、以下のようなCookieが複数作成される。
NAME GX VALUE xxxx(長いので省略) DOMAIN mail.google.com PATH /mail EXPIRES 2013/07/01 6:05:36 |
しかし、問題文にあるように、今回は携帯などのモバイル端末も使うようだ。古い携帯では、Cookieが使えないものもあり、注意が必要だ。
②URLリライティング
問題文にあるように、Cookieが使えない端末を想定して、SID(セッションID)をURLに埋め込むのだ。
URLに jsessionid=xxx などと直に書く。当然ながら、セッションIDが見えているわけだから、セッションハイジャックなどの攻撃に会いやすくなる。
[Question10] ログイン認証要求ではSID=xxxなのに、その応答のログイン完了表示では、SID=yyyとなっている。SIDが変わっているのはなぜか?
A10 これは、セッションハイジャックを防ぐために当然の処置である。
セッション情報さえわかれば、この人のセッションを持って買い物などができる。ログインは不要だ。ログインした後のセッションIDを使うからだ。
ではどうするか。
①SSLで暗号化する
②非SSLのSIDとは別のSIDを使う
③今回導入するノートPCとモバイル端末は、画面の大きさやブラウザの種類など、様々な仕様となっている。
[Question11] 本文中の下線③に対応するための, Webアプリケーションの改修内容を40字以内で述べよ。また,その場合に, Webアプリケーションが参照するHTTPリクエストのヘッダ部のフィールドの名称を答えよ。(設問3(1))
A11 この問題であるが、国語の問題として、前半の改修内容を書けるのではないか。問題文と設問を流用して組み替えて作ると、以下になる。赤字は流用だ。
「Webアプリケーションが参照するHTTPリクエストのヘッダ部を参照し、導入するノートPCとモバイル端末の仕様に合わせて、Webアプリケーションの改修をする」
さすがにこのままではイマイチであるが、文字数調整と多少の変更をすれば、部分点はもらえそうな雰囲気である。
試験センターの解答例は以下だ。
・改修内容:モバイル端末の種類に対応した形式のページコンテンツを送るようにする。
・名称:User-Agent
図が、ブラウザでWebサイトにアクセスした場合のキャプチャーである。(クリックすると大きくなる)
User-Agnetとして、「Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)」が入れられている。
「compatible;」のところが今回のヘッダ部のキーとなる情報である。iPhoneであれば「iPhone;」、iPodであれば「iPod;」、Android系であれば「Linux;」と表示される。
また,それらのブラウザの中にはクッキーを受け入れないものがあることから,G君は,Webアプリケーションがブラウザに送るURLに,パラメタとしてSIDを埋め込む方法を採用することにした。これを[ オ ]という。さらに,G君は,モバイル端末を使って,インターネット経由の受発注処理を受け付けるようにするため,必要と思われる通信はSSLを使用することにした。
[Question12] H氏がG君に指示した, SSLを実装すべき機器名を,図1から一つ選んで答えよ。(設問3(2))
A12 これは簡単だったと思う。リバースプロキシによるSSL-VPNは数多く導入されている。社外からのアクセスなので、当然ながら、SSLで暗号化する必要もある。答えは、「RPサーバ」である。
図2を検証したH氏は, Webサーバの負荷を軽減するために, SSLをWebサーバ以外の機器に実装するよう,G君に指示した。さらに,H氏は,セキュリティ上の問題があることから, SIDの付与に関して改善すべき点があることを指摘し,G君はH氏の指摘に従って,見直しを実施した。
G君の検討結果を反映して,F社のモバイル受発注システムは無事完成し,順調に稼働した。
[Question13] H氏が指摘したセキュリティ上の問題を,30字以内で述べよ。(設問3(3))
A13 [Question9]にて解説したが、セッションハイジャックを防ぐためにSIDを変更する必要がある。しかし、図2の3ブロック目の非SSL通信では、SID=yyyとして、SSL通信と同じSIDを使っている。その後の4ブロック目の通信では、SSLによって暗号化されていても、SIDが盗聴されたら、セッションハイジャックによって不正な第三者が通信をすることが可能になる。試験センターの解答例は「非SSLの通信時に, SIDが漏えいするおそれがある」。
[Question14] SIDの付与に関するH氏の指摘に従って,G君が実施した見直しの内容を,35字以内で述べよ。(設問3(4))
A14 上記の答えが分かれば、この答は簡単だったかもしれない。試験センターの解答例は「非SSLの状態からSSLを利用する際は, SIDを振り直す」である。