最近は「Big Data」、「Internet of Things」、「Deep learning」がITのキーワードとなっています。近い将来、IOTですべてのものがインターネットに接続されるようになり、そしてそれらから多量の情報がネットワーク上に流れるようになります。そして深層学習は多量のデータから有用な予測を行うことを可能にする技術ですから、これらは別々というわけではなく必ずどこかで繋がってくることでしょう。
クラウドサービスも少し前にキーワードとして頻繁に取り上げられていましたが、現在は落ち着きを見せています。落ち着きを見せるようになったのは、流行りが過ぎ去ったというだけのことではなく、それが当たり前の技術として世に浸透したからだとも言えます。
将来これらのITが相互に連携しあってサービスを提供できるようになるためには、強固なインターネット基盤が必要となります。
そこで今回はネットワークの基礎知識をまとめておきたいと思います。
はじめに
現在私達が普段当たり前のように使っているインターネットもネットワークの一種です。
なぜこうも特別な知識を有さず、当たり前のようにインターネットを活用できるかというと、そうなるように誰かが設計したからにほかなりません。
ネットワーク上で情報というのは、いつでも「0」か「1」の二値でのみやり取りされており、その数値自体に本来意味はありません。その数値の組み合わせが示す意味を、予め約束事として取り決めておかなければ情報のやりとりはできないのです。
その約束事のことを「プロトコル」と言います。
プロトコルの階層構造
ネットワークで情報がやり取りされる際には、私達が普通に使っているメールやブラウザなどの内容を適切に解釈し、物理的な信号として相手に送信し、そしてそれの復元を行っています。
ところで、メールのやりとりはOSが異なっていても、ブラウザが異なっていても、使っているコンピュータのハードウェアが異なっていても正しく行うことができます。それは各階層ごとにプロトコルを取り決め、互いに干渉しないように上手く設計されているからです。各階層は自分の仕事のみをして、次の層へとデータを受け渡します。ブラウザが異なっていても、そのルールに従っている限りは、他の部分のことを考える必要は無いというわけです。
OSI参照モデル
現在、この階層を分けるために広く使われているのは「OSI参照モデル」と呼ばれるものです。
OSI参照モデル その3 (ネットワークのおべんきょしませんか? Cisco CCNA/CCNP/CCIE、ネットワークスペシャリスト試験の勉強にピッタリ)
アプリケーション層
アプリケーション層はメールやブラウザなど、個々のアプリケーションに対応。
プレゼンテーション層
情報の文法やフォーマットの取り決め。
セション層
アプリケーション間でのセッションの管理。
トランスポート層
端末内のアプリケーションプロセス間の通信
ネットワーク層
送信端末と受信端末間のパケットの転送。
サブネットの管理。
データリンク層
隣接した端末間でのデータ転送。
データをフレームに分割して送信。伝送誤りの検知。
物理層
光や電磁波など、物理現象を用いて伝送路上でビット(0と1の配列)の伝送。
逐次更新します
各階層における詳細を少しずつ更新していこうと思います。
将来的にはネットワークスペシャリストの資格試験なども力試しに受けてみたいです。