それではマスタリングTCP/IP 入門編のまとめ第2弾を見ていきましょう!
第1弾を見ていない方はこちらをどうぞ
-
マスタリングTCP/IP 入門編まとめ Part1
はじめに 恥ずかしいものでエンジニア歴3年目にもなるのですが、ネットワークやインターネットの基礎などを全く勉強してきませんでした... 新卒で入った会社ではDockerなど、割と新しめ?の技術を採用し ...
続きを見る
第2章 TCP/IP 基礎知識
この章ではネット環境の通信を実現するためのもっとも有名なプロトコルであるTCP/IPの誕生から現在までの歴史、プロトコルの概要について学んでいきます。
2.1 TCP/IP登場の背景とその歴史
送信したいデータをパケットとして細分化してデータを送受信する、パケット通信の必要性が唱えられたのは軍事技術で分散したネットワークが必要だったため。
やっぱり最初は軍事技術とかそういうものから始まるんだなぁ1980年代、UNIXが広く利用されており、このUNIX OSにTCP/IPが実装されたことから、TCP/IPがコンピュータネットワークの主流となっていった。
2.2 TCP/IPという語は何を指す?
多くの場合、TCP/IPはTCPとIPという2つのプロトコルだけではなく、IPを利用したり、IPで通信したりするときに必要となる多くのプロトコル群の総称のことを言う。
具体的にはIPやICMP、TCPやUDP、TELNETやFTP、HTTPなど関係するプロトコルを含んでいる。
TCP/IPが他の標準化とは異なるのは動かすことを重要視して仕様が決定されていることであり、オープンであることである。
● TCP/IPのプロトコルの標準化の流れ
プロトコルを提案したい人やグループがインターネットドラフトを作成
なお、インターネットドラフトの有効期限は6ヶ月である。これは、不要な情報は早急に消去しないとどれが必要でどれが不必要かの判断ができなくなるためである。
↓
議論が行われ、承認が得られるとRFC*のドキュメントとして登録される。
最初は提案標準と呼ばれる。
* RFC(Request For Comments) => インターネット上で公開されている、プロトコルの仕様書だけでなくプロトコルの実装や運用に関する有用な情報、プロトコルの実験に関する情報が含まれるドキュメント
↓
提案標準のプロトコルが多くの機器で実装されてい広く運用され、承認が得られるとドラフト標準になる。
↓
ドラフト標準になってから、さらに多くの機器で実装され利用されるようになり、標準化に携わる多くの人が「実用性があって問題がない」と考えるようになると標準となる。
このように、TCP/IPでは標準になったときにはすでに十分に普及しているのである。
2.3 インターネットの基礎知識
インターネットとは全世界を接続しているコンピュータネットワークのことである。
2.5 TCP/IPの階層モデルと通信例
TCP/IPを利用した時のアプリケーション層から物理媒体までのデータと処理の流れを見てみる。
各階層では送信されるデータにヘッダと呼ばれる情報が付与される。
本書籍では電子メールを利用してTCP/IP上で「おはようございます」を2つのコンピュータ間でやりとりする場合の例が挙げられている。
① アプリケーションの処理
アプリケーションプログラムを動かして「おはようございます」と入力して送信ボタンを押したところでTCP/IPによる通信が開始される。
まず、アプリケーションプログラムでは日本語の場合、UTF-8といった符号化の処理が行われる。そしてアプリケーションがメールを送信するときにTCPにコネクション確立を指示するとアプリケーションのデータが下位層のTCPに渡され、実際の転送処理が行われる。
② TCPモジュールの処理
TCPはアプリケーションの指示により、コネクションを確立したり、データを送信したり、コネクションを切断したりする。
TCPの機能を実現するために、アプリケーションから渡されたデータの前にTCPヘッダ(送信ホストと受信ホストのアプリケーション識別のためのポート番号、そのパケットデータが何バイト目のデータなのかを示すシーケンス番号など)を付けてIPにデータを送る。
③ IPモジュールの処理
TCPヘッダの前にIPヘッダ(宛先のIPアドレスや送信元のIPアドレスなど)が付与され、経路制御表を参照してIPパケットを次に渡すルーターやホストを決定する。そして、その機器が接続されているネットワークインターフェースのドライバにIPパケットを渡して実際の送信処理をしてもらう。
④ ネットワークインターフェース(イーサネットドライバ)の処理
IPパケットにイーサネットのヘッダ(宛先のMACアドレスと送信元のMACアドレス、イーサネットのヘッダに続くデータのプロトコルを示すイーサネットタイプ)が付けられて送信処理が行われる。
受け取ったホスト側での処理は送信ホストの処理と全く逆のことが行われる。
第2章はネットワークのプロトコルであるTCP/IPの基礎知識について学びました。
当たり前ですが第1章の知識がないと理解しづらいなってところもありました。繰り返し読んで理解していく必要がありますね。。
次回は
第3章 データリンク
についてのまとめ記事となります!お楽しみに!