sctp传输层协议.docx
- 文档编号:23204622
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:7
- 大小:19.21KB
sctp传输层协议.docx
《sctp传输层协议.docx》由会员分享,可在线阅读,更多相关《sctp传输层协议.docx(7页珍藏版)》请在冰豆网上搜索。
sctp传输层协议
竭诚为您提供优质文档/双击可除
sctp传输层协议
篇一:
tcp与sctp—cmt分析及在无线网络应用比较
XX.cn
tcp与sctp—cmt分析及在无线网络应用比较
作者:
翁慧敏黄明和汪浩许长桥刘凯
来源:
《电脑知识与技术》20xx年第27期
摘要:
tcp协议与sctp协议同属于传输层协议,都可以提供可靠的数据传输服务。
sctp-cmt是在sctp协议的基础上提出的并行多路径传输机制,可以同时利用多条路径进行数据传输以提高链路的利用率,该文对tcp和sctp-cmt的基本特性进行了简述。
为比较tcp与sctp-cmt在具有多种接入方式的无线网络中的传输性能,该文以车载网络环境为例,并在ns2仿真工具下对tcp与sctp-cmt在车载网络环境中的传输效率进行仿真比较,仿真结果显示,sctp-cmt的传输性能始终高于tcp。
关键词:
tcp协议;sctp协议;并行多路径传输;无线网络;车载网络
中图分类号:
tp393文献标识码:
a文章编号:
1009-3044(20xx)27-6091-03
当前网络中广泛使用的传输层协议是tcp和udp协议,tcp与udp的显著区别是tcp可以提供可靠的数据传输服务,这使它在网络应用中有着杰出的贡献,然而随着网络技术的提高,tcp的局限性也越来越明显。
sctp协议(流控制传输协议)是2000年提出的新一代传输层协议,它具有与传统tcp和udp协议不同的多宿性和多流性,不仅可以提供可靠的数据传输服务还具有选择性重传、无序递交等特性[1]。
为充分利用每条路径资源以提高网络传输速率,iyengar博士等人在sctp基础上提出了并行多路径传输(concurrentmultipathtransfer)机制,在近年来受到了更多的关注,并已逐渐成为研究的热点,该文对tcp及sctp-cmt的基本特性进行了介绍。
随着无线网络的发展以及接入方式的多样化,无线网络通信受到了越来越多的关注,尤其是具有多种接入方式的无线网络通信,而车载网络属于高速移动的无线网络,且随着汽车的日益普及,对车载网络的研究具有一定的意义,基于以上几点,该文以车载网络为例来研究tcp和sctp-cmt在具有多种接入方式的无线网络中的传输性能,并在ns2仿真平台上对tcp与sctp-cmt在车载网络环境中的性能进行了仿真分析比较。
1tcp
tcp协议(传输控制协议)是面向连接的、可靠的、基于字节流的传输层协议,当前网络中大多数的应用是使用tcp协议来进行数据传输的。
作为在ip网络中可靠的数据传输协议,tcp协议有着杰出的表现。
使用tcp协议进行传送的数据必须满足无重复、无差错和按序到达特点,正是因为tcp这些特性保证了数据传送的可靠性和健壮性;tcp协议的拥塞控制算法包括慢启动、拥塞避免、快速恢复和快速重传算法,在发生网络拥塞时拥塞控制算法能显著提高tcp的传输性能。
使用tcp协议进行通信的两个端点在通信之前需通过三次握手来建立
篇二:
03-sctp
目录
第3章sctp...........................................................................................................................3-1
3.1概述...................................................................................................................................3-1
3.1.1sctp概念...............................................................................................................3-1
3.1.2sctp功能...............................................................................................................3-2
3.1.3sctp在msoFtx3000中的应用...........................................................................3-3
3.2sctp消息.........................................................................................................................3-4
3.3消息流程............................................................................................................................3-5
第3章sctp
3.1概述
3.1.1sctp概念
sctp(streamcontroltransmissionprotocol,流控制传输协议)是提供基于不可靠传输业务的协议(如ip)之上的可靠的数据报传输协议。
sctp的设计用于通过ip网传输scn窄带信令消息。
sctp对tcp的缺陷进行了一些完善,使得信令传输具有更高的可靠性,sctp的设计包括适当的拥塞控制、防止泛滥和伪装攻击、更优的实时性能和多归属性支持。
sctp被视为一个传输层协议,它的上层作为sctp用户应用,下层为分组网络。
sctp协议具有如下特点:
基于用户消息包的传输协议;支持流内用户数据报的顺序或无序传递;可以在一个偶联中建立多个流,流之间数据的传输互不干涉;通过在偶联的一端或两端支持多归属,提高偶联的可靠性;偶联建立需经过cookie的认证,保证了偶联的安全性;实时的路径故障测试功能。
1.sctp术语
(1)传输地址
sctp传输地址就是一个ip地址加一个sctp端口号。
sctp端口号就是sctp用来识别同一地址上的用户,和tcp端口号是一个概念。
比如ip地址10.105.28.92和sctp端口号1024标识了一个传输地址,而10.105.28.93和1024则标识了另外一个传输地址,同样,10.105.28.92和端口号1023也标识了一个不同的传输地址。
(2)主机和端点
“主机”(host)就是一台计算机,配有一个或多个ip地址,是一个典型的物理实体。
“端点”(endpoint)是sctp的基本逻辑概念,是数据报的逻辑发送者和接收者,是一个典型的逻辑实体。
sctp协议规定两个端点之间能且仅能建立一条偶联,但一个主机上可以有很多端点。
(3)偶联和流
“偶联”(association)就是两个sctp端点通过sctp协议规定的4步握手机制建立起来的进行数据传递的逻辑联系或者说通道。
“流”(stream)是sctp协议的一个特色术语。
严格地说,“流”就是一条sctp偶联中,从一个端点到另一个端点的单向逻辑通道。
希望顺序传递的数据必须在一个流里面传输。
一个偶联中可以包含多个流。
(4)tsn和ssn
tsn(transmissionsequencenumber),传输顺序号。
在sctp一个偶联的一端为本端发送的每个数据块顺序分配一个基于初始tsn的32位顺序号,以便对端收到时进行确认。
tsn是基于偶联维护的。
ssn(streamsequencenumber)流顺序号,在sctp一个偶联的每个流内,为本端在这个流中发送的每个数据块顺序分配一个16位顺序号,以便保证流内的顺序传递。
ssn是基于流维护的。
tsn和ssn的分配是相互独立的
(5)其他
cwnd:
拥塞窗口。
sctp也是一个滑动窗口协议,拥塞窗口是针对每个目的地址维护的,它会根据网络状况调节。
当目的地址的发送未证实消息长度超过其cwnd时,端点将停止向这个地址发送数据。
Rwnd:
接收窗口。
Rwnd用来描述一个偶联对端的接收缓冲区大小。
偶联建立过程中,双方会交换彼此的初始Rwnd。
Rwnd会根据数据发送、证实的情况即时地变化。
Rwnd的大小限制了sctp可以发送的数据的大小。
当Rwnd等于0时,sctp还可以发送一个数据报,以便通过证实消息得知对方缓冲区的变化,直到达到cwnd的限制。
3.1.2sctp功能
sctp的功能主要包括连接的启动与关闭、流内顺序传递、用户数据分片、证实和消除拥塞、消息块捆绑、报文验证和路径管理等。
偶联的启动和关闭
sctp是面向偶联的传输协议,通常情况下,数据只有在建立了偶联的两个端点间才能进行传递(sctp允许偶联建立过程中的特定步骤传递数据)。
因此偶联建立和关闭是sctp提供其他服务的前提。
w
流内顺序传递
sctp提供数据报的顺序传递,顺序传递的数据报必需放在一个“流”中传递。
流是顺序传递的基石。
用户数据分片
sctp通过对传送路径上最大pmtu的检测,实现在sctp层,将超大用户数据分片打包,避免在ip层的多次分片,重组,可以减少路由器上ip层负担。
证实和避免拥塞
证实和重传是协议保证传输可靠性的有效手段,sctp也一样。
证实机制是sctp保证传输可靠性的基石。
拥塞避免沿袭了tcp的窗口机制,进行合适的流控。
块绑定
如果很短的用户数据被带上很大一个sctp消息头传递效率很低,可以将几个用户数据绑定在一个sctp报文里面传输,以提高带宽的利用率。
报文验证
报文验证是sctp提供无差错传输的基石。
sctp通过对用户数据使用adleR-32算法,计算出一个32位的校验和,带在数据报中,在接收端进行同样的运算,通过检查校验和是否相等来验证用户数据是否遭到破坏。
路径管理
通过心跳,累计重传次数,sctp将目的地址,端点的可达性好好的管理了起来。
从上面的叙述中,我们可以看到sctp相对于tcp的几个不同:
(1)tcp基于字符流传输,上层必须有自己的定界机制。
sctp基于数据报
传输。
无需上层定界。
(2)sctp支持多ip地址配置。
(3)sctp提出了流的概念,在流内进行顺序传递。
3.1.3sctp在msoFtx3000中的应用
sctp为传输层协议,在msoFtx3000中的应用如图3-1所示。
图3-1sctp在msoFtx3000中的应用
在msoFtx3000系统,sctp下层是ip网,上层用户包括:
在sigtRan协议栈,为scn信令的适配模块m3ua在bicc协议栈,为bicc应用协议在h.248协议栈,为h.248应用协议
3.2sctp消息
sctp消息封装在ip包的用户数据字段,表3-1列出了主要的消息类型。
表3-1sctp消息
篇三:
stcpclient与server简单通信实验报告
实验四:
实现sctpclient/server之间数据传输
一.实验要求与目的
实现client和server建立关联。
通过client和server建立关联便于更好的了解sctp协议。
实现client和server之间数据传输。
实现数据传输也就是实现client和server之间的通信,通过编写程序实现通信可以更好地了解sctpserver和client通信四次握手的过程。
二.实验原理
sctp(stReamcontRoltRansmissionpRotocol流控制传输协议)是ietF新定义的一个传输层transportlayer协议(2000年)。
是提供基于不可靠传输业务的协议之上的可靠的数据报传输协议。
sctp的设计用于通过ip网传输scn窄带信令消息。
流控制传输协(streamcontroltransmissionprotocol,sctp)是一种可靠的传输协议,它在两个端点之间提供稳定、有序的数据传递服务,并且可以保护数据消息边界。
然而,与tcp和udp不同,sctp是通过多宿主(multi-homing)和多流(multi-streaming)功能提供这些收益的,这两种功能均可提高可用性sctp实际上是一个面向连接的协议,但sctp偶联的概念要比tcp的连接具有更广的概念,sctp对tcp的缺陷进行了一些完善,使得信令传输具有更高的可靠性,sctp的设计包括适当的拥塞控制、防止泛滥和伪装攻击、更优的实时性能和多归属性支持。
sctp提供如下服务:
*确认用户数据的无错误和无复制传输;
*数据分段以符合发现路径最大传输单元的大小;
*在多数据流中用户信息的有序发送,带有一个选项,用户信息可以按到达顺序发送;
*选择性的将多个用户信息绑定到单个sctp包;
*通过关联的一个终端或两个终端多重宿主支持来为网络故障规定容度。
sctp是在ip网络上使用的一种可靠的通用传输层协议。
internet协议套件被划分成几(sctp传输层协议)层;每层都提供特定功能,如图1所示。
图1ip堆栈的层次化结构
sctp中对新连接的初始化是通过报文握手来完成的。
sctp
中,这种机制称为四次握手。
如图2所示:
图2sctp握手使用的报文交换
sctp是基于连接的协议,它需要在对等的两端建立和拆除连接。
sctp
连接结束序列如图3所示:
图3sctp连接结束序列
三.程序实现
程序实现的流程图如图4所示:
serverclient
图4代码实现流程图
具体代码实现如下:
server首先创建服务器的套接字。
然后创建一个sockaddr结构,指定这个连接可以从任何本地接口上创建(使用通配符地址inaddR_any)。
使用
bind调用将这个sockaddr结构绑定到socket上,然后将服务器套接字设置成监听状态。
现在就可以接收到达的连接了。
在从accept函数返回时,会使用connsocksocket标识新客户机的连接。
采用message2和message2数组来存储字符串。
使用sctp_sendmsg函数,将这个字符串发送给client。
在client中,首先创建了一个sctp套接字,然后创建了一个sockaddr结构,其中包含了将要连接的端点。
connect函数然后建立一个到服务器的连接。
要获取消息的流编号,sctp需要启用套接字选项sctp_data_io_event。
通过启
用这个选项,就可以通过sctp_recvmsg函数接收一条消息.
四.实验结果
本次实验所得结果如图5所示:
在linux终端下运行c代码,先运行sctpsrvr.c程序,可以看到终端显示”waitingforanewclientconnection...”,然后在在ubuntu下新开启一个终端,运行sctpclnt.c程序,则server端显示连接成功,并发送数据给client,client端显示server所发送的数据。
图5sctp协议下server和client通信程序结果显示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sctp 传输 协议
![提示](https://static.bdocx.com/images/bang_tan.gif)