問題タブ [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 に答える
8156 参照

networking - トランスポート層でのフローとエラー制御

私が理解しているように、フロー制御とエラー制御は、トランスポート層とデータリンク層の両方で採用されています。データ リンクがパケットのエラーのない配信を保証する場合、トランスポート層によってどのようなエラーが検出されますか?

また、TCP で処理される UDP ではどのようなエラーが発生する可能性がありますか?

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

tcp - IP パケットと MAC 宛先アドレス

IP と MAC について簡単な質問があります。ブリッジ (ネットワーク層なし) で接続された 2 つの LAN A と B があるとします。ホスト「X」がホスト「Y」に IP パケットを送信します。MAC フレームで送信します。その MAC フレームのペイロードは、IP パケットになります。

問題は、X は Y の MAC アドレスを知らないため、どの MAC 宛先アドレスがフレームのヘッダーで使用されるのかということです。

お時間をいただきありがとうございます。

0 投票する
0 に答える
166 参照

linux - Python: data-link-layer での 2 つの出来事の間の CPU サイクルのカウント

ローカルとリモートの 2 つのホストがあります。私は次のことをしたい:

L2 (データリンク層) RTS フレームでローカル マシンから送信し、その瞬間 (瞬間 A ) の CPU サイクルを確認します。フレームはリモート マシンで受信しています。リモートが応答を送信します。ローカルでは、この回答 (CTS-frame) をキャッチしています。そして、再度 CPU サイクルを確認します (瞬間 B )。

A と B の間の CPU サイクルをカウントする必要があります: Ncycles = BA (次のように考えてください)。

ローカルでのみ、リモート ホストを使用しないでください。CPU ローカル マシンの MIPS アーキテクチャがあります。

Scapy 経由で作成しようとしましたが、方法がわかりません。

  1. Python-scipt を使用してローカル マシンで RTS フレームを送信し、CTS フレームを受信できますか?
  2. これらの出来事の間の CPU サイクルを数えることは可能ですか?
  3. Pythonで実現できない場合、何を使用すればよいですか?

前もって感謝します。

0 投票する
0 に答える
134 参照

crc32 - フレームへの CRC の追加

メソッドを実装して、CRC を計算し、それを入力ビット文字列に追加しようとしています。このために、Java で CRC32 クラスを見つけました。私はこのテーマに詳しくないので、CRC を追加する方法がわかりません。CRC32 の getValue() メソッドは long 型を返しますが、ビット文字列に long を追加してもあまり意味がありません。

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

linux - raspberry pi で tcpdump/tshark を使用して WLAN リンク層パッケージを読み取る

ラズベリーパイ、モニターモードのWLANスティック(Ralink Technology、Corp. RT5370)、tcpdump(+ tshark)がインストールされています。

ここで、老人ホームの患者が使用する WLAN リストバンド デバイスからリンク層パッケージを読み取りたいと考えています。このデバイスは、フィンガープリンティングを使用してアクセス ポイントによって検出されるように、リンク層データを毎秒送信します。このパッケージの内容は重要ではなく、デバイスの RSSI 値と MAC のみが必要です。

私のrPiを使用して、患者が自分の平らなドアにきちんと近づいたことを検出して、自動的にドアを開けたいと考えています。このために、Pi はこの LLC パッケージを受信する必要があります。これにより、関連付けられた RSSI 値を使用して距離を計算できるようになります。

Wireshark と Windows (Airpcap) を使用すると、これらの LLC パッケージを問題なく読み取ることができます。出力は、たとえば次のとおりです。

35748 152.953461000 00:00:00_00:00:00 57:01:ff:00:00:00 LLC 62 I、N(R)=0、N(S)=0; DSAP NULL LSAP 個別、SSAP 0x1e コマンド

tcpdump または tshark を使用して raspbian で同じことを行うと、データがまったく受信されません。

tcpdump (コマンドは sudo tcpdump llc -i wlan1 です) が返されます

tcpdump: 'llc' は生の ATM でのみサポートされています

Linux/ドライバーがリンク層データを tcpdump に渡すことができないようです。どうすれば有効にできますか?

ヒントをありがとう

アップデート

ガイ・ハリスのおかげで、私は解決策を見つけました

すべての LLC パッケージを返し、-e 値はすべてのタイプの mac を追加します。出力はこのようなもので、TA はデバイスの MAC です。必要なデータを取得するために、Pythonを使用して1行ずつ解析しました

BR ステファン