Embodiment
This resource reservation implementation method provided by the invention towards transmit leg with the ability of recalling, the sending direction recipient sends a reservation requests, comprised professional quality of service requirement in this reservation requests, reservation requests is transmitted downstream according to the route of routing algorithm selection or according to the route of explicit route object regulation, each node attempts reserving enough resources according to the service quality of stipulating in the reservation requests on the way, if reserve successfully, just reservation requests is continued to transmit downstream, simultaneously this node is recorded in record (RECORDROUTE) object of path, if reserve failure, node can continue to allow upstream node attempt other path according to the value decision of the fault-tolerant territory AFT in the reservation requests (Allowed Failed Times) or return reservation error information to transmit leg, allow upstream node continue to attempt other path if judge, then this node hop node that will make progress sends one and reserves retry message, a last hop node can be reselected next jumping according to routing table information, after reservation requests arrives the recipient, article one, the packet-switched path of reserved resource has just been set up, its each intermediate node information of going through is included in the record object of path, the recipient should also should comprise corresponding path description object to reservation confirmation message of transmit leg loopback in this message.
This resource reservation implementation method provided by the invention towards transmit leg with the ability of recalling, transmit leg has the power to make decision of reserved resource, it constructs corresponding QoS parameter description object as required, how many resources this object has determined to need to reserve, the sending direction recipient sends reservation requests, remove in this message and comprise QoS parameter description object (comprising stream description object FLOWSPEC and filter description object FILTER_SPEC), session object in order to descriptive session information, outside the path record object in order to record path information, can also optionally comprise explicit route object, in addition, comprised a fault-tolerant territory in the head of message, the value in fault-tolerant territory shows the number of times that can recall in the reservation procedure, if reservation request message contains explicit route object, then the value in fault-tolerant territory must be set to 0; Reservation requests is transmitted downstream according to the route of routing algorithm selection or according to the route of explicit route object regulation, each node attempts reserving enough resources according to the service quality of stipulating in the reservation requests on the way, if reserve successfully, just request message is continued to transmit downstream, simultaneously this node is recorded in the record object of path, if reserve failure, node is recalled inspection, whether the value of judging fault-tolerant territory AFT is 0, if the value of fault-tolerant territory AFT is not 0, then decision is upstream recalled, this node can subtract 1 to the value of fault-tolerant territory AFT, and upwards a hop node sends a reservation retry message Resv_Retry, upstream node can be reselected next jumping after receiving and reserving retry message Resv_Retry, and next is jumped then passes the reservation retry message Resv_Retry structure reservation requests Resv_Req that comes according to the downstream accordingly if having, and sends out to next redirect, if there is not next jumping, then recall inspection once more; After reservation requests Resv_Req arrives the session recipient, article one, the packet-switched path of reserved resource has just been set up, its each intermediate node information of going through is included among the record object RECORD ROUTE of path, the recipient should successfully confirm Resv_Conf message to reservation of transmit leg loopback, also should comprise corresponding path description object ROUTE DESCRIPTOR in this message, check that the value of finding fault-tolerant territory AFT is 0 if recall, then reserve failure, failure node can send reservation error message Resv_Err to the session initiator, has comprised corresponding error description object ERRORSPEC in this message.
The present invention is a kind of method for obligating resource towards transmit leg that has the ability of recalling on packet network, and its implementation is as follows:
In the process that first resource is reserved, may comprise four kinds of dissimilar message: reservation requests Resv_Req, reservation confirmation message Resv_Conf, reservation error message Resv_Err reserves retry message ResV_Retry.
The form of four kinds of message all constitutes by connecing a series of objects behind a public COMMON HEADER.The form of common headers COMMON HEADER is as follows.
0 3 8 16 31
++++++++++++++++++++++++++++++++++++++++++++++++
+Vers+AFT+ Msg?Type + Check?Sum +
++++++++++++++++++++++++++++++++++++++++++++++++
+Send?TTL?+ (Reserved)+ Length +
++++++++++++++++++++++++++++++++++++++++++++++++
+ Msg?ID +
++++++++++++++++++++++++++++++++++++++++++++++++
Vers: version number, 4, current version is 1.
AFT: fault-tolerant territory, 4, the number of times that the request of indicating can be recalled.
Msg_Type: type of message, 1 byte, Resv_Req is 1, and Resv_Conf is 2, and Resv_Err is 3, and Resv_Retry is 4.
Check Sum: verification and, 2 bytes are carried out completeness check to message, complete 0 expression need not verification.
Send TTL: life cycle, 1 byte.
Length: length field, 2 bytes, the total length of message.
Msg ID: message flag symbol, 2 bytes.
In addition, comprise following 8 objects among the present invention: stream description object FLOWSPEC, filter description object FILTER_SPEC, session object SESSION, route display object EXPLICITROUTE, path record object RECORD ROUTE, path description object ROUTEDESCRIPTOR, error description object ERRORSPEC confirms object CONFIRM.Each object all is made up of identical header field and particular content.Form is as follows:
0 8 16 24 31
+++++++++++++++++++++++++++++++++++++++++++++++++
+ Length + Class + Type +
+++++++++++++++++++++++++++++++++++++++++++++++++
+ +
+ Object?content +
+ +
+++++++++++++++++++++++++++++++++++++++++++++++++
Length: length field, 2 bytes, object length.
Class: classification, 1 byte, session object SESSION is 1, confirm that object CONFIRM is 2, explicit route object EXPLICIT ROUTE is 3, and path record object RECORDROUTE is 4, path description object ROUTE DESCRIPTOR is 5, error description object ERRORSPEC is 6, and stream description object FLOWSPEC is 7, and filter object FILTER_SPEC is 8.
Type: type, 1 byte, the particular type of same classification the inside.
Object content: content, one or more words indicate the particular content of object.
When the initiator of session wanted to set up a resource reservation path, it at first sent a reservation requests Resv_Req to the recipient of session.Reservation requests Resv_Req form is as follows,<Resv_Req message 〉: :=<COMMON HEADER〉<SESSION〉[<EXPLICIT
ROUTE>]
<FLOWSPEC><FILTER_SPEC><RECORD
ROUTE>
Wherein, the form of public COMMON HEADER as previously shown, the form of stream description object FLOWSPEC is referring to RFC2210, the form of option explicit route object EXPLICITROUTE and path record object RECORD ROUTE is referring to RFC3209, the form of filter object FILTER_SPEC is referring to RFC2205, the form of session object SESSION is as follows
Session object SESSION, the value in classification Class territory is 1.It is divided into two types of IPv4 session and IPv6 sessions, and the value in IPv4 conversation type Type territory is 1, and the value in IPv6 conversation type Type territory is 2, and the content field form is as follows,
IPv4 SESSION object Class=1, Type=1
0 8 16 24 31
+++++++++++++++++++++++++++++++++++++++++++++++++
+ Source?IP?Address +
+++++++++++++++++++++++++++++++++++++++++++++++++
+ Source?Port + Dest?IP?Address +
+++++++++++++++++++++++++++++++++++++++++++++++++
+ Dest?IP?Address?+ Dest?Port +
+++++++++++++++++++++++++++++++++++++++++++++++++
+ Protocol?ID?+?Flags?+ (Reserved) +
+++++++++++++++++++++++++++++++++++++++++++++++++
IPv6 SESSION object Class=1, Type=2
0 8 16 24 31
++++++++++++++++++++++++++++++++++++++++++++++++++
+ +
+ Source?IP?Address +
+ +
+ +
++++++++++++++++++++++++++++++++++++++++++++++++++
+ Source?Port + Dest?IP?Address +
++++++++++++++++++++++++++++++++++++++++++++++++++
+ +
+ Dest?IP?Address +
+ +
++++++++++++++++++++++++++++++++++++++++++++++++++
+ Dest?IP?Address + Dest?Port +
++++++++++++++++++++++++++++++++++++++++++++++++++
+ Protocol?ID?+ Flags + (Reserved) +
+++++++++++++++++++++++++++++++++++++++++++++++++++
Source IPAddress: session source address, 32 of IPv4 addresses, 128 of IPv6 addresses.
Source Port: session source port, 32.
Dest IP Address: session destination address, 32 of IPv4 addresses, 128 of IPv6 addresses.
Dest Port: session destination interface, 32.
Protocol ID: agreement ID, 1 byte is indicated used IP agreement.
Flags: mark, 1 byte.
If comprised explicit route object EXPLICITROUTE among the reservation requests Resv_Req, the value of fault-tolerant territory AFT must be set to 0 among public COMMON HEADER, and expression message can only be reserved along the path of explicit route regulation, does not allow to recall.
Reservation requests Resv_Req perhaps transmits along the path that routing algorithm is selected downstream along the path (if explicit route object EXPLICIT ROUTE is arranged) of explicit route regulation.After intermediate node receives reservation requests Resv_Req, can check the QoS parameter that comprises in the message, judge whether that according to the current available resource situation of this node enough resources support this session then, if have, node just reserves enough resources to guarantee the service quality of session for this session, then the address information recording of this node is write down among the object RECORDROUTE in the path.Last this node is sought next jumping according to the situation of Route Selection again, if having found next jumping just sends out reservation requests Resv_Req to next redirect, if do not find next jumping, just removing before was that the nodal information among the object RECORDROUTE is write down in this session reserved resource and path, attempted then recalling; If intermediate node does not have enough resources in order to support this session, node also will be attempted recalling.
Concrete steps are recalled in trial, node checks at first whether the value of the fault-tolerant territory AFT among public the COMMON HEADER is 0, if be 0, explanation has not allowed to have been recalled for this request again, and so current failure node will send a reservation error message Resv_Err to the originating end of session.The form of reservation error message Resv_Err is as follows,
<Resv_Err message> ::= <COMMONHEADER><SESSION><ERRORSPEC>
Wherein, the form of public COMMON HEADER and session object SESSION as previously mentioned, the form of error description object ERRORSPEC is as follows,
Error description object ERRORSPEC, the value in classification Class territory is 6.It is divided into two types of IPv4 session and IPv6 sessions, and the value in IPv4 conversation type Type territory is 1, and the value in IPv6 conversation type Type territory is 2, and the content field form is as follows,
IPv4 ERRORSPEC object Class=6, Type=1
0 8 16 24 31
+++++++++++++++++++++++++++++++++++++++++++++++
+ Error?node?IP?Address +
+++++++++++++++++++++++++++++++++++++++++++++++
+ Flags + Error?Code?+ Error?Value +
+++++++++++++++++++++++++++++++++++++++++++++++
IPv6ERRORSPEC object Class=6, Type=2
0 8 16 24 31
+++++++++++++++++++++++++++++++++++++++++++++++
+ +
+ Error?node?IP?Address +
+ +
+ +
+++++++++++++++++++++++++++++++++++++++++++++++
+ Flags?+ Error?Code?+Error?Value +
+++++++++++++++++++++++++++++++++++++++++++++++
Error node IP Address: reserve the failure node address, 32 of IPv4 addresses, 128 of IPv6 addresses.
Flags: mark, 1 byte.
Error Code: error code, 8.
Error Value: improper value, 16.Error code and improper value are in order to describe wrong specifying information.
Reservation error message Resv_Err is along the back transfer of path record object RECORD ROUTE record path, and the node of going through all can be removed and be this session reserved resource.After the originating end of session was received the reservation error message Resv_Err that intermediate node sends, this resource reservation path was set up and is just ended in failure.
If the said value of recalling the fault-tolerant territory AFT of inspection discovery in front is not 0, illustrate that this request also allows to recall, failure node just subtracts 1 to the value of fault-tolerant territory AFT so, upwards a hop node sends and reserves retry message Resv_Retry then, and the address information of a last hop node can write down the object RECORD ROUTE from the path and obtain.The form of reserving retry message Resv_Retry is as follows,
<Resv_Retry message> :: =<COMMONHEADER><SESSION><FLOWSPEC> <FILTER_SPEC><RECORDROUTE>
Wherein, the form of public COMMON HEADER and session object SESSION as previously mentioned, the form of stream description object FLOWSPEC is referring to RFC2210, and the form of filter description object FILTER_SPEC is referring to RFC2205, and the form of path record object RECORD ROUTE is referring to RFC3209.
After a last hop node is received reservation retry Resv_Retry message, it can recomputate according to routing table information, select next jumping of another neighbor node as the resource reservation path, if such neighbor node is arranged, present node will re-construct reservation request Resv_Req message according to the content of reserving retry message Resv_Retry so.Reserve and comprised relevant service quality description (comprising stream description object FLOWSPEC and filter description object FILTER_SPEC) and conversation description object SESSION and path record object RECORD ROUTE among the retry message Resv_Retry, these objects are the reservation requests Resv_Req content that need comprise just, so node is easy to re-construct reservation requests Resv_Req according to these information.Behind the good reservation requests Resv_Req of joint structure, just this message is transmitted to selected again next-hop node; If select the operation failure of next jumping, node will be removed previous this session reserved resource that is so, and removes the address information of this node among the record object RECORD ROUTE of path, and continuation is attempted recalling then.
After the relaying of a series of intermediate nodes of reservation requests Resv_Req process was transmitted the recipient of the final arrival of operation session, the resource reservation path with service quality assurance had just been set up.At this moment, the recipient need construct corresponding affirmation object CONFIRM and path description object ROUTE DESCRIPTOR, and replys a reservation confirmation message Resv_Conf to transmitting terminal.The form of reservation confirmation message is as follows,
<Resv_Conf message> ::= <COMMONHEADER><SESSION><CONFIRM><ROUTEDESCRIPTOR>
Wherein, the form of public COMMON HEADER and session object SESSION confirms that the form of object CONFIRM and path description object ROUTE DESCRIPTOR is as follows as previously mentioned,
Confirm object CONFIRM, the value in classification Class territory is 2.It is divided into two types of IPv4 session and IPv6 sessions, and the value in IPv4 conversation type Type territory is 1, and the value in IPv6 conversation type Type territory is 2, and the content field form is as follows,
IPv4CONFIRM object Class=2, Type=1
0 8 16 24 31
++++++++++++++++++++++++++++++++++++++++++++++++
+ Source?IP?Address +
++++++++++++++++++++++++++++++++++++++++++++++++
+ Request?Msg?ID +
++++++++++++++++++++++++++++++++++++++++++++++++
IPv6 CONFIRM object Class=2, Type=2
0 8 16 24 31
+++++++++++++++++++++++++++++++++++++++++++++++++
+ +
+ Source?IP?Address +
+ +
+ +
+++++++++++++++++++++++++++++++++++++++++++++++++
+ Request?Msg?ID +
+++++++++++++++++++++++++++++++++++++++++++++++++
Source IPAddress: session source address, 32 of IPv4 addresses, 128 of IPv6 addresses.
Request Msg ID: the identifier of request message, 32, which resource reservation request what expression was confirmed is.
Path description object ROUTE DESCRIPTOR, the value in classification Class territory is 5.The content territory form and the explicit route object of object are identical, referring to RFC3209.The effect of path description object ROUTE DESCRIPTOR is that the originating end to session provides the resource reservation path to go through the Verbose Listing of node.
When reservation confirmation message Resv_Conf arrived the originating end of session, first resource reservation request process finished.The session source node just can utilize the routing information that writes down among the path description object ROUTEDESCRIPTOR to transmit session service.
As shown in Figure 1, the treatment step of each incident is as follows among Fig. 1:
Step S1.1: the session source node sends reservation requests Resv_Req message request to downstream node and sets up the resource reservation path, has comprised the desired QoS parameter of this session in this message;
Step S1.2: downstream node receives reservation requests Resv_Req;
Step S1.3: node judges whether oneself is the destination node of session, if, enter S1.22, if not, S1.4 entered;
Step S1.4: whether node is judged oneself has enough resource reservation to give this session, if having, to enter S1.5, if do not have, to enter S1.12;
Step S1.5: node is reserved enough resources with reference to the quality of service requirement among the reservation requests Resv_Req for this session;
Step S1.6: node is recorded in the information of this node among the record object RECORD ROUTE of path;
Step S1.7: node is according to routing table information or route display object EXPLICIT ROUTE chooses next-hop node;
Step S1.8:,, enter S1.10 if do not have if there is corresponding next-hop node to enter S1.9;
Step S1.9: node is sent out reservation requests Resv_Req to next redirect;
Step S1.10: node is removed and is this session reserved resource;
Step S1.11: node is removed the information of this node among the record object RECORD ROUTE of path;
Step S1.12: node judges whether the value of fault-tolerant territory AFT in the message is 0, if, enter S1.13, if not, S1.15 entered;
Step S1.13: node sends reservation error message Resv_Err to source node, and this message writes down the back transfer of record path among the object RECORD ROUTE along the path, and the node of going through all can be removed and be this session reserved resource;
Step S1.14: source node is received reservation error message Resv_Err, and failure is set up in the resource reservation path;
Step S1.15: the value of fault-tolerant territory AFT subtracts 1 in the message header;
Step S1.16: node sends reserves retry message Resv_Retry to a last hop node;
Step S1.17: a last hop node is received and is reserved retry message Resv_Retry;
Step S1.18: a last hop node attempts selecting other node to jump as next;
Step S1.19: if corresponding next-hop node is arranged, enter S1.20,, enter S1.10 if do not have;
Step S1.20: node re-constructs reservation requests Resv_Request according to reserving retry message Resv_Retry;
Step S1.21: node is sent out reservation requests Resv_Req to next redirect;
Step S1.22: reservation requests Resv_Req arrives the session destination node, and the destination node structure is confirmed object CONFIRM object and path description object ROUTE DESCRIPTOR;
Step S1.23: destination node sends reservation confirmation message Resv_Conf to the session source node;
Step S1.24: source node is received reservation confirmation message Resv_Conf, and the resource reservation path is set up successfully.