ImageVerifierCode 换一换
格式:PDF , 页数:31 ,大小:450.93KB ,
资源ID:1046332      下载积分:10000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1046332.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SMPTE RDD 38-2016 Networked Device Control Protocol - Message Data Structure and Method of Communication.pdf)为本站会员(ownview251)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

SMPTE RDD 38-2016 Networked Device Control Protocol - Message Data Structure and Method of Communication.pdf

1、 SMPTE RDD 38:2016 SMPTE REGISTERED DISCLOSURE DOCUMENT Networked Device Control Protocol Message Data Structure and Method of Communication Page 1 of 31 pages The attached document is a Registered Disclosure Document prepared by the proponent identified below. It has been examined by the appropriat

2、e SMPTE Technology Committee and is believed to contain adequate information to satisfy the objectives defined in the Scope, and to be technically consistent. This document is NOT a Standard, Recommended Practice or Engineering Guideline, and does NOT imply a finding or representation of the Society

3、. Errors in this document should be reported to the proponent identified below, with a copy to engsmpte.org. All other inquiries in respect of this document, including inquiries as to intellectual property requirements that may be attached to use of the disclosed technology, should be addressed to t

4、he proponent identified below. Proponent contact information: Satoshi Katsuo Sony Corporation 4-14-1 Asahi-cho, Atsugi Kanagawa, 243-0014 Japan Email: Satoshi.K Copyright 2016 by THE SOCIETY OF MOTION PICTURE AND TELEVISION ENGINEERS 3 Barker Avenue, White Plains, NY 10601 (914) 761-1100 Approved Ju

5、ne 30, 2016 SMPTE RDD 38:2016 Page 2 of 31 pages Table of Contents Page Introduction 3 1 Scope 3 2 Related Documents and URLs . 3 3 Terms and Definitions . 4 3.1 Big-Endian Byte Rrder . 4 3.2 Deserialization . 4 3.3 Least Significant Byte (LSB) 4 3.4 Most Significant Byte (MSB) 4 3.5 Serialization .

6、 4 4 Serialized Object Formats 4 4.1 General 4 4.2 Nil . 6 4.3 Boolean 6 4.4 Integer 6 4.5 IEEE 754 Floating Point Numbers . 10 4.6 UTF-8 String 11 4.7 Binary Data 13 4.8 Array 14 4.9 Map 15 4.10 User Defined Types . 17 5 Message Formats . 21 5.1 General 21 5.2 Request Message 21 5.3 Response Messag

7、e . 23 5.4 Notify Message 25 6 Message Sequences 28 6.1 General 28 6.2 Remote Procedure Call . 28 6.3 Notification . 28 7 Transport Protocols 29 7.1 General 29 7.2 WebSocket 29 7.3 TLS 29 7.4 TCP 29 8 Security . 30 8.1 General 30 8.2 User Authentication . 30 8.3 Client Authentication 30 8.4 Encrypti

8、on of Communication Path . 30 Annex A Reference Implementation (Informative) 31 SMPTE RDD 38:2016 Page 3 of 31 pages Introduction The phrase “IP control” covers a wide range of control functions via IP networks, from business level control (control at workflow level) to device level control (control

9、 at function level). As for the latter, it has now become common practice to control a product using a variety of controller types including portable computers, smartphones and/or tablets via wireless IP networks. In such situations, even in an IP network environment there is a requirement to realiz

10、e high speed control/response equivalent to using a conventional RS422/9-pin control device. This RDD provides a lightweight and efficient control protocol specification for this purpose. Specifically, it conforms to MessagePack and MessagePack RPC specifications, with some added definitions require

11、d for device control. These include an efficient method of message communication, and use of available transport protocols that take security into account. See Annex A for a URL to an open source reference implementation. 1 Scope This RDD provides the following specification for a protocol layer to

12、control networked devices efficiently in an IP network environment. Serialized object format Message format Message sequence Transport protocol Security 2 Related Documents and URLs IETF RFC 2617, HTTP Authentication: Basic and Digest Access Authentication IETF RFC 3629, UTF-8, a transformation form

13、at of ISO 10646 IETF RFC 5246, The Transport Layer Security (TLS) Protocol Version 1.2 IETF RFC 6455, The WebSocket Protocol The Unicode Consortium, The Unicode Standard IEEE 754, Standard for Floating Point Arithmetic MessagePack, http:/msgpack.org/ MessagePack RPC, https:/ SMPTE RDD 38:2016 Page 4

14、 of 31 pages 3 Terms and Definitions For the purposes of this document, the following terms and definitions apply. 3.1 Big-endian byte order The most significant byte of words is stored at a particular memory address and subsequent bytes are stored in the following higher memory addresses, the least

15、 significant byte thus being stored at the highest memory address. It is also called network order in the IETF RFC documents. 3.2 Deserialization The process of translating a series of bytes into application data structures or object states. 3.3 Least Significant Byte (LSB) The byte in that position

16、 of a multi-byte number which has the least potential value. 3.4 Most Significant Byte (MSB) The byte in that position of a multi-byte number which has the greatest potential value. 3.5 Serialization The process of translating data structures or object state into a series of bytes that can be stored

17、 and reconstructed later in the same or another computer environment. 4 Serialized Object Formats 4.1 General This section describes data formats of the serialized object which have an arbitrary type by a binary string. Since serialized data has both type information and a value, an application obje

18、ct can be reconstructed from it. Table 1 shows the defined types in serialized object formats. In addition to basic types defined by most programming languages, a variable length binary/string data type and container types are also defined. In order to minimize the post-serialization data size, the

19、type can be set by the actual value at the time of serialization instead of strictly serializing the type as declared by the programming language. For example, even if a type is declared as 64-bit unsigned integer by the programming language, if the value is 250, the data will be serialized into an

20、8-bit unsigned integer. As a result, the post-serialization data size is 7 bytes shorter than with serialization into a 64-bit unsigned integer. An open source reference implementation described in Annex A supports all data formats defined in this section, and also has the size reduction capability

21、described above. In the following sections, bits in a byte are labeled 7 through 0. The most significant bit is bit number 7, and the least significant bit is bit number 0. SMPTE RDD 38:2016 Page 5 of 31 pages Table 1 Defined data types in serialized object formats Type First byte (in binary) First

22、byte (in hex) Details 7-bit positive integer 0xxxxxxx 0x00 - 0x7f See 4.4.2. map in 4-bit object number 1000xxxx 0x80 - 0x8f See 4.9.2. array in 4-bit object number 1001xxxx 0x90 - 0x9f See 4.8.2. UTF-8 string in 5-bit length 101xxxxx 0xa0 - 0xbf See 4.6.2. Nil 11000000 0xc0 See 4.2. (never used) 11

23、000001 0xc1 False 11000010 0xc2 See 4.3.2. True 11000011 0xc3 See 4.3.3. binary in 8-bit length 11000100 0xc4 See 4.7.2. binary in 16-bit length 11000101 0xc5 See 4.7.3. binary in 32-bit length 11000110 0xc6 See 4.7.4. user defined type in 8-bit length 11000111 0xc7 See 4.10.2. user defined type in

24、16-bit length 11001000 0xc8 See 4.10.3. user defined type in 32-bit length 11001001 0xc9 See 4.10.4. IEEE 754 single precision floating point number 11001010 0xca See 4.5.2. IEEE 754 double precision floating point number 11001011 0xcb See 4.5.3. 8-bit unsigned integer 11001100 0xcc See 4.4.4. 16-bi

25、t unsigned integer 11001101 0xcd See 4.4.5. 32-bit unsigned integer 11001110 0xce See 4.4.6. 64-bit unsigned integer 11001111 0xcf See 4.4.7. 8-bit signed integer 11010000 0xd0 See 4.4.8. 16-bit signed integer 11010001 0xd1 See 4.4.9. 32-bit signed integer 11010010 0xd2 See 4.4.10. 64-bit signed int

26、eger 11010011 0xd3 See 4.4.11. 8-bit user defined type 11010100 0xd4 See 4.10.2. 16-bit user defined type 11010101 0xd5 See 4.10.3. 32-bit user defined type 11010110 0xd6 See 4.10.4. 64-bit user defined type 11010111 0xd7 See 4.10.5. 128-bit user defined type 11011000 0xd8 See 4.10.6. UTF-8 string i

