Subject: [5gangip] SecureSession protocol version 1.0 ( was Re: [Vm-dev] Re: SecureSession frame types)

From: Robert Withers <[email-masked]>
Date: Mon, 21 Dec 2015 20:42:12 -0500

I updated with all the feedback and here is a version 1.0 pdf 
specification. I appreciate any comments or suggestions you may have for 
this.

    https://www.dropbox.com/s/ywu9pjxrfvg1hys/FrameTypes.pdf?dl=0

Thank you,
Robert

On 12/20/2015 10:51 AM, Robert Withers wrote:
> More, sorry. I left out the msgSize in the FEC spec. Let me reorder 
> the tagging, fit the 3 bytes of normal msgSpec into 4bytes and thusly...
>
>
> ---Default non-FEC msgSpec + header + payload layout:
>
> - 8bytes (X) messageSpecification...
> -
> - (32bits...)
> - 4bits tagging
> - 6bits multicastSymbol
> - 6bits messageVersion
> - 2bits sanguinity
> - 6bits headerType "Implies Y header size. NOTE: except for FEC 
> encodings"
> - 8bits unused
> - (32bits...)
> - 4bytes messageSize (X+Y+Z) (Z bytes = (messageSize - headerSize(Y) - 
> 8bytes msgSpec (X = 8))
> -
> - Ybytes message header 
> https://www.dropbox.com/s/ywu9pjxrfvg1hys/FrameTypes.pdf?dl=0
> -
> - Zbytes message payload
>
>
>
> Special FEC coded 64bit <msgSpec + header> + payload layout, for 64bit 
> alignment:
>
> - 8bytes (X) message specification...
> -
> - (32bits...)
> - 4bits tagging
> - 6bits multicastSymbol
> - 6bits messageVersion
> - 2bits sanguinity
> - 6bits FEC message type "NOTE: this means different layout"
> - 2bits rsMode
> - 6bits partial blockCount
> - (32bits...)
> - 4bits blockCount           "NOTE: for 1MB encoded/982KB data - 
> blockCount * blockCodeBytes = Z"
> - 20bits messageSize (X+Y+Z) (Z bytes = (messageSize - headerSize(Y) - 
> 8bytes msgSpec (X = 8))  "NOTE: this can specify 1MB data"
> - 8bits primitivePolynomial spec (good for our current rsModes)
> -
> - Y = 0
> -
> - Zbytes-sized payload
>
> Ok, that's what it is I think, this proposal.
>
> robert
>
>
>
> On 12/20/2015 10:33 AM, Robert Withers wrote:
>> ---Default non-FEC msgSpec + header + payload layout:
>>
>> - 6bits multicastSymbol
>> - 2bits sanguinity
>> - 6bits messageVersion
>> - 6bits headerType "NOTE: except for FEC encodings"
>> - 4bytes messageSize
>> - Xbytes header
>> -
>> - (messageSized - headerSize - 7specBytes) Bytes-sized payload
>>
>>
>> Special FEC coded 64bit <msgSpec + header> + payload layout, for 
>> 64bit alignment:
>>
>> - (32bits...)
>> - 6bits multicastSymbol
>> - 2bits sanguinity
>> - 6bits messageVersion
>> - 6bits FEC message type "NOTE: this means different layout"
>> - 2bits rsMode
>> - (32bits...)
>> - 10bits blockCount           "NOTE: for 1MB encoded/982KB data"
>> - 20bits messageSize        "NOTE: this can specify 1MB data plus
>> - 8bits primitivePolynomial spec (good for our current rsModes)
>> - 4bits tagging
>> -
>> - (messageSized - headerSize - 4specBytes) OR (blockCount * rsMode's 
>> blockCodeBytes) Bytes-sized payload
>

-- 
. ..  ...   ^,^    robert
Go Panthers!

---

From: Robert Withers <[email-masked]>
Date: Mon, 21 Dec 2015 21:55:42 -0500

I call these evolutions refinements.  A few more here, pardon the bandwidth:

`1 - It was unspecified but the 4 tag bits can have 16 values, 1 for 
this protocol. The availability of 15 other protocols is a feature for 
open-source development.
`2 - a header is easily defined for different transports and networks.
`3 - the header of a FEC message is separately FEC encoded and 
interleaved with RS(15,9), so 30 bytes for the msgSpec and header, 
followed by the rsMode specified FEC encoding of the payload, padded out 
from msgSize.

thank you,
robert

On 12/21/2015 08:42 PM, Robert Withers wrote:
> specification. I appreciate any comments or suggestions you may have 
> for this.
>
>> - 4bytes messageSize (X+Y+Z) (Z bytes = (messageSize - headerSize(Y) 
>> - 8bytes msgSpec (X = 8))
>> -
>> - Ybytes message header 
>> - 20bits messageSize (X+Y+Z) (Z bytes = (messageSize - headerSize(Y) 
>> - 8bytes msgSpec (X = 8))  "NOTE: this can specify 1MB data"

-- 
. ..  ...   ^,^    robert
Go Panthers!