Git Product home page Git Product logo

url's Introduction

UDP Reliability Layer

UDP Reliability Layer is a user protocol that will provide connectionless reliable packet transmission.

URL Format

URL is composed of mutiple headers and might contain a payload.

Header 0
Header ..
Header n
...
Payload

Header Formats

Acknowledgement Header

ACK (Or NACK If URL Protocol Information : NACK Information) of the arrived message. Must not have payload.

[0-3](31:30) [0-3](29:0) [4-7](31:16) [4-7](15:0)
HT = 00 OFSSET MSG_ID MAC
  • HT (2-bit)- Header Type.
  • SQN (30-bit) - URL Message Offset for the corresponding ACK/NACK.
  • MSG_ID (16-bit) - Message Identifier for the corresponding ACK/NACK.
  • MAC (16-bit) - Message Authentication Code.

URL Message Initial Data Header

Indicates the start of trasmission of URL Message. Contains the size of URL Message to be sent. Payload is is required. Payload OFFSET is 0. Last header before payload.

[0-3](31:30) [0-3](29:0) [4-7](31:16) [4-7](15:0) [8-11](31:0)
HT = 01 SZ MSG_ID MAC SEND_OPT
  • HT (2-bit) - Header.
  • SZ (30-bit) - URL Message size.
  • MSG_ID (16-bit) - Message Identifier for the corresponding segment payload.
  • MAC (16-bit)- Message Authentication Code
  • SEND_OPT - Send option:
    • 3:0 - Integrity Protection Algorithm.
    • 7:4 - Ciphering Algorithm.
    • 8 - Acknowledge Mode.
    • 9 - Retransmission.

URL Message Data Header

Indicates URL Segment Message. Payload is required. Last header before payload.

[0-3](31:30) [0-3](29:0) [4-7](31:16) [4-7](15:0)
HT = 10 OFFSET MSG_ID MAC
  • HT (2-bit) - Header Type.
  • OFSSET (30-bit) - URL Message Offset for the corresponding segment payload.
  • MSG_ID (16-bit) - Message Identifier for the corresponding segment payload.
  • MAC (16-bit) - Message Authentication Code.

URL Protocol Information : NACK Information

Indicated that there is an error in the received URL Message Segment. When present, next header is always Acknowledgement Header. Last header.

[0-3](31:30) [0-3](29:27) [0-3](26:0)
HT = 11 ID=000 INFO
  • HT (2-bit) - Header Type.
  • ID (3-bit) - Infomation type.
  • INFO (27-bit) - Information Label:
    • INFO = 0 - Duplicate Segment Mismatched.
    • INFO = 1 - Received Segment Overlapped.
    • INFO = 2 - Integrity Protection Failed.
    • INFO = 3 - Decryption Failed.

Operation

  • When an URL message is requested to be the message size is larger than the configured URL MTU, the message will be segmented into several transmission units.
  • URL Message Segment transmission size varies from channel quality and is determined during the transmission.
  • In the sender the segments are transmitted sequentially every URL MESSAGE SEGMENT TX INTERVAL.
  • URL Message Segment 0 is sent first, the subsequent URL Message Segments will not be sent if the URL Message Segment is ACKed.
  • Every sent segment must have an ACK from receiver within URL SEGMENT TIMEOUT window.
  • If the URL MESSAGE SEGMENT TIMEOUT expires without an ACK, failed segment will be transmitted again.
  • Each retransmission decreases the URL Segment transmission size and increases the URL MESSAGE SEGMENT TX INTERVAL and URL MESSAGE SEGMENT TIMEOUT.
  • If the total segment retransmission is equal to URL MAX MESSAGE SEGMENT RETX, the URL MESSAGE is resent from offset 0 with and with a URL Protocol Information: Sender Request INFO = Retransmit Indication.
  • If the URL RETX failed URL MAX URL MSG RETX times, send function will return with an URL MESSAGE TX ERROR.

URL Message Segment Size Selection

URL Message Segment Transmit Inverval Selection

URL Message Segment Timeout Selection

url's People

Contributors

therooftopprinz avatar paulineaa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.