ナイペータさん,こんにちわ。
>「イーサネットは、あるマシンが送ったデータをすべてのマシンに届ける」
これは,信号がすべてのマシンに届くということです。
で,信号を受信したマシンは次のように動きます。 まず,宛先アドレスを調べ,自分が該当するするかどうか判断します。 そして,該当すればパケットを受信しますし,該当しなければ信号を無視します。
これがイーサネットの基本動作で,この考え方に照らし合わせると, ARPパケットの場合は,宛先アドレスがブロードキャストアドレスですから, 全員が該当するので全員がパケットを受信し, 通常のパケット(ユニキャストパケット)は特定のマシンだけが該当するので, そのマシンだけがパケットを受信することになります。
信号が届くことと,パケットを受信することは別だと考えればよいでしょう。
> 「HTTP自体は、コネクションレス型である」
HTTPというプロトコルは, リクエストを送るとレスポンスが返ってくるのが基本動作です。 で,一つリクエストを送って,それに対して一つレスポンスが返ってくるのを 一つのやり取りだということにすると, その一つ一つのやり取りを独立したものと見なします。 IPがパケットを一つ一つ独立したものと見なすのと同じです。 そのことを指してコネクションレス型だと云ってるんです。
HTTPがコネクションレス型だというのは, HTTPというプロトコルの特徴を表しているだけで, HTTPのメッセージをどのような方法で運ぶかということは別問題です。 HTTPがコネクションレス型だということと, そのメッセージをコネクション型のTCPプロトコルで運ぶということは, 全く別のことだということです。
なお,HTTPプロトコルの仕様には, メッセージを運ぶプロトコルに関する規定はないはずなので, 理屈の上では,UDPを使ってHTTPメッセージを運んでもかまいません。 ただ,UDPはメッセージ長に制限があり, リライアブル(エラー回復などを行わないということ)でもないので, 実用的ではありません。 だから,HTTPメッセージはTCPで運ぶわけです。
More information about text formats
イーサネットは全員に信号が届く
ナイペータさん,こんにちわ。
>「イーサネットは、あるマシンが送ったデータをすべてのマシンに届ける」
これは,信号がすべてのマシンに届くということです。
で,信号を受信したマシンは次のように動きます。
まず,宛先アドレスを調べ,自分が該当するするかどうか判断します。
そして,該当すればパケットを受信しますし,該当しなければ信号を無視します。
これがイーサネットの基本動作で,この考え方に照らし合わせると,
ARPパケットの場合は,宛先アドレスがブロードキャストアドレスですから,
全員が該当するので全員がパケットを受信し,
通常のパケット(ユニキャストパケット)は特定のマシンだけが該当するので,
そのマシンだけがパケットを受信することになります。
信号が届くことと,パケットを受信することは別だと考えればよいでしょう。
> 「HTTP自体は、コネクションレス型である」
HTTPというプロトコルは,
リクエストを送るとレスポンスが返ってくるのが基本動作です。
で,一つリクエストを送って,それに対して一つレスポンスが返ってくるのを
一つのやり取りだということにすると,
その一つ一つのやり取りを独立したものと見なします。
IPがパケットを一つ一つ独立したものと見なすのと同じです。
そのことを指してコネクションレス型だと云ってるんです。
HTTPがコネクションレス型だというのは,
HTTPというプロトコルの特徴を表しているだけで,
HTTPのメッセージをどのような方法で運ぶかということは別問題です。
HTTPがコネクションレス型だということと,
そのメッセージをコネクション型のTCPプロトコルで運ぶということは,
全く別のことだということです。
なお,HTTPプロトコルの仕様には,
メッセージを運ぶプロトコルに関する規定はないはずなので,
理屈の上では,UDPを使ってHTTPメッセージを運んでもかまいません。
ただ,UDPはメッセージ長に制限があり,
リライアブル(エラー回復などを行わないということ)でもないので,
実用的ではありません。
だから,HTTPメッセージはTCPで運ぶわけです。