[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ecf-dev] [Discovery] Double Network Address and Remote Services
- From: Wim Jongman <wim.jongman@xxxxxxxxx>
- Date: Mon, 27 Sep 2010 17:19:51 +0200
- Delivered-to: email@example.com
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=Xu6YahPKonGtzwl/WzkrmwiXwDH0BIupq3vxFnaiyKRJsmpFgAny9r4I49g60GfciU SzAg0xnP5I939DAckPdlndsH+LeRAYBHKVv+oP5IMLSWP6IcsTsqwV6UcDEi97XXMH6g EQZIrHCNZtP768d8CMntTCjUcOMgAcOdQLvsc=
Ah, I understand. so the ip is already in the ID which is created by the user. I was wrongfully thinking this was calculated on the fly.
Still puzzling because I am already communicating.
provider publishes a service (remoted)
service is picked up by zookeeper
Zookeeper delivers at client
Client proxies the service
Client tries to communicate but fails
I will debug more tonight.
On Mon, Sep 27, 2010 at 2:04 PM, Scott Lewis <slewis@xxxxxxxxxxxxx>
Yes...as this machine is dual homed (as I understand from your note), it should have an IP address for each subnet.
On 9/26/2010 5:34 PM, Wim Jongman wrote:
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.
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 .
So the wrong ip address is communicated to one side of the network.
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?)
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.
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.
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).