send_raw
Section: WIN SYSTEM (1W)
Updated: 2013.9.18
Index
Return to Main Contents
名称
send_raw, send_mon, sendt_raw, sendt_mon, send_rawd, send_mond, sendt_rawd, sendt_mond - IPによる win 形式データの送信
形式
-
send_raw [-1aDrmt] [-b mtu]
[-f req_file] [-h hours]
[-i interface] [-k sec_keepal]
[-p src_port] [-s sec]
[-T ttl] [-W/w key]
shmkey
dest
port
[
chfile
[
logfile
]]
send_mon ...
sendt_raw ...
sendt_mon ...
-
send_rawd [-1armt] [-b mtu]
[-f req_file] [-h hours]
[-i interface] [-k sec_keepal]
[-p src_port] [-s sec]
[-T ttl] [-W/w key]
shmkey
dest
port
[
chfile
[
logfile
]]
send_mond ...
sendt_rawd ...
sendt_mond ...
解説
send_raw, send_mon, sendt_raw, sendt_monは、キー
shmkey
で示される共有メモリ・セグメントに(巡回的に)書き込まれて
いる WIN形式のデータを、ホスト
dest
の UDP ポート番号
port
へ送信します。チャネルファイル
chfile
が与えられた場合は、その中にリストされたチャネルのデータだけが
送信されます。ただしチャネルファイル名の先頭に '-' を付けたときは、
そのファイルにリストされた以外の全チャネルのデータが送信されます。
chfile
が与えられないか、または '-' である場合は、全チャネルが送信されます。
send_rawd, send_mond, sendt_rawd, sendt_mond は daemon モードで起動し
ます。send_raw, send_mon, sendt_raw, sendt_mon でオプション
-D
を指定した時と同じ動作です。
ログファイル名
logfile
を指定すると、ここに動作ログがとられます。
指定しないとログ情報は標準出力に送られます(ただし、daemon モードで動い
ている時は syslogd(8) に送られます)。ログファイルは書き込みのたび毎に
オープン/クローズされます。
send_raw, sendt_raw は RAW 形式のデータを、
send_mon, sendt_mon は MON 形式の
データを扱うプログラムです。RAW 形式については winformat(1W) を、
MON 形式については raw_mon(1W) を参照してください。
send_raw, send_mon と sendt_raw, sendt_mon では、
共有メモリ上で扱うデータ形式が異なります。
send_raw, send_mon は、
すでに時間順に整列されていて「書き込み時刻」を含まない
形式 ( -> order(1W)) を扱うのに対し、
sendt_raw, sendt_mon は、時間順不同で
「書き込み時刻」を含む形式 ( -> recvt(1W)) を扱います。
なおオプション
-r、
-m、
-t
で上記と矛盾する動作モードを指定をした
場合は、オプション指定が優先されます。
send_raw, send_mon, sendt_raw, sendt_mon は、
引数なしで起動すると簡単な使用法を表示します。
send_raw, send_mon, sendt_raw, sendt_mon プロセスは
ハングアップシグナルを受け取ると、
チャネルファイルを読み直します。
チャネルファイルの形式
チャネルファイルは、1行に1つずつ、16進数でチャネル番号を
書き並べたテキストファイルです。各行の先頭の項目だけが読まれ、
空白またはタブで区切られた以降の項目は無視されます。また先頭
が '#' である行も無視されます。
ネットワーク上の形式と再送プロトコル
recvt(1W)を参照してください。なお、send_raw, send_mon, sendt_raw, sendt_mon は
1つのパケットに対する再送要求に対してはただ一度だけ再送します。
これはブロードキャストアドレス等宛の送信の場合に、1つの消失パケットに
対して複数の再送要求が来ることがあるためです。
オプション
- -1
-
1パケットに複数秒分のデータを詰め込むことをしません。データ量が
少ない場合に、MTUに近い大きさまでデータが貯るのを待って遅延が
大きくなってしまうことを避けることができます。
- -a
-
共有メモリ上のデータ形式を,「パケット種別付き」(recvs(1W) 参照)
とみなし,そのままの形式で送信します。この場合,チャネルファイルに
よるチャネルの選択は行われず,共有メモリ上では「書き込み時刻付き」
形式であると仮定されます。他のオプションはすべて無視されます。
なお、現在このモードでは再送処理を行いません。
- -b
mtu-
送信するIPパケットの最大サイズ(MTU)を mtu
バイトにします。
デフォールトは1500バイトです。送信IPパケットは伝送効率を上げるため
mtu バイト以内(UDPデータグラムでは mtu-28 バイト)で
なるべく大きなサイズになるように生成されます。
- -D
-
daemon モードで起動します。
- -f
req_file-
送信先ホスト(つまり受信ホスト)からの送信要求パケットを
受け付け、要求されたチャネル番号のリストをファイル
req_file
に1行に1チャネルずつ、4桁の16進数で書き出します。
送信要求パケットの形式については recvt(1W) を参照してください。
このオプションが指定された場合、send_raw, send_mon, sendt_raw,
sendt_mon プロセスは起動後待機状態に入り、送信要求パケットを
受信するまではデータを送信しません。送信要求パケットを受信したら、
chfile
の制約の範囲内で、要求されたチャネルを送信します。
送信要求パケットを10秒間受信しないと再度待機状態に入ります。
送信要求パケットは再送要求パケットと同じく、データ送信用
UDPポートに届かなくてはなりません。受信ホストは送信要求パケットを
送信するために、このデータ送信用ポートの番号を知っている必要が
ありますが、これは -p オプションにより起動時に指定することが可能です。
send_raw, send_mon, sendt_raw, sendt_mon は、送り元が送信先IPアドレス/
ポートと一致しない送信要求パケットも受け付けます。これは送信先
がブロードキャストやマルチキャストアドレスである場合もあるためです。
- -h hours
-
送信の際にデータのタイムスタンプを hours
時間だけ進めます。
- -i interface
-
データパケットを送信する
ネットワークインターフェースを、そのインターフェースのIPアドレス
interface
で指定します。
- -k sec_keepal
-
送信データがなくても
sec_keepal
秒間隔でダミーのパケットを送信します。これは特に送信要求モード
(オプション -f)でファイアウォール越しに(外向きに)
データを送信している場合に、たまたま送信データがない間に
内向き経路が閉じてしまわないようにするためのものです。
多くのファイアウォールでは、外向きにUDPパケットを通した後、
しばらくの間(たとえば30秒間)はその逆向きのUDPパケットの通過を
許します。ダミーパケットの内容(ペイロード部分)は、
(1)1バイトのパケット番号(0〜255)
(2)1バイトの「元の」パケット番号(0〜255)
(3)1バイトの識別コード(16進数で) "FF"
の3バイトです。
- -m
-
send_mon (オプション -t
と共に指定したときはsendt_mon)の動作をします。
- -p src_port
-
送信元UDPポート番号を src_port
にします。通常指定する必要はありません。
- -r
-
send_raw (オプション -t
と共に指定したときはsendt_raw)の動作をします。
- -s sec
-
送信の際にデータのタイムスタンプを sec
秒だけ進めます。
- -t
-
オプション -r
または -m と共に指定すると,
それぞれ sendt_raw または sendt_mon の動作をします。
- -T ttl
-
送信先がマルチキャストアドレスであるとき、送信パケットのTTLの
値をデフォルトの 1 ではなくて ttl
にします。
- -W key
-
(
shmkey
とは別の)
キー
key
の共有メモリにデータが書き込まれていることを
検出した場合にのみ、データを送信します。共有メモリにデータが
書き込まれていない状態が約2秒継続したことを
検出したら、送信を停止して待機状態になります。これは
carp等で冗長化されている場合に、マスター側だけが送信
する動作を実現するためのものです。
- -w key
-
(
shmkey
とは別の)
キー
key
の共有メモリにデータが書き込まれていない状態が約2秒継続したことを
検出した場合にのみ、データを送信します。共有メモリにデータが書き込まれている
ことを検出したら、直ちに送信を停止して待機状態になります。これは
send_rawを実行する別のマシンの障害を検出してバックアップするための
ものです。
ソース
- `send_raw.c'
-
関連事項
winformat(1W), recvt(1W), relay(1W), order(1W), raw_raw(1W),
raw_mon(1W), recvs(1W)
Index
- 名称
-
- 形式
-
- 解説
-
- チャネルファイルの形式
-
- ネットワーク上の形式と再送プロトコル
-
- オプション
-
- ソース
-
- 関連事項
-