一年目エンジニア

n年目です。

EtherCAT勉強1

EtherCATなどのEthernetベースのネットワーク規格を理解するための勉強記録。

直近で自分が疑問のこと

以下のことは最初に理解しておきたい。

  1. そもそもイーサネットって何
  2. どうやって通信しているの

1に関してはおおむね理解しておきたい。
2についてはEtherCATのプロトコルと並列で理解できればいいかと思っている。
TCP/IPとかいろいろあるのは知ってる。基本情報で出たから。*1

随時浮かんだ疑問は都度記録。

そもそもイーサネットって何

OSI参照モデルでいうところの物理層データリンク層にあたる規格。
2つの層の規格なので注意。
自分はこれまで、1つの層に対して1つの規格がつくものだと思い込んでいたが違った。

イーサネット=LAN?

LANは、ローカルエリアネットワーク(Local Area Network)。つまりネットワークの名称。
イーサネットは、そのネットワークを組むための規格。
「LANを実現するために、イーサネットを使う」と覚えると理解しやすい。
自分はこれまで混同してので、ほかの人の話についていけなかった。
ほかの人も混同していた可能性はあるが。

イーサネットの規格の名称は

IEEE 802.3という。
一般的に「IEEE 802.3 = イーサネット」らしい。*2*3
100BASE-TXとかは、規格で決めた一般的な名称。
速さとかを表している。

イーサネットにおけるデータリンク層の考え方

2つに分けて考える。
LLC副層とMAC副層に分ける。

LLC副層は物理に依存しない決まり事。
MAC副層はハードウェアに依存するところの決まり事。

ハードウェア依存はLANといっても無線とか、有線とかいろいろあるので、つまりは媒体依存。
媒体で変えるところと、同じところ、それぞれを規定しましょうね、という意味。

信号=フレーム

機器間で流れる信号をフレームという。パケットという人もいる。
枠組みの中にアドレスや、データタイプ(データ長)などが含まれる。

送りたいデータのほかにも、どこに送るかなどの情報も含まれる。
宛先MACアドレス、送信元MACアドレスがそれ。

MACアドレス

ポートごとにつけられる番号で、つまるところハードウェア依存(個体唯一)の宛先。
16進数12桁で表す。
上位6桁は製造会社を表す番号(ベンダコード)。
下位6桁は製造会社がつける製造番号。

通信規格の違いはオートネゴシエーションで調整

ノード間の通信規格の違いを自動で調整する。
自分が100BASE-TXでもほかのノードが違うのだとうまくできないので。

データリンク層関連のデバイス

データリンク層を見れるデバイスMACアドレスをとれるので、ノードの識別ができる。
バイスにはスイッチやブリッジがある。

フィルタリング

スイッチなどの機能。
記録された接続のあるポートにのみフレームを送信する。
つながっていない機器には送信しない。

フィルタリングには、MACアドレステーブルというのを使って記録している。
バイスは、どのポートに何のMACアドレスがつながっているかを調べている。

バイスが自動でやる場合、管理者が記録する場合がある。

自動でやる場合、フレームに含まれる宛先/送信元MACアドレスを読んでどんどん登録する。

いない場合は全ポートに送信する。
フィルタをするためのアドレスが登録がされていないので、全部に送るしかないイメージ。


参考リンク

参考しました。ありがとうございます。
https://www.youtube.com/watch?v=9Be3WupVp-E
https://ascii.jp/elem/000/000/427/427324/

*1:試験では捨ててた要素だったが

*2:もう一個DIXというのもある。こっちがもとでIEEEが国際規格にしたとのこと。

*3:ほかにも無線LANなどいろいろ規格がある