深圳黄河数字技术有限公司.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深圳黄河数字技术有限公司

DDNS接入协议 文档版本01 发布日期2007-06-28 BOM编码N/A 保密等级 II 级 目 录 一、工作原理 3 二、DDNS数据包定义 4 2.1 数据包结构 4 2.2 包体结构 4 2.2.1 访问请求 req_hello 4 2.2.2 访问应答 res_hello 5 2.2.3 更新请求 req_refresh 5 2.2.4 更新应答 res_refresh 5 2.2.5 握手请求 req_handshake 5 2.2.6 握手应答 res_handshake 5 2.2.7 更新参数请求 req_setpara 6 2.2.8 更新参数应答 res_setpara 6 三、编程模式 7 3.1 SOCKET的使用 7 3.2 加密函数 7 3.3 数据结构参考 7 3.4 界面要求 8 附录: 9 一、修改记录 9 一、工作原理 原理说明: 该协议采用UDP方式接入服务器,图中req表示请求数据包,res表示应答数据包。当设备上线时发送hello数据包给服务器,服务器检查数据的合法性,如果是非法请求,服务器将不作响应。设备收到应答数据后将发出refresh更新数据包,服务器同样先检查数据,如果数据合法将返回应答数据,此时设备的IP,端口等信息将被更新到服务器数据库中。服务器收到res refresh后会继续发送req shakehand握手数据,服务器收到后检查数据包,合法数据将会返回res shakehand应答握手数据,此时DVS与服务器保持通信,一旦DVS网络中断,数据通讯将终止,直到网络恢复正常。图中蓝色的箭头表示人工设置DVS的DDNS参数时候进行的数据通信,将DVS的参数同步到服务器数据库中。 二、DDNS数据包定义 2.1 数据包结构 DDNS数据包由包头和包体组成,发送时需在包体前加包头,包头定义如下: 字段 长度(byte) 数据类型 说明 Sn 4 unsigned long 消息序号 id 4 unsigned long 消息标识 Sn表示设备与服务器通讯时数据包交互的次数,从设备启动、访问DDNS服务器开始计数,建议初始值设为1,每传递一次数据包,sn递增1。该序号被用作在服务端产生随机数的种子。 Id表示消息的类型,目前共有10种类型的消息,类型值请参考下表: 消息类型 数值 说明 Req_hello 0x00 设备向服务器发送访问请求 Req_chkpass 0x01 设备向服务器发送密码验证请求 Req_refresh 0x02 设备向服务器发送更新IP请求 Req_handshake 0x03 设备向服务器发送握手请求 Req_setpara 0x05 设备向服务器发送参数设置请求 Res_hello 0x80 服务器向设备发送访问应答 Res_chkpass 0x81 服务器向设备发送密码验证应答 Res_refresh 0x82 服务器向设备发送更新应答 Res_handshake 0x83 服务器向设备发送握手应答 Res_setpara 0x85 服务器向设备发送参数设置应答 2.2 包体结构 2.2.1 访问请求 req_hello 字段 长度(byte) 数据类型 说明 devid 32 char 设备编号,唯一标识一个设备 domain 32 char 用户为设备设置的二级域名 authdata 16 char 由makehellokey产生的验证数据,该数据也用于服务端进行req_handshake,req_setpara的验证 2.2.2 访问应答 res_hello 字段 长度(byte) 数据类型 说明 random 32 unsigned long Req_hello后由服务器产生的随机数,该数用于设备端req_refresh时调用makerefreshkey的参数 result 1 byte Req_hello的结果,0成功,1失败 2.2.3 更新请求 req_refresh 字段 长度(byte) 数据类型 说明 devid 32 char 设备编号,唯一标识一个设备 domain 32 char 用户为设备设置的二级域名 signdata 16 byte 由makerefreshkey产生的验证数据,用于在服务端进行refresh验证。 2.2.4 更新应答 res_refresh 字段 长度(byte) 数据类型 说明 result 1 byte Req_refresh的结果,0成功,1失败 remark 1 byte 域名更新发现重名时添加的后缀,0未重复,大于0时需要将该值连接到预设置的域名后面 2.2.5 握手请求 r

文档评论(0)

laolao123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档