CN1695355A - RPF multi-party reliable transport - Google Patents

RPF multi-party reliable transport Download PDF

Info

Publication number
CN1695355A
CN1695355A CNA03824683XA CN03824683A CN1695355A CN 1695355 A CN1695355 A CN 1695355A CN A03824683X A CNA03824683X A CN A03824683XA CN 03824683 A CN03824683 A CN 03824683A CN 1695355 A CN1695355 A CN 1695355A
Authority
CN
China
Prior art keywords
node
code
direct
tpdu
transport layer
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
Application number
CNA03824683XA
Other languages
Chinese (zh)
Other versions
CN100542124C (en
Inventor
艾斯德尔·库韦拉斯
洛伦佐·维西萨诺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN1695355A publication Critical patent/CN1695355A/en
Application granted granted Critical
Publication of CN100542124C publication Critical patent/CN100542124C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

A multi-party reliable transport protocol for use by a higher layer application. A single session source distributes database updates to multiple receivers via a distribution tree. A node desiring to join a session selects a directly-connected node on a path upstream to a source by accessing unicast routing protocol information and sends a ''Join'' message to this upstream neighbor. Each node participating in the scheme handles retransmission requests from its directly-connected downstream neighbors. A supported application provides storage of previously transmitted information for potential retransmission.

Description

RPF is reliable transmission in many ways
Statement of related applications
The application requires the U.S. Provisional Application No.60/421 that is entitled as " RPF MULTI-PARTYRELIABLE TRANSPORT (RMRT) " of submission on October 28th, 2002,724 priority.
The application requires the U.S. Provisional Application No.60/421 that is entitled as " INTERNAL BORDERGATEWAY PROTOCOL DOWNLOADER (IBGPD) " of submission on October 28th, 2002,723 priority.
The present invention is relevant with the application of together submitting to that is entitled as " INTERNAL BGP DOWNLOADER ".
Here the content that has comprised above-mentioned each application by reference is to be used for various purposes.
Background technology
The present invention relates to data network, more specifically to the agreement that is used for diffusing information between in many ways.
Generally can relate to the use of the particular communication protocol that is called as TCP by the packet communication of internet.TCP provides some service that IP provides separately of can't help in essence to higher layer applications.For example, transmission, the assurance of TCP assurance message will divide into groups to be sent to recipient's application, to provide current control to overflow to prevent recipient's buffer with its sending order, and when network traffic conditions will cause packet loss, TCP slowed down the transmission of grouping.
Transmission Control Protocol supposes that independent node is right, and one of them is a transmitter, and another is the recipient.Transmitter and recipient can be each other at a distance of a plurality of jumpings, and the grouping of transporting as the part of same TCP session does not need always to pass through same path.For the ease of guaranteeing the message transmission, transmitter is safeguarded the buffer memory of the previous grouping that sends, to allow necessary repeating transmission.
TCP is internet " main force ", is traffic flows such as mail applications, web application.But TCP can not serve the application with some characteristic well.For example, consider database update propagation application.Hope is come to comprise that to some nodes those are not that direct-connected node propagation data storehouse is upgraded by a selecteed node.Needing guaranteed message transmission is orderly transmission.Also wishing to increase node to session, and makes them can receive all information that sent since session begins.
A concrete example of this database update of being propagated is to use BGP (Border Gateway Protocol), from the border router of the boundary of autonomous system (AS) updating route information is propagated router to AS inside.Be used for being called internal bgp or IBGP to the agreement of this information of AS internal communication.The internal node of use IBGP agreement must obtain the routing update from border router.In order to solve this needs, current IBGP technology has formed the whole mesh that the TCP between each border router with the renewal that will share and each internal router connects.Can use Router Reflector or confederate state (as BGP-4 protocol documents defined) to obtain the minimizing to a certain extent of TCP number of connection.These simplification have caused for example such problem in route loop, and the quantity that TCP connects may be still very big.But, use a large amount of TCP to connect and produced other problem.
An important problem is that each border router must cushion the TCP connection that each is used to retransmit defeated purpose individually individually.Each TCP connects must all unacknowledged datas of buffering.TCP will safeguard that independent re-transmission fails buffer, even same data are sent to all recipients.Each TCP connects also will need extra CPU to handle and other system resource overhead.This is utmost point poor efficiency and trouble to the high-speed memory of this locality and the use of processing resource.
The significant wastage that also has the network bandwidth.A plurality of TCP sessions generally will be gone in the way of different target internal node at them, the same data of transportation on same link.Because both sides' characteristic that TCP connects, intermediate node can not extract the data of wishing at an easy rate from the session that they are supported, but needs their session.
Need be applicable to a plurality of recipient's propagation datas storehouse and upgrade, use the host-host protocol of memory, processing resource and the network bandwidth simultaneously efficiently.
Summary of the invention
Embodiments of the invention provide in many ways reliable transport protocol to be used for higher layer applications.Single session source is upgraded to a plurality of recipient's propagation datas storehouse by propagating tree.The node that wish to add session is selected the direct-connected node on the path in the source of swimming over to by visit unicast routing protocol information, and sends " adding " message to this upstream neighbor.Participate in the retransmit request of each node processing of this scheme from its direct-connected downstream neighbor.What be supported is applied as the defeated storage that previous institute information transmitted is provided of potential re-transmission.
A first aspect of the present invention provides a kind of and has been used for operating selected node with in network propagation data storehouse method for updating.Described method comprises: sign participates in the one or more direct-connected neighbor node of transport layer session; Receive the application data until of the application of comfortable described selected node place operation; Described application data until is encapsulated in the TPDU; And only send described TPDU to the described one or more direct-connected neighbor node that identifies, as the part of described transport layer session.
A second aspect of the present invention provides a kind of method that selected node is supported the transport layer session that is used to operate.Described method comprises: be identified at the direct-connected node on the path of transport layer session source, described direct-connected node is the upstream node on the described path; Reception is from the TPDU of described upstream node; From described TPDU, extract application data until; And described application data until is delivered to application in described selected node place operation.
A third aspect of the present invention provides a kind of selected node has at least 3 sides' transport layer session with support method that is used to operate.Described method comprises: the first direct-connected node of sign on the path of transport layer session source; Reception is from the TPDU of the described first direct-connected node; The content of described TPDU is forwarded to the second direct-connected node as the downstream of described transport layer session source and described selected node; The content of the described TPDU of storage in local cache; Reception is from the retransmit request of the described second direct-connected node; And it is defeated by obtaining from described local cache to retransmit in response to described request.
Can obtain further understanding with reference to the remainder of this specification and accompanying drawing to characteristic of the present invention and advantage.
Description of drawings
Fig. 1 shows to using hop-by-hop and propagates and Data transmission storehouse content according to one embodiment of present invention.
Fig. 2 shows mutual between transport layer module and other router software assembly according to one embodiment of present invention.
Fig. 3 shows the internal structure of transport layer module according to one embodiment of present invention.
Fig. 4 shows the use of application data sequence number according to one embodiment of present invention.
Fig. 5 shows selectivity and loses the defeated and well-ordering application data until transmission of re-transmission according to one embodiment of present invention.
Fig. 6 according to one embodiment of present invention, show mute application data until between open.
Fig. 7 shows the use of transit router (transit router) in the host-host protocol in many ways according to one embodiment of present invention.
Fig. 8 according to one embodiment of present invention, the tunnel that shows by transit router passes through.
Fig. 9 shows synchronously and is redirected according to one embodiment of present invention.
Figure 10 shows transit router and participates in synchronously according to one embodiment of present invention.
Figure 11 A shows the network equipment according to an embodiment of the invention.
How Figure 11 B can divide function of the present invention between route processors and Line cards if showing.
Embodiment
Describe the present invention with reference to representational environment, described representational environment is for adopting for example node (for example router) grid network of IP, TCP, UDP etc. of well-known protocol.In one embodiment, host-host protocol provided by the present invention provides reliable database to propagate service to the node of this network.This host-host protocol will be called as " reliable transmission (RMRT) is in many ways transmitted in contrary path ".The individual server that each RMRT session is based upon source router use and wherein each all between one group of client application on the receiving router.It can be the internal BGP downloader of mentioning in the common application of submitting to that the server and client side uses.
The RMRT overview
Fig. 1 shows according to an embodiment of the invention and propagates and use and transmit according to the hop-by-hop of RMRT.In Fig. 1, router one 02 is a session source, and database update is propagated into client in the operation of recipient's router one 04,106 and 108 places.According to RMRT, the server on the source router 102 is provided by the data that provide with a series of application data untils (ADU) transmission.Server is used each ADU that produces and is associated with a sequence number.RMRT makes up TPDU (TPDU), and they are the groupings that comprise one or more ADU.TPDU is propagated by the router hop-by-hop that participates in the RMRT session and passes through network.
According to RMRT, in the embodiment that just is being described, all are used for propagating the router of TPDU by network and also participate in being the recipient in the RMRT session.In addition, when a participation router received new TPDU, it passed to local client in order with the ADU that is comprised and receives application.
Shown in the simple case of Fig. 1, the RMRT session comes transmission information by propagating tree.Each RMRT participant (except the source) has a upstream neighbor in the tree, also can have one or more downstream neighbor.Each RMRT participant can be the upstream end points that is used for a plurality of associations.But each RMRT recipient has only a upstream router.According to embodiments of the invention, UDP (or certain other insecure datagram protocol) is used to propagate TPDU between router.Preferred insecure datagram protocol (for example TCP is relative with reliable agreement) is because RMRT comprises the defeated mechanism of its re-transmission, will explain below.Each RMRT session participant can share between a plurality of downstream recipients and retransmit defeated cushion space, and this is a significant improvement to using a plurality of TCP to connect.
During steady state operation, each non-source participant carries out 4 basic tasks:
1. receive the RMRT TPDU grouping that the upstream neighbor router sends.
2. extract ADU from TPDU.
3. ADU is passed to local the application.
4. structure TPDU also gives it propagation the downstream neighbor on the tree.
The connectivity of propagating tree depends on contrary path and transmits (RPF), and this is a kind of technology that is generally used for the multicast route.Wish to add the RMRT session and the router that itself is connected to the propagation tree of described session is depended on the connection that unicast routing protocol information is established to the source.Suppose to participate in router and move unicast routing protocol well known in the art for example IS-IS, OSPF or EIGRP.Suppose to participate in router for example by the pre-configured IP address of knowing session source.The RMRT recipient uses unicast routing protocol information to acquire the path in source and the next hop router on this path.The forwarding of TPDU will occur on this path, and only the direction seen of its direction and unicast routing protocol is opposite.Like this, be that RMRT propagates the previous dive on the tree as router towards next jumping of clean culture in source.
Determined that behind the previous dive in source, the RMRT recipient receives all TPDU, and request is defeated from all re-transmissions of this router.The RMRT recipient determines it is dynamic to previous dive, and has followed the tracks of the change in the link information that unicast routing protocol provided.It is transparent that switching in the same RMRT session between different previous dives receives ADU, because participate in the sequence number mapping that all RMRT routers of session all are maintained as ADU initial appointment on source router.
UDP/IP best endeavors (best-effort) datagram service has been used in the transmission of TPDU.When receiving router lacks one or more TPDU, by next-door neighbour's previous dive but not the source provides all essential re-transmissions defeated.
In one embodiment, RMRT uses based on the mechanism of NAK and comes request retransmission defeated.RMRT needn't cushion it in order to retransmit defeated ADU data.On the contrary, it can depend on following resident application, and described resident application can be reproduced described ADU as required when the sequence number of ADU is provided to it.Based on the parameter specific to application, application itself can determine it in order to serve the historical amount of the ADU sequence of failing and being ready to safeguard that retransmits.If described historical quantity not sufficient to be to rebuild the defeated grouping of required re-transmission, then RMRT can select the full database that retreats between the neighbours that directly link to each other synchronous.In addition, in order to raise the efficiency, RMRT can safeguard the buffer memory of ADU of its former transmission.
Software architecture
Fig. 2 shows mutual between RMRT module 202 and other router software assemblies according to one embodiment of present invention.Fig. 2 shows for example unicast routing protocol assembly 210 of OSPF, IS-IS or the like of RMRT module 202, application 204, RMRT session manager (RSM) 206, routing information base (RIB) 208 and operation IGP.Also the UDP stack 212 of existence and router and TCP stack 214 is mutual.
Below the application programming interfaces of describing (API) are used to RMRT module 202 and use mutual between 204.Described API is used for exchanging ADU, and makes RMRT can ask the ADU of transmission in the past to fail with synchronous to be used for retransmitting.RMRT learns the path in source by RIB 208, and RIB 208 is filled by unicast protocol assembly 210.RSM 206 provides the control channel service to come and the neighbor router exchange session control information that directly links to each other, and comprises adding and beta pruning (prune) message.TPDU itself sends and receives via UDP stack 212.RSM 206 uses TCP stack 214 to safeguard control channel.
Fig. 3 shows the internal structure of RMRT module 202.RPF neighbours' trace component 302 is mutual to determine the direct connected node on the upstream path of RMRT session source with RIB 208.Certainly, RIB had before been filled by the unicast routing protocol that moves on recipient's router.Membership qualification trace component 304 is handled by adding and the beta pruning message of RSM control channel from the direct connected node in downstream.The information that this received is used to safeguard downstream membership qualification database, and promptly the TPDU that is received is with the node that is forwarded to.
TPDU receiving unit 306 is handled and is imported data into, and it is passed to application, also handles the detection of the TPDU that loses simultaneously, and responds by making any essential retransmit request.TPDU propagates assembly 308 TPDU that is received is propagated into by the directly continuous neighbours in membership qualification trace component 304 downstreams that obtain, that make subscription.The TPDU that comes reconstruct to transmit from the ADU information that is received, but the content of the TPDU that some implementations may only be copy usually to be received, and rewrite IP source address and destination-address.TPDU propagation assembly 308 also responds the retransmit request from downstream neighbor.The ADU that 310 storages of ADU buffer memory receive recently, it is required that they will be propagated assembly by TPDU.ADU buffer memory 310 can not be strict essential, because can obtain ADU from using 204, but ADU buffer memory 310 is more optimal for the ADU of the nearest transmission of buffer memory specific quantity.
After identifying described RPF upstream neighbor, RMRT module 202 continues to notify these neighbours to need session data.RPF neighbours' trace component 302 calls RSM 206 up transmissions and adds control messages to upstream neighbor.The RSM control channel has been used in this transmission.Membership qualification trace component 304 receives adding and the beta pruning message from downstream router, and safeguards the neighbours' that TPDU will propagate into tabulation.
RPF neighbours' trace component 302 persistent surveillance RIB 208 are next hop neighbors of clean culture (RMRT propagates the previous dive on the tree) towards the source always to know which node.The network topological change that unicast routing protocol is found may cause the change towards next jumping of session source.When having this change, RPF neighbours' trace component 302 calls RSM 206 and sends beta pruning message to old next hop neighbor of clean culture, need transmit from the session of next previous jumping to show no longer.In addition, RPF neighbours' trace component 302 calls RSM 206 and sends adding message to new clean culture next-hop node.
Can recognize that for session source, ADU just obtains from application, does not pass to this application.In addition, session source is not selected upstream neighbor, but follows the tracks of the downstream membership qualification as any other session participant.
Sequence number
Propagate into the ADU that participates in the recipient for all from session source, use consistent sequence number space.In session source, server is used each ADU that produces and is distributed a new sequence number by described application or RMRT.Mapping between sequence number and the ADU is comprised in the constructed TPDU grouping, and is transmitted through the session recipient.When receiving router passes to resident client application with ADU, also transmit the sequence number that is associated.Receive the operation that RMRT is assisted in this mapping of applicating maintenance.Transmit ADU after client application, the RMRT module can ask back this ADU to fail to be used for retransmitting by the sequence number of specifying ADU.
The ADU sequence number distributes from the confined space, and this space may exhaust in the lifetime of RMRT session.RMRT handles the possibility that exhausts by allowing sequence space rewinding (wrap).
Share the ambiguity between a plurality of ADU of same sequence number behind the rewinding, before reusing sequence number, just remove the association between ADU and the sequence number.This related releasing occurs in when distributing from old ADU to new ADU, the most approaching place when crossing over the sequence number of sequence space half way.
Fig. 4 shows the association releasing processing of sequence number according to one embodiment of present invention.Stain is represented ADU.Rotational circle is represented sequence number space.The ADU of (circle is outer) represents old ADU on the flat line, no longer to these ADU maintenance sequence associations.In case distributed the sequence number of circular top part, the sequence number of the ADU of round bottom portion is retirement just.In this manner, guaranteed that single sequence number only represents single ADU at any time.This related all-router of removing the generation leap participation RMRT session of handling.
The sequence number demarcation that ADU crosses over the unanimity of the all-router that participates in session makes the RMRT assembly avoid unnecessary ADU buffering.In case ADU is passed to local the application, the API that RMRT just can provide by this application, use ADU sequence number obtains it as key assignments.Therefore, fail, can obtain all ADU from application data base in order to support TPDU to propagate and to retransmit.
Reliable order delivery
Unlike TCP, because UDP does not comprise reliability mechanisms, so RMRT has stipulated to set up reliability mechanisms on UDP.It is defeated that Fig. 5 shows re-transmission according to an embodiment of the invention.TPDU receiving unit 306 is followed the tracks of the ADU sequence number that is received.The sequence number of any disappearance all is marked as to be lost, and causes the retransmit request to upstream neighbor.TPDU receiving unit 306 comes request retransmission defeated by the negative acknowledgement (NAK) that transmission is encapsulated in the UDP datagram.
When next TPDU grouping is correctly received, and when noticing spacing in the ADU sequence number that is received, detect the ADU of disappearance.This is to realize by the initial ADU sequence number among the nearest TPDU is compared with the ADU sequence number that correctly receives recently.
Each NAK grouping comprises the tabulation of the ADU sequence number range of disappearance.After receiving NAK, upstream neighbor is ended current ADU and is propagated, and the re-transmission that preferentially lacks ADU is defeated.Can make up new TPDU is used for retransmitting defeated.Described ADU can perhaps can should be used for asking them to described from ADU buffer memory 310.When retransmitting defeated all disappearance ADU, the transmission that recovers current ADU from the halt of current ADU.
In order to improve the speed of quiescent period loss detection, send mute TPDU.Mute TPDU does not comprise actual ADU data, only transmits the last ADU sequence number that sends, so that the recipient can recognize that they have missed one or more previous ADU.
Fig. 6 shows between the transmission that the quiescent period begins the mute ADU in back and opens according to one embodiment of present invention.When the quiescent period continued, transmission rate is index decreased in time.Do not send mute TPDU during transmitting normal TPDU routinely.Each transmission route device is controlled the transmission rate of mute TPDU independently.
Some embodiment also can comprise low-frequency cycle property certainty affirmation mechanism.Receive NAK from downstream router and can be used to derive current sequence number the earliest of having received all ADU in downstream before it.But, when all ADU are correctly received, do not send NAK.Using certainty to confirm can be so that the session participant abandons the ADU of known correct reception safely from its buffer memory.
In addition, when receive show the quiescent period before the certainty that correctly received of the last ADU that sends when confirming, the TPDU that no longer needs make transmission.Therefore, certainty confirms that (ACK) can be sent to its upstream neighbor with configurable frequency by each session members.Each ACK comprises the ADU sequence number of following first ADU, and all the session ADU before described ADU are correctly received.Just in the TPDU activity that exists from upstream neighbor, and just carry out the periodically transmission of ACK when not sending NAK.
Database synchronization
Recipient RMRT session may be missed such ADU, wherein can not ask the re-transmission of described ADU defeated by specifying its sequence number.Described ADU or removed related with its sequence number, or from the upstream router database, deleted.For example, this may occur in two kinds of situations:
1. add session as new recipient, and session has loosed sufficiently long time so that may exist when not having the ADU of relating sequence number.
2., then disconnect the recipient who connects and no longer can receive ADU from the source if network is separated during session.If this separately continue long enough so that will exhaust half sequence library, then will remove the sequence number association of the ADU that lacks.
Embodiments of the invention have been stipulated the RMRT database synchronization process so that the recipient in these two kinds of situations and session keep the same newly.Described synchronizing process is called by upstream router, this occurs in when this upstream router receives retransmit request from downstream router, wherein, owing to the related releasing of the ADU that is asked with their sequence number, described upstream router can not be served described downstream router.Between sync period, carry out application data base transmission completely, and do not disturb conventional ADU to propagate.
Synchronizing process depends on the cooperation between RMRT assembly and local the application.Be to realize synchronously by the complete content of transmission session ADU database.This database comprises that all no longer are associated with sequence number, but still is required the ADU of the current global state of reconstruction application database.These ADU are still being stored by described application well-ordering, although there has not been their sequence number.Therefore this database also comprises still having the sequence number association, and by described RMRT assembly or use ADU with number storage of its relating sequence.Synchronously, the router in the recovery will have all ADU that once initiated by session source in the session lifetime.These ADU are transmitted and pass to the router in local application and the recovery according to the order that they are produced at first.Outside the ADU data, the association of existing ADU sequence number also is transmitted, so that the router in recovering can become session participant completely.
Between sync period, described application is configured under the indication of RMRT module, sends described data-base content under the control of itself.For auxiliary this control, the API (API) between RMRT module and the application comprises two special up calling (up-call).Up calling starts the roaming that spreads all over this database.Described roaming is identified by a handle, to distinguish between a plurality of roamings of the generation that may walk abreast owing to different downstreams client simultaneously simultaneous session is taken place.In case set up roaming, obtained next ADU with regard to calling another up calling from the database of this application.When calling this at every turn and calling, described application all provides next ADU according to the initial order that produces of session source.ADU for still have the sequence number association in application data base also offers RMRT with this sequence number.
Some up backrush (rewinding) and advance fast (fast forwarding) that call to assist in the same roaming can also be provided.Make the RMRT assembly can avoid being buffered in the ADU data that obtain during the roaming to the backrush and the support of advancing fast, till it determines that described data have correctly been received and be delivered to the application that receives on the synchronous downstream router.
Receiving synchronous router place, the processing of ADU is very similar to the processing during normal conversation participates in.Unique in essence difference is the early part in simultaneous session, and the ADU that passes to application will be not related with sequence number.When synchronizing process enters the database part timesharing that still has the sequence number upstream router related with ADU, sequence number will become available.Multiple technologies can be used to actual transmissions database content during synchronizing process.For example, if above-mentioned backrush is advanced and uply called availablely, then can use the special-purpose RMRT session between two routers to transmit data.This has minimized in the demand of supporting transmit buffering overhead on the synchronous upstream router.If there is not the backrush ability, then can use TCP to connect.
Stream and congested control
Hope is used in combination current control and congested control with RMRT.In one embodiment, RMRT adopts datagram congestion control protocol (DCCP), this agreement is at Kohler, et al., " DatagramCongestion Control Protocol ", IETF Internet Draft is described among the March 2003, its content is contained in this by integral body by reference, is used for various purposes.DCCP is a kind of lightweight protocol, and it is to needing reliability, or does not provide the application of the reliability mechanisms of itself that congested control and current control are provided.RMRT can adopt DCCP rather than UDP.DCCP sets up two-way information flow.Contrary path (under swim over to the upstream) can be used for transmitting negative acknowledgement by the RMRT assembly.In addition, advantageously DCCP has minimum head and protocol status overhead.
ADU buffer memory 310 can be utilized to adapt to the repeatedly transmission of identical ADU when current control or congested control need.Use ADU buffer memory 310 is quite effective for this reason and in order to retransmit defeated, shares because this is buffered between all downstream recipients.Cache size depends on the influence of the request of described application and is configurable.
API
RMRT provides following to described application and calls:
RMRT_ADU_notify (new_ADU_count), it is used for to the new available ADU of RMRT assembly notice by the server on the source router.RMRT can return and will be assigned to the sequence number of first ADU, perhaps should application itself can provide it.
Application provides following up calling to RMRT:
·app_ADU_request(sequence_no)
Be used for to the specific ADU of application request by RMRT.ADU is returned in application, if the ADU sequence number of perhaps being asked then returns mistake not in using the history of being safeguarded.
·app_ADU_receive(ADU,sequence_no)
Pass to client application by the ADU that is used for as the RMRT on session recipient's the router correctly receiving.
·app_sync_parent_init()
Be used for notice by RMRT and use, show that it is starting new synchronizing process with downstream neighbor.A handle is returned in application, and RMRT pair of all subsequent calls relevant with this synchronizing process all should be used this handle.
·app_sync_parent_done(sync_handle)
Be used for notifying application by RMRT, show that synchronizing process finishes, and it can abandon any association status.
·app_sync_parent_ADU_next(sync_handle)
During database synchronization process, be used for obtaining next ADU in the application data base by RMRT.ADU is returned in application, if this ADU is related with a sequence number, then also returns the sequence number of this ADU.If synchronizing process has arrived the end of database, then do not return ADU.
·app_sync_parent_ADU_rewind(sync_handle,ADU_count)
Indicate application by RMRT during database synchronization process, showing need be according to the backrush in the roaming of a plurality of ADU.
·app_sync_parent_ADU_fwd(sync_handle,ADU_count)
Indicate application by RMRT during database synchronization process, showing need be according to the forward direction redirect in the roaming of a plurality of ADU (forward jump).
·app_sync_child_reset()
Be used for notifying application by RMRT, show that it will receive database synchronization.
·app_sync_child_done(history_base)
Be used for notifying the application of synchronized process to finish by RMRT, and after being provided at it related ADU sequence number of removing do not take place.
RMRT session manager (RSM)
RMRT session manager (RSM) 206 is responsible for coordinating to belong to one group of RMRT session (one or more) of same application.Use the angle of the particular router of RMRT from network, resident application can be the promoter of a plurality of sessions, and the member of the session of a plurality of long-range initiations.The ability of the application initiation session on the different routers provides the support to the multichannel communication that passes through RMRT.The ability that a plurality of RMRT sessions are initiated in application in the individual router provides the support to the communication of the information with different brackets.The session that coordination belongs to same application has two advantages:
1. coordinate to make and more effectively to use router and Internet resources.Specifically:
Neighbours' exchange session control information that the a.RMRT speaker need directly link to each other with it.Used the reliable control connection of RSM in this exchange based on TCP.The control messages that belongs to the different RMRT sessions of same application is shared each to the connection of the RSM between the participation router that directly links to each other.
B. using to use a large amount of RMRT sessions to come having the information grading of different recipient's membership qualifications.When receiving router added two or more sessions by same RPF neighbours, the UDP grouping that is used for carrying TPDU can be used to the multiplexing TPDU that belongs to different sessions.
C. multiplexing similar with TPDU, neighboring router can be bundled in the NAK that belongs to different sessions in the same UDP grouping.In fact, can be combined in the same grouping towards the TPDU and the NAK of rightabout session between a pair of neighbours.
D. restart or during from network disaster recovery, it may need the content of its application data base synchronously when router.In application with many RMRT sessions, may be by the simultaneous session of same RPF neighbours' acquisition more than one.As with realizing sharing by the RSM control connection, can between two routers, set up single synchronous TCP and connect, belong to the data of a plurality of simultaneous sessions with transmission.
2. coordinate a plurality of sessions and can realize dynamic network configuration:
A.RSM provides a kind of hello agreement, and it can realize directly continuous neighbours' automatic discovery.Application can be selected the tabulation of manually specifying effective neighbours, or finds them by RSM.
B.RSM can be used for announcing to potential recipient the existence of this session by the router of initiation session.The knowledge of relevant session is spread unchecked all potential recipients, and these potential recipients can determine whether add then.The router of initiation session can be propagated specific to the conversation description of using with the session bulletin.Conversation description can be used for determining that whether interesting they receive this session by potential recipient.
Each uses the application of RSM and RMRT all should select known RSM TCP control port and known TPDU UDP destination port.Described TCP and udp port are used for using demultiplexing between the different application of RMRT, and make the neighboring router of operation same application to engage in the dialogue between them.
Use the application of a plurality of RMRT sessions should be able to be to they addressing.RSM and RMRT use the common session identifier mechanism that is made of two information:
1. the IP address of the router of initiation session.
2. the session id that distributes of the resident application on the router of initiation session.This ID is used for other sessions that the application on this session and the same router is initiated are made a distinction.
Transit router
RMRT is designed to database is propagated in router network reliably, and each described router all participates in being the session recipient.But according to embodiments of the invention, RMRT can be expanded and allow not wish that the router that receives session data still can realize RMRT by being supported in this network as transit router.
The component software similar that the RMRT transit router has is still compared some difference of existence in the top structure that has illustrated and described with RMRT session participant:
Because transit router is not conventional session members, so it only adds the fashionable session that just participates in a full downstream participant by it.When not having the downstream member to need session data to transmit, transit router does not add.
In the RMRT transit router, TSR is lost interest in to the ADU data.Therefore, the ADU that is received can not be delivered to this application, therefore regains described ADU by it only.
The RMRT transit router depends on its local cache and stores the ADU that needs propagates down stream.Any needs but the ADU that is not present in the buffer memory needs router solicitation upstream.
The RMRT transit router is not carried out synchronous parents' service, because it does not store complete conversation database.Therefore it will to need synchronous downstream router to be redirected to obtain this from the complete participant of upstream more synchronous.
Fig. 7 shows the simple case of the use that relates to transit router.There are session source 702, recipient 704, transit router 706 and two additional recipients 708 and 710.
Following sequence of events can take place:
1. recipient 704 and source 702 are adjacent and directly add it, and recipient 708 and 710 sends the addings of sessions to RMRT transit router 706.
2. transit router 706 recognizes that it should transmit described session, and with described adding by recipient 704 and send towards the source.
3. the adding from transit router 706 is accepted in recipient 704 adding of accepting conventional member as meeting, and begins to transmit TPDU.
4. transit router 706 is propagated TPDU, and the ADU that is comprised may be stored in its buffer memory.
5. after receiving first TPDU, recipient 708 and 710 notices that they have missed the previous session ADU that initiates before they add session.Therefore they send NAK to the router 706 that passes by, and show that it need retransmit defeated ADU.
6. the ADU that is asked is not stored in transit router 706 this locality, because resident application is not receiving data.Therefore its record is from the scope of the ADU of each downstream recipient's disappearance, and sends NAK and ask described ADU to recipient 704.
7. recipient 704 reproduces described ADU from its local application data base, and they is sent to transit router 706 in TPDU.
8. transit router 706 propagates described ADU to recipient 708 and 710.
Recipient 708 and 710 has added now, and continues normally to participate in session.Following processing TPDU loses:
1. recipient 708 has run into TPDU and has lost.When next TPDU arrived, it recognized the ADU that has disappearance, and sends NAK to the router 706 that passes by.
2. transit router 706 receives NAK, because it has propagated ADU recently, therefore described ADU also is stored in the local RMRT buffer memory.Transit router uses the ADU of institute's buffer memory to create TPDU, and sends to recipient 708.
It is how the same as conventional participant to its upstream neighbor and downstream member performance that above-mentioned example shows transit router.In fact, any amount of RMRT transit router and conventional participant can any order be blended between RMRT session source and the recipient.For RPF neighbours change also without any need for particular processing.When the router itself that passes by has changed it when it receives the neighbours of session, and be not always the case as the downstream of the router that passes by participant then by a transit router adding or when leaving this transit router.
For the control of the data volume in the RMRT buffer memory that is stored in transit router is memory resource on transit router itself and network, and the compromise of the processing resource between transit router and its upstream neighbor between the two.Allowing the downstream member ask the cost of non-existent ADU in the buffer memory of transit router is that transit router must be communicated by letter to obtain this ADU with its upstream neighbor.
Receive NAK and above-mentioned periodicity ACK (certainty affirmation) at the transit router place and can help to reduce local ADU cache size.When the router that passes by by NAK with when periodically ACK confirms all ADU before having received specific ADU of its all downstream member, it announces this ADU sequence number in the periodicity upstream ACK of oneself.
In the example of just having described, transit router has a plurality of downstream session participants that are connected to session by it.Make transit router receive the TPDU grouping and for the downstream member duplicates them, and handle NAK, can improve the extensibility of propagation like this from the downstream.But if in the RMRT session, transit router has the single downstream member who adds by it, and then relating to transit router in communication only is to have introduced overhead.
When having only single downstream member to add session by transit router, transit router can indicate its upstream neighbor to send TPDU to this downstream entrant, and does not relate to the transport layer action of any transit router.This situation is illustrated among Fig. 8.
In Fig. 8, there are source 802, two transit routers 804 and 806 and two recipients 808 and 810.Transit router 806 has only a router 810 to add by it.Compare therewith, transit router 804 has recipient 808 and transit router 806 to add by it.Therefore it is favourable making transit router 804 receive and transmit session data.For transit router 806, to pass through it be favourable in the tunnel simply.The tunnel passes through in adition process and starts, and is adaptive to membership qualification and network change.
Consider following scene, it starts from, and one of two recipients add before the session in the example networks of Fig. 8:
1. recipient 808 adds session by transit router 804.This moment, recipient 810 did not add session as yet.
2. transit router 804 is determined because recipient 808 is unique members that add by it, so TPDU should pass through it in the tunnel.It gets in touch its RPF upstream neighbor (source 802) to add session.Adding fashionablely, it has specified TPDU should directly send the transport layer of transit router 804 (promptly do not relate to action) to recipient 808.
3. described adding is confirmed in source 802, and notice transit router 804, shows that TPDU will be by its own initiation (promptly can be from more upstream initiation, and only be the upstream neighbor that the tunnel passes through transit router 804).
4. transit router 804 is confirmed recipient 808 adding, and notifies it to say that TPDU will be sent by source rather than transit router 804.
Recipient 808 has added session now, and directly 802 receives TPDU from the source.NAK from recipient 808 also directly sends to source 802.Relating to of transit router 804 only is to transmit TPDU and NAK as any other general data packets in this communication.
Now, recipient 810 starts and decision adding session.Step is as follows:
1. recipient 810 sends and joins transit router 806.
2. transit router 806 determines that recipient 810 is the unique members that add by it, and the decision tunnel transmits TPDU and NAK.It adds session by transit router 804, indicates it that TPDU is directly sent to recipient 810.
3. transit router 804 receives the adding of transit router 806, determines to exist two downstream entrants (recipient 808 and transit router 806) by it now.Therefore its decision begins to carry out the function of the RMRT transit router that is used for this session.
A. transit router 804 indication sources 802 show that TPDU will not re-send to recipient 808, but send to transit router 804 itself.
B. transit router 804 indication sources 802 show that it no longer directly 802 receives TPDU from the source, but itself receive TPDU from transit router 804
C. the adding of transit router 804 response transit routers 806 specifies TPDU to be sent by transit router 804.
4. transit router 806 receives to add and confirms, and notification receiver 810, shows that it will receive TPDU from transit router 804.
At this moment, the state shown in Figure 8 that arrived is transmitted in session.Transit router 804 participates in the session as transit router, because it has the downstream participant more than.Session transmits by transit router 806 tunnel between transit router 804 and recipient 810, because transit router 806 has only single downstream member.
Perhaps, transit router determines when the tunnel transmits data and passes through it, and the number of thresholds that when participates in the downstream member of session can be set to larger than 1.Transit router can indicate its upstream neighbor tunnel to traverse to a plurality of downstream members.
The downstream router of transit router can be defeated to the re-transmission of transit router request following A DU, and described ADU no longer is associated with sequence number in the application data base of the upstream router that participates in session fully.When the router trial of passing by recovered these ADU from the upstream, it will notified theory need the RMRT synchronizing process.But the RMRT transit router of working to the upstream neighbor of the router that missed described ADU can not be synchronous parents, and complete conversation database can not be provided.Therefore, transit router is redirected downstream router for obtaining synchronously from first router that participates in fully on the path of session source.
Fig. 9 shows to be redirected synchronously in the transit router scene of Fig. 7 and how to move.Adopt the step that starts synchronizing process as follows:
1. recipient 710 restarts, and has the sky application data base.It sends NAK to the router 706 that passes by, up to now all ADU in the queued session.
2. transit router 706 has only nearest ADU in its buffer memory.Therefore it arrives recipient 704 with described NAK propagate upstream, and showing needs all ADU.
3. recipient 704 receives described NAK, but owing to session has existed for a long time, so have the ADU that no longer includes the sequence number association in its database.Therefore it indicates transit router 706 by the RSM control connection, shows that it is ready to provide synchronous service.
4. transit router 706 receives the synchronous offer from recipient 704, and it is continued to be forwarded to recipient 710.
5. recipient 710 contacts directly recipient 704, and its database synchronously.
Except described redirection steps, synchronous connection foundation between recipient 704 and the recipient 710 and message transmission remain with them and link to each other as direct.
If network cuts apart then closed up, then need the redirected suitable poor efficiency that may become of synchronous downstream member's transit router.This poor efficiency can be eliminated by allowing transit router initiatively to participate in synchronizing process.
This scene illustrates with reference to Figure 10.In Figure 10, there are 1004,1006 and 1008 and 6 recipients 1010,1012,1014,1016,1018 and 1020 of 1002,3 transit routers in source.For example consider the influence of the chronic frustration of the link between source 1002 and the transit router 1004.When connecting recovery, if this link breaks down the existing sufficiently long time, then all 6 recipients need by synchronously.Transit router 1004,1006 and 1008 normal behaviour all will be to be redirected all recipients to obtain synchronously from the upstream member.This will make all recipients in recovering 1002 carry out synchronously from the source.Shortcoming is:
1. source router 1002 has been initiated 6 simultaneous sessions now.This needs suitable processing and memory resource.
2. the link between source 1002 and the described recipient must repeatedly transmit synchrodata.Specifically, the network bandwidth on the link between source 1002 and the transit router 1004 will be wasted, because identical data will transmit 6 times.
Embodiments of the invention provide a solution, and its transit router that allows to have a plurality of downstream synchronization request persons is initiatively transmitted simultaneous session.Transit router can be by stopping the request from a plurality of downstream members simply, and simultaneous session is transmitted in the upstream request of initiating it.When foundation was used for synchronous TCP connection, transit router only was to copy the data that its receives to all downstream in the upstream connects to connect.
In the network of Figure 10, transit router 1006 and 1008 all can receive 3 synchronization request from the downstream recipient.Transit router 1006 and 1008 is not that these request upstreams are forwarded to transit router 1004, but can stop these requests, and initiates their request to the router one 004 that passes by.Because transit router 1004 receives only two synchronization request (from transit router 1006 and 1008) now, so it can determine it to be unworthy participating in, and just their upstreams is forwarded to the source.Now, source 1002 has only two synchronous recipients in downstream, and transit router 1006 and 1008 each all have 3 synchronous recipients, obtained to have more the scheme of extensibility.
A consideration of such scheme is to need may stagger in time their request of each synchronous receiving router.For example, from recipient 1012 request arrive time of transit router 1006 may be recently from some/one in request one second of evening of transit router 1010.A kind of scheme is to postpone the propagation of synchronization request by transit router.But in having a plurality of other networks of level that pass by, described delay will accumulate, and has influenced recovery time.
Preferred scheme be allow previous forwarded upstream the transit router of synchronization request interrupt the session of having transmitted, and oneself restart this session, so that the session of being restarted can be shared by it.Before interrupting the session of having transmitted, preferably investigate the state of this session, so that can not interrupt having advanced to session by predetermined point.
Network equipment details and distributed architecture
Figure 11 shows and can be used for realizing the network equipment 1100 of the present invention.Line cards 1102 comprises the network interface that is used to be coupled to physical medium.Also can in Line cards 1102, find to transmit information.Only show two Line cards 1102, still be to be understood that in fact in consolidated network equipment 1100, can have a large amount of Line cards.Line cards 1102 is divided into groups with transmission by the high speed backbone interconnection.Route processors 1106 is responsible for control plane (plane) function.Route processors 1106 has to the connection of the relative low speed of high speed backbone 1104.
The function of embodiments of the invention can be divided between route processors 1106 and Line cards 1102, shown in Figure 11 B.In general, in Figure 11 B, control assembly is realized by route processors 1106, and the buffer memory of ADU and forwarding and affirmation mechanism are handled by Line cards 1102.For example, route processors 1106 can be realized RPF neighbours' trace component 302, membership qualification trace component 304, transmit control to the interface and the TPDU that use 204.Route processors 1106 is also realized above-mentioned synchronizing process.
TPDU receiving unit 306, ADU buffer memory 310 and TPDU propagate assembly 308 and can realize on each Line cards 1102.Line cards 1102 also is responsible for retransmitting defeated.Each RMRT session is hosted on the Line cards of work for the neighbours' that directly link to each other to the upstream interface.This Line cards is safeguarded the ADU buffer memory 310 that is used for the RMRT session.The TPDU of propagates down stream is transferred to the Line cards that is directly connected to the downstream neighbor of sending subscription.Similarly, certainty and negative acknowledgement receive at Line cards place for the downstream, and are transferred to the appearance veteran general in its Line cards of managing or being relayed to the RMRT session of upstream neighbor everywhere, decide as required.Therefore RMRT can be implemented in the context of distributed forwarding architecture, and wherein grouping generally is not directly to be handled by route processors, handles but remain on the Line cards.
The part of functions of route processors 1106 can realize by comprising the instruction software that is stored in the program storage 1108.Program storage 1108 just can be stored an example of the computer-readable recording medium of the software that uses when realizing embodiments of the invention.Other examples for example comprise hard disk, CD-ROM, DVD-ROM, flash memory or the like.Another example of computer-readable recording medium is to carry the signal that software passes network.Line cards 1102 can comprise their functional processor, and it can be embodied as software similarly.
It will be appreciated that example as described herein and embodiment only are used to describe, consider them, for the one of ordinary skilled in the art, can make various modifications and change, these modifications and change should be included within the application's the spirit and scope, and are comprised in the scope of claims and completely within the scope of equivalent.

Claims (38)

1. one kind is used for operating selected node with in network propagation data storehouse method for updating, and described method comprises:
Sign participates in the one or more direct-connected neighbor node of transport layer session;
Receive the application data until of the application of comfortable described selected node place operation;
Described application data until is encapsulated in the TPDU; And
Only send described TPDU, as the part of described transport layer session to the described one or more direct-connected neighbor node that identifies.
2. the method for claim 1, wherein said sign operation comprises:
Reception begins to participate in the adding message of the direct-connected neighbor node of described transport layer session from hope;
Reception is from the beta pruning message of the direct-connected neighbor node of no longer wishing the described transport layer session of participation.
3. the method for claim 1, wherein said reception operation comprises to described application data until assigned serial number.
4. the method for claim 1, wherein said selected node is the source node that is used for described transport layer session.
5. the method for claim 1, wherein said TPDU propagates into other node by described one or more neighbor nodes that identify.
6. one kind is used to operate the method that selected node is supported the transport layer session, and described method comprises:
Be identified at the direct-connected node on the path of transport layer session source, described direct-connected node is the upstream node on the described path;
Reception is from the TPDU of described upstream node;
From described TPDU, extract application data until; And
Described application data until is delivered to the application that moves at described selected node place.
7. method as claimed in claim 6, wherein said sign operation comprises:
Based on routing information base (RIB), determine from the path of described selected node towards described transport layer session source.
8. method as claimed in claim 6 also comprises:
Before receiving described TPDU, send adding message to described upstream node.
9. method as claimed in claim 6, wherein said extraction operation comprise the sequence number that extraction is associated with described application data until from described TPDU, and described transmission operation comprises described sequence number is passed to described application.
10. method as claimed in claim 6 also comprises:
Identify at least one direct-connected node outside the described upstream node as downstream node;
The content of described transport layer data unit is forwarded to described downstream node.
11. method as claimed in claim 10, wherein said sign operation comprises:
Reception is from the adding message of described downstream node.
12. method as claimed in claim 10 also comprises:
Reception is from the retransmit request of the described application data until of described downstream node;
Obtain described application data until from described application; And
Described application data until re-transmission is passed to described downstream node.
13. method as claimed in claim 10 also comprises:
Reception is from the retransmit request of the described application data until of described downstream node;
Described request is forwarded to described upstream node;
Reception is defeated from the re-transmission of the described application data until of described upstream node; And
Be forwarded to described downstream node with described re-transmission is defeated.
14. method as claimed in claim 6 also comprises:
Reception is from the adding message of downstream node, and described downstream node is towards other the direct-connected node except that described direct-connected node on the described path in described transmission session source;
Obtain all application data untils of described transmission session from described application;
All application data untils of described transmission session are forwarded to described downstream node.
15. one kind is used to operate selected node and has the method for at least 3 sides' transport layer session with support, described method comprises:
The first direct-connected node of sign on the path of transport layer session source;
Reception is from the TPDU of the described first direct-connected node;
The content of described TPDU is forwarded to the second direct-connected node as the downstream of described transport layer session source and described selected node;
The content of the described TPDU of storage in local cache;
Reception is from the retransmit request of the described second direct-connected node; And
Defeated by obtaining from described local cache to retransmit in response to described request.
16. method as claimed in claim 15 also comprises:
Reception is from the retransmit request of the described second direct-connected node;
Described request is forwarded to the described first direct-connected node;
Reception is from the re-transmission transmission of data of the described first direct-connected node; And
In response to described request, described re-transmission transmission of data is forwarded to the described second direct-connected node.
17. one kind is used for operating the computer program of selected node to upgrade in network propagation data storehouse, described computer program comprises:
Be used to identify the code of the one or more direct-connected neighbor nodes that participate in the transport layer session;
Be used to receive the code of the application data until of the application that moves at comfortable described selected node place;
Be used for described application data until is encapsulated in code in the TPDU;
Be used for only sending described TPDU, as the code of the part of described transport layer session to the described one or more direct-connected neighbor node that identifies; And
Store the computer-readable recording medium of described code.
18. device as claimed in claim 17, the wherein said code that is used to identify operation comprises:
Be used to receive the code of adding message that begins to participate in the direct-connected neighbor node of described transport layer session from hope;
Be used to receive code from the beta pruning message of the direct-connected neighbor node of no longer wishing the described transport layer session of participation.
19. computer program as claimed in claim 17, the wherein said code that is used to receive operation is used to comprise the code to described application data until assigned serial number.
20. computer program as claimed in claim 17, wherein said selected node is the source node that is used for described transport layer session.
21. computer program as claimed in claim 17, wherein said TPDU propagates into other node by described one or more neighbor nodes that identify.
22. one kind is used to operate the computer program that selected node is supported the transport layer session, described computer program comprises:
Be used to be identified at the code of the direct-connected node on the path of transport layer session source, described direct-connected node is the upstream node on the described path;
Be used to receive code from the TPDU of described upstream node;
Be used for extracting the code of application data until from described TPDU; And
Be used for described application data until is delivered to the code of the application that moves at described selected node place.
23. computer program as claimed in claim 22, the wherein said code that is used to identify operation comprises:
Be used for based on routing information base (RIB), determine from the code of described selected node towards the path of described transport layer session source.
24. computer program as claimed in claim 22 also comprises:
Be used for before receiving described TPDU, send the code that adds message to described upstream node.
25. computer program as claimed in claim 22, the wherein said code that is used for extraction operation comprises the code that is used for extracting from described TPDU the sequence number that is associated with described application data until, and the described code that is used to transmit operation comprises the code that is used for described sequence number is passed to described application.
26. computer program as claimed in claim 22 also comprises:
Be used to identify at least one direct-connected node outside the described upstream node as the code of downstream node;
Be used for the content of described transport layer data unit is forwarded to the code of described downstream node.
27. computer program as claimed in claim 26, the wherein said code that is used to identify operation comprises:
Be used to receive code from the adding message of described downstream node.
28. computer program as claimed in claim 26 also comprises:
Be used to receive code from the retransmit request of the described application data until of described downstream node;
Be used for obtaining the code of described application data until from described application; And
Be used for described application data until is retransmitted the code that is passed to described downstream node.
29. computer program as claimed in claim 26 also comprises:
Be used to receive code from the retransmit request of the described application data until of described downstream node;
Be used for described request is forwarded to the code of described upstream node;
Be used to receive the defeated code of re-transmission from the described application data until of described upstream node; And
Be used for the defeated code that is forwarded to described downstream node of described re-transmission.
30. computer program as claimed in claim 22 also comprises:
Be used to receive the code from the adding message of downstream node, described downstream node is towards other the direct-connected node except that described direct-connected node on the described path in described transmission session source;
Be used for obtaining the code of all application data untils of described transmission session from described application;
Be used for all application data untils of described transmission session are forwarded to the code of described downstream node.
31. a computer program that is used to operate selected node with the transport layer session of supporting to have at least 3 sides, described computer program comprises:
Be used to identify the code of the first direct-connected node on the path of transport layer session source;
Be used to receive code from the TPDU of the described first direct-connected node;
Be used for content with described TPDU and be forwarded to code as the second direct-connected node in the downstream of described transport layer session source and described selected node;
Be used for code in the content of the described TPDU of local cache storage;
Be used to receive code from the retransmit request of the described second direct-connected node;
Be used for by obtain to retransmit defeated code from described local cache in response to described request; And
Be used to store the computer-readable recording medium of described code.
32. computer program as claimed in claim 31 also comprises:
Be used to receive code from the retransmit request of the described second direct-connected node;
Be used for described request is forwarded to the code of the described first direct-connected node;
Be used to receive code from the re-transmission transmission of data of the described first direct-connected node; And
Be used in response to described request, described re-transmission transmission of data be forwarded to the code of the described second direct-connected node.
33. one kind is used for operating the device of selected node to upgrade in network propagation data storehouse, described device comprises:
Be used to identify the device of the one or more direct-connected neighbor nodes that participate in the transport layer session;
Be used to receive the device of the application data until of the application that moves at comfortable described selected node place;
Be used for described application data until is encapsulated in device in the TPDU; And
Be used for only sending described TPDU, as the device of the part of described transport layer session to the described one or more direct-connected neighbor node that identifies.
34. one kind is used to operate the device that selected node is supported the transport layer session, described device comprises:
Be used to be identified at the device of the direct-connected node on the path of transport layer session source, described direct-connected node is the upstream node on the described path;
Be used to receive device from the TPDU of described upstream node;
Be used for extracting the device of application data until from described TPDU; And
Be used for described application data until is delivered to the device of the application that moves at described selected node place.
35. a device that is used to operate selected node with the transport layer session of supporting to have at least 3 sides, described device comprises:
Be used to identify the device of the first direct-connected node on the path of transport layer session source;
Be used to receive device from the TPDU of the described first direct-connected node;
Be used for content with described TPDU and be forwarded to device as the second direct-connected node in the downstream of described transport layer session source and described selected node;
Be used for device in the content of the described TPDU of local cache storage;
Be used to receive device from the retransmit request of the described second direct-connected node; And
Be used for by obtain to retransmit defeated device from described local cache in response to described request.
36. one kind is used for operating the device of selected node to upgrade in network propagation data storehouse, described device comprises:
The processor that is used to execute instruction; And
Store the memory devices of described instruction on it, described instruction comprises:
Be used to identify the code of the one or more direct-connected neighbor nodes that participate in the transport layer session;
Be used to receive the code of the application data until of the application that moves at comfortable described selected node place;
Be used for described application data until is encapsulated in code in the TPDU; And
Be used for only sending described TPDU, as the code of the part of described transport layer session to the described one or more direct-connected neighbor node that identifies.
37. one kind is used to operate the device that selected node is supported the transport layer session, described device comprises:
The processor that is used to execute instruction; And
Store the memory devices of described instruction on it, described instruction comprises:
Be used to be identified at the code of the direct-connected node on the path of transport layer session source, described direct-connected node is the upstream node on the described path;
Be used to receive code from the TPDU of described upstream node; And
Be used for described application data until is delivered to the code of the application that moves at described selected node place.
38. a device that is used to operate selected node with the transport layer session of supporting to have at least 3 sides, described device comprises:
The processor that is used to execute instruction; And
Store the memory devices of described instruction on it, described instruction comprises:
Be used to identify the code of the first direct-connected node on the path of transport layer session source;
Be used to receive code from the TPDU of the described first direct-connected node;
Be used for content with described TPDU and be forwarded to code as the second direct-connected node in the downstream of described transport layer session source and described selected node;
Be used for code in the content of the described TPDU of local cache storage;
Be used to receive code from the retransmit request of the described second direct-connected node; And
Be used for by obtain to retransmit defeated code from described local cache in response to described request.
CNB03824683XA 2002-10-28 2003-09-24 RPF is reliable transmission in many ways Expired - Fee Related CN100542124C (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US42172402P 2002-10-28 2002-10-28
US60/421,723 2002-10-28
US60/421,724 2002-10-28
US10/428,879 2003-05-01

Publications (2)

Publication Number Publication Date
CN1695355A true CN1695355A (en) 2005-11-09
CN100542124C CN100542124C (en) 2009-09-16

Family

ID=35353582

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB03824683XA Expired - Fee Related CN100542124C (en) 2002-10-28 2003-09-24 RPF is reliable transmission in many ways

Country Status (1)

Country Link
CN (1) CN100542124C (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009097767A1 (en) * 2008-02-04 2009-08-13 Huawei Technologies Co., Ltd. Method, system and multicast network for improving multicast reliability
CN101800742B (en) * 2010-01-28 2012-12-19 华为技术有限公司 Method for updating and processing upstream information of routing device, routing devices and network system
CN109479027A (en) * 2016-08-04 2019-03-15 思科技术公司 For interconnecting the technology of the virtual network based on controller and the virtual network based on agreement

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009097767A1 (en) * 2008-02-04 2009-08-13 Huawei Technologies Co., Ltd. Method, system and multicast network for improving multicast reliability
CN101800742B (en) * 2010-01-28 2012-12-19 华为技术有限公司 Method for updating and processing upstream information of routing device, routing devices and network system
CN109479027A (en) * 2016-08-04 2019-03-15 思科技术公司 For interconnecting the technology of the virtual network based on controller and the virtual network based on agreement
CN109479027B (en) * 2016-08-04 2021-07-16 思科技术公司 Techniques for interconnecting controller-based virtual networks and protocol-based virtual networks

Also Published As

Publication number Publication date
CN100542124C (en) 2009-09-16

Similar Documents

Publication Publication Date Title
AU2003272669B2 (en) Internal BGP downloader
CA2502602C (en) Rpf multi-party reliable transport
JP5462360B2 (en) Method and apparatus at multiple rendezvous points for co-processing multicast traffic from mobile multicast sources
US9083585B2 (en) Retransmission-based stream repair and stream join
CN1754353A (en) Method and device for protocol-independent realization of ip multicast
CN1645834A (en) Method and device for loop discovery, space reuse and protection conversion in MAC bridge connecting network
CN101030943A (en) Method for transmitting message and route
CN1969491A (en) System and method for preserving multicast data forwarding during control failures in a router
CN1791054A (en) Virtual special network multicast method by virtual router mode
CN1697354A (en) Method for reliable transmitting data through multicast and unicast protocol, and host of receiving data
CN1929444A (en) Operator's boundary notes, virtual special LAN service communication method and system
CN101394358B (en) Method and device for enhancing reliability of multicast forwarding
CN1801783A (en) Multi-domain multicast integration data distributing structure and method based on IP/MPLS/BGP
JP2011024180A (en) Internetwork device
CN101043436A (en) Method for improving communication quality based on label distribution protocol
CN1649344A (en) Method for realizing interactive multimedia data transmission on internet
CN1753354A (en) Base station TCP agency confirmation method based on ARQ information and its system
CN101047625A (en) Strategy route device and method
CN1695355A (en) RPF multi-party reliable transport
CN1738283A (en) Multicast transmission method for IP network
CN1713608A (en) Distributed realization of rapid generating tree under multiple CPU environment
CN101075842A (en) Method for transmitting multi cast data in shared network
JP2010098605A (en) Path switching control router, and path switching control method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090916

Termination date: 20200924