CN112152820A - Tcp多播 - Google Patents
Tcp多播 Download PDFInfo
- Publication number
- CN112152820A CN112152820A CN201911247715.6A CN201911247715A CN112152820A CN 112152820 A CN112152820 A CN 112152820A CN 201911247715 A CN201911247715 A CN 201911247715A CN 112152820 A CN112152820 A CN 112152820A
- Authority
- CN
- China
- Prior art keywords
- tcp
- branch
- congestion window
- multicast
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/15—Flow control; Congestion control in relation to multipoint traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一个实现多播TCP的方法,其中一个多播TCP拥有单个TCP发送端和多个TCP接收端,一个TCP发送端与多个TCP接收端发送并和接收TCP数据包;来自不同接收端的每个TCP ACK标记有不同的标记,以标示该ACK来自哪个TCP接收端;使用多播树拓扑将数据包从发送端发送到所有接收端:在多播树中,根节点始终是发送端,而所有接收端始终是叶节点;多播树拓扑还可包括中间节点,而中间节点既不是发送端也不是接收端;一种特殊的中间节点是分支节点:分支节点复制来自发送端的TCP数据包并将复制的数据包发送给2个或更多接收端。TCP终端的标记是在“TCP选项”字段中实现的;该标记包括TCP多播ID(identifier)和TCP终端ID(identifier)。如果多播拓扑中有个分支节点,则在分支节点处设置一个特殊的TCP拥塞窗口,称为分支拥塞窗口;在分支节点的分支拥塞窗口负责该分支节点与一些叶节点之间的拥塞控制。
Description
技术领域
本发明涉及多播(multicast),尤其涉及使用互联网进行通信的TCP多播机制的方法和系统。
背景技术
多播是一种在一个发送端和多个接收端之间进行通信的方法。在多播方式下,只有真正需要信息的成员会收到信息,其他主机不会收到。组播又称多目标广播、组播。在多播方式下,源主机只发送一份或多份数据,数据的目的地址是多播组地址;凡是属于该组的成员,都可以接收到一份原主机发送的数据的拷贝。
一个常见的多播应用是证券买卖。在证券交易所,针对每一支股票,卖出的订单簿必须多播到所有拥有同一股票买入的订单簿的机器,如此买卖订单匹配才能发生。第二个多播应用是区块链。正常区块链操作中的一必要步骤是共识流程。其中,每个节点都必须多播到同一区块链中的所有其他节点。
互联网上的常规数据通信使用TCP (transmission control protocol),而多播只能用UDP (user datagram protocol)。 原因是在当前的多播机制,有一个发送端和多个接收端。 对于一个发送端,当前的TCP协议无法处理不同接收端的接收缓冲区丢包问题。当前的TCP协议也无法为多个接收端构建不同的ACK (acknowledgment)。
由于UDP无法提供可靠的通信,而证券交易和区块链则需要高度可靠的通信,所以这是个极需要解决的矛盾。
本发明涉及多播TCP的设立:其中,来自不同TCP接收端有不同的ACK。但本发明不涉及多播TCP会话的建立和/或拆除。
发明内容
本发明的各方面涉及多播TCP的方法和系统。一个多播TCP会话拥有单个发送端和多个接收端,一个发送端与多个接收端发送并和接收数据包。
根据本发明的一方面,来自不同接收端的每个ACK都将标记不同的标记,以标示该ACK来自哪个TCP接收端。
根据本发明的一方面,多播TCP会话使用多播树拓扑来将数据包从发送端发送到所有接收端。 在多播树中,根节点始终是发送端,而所有接收端始终是叶节点。多播树拓扑还可以包括中间节点,而中间节点既不是发送端也不是接收端。一种特殊的中间节点是分支节点:分支节点复制来自发送端的数据包并将复制的数据包发送给2个或更多接收端。
根据本发明的一方面,如果多播拓扑中有个分支节点,则会在分支节点处设置一个特殊的拥塞窗口,称为分支拥塞窗口。在分支节点的分支拥塞窗口负责该分支节点与一些叶节点之间的拥塞控制,该分支节点负责复制数据包到这些叶节点。
根据本发明的一方面,对每个分支拥塞窗口,在根节点处设置一个对应的拥塞窗口,称为合并拥塞窗口:一个合并拥塞窗口对应于一个分支拥塞窗口。合并拥塞窗口负责根节点和相应分支节点之间的拥塞控制。
根据本发明的一方面,当多播树是星形拓扑时,所有拥塞窗口都位于根节点(发送端)上。在这种场景,多播TCP发送端为多播TCP会话中的每个接收端保持单独的拥塞窗口。这些拥塞窗口称为单端拥塞窗口。
一个实现多播TCP的方法和系统,其中一个多播TCP拥有单个TCP发送端和多个TCP接收端,一个TCP发送端与多个TCP接收端发送并和接收TCP数据包;来自不同接收端的每个TCP ACK标记有不同的标记,以标示该ACK来自哪个TCP接收端;使用多播树拓扑将数据包从发送端发送到所有接收端:在多播树中,根节点始终是发送端,而所有接收端始终是叶节点;多播树拓扑还可包括中间节点,而中间节点既不是发送端也不是接收端;一种特殊的中间节点是分支节点:分支节点复制来自发送端的TCP数据包并将复制的数据包发送给2个或更多接收端。
TCP终端的标记是在“ TCP选项”字段中实现的; 该标记包括TCP多播ID(identifier)和TCP终端ID(identifier)。
如果多播拓扑中有个分支节点,则在分支节点处设置一个特殊的TCP拥塞窗口,称为分支拥塞窗口;在分支节点的分支拥塞窗口负责该分支节点与一些叶节点之间的拥塞控制。
对每个分支拥塞窗口,在根节点处设置一个对应的拥塞窗口,称为合并拥塞窗口:一个合并拥塞窗口对应于一个分支拥塞窗口;合并拥塞窗口负责根节点和相应分支节点之间的拥塞控制。
当一个接收端在没有分支节点的情况下连接到发送端时,发送端设置一个特殊的拥塞窗口,仅用于发送端与该接收端之间的拥塞控制。
附图说明
下面参考各种实施例的附图详细描述本发明的前述和其他特征,端面和优点,这些附图旨在说明而不是限制本发明。附图包括以下附图,其中:
图1示出了一实施例,显示在一个TCP多播组中,一个发送端和四个接收端形成星形拓扑。
图2示出了一实施例,显示在一个TCP多播组中,一个发送器端使用一个分支节点将数据包发送到两个接收器端。
图3示出了一实施例,显示在TCP多播组中,一个发送端使用分支节点将数据包发送到2个接收端,并且发送端也直接向第三接收端发送。
具体实施端式
下面结合附图,通过实施例进一步描述本发明,但不以任何端式限制本发明的范围。
现在将参考附图描述本发明的实施例,其中相同的标号始终表示相同的元件。在此呈现的描述中使用的术语不旨在以任何限制或限制的端式解释,仅仅因为它与本发明的某些特定实施例的详细描述一起使用。此外,本发明的实施例可以包括若干新颖特征,其中没有一个特征单独负责其期望的属性或者对于实践本文所述的发明是必不可少的。
图1示出了一实施例,显示在一个TCP多播组中,一个发送端和四个接收端形成星形拓扑。 这是常见的一种区块链多播配置。
图2示出了一实施例,显示在一个TCP多播组中,一个发送器端使用一个分支节点将数据包发送到两个接收器端。 这是常见的证券交易所多播配置。
图3示出了一实施例,显示在TCP多播组中,一个发送端使用分支节点将数据包发送到2个接收端,并且发送端也直接向第三接收端发送。 图中显示了单端拥塞窗口,合并拥塞窗口,和分支拥塞窗口。
在此多播拓扑中,有2个中间节点,并且中间节点之一是的分支节点。 根节点1是发送端;中间节点2不是分支节点; 中间节点3是分支节点。 叶节点4、5和6是接收端。 节点4是个接收端,而无需中间节点即可直接连接到发送端。 但是接收端5和6通过分支节点3和中间节点2连接到发送端。
在节点1处有一个单端拥塞窗口,用于在节点1和节点4之间进行拥塞控制。在节点1处也有一个合并拥塞窗口, 以在节点1和 节点5+6之间进行(组合性)拥塞控制。
在节点3处有一个分支拥塞窗口,以在节点3和 节点5+6之间进行(组合性)拥塞控制。
Claims (10)
1.一个实现多播TCP的方法,其中一个多播TCP拥有单个TCP发送端和多个TCP接收端,一个TCP发送端与多个TCP接收端发送并和接收TCP数据包;
来自不同接收端的每个TCP ACK有不同的标记,以标示该ACK来自哪个TCP接收端;使用多播树拓扑将数据包从发送端发送到所有接收端:在多播树中,根节点始终是发送端,而所有接收端始终是叶节点;多播树拓扑还可包括中间节点,而中间节点既不是发送端也不是接收端;一种特殊的中间节点是分支节点:分支节点复制来自发送端的TCP数据包并将复制的数据包发送给2个或更多接收端。
2.根据权利要求1所述的架构方法,TCP终端的标记是在“ TCP选项”字段中实现的; 该标记包括TCP多播ID(identifier)和TCP终端ID(identifier)。
3.根据权利要求2所述的架构方法,如果多播拓扑中有个分支节点,则在分支节点处设置一个特殊的TCP拥塞窗口,称为分支拥塞窗口;在分支节点的分支拥塞窗口负责该分支节点与一些叶节点之间的拥塞控制。
4.根据权利要求3所述的架构方法,对每个分支拥塞窗口,在根节点处设置一个对应的拥塞窗口,称为合并拥塞窗口:一个合并拥塞窗口对应于一个分支拥塞窗口;合并拥塞窗口负责根节点和相应分支节点之间的拥塞控制。
5.根据权利要求2所述的架构方法,当一个接收端在没有分支节点的情况下连接到发送端时,发送端设置一个特殊的拥塞窗口,仅用于发送端与该接收端之间的拥塞控制。
6.一个实现多播TCP的系统,其中一个多播TCP拥有单个TCP发送端和多个TCP接收端,一个TCP发送端与多个TCP接收端发送并和接收TCP数据包;
来自不同接收端的每个TCP ACK有不同的标记,以标示该ACK来自哪个TCP接收端;使用多播树拓扑将数据包从发送端发送到所有接收端:在多播树中,根节点始终是发送端,而所有接收端始终是叶节点;多播树拓扑还可包括中间节点,而中间节点既不是发送端也不是接收端;一种特殊的中间节点是分支节点:分支节点复制来自发送端的TCP数据包并将复制的数据包发送给2个或更多接收端。
7.根据权利要求6所述的系统,TCP终端的标记是在“ TCP选项”字段中实现的; 该标记包括TCP多播ID(identifier)和TCP终端ID(identifier)。
8.根据权利要求7所述的系统,如果多播拓扑中有个分支节点,则在分支节点处设置一个特殊的TCP拥塞窗口,称为分支拥塞窗口;在分支节点的分支拥塞窗口负责该分支节点与一些叶节点之间的拥塞控制。
9.根据权利要求8所述的系统,对每个分支拥塞窗口,在根节点处设置一个对应的拥塞窗口,称为合并拥塞窗口:一个合并拥塞窗口对应于一个分支拥塞窗口;合并拥塞窗口负责根节点和相应分支节点之间的拥塞控制。
10.根据权利要求7所述的系统,当一个接收端在没有分支节点的情况下连接到发送端时,发送端设置一个特殊的拥塞窗口,仅用于发送端与该接收端之间的拥塞控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911247715.6A CN112152820B (zh) | 2019-12-09 | 2019-12-09 | 一种多播tcp的架构方法及多播tcp系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911247715.6A CN112152820B (zh) | 2019-12-09 | 2019-12-09 | 一种多播tcp的架构方法及多播tcp系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112152820A true CN112152820A (zh) | 2020-12-29 |
CN112152820B CN112152820B (zh) | 2021-07-20 |
Family
ID=73892178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911247715.6A Active CN112152820B (zh) | 2019-12-09 | 2019-12-09 | 一种多播tcp的架构方法及多播tcp系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112152820B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1965532A (zh) * | 2004-04-30 | 2007-05-16 | 国际商业机器公司 | 具有端到端可靠性的群通信的方法和设备 |
CN101505211A (zh) * | 2008-02-04 | 2009-08-12 | 华为技术有限公司 | 一种提高组播可靠性的方法、系统和组播网络 |
CN104518973A (zh) * | 2014-12-17 | 2015-04-15 | 华中科技大学 | 一种基于sdn环境的数据的可靠组播传输方法 |
CN107566291A (zh) * | 2017-09-26 | 2018-01-09 | 恒生电子股份有限公司 | 组播传输方法、装置、电子设备及存储介质 |
US20180254915A1 (en) * | 2015-09-25 | 2018-09-06 | Intel Corporation | Efficient error control techniques for tcp-based multicast networks |
-
2019
- 2019-12-09 CN CN201911247715.6A patent/CN112152820B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1965532A (zh) * | 2004-04-30 | 2007-05-16 | 国际商业机器公司 | 具有端到端可靠性的群通信的方法和设备 |
CN101505211A (zh) * | 2008-02-04 | 2009-08-12 | 华为技术有限公司 | 一种提高组播可靠性的方法、系统和组播网络 |
CN104518973A (zh) * | 2014-12-17 | 2015-04-15 | 华中科技大学 | 一种基于sdn环境的数据的可靠组播传输方法 |
US20180254915A1 (en) * | 2015-09-25 | 2018-09-06 | Intel Corporation | Efficient error control techniques for tcp-based multicast networks |
CN107566291A (zh) * | 2017-09-26 | 2018-01-09 | 恒生电子股份有限公司 | 组播传输方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
KOICHI YANO,STEVEN MCCANNE: "A window-based congestion control for reliable multicast based on TCP dynamics", 《MULTIMEDIA "00: PROCEEDINGS OF THE EIGHTH ACM INTERNATIONAL CONFERENCE ON MULTIMEDIA》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112152820B (zh) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1771992B1 (en) | Point-to-point repair response mechanism for point-to-multipoint transmission systems | |
US5519704A (en) | Reliable transport protocol for internetwork routing | |
US6185623B1 (en) | Method and system for trivial file transfer protocol (TFTP) subnet broadcast | |
US8725894B2 (en) | Transparent auto-discovery of network devices logically located between a client and server | |
EP1449326B1 (en) | System and apparatus for tunneling service of explicit multicast | |
US6760766B1 (en) | Data transmission method and device | |
CN101834783B (zh) | 一种报文转发方法、装置及网络设备 | |
US20060018301A1 (en) | Method of establishing multi-homed connections in networks with address conversion | |
JP2014509483A (ja) | ワイヤレスネットワークにおけるトランスミッション・コントロール・プロトコルの性能を改善する機構 | |
US6515994B1 (en) | Method of communication in a communications network and apparatus therefor | |
US20140105226A1 (en) | Communications over multiple protocol interfaces in a computing environment | |
CN101222443A (zh) | 一种处理报文的方法和网络设备 | |
CN109218222A (zh) | 一种实现发送端调速的方法、装置和系统 | |
US20190132085A1 (en) | Fast Detection and Retransmission of Dropped Last Packet in a Flow | |
US7535916B2 (en) | Method for sharing a transport connection across a multi-processor platform with limited inter-processor communications | |
CN112152820B (zh) | 一种多播tcp的架构方法及多播tcp系统 | |
US20040267960A1 (en) | Force master capability during multicast transfers | |
US7249185B1 (en) | Methods, devices and software for redundant transmission of voice data over a packet network connection established according to an unreliable communication protocol | |
EP2031805A1 (en) | Packet-type based resilience using network coding | |
US20030188014A1 (en) | Method for transmiting messages using multipaths | |
CN101594264B (zh) | 虚拟链路状态检测方法 | |
CN105407058A (zh) | 带拥塞控制的可靠组播传输方法 | |
EP4250671A1 (en) | Sequencing of labeled packets | |
WO2022242775A1 (zh) | 一种报文处理的方法、系统和网络设备 | |
Huawei Technologies Co., Ltd. | TCP/IP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |