Re: Why does messenger sends the address of himself and of the connecting peer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 20 Oct 2017, Ricardo Dias wrote:
> In the current messenger protocol, upon accepting a new connection, the
> messenger sends it's address and the connecting peer address along with
> the banner string. Why does the connecting peer need these addresses?
> Moreover, the connecting peer uses the connecting peer address (sent
> from the server) to set as it's own address.
> 
> What happens if the network is rewriting addresses  because of NAT, or
> whatever other strange reasons?

There are two cases:

1) client -> server connections.  These always are initiated in one 
directly.  The self address thing is included there partly so that the 
client can discover what its effective (public) address is.  In the case 
of the OSD, the initial osd -> mon connection allows the osd to learn what 
it's public IP address will be (we advertise our address as the one 
that is used to connect to the mon).

2) server <-> server connections, e.g., mon<->mon, osd<->osd, mds<->mds.  
Here, connections can be opened in either direction.  I believe here it is 
just used as a sanity check.

> I also saw that the code that encodes these addresses have a comment
> saying "// legacy". Should we remove these addresses from the new V2
> protocol, or do we still need them?

I think we'll still need them, since new clients will still need to 
connect to old servers, and new servers will need to allow old clients to 
connect.

HTH?

sage

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux