当前位置: 首页 > news >正文

做的网站在ie会乱码/网络广告策划案

做的网站在ie会乱码,网络广告策划案,dw创建网站导航栏菜单怎么做,亳州网站制作一、stun协议格式 1、STUN报文头 1)最高的2位必须置零,这可以在当STUN和其他协议复用的时候,用来区分STUN包和其他数据包。 2)STUN Message Type 字段定义了消息的类型(请求/成功响应/失败响应/指示)和消息…

一、stun协议格式
1、STUN报文头


1)最高的2位必须置零,这可以在当STUN和其他协议复用的时候,用来区分STUN包和其他数据包。

 

2)STUN Message Type 字段定义了消息的类型(请求/成功响应/失败响应/指示)和消息的主方法。
虽然我们有4个消息类别,但在STUN中只有两种类型的事务,即请求/响应类型和指示类型。响应类型分为成功和出错两种,用来帮助快速处理STUN信息。Message Type字段又可以进一步分解为如下结构:

 

其中显示的位为从最高有效位M11到最低有效位M0,M11到M0表示方法的12位编码。C1和C0两位表示类的编码。

因此:MessageType=MessageClass | MessageMethod

例如对于binding方法来说,

MessageClass定义:0b00表示request,0b01表示indication,0b10表示success response,0b11表示error response

Message Method定义为0x001

所以binding的MessageType的定义如下枚举值:

  

每一个method都有可能对应不同的传输类别。方法和类是正交的,因此对于每种方法,对该方法的请求,成功响应,错误响应和指示都是可能的。拓展定义新方法的时候注意要指定该方法允许哪些类型的消息。

根据RFC5766定义,音视频通讯经常使用的Stun Methods定义如下:

 

3)Message Length 字段存储了信息的长度,以字节为单位,不包括20字节的STUN头部。由于所有的STUN属性都是都是4字节对齐(填充)的,因此这个字段最后两位应该恒等于零,这也是辨别STUN包的一个方法之一。

4)Magic Cookie 字段包含固定值0x2112A442,这是为了前向兼容RFC3489,因为在classic STUN中,这一区域是事务ID的一部分。另外选择固定数值也是为了服务器判断客户端是否能识别特定的属性。还有一个作用就是在协议多路复用时候也可以将其作为判断标志之一

5)Transaction ID 字段是个96位的标识符,用来区分不同的STUN传输事务。对于request/response传输,事务ID由客户端选择,服务器收到后以同样的事务ID返回response;对于indication则由发送方自行选择。事务ID的主要功能是把request和response联系起来,同时也在防止攻击方面有一定作用。服务端也把事务ID当作一个Key来识别不同的STUN客户端,因此必须格式化且随机在0~2^(96-1)之间。重发同样的request请求时可以重用相同的事务ID,但是客户端进行新的传输时,必须选择一个新的事务ID。

2、STUN报文属性(attributes)
在STUN报文头部之后,通常跟着0个或者多个属性,每个属性必须是TLV编码的(Type-Length-Value)。其中Type字段和Length字段都是16位,Value字段为为32位表示,如下:

attributes的Type定义如下:


webrtc的代码定义:

 

wireshark抓包示例:


下面简要介绍几个常见属性的定义:

 

 

1)MAPPED-ADDRESS
MAPPED-ADDRESS用来表示NAT客户端的反射地址。

Family为IP类型,即IPV4(0x01)或IPV6(0x02),Port为端口,Address为32位或128位的IP地址。注意Family前面的高8位必须全部置零,而且接收端必须要将其忽略掉。

2)XOR-MAPPED-ADDRESS
和MAPPED-ADDRESS基本相同,不同点是反射地址部分经过了一次异或(XOR)处理。

对于X-Port字段,是将NAT的映射端口以小端形式与magic cookie的高16位进行异或,再将结果转换成大端形式而得到的,X-Address也是类似。

之所以要经过这么一次转换,是因为在实践中发现很多NAT会修改payload中自身公网IP的32位数据,从而导致NAT打洞失败。

3)ERROR-CODE
该属性用于error response报文中。包含了300-699表示的错误代码,以及一个UTF-8格式的文字出错信息(Reason Phrase)。

其中返回码定义:

300:尝试代替(Try Alternate),客户端应该使用该请求联系一个代替的服务器。这个错误响应仅在请求包括一个 USERNAME属性和一个有效的MESSAGE-INTEGRITY属性时发送;否则它不会被发送,而是发送错误代码为400的错误响应;
400:错误请求(Bad Request),请求变形了,客户端在修改先前的尝试前不应该重试该请求。
401:未授权(Unauthorized),请求未包括正确的资格来继续。客户端应该采用一个合适的资格来重试该请求。
420:未知属性(Unknown Attribute),服务器收到一个STUN包包含一个强制理解的属性但是它不会理解。服务器必须将不认识的属性放在错误响应的UNKNOWN-ATTRIBUTE属性中。
438:过期Nonce(Stale Nonce),客户端使用的Nonce不再有效,应该使用响应中提供的Nonce来重试。
500:服务器错误(Server Error),服务器遇到临时错误,客户端应该再次尝试。

其余的还有:

 

可以翻阅rfc5389协议15小节、RFC5766定义。

参考:
RFC5389

RFC3489

RFC5766

https://www.jianshu.com/p/227bb04179c8
 

http://www.lbrq.cn/news/805339.html

相关文章:

  • 西安政府网站建设公司/怎么做网络广告推广
  • 教学成果展示网站 课程体系建设/每日新闻摘抄10条
  • 滨州网站建设求职简历/建站公司排名
  • 个人电脑安装win2003做网站/网站运营与维护
  • 可以做心理测试的网站有哪些/百度seo优化工具
  • 唐山做网站的公司/外贸网站免费建站
  • 030159网站建设与维护/百度在线使用
  • 启蒙自助建站/电商卖货平台有哪些
  • 关于政府网站的建设的意见/百度关键词排名突然消失了
  • 做网站美工排版/直通车优化推广
  • 梧州论坛红豆思辨/网站优化课程培训
  • 移动互联网开发报告总结/入门seo技术教程
  • 首次做淘宝客网站要安装程序吗/长清区seo网络优化软件
  • 世界经理人网站手机版/上海app网络推广公司
  • 上海金融网站建设公司/个人接外包项目平台
  • 陕西网站建设设计公司/百度搜索排行
  • 那些做测评的网站好/google海外版
  • 网站子域名怎么做/数字化营销怎么做
  • 做网站 怎么做留言/百度指数分析报告
  • 怀化seo推广/优化关键词推广
  • 干事儿网网站开发/seo网站推广公司
  • 网站页面设计需求文档/网络营销策划模板
  • 深圳市宝安区龙华公司是干什么的/合肥seo软件
  • 产品推广方案要包含哪些内容/seo就业指导
  • 查找南宁网站开发公司/北京网站外包
  • 网站开发大作业/郑州网站优化推广
  • 宁波网站建设网站/搜狗搜索引擎优化指南
  • 怎样找到免费的黄页网站/seo软件
  • 网站建设寻求/b2b平台是什么意思啊
  • 网站怎么收录/门户网站
  • python学智能算法(三十))|SVM-KKT条件的数学理解
  • 蓝桥杯----DA、AD
  • ASP.NET Core中使用NLog和注解实现日志记录
  • 日语学习-日语知识点小记-构建基础-JLPT-N3阶段(12):文法+单词
  • SFT最佳实践教程 —— 基于方舟直接进行模型精调
  • 大模型流式长链接场景下 k8s 优雅退出 JAVA