Site cover image

Site icon imageshow tech >> log

ネットワークエンジニアというものをやりながらガジェットや新しいツール的なものが大好きでとりあえず試してみることが多い.そんなものなどを残していこうかなと >> log .ただそれだけのoutput置き場.

Post title iconデータリンク層(レイヤー2) [04]

ネットワークを勉強するなら マスタリングTCP/IP がおすすめです

#show run


ネットワークをAIさんと解説する [04]

ネットワーク層,レイヤ2は通信するための伝送制御が定められています.

データリンク層(レイヤー2)

[prompt] OSI参照モデルのデータリンク層を説明して
OSI参照モデルの第2層であるデータリンク層は、物理層を介してデータを送受信するための通信パスを確立、維持、解除するために使用されます。具体的な役割は以下の通りです。

- フレームの作成:
データリンク層では、ネットワーク層から受け取ったデータパケットをフレームと呼ばれる単位に分割します。
フレームには、データ本体の他に送信元と送信先のMACアドレス、エラーチェックのための情報などが含まれます。

- 物理アドレス(MACアドレス)の取り扱い:
データリンク層は、ネットワーク間のデータ送信において、物理的なアドレスであるMACアドレスを使用します。
これは、通信を行う各デバイスが一意に持つ識別子であり、データリンク層での通信制御に重要な役割を果たします。

- エラーチェックと制御:
データリンク層では、送信データのエラーチェックとエラーが発生した場合の再送信などの制御を行います。
具体的には、フレームに含まれるエラーチェックの情報を用いてデータの整合性を確認し、エラーが検出された場合は再送信を要求します。

- フロー制御:
データの送受信速度が異なる場合に、受信側が処理しきれないほど大量のデータが送信側から送られてくるのを防ぐ役割も担っています。
これにより、データの損失を防ぎます。
以上がデータリンク層の主な役割です。これらを通じて、ネットワーク間の信頼性のあるデータ通信が可能になります。

Generated with ChatGPT, formatted and modified by administrator

図.フレームの中身

Image in a image block

フレームは,データリンク層でのデータ単位といったところです.

[prompt] イーサネットのフレームフォーマットを説明して
イーサネットのフレームフォーマットは通信データのパケットを構成する基本的な構造で、以下の要素を含んでいます。

プリアンブル (Preamble): フレームの開始を示すための同期ビット列です。通常、8バイトの長さを持ちます。
宛先MACアドレス (Destination MAC Address): データを受信するネットワークインターフェースカード(NIC)のMACアドレスです。6バイトの長さを持ちます。
送信元MACアドレス (Source MAC Address): データを送信するNICのMACアドレス。これも6バイトの長さを持ちます。
タイプ/長さ (Type/Length): フレームに含まれるペイロードのプロトコルタイプまたは長さを示します。2バイトの長さを持ちます。
ペイロード (Payload): 実際のデータ部分です。最小46バイト、最大1500バイトの長さを持ちます。
フレームチェックシーケンス (Frame Check Sequence): フレームのエラーチェックを行うための値で、4バイトの長さを持ちます。
これらの各部分が合わさって、イーサネットフレームを形成します。これにより、ネットワーク上でデータのやり取りが正確かつ効率的に行われます。

Generated with ChatGPT, formatted and modified by administrator

[prompt] DIXとIEEEはどちらが主流
イーサネットのフレームフォーマットとしては、DIX(Digital/Intel/Xerox)とIEEE 802.3の2つの主要な標準が存在します。それらの中で主流となっているのは、IEEE 802.3の標準です。
DIXイーサネットは、Digital Equipment Corporation、Intel、Xeroxの3社によって開発されたオリジナルのイーサネット規格です。
しかし、現在ではIEEE 802.3という国際的に認知された標準がより一般的に採用されています。

IEEE 802.3規格は、イーサネットの基本的なフレームフォーマットを保持しつつ、より多くのネットワークトポロジーや転送速度をサポートしています。
そのため、現代のネットワーク環境においては、IEEE 802.3規格の方が広く採用されています。
なお、両者はフレームフォーマットの一部が異なりますが、互換性を持つように設計されているため、多くのネットワークデバイスでは両方の規格をサポートしています。

Generated with ChatGPT, formatted and modified by administrator

MACアドレスとは

[prompt] MACアドレスを説明して
MAC(Media Access Control)アドレスは、ネットワークデバイスがネットワーク上で一意に識別されるための物理的なアドレスです。
これはハードウェアに固有で、製造時にネットワークインターフェースカード(NIC)に割り当てられます。

