読者です 読者をやめる 読者になる 読者になる

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

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

AIITのネットワーク特論1を受講しました

aiit.ac.jp

産業技術大学院大学は社会人向けの大学院大学であり、平日の夜間と土曜に授業が行われております。

私は本年度より「ネットワーク特論1」を受講することになりました。

授業の概要

ネットワーク特論1を受講することにより、ネットワークエンジニアとして必要な知識・技能の基礎を得ること、そしてネットワーク担当者として事業所や部門のネットワークシステムに対し管理・提案ができるようになるのがねらいです。

到達目標

ネットワーク特論1を受講することにより、学生がどういう技能を得られたかの到達目標が示されています。

最低到達目標

とりあえず単位を得られる最低レベルの目標としては、「小規模なネットワークシステムの構築・運用ができる」と明記されています。

おそらく、非システム開発会社の1事業所のネットワークの構築と運用ができるレベルと思われます。

上位到達目標

単位を得るだけではなく、「優」や「秀」の成績を取るためには学校側が期待する上位到達目標を達成する必要があります。

上位到達目標としては下記のように示されています。

ネットワーク技術・ネットワークサービスの動向を広く見通し、目的に応じて適用可能な技術・サービスを選択できる。

ネットワーク関連企業を活用して、ネットワークシステムの構築・運用ができる。

システム開発エンジニアとしては上位到達目標が必達だと思います。

第1回目の目標

第1回目の授業の目標として下記3点を掲げられました。

  • なぜ、ネットワークの基礎としてTCP/IPを学ぶのか?
  • なぜ、TCP/IPが世界標準となったのか?
  • プロトコルとは何なのか、なぜ必要なのか?

なぜ、ネットワークの基礎としてTCP/IPを学ぶのか?

コンピュータとネットワーク発展の7段階

  1. バッチ処理
  2. タイムシェアリングシステム(TSS)
  3. コンピュータ間通信
  4. コンピュータネットワークの登場
  5. インターネットの普及
  6. インターネット技術中心の時代へ
  7. 「単につなぐ」時代から「安全につなぐ」時代へ

1. バッチ処理

バッチ処理とは処理するプログラムやデータなどを、まとめて一括で処理する方式のこと。

プログラムをパンチカードやテープに記録し、順番にコンピュータに読み込ませて一括処理する形態。

当時(1950年代頃)はコンピュータが巨大で一般のオフィスには置けなかったため、計算機センターへデータを持ち込むという手法が一般的だった。

現在でもバッチ処理自体は行われているが、計算機センターで実行するわけではなく、サーバーにプログラムファイルを用意しておき、cronなどで実行するのが普通である。

2. タイムシェアリングシステム(TSS)

1台のコンピュータに複数の端末(入出力装置)を接続し、複数のユーザが同時にコンピュータを利用できるようにしたシステム。

この時代のコンピュータは高価で、1人1台のコンピュータを専有することは考えられないことだったが、TSSの登場により、仮想的にではあるが1人1台のコンピュータを利用し、「処理 → 実行」というインタラクティブ(双方向)な操作が実現できた。

但し、TSSでは端末とコンピュータが回線で結ばれただけで、コンピュータとコンピュータが結ばれたわけではない。

3. コンピュータ間通信

コンピュータで効率良く事務処理を行うために、コンピュータとコンピュータの間で通信を行う技術が生み出されました。

それまではコンピュータ間でデータのやり取りを行うには磁気テープやフロッピーディスクなどに一旦保存して、物理的に輸送しなければならなかったが、コンピュータ間通信が行われるようになったことで輸送コスト(時間・手間)が飛躍的に下がった。

また、複数のコンピュータで分散処理・データ統合を行うことができるようになった。

4. コンピュータネットワークの登場

異なるメーカーのコンピュータ同士の相互通信が可能な技術が研究されるようになった。

ウィンドウシステムの登場により、1台のコンピュータで複数のネットワーク資源を利用できるようになった。

5. インターネットの普及

マルチベンダ接続*1にインターネットの通信技術が利用されるようになった。

wwwによる情報発信のブームが起き、企業や一般家庭にインターネットが普及し始めた。

各社独自のネットワーク技術をインターネット技術に対応させるようになった(標準化)。

6. インターネット技術中心の時代へ

別々に発展してきた多くの技術がインターネットに取り込む方向に進んでいる。

電話網の代わりにIP網が用意され、その上で電話やテレビ、コンピュータ通信が構築されるようになった。

7. 「単につなぐ」時代から「安全につなぐ」時代へ

利便性が向上しているが、それに伴いコンピュータウィルスや情報漏えいといったリスクも向上している。

通信の仕組みを理解することで自己防衛をすることが大切である。

コンピュータネットワークの分類

コンピュータネットワークはその規模によって、WANとLANに分類される。

但し、明確な分類ルールは存在しない。

LAN(Local Area Network)

ランと読む。

