ページの先頭です


ページ内移動用のリンクです

カリキュラム紹介

ー Curriculum ー

カリキュラムに込めた想い

「データはネットワークでつながった先のクラウドにあり、人と人のコミュニケーションもネットワークが媒介している」という状況が現在の社会です。したがって、ネットワークが停止してしまうと、データへのアクセスも不可能になり、人とのコミュニケーションにも支障が生じます。ネットワークはすでに社会を構成する重要基盤となっているのです。

それゆえに、ネットワークの安定運用は必須であり、また、安定運用しやすいネットワークを構築することも必須になっています。しかしながら、そのような安定運用のための技術や構築技術は、なかなか身につかない。その理由は、実践をともなった知識と技術を身につける場が少ないことにあります。座学だけで得た知識には限界があります。実践経験を伴ってはじめて、仕組みと原理の理解が深まり、血の通った技術的素養となるのです。そうなれば、その技術は、様々な局面で応用可能なものになります。

IIJアカデミーでは、ネットワークを中心とするいくつかの技術分野に対して、実践経験を積むことができ、仕組みと原理の理解が深まるよう工夫したカリキュラムを用意しました。一緒になってそのカリキュラムに取り組み、エンジニアとしての技術を向上していってもらうことを期待しています。

講師からメッセージ

IIJアカデミー講師 岩崎 敏雄

「動的経路制御を用いたネットワークの設計と構築」のカリキュラム開発を担当した岩崎です。本カリキュラムでは経験上カギとなるポイントを厳選してカリキュラムを組みました。また、カリキュラム後においても自己学習を進める上で役立つ知識を同時に身に付けられます。
業務上興味はあるが何から手を付ければよいかわからない、書籍を読むなどしたが自信を持って理解したと言えない、身近に識者が居らず正しく理解できているか不安、より確かな知識として身に付けたいという方は是非受講ください。

IIJアカデミー講師 持田 茂人

「クラウド基盤のためのデータセンターネットワークの設計と構築」のカリキュラムを担当している持田です。データセンターネットワークを題材にして、耐障害性を向上させた堅牢なネットワークの構築に必要な技術を習得していただきます。 サービス利用やアウトソースが進み、直接触れることが少なくなったこれらの技術を実習できる貴重な機会であり、カリキュラムを通して得られた知識や経験は、日常のIT業務やトラブルシューティングを行う際にも役立つと考えています。

カリキュラム紹介

IIJアカデミーではネットワーク・システムの中核となる技術の習得を目指す「本科」と、個別の技術テーマの理解を深める「探究科」でそれぞれカリキュラムを提供しています。

  • 本科では (1)「動的経路制御を用いたネットワークの設計と構築」、(2)「クラウド基盤のためのデータセンターネットワークの設計と構築」の二つのカリキュラムの実習をそれぞれ8週間づつ、合計16週間で実施します。
  • 探究科では「TCP輻輳制御アルゴリズムの比較検証」の実習を8週間で実施します。
  • (※)応募にあたっては本科、探究科のいずれかを選択して申し込んでいただきます。
  • (※)同一受講期間中に本科、探求科の両方を受講することはできません。
  • (※)その他、詳細は募集要項をご確認ください。

本科カリキュラム(1)動的経路制御を用いたネットワークの設計と構築

背景 インターネットの技術的前身であるARPANET(Advanced Research Projects Agency NETwork、(アメリカ国防総省)高等研究計画局ネットワーク)は1969年10月29日に初のメッセージ交換に成功しました。
あくまでも言い伝えに過ぎませんが「ARPANETはどのような攻撃にも耐えるよう設計されたネットワークだ」と言われることがあります。
そう言われる理由の一つとして、コンピュータ間を複数の通信回線(経路)で接続しておき、特定の経路(ルート)が通信できなくなった場合に、他の経路に切り替えて通信を続行可能とする仕組みがあげられます。
この特徴は現在のインターネットにも受け継がれており、回線障害の際に適切な経路に自動切り替えする動的経路制御(ダイナミックルーティング)は、インターネットを支える技術の一つとなっています。
また回線障害だけにとどまらず、災害や機器故障、機器のアップグレード交換、健全性試験をはじめとした定期メンテナンスなどの事象でも、経路の自動切り替えが必要になります。体感はしていないのですが、その恩恵に日々あずかっているのです。本カリキュラムでは、インターネットを支える重要技術「動的経路制御(ダイナミックルーティング)」を体得します。
目的

