51学通信技术论坛

 找回密码
 立即注册
搜索
查看: 5086|回复: 2
打印 上一主题 下一主题

[一问一答] 为什么EPC中的S1和S6a等接口的传输层协议采用SCTP而不是TCP或UDP? [复制链接]

Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2013-2-3 21:09:08 |只看该作者 |倒序浏览
一键分享 一键分享

3GPP工作组一直在讨论哪一种协议可以适合E-UTRAN控制平面,来支持网络节点间的信令交换。在这些候选协议中,由于UDP不够可靠,因此很快就被排除在候选范围之外。从高层协议的角度来看,SCTP和TCP非常类似,因为它们都支持可靠的、有序的数据传输,并对常规的网络数据流进行拥塞控制。它们的区别在于SCTP具有如下优点:

1)多流特征;(在一个SCTP消息封装中,可以同时携带多个不同的上层数据,称之为Chunk)

2) SCTP是面向消息并支持消息成帧方式的,而TCP是面向字符流的,且没有预留数据结构。在SCTP中,消息是整体传输的(假定没有达到最大长度),这样能够提高传输效率。

3) SCTP的防止拒绝服务攻击等保护措施对TCP来说是无效的,比如“SYN flood”攻击。

SYN flood攻击是一种特殊的攻击,它可以使得接收到用于预留资源和存储的连接请求信息的TCP节点不能完全正确地进行初始化建立。为了克服这个问题,SCTP充分利用了“cookie”机制。实际资源分配是在发起者成功应答正确的cookie后才执行的。

图1阐明了SCTP初始建立的4个步骤。

一旦接受到INIT消息,接收者生成一个“a” “B”cookie,并且向消息发起者发送INIT ACK消息。同时,发起者必须应答一个包含相同cookie的COOKIE ECHO消息。接收者一旦接收到COOKIE ECHO后就为连接预留资源。最后,发起者返回COOKIE ACK消息。

通过使用这种cookie方式可以防止资源攻击。原则上说,接收者接收到INIT消息后要快速的创建一个cookie,这样当它再次接收到COOKIEE-CHO后就能判定这个cookie是不是自己先前生成图1 SCTP建立步骤的。

这项保护措施用于接收实体(图中的B)没有预留资源或是正在INIT同步的情况。只有当收到有效的COOKIEECHO后才能激活资源。当然,这种情况的前提是攻击发起者没有处理应答,这通常是拒绝服务攻击的情况。

SCTP没有完全给出cookie的结构,但是可能要包括一个时间戳来指示生存期。

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册
51学通信(www.51xuetongxin.com):致力打造最好的通信技术在线学习平台 。

Rank: 2Rank: 2

沙发
发表于 2013-5-20 17:25:51 |只看该作者
学习了~~

使用道具 举报

Rank: 2Rank: 2

板凳
发表于 2014-4-7 20:06:34 |只看该作者
还是爱总专业!

使用道具 举报

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

站长邮箱|Archiver|51学通信 ( 粤ICP备11025688 )

GMT+8, 2024-4-28 03:22 , Processed in 0.061447 second(s), 14 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部