【ネットワーク基礎】機器をつないで通信する〜L2での通信〜

ネットワーク基礎 Network
ネットワーク基礎

実際にL2での通信の仕組みを見ていきます。L2はOSI参照モデルではデータリンク層に当たります。

L2の通信の仕組みはかなりシンプルですが、これを理解すると自宅のネットワークの通信がどうなっているかのイメージがつくようになります。

L2での通信での登場人物

L2における通信を理解する上で、抑えておきたい用語を先に解説します。

MACアドレス

MACアドレスとはMedia Access Control Addressの略で、ネットワークインターフェースカード(NIC)に付与されている番号のことです。

NICとは要するにLANケーブルを指すあのポートのことです。

LANケーブルを指す口自体はRJ45コネクタといい、コネクタから基盤を通してPCIeスロットなどに刺して、コンピューターに接続されます。そのコネクタと基盤、PCIeの端子が一緒になった部品のことNICと呼びます。

この物理的な部品に対して、MACアドレスが付与されています。(コネクタ毎)

物理的と言いましたが、VMwareの仮想マシンであればネットワークアダプタに対してMACアドレスが割り当てられ、AWSのEC2であればENI単位でMACアドレスが割り当てられています。

IPアドレス

IPアドレスはIPv4とIPv6という2つのバージョンが有り、ここではIPv4のみに絞って話をします。

IPv4アドレスは8bit×4の数字で表される数字のことで、192.168.1.1のようなものがIPアドレスです。

基本的には、MACアドレスと1対1で紐付きます。

ARP

ARPとはAddress Resolution Protocolの略で、IPアドレスからMACアドレスを得るためのプロトコルのことです。MACアドレスからIPアドレスを得る逆向きのプロトコルはRARPといいます。

PCやサーバー、NW機器は各々がこのarpを使って接続されているNICの先にいる端末のMACアドレスとIPを紐付けて管理しています。この管理しているテーブルのことをARPテーブルと呼びます。

  • ARPテーブルの例
? (172.20.10.1) at 10:c0:e:a8:5d:99 on en0 ifscope [ethernet]
? (239.255.255.250) at 9:2:3d:d7:58:b3 on en0 ifscope permanent [ethernet]

L2スイッチの仕組み

では実際にL2での通信がどのように行われているか追っていきます。

下のスライドの中で、PC①NAS②が通信する場合を考えます。

PC①NAS②の経路の間にはスイッチ①スイッチ②があります。これらはどちらもスイッチングハブ、つまりL2スイッチです。

上の図だと分かりづらいですが、ハブにLANケーブルを刺してPC①に接続しているところを想像してみてください。

各端末がつながっているわけではなく、物理的にはスイッチが各端末とつながっている形を取ります。

つまり経路は PC①スイッチ②スイッチ①NAS②となります。

ラーニングブリッジ

スイッチの中にはラーニングブリッジの機能を保持しているものがあります(現在のスイッチはほとんど持っていると思います)

ラーニングブリッジとは、一度通信した相手側のMACアドレスを自分で保持しておいて、隣のセグメントに流すかどうかを自分で判断します。

L2での通信フロー
  • Step 1
    PC①からNAS②へ送信要求をスイッチ②に投げる

    PC①は対向機器がスイッチ②しかないので、どの宛先だとしてもとりあえずスイッチ②にすべて送りつけます。

  • Step 2
    スイッチ②がすべてのポートへ転送する

    スイッチ②は受け取ったパケットをとりあえずすべてのポートに転送して応答が返ってくるのを待ちます。関係のない機器は自分宛てのパケットでなければ勝手に破棄します。

  • Step 3
    スイッチ①がすべてのポートへ転送する

    スイッチ②が転送した機器のうち、スイッチ①だけはまたすべてのポートにパケットを転送します。

  • Step 4
    NAS②からのみスイッチ①へ応答が返ってくる

    スイッチ①が転送したパケットはNAS②宛でしたので、NAS②のみが応答します。NAS②スイッチ①へ応答を返します。

  • Step 5
    スイッチ①は、その応答をスイッチ②へ転送する

    スイッチ①は先程の通信でスイッチ②の先にPC①がいることがわかったので、スイッチ②にのみ応答パケットを転送します。

  • Step 6
    スイッチ②PC①に応答を転送する

    スイッチ②はどこにPC①がいるかわかっているのでPC①にのみパケットを転送します。

このようにしてL2での通信が行われます。

まとめ

本記事ではL2での通信の流れを解説しました。

L2では特に難しいルーティングの考え方などもなく、直感的な流れだったと思います。

L2で学習すべき項目は他に無線LANや、VLANなどの技術がありますが、まずは基本となる上記の用語と通信フローを抑えておくと良いかと思います。

WEBページが表示されるまでのネットワークの基礎知識についてはこちらの記事でまとめています。

この記事を書いた人

渋谷で働くよわよわエンジニア。TypeScript(Next.js/Node.js)/Golang/AWS/Flutterなど
LINE API Expert(2023/1~)

tokkuをフォローする
オススメ記事
在宅ワークが多くなって、デスクの配線周りに困っている方は、拡張デスクの導入がおすすめです。Windows/MacOS/Linuxの複数の機器をスッキリとデスク周りに収める事ができました!リモートからサーバーメンテを行うインフラエンジニアは必見です!
Network
tokkuをフォローする
インフラエンジニアがもがくブログ

コメント

タイトルとURLをコピーしました