連載第2回
|
|
ITオンチとあなどるなかれ |
「Aさんったら、電子メールを出したらすぐ電話をかけてきて、ちゃんと着いたかどうか確認してんの〜」
ITオンチを笑うありがちな話ですが、Aさんのこの行動、まんざらヘンでもありません。確実に届いてほしい情報を送るときは、それがちゃんと到着したことを確認するのが、一番確かな確認方法だからです。このとき、メールとは違う媒体である電話で確認していますから、ほぼ100%の確率で到着したことを確認できます。
言葉を変えれば、Aさんは「自分のミスも含めて、重要なメールが届かない可能性を見越して、電話確認でリスクヘッジをした」ということになります。もしかするとこれは、長くビジネスの世界に身をおいて体得したビジネススキルなのかもしれません。
さて、今回はTCP/IPが確実な通信を行うために使っている手法を見てゆきます。その手法とは「データに番号を付ける」、そして「お互いに受け取り確認をする」です。おや、これってITオンチのAさんに通じるところがありそうですね。
データに番号を付けると……? |
FAXを送信する場合で考えてみましょう。山田さんは20枚ある資料の各ページに1から順のページ番号を付けました(図1)。中村さんは面倒くさいのでそのまま送信しました。
図1 ページ番号があるだけで、いろんな管理がうまくいく |
あなたがこの2人からFAXを受け取ったとしましょう。とても大事な書類ですから、すべての資料を正しいページ順で確実に受け取れたか、しっかり確認しなければなりません。
山田さんが送ってくれたFAXは、各ページに番号が付いていました。例えば山田さんがFAXを依頼した部下が、たまたまページ順を間違えて送信したとしましょう。その場合でも、あなたはページ番号を頼りに正しい順番に戻すことができます。また、1枚抜けていたら「○番が足りません。再送してください」と依頼ができます。また通信エラーか何かで同じページが2枚来ていたら、そのうちの1枚を捨てればいいだけです。
ではこれが中村さんからのFAXだったらどうでしょう? 番号がない中村さんのFAXは、順番も抜けも確認のしようがありません。どっちがイイかは、いうまでもありませんね。そう、番号を付けるのはより正確な通信をするためです。TCPの場合もこれとほぼ同じ事情でデータに番号を付けています。
TCPでは、データ1バイト(8ビット、英字1文字に相当)につき、1つの番号を割り当てています(図2)。次のデータは番号が1つ増え、その次のデータはさらに番号が1つ増えます。
図2 TCPでは1バイト(半角1文字相当)ごとに番号を付ける |
では最初のデータは0でしょうか、1でしょうか? 実はどちらでもありません。何番からスタートするかは、通信を開始するときに乱数で決めて、お互いにその番号を交換し合うルールになっています。乱数で決めるのですから、何番から始まるかはその時になってみないと分かりません。
●最初のデータ番号を乱数で決めるのには何か訳がありそうですね
一言でいえば、無用な混乱を避けるためです。例えば、「ねーねー、最近6チャンネルのドラマ面白いよね」とテレビの話をしていて、次に「そういえば2ちゃんねるは見た?」といったとします。このとき、これがネット掲示板の「2ちゃんねる」なのかテレビの「2チャンネル」なのか、非常に紛らわしいでしょう? その原因の1つは、同じような数値で表された名前だからです。
これと同じように、0か1の同じ番号でスタートするルールにしておくと、通信途中で問題が起きたときに、片方は通信を止めて新しく通信を始めようとしているのに、もう片方が続きのデータ番号として受け取る可能性があります。こういった論理的にヘンな状態にならないよう、それぞれ全く違う番号から始まるようにするわけです。
|
関連リンク | |
連載:TCP/IPアレルギー撲滅ドリル【超実践編】(上位レイヤ編) 連載:インターネット・プロトコル詳説 連載:ルータの仕組みを学ぼう ホストのネット接続は正しく行われているか? 〜netstatによるネットワーク設定の確認〜 |
「Master of IP Network総合インデックス」 |
- 完全HTTPS化のメリットと極意を大規模Webサービス――ピクシブ、クックパッド、ヤフーの事例から探る (2017/7/13)
2017年6月21日、ピクシブのオフィスで、同社主催の「大規模HTTPS導入Night」が開催された。大規模Webサービスで完全HTTPS化を行うに当たっての技術的、および非技術的な悩みや成果をテーマに、ヤフー、クックパッド、ピクシブの3社が、それぞれの事例について語り合った - ソラコムは、あなたの気が付かないうちに、少しずつ「次」へ進んでいる (2017/7/6)
ソラコムは、「トランスポート技術への非依存」度を高めている。当初はIoT用格安SIMというイメージもあったが、徐々に脱皮しようとしている。パブリッククラウドと同様、付加サービスでユーザーをつかんでいるからだ - Cisco SystemsのIntent-based Networkingは、どうネットワークエンジニアの仕事を変えるか (2017/7/4)
Cisco Systemsは2017年6月、同社イベントCisco Live 2017で、「THE NETWORK. INTUITIVE.」あるいは「Intent-based Networking」といった言葉を使い、ネットワークの構築・運用、そしてネットワークエンジニアの仕事を変えていくと説明した。これはどういうことなのだろうか - ifconfig 〜(IP)ネットワーク環境の確認/設定を行う (2017/7/3)
ifconfigは、LinuxやmacOSなど、主にUNIX系OSで用いるネットワーク環境の状態確認、設定のためのコマンドだ。IPアドレスやサブネットマスク、ブロードキャストアドレスなどの基本的な設定ができる他、イーサネットフレームの最大転送サイズ(MTU)の変更や、VLAN疑似デバイスの作成も可能だ。
|
|