返信

ナイペータさん,こんにちわ。

>「イーサネットは、あるマシンが送ったデータをすべてのマシンに届ける」

これは,信号がすべてのマシンに届くということです。

で,信号を受信したマシンは次のように動きます。
まず,宛先アドレスを調べ,自分が該当するするかどうか判断します。
そして,該当すればパケットを受信しますし,該当しなければ信号を無視します。

これがイーサネットの基本動作で,この考え方に照らし合わせると,
ARPパケットの場合は,宛先アドレスがブロードキャストアドレスですから,
全員が該当するので全員がパケットを受信し,
通常のパケット(ユニキャストパケット)は特定のマシンだけが該当するので,
そのマシンだけがパケットを受信することになります。

信号が届くことと,パケットを受信することは別だと考えればよいでしょう。

> 「HTTP自体は、コネクションレス型である」

HTTPというプロトコルは,
リクエストを送るとレスポンスが返ってくるのが基本動作です。
で,一つリクエストを送って,それに対して一つレスポンスが返ってくるのを
一つのやり取りだということにすると,
その一つ一つのやり取りを独立したものと見なします。
IPがパケットを一つ一つ独立したものと見なすのと同じです。
そのことを指してコネクションレス型だと云ってるんです。

HTTPがコネクションレス型だというのは,
HTTPというプロトコルの特徴を表しているだけで,
HTTPのメッセージをどのような方法で運ぶかということは別問題です。
HTTPがコネクションレス型だということと,
そのメッセージをコネクション型のTCPプロトコルで運ぶということは,
全く別のことだということです。

なお,HTTPプロトコルの仕様には,
メッセージを運ぶプロトコルに関する規定はないはずなので,
理屈の上では,UDPを使ってHTTPメッセージを運んでもかまいません。
ただ,UDPはメッセージ長に制限があり,
リライアブル(エラー回復などを行わないということ)でもないので,
実用的ではありません。
だから,HTTPメッセージはTCPで運ぶわけです。

<code>Only

  • 使用できるHTMLタグ: <code>
  • 文字で図を描く場合に<code>と</code>で囲んでください
画像認証
機械的なスパムメッセージ送信を防止するために画像認証を設けています。ご協力ください。
Image CAPTCHA
Enter the characters shown in the image.