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

Summary of understanding? #11

Open
natevw opened this issue Jun 3, 2015 · 0 comments
Open

Summary of understanding? #11

natevw opened this issue Jun 3, 2015 · 0 comments

Comments

@natevw
Copy link

natevw commented Jun 3, 2015

I think the basic idea here is sort of a CDMA-meets-Onion routing approach, where you have a certain band(s) for the mesh will use. An epoch in that sense is a seed which pre-determines the time/frequency pattern of knocks and the encryption of their contents. Each mote ends up knowing the epoch(s) and z-index of all the other motes in physical range, [?] because until it does it communicates via a shared "lost mote" epoch on which neighbor information is broadcast.

When a message needs to be sent between any two motes, the source mote will send it to the highest z-index mote it knows (i.e. to its router), by choosing whichever of the epochs it considers most optimal. The packet is encrypted using that epoch as a key, and [?] broadcast at a particular time/channel also determined by the epoch.

Now when the source mote's router receives the packet, it decrypts the contents, revealing its payload — [?] half of which will be the destination hashname. If the destination is the mote itself, done. If the destination is in the mote's neighborhood [could it know this? I thought only the top-level router tracked those associations?] then it repeats the encrypt/knock process to that specific mote. Otherwise the packet goes again to the router.

If the packet makes it all the way to the top-level router without being delivered, the top level router will bounce it back "downwards". How it does this is curious to me — it can send it to lower-level router in the right direction, but it seems unless that router has the target in its immediate neighborhood the packet would end up back at the top-level again. Perhaps this is the clue:

A router … inherits the responsibility to monitor each neighbor's neighborhood for other routers and establish direct or bridged links with them.

So these routers are not just aware of the physical neighborhood sense, but also are serving in the Telehash sense.

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

1 participant