Linuxでレイヤ2実装をカスタマイズするためのガイドライン

Linuxでレイヤ2実装をカスタマイズするためのガイドライン

同じネットワーク上で実行されているいくつかのコンピュータがあります。ノードは、そのノードに到達するトラフィックを別のノードに分散させる制御ノードです。問題は、MACヘッダーと受信制御ノードのIP(または他の)ペイロードの間にカスタムプロトコルヘッダーを持たせたいということです。

制御ノードは以下のパケットを受信する。

------------------------------------------------
| Layer 2 | IP(or whatever protocol) | Payload |
------------------------------------------------

このパケットは、次のように他のノードに配布する必要があります。

----------------------------------------------------------------
| Layer 2 | Custom Header | IP(or whatever protocol) | Payload |
----------------------------------------------------------------

このようなタスクを実行するためのいくつかのガイドラインが必要です。現在利用可能なソリューションはありますか?カーネルを最初からハッキングする必要があります。同様のアプローチはL2TPを使用することですが、IP層で実行されるため、そうしたくありません。

また、この通信は、Linux上の物理的なeth0インターフェイスに加えて、ton0などの別々のインターフェイスとして表示されることを願っています。

ベストアンサー1

レイヤー「2.5」はありません。これはOSIモデル全体に​​違反するものなので、誰もがその目的を持っていたり、それを活用するために何かを調整したいとは思えません。さらに、多くのカーネルハッキングが伴い、制御ノードからネットワークダウンストリームにアクセスするすべてのデバイスは変更されたカーネルを使用する必要があります。

レイヤ3(ネットワークレイヤ)の目的は、アドレス指定/ルーティングです。ハードウェア(レイヤ2)とソフトウェア(レイヤ3)以外のデータはアドレスを指定するため、レイヤ2とレイヤ3の間に挿入するのに適したデータはありません。ペイロードの一部です

レイヤ 3 IP を着信パケットを変換する独自のソフトウェア ルーティング プロトコルに置き換えることができますが、その理由を知ることは困難です。

もちろん、達成したい目標をより具体的に説明すれば、誰かが提案をすることができます。

おすすめ記事