Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

broadcast syncing for reduction in redundant traffic #35

Open
haxwithaxe opened this issue Jun 4, 2013 · 6 comments
Open

broadcast syncing for reduction in redundant traffic #35

haxwithaxe opened this issue Jun 4, 2013 · 6 comments

Comments

@haxwithaxe
Copy link

for layer 1's with a literal broadcast (adhoc wifi, amateur radio, etc), syncing with a broadcast reply to requests would let others in range receive data without needing to send a request. thus freeing up the collision domain for data to flow rather than sync requests and repeated retransmission of the same data.

@virtadpt
Copy link

virtadpt commented Jun 4, 2013

+1

@richo
Copy link
Owner

richo commented Jun 4, 2013

I originally planned to implement this with Multicast on ip6 enabled hosts.

I'll have a look into how much work is involved in making this work. You guys will wind up with what amounts to your own stationd that just puts the pieces relevant to you together (Sync driver optimised for minimal throughput and prioritisation, only moving objects relevant to you, etc), and because of that including this should be reasonably easy.

@virtadpt
Copy link

virtadpt commented Jun 4, 2013

We tried IPv6-over-AX.25 on Friday and Saturday nights - the kernel (v3.8.7 and v3.9.4) doesn't support it, just IPv4.

@haxwithaxe
Copy link
Author

you could also use udp/sctp + ipv4
http://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol
python lib http://epx.com.br/pysctp/
it has error correction but doesn't do the handshake of slowness :P

@richo
Copy link
Owner

richo commented Jun 5, 2013

Funny you should mention that- we were looking at sctp last night in the context of http/2 (which is a tempting candidate for a switch in the core driver).

I'm going to focus on the sync algorithm first anyway, because it doesn't matter how good your transport is if you're sending megs of unnecessary data. Thanks for the links though, being able to bench a working implementation ftw.

@haxwithaxe
Copy link
Author

also sctp is available via the socket module though it isn't part of the variables made available in the python api.
the C code is socket( AF_INET, SOCK_STREAM, IPPROTO_SCTP )

yeah, it should be close to a drop in replacement so no sense in jumping the gun just to fiddle with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants