Forums - Open Redstone Engineers
Magicnet, a small network - Printable Version

+- Forums - Open Redstone Engineers (https://forum.openredstone.org)
+-- Forum: ORE General (https://forum.openredstone.org/forum-39.html)
+--- Forum: Projects & Inventions (https://forum.openredstone.org/forum-19.html)
+---- Forum: Completed Projects (https://forum.openredstone.org/forum-21.html)
+---- Thread: Magicnet, a small network (/thread-8285.html)

Pages: 1 2


RE: Magicnet, a small network - ddthj - 01-13-2016

(01-12-2016, 12:50 AM)MagicalGentleman Wrote: functioning network inter-plot won't work until chunk loading stuff is solved. I have no interest in researching that myself.

A local network within your plot however? perfectly possible.

Lol been there, done that


RE: Magicnet, a small network - PI-Pyru-Pyru - 03-21-2016

(11-08-2015, 07:45 AM)MagicalGentleman Wrote: So, I'm getting close to the completion of my main router/node thing, so i'll go ahead and describe how it works.

First of all, there's a 6 bit IP address and 2-bit port number in a header byte in the form of aa.bb.cc:dd

11 isn't used. I'm keeping things in groups of 3 for easier routing. Maybe i'll use 11 to broadcast to multiple locations, but for now it's undefined.

so, in a maxed out network, there would be 3*3*3 (27) unique addresses, with 3 ports for a client to use at each address. The intention is that a plot can have a unique IP address (or share it with a neighbouring one) with 3 device ports to share.

The nodes are going to be hardcoded with their location information, which is about 8 or so torches/repeaters placed on a decoder. Fairly straightforward to configure. This location information allows the nodes to pass data along the shortest path possible. Since data will always take the same path from A to B, you also don't have to worry about receiving packets out of order.

Each node has an internal buffer which holds a packet as it waits for the next node to be free, if it is busy. This is done by a simple handshake protocol, where the node send a REQ pulse to the destination, and will only start sending the data after it receives an ACK signal in return. Since each node is buffered, an example 16 node network at max congestion would be able to handle 16 packets simultaneously.

The data is routed by the nodes by looking at direct neighbours (mini decoder rom sorts that out):
If the data is already at the right node, it gets passed down a child node.
If the data is in the same group of 3 nodes, but not this one, the data is passed left or right to the correct one.
If the data needs to go somewhere outside this nodes scope, it promotes up to a parent node.

A packet can be variable length, anywhere between 2 and 10 bytes in multiples of 2. Metadata about the packet length is not required, as the node can tell when transmission is finished once the periodic 8 tick initiate line stops. (this is a line which is already required for 8 tick/byte serial transmission)

The transfer cable (1 way) consists of 2 serial transmission lines, 1 initiate line, 1 REQ line and 1 ACK line.

Packet layout:
Code:
Each [] is 8 bits
Serial Line A: [IP address + port num][D0][D2][D4][D6]
Serial Line B: [Return IP if required][D1][D3][D5][D7]

A maximum sized 10 Byte packet would take 40 ticks to serialize in this system.

This is exactly the kind of knowledge I'm looking for! MagicalGentleman, you are the best! I'm going to visit your plot quit often! ;D


RE: Magicnet, a small network - Chibill - 03-22-2016

Please don't bump 2 month old threads when you are not saying something productive.


RE: Magicnet, a small network - Reewass_Squared - 08-03-2016

Where do I sign up? This looks somewhat promising.


RE: Magicnet, a small network - josh03222 - 08-03-2016

(03-22-2016, 03:13 AM)Chibill Wrote: Please don't bump 2 month old threads when you are not saying something productive.

(08-03-2016, 03:36 PM)Reewass_Squared Wrote: Where do I sign up? This looks somewhat promising.



RE: Magicnet, a small network - MW3_587786 - 08-07-2016

(03-22-2016, 03:13 AM)Chibill Wrote: Please don't bump 2 month old threads when you are not saying something productive.

Whelp now it's a recent thread. I'll ask again, where do I sign up?


RE: Magicnet, a small network - LordDecapo - 08-07-2016

U dont. This isn't being set up server wide. Magic, others and I see that it's clearly pointless to do such a thing. It only adds lag and unneeded latency. If you want to use maginet, take the parts, assemble one on your plot and connect some stuff to it. Or ask magic if he will put something u make on his little test network.


RE: Magicnet, a small network - josh03222 - 08-07-2016

I thot threads get locked if they git bumped...