通常、動的経路制御というものに触れる機会は多くありません。企業ネットワークの場合には、ほとんどが静的経路制御でまかなっているか、動的経路制御を導入していても正しい使い方なのか不安に思うことも多いのではないでしょうか。
ネットワークの規模が大きくなればなるほど、耐障害性や運用効率の観点から動的経路制御を用いたネットワーク構築は避けられませんが、経路制御における基礎知識の理解が不十分な状態ではかえって不安定なネットワークにもなりかねず、また、大規模ネットワークを構築するために必要とされる高度な経路制御技術を身に付けることも困難です。
安定したネットワークを構築するためには

  • 複数の同一経路情報が存在する場合の経路選択
  • パケット高速転送の仕組み(RIB/FIB/Adjacencyテーブルの役割)
  • IGPとEGPの役割の違い
  • IGP(OSPF)とEGP(BGP4)でできること
  • ルータの防御及び経路制御におけるセキュリティ的な観点・ノウハウ

等の知識を正しく理解し使いこなすことが重要です。

本項目では、難易度の低い課題から高い課題へと実践を積み重ねながら、経路制御に必要な基礎知識の習得・再確認・補強を行いつつ、ISPクラスの経路制御技術を身に付けることを目的とします。

概要 本カリキュラムはエミュレータを活用し、課題に沿ったネットワークを構築する過程で関連する技術の調査や挙動の把握、またはトラブルシューティングを実際に経験することによって技術習得を目指していただく構成になっています。
また課題毎にレポートとしてまとめていただき、テレビ会議にて内容の確認/質疑応答/補足等を実施することで理解度を深めていただきます。

(※)IIJアカデミーでの実習の進め方・実習環境の詳細についてはこちら

本科カリキュラム(2)クラウド基盤のためのデータセンターネットワークの設計と構築

背景 オンプレミスと呼ぶ、手元に置いたサーバコンピュータからサービスを提供する機会は減り、クラウドを用いるのが一般的になりました。
クラウド事業者がデータセンターに設置して、クラウドサーバ用に設定された機器やネットワークを用いることで、容易にシステム構築できるだけでなく、機器障害時の代替機への切り替えも短時間低コストで実現できます。
また、データセンターは外部のネットワークと複数の通信回線(経路)で接続されており、特定の経路(ルート)が通信できなくなった場合に、他の経路に切り替えることでサービス提供を継続可能としています。
重要かつ多様な状況やニーズに対応するには、クラウド基盤のネットワークへの深い理解が求められることから、本カリキュラムでは「クラウド基盤のためのデータセンターネットワークの設計と構築」を体得します。
目的 近年、システムを構築する際に最初にクラウドを選択するのが一般的となりました。ITエンジニアにとってはクラウドをどのように利用するかがもっとも重要であり、そのクラウドがどのように構成されているかを考察する必要は減ってきました。この状況は技術が進化した結果であり、ある意味では歓迎すべきことであるといえます。
一方、開発中、あるいは、提供中のITサービスに問題が生じたとき、その解決のためにクラウドの仕組みに対する深い理解が必要となることもあります。また、利用しているクラウドサービスの性能を最大限に活かしているか、利用しているリソースの拡張/縮退が必要かどうかなどの判断にはクラウドの仕組みに対する深い理解が必要です。
しかし、クラウドの実装においては、サーバやネットワークをはじめとする構成リソースの仮想化技術が重要となりますが、その技術の実態と応用の仕組みに触れる機会は多くありません。
本項目では、ネットワーク構成に重点を置きつつ、難易度の低い課題から高い課題へと実践を積み重ねながら、クラウドサービス(IaaS)の構築に必要な基礎知識の習得・再確認・補強を行い、数千台規模のサーバを収容可能なデータセンターネットワークの構築に必要な技術を身につけることを目的しています。
概要 本カリキュラムはエミュレータを活用し、課題に沿って論理リソースを接続したL2(イーサ)ネットワークを作成し、次にそれらのL2ネットワークを冗長化することを実習します。
また課題毎にレポートとしてまとめていただき、テレビ会議にて内容の確認/質疑応答/補足等を実施することで理解度を深めていただきます。

(※)IIJアカデミーでの実習の進め方・実習環境の詳細についてはこちら

探究科カリキュラム TCP輻輳制御アルゴリズムの比較検証

背景

利用者までの通信経路については、ラスト1マイルまで含めて考えると、その帯域や品質についてはアプリケーション側では関与することができません。いってみればそれは千差万別なのです。よって、場合によってはスループットが出ず、アプリケーションが期待しているデータ通信に支障を来し、そのアプリケーションの機能が実現されなくなる可能性があります。

しかしながら、データを送出する側の TCP 輻輳制御アルゴリズムを変更することで、利用者までのスループットを向上させることが可能な場合もあります。それができればアプリケーションの機能も満たされることになるでしょう。

実際の開発で得たこの輻輳制御アルゴリズムの変更によるスループット向上の経験を、自ら手を動かして実験と実装を通して体験していただきたかったので、このカリキュラムを用意しました。

