学习
实践
活动
专区
工具
TVP
写文章

sctp介绍「建议收藏」

SCTP实际上是一个面向连接的协议,但SCTP偶联的概念要比TCP的连接具有更广的概念,SCTP对TCP的缺陷进行了一些完善,使得信令传输具有更高的可靠性,SCTP的设计包括适当的拥塞控制、防止泛滥和伪装攻击 HUAWEI GT800 GTSOFTX3000第四章对SCTP协议介绍:SCTP协议   SCTP最初是被设计用于在IP上传输电话(SS7),把SS7信令网络的一些可靠特性引入IP。 首先SCTP和TCP之间的最大区别是SCTP的连接可以是多宿主连接的,TCP则一般是单地址连接的。 SCTP 联合与流之间的关系   每个流都给定了一个流编号,它被编码到 SCTP 报文中,通过联合在网络上传送。 要获取消息的流编号,SCTP需要启用套接字选项sctp_data_io_event。

1.3K20
  • 广告
    关闭

    有奖征文丨玩转 Cloud Studio

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    sockets: SCTP「建议收藏」

    SCTP的流是关联内部具有先后顺序的消息队列。 SCTP的多流特性可以减少头端阻塞,同一个流中的数据会延缓,不影响其他流。 SCTP的函数是第三方库函数,不在内核中。 sctp需要安装: sudo apt-get install libsctp-dev libsctp1 lksctp-tools 编译sctp程序需要链接sctp库: -lsctp sctp有两种接口形式 ) protocol:(传输层协议) 0:tcp和udp,一般用这个,表示默认值 IPPROTO_SCTP: sctp用这个。 int sctp_peeloff(int sockfd, sctp_assoc_t id//带抽取的关联标识ID ); 从一到多式的套接字中抽取一个关联(类似于accept) SCTP和TCP/UDP ———————————————————– SCTP的通知: 默认除了sctp_data_io_event以外的事件都是禁止的,sctp_data_io_event导致每次读入用户数据都收到一个sctp_sndrcvinfo

    28610

    网络协议之:sctp流控制传输协议

    sctp的特点 既然TCP还有诸多的缺点,那么新的SCTP协议又有什么特点呢? SCTP主要有两大特点,第一个特点就是Message-based,也就是说SCTP是面向消息的。 当这些数据需要在IP中进行传输的时候,SCTP会将这些数据包打包成为SCTP packets,每个SCTP packet,都包含一个packet header,如果需要的话还可以包含控制块,最后跟着的是数据块 对于SCTP包来说,一个SCTP包中可以包含多个data chunks,不同的data chunks可以包含不同用户的不同消息,因为SCTP包已经对不同的消息进行了区分,所以对于服务器端的读取来说就相对容易很多 在SCTP中一个节点可以绑定多个IP地址。 SCTP节点将会根据收到的远程节点的心跳返回值来确认具体的访问信息。 SCTP是一个非常优秀的协议。对于常用的操作系统而言,在特定的版本也提供了对SCTP的支持。比如在linux中,内核2.4版本之上都支持SCTP协议。

    22430

    解决iptables nat sctp协议无效的问题

    环境组网如下: A----->B-----C IP如下: A:1.1.1.1 B:1.1.1.2; 2.2.2.1 C:2.2.2.2 需求为,A 需要使用sctp连通C 在B机器上添加iptables 规则为: iptables -t nat -I PREROUTING -d 1.1.1.2 -p sctp --dport 11111 -j DNAT --to-destination 2.2.2.2 ),仅将上述规则中的sctp改为tcp进行tcp的连通测试 iptables -t nat -I PREROUTING -d 1.1.1.1 -p tcp --dport 11111 -j DNAT - 因为tcpdump抓包解包并不需要系统支持特定的协议,怀疑可能是iptables规则因为某种原因没有生效,借助google发现了解决办法:iptables-nat-not-work-for-sctp 载入 nf_conntrack_proto_sctp即可,该模块用来对sctp进行连接跟踪 # modprobe nf_conntrack_proto_sctp 连接跟踪模块可以参见:nf_conntrack

    1.1K20

    网络协议之:sctp流控制传输协议

    sctp的特点 既然TCP还有诸多的缺点,那么新的SCTP协议又有什么特点呢? SCTP主要有两大特点,第一个特点就是Message-based,也就是说SCTP是面向消息的。 当这些数据需要在IP中进行传输的时候,SCTP会将这些数据包打包成为SCTP packets,每个SCTP packet,都包含一个packet header,如果需要的话还可以包含控制块,最后跟着的是数据块 对于SCTP包来说,一个SCTP包中可以包含多个data chunks,不同的data chunks可以包含不同用户的不同消息,因为SCTP包已经对不同的消息进行了区分,所以对于服务器端的读取来说就相对容易很多 在SCTP中一个节点可以绑定多个IP地址。 SCTP节点将会根据收到的远程节点的心跳返回值来确认具体的访问信息。 SCTP是一个非常优秀的协议。对于常用的操作系统而言,在特定的版本也提供了对SCTP的支持。比如在linux中,内核2.4版本之上都支持SCTP协议。

    51810

    京某东面试题

    8.2.2 SCTP协议是什么?如何使用SCTP 优化网络? SCTP(Stream Control Transmission Protocol)是一种新的传输层协议,与TCP和UDP同层。 拥塞控制:SCTP使用拥塞窗口与拥塞避免算法来控制网络拥塞,与TCP类似。 防止盲攻击:SCTP在连接初始化时使用四路握手,并在通信过程中使用cookie来验证对端身份,以防止TCP的SYN攻击。 使用SCTP可以带来以下网络优化: 提高连接可靠性:SCTP的多homing特性允许在主服务器发生故障时快速切换到备用服务器,维持连接稳定。 增加带宽利用率:SCTP支持在一个连接内建立多路数据流,更高效地利用网络带宽。 减少连接建立次数:SCTP的多homing与多流特性允许在一个连接内传输更多数据,减少连接建立与关闭次数,降低延迟。 SCTP在实时通信与大数据网络环境中有较好的应用前景。

    16720

    Socket 面对的挑战?

    尽管SCTP 在协议级别集成了对多宿主的支持,但是不可能通过socket API 导出这种支持。最初提供了几个临时系统调用,这是访问这一功能的唯一方法。 下表列出了 SCTP 添加的API: sctp_bindx() 将 SCTP socket绑定或取消绑定到地址列表 sctp_connectx() 使用多个目标地址连接 SCTP socket sctp_generic_recvmsg () 从对等点接收数据 sctp_generic_sendmsg() 将数据发往对等点 sctp_getaddrlen() 返回地址族的地址长度 sctp_getassocid() 返回指定socket 地址的关联 ID ctp_getpaddrs()< 将地址列表返回给调用者 sctp_peeloff() 将关联从一对多套接字分离到单独的文件描述符 ctp_getpaddrs() 将地址列表返回给调用者 sctp_sendx() 从 SCTP 套接字发送消息 sctp_sendmsgx() 从 SCTP 套接字发送消息 虽然这个函数列表超过了API必需的数量,但需要注意的是,许多函数都是socket

    20720

    为什么新开发的可靠传输协议都是基于UDP协议?

    甚至于IETF在2000年新制定的SCTP协议标准,标准本身是基于IP协议的,当放到实际互联网来运行时,标准特意增加一个UDP的隧道封包协议,见IETF RFC UDP Encapsulation of SCTP Packets for End-Host to End-Host Communication。 报文头.png] 其中的8位协议字段,是用来表示IP报文承载的上层传输协议类型,当IP报文里面的内容是TCP报文时,这个值为6,当IP报文里面的内容是UDP报文时,这个值为17,当IP报文里面的内容是SCTP 前面说了,NAT网络设备是用来完成网络地址转换工作的,因此NAT设备必须要能够认识并理解对应的协议,不幸的是,大部分普通NAT设备只认识TCP和UDP这两种传输协议,就连IETF RFC标准规定好的SCTP 不认识就意味着,当你使用SCTP协议从一个内网向公网发送报文时,你的SCTP报文会被你的NAT网络设备丢弃,连接无法建立,通信无法进行。

    3.2K80

    网络协议 终章 - GTP 协议:复杂的移动网络

    SCTP 的第一个特点是多宿主。 SCTP 的第二个特点是将一个联合分成多个流。一个联合中的所有流都是独立的,但均与该联合相关。每个流都给定了一个流编号,它被编码到 SCTP 报文中,通过联合在网络上传送。 在 TCP 的机制中,由于强制顺序,导致前一个不到达,后一个就得等待,SCTP 的多个流不会相互阻塞。     SCTP 的第三个特点是四次握手,防止 SYN 攻击。 SCTP 可以通过四次握手引入 Cookie 的概念,来有效地防止这种攻击的产生。在 SCTP 中,客户机使用一个 INIT 报文发起一个连接。 SCTP 借鉴了 UDP 的机制,在数据传输中提供了消息分帧功能。当一端对一个套接字执行写操作时,可确保对等端读出的数据大小与此相同。     SCTP 的第五个特点是断开连接是三次挥手。

    2.3K51

    python模块学习----nmap模块

    该类里的方法说明: all_ip():返回ip端口列表 all_protocols():返回所有扫描协议的列表 >>> nm['127.0.0.1'].all_protocols() ['tcp'] all_sctp ():返回sctp端口列表 all_tcp():返回tcp端口列表 >>> nm['127.0.0.1'].all_tcp() [22] all_udp():返回udp端口列表 has_ip(port ):如果ip端口具有info,则返回true,否则返回False has_sctp(port):如果sctp端口有info,则为真,否则为False has_tcp(port):如果tcp端口有info 端口有info,则返回true,否则返回False hostname():返回用户记录或列表主机名的第一个主机名 hostnames():返回主机名列表 ip(port):返回信息的IP端口 sctp (port):返回信息的sctp端口 state():返回主机状态 tcp(port):返回tcp端口的信息 >>> nm['127.0.0.1'].state() 'up' udp(port):

    1.1K10

    QUIC DataChannels的第一步

    对于WebRTC,QUIC协议可能提供SCTP之外的替代方案作为DataChannel的传输方式,本文通过示例测试的方式将该方法与WebRTC DataChannels进行了比较。 与通常使用UDP传输语音和视频流不同,SCTP提供各种特性,例如在同一连接上多路复用多个信道,以及提供可靠、部分可靠(即可靠但无序)和不可靠的模式。 谷歌在2012年推出了QUIC。 对于WebRTC,QUIC协议可能提供SCTP之外的替代方案作为DataChannel的传输方式。此外,当前的实验还试图避免使用RTCPeerConnection API(和SDP! 我也希望Chromium的SCTP能有一些额外的功能。例如,这个DataChannel请求最高级的Chromium原生问题为什么在三年内几乎没有改变。 我不太明白为什么在SCTP上有工作要做的时候,要关注QUIC,但这不应该阻止任何人测试QUIC并提供反馈。

    95220

    流媒体传输协议浅析(三)可靠UDP传输方案

    类似的sctp,quic,kcp的可靠UDP传输方法某些大厂开始引入媒体传输中,下面介绍几种目前比较流行的可靠UDP技术。 参考实现:https://github.com/bittorrent/libutp 5)SCTP(Stream Control Transmission Protocol,流控制传输协议) 准确的说,SCTP SCTP最初主要用于电信系统,它的特点有: a)跟TCP一样面向连接,提供可靠传输 b)跟UDP一样面向消息 c)多流支持 d)每个流可以配置成接受有序或无序的消息 e)Multi-Homing:可以配置多个地址 ,利用多条网络传输通道 f)更好的安全性:要求四次握手,避免TCP的SYN Flooding攻击 注意webrtc的sctp不是跟tcp和UDP平级的传输层协议,它是基于UDP的开发实现,详见webrtc

    76030

    扫码关注腾讯云开发者

    领取腾讯云代金券