[squeak-dev] looking for help: frame definitions in SecureSession
Robert Withers
robert.w.withers at gmail.com
Sat Apr 23 19:01:33 UTC 2016
Hi All,
I've been working in SecureSession
(http://www.squeaksource.com/Cryptography) and I have worked on
redefining the Vintage message definitions over these past months to a
new frame specification that may be good to use across uses: internet,
telecomm, multicore and with 4 tag bits, hoping that's helpful in some
way with the vm. I have been thinking more about whether what I came up
with could be improved. My apologies for fomenting such change in the
spec. This spec can be found here: http://jmp.sh/zASyHlK.
The issue I face with the vintage protocol is there is no identifying
information compared to the frame messageVersion to differentiate it as
a vintage msg. I had not looked at the ASN1DER encoding of those vintage
messages critically; on a quick look it looks like the "timeSent" field
lines up with the messageVersion of the frame definition. This would be
great if we could repurpose the timeSent as a msgVersion then send
vintage traffic along with frame traffic, together.
On the frame definition of the 8 byte msgSpec, I think perhaps some
changes would be good. In analysis, we don't need 6 bits for msgVersion,
perhaps only 3 bits, so the multicast could go to 9 bits. The 8 bits of
hash could be recast as the channel, or circuit, so we can multiplex
traffic. This still leaves 64 different header type values for
differentiation and allows 256 channels and 512 multicasts. What do you
think? Are these good changes?
Old frame msgSpec definition: 8 bytes bit encoded
* 1st word, 4 bytes
o 4 bits : tags
o 6 bits : multicast
o 6 bits : messageVersion
o 2 bits : priority
o 6 bits : headerType
o 8 bits : hash
* 2nd word, 4 bytes
o 32 bits : messageSize (payload bytes = (messageSize - headerSize
- 8 bytes msgSpec))
Proposed msgSpec definition: 8 bytes bit encoded
* 1st word, 4 bytes
o 4 bits : tags
o 9 bits : multicast
o 3 bits : messageVersion
o 2 bits : priority
o 6 bits : headerType
o 8 bits : channel
* 2nd word, 4 bytes
* 32 bits : messageSize (payload bytes = (messageSize - headerSize - 8
bytes msgSpec))
Best,
Robert
--
Robert
. .. ... ^,^
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20160423/8ff5cbf2/attachment.htm
More information about the Squeak-dev
mailing list
|