インターネットでの通信のやり取りは

「パケット」という「小さなデータの固まり」でやり取りされるそうなのですが
どのような場合にパケット通信されているのでしょうか?

例えばイメージ例で考えてみると
hotmailなどでメール送信した場合でもパケット通信が、
「送信側」から「受信側」へと行われているのでしょうか?

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:
  • 終了:2008/12/24 00:45:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:harasima No.1

回答回数128ベストアンサー獲得回数7

ポイント20pt

全ての場合でパケット通信されていると思って構いません。

http://e-words.jp/w/E38391E382B1E38383E38388E9809AE4BFA1.html

大量のデータを小分けにしたモノを「パケット」と読んで、それを送受信することでメールしながらウェブを見ることが出来たり、一つのサイトに大勢の人(パソコン)が接続できたりすることが出来るのです。

(メールの通信の小分けされたパケットの途中にウェブ通信のパケットが割り込むという感じ)

おおざっぱに具体的にいうと、パケットの大きさはよく言われる「MTU」です。

id:ThinkThink

ご回答ありがとうございます。


>ttp://e-words.jp/w/MTU.html

通信の流れが分ってきたと思います。

通信の流れとしては

「MTUの数値に従ってデータを分割する。分割したデータが一つ一つ宛先に送られていき、最後までデータが贈られた時点で送信が完了する。」

ということですよね。


[MTU]では

EhterNetでは1500程度

電話回線によるダイヤルアップ接続だと、576程度が最適とされている

ttp://e-words.jp/w/MTU.html

とあったのですが

この1500や576という数値が「データ分割の基準となる数値」ということだと思われるのですが、

ここで出ている"1500"や"576"の数値を表す単位は、バイトになるのでしょうか?


今私の頭にあるイメージとしては、

「1500で設定した場合、1500byte 単位でパケットを送信しましょう。」感じなのですが・・・

2008/12/21 13:53:29
id:mulloo No.2

回答回数151ベストアンサー獲得回数2

ポイント20pt

ほとんどすべての場合。http://www

id:ThinkThink

ありがとうございます。

今度は「ほとんど」のところが、少し気になってきました。。。

2008/12/21 13:54:11
id:Kumappus No.3

回答回数3784ベストアンサー獲得回数185

ポイント20pt

それほど簡単なわけではありませんが、全てのデータはパケットに分解されて送受信されていると考えて問題ありません

http://itpro.nikkeibp.co.jp/article/COLUMN/20060404/234485/

世の中で一番使われているのはIPパケットと呼ばれるパケットで

http://www.atmarkit.co.jp/fwin2k/network/baswinlan010/baswinlan0...

の図みたいな構造をしています。ここの「以降はデータ部分」って書いてあるところにデータを細切れにして詰め込みます。

また、例にあげられているhotmailの場合でも必ず

送り側:データ送ったよ

    受け取ったよ:受け側

送り側:次送ったよ

    受け取ったよ:受け側

みたいな双方向の通信が(パケットで)行われているので、特殊な場合を除いて一方通行で送りっぱなしということは少ないですね。

(これらのやりとりはいくつかの階層でそれぞれ「なんやかんや」行われています)

id:ThinkThink

ご回答ありがとうございます。

>それほど簡単なわけではありませんが、全てのデータはパケットに分解されて送受信されていると考えて問題ありません。

勉強の入り口として

十分な参考となるお話をありがとうございます。

大分と頭の中がスッキリしてきた感じがします!


送り側:データ送ったよ

    受け取ったよ:受け側

送り側:次送ったよ

    受け取ったよ:受け側

このやり取りが何度も行われていき

最終的にデータのやり取りが完了する、ということになるのですね。



「送ったよ」=「送信したよ」で終わるのではなく「送った」という情報に対して「受け取った」という情報を送り元に返しているということですよね。

でないと「送信側は、送信した。だけれども、相手にちゃんと届いたのか?という情報はわからなくなってしまうから」ということですよね。


ちょっと思ったんですが

hotmailでメール送信する場合を例にとると

[OK]

送信者が送信しました → 受信者が受信しました

[NG]

送信者が送信しました → 受信者が受信できません

という結果が返ってきた場合「宛先が存在しません。」のようなエラーが

返って来ることがありました。

これは「受け取った」という信号が返ってこなかったためにこのエラーが

返ってきているということなのでしょうか。

2008/12/21 15:03:17
id:v99 No.4

回答回数35ベストアンサー獲得回数4

ポイント20pt

常にパケットでやりとりされています。

というか概念的な話をするとどんな通信でもデータは必ずパケット化されているとも言えます。

1バイト毎データを送ることを考えても1ビットが8個集まった塊をスタートビットとストップビットで挟んだパケットを送っていると考えることができます。

郵便でも封筒や箱に手紙や品物を入れてパケットとして送っています。葉書も一種のパケットですね。

インターネットの通信で(小さなデータの塊の)パケットを使っているのはバイト単位でデータをロスなくやり取りするためにはその前後に色々な仕組みを入れなければなりませんしデータの長さが違うとその都度その扱い方を変えなければなりません。なのでデータを一定の規格に従った取り扱いやすい塊(パケット)にしてやり取りしているのです。

