让“可靠”变得“更快更安全”的数据传输协议:SCTP

原创 中兴文档 2023-12-28 10:41

粉丝点名要看的文章,这就来咯!

在《灵魂拷问:TCP&UDP彻底搞懂了吗?》里,文档君和大家一起学习到了TCP和UDP这2种协议的区别和工作原理。

TCP和UDP的优点和缺点都很明显,总之是:各有千秋、旗鼓相当、难分轩轾、互有短长

聪明的粉丝是善于思考和发问的:有没有一种协议,可以将TCP和UDP的优点集于一身?

来吧,今天文档君就和大家一起了解一下SCTP,解答各位粉丝的疑问吧!


Part1
什么是SCTP?


SCTP(Stream Control Transmission Protocol,流控传输协议)的出现,并不是万丈高楼平地起,而是站在TCP这个巨人肩膀上,让数据传输从“可靠”变得“更快更安全”。


假设有2个主机(Host)之间想要通过IP通信,SCTP在TCP的基础上,进行了下面的一系列改造:


端点
端点位于主机上,是一个逻辑实体。简单来说,2个主机之间进行数据传输的话,端点可以看作是“起点”和“终点”。
1个主机可以有多个IP地址和多个开放端口,IP地址+端口号的组合,称为传送地址。
一个传送地址,例如:100.100.10.1:1000,可以唯一标识一个端点。一个端点,可以拥有多个不同的传送地址。例如:端点A可以使用的传送地址包括100.100.10.1:1000、100.100.10.2:1000、100.100.10.1:1001。端点B可以使用的传送地址包括200.200.20.1:2000、200.200.20.2:2000。那么端点A可以使用传送地址100.100.10.1:1000、100.100.10.2:1000,与端点B进行数据传输。
细心的粉丝应该也发现了,对于同1个目的端点,起始端点的多个传送地址之间,端口号可以相同,IP地址必须不相同。
如果将网络世界比作是海洋,主机可以看做是港口,端点就是港口中专营数据进出口的商家,传送地址就是港口中的一个个码头,海量的数据通过码头完成了装载出发和到达卸载。
偶联(Association)
2个端点之间,通过四步握手机制建立的逻辑联系或者通道,叫做偶联。
SCTP规定:在任何时刻的2个端点之间,最多只能建立1个偶联。
港口A中的本端端点(商家A),要想与港口B中的对端端点(商家B)进行数据传输,必须握手四次,成功达成共识,相当于签订了一个进行数据传输的合同。
只有成功建立偶联(签订合同)后,2个端点之间才可以进行数据的传输。

流(Stream)

流是SCTP协议中的一个特殊术语,主要用来指明数据的序列:1个流中包含了多个消息,而且消息之间是有先后顺序的。

在1个偶联中,包含了多个流,每个流,都是从1个端点到另外1个端点的单向逻辑通道。

每个流都有自己专属的流ID,不同流之间是相互独立的,每个流可以单独发送数据而不受其他流的影响。

数据是如何从一个码头传输到另外一个码头的?

TCP和SCTP各有自己的方式:SCTP采用了流,流中的数据是以为基本单位;TCP采用了包,包中的数据以字节为基本单位。

相当于TCP在传输数据的时候,一艘货船上只装载1件货物。而STCP在传输数据的时候,将多件货物打包成集装箱,一艘货船上可以装载N多个集装箱,而且集装箱之间是有编号的,是顺序排列的。

通路(Path)
通路是在一个偶联中,数据在传输过程中所经过的路径。这个路径,是可以多条的。通路的数量,取决于一个偶联中的起始端点、目的端点中使用的传送地址的数量。
简单来说,本端端点(商家A)拥有2个码头,对端端点(商家B)也拥有2个码头,那数据要装船启航,就有4条不同的航线可以选择。
  • Path0:本端传送地址1(100.100.10.1:1000)发送SCTP分组到对端传送地 址1(200.200.20.1:2000)。
  • Path1:本端传送地址2(100.100.10.2:1000)发送SCTP分组到对端传送地 址1(200.200.20.1:2000)。
  • Path2:本端传送地址1(100.100.10.1:1000)发送SCTP分组到对端传送地 址2(200.200.20.2:2000)。
  • Path3:本端传送地址2(100.100.10.2:1000)发送SCTP分组到对端传送地 址2(200.200.20.2:2000)。
