第五章 使用 SCTP 优化网络.pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用 SCTP 优化网络 流控制传输协议结合了 TCP 和 UDP 的优点 级别: 初级 M. Tim Jones (mtj@), 资深首席软件工程师, Emulex 2006 年 4 月 10 日 流控制传输协议(Stream Control Transmission Protocol,SCTP)是一种可靠的传输协 议,它在两个端点之间提供稳定、有序的数据传递服务(非常类似于 TCP),并且可以 保护数据消息边界(例如 UDP)。然而,与 TCP 和 UDP 不同,SCTP 是通过多宿主 (Multi-homing)和多流(Multi-streaming)功能提供这些收益的,这两种功能均可提高 可用性。在本文中,我们将学习 Linux® 2.6 内核中 SCTP 的关键特性,并通过服务器和 客户机的源代码了解该协议提供多流的能力。 SCTP 是在 IP 网络上使用的一种可靠的通用传输层协议。尽管 SCTP 协议最初是为发送电话信号而 设计的(RFC 2960 ),但带来了一个意外的收获:它通过借鉴 UDP 的优点解决了 TCP 的某些局 限。SCTP 提供的特性使套接字初始化的可用性、可靠性和安全性都得以提高。(图 1 给出了 IP 堆栈 的层次化架构。) 图 1. IP 栈的层次化架构 本文简要介绍了 Linux 2.6 内核中 SCTP 的概念,重点介绍了一些高级特性(例如多宿主和多流), 并且给出了服务器和客户机的部分代码片断(并给出了一个可以获得更多代码的 URL ),从而展示了 这种协议提供多流的能力。 下面让我们开始介绍 IP 堆栈的内容。 IP 堆栈 Internet 协议套件被划分成几层;每层都提供特定功能,如图 1 所示。 自下而上: 链路层(link layer) 提供了通信介质的物理接口(例如以太网设备)。 网络层(network layer) 负责管理网络中的报文移动,具体来说就是确保报文都到达自己的目 标(也称为路由)。 传输层(transport layer) 为应用层控制了报文在两台主机之间的流动。它还代表通信的应用程 序端点,称为 端口(port)。 最后,应用层(application layer) 对通过套接字传递数据具有深刻的意义。这些数据可能包括 通过简单邮件传输协议 (Simple Mail Transport Protocol,SMTP)发送的 e-mail 消息,或通过 超文本传输协议(Hypertext Transport Protocol ,HTTP)呈现的 Web 页面。 所有应用层协议都使用套接字层作为与传输层协议之间的接口。Sockets API 是由 UC Berkeley 在 BSD UNIX® 操作系统上开发的。 在深入钻研 SCTP 之前,让我们首先简单回顾一下传统的传输层协议。 传输层协议 两种最流行的传输层协议是传输控制协议(TCP )和用户数据报协议(UDP ): TCP 是一种可靠的协议,它可以确保有序地发送数据,并管理网络中的拥塞问题。 UDP 是一种面向消息的协议,它不能确保有序地发送 据,也无法管理网络拥塞的问题。 然而,UDP 是一种快速协议,可以保护自己传输的消息的边界。 本文引出了另外一个选择:SCTP。它提供了像 TCP 一样可靠、有序地发送数据的功能,但却以像 UDP 一样面向消息的方式来进行操作,这可以保护消息边界。SCTP 还提供了几个高级特性: 多宿主(Multi-homing) 多流(Multi-streaming) 初始化保护(Initiation protection) 消息分帧(Message framing) 可配置的无序发送(Configurable unordered delivery ) 平滑关闭(Graceful shutdown) SCTP 的关键特性 SCTP 相对于传统的传输层协议来说,两个重要的增强是终端主机的多宿主和多流功能。 多宿主 多宿主 为应用程序提供了比 TCP 更高的可用性。多宿主主机就是一台具有多个网络接口的主机,因 此可以通过多个 IP 地址来访问这台主机。在 TCP 中,连接(connection ) 是指两个端点之间的一个 通道(在这种情况下,就是两台主机的网络接口之间的一个套接字)。SCTP 引入了 联合 (association ) 的概念,它也

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档