そしてパケットを扱うソフトは規格化されたパケットを単なる荷物として扱い、パケットの中身については一切考えずに済ませます。パケットの中身は単に情報として1文字しか入っていないこともありますし、パケットに入りきらない場合は幾つかのパケットに分けて送ります。

こうすることによって色々な用途に同じ仕組みを使うことができます。さらに別の仕組み(プロトコル)をパケットの荷物として入れて別の仕組みで通信できているように見せること(カプセル化)もできます。



http://www.atmarkit.co.jp/fwin2k/network/baswinlan010/baswinlan0...

id:ThinkThink

ご回答ありがとうございます。


>1バイト毎データを送ることを考えても1ビットが8個集まった塊をスタートビットとストップビットで挟んだパケットを送っていると考えることができます。

ここが少し疑問だったのですが「8ビット+スタートビット+ストップビット」ということは、

1バイト毎データを送る場合は10ビット単位でパケット送信を行っていく、ということになるのでしょうか?


>パケットの中身については一切考えずに済ませます。

データの中身まで考慮していくと、共通した通信プロトコルの実現が難しいからでしょうか。

例えば長さだと、長さが1の時がどうだ、2の時がどうだ、3の時がどうだ、という風に長さが変動する度に

扱い方法を考えなければならない。

その手間を省くために「パケットのある部分の情報が一致していれば、その内容を相手に送りましょう」という風に規定しておくことで「長さについて、一つ一つ扱い分けをしなくても良くなる」ということですよね。


思ったのですけれども

これって他の規約に対しても言えるものなのでしょうか?

勉強を進めていくうちに「プロトコル、規約」という言葉を良く耳にするのですが

プロトコルって、強引に言ってしまえば「何か手段をとる際に、一つ一つ物事を決めていっていたのではラチが空かないので、それなら、予め“その何かをする際にはお互いが認識するための手順を規定しておきましょう”。ということなのでしょうか。(この場合だと通信を行う為に、一つ一つ物事を決めていったのではラチがあかないので、しかも普段から良く使うものでもあるのでルール化しておきましょうと。)


そういういことなのでしょうか?

(すみません、ちょっと色々考えるところがあって長くなってしまいました)

2008/12/21 15:18:58
id:Ringeril No.5

回答回数21ベストアンサー獲得回数1

ポイント20pt

OSI参照モデルの基礎としてはパケットではなく

データ→セグメント→パケット→フレーム→ビット列

とカプセル化して通信していることになります。

http://www5e.biglobe.ne.jp/~aji/3min/06.html

http://learning.jouhou-home.com/CCNA/pagi/osi/osi_2.html

  • id:harasima
    追記ですが、MTUはデータリンク層のイーサネットフレーム(パケットをフレームと呼びます)の大きさです。
  • id:v99
    >>
    >1バイト毎データを送ることを考えても1ビットが8個集まった塊をスタートビットとストップビットで挟んだパケットを送っていると考えることができます。

    ここが少し疑問だったのですが「8ビット+スタートビット+ストップビット」ということは、

    1バイト毎データを送る場合は10ビット単位でパケット送信を行っていく、ということになるのでしょうか?
    <<

    これは概念的な説明なので必ずしもこの方法で送られているとは限りません。デジタルでデータをやりとりする場合はデータの始まりと終わりをきちんと取り決めをしてえおかないと駄目ということです。

    >>
    >パケットの中身については一切考えずに済ませます。

    データの中身まで考慮していくと、共通した通信プロトコルの実現が難しいからでしょうか。

    例えば長さだと、長さが1の時がどうだ、2の時がどうだ、3の時がどうだ、という風に長さが変動する度に

    扱い方法を考えなければならない。

    その手間を省くために「パケットのある部分の情報が一致していれば、その内容を相手に送りましょう」という風に規定しておくことで「長さについて、一つ一つ扱い分けをしなくても良くなる」ということですよね。
    <<

    おおむね理解は合っています。
    パケットは郵便のシステムと考えると理解しやすいです。
    封筒の大きさや重さが規定の範囲内でちゃんと届く住所氏名が書かれてあれば封筒の中身が恋文だろうが三行半だろうが関係なく封筒は届く訳です。
    これは郵便システムというプロトコルが決まっていて皆それに従って利用しているということになります。

  • id:ThinkThink
    すみません、お返事が遅くなり申し訳ございません。
    ご回答くださった方、ご回答ありがとうございます。


    id:v99さん
    ありがとうございます。

    >封筒の大きさや重さが規定の範囲内でちゃんと届く住所氏名
    これがいわゆる、ヘッダーに当たるのですね。

    >中身が恋文だろうが三行半だろうが
    そして、これがデータに当たるのですね。
    なんだか恋文という表現が面白かったせいか、覚えるのがはやそうです。。。(笑)

    ご回答頂きありがとうございました。


    >id:Ringerilさん
    ありがとうございます、とてもためになりました。
    中でも教えて頂いたサイトの
    http://www5e.biglobe.ne.jp/~aji/3min/06.html
    の内容がとても分り易かったです。


    何度か読んでいって覚えていきたいと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません