请选择 进入手机版 | 继续访问电脑版

期货交易自动化论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 717|回复: 25

比特币通信协议 - 币圈消息

[复制链接] |主动推送

299万

主题

299万

帖子

899万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8999369
发表于 2022-11-3 15:10:57 | 显示全部楼层 |阅读模式
比特币通信协议篇11、二、TURN简介。在典型的情况下,TURN客户端连接到内网中,并且通过一个或者多个NAT到达公网,TURN服务器架设在公网中,不同的客户端以TURN服务器为中继和其他peer进行通信,。
2、| CreatePermissionreq(PeerA)
回复

使用道具 举报

0

主题

268

帖子

556

积分

高级会员

Rank: 4

积分
556
发表于 2022-11-3 15:11:37 | 显示全部楼层

3、在下一次request请求中,客户端加上了收到的nonce,以及USERNAME和REALM等属性,再次发送到TurnServer:。
4、1:15:210:49191。
5、服务器如果通过验证,就会返回successresponse,随后Client可以通过上文说到的两种方法与Peer进行通讯,比如下面的Sendindication方法:。
6、
回复

使用道具 举报

0

主题

268

帖子

556

积分

高级会员

Rank: 4

积分
556
发表于 2022-11-3 15:12:17 | 显示全部楼层
||。|(15:50000)
回复

使用道具 举报

0

主题

260

帖子

536

积分

高级会员

Rank: 4

积分
536
发表于 2022-11-3 15:12:54 | 显示全部楼层

7、TurnClient运行在106,为了方便,令peer也在106运行,端口为59593。
8、七、信道机制(Channels)。
9、2:15:3478|+-+//PeerA。
10、Client’sServer|/
回复

使用道具 举报

0

主题

213

帖子

442

积分

中级会员

Rank: 3Rank: 3

积分
442
发表于 2022-11-3 15:13:40 | 显示全部楼层


比特币通信协议篇21、||dropped||。
回复

使用道具 举报

0

主题

248

帖子

514

积分

高级会员

Rank: 4

积分
514
发表于 2022-11-3 15:14:27 | 显示全部楼层
|v|T|2:49582。
2、|| ==data====||。
3、
回复

使用道具 举报

0

主题

231

帖子

484

积分

中级会员

Rank: 3Rank: 3

积分
484
发表于 2022-11-3 15:14:58 | 显示全部楼层
|/+-+。如果TURN使用于ICE协议中,由ICE在多个候选中进行评估,一般来说中继的优先级都是最低的。TURN协议被设计为ICE协议(InteractiveConnectivityEstablishment)的一部分,而且也强烈建议用户在他们的程序里使用ICE,但是也可以独立于ICE的运行。值得一提的是,TURN协议本身是STUN的一个拓展,因此绝大部分TURN报文都是STUN类型的,作为STUN的一个拓展,TURN增加了新的方法和属性。因此阅读本章时最好先了解一下STUN协议!
4、PeerA。当服务器收到SendIndication之后,会将DATA部分的数据解析出来,并将其以UDP的格式转发到对应的端点去,Send/DataIndication是不支持验证的,因为长效验证机制不支持对indication的验证,因此为了防止攻击,TURN要求client在给对等端发送indication之前先安装一个到对等端的许可(permission),client到PeerB没有安装许可,导致其indication数据包将被服务器丢弃,对于peerB也是同样:。
5、在上一章也提到过,因为RFC是标准协议,因此实现上往往有良好的兼容性和拓展性.现存的开源P2P应用程序,如果按照标准来设计,可以很容易与之对接.其中比较著名的就是PJSIP,PJSIP是一个开源的多媒体通信库,实现了许多标准协议,如SIP,SDP,RTP,STUN,TURN和ICE.当然我们也能自己实现.比如GitHub上的TurnServer就是其中一个对TURN服务端的实现.下面在局域网环境下对TURN数据包进行简要分析.首先有如下机器情况:。
6、HostTransportTransport|//
回复

使用道具 举报

0

主题

260

帖子

536

积分

高级会员

Rank: 4

积分
536
发表于 2022-11-3 15:15:36 | 显示全部楼层

7、|+-+
回复

使用道具 举报

0

主题

258

帖子

534

积分

高级会员

Rank: 4

积分
534
发表于 2022-11-3 15:16:22 | 显示全部楼层
A|/Address。
8、TransportAddressTransportAddressAddress。
9、| Allocatefailure
回复

使用道具 举报

0

主题

260

帖子

536

积分

高级会员

Rank: 4

积分
536
发表于 2022-11-3 15:17:09 | 显示全部楼层

10、TURN的全称为TraversalUsingRelaysaroundNAT,是STUN/RFC5389的一个拓展,主要添加了Relay功能。如果终端在NAT之后,那么在特定的情景下,有可能使得终端无法和其对等端进行直接的通信,这时就需要公网的服务器作为一个中继,对来往的数据进行转发。这个转发的协议就被定义为TURN。TURN和其他中继协议的不同之处在于,而这些行为如何完成,是不在TURN协议范围之内的。其中一个可用的方式是客户端通过email来告知对等端信息,另一种方式是客户端使用一些指定的协议,如“introduction”或“rendezvous”,详见RFC。
比特币通信协议篇31、对于一些应用程序,比如VOIP(VoiceoverIP),在Send/DataIndication中多加的36字节格式信息会加重客户端和服务端之间的带宽压力.为改善这种情况,TURN提供了第二种方法来让client和peer交互数据.该方法使用另一种数据包格式,即ChannelDatamessage,信道数据报文.ChannelDatamessage不使用STUN头部,而使用一个4字节的头部,包含了一个称之为信道号的值(channelnumber).每一个使用中的信道号都与一个特定的peer绑定,客户端首先发送一个信道绑定请求(ChannelBindRequest)到服务器,并且可以通过重新发送ChannelBindRequest来刷新持续时间.和Allocation不同的是,并没有直接删除绑定的方法,只能等待其超时自动失效.。
2、| Allocaterequest
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|期货交易自动化论坛

GMT+8, 2023-1-29 04:22 , Processed in 0.073308 second(s), 29 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表