MACアドレスは48ビットの長さを持ち、通常は16進数で表現されます。
例えば、「00:0a:95:9d:68:16」のような形式で表現されます。
この48ビットの内、最初の24ビットは製造元を識別するためのオーガニゼーションユニーク識別子(OUI)、残りの24ビットは製造元が割り当てる製品固有の番号です。

OSI参照モデルのデータリンク層で使用され、同一ネットワーク内でデバイスを一意に識別するために使われます。
IPアドレスがネットワーク層での識別子であるのに対し、MACアドレスは物理的、具体的なデバイスの識別子として機能します。

ただし、MACアドレスは物理的なネットワーク内でしか意味を持たず、インターネット上ではIPアドレスがデバイスの識別に用いられます。
また、セキュリティ上の理由からMACアドレスを変更することも可能ですが、これを行うとネットワーク内での一意性が保たれなくなる可能性がありますので、注意が必要です。

Generated with ChatGPT, formatted and modified by administrator

やっと,ネットワークらしくなってきました.

このデータリンク層(レイヤ2)の概念はしっかりと把握しておくことが重要です.

この後のネットワーク層(レイヤ3)との区別が出来れば後は応用となりますのでしっかりと把握して下さい.

図.MACアドレス

Image in a image block

こんな感じで,全ての機器で一意の番号となります.

[mac ベンダー]などで検索すると,MACアドレスの最初の24ビットを入れるとベンダーを回答してくれる便利なサイトもあり,ネットワークで問題が発生した場合などに,ある程度の見込みを探るためによく検索したりします.

Ethernet(イーサネット)とは

[prompt] Ethernetを少し詳しく教えて
イーサネット(Ethernet)は、1973年にXeroxのPARC(パロアルト研究所)で開発された有線ネットワーク技術で、
現在でも最も普及しているネットワーク接続方式の一つです。

イーサネットは、コンピューターや他のデバイスを物理的に接続し、データをパケットとして送受信することを可能にします。
初期のイーサネット規格では、データの転送速度は1Mbpsから10Mbpsでしたが、技術の進歩により現在ではギガビット(1Gbps=1000Mbps)
あるいはテラビット(1Tbps=1000Gbps)の転送速度を持つ規格も存在します。

イーサネットでは、各デバイスに一意のMACアドレス(Media Access Control Address)が割り当てられ、
これを利用してデータの送受信先を識別します。
このMACアドレスは、ネットワークデバイスが製造される際に設定され、通常は変更されません。

また、イーサネットはCSMA/CD(Carrier Sense Multiple Access with Collision Detection)という方法を用いて、
ネットワーク上でのデータの衝突を検出し、制御します。複数のデバイスが同時にデータを送信し始めた場合、
衝突を検出して一時的に送信を停止し、ランダムな時間待った後に再送を試みます。

イーサネットの接続には主にツイストペアケーブル(特にカテゴリ5eや6など)が使われ、
RJ-45というコネクタでデバイスに接続されます。また、より高速な通信や長距離通信を必要とする場合には、
光ファイバーを用いたイーサネット接続も行われます。

イーサネットの技術は、シンプルで信頼性が高く、スケーラビリティがあるため、家庭から企業、
データセンターまで幅広い環境で使われています。

Generated with ChatGPT, formatted and modified by administrator

その他にも、トークンリングやFDDI(Fiber Distributed Data Interface)もデータリンク層での規格となりますが,現在はほとんど利用されていません.

CSMA/CDとは

[prompt] CSMA/CDを詳しく説明して
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)は、
イーサネットネットワークにおいてデータの衝突を検出し、管理するためのプロトコルです。

CSMA/CDの動作は以下のようなステップで進行します:

- キャリアセンス(Carrier Sense):
デバイスは、ネットワーク上で他のデバイスからのデータ転送が行われていないかを確認します。
これを「キャリアセンス」といいます。

- データ送信:
ネットワークが空いていると判断したら、デバイスはデータを送信します。

- 衝突検出(Collision Detection):
データ送信中に他のデバイスも同時にデータを送信し始めた場合、データパケットが衝突します。
この衝突をデバイスは検出します。

- 衝突後の処理:
衝突が検出された場合、各デバイスは一定時間待ち(バックオフ時間)、
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)は、
イーサネットネットワークにおいてデータの衝突を検出し、管理するためのプロトコルです。

このCSMA/CDの仕組みにより、イーサネットネットワーク上でのデータの衝突を効率的に管理し、
データ通信の信頼性を維持します。

