TCP/IPとは
TCP/IPは、我々が日々利用しているインターネットを構成するプロトコルの総称である。
プロトコルは、異なる複数の参加者同士で、物事を円滑に進めるための「決めごと」のことである。
様々な異なる実装のコンピューターが、お互いにやり取りするための共通語がTCP/IPである。
TCP/IPには、たくさんのプロトコルがある。そして、TCP/IPという名前は、TCPとIPという代表的なプロトコルからきている。
TCP(Transmission Control Protocol)
IP(Internet Protocol)
複数のプロトコルが必要なのは、例えば、IPの役割は、目的地まで、何らかのデータを運ぶ。ただし、IPだけでは、実際に目的地までデータが到着する保証はない。
そこで、データが目的地までちゃんと届いているか管理するプロトコルとして、TCPを使う。
つまり、TCPとIPを組み合わせることで、データが目的地まで確実に届く仕組みを実現できる。
そこで、今回は、Linuxを動かしながら、TCP/IPが学べる書籍をご紹介する。
「Linuxで動かしながら学ぶTCP/IPネットワーク入門 もみじあめ(著)NextPublishing Authors Press 以下本書という」である。
Linuxで動かしながら学ぶTCP/IPネットワーク入門
本書の特徴は以下の通りである。
この本は「手を動かしながら TCP/IP について学ぶ」をコンセプトにしています。TCP/IP は、皆さんが日頃からお使いになられているインターネットを支える仕組みです。この本の目的は、実際に手を動かしながら試行錯誤することで、TCP/IP についてより実践的な知識を得ることです。それも、今お使いになられているコンピュータがたった 1 台あれば試すことができます。
必要な環境をたった 1 台のコンピュータで完結するためには、Linux の Network Namespace という機能を使います。この機能は、近年急速に普及が進む Docker といったコンテナ型仮想化技術を構成している要素のひとつです。Network Namespace を使うと、ネットワーク的に独立した領域を Linux の中にいくつも作ることができます。実験で使うネットワークを作る上で必要な作業は、いくつかのコマンドライン操作だけです。この本では、そうして作った環境を元に、TCP/IP について学んでいきます。
■ 想定する読者
この本は、次のような方を読者として想定しています。もし、当てはまるものがひとつでもあれば、とくにオススメです。
– ネットワークが専門ではない IT エンジニア、またはそれを志す学生の皆さん
– 他の TCP/IP に関する本を読んだことはあるけど、身についている実感が少ないという方
– インターネットやインフラの技術についてよく知らないけど興味はあるという方
– ネットワークを気軽に組んで実験できる環境の作り方に興味があるという方■ 使用する環境
GNU/Linux ディストリビューションには Ubuntu 20.04 LTS を利用します。なお、付録として、今お使いになられているコンピュータに仮想マシンとしてインストールする方法を記載しています。また、コマンドライン操作の読みかえは必要となりますが、他のディストリビューションを使うことも可能です。
Amazonの本書の紹介ページ
TCP/IPを学ぶ環境
本書の特徴でも触れているが、TCP/IPを実践的に学ぶためには、環境構築という壁がある。一般的には、複数台のコンピューターが必要となる。
そこで、本書では、OSとしてLinux(Ubuntu 20.04 LTS )をインストールした1台のコンピューターで気軽に実践できる。この意義は非常に大きい。
この夏、本書で、TCP/IPを実践的に学んでみてはいかがだろう。
市販のソフトウェアを動かすだけが、パソコンの使い方ではないことを実感できるだろう。
コメント