Re: レイヤ3・レイヤ2のプロトコルの動き

この質問の投稿一覧へ

なし Re: レイヤ3・レイヤ2のプロトコルの動き

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2013-12-4 13:55
porco  新米   投稿数: 4
>1)下記のフローで誤りがありましたらご教示、または補足をお願いしたいです。
 以下にフローを確認して、疑問を感じた点を列挙しました。
 その下にまとめを記述いたしました。



>1.トランスポート層から流れてきたセグメントまたは、データグラムをカプセル化
>2.カプセル化されたPDUに、IPヘッダが付加される。
 2にてIPヘッダを付加すると書かれていますが、1の「カプセル化」では何を行っているのでしょうか。


>3.IPアドレスを取得した後?ARPパケットが作成されて、
 どこからIPアドレスを取得するのでしょうか。
 また、この段階でIPアドレスを取得するのであれば、
 2で付加したIPヘッダの宛先IPアドレスには何が入るのでしょうか。


>4.次に、IPヘッダにICMPメッセージが付加されたIPパケットが生成される。
 そもそもどのような通信を行っているか明記されていないので何とも言えませんが、
 ここでどのようなICMPメッセージを付加していますか?


>この後、レイヤ3からレイヤ2へカプセル化するのは、
>イーサネットフレームに宛先MACアドレスと送信元MACアドレスを付加するためでしょうか?
 その通りです。
 厳密に言えばデータリンク層でのカプセル化は宛先/送信元MACアドレスだけでなく、
 プリアンブルやFCSも付加しています。


>しかしながら、レイヤ2でもMACアドレステーブルで、MACアドレスを調べる機能があったような記憶があり
>レイヤ3でのARPの存在がよくわかりません。
 ARPがどのレイヤのプロトコルであるか、人によって意見が分かれると思います。
 ブロードキャストで送出されるので、イーサネット上で走るプロトコルですが、
 情報としてIPアドレスを持っているせいか、ARPパケットと呼ばれます。
 ですので、おっしゃられている「レイヤ2でMACアドレスを調べる機能」とは恐らくARPのことだと思います。



新試験範囲がどの程度なのかわかっていないので不足があるかもしれませんが、
CCNAレベルの理解としては、以下で良いと思います。


1.レイヤ4からセグメントもしくはデータグラムがレイヤ3に渡される

2.レイヤ3でIPヘッダを付加する

3.レイヤ3からパケットがレイヤ2に渡される


ここで宛先IPアドレスを確認し、自分と同じサブネットか別サブネットかを判断します。
以下、同サブネットの場合です。

4-1.MACアドレステーブルを確認し、
 宛先IPアドレスが見つかった場合は対応するMACアドレスを宛先としてカプセル化する
 宛先IPアドレスが見つからなかった場合はARPにて宛先ホストのMACアドレスを取得し、
 MACアドレステーブルに宛先ホストのIPアドレスとMACアドレスの対応付けを追加してカプセル化をする

以下、別サブネットの場合です。

4-2.デフォルトゲートウェイを確認しルータのIPアドレスを取得、MACアドレステーブルを確認し、
 ルータのIPアドレスが見つかった場合はルータのMACアドレスを宛先としてカプセル化する
 ルータのIPアドレスが見つからなかった場合はARPにてルータのMACアドレスを取得し、
 MACアドレステーブルにルータのIPアドレスとMACアドレスの対応付けを追加してカプセル化する


5.レイヤ2からレイヤ1にフレームが渡され電気信号に変換、宛先MACアドレスに向けて通信が行われる



------------------------------



>2)また、MACアドレスの取得はARPだけではだめなのでしょうか?
>ホストに登録されるMACアドレスと、スイッチ?に登録されるMACアドレステーブルとの機能についての
>明確な違いも理解できず…ご教示のほどお願いいたします。
 MACアドレスの取得は基本的にARPで行います。
 ホストのMACアドレステーブルの使い方は上記の通りです。
 スイッチのMACアドレステーブルは、スイッチがフォワーディングする際の送出IFを決定するのに使います。
  例えばホストAとホストBがスイッチを介して接続されており、疎通が取れている状態にあるとします。
  その状態でAがBにpingを打つと、Aからは送信元MACアドレスA、宛先MACアドレスBのフレームが送出されます。
  スイッチは宛先MACアドレスBをMACアドレステーブルから探しだし、
  Bが接続されているIFにAからのフレームをフォワーディングします。
   この時、各ノードのMACアドレステーブルにMACアドレスがなかった場合はどうなるか。
   AはBのMACアドレスを知らないので、ARP要求をブロードキャストします。
   送信元MACアドレスA、宛先MACアドレスFF:FF:FF:FF:FF:FFを受け取ったスイッチは、
   受信ポート以外のポートからフレームを送出します。
   この時にスイッチは「MACアドレスAのホストはIF1に接続されている」という情報をMACアドレステーブルに登録します。
   スイッチからARPのブロードキャストを受け取ったBは、自分のことだと判断するとARP応答をユニキャストで返します。
   それと同時に、自分のMACアドレステーブルに「MACアドレスA=ホストA=IPアドレスA」をという情報を登録します。
   送信元MACアドレスB、宛先MACアドレスAのフレームを受け取ったスイッチは、IF1にのみフレームを送出します。
   この時にスイッチは「MACアドレスBのホストはIF2に接続されている」という情報をMACアドレステーブルに登録します。
   ARP応答を受け取ったAは、BのMACアドレスを自分のMACアドレステーブルに登録します。



------------------------------



>レイヤ3からレイヤ2に渡される(レイヤ3でのPDU)は、最終的にIPヘッダ+ICMPメッセージでよろしいでしょうか??
 IPヘッダとICMPメッセージだけでは、肝心のデータがないですね。
 「IPヘッダと+セグメント」です。
 ICMPが何度か出てきていますが、IPv6のネイバープロセスと混ざっていませんか?

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.