*ブロードキャストパケットの受信とユニキャストパケット再送信 [#i4a9b23a]
**背景 [#m8cd3143]
***システム導入 [#b30c11ae]
BACnet/IPを使用して、電源設備監視
#ref(BACnet.gif,wrap)
GCS (Global Control Server) -> HIS (Human Interface Station) への同報は、47808/UDPのブロードキャストパケット ~
... VPNの仕様により、上の構成では他セグメントには伝播しない。

**ソリューション [#d4a36411]
#ref(BACnet-Repeater.gif,wrap)
ブロードキャストパケットをキャプチャし、ユニキャストパケットに変換して個々のHISに送りつける変換機を作成する。

***Perlで実装 [#eb0acb53]
-[[Net::RawIPを使う>http://kaw.ath.cx/cgi-bin/cvsweb/relay_udp_bcast/rawip/]]
--内部的にpcap APIを仕様
--Berkeley packet filterのフィルタリングルールが適用可能。

-[[Socketを使う>http://kaw.ath.cx/cgi-bin/cvsweb/relay_udp_bcast/relay_udp_packet/]]
--ソケットオプションで SO_BROADCASTを指定すると、自アドレス宛だけでなく自身の属しているネットワーク宛のブロードキャストパケットも受信できる。

Front page   New Page list Search Recent changes   Help   RSS of recent changes