アプリ版:「スタンプのみでお礼する」機能のリリースについて

繰り返し似たような質問でお騒がせ致します。
質問の内容が分かりづらいと意見を頂いたので
再度、見直して相談させて頂きます。

データ通信レイヤモデルの実際の動作に関しての質問です。

どの教材テキスト等に載っている説明図(イラスト)でも
データ通信をする際、レイヤを通過する度にヘッダが付加されて
最終的にイーサヘッダが付加されてフレームサイズになるという感じでした。

レイヤを通過=ネットワーク機器を通過=(ヘッダを付加する)
上記のようなイメージをもって解釈をしておりました。

従って
スイッチを通過すればMACアドレスにあたるイーサヘッダが付加され
ルータを通過すればIPヘッダが付加され

こういう感じで通信データサイズがニョキニョキ伸びて
スイッチ(IPパケット)とルータ(イーサフレーム)のそれぞれのサイズで分割され
最終的にはパケットがイーサフレームVer2に納められルータの外側のWANへ旅立つといったイメージで捉えていました。

しかし上記の解釈ですと
レイヤを通過する順番と
ネットワーク機器を通過する順番でヘッダが付加する順序が異なります。

さらにプロトコルデータユニット(PDU)では
TCPヘッダが付加された時点でのデータの呼び名がセグメント
その次のIPヘッダが付加されればパケットとなっており
これはネットワーク内を流れる範囲でデータの呼び名が変わるものだと解釈してしまいました。

従って
スイッチで区切られたセグメント内ではセグメント(TCPヘッダまで付加した長さのデータ)
ルータで区切られたネットワークセグメント内ではパケット(IPヘッダまで付加した長さのデータ)
ルータ外部(WAN)側ではフレーム(イーサヘッダまで付加した長さのデータ)
がそれぞれの範囲に対応したデータサイズで通信している

上記のような認識をもって学習を進めていく内に
上述した通りレイヤとネットワーク機器の通過する順番が異なる等から矛盾が生じ
その先の学習に進むことが出来ずにいました。

色々とネット検索や書籍で調べてましたが明確な答えを見つけるには至らず
次第にホストPCからデータが送信された時点でデータの長さは(どこまでレイヤを通過して)どれくらいなのかと新たな疑問も湧き始めました。

ここには数回相談しましたが
各ヘッダにデータを付加するだけの空き空間が最初から用意されていて
(最初から長さもフレームサイズで)
その空間にヘッダ情報が書かれているだけなのかと
おぼろげではありますが、そういう認識で留まりました。

私が知りたいのは以下3点になります。

・ホストPCから送出された時点のデータの長さは
レイヤのどの部分まで処理が進んだサイズ(長さ)のものになって送出されているのかです。
パケットなのかフレームなのか

・そのデータサイズの流通可能な範囲は
スイッチで区切られたセグメント内なのか
ルータで区切られたネットワークセグメント内なのか

・データが分割される場所は何処で行われてるのか
レイヤではTCPとはなっていますが、どのソフト又はハードなのか
(ホストPC内かネットワーク機器か又は別の場所か)

正しい理解を得たくて上記の様な事で悩んでいます。
度々、同じような質問でお手数おかけしますが
どうか宜しくお願い致します。

A 回答 (2件)

3つ質問されていますが、その前に前提を誤って解釈しているかと思います。


そちらを確認された上でご質問ください。

> こういう感じで通信データサイズがニョキニョキ伸びて
伸びないです。
TCP/IPあるいはUDP/IPのモデル、OSI7階層モデルでもそうですが、
EthernetのヘッダやIP、TCPのヘッダは始点で付き、終点で取り除かれるからです。

端末発ーインターネット上のサーバ着の通信で端末が出すパケットの
・Ethernetの始点は端末、終点はルータ(L3スイッチ)になります。
・TCP/IPやUDP/IPの始点は端末、終点はインターネット上のサーバになります。
上記に従って、EthernetヘッダやIPヘッダ、TCPヘッダが付くのは知っているかと思います。

端末が出すパケットには着がルータ、発が端末のMACアドレスがEthernetヘッダが付いていますが
ルータは転送する際、そのEtherヘッダを取り除きます。
そして次の転送先にパケットを送りますが、このときに転送先のMACが着、ルータのMACが発の
Ethernetヘッダを生成し、これをつけてパケットを送ります。
つまりルータが何段も経由する通信では、Ethernetヘッダを取って付けてが
繰り返されるのです。だから伸びません。

なお、IPヘッダ、TCPヘッダやUDPヘッダについても取って付けてになるケースがあります。
具体的にはhttp proxyサーバやNATを経由する際になります。

それから、基本、L2スイッチではMACアドレスによるスイッチングを行うだけで、
ヘッダの付加や書き換えは行いません。

EhetnetやIPやTCPヘッダのデータフォーマット図を見るとMAC、IPなどの
始点と終点の情報がありますが、それと上記の説明を
照らし合わせてみてください。

勉強がんばってください!!!
    • good
    • 0
この回答へのお礼

丁寧な回答をありがとうございます。
今まで見た説明で一番わかりやすいです。

テキスト等にも書かれていないことなので本当に助かります。
やっと飲み込めることができました。

本当にありがとうございます。

お礼日時:2017/08/22 09:58

PCのEthernetポートから出力される想定だと思いますので、それはEthernetフレームが送信されますよ。

そのEthernetフレームは、IPパケットをカプセル化してます。

セグメントという言葉に執着しているようですが、それは忘れて下さい。
データサイズは各NW機器で送信可能な範囲は、IPフラグメンテーションを行う想定であれば(df bitが0であれば)どの機器も通過可能ですが、IPフラグメンテーションを行わない想定であれば(df bitが1。Path MTU Discoveryの考えを導入したOSであれば)MTU以下のNW機器しか通過できません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!