[ネットワーク]ネットワークとTCP/IPをざっくり理解する
はじめに
エンジニアとして仕事をしていますが、ネットワークについてはきちんと理解できていないと思い、ネットワークを基本から勉強し直しています。
学んだことをまとめていきます。
ネットワークとは?
ネットワークとは、コンピュータ同士のつながりのこと。
つながったコンピュータはお互いにデータを送受信できます。
社内ネットワークなど閉じた範囲内でのネットワークをプライベートネットワーク、公開されていて誰でもアクセスできるネットワークをインターネットと言います。
あるネットワークが、別のネットワークとつながり、「ネットワークのネットワーク」を形成しているのがインターネットです。
「インターネットで世界中とつながる」という言葉はよく聞きますが、比喩ではなく本当につながっています。
ネットワークを実現する技術
インターネットでしていることを極めて簡単に説明すると、「コンピュータ同士のデータのやり取り」です。
ブラウザでWebサイトを見ることができるのも、自分のコンピュータがインターネットを通じ、Webサイトが構築されたコンピュータにデータを要求し、返ってきた結果をブラウザが表示しているだけです。
イメージとしては、目的地のコンピュータの情報(住所)と、届ける内容を含んだデータが、自分のコンピュータから発信され、ネットワーク間・コンピュータ間でバケツリレーが行われるかのごとく運ばれていく感じです。
必要なのは、「目的のコンピュータにデータを届けること」。その実現に様々な技術が使われています。
データを届ける : 階層とプロトコル
データはコンピュータからコンピュータへ、回線や電波を通って運ばれます。
バケツリレーのようにデータを運んで行きますが、ある処理では特定の形式のデータがないと処理することができません。
この決まった形式のことを「プロトコル」といいます。
プロトコルが違うと、そのデータは処理されず、そこで消えてしまいます。
それでは困るので、データは運ばれる過程でデータにはプロトコルを合わせる情報・「ヘッダ」が付加されていきます。(カプセル化)
ヘッダによってプロトコルが合い、データは適切に処理・転送されていきます。
そして、運ばれる先で、取り付けられたヘッダが一つ一つ剥がされ(非カプセル化)、最終的に中のデータが相手に届きます。
階層ごとに大まかな役割分担が決まっており、各階層に属する様々なプロトコルを利用しながらデータを届けていきます。
TCP/IP
様々なプロトコルがありますが、その役割によってTCP/IPモデルのいずれかに属します。
階層 | 主な役割 | 主なプロトコル |
---|---|---|
アプリケーション層 | アプリケーションごとにデータを処理する | HTTP, SSH, FTP |
トランスポート層 | データを必要なアプリケーションに振り分ける | TCP, UDP |
インターネット層 | 届けるべき相手にデータを届ける | IP |
ネットワークインターフェイス層 | 同一ネットワーク内で通信する | イーサネット、Wi-Fi |
データ転送がどのような流れで行われているか見てみます。
まず、アプリケーション層からデータを送信します。
アプリケーション層のデータは、次のトランスポート層で処理されます。
データ送信に失敗した場合に再送する機能やデータサイズを分割し、正しい順序で送る機能などがあります。
続いてインターネット層で、インターネット上のどこの誰宛のデータなのか確認し、届けます。
最後にネットワークインターフェイス層。
インターネット層で届け先がわかったら、電気信号や電波などに変換にして、物理的にデータを運んでいきます。
※この階層では、通信相手のプロトコルを問わず、データを届けることができます。規格が異なる有線LANと無線LANで問題なく通信できるのはこのためです。
ネットワークインターフェイス層とインターネット層のおかげで、
あるネットワークから別のネットワーク、そのまた別のネットワークにデータが渡され、宛先となるネットワークの、固有のコンピュータにデータが届けられます。
OSI参照モデル
現在ネットワークの規格はTCP/IPがほぼ全てです。
似たようなキーワードでOSI参照モデルがありますが、これは実装されているものでもないため、TCP/IPをまずは押さえておきます。
OSI参照の各層について
- プレゼンテーション層
- アプリケーション層
- セッション層
- トランスポート層
- インターネット層
- データリンク層
- 物理層
まとめ
このように、ちょくちょく、コード系以外のことも備忘録がてら書いていきます。
誤解や知識不足があればぜひご指摘いただけると幸いです。
参考書籍
- 図解まるわかり ネットワークのしくみ
- マスタリングTCP/IP―入門編
ディスカッション
コメント一覧
まだ、コメントがありません