27、n 8-bit length 11011001 0xd9 See 4.6.3. UTF-8 string in 16-bit length 11011010 0xda See 4.6.4. UTF-8 string in 32-bit length 11011011 0xdb See 4.6.5. array in 16-bit object number 11011100 0xdc See 4.8.3. array in 32-bit object number 11011101 0xdd See 4.8.4. map in 16-bit object number 11011110 0xd

28、e See 4.9.3. map in 32-bit object number 11011111 0xdf See 4.9.4. 5-bit negative integer 111xxxxx 0xe0 - 0xff See 4.4.3. SMPTE RDD 38:2016 Page 6 of 31 pages 4.2 Nil Table 2 shows a nil. In most programming language, nil refers to an empty set or a list containing no entries. Nil is also used when a

29、 value is not assigned to a variable. Table 2 nil Bit 7 6 5 4 3 2 1 0 byte 1 Type (0xc0) 1 1 0 0 0 0 0 0 4.3 Boolean 4.3.1 General Boolean data types usually have two values such as true or false. 4.3.2 false Table 3 shows a false. It is represented by 0xc2 in hexadecimal. Table 3 false Bit 7 6 5 4

30、3 2 1 0 byte 1 Type (0xc2) 1 1 0 0 0 0 1 0 4.3.3 true Table 4 shows a true. It is represented by 0xc3 in hexadecimal. Table 4 true 7 6 5 4 3 2 1 0 byte 1 Type (0xc3) 1 1 0 0 0 0 1 1 4.4 Integer 4.4.1 General An integer value is stored big-endian order in the object serialization formats. SMPTE RDD 3

31、8:2016 Page 7 of 31 pages 4.4.2 7-bit positive integer Table 5 shows the format for a positive integer value. The type field is the most significant bit of byte 1 and is stored as 0. A positive integer value should be stored as this format if the value is less than 128. Table 5 7-bit positive intege

32、r format Bit 7 6 5 4 3 2 1 0 byte 1 Type Value (0127) 0 X X X X X X X 4.4.3 5-bit negative integer Table 6 shows the format for a negative integer value. The type field in byte 1 is stored as 111 in binary. A negative integer should be stored as this format if the value is larger than -32. Table 6 5

33、-bit negative integer format Bit 7 6 5 4 3 2 1 0 byte 1 Type Value (-31-1) 1 1 1 X X X X X 4.4.4 8-bit unsigned integer Table 7 shows the format for an 8-bit unsigned integer value. The type field in byte 1 is stored as 0xcc in hexadecimal. The value field in byte 2 is stored as an 8-bit unsigned in

34、teger value. An unsigned integer value should be stored as this format if the value is within the max value of an 8-bit unsigned integer. Table 7 8-bit unsigned integer format Bit 7 6 5 4 3 2 1 0 byte 1 Type (0xcc) 1 1 0 0 1 1 0 0 byte 2 Value 4.4.5 16-bit unsigned integer Table 8 shows the format f

35、or a 16-bit unsigned integer value. The type field in byte 1 is stored as 0xcd in hexadecimal. The value field is stored as a 16-bit unsigned integer value in big-endian order. An unsigned integer value should be stored as this format if the value is within the max value of a 16-bit unsigned integer

36、. Table 8 16-bit unsigned integer format Bit 7 6 5 4 3 2 1 0 byte 1 Type (0xcd) 1 1 0 0 1 1 0 1 byte 2 Value (MSB) byte 3 Value (LSB) SMPTE RDD 38:2016 Page 8 of 31 pages 4.4.6 32-bit unsigned integer Table 9 shows the format for a 32-bit unsigned integer value. The type field in byte 1 is stored as

37、 0xce in hexadecimal. The value field is stored as a 32-bit unsigned integer value in big-endian order. An unsigned integer value should be stored as this format if the value is within the max value of a 32-bit unsigned integer. Table 9 32-bit unsigned integer format Bit 7 6 5 4 3 2 1 0 byte 1 Type

38、(0xce) 1 1 0 0 1 1 1 0 byte 2 Value (MSB) byte 3 Value (cont.) byte 4 Value (cont.) byte 5 Value (LSB) 4.4.7 64-bit unsigned integer Table 10 shows the format for a 64-bit unsigned integer value. The type field in byte 1 is stored as 0xcf in hexadecimal. The value field is stored as a 64-bit unsigne

