tyler569

Untitled

Apr 13th, 2017
361
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.79 KB | None | 0 0
  1. BTRNET
  2.  
  3. The Built-To-Run Network
  4.  
  5. BTRNET is an extensible, modern implementation of a simple network stack, specifically designed
  6. for situations where computational power is extremely limited, often being measured in Hz, rather
  7. than today's MHz and GHz. It aims to provide an interface for communication capable of supporting
  8. multiply different physical media across many different domains.
  9.  
  10. BTRNET is defined in 2 layers, closely mapping to the 2 lowest layers of the OSI model.
  11. Layer 1, the Physical Layer, defines the physical communication protocol between NICs.
  12. Layer 2, the Data Link Layer, defines how connected nodes resolve addresses and send information
  13. to other nodes.
  14.  
  15. The reference implementation of BTRNET is to be implemented in Minecraft, to allow communication
  16. between CPUs on the Open Redstone Engineers server.
  17.  
  18.  
  19. The specification for the Physical Layer is to be defined, and is intended to be different per
  20. implementation, to account for the specific characteristics of that environment.
  21.  
  22.  
  23. Following is a draft specification for the Data Link Layer:
  24.  
  25. A frame is composed of 4 bytes, 1 byte address and 3 bytes of data
  26. The address byte is sent first on the PHY
  27. The interior layout of the data bytes is not defined.
  28.  
  29. Addressing:
  30. BTRNET is a strictly hierarchical network. All nontrivial communication is accomplished by
  31. sending frames through a tree of switching nodes [the FABRIC]. Using the fabric, frame switching
  32. performance is improved by simplifying the switching nodes. In a typical Ethernet environment,
  33. each switch must maintain a table of MAC addresses associated with each of its ports. In contrast,
  34. BTRNET aims to operate in environments where this is difficult or impossible, therefore BTRNET
  35. devices' addresses are defined by their location in the fabric.
  36.  
  37. Specifically, each switching node needs only two configuration parameters, its address, and its
  38. service prefix. A switching node, upon receiving a frame, will them compare the address of the
  39. incoming frame to its address. If the prefix of the incoming frame matches the prefix of the node,
  40. then the next bit determines which path will service that frame. A missed prefix indicates the node
  41. needs to send that frame upstream until a node is found that can service the request.
  42.  
  43. In this way, up to 256 devices are supported on a BTRNET newtwork, with the complete network
  44. requiring 255 switching nodes. This is not a problem, because intended applications will not be
  45. able to service that much computation simultaneously, and the extra address space is mainly to
  46. allow expansion in any direction.
  47.  
  48. Addressing example
  49.  
  50. 'x' means any bit value - host 0000.xxxx services hosts 0000.0000 through 0000.1111
  51.  
  52. root node xxxx.xxxx
  53. o
  54. / \
  55. node 1xxx.xxxx o o node 0xxx.xxxx
  56. / \ \
  57. node 11xx.xxxx o | H host 0000.0000
  58. | o node 10xx.xxxx
  59. |
  60. host 1100.0000 H
  61.  
  62. For host 1100.0000 to send a frame to host 0000.0000, the following process would occur:
  63.  
  64. 1. host 1100.0000 constructs a frame with destination address 0000.0000
  65.  
  66. 2. frame arrives at node 11xx.xxxx
  67. 0000.0000 does not match the prefix 11xx.xxxx, frame is forwarded up to parent node
  68.  
  69. 3. frame arrives at node 1xxx.xxxx
  70. 0000.0000 does not match the prefix 1xxx.xxxx, frame is forwarded up to parent node
  71.  
  72. 4. frame arrives at root node xxxx.xxxx
  73. 0000.0000 does match prefix xxxx.xxxx, next bit is checked
  74. next bit is 0, frame is forwarded to the '0' downstream node
  75.  
  76. 5. frame arrives at node 0xxx.xxxx
  77. 0000.0000 does match prefix 0xxx.xxxx, next bit is checked
  78. next bit is 0, frame is forwarded to the '0' downstream node
  79.  
  80. 6. frame arrives at host 0000.0000
Add Comment
Please, Sign In to add comment