目的

TCP による通信は、信頼できるものであり確実なものでなければなりまりません。そしてこの TCP プロトコルは、end-to-end での双方向の通信を実現しているので、クライアントごとに通信の経路が異なるのが普通であって、それらが全て同じ「ネットワーク品質」であるとは限りません。というより、品質は均一ではないと考える方が自然です。

そのような異なる品質のネットワークに対して、TCP 通信としての大義である「信頼性と確実性」を担保するにはどのような努力をすれば良いでしょうか。それを実現するために、TCP においてはいろいろな輻輳制御機構が組み込まれています。

本カリキュラムでは、まず始めに TCP の基本となるフロー制御について理解を深め、次に輻輳に対する基本的な対応方法を理解していただきます。また、輻輳制御は数々のアルゴリズムによって実現されていますので、輻輳に対する効果がアルゴリズムごとにどう違うのかを、輻輳のシミュレーションとスループットの計測を通して実体験し、自らの知見とすることを目的としています。

現在では、ネットワーク全体の品質も驚くほどに向上し、もはや TCP 不要論(というと大袈裟かもましれないですね)も出てきているほどです。さらにより高いスループットを求めて QUIC というプロトコルも提案実装されてきています。そのような状況ではありますが、未来の新しいプロトコルやアルゴリズムを考えるためにも、TCP の輻輳制御を今一度実体験しておく必要があるだろう、と我々は考えています。

上にも述べたように、本カリキュラム前半では、TCP の基本となるフロー制御(window size や MSS の双方向通知など)と輻輳を避けるためのスロースタートメカニズムの基本を、通信のモニタリング(キャプチャリング)を通して理解します。

後半では、実際の輻輳発生(パケットの遅延や喪失、順序の入れ違いなど)を tc コマンドを用いてシミュレートし、Linux に実装されている輻輳制御アルゴリズム各々でのスループットの違いを計測します。アルゴリズムによる振る舞いの差異までも観測できれば最高でありますが、少なくともどのような得意不得意があるのか、適切なものは何なのかなどについて、計測結果を用いて考察していただきます。

概要 環境

データ転送サーバを複数台用意し(VM にて作成)、そのサーバ各々で TCP の輻輳制御アルゴリズムが異なるものとなるように設定します(TCP の輻輳制御アルゴリズムについては、少なくとも、cubic、reno、bbr の3種類は必須の対象とします)。そして、データ受信用のクライアントマシンを別途独立に1台用意します。

測定

上記の環境で、サーバからクライアントに、TCP プロトコルを用いてデータ送信をし、そのスループットを計測します。これが、測定の骨格です。その際、具体的にどのような道具や方法を用いて計測するかについては、代表的な方法をカリキュラム詳細に記述していいますが(http や iperf3、netperf などの利用)、それ以外にも独自の方法を考察し計測しても構いません。

輻輳の
シミュレーション

tc コマンドを利用してサーバとクライアントの間に輻輳が発生している状況を擬似的に発生させて(シミュレーション)、上記の測定を行います。その際に tc コマンドの機能を利用して、複数パターンの輻輳状況をシミュレートして実施します。

比較検証

シミュレートした輻輳状況と TCP 輻輳制御アルゴリズムの関係を、測定結果から考察し、レポートにまとめていただきます。最大のスループットを得るための適切な指針があるか、あるとすればそれはどういうものか、ということを見出すことがレポートの眼目です。

必要な技能
  • Linux の設定・操作作業の経験、スーパーユーザでの作業経験。
  • Shell Programing ができること。複雑な技法は必要なく、Linux の各種コマンドを組み合わせて評価検証作業が効率化できる程度で構いません。

[補足]

本カリキュラムでは、評価検証環境の構築において、Linux 上で VM を作成しそれを利用します。IIJ アカデミー環境下での VM の作成については、こちら側から方法を案内するので、実際の作成手順に精通している必要はありませんが、もちろん VM 作成についての経験があればそれに越したことはありません。

また実際の TCP 通信の中身を覗くので、tcpdump や wireshark(tshark)を用いてのパケットモニタリングの経験があれば心強いです。とはいえ、このカリキュラムではパケットのモニタリングやキャプチャリングが必須となるので、実習している間に精通してしまうでしょう。したがって未経験でも問題はありません。

得られる技術
  • TCP 通信におけるフロー制御と輻輳制御の必要性、そしてそれらの基本的な実装のされ方が理解できます。
  • 採用する TCP 輻輳制御アルゴリズムの違いが、輻輳発生パターンに応じてどの程度 TCP通信のスループットに影響するのか(差異があるのか)、という知見が獲得できます。


ページの終わりです

ページの先頭へ戻る