设为首页收藏本站language→→ 语言切换

鸿鹄论坛

 找回密码
 论坛注册

QQ登录

先注册再绑定QQ

查看: 1026|回复: 1
收起左侧

[分享] SCTP ERROR数据块格式

[复制链接]
 成长值: 59470
发表于 2017-11-22 14:59:35 | 显示全部楼层 |阅读模式
网络协议报文格式大全
http://bbs.hh010.com/thread-531884-1-1.html
(出处: 鸿鹄论坛)

SCTP ERROR数据块格式
操作差错(ERROR)数据块的格式
SCTP端点发送该数据块向其对端点通知一些特定的差错情况。该数据块中可以包含一个或多个差错原因。一般操作差错不一定被看作是致命的,致命差错情况的报告一般使用ABORT数据块。
图1 SCTP ERROR数据块的格式

                               
登录/注册后可看大图

  • 数据块标志位(8bit):在发送方设置为全0,并在接收方忽略。
  • 可变长度(16bit无符号整数):设置为该数据块的字节数,包括数据块头和所有包含的差错原因字段的长度。
  • 差错原因:可变长度的参数。图2 SCTP ERROR 差错参数格式

                                   
    登录/注册后可看大图

    • 原因编码 (16bit无符号整数):
      定义了被报告的差错情况的类型。


      原因编码描述
      1无效的流标识符
      2丢失必备参数
      3过期的Cookie差错
      4资源耗尽
      5无法解析的地址
      6不识别的数据块类型
      7无效的必备参数
      8不识别的参数
      9无用户数据
      10关闭阶段收到COOKIE
      11使用新的地址重新启动偶联
    • 原因长度(16bit无符号整数):设置为该参数的字节数,包括原因编码、原因长度和原因特定的信息字段。
    • 原因特定的信息:可变长度,该字段用来携带差错的详细情况。[td]
      原因编码含义字段格式
      1无效的流标识符
      差错原因无效的流识别符用来指示端点收到了一个关于不存在的流的DATA数据块。

                                     
      登录/注册后可看大图

      • 流识别符:(16bit无符号整数):包含了接收购差错的DATA数据块的流标识符。
      • 备用字段(16bit):由发送方设为全0,在接收方忽略。
      2丢失必备参数
      丢失必备参数差错原因用来指示一个或多个必备的参数在收到的INIT或INIT ACK数据块中丢失。

                                     
      登录/注册后可看大图
      • 丢失的参数个数(32bit无符号整数):该字段用来指示丢失的参数个数。
      • 丢失的参数类型(16bit无符号整数):每个字段都应包含丢失的必备参数号。
      3过期的Cookie差错
      过期的COOKIE差错原因参数用来指示收到的有效的State Cookie已经过期了。

                                     
      登录/注册后可看大图
      • 过期测量(32bit无符号整数):该字段包含了当前时间和State Cookie过期时的时间差值(用毫秒表示)。该差错原因的发送方可以通过在该字段中包含一个非0的值来报告State Cookie过期了多长时间。如果发送方不希望提供这个信息,则该字段设置为0。

      4资源耗尽
      资源耗尽差错原因用来指示发送方的资源已经耗尽,通常情况下该查错原因与ABORT数据块一起发送。

                                     
      登录/注册后可看大图
      5不可解析的地址
      U不可解析的地址用来指示发送方不能解析特定的地址参数(即发送方不支持该类地址类型),通常情况下该查错原因与ABORT数据块一起发送。

                                     
      登录/注册后可看大图
      • 不可解析的地址:可变长度,不可解析的地址字段中包括不能解析的完整的地址参数或主机名参数(类型、长度和地址值)。
      6不识别的数据块类型
      如果接收方不理解数据块且数据块类型比特中的高位比特设为1,则把不识别的数据块类型错误返回给数据块的产生者

                                     
      登录/注册后可看大图
      • 不识别的数据块(可变长度):该字段包含SCTP分组中不识别数据块的数据块类型、数据块标志和数据块长度。
      7无效的必备参数
      当一个必备参数被设置成无效值时,则向INIT或INITACK的生成者返回无效的必备参数差错。

                                     
      登录/注册后可看大图
      8不识别的参数
      如果接收方不能识别INIT ACK数据块中一个或多个任选参数,则向INIT ACK数据块的产生者返回不识别的参数的差错原因。

                                     
      登录/注册后可看大图
      • 不识别的参数:可变长度,该参数字段包含了从INIT ACK数据块中复制的完整的不识别的参数。当COOKIE ECHO数据块的发送者希望报告不识别的参数时,这个参数通常是包含在ERROR数据块中与COOKIE ECHO数据块捆绑在一起发送作为对INIT ACK的响应。
      9无用户数据
      如果收到的DATA数据块中未包含用户数据,则把这个差错原因返回给DATA数据块的产生者。

                                     
      登录/注册后可看大图
      • TSN的值(32bit无符号整数):该字段包含接收到的这个没有用户数据的DATA数据块的TSN。这个原因值通常是在ABORT数据块中返回的。
      10关闭期间收到Cookie
      当端点处于SHUTDOWN-ACK-SENT状态时,又收到COOKIE ECHO时则发送该差错原因。返回这个差错原因的ERROR数据块通常与重发的SHUTDOWN ACK数据块捆绑在一起发送。

                                     
      登录/注册后可看大图
      11使用新地址重新启动偶联
      当在现存的偶联上收到了COOKIE ECHO数据块,而COOKIE ECHO数据块又向该偶联中增加了先前没有的地址,此时使用该错误原因,并把新增加的地址作为差错信息在该参数中传送,这个差错原因通常都在ABORT中发送,用来拒绝COOKIE ECHO数据块。

                                     
      登录/注册后可看大图




参考标准
标准描述
RFC 2960Stream Control Transmission Protocol





您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2024-5-16 02:45 , Processed in 0.057969 second(s), 9 queries , Redis On.  

  Powered by Discuz!

  © 2001-2024 HH010.COM

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