收藏 分享(赏)

SCTP协议介绍.pdf

上传人:精品资料 文档编号:10305676 上传时间:2019-10-29 格式:PDF 页数:43 大小:590KB
下载 相关 举报
SCTP协议介绍.pdf_第1页
第1页 / 共43页
SCTP协议介绍.pdf_第2页
第2页 / 共43页
SCTP协议介绍.pdf_第3页
第3页 / 共43页
SCTP协议介绍.pdf_第4页
第4页 / 共43页
SCTP协议介绍.pdf_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、 SCTP协议介绍PDF 文件使用 “pdfFactory Pro“ 试用版本创建 引子提问:什么是SCTP协议?回答:SCTP协议是STREAM CONTROL TRANSMISSION PROTOCOL 即流控制传输协议的缩写。我们可以这样来定义SCTP协议:SCTP是基于提供不可靠传输业务的协议(如IP)之上的可靠的数据报传输协议PDF 文件使用 “pdfFactory Pro“ 试用版本创建 引子 再问:传输协议?有了TCP和UDP还要SCTP干什么?回答:因为SCTP最初是设计来在IP网中传送信令的所以:1、有服务的需求TCP-提供面向连接的可靠的数据流传输UDP-提供无连接的不可靠

2、的数据包传输SCTP-提供面向连接的可靠的数据包传输2、TCP有固有的缺陷支持多归属(Multi-homing)比较困难易受拒绝服务攻击(DoS) 容易出现行头阻塞仅能支持字节流传输 实时性差PDF 文件使用 “pdfFactory Pro“ 试用版本创建 引子正是因为SCTP相对于TCP有了许多优点:支持数据报传递,无须上层实现数据定界功能实时性好安全性好避免了行头阻塞支持多归属(MUTI-HOMING)SCTP相对于TCP就更适合对实时性,安全性,可靠性要求高的信令传输,并有了更广阔的前景PDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP快照一、SCTP快照PDF

3、文件使用 “pdfFactory Pro“ 试用版本创建 SCTP快照:SCTP的协议地位IP网络服务SCTP用户应用SCTP传输服务IP网络服务SCTP用户应用SCTP传输服务一个或多个IP地址一个或多个IP地址SCTP主机A SCTP主机B网络传输结论:无论基于OSI的7层模型,还是TCP/IP协议族的4层模型(网络接口层,互联层,传输层,应用层),SCTP都处于传输层的地位。 PDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP快照:SCTP的基本术语(一)概念一:IP地址和传输地址:很简单,SCTP传输地址就是一个IP地址加一个SCTP端口号。SCTP端口号就是S

4、CTP用来识别同一地址上的用户。和TCP端口号是一个概念比如IP地址10.105.28.92和SCTP端口号1024标识了一个传输地址,而10.105.28.92和1023则标识了另外一个传输地址。同样的,10.105.28.93和1023也组成了一个和它们不同的传输地址PDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP快照:SCTP的基本术语(二)概念二:主机和端点:SCTPIP地址1IP地址2端口1端口2用户1用户2端点1端点2主机主机的概念很实在,一个看得见,摸得着的计算机,配有一个或多个IP地址,就构成我们说的主机。是一个典型的物理实体端点是SCTP的基本逻辑概

5、念,是数据报的逻辑发送者和接收者。一个典型的逻辑实体。SCTP端点由一组具有相同SCTP端口号的传输地址标识SCTP协议规定两个端点之间能且仅能建立一条连接。所以,SCTP端点可能有多个传输地址,但是这些传输地址有唯一的端口号。PDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP快照:SCTP基本术语(三)概念三:连接(偶联)和流连接就是两个SCTP端点通过SCTP协议规定的4步握手机制建立起来的进行数据传递的逻辑联系或者说通道“ 流” 就是一条SCTP连接中,从一个端点到另一个端点的单向逻辑通道。SCTP端点BSCTP端点A可以有多个IP/SCTP-port对 可以有多

6、个IP/SCTP-port对SCTP连接SCTP流(单向)PDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP快照:SCTP基本术语(四)概念四:TSN和SSN(传输顺序号和流顺序号)TSN(Tranmission Sequence Number),传输顺序号,在SCTP一个连接的一端为本端发送的每个数据块顺序分配一个基于初始TSN(连接建立时随机生成的)的32位顺序号,以便对端收到时进行确认。TSN是基于连接维护的SSN(Stream Sequence Number)流顺序号,在SCTP一个连接的每个输出流内,为本端在这个流中发送的每个数据块顺序分配一个16位顺序号,以

7、便保证流内的顺序传递。(TCP没有SSN,于是TCP相当于只有一个输出流的SCTP)。SSN是基于流维护的。PDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP快照:SCTP基本概念(四)续TSN和SSN的分配是相互独立的,举个例子来说,一个连接的端点A使用两个输出流和端点B相连。有数据块A,B,C,D要发送,发送顺序是这样的:A走流1,B走流2,C走流1,D走流2,而且D太长,被分成了两片(D1,D2)。那么这5个数据块的TSN和SSN分别是:数据 TSN SSNA 1 1B 2 1C 3 2D1 4 2D2 5 2PDF 文件使用 “pdfFactory Pro“ 试

8、用版本创建 SCTP快照:基本概念(五)概念五:CWND和RWNDCWND:拥塞窗口。SCTP也是一个滑动窗口协议,拥塞窗口是针对每个目的地址维护的,它会根据网络状况调节。当目的地址的发送未证实消息长度超过其CWND时,端点将停止向这个地址发送数据RWND: 接收窗口。RWND用来描述一个连接对端的接收缓冲区大小。连接建立过程中,双方会交换彼此的初始RWND。RWND会根据数据发送,证实的情况即时的变化。RWND的大小限制了SCTP可以发送的数据的大小。当RWND等于0时,SCTP还可以发送一个数据报,以便通过证实消息得知对方缓冲区的变化,直到达到CWND的限制PDF 文件使用 “pdfFac

9、tory Pro“ 试用版本创建 SCTP快照:SCTP协议基本功能(1)SCTP协议的基本功能如图连接的启动和关闭报文验证路径管理信息块捆绑证实和消除拥塞用户数据分片各流内的顺序传递SCTP用户应用PDF 文件使用 “pdfFactory Pro“ 试用版本创建 连接的启动和关闭报文验证路径管理信息块捆绑证实和消除拥塞用户数据分片各流内的顺序传递SCTP用户应用1.连接由SCTP用户发出的请求而发起2.可以应SCTP用户的请求慢关闭激活的连接和紧急关闭3.检测到故障时也会紧急关闭连接SCTP快照:SCTP协议基本功能(2)PDF 文件使用 “pdfFactory Pro“ 试用版本创建 连接

10、的启动和关闭报文验证路径管理信息块捆绑证实和消除拥塞用户数据分片各流内的顺序传递SCTP用户应用1.SCTP用户在连接建立时可以指定在连接内打开流的数目,这个数目要和远端进行协商2.用户数据报具体的流联系在一起(SEND和RECEIVE原语)。在SCTP内部为SCTP用户递交的每个用户数据报分配一个流顺序号,在接收端,SCTP确保在给定的流内把数据报顺序地传递到SCTP用户3.当一个流内因乱序或数据报丢失进行数据报等待时,其它流内的数据报可以顺序传递给SCTP用户而不受影响。SCTP快照:SCTP协议基本功能(3)PDF 文件使用 “pdfFactory Pro“ 试用版本创建 连接的启动和关

11、闭报文验证路径管理信息块捆绑证实和消除拥塞用户数据分片各流内的顺序传递SCTP用户应用SCTP快照:SCTP协议基本功能(4)1.在发送端,SCTP可以对大的用户数据报进行分片以确保SCTP数据报传递到低层时适合路径MTU2.在接收端,SCTP将分片重组为完整的用户数据报,然后传递给SCTP用户PDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP快照:SCTP协议基本功能(5)连接的启动和关闭报文验证路径管理信息块捆绑证实和消除拥塞用户数据分片各流内的顺序传递SCTP用户应用1.SCTP在将数据(数据分片或未分片的用户数据报)发送给底层之前顺序地为之分配一个发送顺序号(T

12、SN)2.正常情况下,数据接收端通过延迟证实机制证实数据块,特殊情况下使用立即证实3.接收端用选择证实块(SACK)证实所有收到的数据块,即使其中顺序上出现了缝隙4.SCTP采用极为类似TCP的机制来进行拥塞控制PDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP快照:SCTP协议基本功能(6)连接的启动和关闭报文验证路径管理信息块捆绑证实和消除拥塞用户数据分片各流内的顺序传递SCTP用户应用1.SCTP消息包由消息头和一个/多个信息块组成,信息块可以是用户数据,也可以是SCTP控制信息2.SCTP用户能够可选地使用捆绑功能,决定是否将多个用户数据报捆绑在一个SCTP消息

13、包中3.为提高效率,拥塞/重发时,即使用户已经禁止捆绑,捆绑功能可能仍被执行,PDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP快照:SCTP协议基本功能(7)连接的启动和关闭报文验证路径管理信息块捆绑证实和消除拥塞用户数据分片各流内的顺序传递SCTP用户应用1.SCTP消息包的通用包头包含一个验证标签和一个32位校验和。验证标签值由每端在连接建立过程中产生2.收到的消息包中如果没有期望的验证标签值,接收端将丢弃这个消息包,以阻止攻击和失效的SCTP消息包。3.如果校验和无效,则丢弃消息包,因为数据已经被破坏PDF 文件使用 “pdfFactory Pro“ 试用版本创

14、建 SCTP快照:SCTP协议基本功能(8)连接的启动和关闭报文验证路径管理信息块捆绑证实和消除拥塞用户数据分片各流内的顺序传递SCTP用户应用1.SCTP路径管理功能基于SCTP用户的指定和当前符合条件目的地址集合中各地址可达性的情况来为每个输出的用户数据报选择目的传输地址2.路径管理功能在业务流不能充分提供信息时通过心跳功能监视路径的可达性。如果远端传输地址可达性变化,SCTP要向用户进行通报3.路径管理功能在连接建立阶段负责向远端报告本端符合条件的传输地址集合,并把回应的远端传输地址报告给SCTP用户4.连接建立后,连接的两端都要指定一个首选路径,用于SCTP消息包的正常发送5.接收端的

15、路径管理功能负责验证消息包所属的连接是否存在,为消息包后续处理作准备PDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP快照:SCTP消息结构(1)SCTP的消息结构就是通用头(COMMON HEADER)加信息块(CHUNK)PDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP快照:SCTP消息结构(2)SCTP信息块类型:信息块标识值 信息块类型 信息块标识值 信息块类型0 DATA 12 ECNE1 INIT 13 CWR2 INIT ACK 14 SHUTDOWN COMPLETE3 SACK 1562 reserved for IETF4

16、HEARTBEAT 63 块扩展5 HEARTBEAT ACK 64126 reserved for IETF6 ABORT 127 块扩展7 SHUTDOWN 128190 reserved for IETF8 SHUTDOWN ACK 191 块扩展9 ERROR 192254 reserved for IETF10 COOKIE ECHO 255 块扩展11 COOKIE ACKPDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP快照:SCTP消息结构(3)注意信息块和数据报的区别和联系:数据报由通用头和一个或多个信息块组成:多个信息块放在一个数据报中传输实现了SC

17、TP的捆绑功能。有利于节省带宽。SCTP数据发送,接收,证实等所有的控制都是针对DATA信息块的,也就是说,TSN,SSN编号都是对信息块进行编号,而不是对数据报业务数据块(DATA CHUNK)的结构PDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP协议过程二、SCTP协议过程PDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP协议过程:连接建立过程(1)连接建立过程消息交互图示:INIT(Tag_A)T1-init INIT ACK(Tag_Z,连接信息Z)endpoint A endpoint ZT1-cookieCOOKIE ECHO(连接

18、信息Z)+DATACOOKIE ACK+DATA+SACK establishedestablished SACK红色字:可选的信息块T3-rtxPDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP协议过程:连接建立过程(2)连接建立过程状态迁移图示:四步握手:INITINIT-ACKCOOKIE-ECHOCOOKIE-ACKPDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP协议过程:连接建立过程(3)连接建立过程中的奥妙(一):连接建立的发起端,在连接建立过程中有3次状态迁移,两个中间状态(CLOSEDCOOKIE-WAITCOOKIE-ECHO

19、EDESTABISHED);而连接的接受端,只有一次状态迁移(CLOLSEDESTABLISHED)没有中间状态。连接发起端要在发起连接前生成一个TCB来放置连接相关的信息。而连接接受端在收到INIT消息后会生成一个临时TCB,并作为COOKIE的一部分放入INIT-ACK中发走,随后删除该TCB,即在连接建立完成前不为连接建立过程保持任何本端资源。可防止“ 拒绝服务” 攻击PDF 文件使用 “pdfFactory Pro“ 试用版本创建 拒绝服务攻击所谓拒绝服务攻击,就是利用一些系统TCP协议实现的漏洞,通过在连接建立的握手消息中的标识位设置不规范的值,使得服务器的这个连接的状态机长时间或永

20、久处在中间状态,从而使服务器的监听队列被这样的“ 连接” 占满,而无法为其他正常的连接服务。SCTP的连接接受端,在连接建立过程中,没有中间状态,也不分配资源,所以可以防止拒绝服务攻击。PDF 文件使用 “pdfFactory Pro“ 试用版本创建 SCTP协议过程:连接建立过程(4)连接建立过程中的奥妙(二):COOKIE机制:COOKIE由两部分组成。一部分就是连接接受端生成的临时TCB中的必要信息(包含COOKIE的生命周期,和时间戳),一部份就是上面这些内容和一个本端的密钥按照RFC2401的算法计算生成的一个32位的MAC摘要。COOKIE通过INIT-ACK发到对端,又会通过CO

21、OKIE-ECHO送回来,这时会进行COOKIE验证,包括进行MAC摘要的验证和生命期的验证。通过后方认为是有效的COOKIE,其中的连接信息将被作为接受端TCB的主要部分。可防止IP地址化装攻击PDF 文件使用 “pdfFactory Pro“ 试用版本创建 IP地址化装攻击所谓IP地址化装攻击,就是一个恶意攻击者A通过冒充一个合法的客户端B的IP地址而和服务器C建立连接。因为TCP的连接过程中没有设置任何的信息加密和校验,所以A无须收到任何C发给B的消息就可以完成和C的连接建立过程。SCTP由于使用了COOKIE机制,服务器使用本端密钥和COOKIE一起生成了MAC摘要。有了信息加密机制。假设A冒充B向C发了一个INIT消息,C就会向B回一个INIT-ACK,里面就有COOKIE和摘要。如果A和B不在一个局域网里,则无法截获这个消息。由于A不知道C的本端密钥,则无法生成出一样的MAC摘要。那么A如果试图发COOKIE-ECHO消息去继续这个过程,则将通不过C的校验而失败。因此SCTP可以防止IP地址化装攻击PDF 文件使用 “pdfFactory Pro“ 试用版本创建

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报