[openrtm-users 02965] Re: ルータのLAN側にあるRTCの操作

Ando Noriaki n-ando @ aist.go.jp
2013年 11月 21日 (木) 19:50:36 JST


末廣先生、清水先生、皆様

安藤です

試しにVPNでRTCをつなぐとどうなるかをやってみました。以下にドキュメントとして
まとめましたので、間違いなどありましたらご指摘ください。ざっとですが
パフォーマンスの比較もしてみました。

http://www.openrtm.org/openrtm/ja/content/rtm_on_vpn_ja

MTU/MRUなどは調整していませんので、確定的なことは言えませんが、
やってみた印象としてはかなり遅いです。WindowsのVPNは遅いという噂も
ありますので、Linuxだけだともう少しましになるかもしれませんが。
あと、WindowsのVPNはちょくちょく切れました。切れるとポートの接続も
切れてしまいました。

VPNに関して何かいい方法ご存知の方いらっしゃいませんか?



2013年11月21日 13:44 Ando Noriaki <n-ando @ aist.go.jp>:
> 末廣先生
>
> 安藤です
>
> corba.additional_ior_addresses オプションでは、そのプロセスのすべてのオブジェクト
> リファレンスに指定のIPアドレスが追加されますので、ポートフォワーディングさえ設定
> されていれば一応NATの内と外のRTCを通信させることができます。
>
> #C++,Python版ではomniORBのomniIOR::add_IIOP_ADDRESS()という関数で、
> #Java版ではIorのインターセプタを利用して実現しています。
>
> ただ、NAT内のRTCが増えると、その分だけポートフォワーディングを設定する必要が
> あるので非常に面倒ではあります。UPnPでポートフォワーディングを自動で設定
> する拡張モジュールも作りかけたのですが、途中で止まっています。
>
> VPNなどでトンネリングでネットワークがフラットに見えるようになっていれば
> そういった手間がなくて楽ですので、それも一つの手だと思います。
> VPNならエンドポイントを固定できるので(できますよね)、DHCPで実アドレスが
> 変わったりしてもVPNを張りなおせば通信は維持できそうですね。ROSは
> そうしているんでしたっけ?
>
>
>
> 2013年11月21日 10:47 ts <suehiro @ is.uec.ac.jp>:
>> 安藤様,清水様,
>>
>> 末廣です.
>>
>> 安藤さんのやり方でRTCにはアクセスできるようになると
>> 思うのですが,それだけで良いのでしょうか?
>>
>> 菅さんが指摘しているように他のcorbaオブジェクトの
>> iiopを全部書き換えないと入出力ポートやサービスポートは
>> 使えないのではないかと思います.
>>
>> 簡単な代替案としては,vpnなどでトンネルを掘って
>> rtm用のvirtual lanセグメントを作ってしまうのが
>> 良いのではないでしょうか.
>>
>> いかがでしょうか.
>>
>>
>> (2013/11/21 10:28), Ando Noriaki wrote:
>>> 安藤です
>>>
>>> すみません、corba.additional_ior_addresses は古いオプション名で
>>> corba.alternate_iiop_addresses が正しいです。Webページの方は直しました。
>>>
>>> http://openrtm.org/openrtm/ja/content/rtcconf%E8%A8%AD%E5%AE%9A%E9%A0%85%E7%9B%AE%E4%B8%80%E8%A6%A7#toc23
>>>
>>> この場合、ネームサーバがプライベート側にあるんですね。そうすると
>>> ネームサーバ用だけでなくRTC用にもポートフォワード設定をする必要があります。
>>>
>>> 1. ポートフォワード設定: 29101→ 192.168.1.2:2810 を追加する
>>> 2. PC2のrtc.conf には以下のように記述
>>>
>>> corba.nameservers: 192.168.1.2:2809
>>> corba.endpoints: 192.168.1.2:2910
>>> corba.alternate_iiop_addresses: 192.168.0.11:29101
>>>
>>> これで、ネームサーバ上のRTCの参照には
>>>
>>> - 192.168.1.2:2910
>>> - 192.168.0.11:29101
>>>
>>> が含まれることになり、RTSEが 192.168.1.2:2910 にアクセスしてリーチしなかった
>>> 場合、つぎに 192.168.0.11:29101 にアクセスしに行き、結果としてルータの内側の
>>> RTCに到達できるはずです。
>>>
>>> こちらで試していないので、うまくいくかどうかはわかりませんが、とりあえず
>>> これで試してみていただけないでしょうか。よろしくお願いいたします。
>>>
>>>
>>>
>>>
>>> 2013年11月20日 20:53 Masayuki Shimizu <tmsimiz @ ipc.shizuoka.ac.jp>:
>>>> 皆様
>>>>
>>>> 静岡大の清水です。
>>>> 標記の件で上手くいかずに困っています。
>>>> 方法をご存じの方がいれば教えて頂けると幸いです。
>>>>
>>>> (やりたいこと)
>>>> 192.168.0.0/24のネットワーク内にPC1とルータ1があり、
>>>> ルータ1のLAN側(192.168.1.0/24)にあるPC2でRTCが動作しているとします。
>>>> PC1で動くRTSEからPC2のRTCの操作(活性化など)をしたい場合、
>>>> どうすればよいのでしょうか。
>>>>
>>>> 少し複雑なので、IPアドレス等を整理します。
>>>> ・PC1: 192.168.0.10
>>>> ・ルータWAN側: 192.168.0.11
>>>> ・ルータLAN側: 192.168.1.1
>>>> ・PC2: 192.168.1.2
>>>> ・CORBAネームサーバ: 192.168.1.2:2809 (PC2の2809番ポート)
>>>> ・ルータのポートフォワード設定: 28091番ポート => 192.168.1.2:2809
>>>>
>>>> PC2上でRTCを起動させ、PC1のRTSEのネームサーバに
>>>> 192.168.0.11:28091を追加すると、そこにRTCのゾンビオブジェクトが見えます。
>>>> ただ、RTCとしては何も操作ができません。
>>>>
>>>> おそらく、何かのCORBAオブジェクトがPC2のネームサーバに登録されていることは
>>>> 分かるが、それがRTObjectとして機能していない状態だと思います。
>>>>
>>>> OpenRTMのHPの情報では、corba.alternate_iiop_addresses か何かを
>>>> rtc.confで設定しないといけないようですが、
>>>> そこに書いてあるやり方がよくわかりません。
>>>>
>>>> corba.alternate_iiop_addresses の項目なのに、設定例では、
>>>> corba.additional_ior_addresses になっていたり、
>>>> 上記の例のように、違う番号のポートに変換する場合はどうすべきかがわかりません。
>>>>
>>>> # OpenRTM-aistのソースをgrepしてみましたが、
>>>> # corba.additional_ior_addresses は指定しても意味がないように見えます。
>>>> # corba.alternate_iiop_addresses は実際にアドレスを追加する操作をしているので、
>>>> # こちらが正しいのはではないかと思いますが、どうなのでしょう。
>>>>
>>>> また、今回の場合、PC1のサブネット内(192.168.0.0/24)には
>>>> ネームサーバがないため、
>>>> LAN(192.168.1.0/24)内のネームサーバを使うしかありません。
>>>>
>>>> 上記の場合、rtc.confをどう書けばよいのでしょうか?
>>>> よろしくお願いいたします。
>>>>
>>>> 清水
>>>> --------------------
>>>> Masayuki Shimizu
>>>> Assistant Professor
>>>> Dept. of Mechanical Engineering, Shizuoka Univ.
>>>> 3-5-1, Johoku, Naka-ku, Hamamatsu 432-8561, JAPAN
>>>> TEL/FAX: +81-53-478-1061
>>>> Email: tmsimiz @ ipc.shizuoka.ac.jp
>>>> _______________________________________________
>>>> openrtm-users mailing list
>>>> openrtm-users @ openrtm.org
>>>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>>> _______________________________________________
>>> openrtm-users mailing list
>>> openrtm-users @ openrtm.org
>>> http://www.openrtm.org/mailman/listinfo/openrtm-users
>>>
>>
>>
>> --
>> Takashi Suehiro, Professor, Intelligent Systems Lab,
>> Graduate School of Information Systems,
>> the University of Electro-Communications
>> Tel: +81-424-43-5655 Fax: +81-424-43-5682
>> E-mail: suehiro @ is.uec.ac.jp
>> 1-5-1 Chofugaoka, Chofu, Tokyo 1828585, Japan
>> _______________________________________________
>> openrtm-users mailing list
>> openrtm-users @ openrtm.org
>> http://www.openrtm.org/mailman/listinfo/openrtm-users


More information about the openrtm-users mailing list