Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

AtomicScience

Members
  • Content Count

    2
  • Joined

  • Last visited

Posts posted by AtomicScience

  1. Hello everyone! In this topic, I present you my own development - set of network protocols called OpenComputers Network Stack.
    This version - OCNSv1 is still considered Alpha, so don't pay attention to details.

    Brief:
    OpenComputers Network Stack (OCNS in a short way) is the TCP/IP-like network protocols stack aimed to standardize network interconnections between OpenComputers machines. The first version of the stack, to which this note is attached, is Alpha-version - there are plenty of imperfections, some protocols are not what they are intended to be, however, I've decided to share this stack with community, and I hope you will help me in any way - feel free to suggest anything or criticize my decisions
    Features:
    OCNS architecture was developed to support these characteristics:

    • Modularity
      To provide easy extensibility and complementarity, a protocol should support defining its components as separate elements.
      Every protocol in the stack is represented as a single file, following defined for its layer protocols API.
    • Abstraction
      Users of higher-layer protocols should not care about routing, channelling, packets forming and other low-layer stuff, and clear separation of protocols over OSI model helps users to only pay attention to higher layers and programmers to develop their own protocols with only taking care of lower one
    • Efficiency
      Instead of imitating of real-life protocols, OCNS create its own, OpenComputers-oriented system and have the author, that write features of his stack out of his own head

    Protocols:
    OCNS have got protocols, distributed over OSI models like shown below:
    image.png.ade2c376010d9e2cbedde5cdbe8d3b0e.png
    Let's analyze all the points from down to up:

    • Interfaces
      OpenComputers provides plenty of different medias - tunnel cards, wire modems, wireless ones and so on. To unificate their interfaces, we should develop single API and implement medias' interfaces over it. This approach lets us to make crazy things - transmitting network packages over redstone, floppies carried by drones and just anything you can imagine - and any of these will be easily controlled via few methods
      However, now all the protocols depend on a primary modem in OS, so this is the planned feature
    • mIP
      Routing protocol. Uses cool 3-octet address
      In version 1 only supports routing in one Ethernet
    • mARP
      Protocol intended to seek not cool physical addresses by cool mIP ones
      Works nominal in version 1 and not planned to be changed
    • mUDP
      Allows to use mUDP sockets
      Is planned to obtain extended API in version 2
    • pingStub
      Old debug protocol, marked for deletion
    • mNSP
      The protocol that encapsulates a mUDP sockets in very convenient streams
      There is an example program echo in the archive that demonstrates the power of the protocol
      Is going to be reworked in version 2

    Installation:

    1) Download - **Removed by staff** (was too lazy to make it over Pastebin or Git)

    2) Extract all the folders (except 'echo') to the root of your OpenOS drive
    3) Reboot
    4) Assign an unique mIP address to the computer by typing 'change_mIP x.x.x'
    5) Repeat these steps at another PC connected with the first one and test connection between them using ping
    6) Done! Every API method is documented, so it will be easy for you to learn the code Готово! Каждый метод API задокументирован в коде, так что разобраться в нем не должно составить труда
    Don't forget about the echo test program

     

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.