39、d integer value in big-endian order. An unsigned integer value should be stored as this format if the value is within the max value of a 64-bit unsigned integer. Table 10 64-bit unsigned integer format Bit 7 6 5 4 3 2 1 0 byte 1 Type (0xcf) 1 1 0 0 1 1 1 1 byte 2 Value (MSB) byte 3 Value (cont.) byt

40、e 4 Value (cont.) byte 5 Value (cont.) byte 6 Value (cont.) byte 7 Value (cont.) byte 8 Value (cont.) byte 9 Value (LSB) 4.4.8 8-bit signed integer Table 11 shows the format for an 8-bit signed integer value. The type field in byte 1 is stored as 0xd0 in hexadecimal. The value field is stored as an

41、8-bit signed integer value. A signed integer value should be stored as this format if the value is within the range of an 8-bit signed integer. SMPTE RDD 38:2016 Page 9 of 31 pages Table 11 8-bit signed integer format Bit 7 6 5 4 3 2 1 0 byte 1 Type (0xd0) 1 1 0 1 0 0 0 0 byte 2 Value 4.4.9 16-bit s

42、igned integer Table 12 shows the format for a 16-bit signed integer value. The type field in byte 1 is stored as 0xd1 in hexadecimal. The value field is stored as a 16-bit signed integer value in big-endian order. A signed integer value should be stored as this format if the value is within the rang

43、e of a 16-bit signed integer. Table 12 16-bit singed integer format Bit 7 6 5 4 3 2 1 0 byte 1 Type (0xd1) 1 1 0 1 0 0 0 1 byte 2 Value (MSB) byte 3 Value (LSB) 4.4.10 32-bit signed integer Table 13 shows the format for a 32-bit signed integer value. The type field in byte 1 is stored as 0xd2 in hex

44、adecimal. The value field is stored as a 32-bit signed integer value in big-endian order. A signed integer value should be stored this format if the value is within the range of a 32-bit signed integer. Table 13 32-bit signed integer format Bit 7 6 5 4 3 2 1 0 byte 1 Type (0xd2) 1 1 0 0 1 1 1 0 byte

45、 2 Value (MSB) byte 3 Value (cont.) byte 4 Value (cont.) byte 5 Value (LSB) 4.4.11 64-bit signed integer Table 14 shows the format for a 64-bit signed integer value. The type field in byte 1 is stored as 0xd3 in hexadecimal. The value field is stored as a 64-bit signed integer value in big-endian or

46、der. A signed integer value should be stored this format if the value is within the range of a 64-bit signed integer. SMPTE RDD 38:2016 Page 10 of 31 pages Table 14 64-bit signed integer format Bit 7 6 5 4 3 2 1 0 byte 1 Type (0xd3) 1 1 0 1 0 0 1 1 byte 2 Value (MSB) byte 3 Value (cont.) byte 4 Valu

47、e (cont.) byte 5 Value (cont.) byte 6 Value (cont.) byte 7 Value (cont.) byte 8 Value (cont.) byte 9 Value (LSB) 4.5 IEEE 754 Floating Point Numbers 4.5.1 General This specification supports IEEE 754 single precision floating point number and IEEE 754 double precision floating point number. 4.5.2 Si

48、ngle precision floating point number Table 15 shows the format for the value of an IEEE 754 single precision floating point number. The type field in byte 1 is stored as 0xca in hexadecimal. The most significant bit in byte 2 stores the sign value: 0 for a positive number and 1 for a negative number

49、. The exponent field is stored as an 8-bit exponent value. The fraction field in the format is stored as a 23-bit fraction value. Table 15 IEEE 754 single precision floating point number format Bit 7 6 5 4 3 2 1 0 byte 1 Type (0xca) 1 1 0 0 1 0 1 0 byte 2 Sign Exponent byte 3 Exponent (cont.) Fraction byte 4 Fraction (cont.) byte 5 Fraction (cont.) SMPTE RDD 38:2016 Page 11 of 31 pages 4.5.3 Double precision floating point number Table 16 shows the format

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1