ただし、現代のスイッチングハブを使用したネットワーク環境では、
各デバイスが独自の通信路を持つためデータ衝突が発生しないため、CSMA/CDはあまり使用されません。
また、無線LAN(Wi-Fi)では物理的な衝突検出が不可能なため、衝突回避を目指したCSMA/CA
(Carrier Sense Multiple Access with Collision Avoidance)が使用されます。

Generated with ChatGPT, formatted and modified by administrator

図.キャリアセンスのイメージ

Image in a image block

図.衝突検知のイメージ

Image in a image block

CAMA/CDはイーサネットの肝になる技術でしたが,スイッチの登場で使われることが少なくなりました.

[prompt] CSMA/CDはスイッチが出来たことで不要になった?
ある意味で、その通りです。CSMA/CD(Carrier Sense Multiple Access with Collision Detection)は、
データの衝突が起こる可能性がある環境、つまり複数のデバイスが共有メディア(同じケーブルや無線チャネル)を使って通信する環境で有効です。

しかし、スイッチが導入されて以降、各デバイスはスイッチを通じて専用の通信路を持つようになりました。
スイッチは送信元と送信先の情報を持つフレーム(データの単位)を読み取り、
そのフレームを適切なデバイスだけに送信します。
そのため、一度に1つのデバイスだけが通信路を使用するため、データの衝突は発生しません。

このように、スイッチング技術の進歩により、イーサネットネットワーク上でのデータ衝突が
ほとんどなくなり、その結果、CSMA/CDの衝突検出と衝突解決のプロセスが不要となったのです
。ただし、古いネットワーク機器や特定の環境では依然としてCSMA/CDが使用されている場合もあります。

Generated with ChatGPT, formatted and modified by administrator

また,LANケーブルは100mまでとよく言われていますが,それも少し変わってきています.

[prompt] 100base-tが100mの制限があることをCAMA/CDを用いて説明して
イーサネットの100BASE-T規格における100mのケーブル長の制限は、
実際にはCSMA/CDの動作と密接に関連しています。

CSMA/CD(Carrier Sense Multiple Access with Collision Detection)は、
ネットワーク上でデータの衝突を検出し、管理するプロトコルです。
衝突が発生すると、その情報がネットワーク上の全てのデバイスに伝播し、
それによって全てのデバイスが衝突を認識し、再送のためのバックオフ時間を設定します。

ここで問題となるのが信号の伝播遅延です。
信号がケーブルを通じて伝播するのには一定の時間がかかります。ケーブルが長すぎると、
あるデバイスがデータを送信し始めてから衝突が発生し、その衝突の情報が元のデバイスに戻るまでの時間が長くなりすぎます。
その結果、デバイスは自身が送信したデータが衝突したことに気づく前に、次のデータの送信を開始してしまう可能性があります。
これは、衝突検出の原則に反し、ネットワークの効率を大きく低下させます。

そのため、イーサネットの100BASE-T規格では、ケーブルの長さを100mに制限することで、
このような問題を防いでいます。この長さならば、信号の伝播遅延が許容範囲内に収まり、
CSMA/CDが正常に機能します。

ただし、現代のネットワークではスイッチが導入され、各デバイスが独自の通信路を持つためデータ衝突が発生しないため、
このような制限はあまり重要ではなくなっています。それでも、ケーブルの長さは信号劣化(アッテネーション)
の問題から依然として重要な要素であり、適切なネットワーク設計においては考慮すべき事項です。

Generated with ChatGPT, formatted and modified by administrator

距離が長いと衝突検知をするにも時間がかかりバックオフ時間よりも検知に時間がかかる場合には衝突を検知出来なくなり次のデータが送信されてしまうため不安定な状況となるなってしまいます.距離のロスとバックオフ時間との関係性で100m制限となったと思われます.

無線(WiFi)はどうなっている?

[prompt] 無線でCSMA/CDは使われますか
無線通信では、原則としてCSMA/CD(Carrier Sense Multiple Access with Collision Detection)は使用されません。
これは無線通信の特性上、「衝突検出」が困難であるためです。
「隠れ端末問題」や「送信受信の同時不可能性」などの問題により、無線通信では衝突が発生した際にそれを確実に検出することができません。

その代わり、無線通信ではCSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)という手法が一般的に使用されます。
この手法は衝突を「避ける」ことを目指します。具体的には、各デバイスがデータを送信する前に「キャリアセンス」を行い、他のデバイスが送信中でないことを確認した上で、ランダムな「バックオフ時間」を設けてから送信を開始します。

