[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [ecf-dev] [Discovery] Double Network Address and Remote Services
|
Hi Wim,
On 9/26/2010 5:34 PM, Wim Jongman wrote:
Hi Scott,
Yes, this is clear. Thanks for elaborating but I still think it is a bug.
My real situation is this: I am connected to my companies VPN. This
creates a subnet for me in the 172 network. However, I am also
connected to my home 192 network. I have clients/consumers in the 172
network and I have clients/consumers in the 192 network.
These clients/consumers do not need to see each other, nor can they,
per your explanation.
However, my host is free to communicate with either side.
If my hosts tries to identify its own ip it does some lookup of its ip
address. This lookup will either return the 172 or the 192 ip address.
Yes...as this machine is dual homed (as I understand from your note), it
should have an IP address for each subnet.
So the wrong ip address is communicated to one side of the network.
Typically, a single ECF container instance is associated with a single
host...as the container identity is unique (i.e. identifies a single
host...on a single network). So if I'm understanding you correctly, it
would be necessary to have a multiple host containers on your dual-homed
system...one for host address 172, the other for host 192. Then they
both could expose/distribute a remote service upon registration. For
distribution, this would then make the remote service available on both
networks. Note that this probably could be largely accomplished (for
distribution) by defining a new IHostContainerFinder (i.e. other than
the default) that 'knew' about the two containers (one for each
network), and exposed the remote service on both of them
automatically. Creating and using a custom IHostContainerFinder is
easy to do. There is some docs for this here [1].
Network discovery is another matter, however. For apache zookeeper
specifically, I don't know the behavior with dual-homed networks. I
suppose zookeeper could also expose a single server on both
networks...although I don't know if this is supported with current
implementation (with composite discovery container?)
ECF/Discovery/R_OSGi needs to be smarter and compute the correct ip
address for both sides of the network, depending on the
client/consumers ip address/network.
In the case with multiple containers for distribution as described
above, I suppose this would mean that given two different host container
ids...e.g.
r-osgi://192.x.x.x:9278
and
r-osgi://172.x.x.x:9278
it would have to publish only the 192 one on the 192 network, and the
172 one on the 172 network. Again I don't know how zookeeper would/does
handle this situation (I expect you already know well more than I do
about that).
Scott
[1] http://wiki.eclipse.org/Customizing_and_Extending_ECF_Remote_Services