[nanomsg] Re: understanding of BUS protocol

  • From: Martin Sustrik <sustrik@xxxxxxxxxx>
  • To: nanomsg@xxxxxxxxxxxxx
  • Date: Thu, 10 Apr 2014 10:17:52 +0200

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 10/04/14 10:05, Garrett D'Amore wrote:

>> I understand that is why you were using the pipe in the header.
>> My implementation achieves the same thing, by moving this
>> “device” functionality into the protocol itself.  In other words,
>> anytime someone in the bus gets a message, he sends it to
>> everyone *except* the pipe he got it from.  I do this
>> immediately, without needing to push it up to the application
>> (the device in this case) to do the forwarding.
> 
>> What this means is that each “bus” acts as a local star (usually
>> — although I guess you could have a client dial multiple
>> different servers and have it act as a point.)  I am assuming
>> that we are not a fully mesh connected network, but more like a
>> star.

Unfortunately, the local network is often not a star but rather a mesh.

There are two use cases for that:

1. Multicast protocols, i.e. there's no central server, packets are
forwarded to individual boxes on the LAN by the network itself.

2. Eliminating the SPoF created by the device by connecting individual
applications directly (everyone-to-everyone) instead of via a device.


>> We can connect multiple stars together with devices.  But if
>> there is a loop in the network, it will not be possible to
>> prevent message duplication/amplification with just the sender
>> ID.  You’d really need to introduce a TTL, along the lines of IP
>> networking.  I don’t think we want to get into that.
>> Applications should just take care not to create loops.

I was thinking about TTL and loop detection, but I was not sure it's
appropriate or even needed. So I let it be in the end.

Martin


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJTRlOwAAoJENTpVjxCNN9Y/lMIAKyWPdO64r0lemoS6IEGl3C1
0mBzCgfdJg7pdpWtl6z78FR5/b1DT/h7rRBMo/NoEijWP2IqH4DmOglqQlKfUQZX
9YrPLuGTss2qKNdv/dy5mUdWQFJoAdPZFxV2UVV6NguXOVkMEyMFux11PtxN1bB2
LIoLAWgmBjbBz53u9GT0LByuDmbIkcsvbiqG3hgfQBbE+0EzQgMCuHHpGrPvFc//
jKLgseTdTIXO8X4qk8VTeiOSpH3UaCMvgDui8mw1/WK9PMgPLKbUZOQrqYDwAa2E
1CfXGzSlec6aycnD/N4x+ZPahKsEX3h43J0Mu+A4JK45wuoiN4Y2A0FPWALKnQo=
=WyMd
-----END PGP SIGNATURE-----

Other related posts: