relay

Section: WIN SYSTEM (1W)
Updated: 2013.9.18
Index Return to Main Contents
 

名称

relay, relayd - win 形式データのIP上の中継  

形式

relay [-eNnrD] [-b bufsiz] [-d delay] [-f ctlfile] [-g group] [-i interface] [-p src_port] [-s sinterface] [-t ttl] inport dest outport [ logfile ]

relayd [-eNnr] [-b bufsiz] [-d delay] [-f ctlfile] [-g group] [-i interface] [-p src_port] [-s sinterface] [-t ttl] inport dest outport [ logfile ]  

解説

relay は、自ホストの UDP ポート番号  inport に送られてくる win 形式のデータを受信し、ホスト  dest の UDP ポート番号  outport へ送信します。relay は受信したパケットのパケット番号を検査しますが タイムスタンプは検査しません。

ただし  inport に 0 を指定した場合は、UDP ポートに代わって 標準入力から行単位のデータを読みます。改行コードを含む 1行分のデータが、1つのUDPパケットとして  outport へ送信されます。その際、先頭に2バイトのパケット番号 (「現在の」パケット番号と「元の」パケット番号各1バイト)が 付加されます。行頭の文字が ^D(0x04)であるか、または end-of-fileが検出されると relay は終了します。 この動作はテキストデータの配信に利用されます。

relayd は daemon モードで起動します。relay でオプション -D を指定した時と同じ動作です。

ログファイル名  logfile を指定すると、ここに動作ログがとられます。 指定しないとログ情報は標準出力に 送られます(ただし、daemon モードで動いている時は syslogd(8) に送られま す)。ログファイルは書き込みのたび毎にオープン/クローズされます。

relay は、HUPシグナルを受けると(もし指定されていれば後述の)制御ファイル  ctlfile を読み直し、ログファイル  logfile に送り元ホストごとの流量情報を書き出します。これには起動時、または 前回HUPシグナルを受けたときからの、

  パケット数、バイト数、毎秒パケット数、毎秒バイト数
が含まれます。

relay は引数なしで起動すると簡単な使用法を表示します。  

ネットワーク上の形式と再送プロトコル

recvt(1W)を参照してください。 relay はパケット番号の連続性を監視して 再送要求を行なう相手先として、100ヶ所までの送信元(ホストとポート の組)を認識することが できます。100ヶ所を超えると、recvt は送信元テーブルを一旦白紙に戻し、 改めて登録を始めます。  

オプション

-b bufsiz
受信ソケットバッファサイズを bufsiz KBにします。ただしこれはシステムで許される値の範囲でなければ なりません。デフォルトは256KBです。
-D
daemon モードで起動します。
-d delay
前のパケットを中継してから0.5秒以上経過した後に パケットが届いたとき、そのパケットを送信する前に delay ミリ秒の遅延を挿入します。
-e
受信パケットを捨てるべき送り元ホストからのパケットを受信したら ctlfileを読み直します。
-f ctlfile
制御ファイル  ctlfile で指定される、送信元ホストによる受信制御を可能にします。  ctlfile には、"+"か"-"で始まるホスト制御行を書くことができます。 各行では空白またはタブで区切られた左端の項目だけが読まれ、 その行の以降の部分は読み飛ばされます。'#'で始まる行はコメントと 見なされます。
ホスト制御行は、

       -host   パケットがhostからであれば捨てる
       +host   パケットがhostからであれば受け入れる
       +       パケットを受け入れる
       -       パケットを捨てる

の形式で書かれたルールです。 ホスト制御については、パケットごとにルールを上から当てはめていき、 当てはまるルールがあったらそれが適用されます。最後まで当てはまるルールが なかったらそのパケットを受け入れます(つまり最後にはかならず "+" の行が あるのと同じ)。
-g group
IPマルチキャストアドレス group に対して送信されるパケットを受信します。
-i interface
データパケットを受信する ネットワークインターフェースを、そのインターフェースのIPアドレス interface で指定します。
-N
受信パケットのパケット番号を検査しません。パケット番号フィールド (先頭の2バイト)は書き換えられず、つまり受信パケットがそのまま中継されます。
-n
拒否すべき送り元アドレスからのパケットや重複して受信した再送パケット についての情報をログに報告しません。
-p src_port
送信元UDPポート番号を src_port にします。通常指定する必要はありません。
-r
再送要求パケットを送信しません。 DVB衛星配信ボードによる受信のような一方通行の伝送路の場合には、 これにより不要なパケット送信を抑制することができます。
-s sinterface
データパケットを送信する ネットワークインターフェースを、そのインターフェースのIPアドレス sinterface で指定します。
-t ttl
送信先がIPマルチキャストアドレスであるとき、送信パケットのTTLの 値をデフォルトの 1 ではなくて ttl にします。
 

ソース

`relay.c'
 

関連事項

winformat(1W), recvt(1W), send_raw(1W), order(1W)


 

Index

名称
形式
解説
ネットワーク上の形式と再送プロトコル
オプション
ソース
関連事項