したがって、無線通信においてはCSMA/CDよりもCSMA/CAが適用されることが一般的です。

Generated with ChatGPT, formatted and modified by administrator

[prompt] 無線の「隠れ端末問題」や「送信受信の同時不可能性」を教えて
「隠れ端末問題」と「送信受信の同時不可能性」は、無線通信における特有の課題です。

- 隠れ端末問題:
無線通信では、全てのデバイスが全ての他のデバイスを常に聞き取ることができるわけではありません。
通信範囲や障害物の影響で、あるデバイスAが別のデバイスBの信号を受信できない場合があります。
しかし、中央のアクセスポイントは両者の信号を受信できることがあります。
このような状況では、デバイスAとデバイスBが同時にデータを送信し、衝突が発生する可能性があります。これが「隠れ端末問題」です。

- 送信受信の同時不可能性:
無線通信デバイスは、一般的には同じ周波数帯で送信と受信を行います。
そのため、デバイスが送信を行っている間は、他のデバイスからの信号を受信することができません。
これは「送信受信の同時不可能性」と呼ばれます。これにより、デバイスが送信を開始した直後に他のデバイスが送信を開始し、その結果として衝突が発生した場合、その衝突を検出することは困難です。
これらの問題を解決するために、無線通信ではCSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)という手法が用いられます。
これは衝突を「検出」するのではなく、「回避」することを目指します。

Generated with ChatGPT, formatted and modified by administrator

CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)
[prompt] CSMA/CAを教えて
CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)は、無線ネットワークで使用されるメディアアクセス制御プロトコルの一つです。
無線通信の特性上、衝突の検出が難しいため、このプロトコルでは衝突を「回避」することを目指します。

CSMA/CAの基本的な動作は以下の通りです:

- データを送信する前に、デバイスは通信路(キャリア)が使用中でないことを確認します。
これを「キャリアセンス」(Carrier Sense)と呼びます。

- もし通信路が使用中であれば、その送信が終了するまで待ちます。

- 通信路が空いていることを確認したら、デバイスはランダムな時間(バックオフ時間)だけ待ってから送信を開始します。
これにより、他のデバイスも同時に送信を開始するという衝突の可能性を低減します。
CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)は、無線ネットワークで使用されるメディアアクセス制御プロトコルの一つです。無線通信の特性上、衝突の検出が難しいため、このプロトコルでは衝突を「回避」することを目指します。

CSMA/CAの基本的な動作は以下の通りです:

- データを送信する前に、デバイスは通信路(キャリア)が使用中でないことを確認します。これを「キャリアセンス」(Carrier Sense)と呼びます。

- もし通信路が使用中であれば、その送信が終了するまで待ちます。

- 通信路が空いていることを確認したら、デバイスはランダムな時間(バックオフ時間)だけ待ってから送信を開始します。
これにより、他のデバイスも同時に送信を開始するという衝突の可能性を低減します。

- 送信後、デバイスはACK(Acknowledgement)パケットを待ちます。
これは受信側のデバイスから送られ、送信データが正しく受信されたことを確認するためのものです。

- ACKパケットが返ってこない場合、デバイスはデータの送信に失敗したと判断し、再度バックオフ時間を設定して送信を試みます。

このように、CSMA/CAは衝突を「検出」するのではなく、「避ける」ことを目指すプロトコルであり、無線通信環境で広く使用されています。
送信後、デバイスはACK(Acknowledgement)パケットを待ちます。これは受信側のデバイスから送られ、送信データが正しく受信されたことを確認するためのものです。
ACKパケットが返ってこない場合、デバイスはデータの送信に失敗したと判断し、再度バックオフ時間を設定して送信を試みます。
このように、CSMA/CAは衝突を「検出」するのではなく、「避ける」ことを目指すプロトコルであり、無線通信環境で広く使用されています。

Generated with ChatGPT, formatted and modified by administrator

なるほど,無線では受信側の応答を待つことで正常性を検知しているのですね.

少し,色々な技術用語が多く出て来て分かりにくいかもしれませんが,道路が物理層で車線(あるいは高速道路などの種類)がデータリンク層と思ってもらえればいいかと思います.

物理的な道の上に何が走行していいのか?速度は?などの取り決めがあるのが車線(種類)見たいな感じですね.

※ただ,目的地はこの後のレイヤ3で決められるので目的地は知らなけど勝手に走って行ける状態です.

Icon in a callout block
show tech(config)#end
show tech#

ネットワークをAIさんと解説する