一般情况下,两个端点之间会选择一条航线,作为首选通路。一旦首选通路出现故障,SCTP可以将航线自动切换到其他备用的通路上。

Part2
SCTP如何加快数据传输?


在上述改进的基础上,SCTP的数据传输效率有了飞跃。
SCTP的基本工作步骤如下:
  1. 建立偶联:握手四次,成功达成共识。
  2. 打开数据流:在建立偶联后,发送OPEN消息来打开1个新的数据流。OPEN消息中包含了流的ID、优先级和其他参数。
  3. 发送数据:一旦数据流打开,就可以在这个流上发送数据,通过发送USER消息来完成。USER消息中包含了流ID和要发送的数据。
  4. 关闭数据流:数据都已经传输完毕,发送1个CLOSE消息来关闭数据流。CLOSE消息中包含了流ID和其他参数。
  5. 关闭偶联:发送1个SHUTDOWN消息来关闭偶联。SHUTDOWN消息中包含了关闭连接的原因和其他参数。
在发送数据的环节上,SCTP拥有一些独特的办法:
  • 首先,SCTP是面向消息的传输,将上层应用传递下来的用户数据以消息的形式传输,SCTP提供消息的拆分、绑定、重组功能。
    在传输侧,将用户数据装入一个集装箱,这个集装箱叫做SCTP分组。
    每个SCTP分组包括一个公共头和多个块,块分为控制块和数据块,控制块用于SCTP的连接控制,包括连接的建立、关闭、传输路径的维护等;数据块包含了应用层的用户数据。

  • 且如果某个用户数据的长度很短,装在一个集装箱内会很浪费空间。SCTP可以将多个用户数据绑定在一起,装在同一个集装箱的数据块中,大大提高了利用率。
    在接收侧,SCTP将一个集装箱的内用户数据,重新组装成完整的用户数据,传递给上层应用。
  • 其次,SCTP支持多路复用,即允许在1个偶联中发送多个流。每个流,都是一艘艘装载满数据的货船,每个货船都有自己独特的ID,相互之间互不影响。


Part3
SCTP如何让数据传输更安全?


SCTP在以下几个方面,对数据传输的安全性、稳定性进行了有效的保障。
只是因为建立连接时,多握了一次手
SCTP的四次握手流程如下:
  1. 本端端点(商家A)发送INIT消息到对端端点(商家B),向对端端点(商家B)通知本端端点(商家A)的接收窗口大小、地址列表、初始标记及发送的第一个DATA包的发送序号。
  2. 对端端点(商家B)收到INIT消息后,回送INIT ACK消息给本端端点。INIT ACK消息中除了携带着与INIT消息相同的自己的连接信息外,还携带有状态的COOKIE信息。
  3. 本端端点(商家A)收到INIT ACK消息后。利用消息中的STATE COOKIE生成COOKIE ECHO消息,将COOKIE ECHO消息发到对端端点(商家B),告诉对端端点(商家B)已收到消息。
  4. 对端端点(商家B)在收到合法的COOKIE ECHO后,开始进行创建连接TCB(传输控制块)和申请资源的工作,发送COOKIE ACK消息给本端端点,并进入ESTABLISH状态。对端端点(商家B)在收到COOKIE ACK后,状态变为ESTABLISH,至此完成连接建立工作。
与TCP的三次握手流程对比,SCTP在第2步和第3步中使用了COOKIE ECHO和INIT ACK消息,这2个消息都包含了对端端点(商家B)的参数信息和Cookie值。
这些参数信息和Cookie值用于验证对端端点(商家B)的身份,保证连接的安全性。
还因为在传输数据时,多了身份的认证。
SCTP提供了无差错的传输服务,靠的是在集装箱公共分组头里面,包含了一个验证标签(VerificATIon Tag)和一个可选的32位校验码(Checksum)。
  • 验证标签的值,在建立偶联(签订合同)时,由本端端点(商家A)和对端端点(商家B)共同设置的。
    如果收到的集装箱公共分组头中如果没有期望的验证标签值,对端端点(商家B)会认为这个集装箱是危险的或者无效的,将丢弃这个集装箱。
  • 集装箱中的校验码,是通过ADLER-32算法在数据块的基础上计算出来的32位字符串。本端端点(商家A)把计算后的校验码放在集装箱中,是为了给数据块的一个额外保护,用来避免由网络造成的数据差错。
    对端端点(商家B)收到集装箱,也通过ADLER-32算法在数据块基础上计算出来1个校验码,如果和集装箱里已有的32位校验码一致,说明数据块是没有差错的。
    如果两个校验码不一致,说明数据块出错了,对端端点(商家B)也会丢弃这个集装箱。

也因为在通路空闲时,多了心跳的检测。

SCTP通过心跳检测功能,定期检查连接的健康状况,从而及时发现和修复连接问题。

当某条通路空闲时,本端端点(商家A)会要求SCTP生成相应的心跳消息,并通过该通路发送到对端端点(商家B),而对端端点(商家B)必须立即发回对应的心跳确认消息。

通过这样的方式,SCTP精确测量回路时延RTT(Round Trip Time),达到监控偶联的可用情况和保持SCTP 偶联的激活状态的目的。


Part4
SCTP的发展趋势如何?


前面讲过,SCTP是在TCP的基础上进行了一些改进。

这是因为TCP在处理多媒体应用时,存在拥塞控制问题和可靠传输问题。

所以早在1990年代中期,人们就开始研究SCTP协议,并先后发布了多个版本。

每个新版本,都是对前一个版本的改进,并在2000 年成为 RFC 2960,相关的RFC 3286是介绍性的文档、RFC 4960(2007)是RFC 2960的替代协议。

为了适应不断发展变化的网络标准,SCTP也在不断进化,比如:增加了端到端的认证功能、改进了心跳机制,优化了调度算法。

TCP/UDP有其先发优势,已经广泛应用在网络的各种场景中。

SCTP作为后来者,目前的应用范围有限,却也在越来越多的场景中得到应用,比如:多媒体会议、视频会议。


Part5
今天大家学到了什么?


文档君为大家总结了一下,你学会了吗?

  • 站在TCP的肩膀上,SCTP有一些自己的特点,比如:端点、偶联、流、通路。
  • 消息传输、多路复用,让数据传输更加有效率。
  • 多一次握手,验证标签和验证码,检测心跳,SCTP就想给数据一些稳稳的安全感。
  • 一项技术都是早早出现、慢慢改进、逐步应用,需要经过时间的检验。
好的,粉丝的要求,文档君已经帮忙满足啦~
那么,各位粉丝,还有需要想了解的科普知识,欢迎留言。

想第一时间收到我们的更新吗?

只需两步,为文档君加上“爱你一万年”星标⭐!

没有星标,你爱的文档君就要跟你失联啦~

我们是一群平均从业年限5+的通信专业工程师。
关注我们,带你了解通信世界的精彩!