1つの建物や組織など限られた狭い地域での小規模ネットワークで、2台以上のパソコンと、数台のネットワーク機器から構築されている。

WAN(Wide Area Network)

ワンと読む。

通信事業者(ISP)の提供する公衆回線や専用線を介した相互接続でデータやり取りを行う大規模なネットワーク。

なぜ、TCP/IPが世界標準となったのか?

インターネットの起源

アーパネットのパケット通信研究について

3つの大学と1つの研究所で実験用ネットワークを構築した(ARPANET)。

その後3年間で接続拠点を4箇所から34箇所まで増やしていった。

この実験によりパケットによるデータ通信が手法が実用に耐えうることを証明できた。

そして、この実験では信頼性の高い通信手段を提供する通信方法の実験も行われていた(TCP/IP)。

UNIXの歴史

1980年前後ではTCP/IPを実装されたBSD UNIXが大学や研究所で広く利用されていた。

その後、Sun MicroSystems社がTCP/IPを実装した製品を一般ユーザー向けに販売し始めた。

-> TCP/IPによる世界的なネットワークを「インターネット」と呼ぶようになるなど、デファクトスタンダードな存在になっていった。

UNIXの特徴としては下記が挙げられる。

  • 複数プロセスと複数ユーザを同時に扱えるように設計されたインタラクティブなシステム(前述のタイムシェアリングシステム)。
  • 基本的なガイドラインとして、「どのプログラムも1つのことだけをより上手にこなすべき」という考えがある。
    • UNIXの「ls」や「cp」のような単純なプログラムでも、それらを組み合わせれば複雑な処理が実現できる。
    • 単純で美しく、高い機能性を持つ

プロトコル

プロトコルとは

プロトコルとはコンピュータがネットワークを利用して通信するための約束事のこと。日本語では「通信手順」「通信規約」ともよばれる。

プロトコルが定められていないと、コンピュータのメーカーが異なると通信ができないなどの不便な状態になってしまう。

プロトコルを体系的にまとめたものをネットワークアーキテクチャとよび、TCP/IPもネットワークアーキテクチャの1つである。

ネットワークアーキテクチャをまとめたものが下記表になる。

ネットワークアーキテクチャ プロトコル 主な用途
TCP/IP IP,ICMP,TCP,UDP,HTTP,TELNET,SNMP,SMTP,… インターネット
IPX/SPX IPX,SPX,NPC,… パソコン, LAN
AppleTalk DDP,RTMP,AEP,ATP,ZIP,… Apple社製のLANで使われていた
DECnet DPR,NSP,SCP,… 旧DEC社のミニコンに利用されていた
OSI FTAM,MOTIS,VT,CMIS/CMIP,CLMPL,… -
XNS IDP,,SPP,PEP,… Xerox社ネットワークで利用されていた

プロトコルを人で例えると

プロトコルを人で例えると下記のようなことがいえる。

  • 日本語を話すAさんと、英語を話すBさんでは「言語のプロトコル」が異なるためコミュニケーションがとれない。
  • 日本語を話すAさんと、日本語と英語を話すCさんでは「言語のプロトコル」が同じため、コミュニケーションが成立する。
  • 日本語を話すAさんと、英語を話すBさんの間にCさんが通訳をすればコミュニケーションが成立する。
人間 コンピュータ
日本語や英語といった言語 プロトコル
言語によるコミュニケーション 通信
話の内容 データ
通訳 ゲートウェイ

プロトコルの標準化

「標準化」とは異なるメーカーの製品でも互換性を持って利用できる規格を定めること。

ネットワークプロトコルではOSI参照モデルTCP/IPモデルが有名である。

標準化を定めている機関は国際レベル・国家レベル・民間レベルで複数存在しているが、ネットワークプロトコルのデファクトスタンダードである、TCP/IPの標準化を定めているのは民間レベルのIETF(Internet Engineering Task Force)である。

プロトコルの階層化

ネットワークプロトコルは階層化構造で考えられる。これはソフトウェア開発のモジュール化に似ている概念である。

実際に使われているのはTCP/IPモデルであるが、ネットワークエンジニアがプロトコルの話をするときは、OSI参照モデルをもとにして話をすることがあるので、OSI参照モデルで階層化を考える。

OSI参照モデルでは各層で何をするかという役割を定義している。そして役割を定義しているものが「プロトコル」である。そしてそのプロトコルに準拠した製品や通信手段をユーザーが利用している。

プロトコル階層化の利点と欠点

  • 利点
    • システム内のとある階層のプログラムを変更しても、他の階層のプログラムに影響しない。
    • 拡張性に優れたシステムを構築できる。
    • 機能が分割されることで、各層のプロトコルの実装が容易になる。
  • 欠点
    • モジュール化をすすめることで処理が重くなる傾向にある。
    • 各モジュールで似た処理を行うことになる。

*1:複数メーカーの機器やソフトウェアを組み合わせ、ネットワークを構成する接続。