IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

AWSではじめよう、ネットワークの世界

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第2回  『OSI階層モデル』をマスターして、『通信』を理解しよう! (津村彰) 2016年5月

1. はじめに

こんにちは、おひさしぶりです、もしくははじめまして。津村です。

この記事が公開される頃には、そろそろ春も過ぎて暖かくなってくるのではないでしょうか。

前回はVPCそのものを紐解きましたが、今回はネットワークの話には必ずといって出てくる『OSI階層モデル』(もしくはOSI参照モデル)について、AWSと交えてご紹介したいと思います。なかなか真正面から理解しようとすると大変ですが、実は時々エンジニアに対して使われる「フルスタックエンジニア」「マルチレイヤーエンジニア」といった言葉も、このOSI階層モデルを元に例えられた言葉です。

今回はこのOSI階層モデルを、VPCのオブジェクトや、該当する機器に例えてご紹介しましょう。

2. OSI階層モデルの復習

fig01

上に行けば論理、下に行けば物理です。その間には何層もの処理を挟み様々な処理が加えられていきますが、基本は前回ご紹介したIPアドレスのルールのように、とてもシンプルかつ簡単なものです。

複雑な名前や意味をいったんおいて、HTTPSのページ表示を伝言ゲームに例えてご紹介しましょう。

fig02

「ブラウザさん (L7・6):このデータ欲しいので、このサーバに送ってね」

「OpenSSLさん (L5):これは大事なデータですね、暗号化しますね。」

「TCPさん (L4):この通信は継続したやり取りが必要なので、今回は32000ポートを使ってくださいね。相手方では443ポートを訪ねてくださいね。」

「IPさん (L3):相手方のサーバはすぐにわからないから、デフォルトゲートウェイさんにパケットを渡すね」

「MACさん(L2):デフォルトゲートウェイさんのIPアドレスでは通信できないから、LANカードのアドレス(MACアドレス)に変換しますね」

「物理さん(L1):電気通信ならまかせろ!」(銅線・無線・光)

このように、このコラムのサイトを1回観るだけで何百回・何千回という伝言ゲームを、目の前のパソコンは行っています。

また、通信の相手方となるサーバ(ここではHTTPSウェブサーバ)や中継経路であるフレッツ網などの中継回線でも同様であり、今回と逆の伝言ゲームが行われています。

この伝言ゲームにあたり、相手方でも同じように展開して貰う為、それぞれ「ヘッダ」という小さなデータを付けています。よって、相手方でも1個ずつヘッダを読み解くことで、送ったものと全く同じデータを相手方に届けることが出来ます。

3. 実際にはどの機器が何を担当しているのか?

ネットワークの世界には様々な機器がありますが、すべてこのOSI階層モデルに当てはめる事ができます。

おおよそになりますが、以下の機器がそれぞれ該当のレイヤーを担当しています。

fig03

また、Juniper SRXやFORTIGATEといったUTM製品、TrendMicro Deep Securityといった上位のセキュリティ製品では、レイヤー3~7を包括的に監視し、不正な通信を遮断する働きをします。

4. VPCではどうなっているの?

AWSのVPCは、今で言うSDN(Software Defined Network)が出始める前にリリースされ、現在では普通に使用されていますがその当時柔軟なネットワーク構成が出来ることにより、驚いた方も多かったように見受けられます。

VPCそのものはレイヤー2(データリンク層)の仮想化であり、インスタンスIDと紐付いたMACアドレスを元にパケットをコントロール(SecurityGroup)する事で、柔軟なネットワークを構成しています。

【注釈】VPCについては仕様となる資料を見つけることが出来なかった為、独自の解釈を含みます。厳密には異なる部分も多いですが、挙動を確認した限りではおおよそこのようになっていました。

fig04

この原理を学ぶことで、VPCの中にソフトウェアルータを構築しルーティングを構成する等の複雑な構成を理解する事ができるようになります。

また、VPCではIGWがDHCPサーバやDNSサーバといった役割も担っており、環境によっては負荷が上がってしまいパフォーマンスが出なくなる場合もあります。

その場合、それぞれのEC2インスタンスにキャッシュを設ける等の工夫により回避する事が可能です。

5. おわりに

OSI階層モデルは、インターネットにおける所謂「原理原則」の1つであり、ネットワークエンジニアを極めるという事は即ちOSI階層モデルを肌感で掴む、という事にも繋がるでしょう。

しかし、今回のコラムで名前からは想像できないほどのシンプルさと、そしてインターネットの原理であることを理解していただければ幸いです。

これらを理解することにより、原理原則をベースに障害原因を特定するなど、より最適化した安定したインフラを設計・構築・運用する事も可能になります。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes