• 締切済み

バッファ内の全てのパケットを好きな時に送信する方法

無線LANのアクセスポイントのバッファについて質問があります。 通常はFIFOの仕組みによって、バッファ内に格納されたパケットAを端末へ送信したくても、パケットAがバッファの先頭になければ送信できない、と理解しています。 これを変更して、バッファ内の全てのパケットを自由なタイミングで送信できるようにすることは、現実問題として可能でしょうか? もしかすると非常におかしな質問かもしれませんが、ご回答いただければ幸いです。

みんなの回答

  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.2

「任意のパケットを任意のタイミングで送信」というのは現実的には無理でしょうね。 無線LANのAPでそれをやる意味がまずありませんし。 「一定の条件に合致するパケットを優先して送信(またはその逆)」ということであれば、あるいはそのような製品が存在するかもしれません。 高級なスイッチやルータなどではよく実装されている機能ですので、APでできなくてもスイッチやルー多情で実現する、という方法もあるかもしれません。。

  • kc1127
  • ベストアンサー率50% (4/8)
回答No.1

実質無理じゃないですかね。 無線LANアクセスポイントの通信プログラムのソースコードでも入手できれば、あるいは・・・ それよりも、そもそもこのQに至った経緯はなんでしょうか? 何を考えて >バッファ内の全てのパケットを自由なタイミングで送信 などというアイデアに行き着いたのでしょうか? このQが解決したら、いったい何をなさろうとしてらっしゃるのでしょうか?

関連するQ&A

  • ソケット通信でのNIC内のバッファについての質問です。

    ソケット通信でのNIC内のバッファについての質問です。 現在UbuntuにてUSB方式のNICを使用しています。(バッファロー:WLI-UC-GN) パケット送信する前に、一時的にパケットをNIC内にバッファすると思うのですが、 そのバッファに格納されているパケットを取得する方法ってありますか?? NICから送信される前なので、Wiresharkなどでのパケットキャプチャは使えません。 そもそも、NICのバッファがどこにあるのかもわかっていません。(パス的な意味で) メモリ管理とかも詳しくないので、困っています。 よろしくお願いします。

  • HUBって必ずバッファがついているの?

    HUBを使って電気信号を同時に中継したいです。調べてみたら、リピータHUBと呼ばれる一番レベルの低いHUBでもバッファがついてるようです。受信した電気信号をいったんバッファに格納してから、送信するということです。そうすると、受信した信号と送信する信号の間にタイミングがずれていますよね。タイミングがずれないでそのまま同時に電気信号を中継できるHUBあるいは他の市販機器はないですかね?

  • 先頭パケットおよび最終パケットの区別について

    こんばんわ。 winsockを用いてC言語によるプログラミングを行っています。 先頭パケットおよび最終パケットの区別方法はどのように行うべきなのでしょうか? たとえば、送信端末から受信端末へパケットを100個送信するとします。送信端末において100個パケットを送信した場合、受信側にて100パケットのうちどのパケットが一番初めに受信したパケットかは分かりません。 そこで、各パケットにシーケンス番号1から100番まで各パケットに付加し送信しているのですが、シーケンス番号1番のパケットを受信側で受信できるとは限りません。 そこで、なにかよい方法はありますでしょうか? 100個すべて受信できるとは限らないため、タイマーをセットする必要性があるのでしょうか? よろしくお願いいたします。

  • Linuxでパケットのデータ部分を合成するプログラムを教えてください。

    LinuxでC言語を使用しているのですが、パケットのデータ部分を合成するプログラムのを教えてください。 具体的な例として、 端末A,B,Cがあり、AはBを中継して、CにUDPパケットを2個送信します。 中継端末のBは2個のUDPパケットをバッファリングした後、データ部分のみを1個のパケットにまとめてCに送信します。(ヘッダ部分はAが送信したときと同じにしたい) Cは2個分のデータが入ったUDPパケットを1個受信する。 この例の端末Bでのプログラムを書くとするとどのようにすればいいのでしょうか?? よろしくお願いしますm(_ _)m

  • 送信パケット>受信パケット

    ウィンドウズXP SP2 無線LANルーターはアイ・オー・データ WN-G54/R3-S PC側につけているPCカードはWeb Caster FT-STC-Sgを使っています。 セキュリティーソフトはマカフィーセキュリティースイート (おそらくRED ZONE ) 電源を入れて、そのまま放置してネットワークにつながってから16分のところで送信パケットが約1500、受信パケットが約500の状態になっていました。 ちょっと心配になってこの質問を立ち上げたのですが 何か疑うべきですか?

  • 抜け落ちている番号を取得する方法(Winsock利用)

    こんにちは。 A→Bというように、 送信端末Aから受信端末Bへパケットを送信する際に、sprintf関数を用いて、各送信パケットに対してナンバリングを行っています。 そして、受信端末において取得することができた番号と抜け落ちている番号を取得したいと思っています。 以下に、プログラムの概要を示します。 [送信側] char send_Buff[1500]; int sequence_Num = 0; //シーケンス番号のカウントアップ sequence_Num++; //sprintf関数にて、文字列格納 sprintf(send_Buff,"%d\0",sequence_Num); sendto関数を使用し、送信 [受信側] recv_Buf[1500]; int x; unsigned int count = 0; recvfrom関数にて送信端末からのパケットを受信し、recv_Bufに格納 count++; //recv_Bufの先頭要素からナル文字までを走査し、ナル文字をみつけたらナル文字の手前の要素までをreceive_seq_Numに格納 for(x=0;recv_Buf[x]!='\0';x++){  receive_seq_Num[count][x] = recv_Buf[x]; } 上記プログラムのように、記述したのですが・・・ [分からない点] 受信側にて、受信することができた各パケットのシーケンス番号のみを配列内に格納したいのですが、上記の記述方法で可能でしょうか? また、配列内に格納したシーケンス番号から抜け落ちているシーケンス番号を割り出したいのですが、どのような記述方法がありますでしょうか? 受信シーケンス番号;1,2,3,4,5,7,10,11,20,21,22・・・ 抜け落ちているシーケンス番号:6,8,9,12,13,14,15,16,17,18,19 ということです。 よろしくお願いします。

  • パケットの仕組みについての質問

    パケットの仕組みについての質問 受信で82,467バイト 送信で28,602バイト 累積で111,069バイト となってるんですが… この場合、受信だけで、自分から送信していなかったのですが、送信パケット数が発生しているのは、送り元がccやbccを付けたからでしょうか? 機種はsoftbank 3G sharp 913SH

  • シリアル通信の出力バッファと送信完了イベントについて

    こんにちわ。よろしくお願いします。 どの言語として扱うか迷ったのですが、恐らくはC/C++が一番だろうと思ってここで質問させていただきます。 質問の内容ですが、現在、シリアル通信のアプリケーションを作っていまして、CreateFileの引数にFILE_FLAG_OVERLAPPEDを与えて非同期で読み書きを行うようにしています。 非同期ですので、OVERLAPPED構造体をstaticで宣言し、 WriteFile時に引数で与えています。 --- m_hComm = CreateFile( (const char*)pCom, GENERIC_READ|GENERIC_WRITE,0, NULL,OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL ) ; WriteFile(m_hComm, pwData,dwLen, &dwWrite, &osWriter); --- 問題はここからで、OVERLAPPED構造体のイベントが、シグナル状態になり、GetOverlappedResult(m_hComm, &osWriter, &dwWrite, TRUE)を抜けるのはいいのですが、実際には送信は完了しておらず、GetCommStateで通信速度を変更すると送信途中のデータが化けて通信エラーになってしまいます。 どうやら、今使用しているPCのUARTの出力バッファが大きいのか、Windows側のバッファからUARTバッファに書き込みが完了した時点でWindowsはOVERLAPPED構造体のイベントをシグナルにしているようです。 (もちろんFIFOは切ってあります) 他のPCで確認したところ、問題ありませんでした。 もしどなたか、シリアルの出力バッファを監視するいい方法があったら教えていただけないでしょうか。

  • 無線のパケットキャプチャにおけるプロトコルについて

    パケットキャプチャソフト(OmniPeek)を使用して802.11(無線)のパケットキャプチャを取得しています。 取得しているパケットキャプチャにプロトコルが表示されるのですが、”CFE"と言うプロトコルが表示されていますが、このプロトコルだけが調べても見つかりませんでした。 他にRTS,CTS, Encripted Data,ACK,BAのプロトコルがあり、それらは調べて以下のように意味を解釈しましたが、"CFE"については見つからないため、意味が理解できていません。 ご存知の方がいましたらご教示を頂けますようお願い致します。 -------------------------------- RTS(Request To Send):端末側からアクセスポイントに通信許可を問い合わせる信号。 CTS(Clear to Send):アクセスポイントから端末に通信許可を与える信号。 Encrypted Data:WEP、TKIP、AESで暗号化されたデータ。 ACK(Acknowledgment):データ伝送で受信側から送信側へ送られる肯定的な返事。 BA(Block Ack):フレームアグリメーション方式の種類であるA-MPDUにおいて複数のデータに対して一括のACK(肯定的)な返事。 -------------------------------

  • キャリアメールをGmailから送信する設定

    キャリアメールをGmailから送信する設定にしました。 しかし、いまだに仕組みがいまいち分かりません。 もし下段のアドレスから人にメールを送った場合に、携帯自体にパケット通信料はかかるのでしょうか? それとも送っているのは無線LAN(PC)からなので、携帯電話には、パケット代はかからないのでしょうか? 是非、これに関する詳しい説明がされているサイトがあれば教えてください^^