The space holds the method for routing that holds transfer of data in the circuit network late
Technical field
The present invention is mainly concerned with network communication field, refers in particular to a kind of space that is used for and holds the slow method for routing that circuit network carries out transfer of data that holds.
Background technology
Internet obtains great success on the communication equipment in the interconnection whole world, it is to adopt the ICP/IP protocol bunch communication protocol collection as an isomorphism, thereby can shield the network isomerism.But, in TCP/IP, also have many hypothesis for the bottom host-host protocol; For example: the path end to end that must exist continue between the transmitting-receiving node, less and consistent relatively, the communication link error rate of the RTT between the transmitting-receiving node and packet loss are low or the like arbitrarily.Yet, many emerging networks have appearred in recent years, and these networks possess high-definition characteristics: on path and link characteristics, have high latency, low data rate, possibly not have stable connection end to end; On network architecture, lack interactivity; End system resource-constrained, limited service life, all these characteristics all make the performance of ICP/IP protocol in this network rapid deterioration occur and are no longer suitable.
Rong Chi holds circuit network (delay/disruption tolerant network; Hereinafter to be referred as DTN) proposition be in order to adapt to the delay of long-chain road, high bit-error and the frequent characteristics such as link down in the space environment at first; And a kind of novel architecture that grows up, it can solve the communication issue of node in the network effectively.DTN adopts the transmission mechanism of " storing-carry-transmits " to handle the communication of limited network: each DTN node is preserved a copy of each packet of transmission, is used for confirming the ACK that packet has been successfully received up to receiving from next node.This mechanism has guaranteed in network transmission process, there is not data-bag lost.After researcher's development is promoted; The DTN network has been contained the network of number of different types at present; Its system is on the transport layer of number of different types network, add one deck under the application layer---work such as transfer of data are carried out in the service that bundle layer (a bundle layer), this bundle layer can make full use of lower floor's network to be provided.
Because in the DTN network, the delay of link is big between the node, the error rate is high and frequent the interruption, thereby the Routing Protocol in the feasible torus network traditionally no longer is applicable to the DTN network.Compare with legacy network, the most significant difficulty is between source node and destination node, do not guarantee connective end to end, and can not avoid long delay.In addition, when data were passed through Network Transmission, network topology is randomly changing dynamically.These obvious characteristics cause has many technical difficult problems when the design Routing Protocol.In addition, because frequently being interrupted of link, long delay, thereby stop the timely exchange of routing protocol message.And route calculating is difficult more in Aerospace Satellite DTN network, not only because link frequently interrupts, and comprises very long signal propagation delays.
At present, the routing policy in the DTN network can be classified according to two attributes, promptly duplicates (replication) and knowledge (knowledge).Duplicate and be meant that routing policy relies on a plurality of copies of message transmission, knowledge is meant that the information of utilizing in the network makes Route Selection.
Based on these two attributes, can be divided into two big types to routing policy: inundation (flooding) and forwarding (forwarding).
The cardinal principle of inundation strategy is that message is repeatedly copied, and the copy of message is transmitted the via node of network, preserves message by via node, can link to each other with purpose up to it.But for Aerospace Satellite DTN network, because node resource is very limited and precious, if therefore adopt inundation strategy waste resource greatly.
Forwarding strategy is selected optimal path through network topology structure, on optimal path, E-Packets, thus do not need copy packet, but forwarding strategy need be known the relevant information of network in advance.
In the routing algorithm that adopts the inundation strategy, intermediate node is not considered the expected probability that link or entire path are successfully transmitted, and therefore for the complete condition of unknown of nodes ' behavior mode, this method for routing still reasonably.But for the DTN network of space, clearly this method for routing can cause the very big wasting of resources, does not effectively utilize the knowledge information of Aerospace Satellite DTN network simultaneously.
The DTN routing issue has many change informations as input, like dynamic topology variation and communication requirement etc., obtains these full details in theory and just can obtain optimum route through certain algorithm.The researcher can be called knowledge with these information, and the difference of the knowledge quantity that adopts during according to the node route, algorithm is divided three classes: inscience route, part knowledge route and perfect knowledge route.Have different DTN routing algorithms again according to these classification and different application requirements, but this type routing algorithm finally all is to utilize priori more or less that data forwarding is gone out.
In the DTN network, call a contact to the connection in certain time period between the node, therefore in service at whole spatial network, the hookup that becomes when the annexation between the node can be formed.In the existing correlative study hookup Routing Protocol (the Contact Graph Routing that proposes to interplanetary network is arranged more typically to route technology in the DTN network of space; Be called for short CGR), this Routing Protocol is that the limited communication hookup through the sequential in the network that is based upon on the DTN architecture comes the dynamic calculation route; Run through the communication opportunity of whole network owing to can plan sth. ahead, CGR can utilize all communication opportunities of whole network to carry out Route Selection, thereby can utilize the transmission opportunity of sequential to come Data transmission.The purpose of designs C GR Routing Protocol is in the spatial network based on DTN, to operate, but also can be applied in simultaneously can the land network of predefine sequential topological diagram in.
For the DTN network of space; If interstitial content and node orbit are fixed in the network; So whole satellite DTN network topology can repeat according to certain cycle; Therefore the hookup that becomes when internodal annexation is just formed can obtain the hookup of whole DTN network, in advance simultaneously based on various mission requirements; Can what at a time having, node is communicated in the planning network, promptly before node communication begins, just can foresee in the synchronization network how many data flow are arranged.
But; No matter be inundation class routing policy to ground DTN network; Still be directed against the hookup Routing Protocol of interplanetary network; All do not make full use of the relevant priori information such as contact relation figure and traffic flow information in the network, therefore in the route process of whole data, may cause the bust this of data.
Summary of the invention
The technical problem that the present invention will solve just is: the space that to the technical problem that prior art exists, the present invention provides a kind of can improve whole network throughput, conserve space node resource, obtain higher network performance holds the method for routing that holds transfer of data in the circuit network late.The space that this method is based on node contact relation figure in the network holds appearance circuit network capacity-constrained method for routing late; Through foresee the contact relation figure between the node and node in the whole network operation process between data flow, can through and calculating the path that obtains the minimum delay from the source node to the destination node.
For solving the problems of the technologies described above, the present invention adopts following technical scheme:
A kind of space holds the method for routing that holds transfer of data in the circuit network late, the steps include:
(1) static routing is searched: when node need transmit data, search whether there is static routing from this node to destination node; If the discovery static routing just is inserted into this node with data and exports accordingly in the transmit queue, accomplish the data route; If do not find static routing, calculate with regard to the dynamic routing of execution in step (2);
(2) dynamic routing is calculated: carry out dynamic routing calculating according to source node that sends data and destination node, flow process is:
(2.1) calculate the minimum delay path: combine the contact relation figure of whole network to calculate, obtain all paths from the source node to the destination node and the delay from the source node to the destination node; Measure the path from the source node to the present node with each data from the delay that source node is transferred to the path of present node;
(2.2) test path capacity: the capacity of each bar contact is tested in the path that step (2.1) is obtained; Through more current data packets for transmission and the residual capacity size that contacts; Assess certain paths and can transmit current data packet, thereby select the path that the contact residual capacity can be transmitted current data packet;
(2.3) choose next-hop node: the delay to all selected in the step (2.2) paths compares, and selects the path in minimum delay.
As further improvement of the present invention:
Said step (2.1) is got rid of this path first afterwards and is jumped for calculating the path with minimum delay under the current first jumping situation, is used for when calculating next time, getting rid of double counting.
Three kinds of delays of considered in said step (2.1):
1. queuing time is waited for the effective time of contact in certain outlet in node;
2. transmission delay is injected into the time that a contact is consumed fully with message;
3. propagation delay, message is transmitted the time that is consumed in link.
During said calculating minimum delay path; Need measure current two internodal paths to the delay of present node with source node; And then adopt dijkstra's algorithm to calculate to the hookup of whole network, obtain all paths and the delay in the path from the source node to the destination node; Promptly; Measure current path with source node to the delay of other nodes; As the weights in the dijkstra's algorithm, can make up the hookup model of whole network simultaneously based on the contact relation between the node, carry out the minimum delay path computing based on the hookup model to this metric.
As further improvement of the present invention; If still do not have to obtain the route from the source node to the destination node through above-mentioned steps (1) and step (2); Then can't can wait for that new contact adds with transfer of data to the destination run time of current network and in the packet term of validity; Otherwise abandon current data packet.
Said contact is a connection in certain time period between the node in the spatial network, can identify a contact with start node, end node, time started, concluding time, contact bandwidth; The amount of capacity of said contact is the duration and the product that contacts bandwidth of contact, and the said duration is the difference of concluding time and time started; The residual capacity of said contact size for remaining time of current contact with the product that contacts bandwidth, remove the size that current time need take the data queue of this contact again.
In the process of said test path capacity, confirm that can the residual capacity of contact transmit current data packet according to the influence of the data flow of other nodes in capacity that contacts in the path and the network to contact capacity in the whole piece path.
Compared with prior art, the invention has the advantages that:
1, the present invention is based on priori in the whole spatial network running (node hookup, contact bandwidth etc.) and carries out route and calculate; Made full use of the contact relation figure between the node; Through classical dijkstra's algorithm is suitably revised; Delay with from the source node to the present node comes metrology path; Relatively calculate the delay of every paths, and then therefrom be chosen in and different first jump the minimum delay path under (contacting between source node and the neighbor node) situation, thereby can calculate all paths from the source node to the destination node.Different with prior art, the present invention has made full use of the utilizable priori of spatial network and has come the path of calculation sources to purpose, therefore can select the path in minimum delay.
2, the present invention adopts the mechanism that volume test is carried out in the path; The residual capacity situation of all contacts in the path that when Path selection, has taken into full account the size of current transmits data packets, the data flow situation in the network and calculated; In computational process when calculating a certain when contact; At first calculate the residual capacity of this contact after deducting current data stream demand capacity according to the data flow situation in the current network; The size of this residual capacity and current transmits data packets relatively afterwards, and then removal capacity is transmitted the contact of current data packet inadequately.Through selecting the path like this, thereby current data packet can be transmitted in the path of having guaranteed final selection.Different with prior art; The present invention has considered the transmission demand of other data flow in the current network in the calculating path process; In computational process, the capacity of every contact in each paths is all tested simultaneously, so just can be guaranteed that the current data packets for transmission that needs can be transmitted in the path of final calculating.
3, the present invention makes full use of the priori in the network; Based on these prioris; Can select the route under the corresponding constraint according to the actual demand of oneself, finally make the throughput of node resource utilance, data transmission performance and whole network reach optimum as far as possible.The present invention can be according to the real network transmission demand; To corresponding path metric method make amendment (waiting metrology path) with path delay, jumping figure, bandwidth; Thereby select different paths, make node resource utilance, data transmission performance and network throughput reach optimum as far as possible.
Description of drawings
Fig. 1 is the schematic flow sheet of method for routing of the present invention.
Fig. 2 is the schematic flow sheet that dynamic routing is calculated among the present invention.
Fig. 3 is that space of the present invention holds slow two the internodal contact relation sketch mapes in the circuit network that hold.
Embodiment
Below with reference to Figure of description and specific embodiment the present invention is explained further details.
When a node in the network will transmit data, just can use method for routing of the present invention.As shown in Figure 1, the present invention is: above-mentioned node is at first wanted the queries static route, if there is static routing, just directly data queue is exported formation accordingly to this node, finishes route simultaneously; If there is not static routing, just carry out dynamic routing method.
That is, concrete steps of the present invention are (referring to Fig. 2):
(1) static routing is searched: when node need transmit data, search whether there is static routing from this node to destination node; If the discovery static routing just is inserted into this node with data and exports accordingly in the transmit queue, accomplish the data route; If do not find static routing, calculate with regard to the dynamic routing of execution in step (2);
(2) dynamic routing is calculated: carry out dynamic routing calculating according to source node that sends data and destination node, flow process is:
(2.1) calculate the minimum delay path: combine the contact relation figure of whole network to calculate, obtain all paths from the source node to the destination node and the delay from the source node to the destination node; Measure the path from the source node to the present node with each data from the delay that source node is transferred to the path of present node;
(2.2) test path capacity: the capacity of each bar contact is tested in the path that step (2.1) is obtained; Through more current data packets for transmission and the residual capacity size that contacts; Assess certain paths and can transmit current data packet, thereby select the path that the contact residual capacity can be transmitted current data packet;
(2.3) choose next-hop node: the delay to all selected in the step (2.2) paths compares, and selects the path in minimum delay.
Through above-mentioned steps, promptly can obtain the reliable transmission path from the source node to the destination node with minimum delay, thus can be in corresponding outlet formation with data queue, and transfer out through underlying protocol.As stated, among the present invention, the final path of selecting be with path delay as the tolerance target, can certainly further select path jumping figure and bandwidth etc. as path metric criteria.
If still do not have to obtain the route from the source node to the destination node, then can't can wait for that new contact adds with transfer of data to the destination run time of current network and in the packet term of validity through above-mentioned steps (1) and step (2); Otherwise abandon current data packet.
Calculating minimum delay path (Compute Path To Destination), is to adopt amended dijkstra's algorithm.Step (2.1) is got rid of this path first afterwards and is jumped for calculating the path with minimum delay under the current first jumping situation, is used for when calculating next time, getting rid of double counting.
Three kinds of delays of considered in step (2.1):
1. queuing time is waited for the effective time of contact in certain outlet in node;
2. transmission delay is injected into the time that a contact is consumed fully with message;
3. propagation delay, message is transmitted the time that is consumed in link.
When calculating minimum delay path; Need measure current two internodal paths to the delay of present node with source node; And then adopt dijkstra's algorithm to calculate to the hookup of whole network, obtain all paths and the delay in the path from the source node to the destination node; Promptly; Measure current path with source node to the delay of other nodes; As the weights in the dijkstra's algorithm, can make up the hookup model of whole network simultaneously based on the contact relation between the node, carry out the minimum delay path computing based on the hookup model to this metric.
Above-mentioned contact is meant a connection in certain time period between the node in the spatial network, can identify a contact with start node, end node, time started, concluding time, contact bandwidth; The amount of capacity of above-mentioned contact is the duration and the product that contacts bandwidth of abutment; The above-mentioned duration is the difference of concluding time and time started; The residual capacity of above-mentioned contact size for remaining time of current contact with the product that contacts bandwidth, remove the size that current time need take the data queue of this contact again.
In the process of test path capacity, confirm that can the residual capacity of contact transmit current data packet according to the influence of the data flow of other nodes in capacity that contacts in the path and the network to contact capacity in the whole piece path.
The minimum delay path computation algorithm that is designed based on this hookup model is:
Input: hookup G=(V, E), wherein V is the node set in the hookup, E is the set that contacts in the hookup.Source node s, destination node d, current time T
0, message of the start node of t e transmission constantly from the limit to the time delay expense ω of end node (e, t).
Output: transmission path J, the delay T of path J
EAD[J].
The previous dive of limit e contact in the path that variable: father [e] storage computation goes out; The previous dive contact of the current limit e that traverses of current storage, the final contact in the path that the final storage computation goes out.
(u, v) for to originate from the contact that node u ends at node v, every contact has three property value: T to e
Start((u v)) is contact e (u, the zero hour v), T to e
End((u, v)) (u, the finish time v), ((u v)) was contact e (u, speed v) to e to Rate to e for contact e.Wherein, (e is at the moment t t) to ω, and message of node u transmission is to the time delay expense of node v.t
Arrival[u] is the time of message arrival node u, the paths of J for using dijkstra's algorithm to calculate; (s s) comes from the virtual contact that node s ends at node s simultaneously for of making up to e;
Step 1: initialize queue Q=V, message arrives the time t of node s
Arrival[s]=T
0, other nodes u ≠ s, t
Arrival[u]=∞; T
EAD[J]=∞.
Step 2: if
goes to step 4; Otherwise all nodes among the traversal Q extract the minimum node u dequeue time of advent; The last item contact that the delay that arrives u is minimum is saved in current.
Step 3: each bar is come from the limit of u, if t
Arrival[v]>t
Arrival[u]+ω (e, t
Arrival[u]), the t time of advent of new node v more then
Arrival[v]=t
Arrival[u]+ω (e, t
Arrival[u]), preserve father [e] simultaneously, father [e]=current as front e; Judge if node v is destination node d afterwards, call tryAllRoute (); If normally withdraw from, explain that this path can transmits data packets, (u v), upgrades the delay in whole piece path simultaneously to preserve a final contact final=e of this path.
Step 4: if
goes to step 5; Otherwise, begin father [e] array of forward direction traversal limit e from the final contact final in the path that calculates, wherein limit is inserted into path list J.
Step 5: algorithm finishes, the output result.
The present invention is through the relatively delay from the source node to the present node; Thereby when each that select the path is jumped, all select the contact in minimum delay, and then finally can be according to the minimum delay path of some of the difference contact of source node (be source node with neighbor node contact) selections.
In the present embodiment; Test path capacity (Try All Route) does; The residual capacity of all contacts of process in the path that i.e. test obtains, residual capacity is enough transmitted first hop node (the perhaps neighbor node of present node) in the path of current data packet but be saved among the node listing C of transmits data packets.
The test path capacity is carried out when carrying out amended dijkstra's algorithm, and the main queuing model of wherein considering is following:
In step (2.1), set up the space and hold in the model that holds circuit network late, and defined function Q (e, t is s) for being queued in the data queue that needs to use contact e on the node s at moment t; Definition C
Residual(e
1) for contacting e
1Residual capacity; T
Residual(e
1) for contacting e
1Remaining time; M is the size of data of current transmission;
Q (e, t, s)=be queued in the data queue that node s uses contact e at moment t
Q function record is currently queued in the set that node s goes up needs to use all data queues that contact e, and this can make and when carrying out Route Selection, avoided data congestion.
As shown in Figure 3, suppose that present node u transmits data and gives node v, can use contact e
1, e
1Bandwidth be Rate (e
1), establish when data arrives node u contact e
1Also not finishing (is t
Arrival[u]<T
End(e
1)), so
T
residual(e
1)=T
end(e
1)-max(t
arrival[u],T
start(e
1));
C
residual(e
1)=T
residual(e
1)*Rate(e
1)-Q(e
1,t
arrival[u],u);
Here, Q (e
1, t
Arrival[u], u) being need use contact e on node
1The size of data queue; Through comparing m and C
Residual(e
1) size, thereby whether the capacity that can judge current contact can transmit data.
In the present invention; When source node carries out route; Can take all factors into consideration the traffic flow information in the current network, volume test has all been carried out in all contacts in the path that calculates according to the method described above, just can guarantee that therefore data can go out according to the path normal transmission of calculating.Simultaneously; Even can utilize priori in the network; But for spatial network, the factor of various the unknowns is very complicated various, and the contact capacity that causes for other unpredictable factors (node failure, electromagnetic interference etc.) in the cope with network reduces; Route is all carried out in each jumping in the path calculate, thereby guarantee that as far as possible data can be transferred to destination node.Finally, but all first hop nodes through the path of volume test are saved among the transmission node tabulation C of source node s all neighbor nodes that can data packet transmission be gone out according to precalculated path of this tabulation preservation.
In this step; The performed volume test of the present invention is carried out with step (2.1) simultaneously, in the calculating path process, when traversing certain bar contact; Need consider simultaneously that in the current network other possibly be applied to the transmission demand amount (being that path capacity takies) of the data flow of this contact; And then calculate the residual capacity of this contact, the residual capacity size that the more current size that needs data packets for transmission contacts with this on this basis selects the enough paths of residual capacity to preserve.
Present embodiment is chosen next-hop node (Choose Next Hop) and is meant that from node listing C, choosing the neighbor node with minimal path delay jumps as next in step (2.3).
Delay T to all the path J among the neighbor node tabulation C of source node s
EAD[J] compares, choose neighbor node and jump as next with minimum delay, with data queue to the corresponding outlet formation of source node.Performed main operation promptly is that top step (2.1) and the selected path of step (2.2) are carried out last selection again in step (2.3); Mainly be according to current data transmission requirements target; From all paths, select the path in minimum delay, finally transfer out through underlying protocol.
Below only be preferred implementation of the present invention, protection scope of the present invention also not only is confined to the foregoing description, and all technical schemes that belongs under the thinking of the present invention all belong to protection scope of the present invention.Should be pointed out that for those skilled in the art some improvement and retouching not breaking away under the principle of the invention prerequisite should be regarded as protection scope of the present invention.