中兴文档 通俗易懂且高颜值的通讯技术文档!
评论
  • 从简单的照明工具到会说话的艺术品。认知总是不断地被刷新、升级。曾经,汽车内部的按键灯、内饰灯仿佛一盏盏小夜灯,那些光点,虽不起眼,却总能在黑夜中给予驾驶员和乘客陪伴和指引。但时代在变,人们对美好生活,包括车生活的追求也在升级。那些传统的光点,渐渐地,已经满足不了大众对驾驶体验的期待。让“上车”等于“回家”。至此,一场关于内饰照明的革命悄然兴起。1、从简单的照明工具到会说话的艺术品“内饰氛围灯的主要应用方向就是营造轻松舒适的氛围。”艾迈斯欧司朗高级系统方案工程师钟文帅还因此总结了内饰氛围灯的四大发
    艾迈斯欧司朗 2024-12-30 15:55 104浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球CAN-Bus总线电缆产值达到2287百万美元,2024-2030年期间年复合增长率CAGR为3.6%。一、行业概述CAN-Bus总线电缆是一种专门用于CAN总线(Controller Area Network,控制器局域网络)通信系统中的电缆。CAN总线是一种广泛应用于汽车、工业自动化、机器人等领域的串行通信协议,主要用于微控制器和设备之间的数据交换。CAN-Bus电缆负责在多个设备间传输数据,保证信息的稳定传输和
    GIRtina 2024-12-31 11:00 100浏览
  •  随着电子技术的进步,电路中的隔离需求日益增加。晶体管光耦作为一种非接触式信号传输器件,因其独特的隔离特性和可靠性,成为了现代电子设备和工业控制中不可或缺的元件。本文将带您深入了解晶体管光耦的结构、工作原理和核心特点。晶体管光耦的基本结构晶体管光耦,通常由两个主要部分组成:发光二极管(LED)和光敏晶体管。其物理结构简单却极具创新性:发光二极管(LED):电流通过时,LED会发出红外光。光敏晶体管:接收来自LED的红外光信号,从而引导电流在输出端导通。这种结构的最大特点在于输入与输出端
    晶台光耦 2024-12-30 16:15 103浏览
  •         在之前的文章中,我们介绍了IEEE 802.3cz[1]协议,MultiGABSE-AU物理层中XMII、PCS子层以及两个可选功能的相关内容,本篇将介绍MultiGABSE-AU物理层PMA子层及PMD子层的相关机制。PMA子层        PMA子层位于PCS子层和PMD子层之间,规范中定义了PMA子层的三个功能:PMA Transmit、PMA Receive及PHY Control。&nbs
    经纬恒润 2024-12-30 18:16 96浏览
  • 2024年12月30日 调研咨询机构环洋市场咨询出版的《全球CPU渲染行业总体规模、主要厂商及IPO上市调研报告,2024-2030》主要调研全球CPU渲染总体规模、主要地区及国家的市场规模、主要企业规模和份额、主要细分市场规模、下游主要应用规模以及未来发展前景预测。统计维度包括收入、市场份额以及增速。同时也重点分析全球市场主要厂商(品牌)包括企业简介、总部、产地、CPU渲染产品介绍、规格/型号、收入、毛利率及市场份额、最新发展动态、优势与不足。历史数据为2019至2023年,预测数据为2024
    GIRtina 2024-12-30 16:36 127浏览
  • 高精度,抗干扰,设计灵活……一句话总结:打铁还需自身硬!2040年,人形机器人的数量或将超过人类,达到100亿个。 10月29日,沙特投资倡议论坛,在谈及AI和人形机器人赛道时,马斯克再一次大胆预测,描绘出上述令人震撼的未来景象,且预估每台机器人的价格将稳定在2万-2.5万美元之间。当下,技术飞速发展,众多机器人公司如雨后春笋般涌现。余建华,艾迈斯欧司朗资深应用工程师,深感对这个市场的期待,他表示每一个机器人关节的背后,都离不开位置传感器的精准掌控。这片市场的潜力,让人憧憬不已。在工业及消费中
    艾迈斯欧司朗 2024-12-30 17:25 52浏览
  • 本文介绍Linux系统查看硬件配置及常用调试命令,方便开发者快速了解开发板硬件信息及进行相关调试。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。查看DDR获取内存信息下面数字以MB为单位。root@ido:/# free -mtotalused free shared buff/cache availableMem:
    Industio_触觉智能 2024-12-31 10:01 66浏览
  • 在当今数字化时代,嵌入式系统无处不在,从我们手中的智能手机、智能手表,到汽车中的电子控制系统、工业自动化设备,嵌入式开发技术的发展历程宛如一部波澜壮阔的科技史诗,深刻地改变了我们的生活和社会的运作方式。萌芽阶段(20 世纪 60 - 70 年代)嵌入式开发的起源可以追溯到 20 世纪 60 年代。当时,计算机技术刚刚兴起,体积庞大且价格昂贵。为了满足特定设备的控制需求,工程师们开始尝试将计算机技术应用于一些专用系统中。这一时期,嵌入式系统的概念逐渐萌芽。1965 年,美国数字设备公司(DEC)推
    Jeffreyzhang123 2024-12-31 10:08 117浏览
  • 感光百科:4000万片出货量背后的“技术经”目前,仅单点dToF,艾迈斯欧司朗的累积出货量就已超过了4000万片。大量采用的背后必然代表无数用户对这一技术的认可和信赖。究竟是什么魔力,让dToF传感器拥有如此强大的吸引力?又是怎样的know-how积累让艾迈斯欧司朗的dToF产品如此受到青睐?让我们再次回到底层原理来探究dToF 4000万片出货量背后的“技术经”。01、底层原理决定应用上限dToF传感器,顾名思义,直接飞行时间测量,基于光速不变,测量光子从发射端到接收端的光程差,从而直接计算二
    艾迈斯欧司朗 2024-12-30 18:21 87浏览
  • 近日,紫光展锐正式推出高性能4G 智能穿戴平台W377E。该产品面向不同的应用场景,拥有丰富特性和超低功耗,进一步壮大紫光展锐的智能穿戴产品组合。紫光展锐面向中高端和海量的智能穿戴市场,持续提供技术先进、高效安全、高质可靠的解决方案。 紫光展锐W377E采用四核A53架构,支持13M摄像头,video 1080P 30fps,集成了Wi-Fi、蓝牙和GPS功能。W377E搭载Android 8.1系统,提供更加丰富多样的APP体验,支持在线好友聊天、支付宝等功能,且支持64位系统的AP
    紫光展锐 2024-12-31 16:26 111浏览
  • “新时代,共享未来”2024年11月5日-10日,第七届中国国际进口博览会在上海圆满落幕。其中,3万平方米的汽车展区展览面积,也让观众笑谈进博会再次进入“车展”时间。全球15大整车品牌,40多家企业参展,其中不乏耳熟能详,七届进博会“全勤生”的国际知名OEM,也会有首次参加的“新面孔”,它们共同构成了今年汽车展区的“全家福”。近年来,中国汽车进口均超百万辆。因此,对跨国车企来说,中国市场的重要性不言而喻。同时,在电动化和智能化赛道中弯道超车的中国汽车市场,也是全球汽车行业竞争最为激烈的市场,在这
    艾迈斯欧司朗 2024-12-30 17:05 55浏览
  • 产品概述MG600Q2YMS3 是一款基于硅基碳化物(SiC)技术的高功率N沟道MOSFET模块,适用于高功率开关和电机控制应用,如轨道牵引系统。其设计旨在满足高效能和快速切换需求,为工业和能源领域提供可靠解决方案。主要特性1. 高电压和电流能力   耐压 (VDSS):1200 V   漏极电流 (ID):600 A2. 高效率与低损耗   碳化硅材料降低导通损耗和开关损耗,实现更高的转换效率。3. 快速切换性能 支持高频操作,适用于
    东芝铠侠代理 2024-12-31 10:33 71浏览
  • 时源芯微EMC(电磁兼容)领域,充斥着众多专业术语,令人眼花缭乱。1 电磁兼容(EMC)定义:指电气装置或系统在共同的电磁环境条件下,既能保持正常功能,又不会对周围环境产生不良影响。2  电磁环境Electromagnetic Environment定义:指存在于某一特定场所的所有电磁现象的总和。3半电波暗室Semi-anechoic Chamber定义:一种屏蔽室,除地面安装反射接地平板外,其余内表面均覆盖有吸波材料。4 远场Far Field定义:在天线辐射的场域中,功率密度与距离
    时源芯微 2024-12-31 10:52 105浏览
  • 先临三维普及化手持3D扫描仪Einstar搭载艾迈斯欧司朗SFH 4726AS红外LED,打造真彩扫描、人眼安全、超高性价比的照明解决方案;得益于双堆叠发射器技术和透明硅树脂封装,OSLON® Black系列的SFH 4726AS实现小尺寸、高功率、高效率和优化的热管理,有效减小散热设计的压力;采用3.75×3.75mm的透明硅树脂封装,内置1mm2堆叠红外芯片,单颗光功率可达2W以上,为手持扫描仪这样小巧空间的应用提供更多光源设计空间。全球领先的光学解决方案供应商艾迈斯欧司朗(瑞士证券交易所股
    艾迈斯欧司朗 2024-12-30 16:50 58浏览
  • 全球领先的光学解决方案供应商艾迈斯欧司朗(瑞士证券交易所股票代码:AMS)近日宣布,于2024年6月26-28日携汽车智能照明和智能座舱解决方案及相关产品和技术,亮相位于昆山市花桥国际博览中心的第十九届汽车灯具产业发展技术论坛暨上海国际汽车灯具展览会(以下简称:ALE),展示艾迈斯欧司朗优质的光发射器、光学元件、微型模组、传感器等产品在汽车领域的创新应用,展位号B馆T202。乘着车灯产业盛会的东风,全国汽车标准化技术委员会灯具及灯光分技术委员会秘书长卜伟理, 蔚来汽车内外车灯团队专家及电气工程副
    艾迈斯欧司朗 2024-12-30 16:55 68浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