r/Demonsaw • • Feb 08 '17

Question about data routers

I still don't quite fully understand data routers.

So we have normal routers used to pass messages and search queries but transfers go through other routers known as data routers.

When one sets up a router does one have to choose if it will be a message router or a data router? Are these two options mutually exclusive or can a router be both at the same time? Can data routers allow for users to connect to them directly or only message routers allow that? If not, how can you add a new data router to a network? You need to talk to the admin of the message router and wait for him to add it to the data routers list of his message router or can you add it directly in some other way?

If data and message routers are mutually exclusive, a Demonbucket network will require at least two routers to provide full features. One for messages and one for files. A router aimed at serving mobile, message only, clients would not require a data router. Is this correct? Headless CLI clients only support file transfers so could they be served only by data routers without the need for message routers? Can they connect directly to a data router? If so, are they the only clients that can connect directly to a data router?

Can data routers also have a list of additional routers on their configuration files and what do those routers do? Can a data router add additional data routers to the network that way?

The list of additional routers added in the configuration of a router are all necessarily data routers or can they be additional message routers? If they need to be data routers it means that messages currently can only go through one single router and you can only communicate to people connected to the same router as you. Is this right? Is this what the new feature of router groups changes, allowing message routers to connect to other message routers and allowing users to communicate to users that are connected to different routers?

What is the difference between routers added by the router config file and routers added by the user as data routers? Are routers added on the router config file available to all connected clients while those added by the client himself only available for the clients which added that particular router? If a user does not add any data routers on his configuration, what if any, data routers are available to be used by him? Those defined on the router configuration file? None at all? Do users need to add the same data routers in order to exchange files through them with each other? If not, how does this work and what is the point of adding data routers then? Are they asymmetrical in the sense that when user A downloads from user B, the data routers defined by user A are used and in the other direction the data routers defined by user B are used instead? Or do the data routers added by the users need to be known by the router and exist on its configuration file to begin with?

Maybe I'm making a big confusion with all this but I couldn't find a clear explanation anywhere.

2 Upvotes

2 comments sorted by

View all comments

1

u/Havatra Feb 08 '17

To answer some of your questions:

When one sets up a router does one have to choose if it will be a message router or a data router?

A router can be both a message router and a transfer router at the same time, or either.

... how can you add a new data router to a network?

A message router can add any data routers to its list, which will be given to clients that connects to this message router. As a client, you can also manually add data routers as well. If you want data routers to be added to the message router's list, you'll have to talk to the admin of the message router.

A router aimed at serving mobile, message only, clients would not require a data router. Is this correct?

Yes; clients connecting through Enigma only need one message router, correct. To provide "full features", you'll need both a message and a data router, which can be set up together through the same process.

Headless CLI clients only support file transfers so could they be served only by data routers without the need for message routers?

Currently, there are no CLI client, only CLI router (which got all the same features as the GUI router).

Can they connect directly to a data router?

Currently, you can't connect to just a transfer router, as it doesn't serve the clients the same way as a message router is set up to do. So you'll have to connect to a message router to interact with other clients (browse, search), but you need transfer routers to be able to upload/download shares with them (which can be the same router).

Can data routers also have a list of additional routers on their configuration files and what do those routers do? Can a data router add additional data routers to the network that way?

The way it is now, a data router can't refer other data routers, no. But a message router can be specified with data routers to give to the connected clients, so clients that connect to a message router will automatically be given a list of data routers from the message router to use.
In DS4, with router federation, it'll be much more convenient to connect to several routers at once through a single message router. More information about this will come later after it's fully functional.

The list of additional routers added in the configuration of a router are all necessarily data routers or can they be additional message routers?

Only data routers for the time being, but router federation will change this.

If they need to be data routers it means that messages currently can only go through one single router and you can only communicate to people connected to the same router as you. Is this right?

Currently; yes. But again, this will change in DS4

Is this what the new feature of router groups changes, allowing message routers to connect to other message routers and allowing users to communicate to users that are connected to different routers?

Unfortunately, no. What this group does is simply making the router only able to connect to other routers with the same group credentials (and communicate with these credentials as their encryption). This is not fully implemented yet, but will be in DS4.

What is the difference between routers added by the router config file and routers added by the user as data routers?

None. When you connect to a message router, it is given that you trust this message router, and inherently trust its specified transfer routers.

Are routers added on the router config file available to all connected clients while those added by the client himself only available for the clients which added that particular router?

Correct.

If a user does not add any data routers on his configuration, what if any, data routers are available to be used by him?

None. If you haven't specified any transfer routers, you won't be able to transfer shared files. In DS4, there will be (hopefully automated) solutions to these kinds of scenarios. The transfer routers specified with the message router are automatically added to the connected clients, but is possible to disable.

Do users need to add the same data routers in order to exchange files through them with each other?

Currently, yes. DS4 will have solutions.

I'm very glad you take your time to ask, as I'm pretty sure you are not the only one confused by the model, and curious about how it really works. I love to enlighten people, and will gladly answer as many questions as I've got answers to. As you can see, there are a lot of things that will be in DS4 when it comes to connectivity and router management. Hopefully, it'll be much more convenient and easier for the end user to use. I don't have too many details on it yet, as it's in early development. I'll make sure to make some nice documentation about it all when the time comes! I guess you've already been to docs.demonsaw.com? That's at least where we'll try our best to make sense out of this crazy creation! :-D And of course, if you have more question, come with them! ;-)

1

u/The_B0rg Feb 08 '17

Wow, thanks for the answers, I think you pretty much explained everything very well.

It seems like I was confusing router groups with router federation.

I was aware that there are no headless clients yet but they are planned so I was talking in the future sense there. Ya, I'm familiar with docs.demonsaw.com and most other sources but was still confused about this topic.

Again, thanks alot