問題タブ [data-link-layer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
9819 参照

networking - スイッチとそのポートには MAC アドレスがありますか?

スイッチのすべてのポートが MAC でアドレス指定可能かどうかわかりません。Web で矛盾する回答が表示されます - https://learningnetwork.cisco.com/thread/15380およびhttp://www.techexams.net/forums/ccna-ccent/45578-mac-address-switch.html

メーカーやスイッチが動作するレイヤーによって答えが異なる可能性があることは理解しています。ただし、スイッチは基本的にレイヤー 2 デバイスであるため、そのすべてのポートがアドレス指定可能である必要があります。これは正しいです?

0 投票する
1 に答える
791 参照

linux - Linux でデータリンク (MAC) 層パケットを読み取る

Linux でデータリンク (MAC) レイヤーからパケットを読み取る最も簡単/最短/簡単な方法はどれですか?

誰かがそれを行う方法のコードスニペットを教えてもらえますか?

なぜそれが必要なのですか?ギガビットチップにデータリンク層のみを実装したネットワークカメラを開発しています。IP スタックを実装するためのリソースがないため、MAC アドレスのみを使用してパケットを交換する必要があります。

0 投票する
1 に答える
71 参照

layered - データ リンク層とベスト プラクティス

次のアプローチのベスト プラクティスを知る必要があります。階層化アーキテクチャを使用しているアプリケーションがあります。データ層には、以下のような 2 つのクラスがあります。

対応するビジネス オブジェクトを使用して、データ テーブルをリストに変換するクラス。

すべてのデータベース操作を行う別のクラス。

だから、これが良いアプローチなのか、それとも以下のように書くべきなのか知りたいだけです。

この場合、データベース操作を行うための別のクラスはありませんが、別のビジネス オブジェクトを返す別の SQL クエリを使用して別の関数を記述する必要があります。

ありがとう。

0 投票する
2 に答える
553 参照

networking - データリンク層 + ネットワーク層接続

ネットワーキングについて読んでいますが、レイヤ 2 + 3 OSI モデルの相互作用について理解できないことがあります。最初に基本を理解したいので、簡単にしてください。

LAN があるとしましょう - ISP ルーターに接続されたルーターに 5 台のコンピューターがすべて接続されています。

1. LAN 上の PC の 1 つは、同じ LAN 上の別の PC にメッセージを送信したいと考えています (両方ともローカル ルーターに接続されていますが、互いに直接接続されていません) - ここでレイヤー 3 カプセル化が使用されていますか? そうでない場合 - レイヤー 2 情報のみを使用すると、メッセージが通過するパスは何ですか? PC1->PC2 、または PC1->Router->PC2 です。ルーターを通過する場合 - 各メッセージ トランザクションにどのような情報が追加されますか? そうでない場合-同じLAN(レイヤー2プロトコルで同じルーターに接続されている)上のPCはお互いを認識していますか?彼らは直接接続されていませんが、お互いにメッセージを送信できますか

2. LAN 上の PC の 1 つが、LAN の外にある PC にメッセージを送信したいと考えています。PC1 -> ルーター -> ISP ルーター -> ......... -> 受信者のローカル ルーター -> 受信者、レイヤー 3 データを追加するエンティティはどれですか? ルーターですか?PC1? ISPルーター?この情報はいつ必要になりますか? すべての単一のトランザクションは、レイヤー 2 プロトコルでそれらの間で話すことができるデバイスによって接続されているためですか? (PC1 はレベル 2 プロトコルでルーターと通信するので、ルーターから ISP ルーターへの通信も行います...など?)

追加する価値のあるさらなる情報をいただければ幸いです。ありがとう!

0 投票する
1 に答える
4561 参照

linux - tcpdump から送信元 MAC アドレスのみを取得する

ホスト マシンに関連するパケットを除いて、ネットワーク上でダンプされるすべてのパケットの送信元 MAC アドレスを取得しようとしています。これを達成するには、無差別モードでホストのネットワーク インターフェイスを使用して tcpdump からデータを取得する必要があると思います。

完全なヘッダーやリンク レベルのヘッダーを取得することに関心がないことに注意してください。-eオプションは私が望むものではありません。各パケットの送信元 MAC アドレスが必要なだけで、それ以上は必要ありません。

これは私が現在行っていることです:

ローカル ネットワーク インターフェイスの実際の IP アドレスに127.0.0.1置き換えられます。

これは、送信元 MAC アドレスが tcpdump によって出力される最初の情報である一部のネットワークでうまく機能します。残念ながら、これは常に私の経験ではありませんでした。tcpdump への出力はプロトコルに依存しているようで、一部のネットワークでは異なります。

MAC アドレスの正規表現に一致する最初の項目を出力するように、sed コマンドを書き直すことができると思います。

しかし、行の最初の MAC アドレスが常に送信元 MAC アドレスになるかどうかはわかりません。

tcpdump に送信元 MAC アドレスを直接出力させる方法がない場合、リンク レベル ヘッダーから raw ビットを出力させる方法はありますか? そこから、送信元 MAC アドレスをつなぎ合わせることができるはずです。

0 投票する
1 に答える
913 参照

routing - ルーティングでの MAC/IP アドレスの使用方法

数週間以内に MAC アドレスと IP アドレスについて 6 番目のフォームを教えなければなりませんが、不明な点がいくつかあります。

私が理解しているように、LAN上のデバイスがインターネット経由で別の別のLAN上のデバイスにパケット/フレームを送信すると、次のことが起こります。

宛先と送信 IP を使用して、送信側でパケットが作成されます。

最初の質問: 宛先 IP は、実際には受信デバイスの LAN のゲートウェイの IP ですか?

これは、LAN のゲートウェイに送られるフレームに変換されます。これはデータ リンク層で発生し、フレームには MAC 送信と宛先アドレスが追加されます。

2 番目の質問: 宛先 MAC アドレス - これは最終的な宛先ですか、それともゲートウェイの宛先ですか?

次に、パケット/フレームはインターネットに送信され、(IP アドレスを使用して) 最終的な宛先に向かうネクスト ホップにルーティングされます。

3 番目の質問: 各ホップで、データ リンク層はフレーム内の宛先 MAC アドレスを次のホップの MAC アドレスに変更しますか?

パケット/フレームは宛先アドレス (ゲートウェイ) にルーティングされます。

4 番目の質問: フレーム/パケットが受信側 LAN のゲートウェイに到達すると、フレームの宛先 MAC アドレスは、スイッチが正しいデバイスに到達することを保証するために使用されますか? これは明らかに、フレーム/パケットがインターネットを通過するときに、宛先 MAC アドレスがルーターによって修正されていないことを前提としています。修正された場合、受信ゲートウェイがフレーム/パケットを受信すると、送信先をどのように知ることができますか?

私の理解の修正/確認は、ありがたく受け取られます。