ネットワークとは
Coddyの「ターミナルで学ぶネットワーク」コースのレッスン 1/47。
ネットワークとは、互いにメッセージを送信できるマシンにほかなりません。ノートパソコンがウェブサーバーにページを要求すること、スマートフォンがメールを取得すること、バックエンドサービスがデータベースを読み取ること――これらはすべて、あるマシンがメッセージを送り、別のマシンがそれに応答を返すということです。
それらのメッセージは、パケットと呼ばれる小さな断片になって移動します。大きな応答は分割され、送信され、もう一方の端で再構成されます。パケットを手作業で扱うことはほとんどありませんが、これは目にする多くの現象を説明してくれます。低速な接続ではページが途切れ途切れに届く理由や、応答の一部は届いているのに残りが届かないことがある理由などです。
このコースで重要な習慣は、インターネットを場所として考えるのをやめ、会話として考え始めることです。何かが尋ねます。何かが答えます。それ以外のすべては、誰が尋ねているのか、どこにいるのか、そして質問がどのような形をしているのかに関する詳細です。
この3つの詳細は、次の3章にそのまま対応します。アドレスと名前は場所を示し、ポートはそのマシン上のどのプログラムかを示し、HTTPは質問に形を与えます。
チャレンジ
簡単ラウンドトリップが実際に行われたことを証明します。
ping はマシンに小さなメッセージを1つ送信し、応答を待ちます。127.0.0.1 に1つだけ送信し、何個戻ってきたかを示すサマリーの部分だけを出力します:
1 packets received
-c1はメッセージを1つだけ送信します。grep -oは行全体ではなく、一致するテキストだけを出力します。
自分で試してみよう
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ターミナルで学ぶネットワークのすべてのレッスン
自分で練習してみよう: Terminalプレイグラウンド