Abstract:
A switch route exploring method, system and device are provided in the present invention. The method comprises that: a transmitting source node NSource constructs a switch route exploring request packet and transmits it to a destination node NDestination; the switch route exploring request packet comprises information of switch route from the transmitting source node NSource to the destination node NDestination, wherein the information is known by the transmitting source node NSource; and the destination node NDestination constructs a switch route exploring response packet and transmits it to the transmitting source node NSource.

Description:
This application is a National Stage application of international application PCT/CN2011/070246 filed on Jan. 14, 2011, which claimed the priority of Chinese patent application No.201010195725.2 filed on Jun. 7, 2010. Both the international application and the Chinese patent application are incorporated herein by reference in their entireties. 
     FIELD OF THE INVENTION 
     The present invention relates to the field of network security, and in particular to a switching route discovery method, a system and a device thereof. 
     BACKGROUND OF THE INVENTION 
     A wired Local Area Network (LAN) is generally a broadcasting network, hence data transmitted from one node can be received by any other node. All nodes of the network share a channel, which may cause significant security risks on the network. Any attacker accessing the network is able to capture all the data packets on the network and steal key information by simply listening. 
     In the prior art, a LAN in accordance with the national specification GB/T 15629.3 (corresponding to IEEE 802.3 or ISO/IEC 8802-3) is not provided with a method to maintain the confidentiality of data; in order to protect the Ethernet, IEEE 802.1AE provides a data encryption protocol, specifically, a hop-by-hop encryption measure to realize secure data transmission between network nodes. However, this hop-by-hop encryption measure causes a huge computational load to the switching devices in the LAN and may induce attacks by attackers to the switching devices; moreover, the delay of transmitting a data packet from the transmitting node to the destination node is increased, and transmission efficiency of the network is degraded. 
     A wired LAN has a complex topological structure and involves a large number of nodes, therefore, data communication in the network is also complex. In order to select a secure communication method flexibly according to the network topology between two data communication parties in a LAN, it is desired to provide a mechanism to obtain the network topology between the data communication parties. 
     SUMMARY OF THE INVENTION 
     An object of the embodiments of the present invention is to provide a switching route discovery method, a system and a device thereof, which enable a node to acquire the information of the first switching device and the last switching device that a data packet from a transmitting source node to a destination node travels. 
     Technical solutions of the embodiments of the present invention include; 
     A switching route discovery method, including: 
     forming a switching route discovery request packet and transmitting the switching route discovery request packet to a destination node N Source  by a transmitting source node N Source , the switching route discovery request packet including inter-node switching route information from the transmitting source node N Source  to the destination node N Destination  that is known to the transmitting source node N Source ; 
     forming a switching route discovery response packet and transmitting the switching route discovery response packet to the transmitting source node N Source  by the destination node N Destination . 
     A switching route discovery system, including: a transmitting source node N Source , a first switching device SW-first, a last switching device SW-last and a destination node N Destination , wherein 
     the transmitting source node N Source  is adapted to form a switching route discovery request packet, transmit the switching route discovery request packet to the destination node N Destination , and receive a switching route discovery response packet from the destination node N Destination ; 
     the first switching device SW-first and the last switching device SW-last are adapted to modify and then forward the switching route discovery request packet from the transmitting source node N Source  to the destination node N Destination , and extract 4-tuple identifier information from the switching route discovery response packet from the destination node N Destination  to the transmitting source node N Source , store the 4-tuple identifier information, and then forward the switching route discovery response packet; 
     the destination node N Destination  is adapted to receive the switching route discovery request packet from the transmitting source node N Source , extract and store the 4-tuple identifier information, and then transmit the switching route discovery response packet to the transmitting source node N Source . 
     A terminal device, the terminal device including: 
     a switching route discovery request unit, adapted to, when the terminal device is a transmitting source node, transmit a switching route discovery request packet to a destination node, wherein the switching route discovery request packet includes 4-tuple identifier information that is known to the terminal device, and the 4-tuple identifier includes ID Source , ID SW-first , ID SW-last  and ID Destination , where ID Source  represents an identifier of the transmitting source node; ID SW-first  represents an identifier of a first switching device that a data packet from the transmitting source node to the destination node travels; ID SW-last  represents an identifier of a last switching device that a data packet from the transmitting source node to the destination node travels; and ID Destination  represents an identifier of the destination node; 
     a switching route discovery receiving unit, adapted to, when the terminal device is the transmitting source node, receive a switching route discovery response packet transmitted from the destination node after the switching route discovery request unit transmits the switching route discovery request packet to the destination node, and extract the 4-tuple identifier information from the packet, which is to be used as switching route information between the terminal device and the destination node. 
     A switching device, including: 
     a first switching route update unit, adapted to, when the switching device is a first switching device that a data packet from a transmitting source node to a destination node travels, update an ID SW-first  field in a 4-tuple identifier of a switching route discovery request packet with an identifier of the switching device on receipt of the switching route discovery request packet transmitted from the transmitting source node to the destination node, and then forward the switching route discovery request packet, wherein the switching route discovery request packet includes 4-tuple identifier information that is known to the switching device, and the 4-tuple identifier includes ID Source , ID SW-first , ID SW-last  and ID Destination , where ID Source  represents an identifier of the transmitting source node; ID Destination  represents an identifier of the destination node; the ID SW-first  field represents an identifier of the first switching device that a data packet from the transmitting source node to the destination node travels; and the ID SW-last  field represents an identifier of a last switching device that a data packet from the transmitting source node to the destination node travels; 
     a second switching route update unit, adapted to, when the switching device is the last switching device that a data packet from the transmitting source node to the destination node travels, update the ID SW-last  field in the 4-tuple identifier of the switching route discovery request packet with an identifier of the switching device on receipt of the switching route discovery request packet transmitted from the transmitting source node to the destination node, and then forward the switching route discovery request packet. 
     The switching route discovery method, system and device according to the embodiments of the present invention enable the transmitting source node N Source  and the destination node N Destination  to obtain the information of the first switching device and the last switching device that a communication data packet between them travels, and allow the first switching device and the last switching device from the transmitting source node to the destination node to acknowledge their special places on the link between the transmitting source node and the destination node. Therefore, in subsequence secure communication, a suitable secure communication mechanism can be selected flexibly by using the obtained switching route information. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a schematic diagram of a switching route discovery protocol packet according to an embodiment of the present invention; 
         FIG. 2  is a flowchart of a switching route discovery protocol according to an embodiment of the present invention; 
         FIG. 3  is a flowchart of a switching route discovery message from a user terminal to a user terminal according to a first embodiment of the present invention; 
         FIG. 4  is a flowchart of a switching route discovery message from a switching device to a user terminal according to a second embodiment of the present invention; 
         FIG. 5  is a flowchart of a switching route discovery message from a user terminal to a switching device according to a third embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     A switching route discovery method according to an embodiment of the present invention enables a node to acquire the information of the first switching device and the last switching device that a data packet from a transmitting source node to a destination node travels. 
     Referring to  FIG. 1 , the switching route discovery method provided by the embodiment of the present invention mainly includes the following two steps: 
     1) a transmitting source node N Source  forms a switching route discovery request packet and transmits the switching route discovery request packet to a destination node N Destination ; 
     2) the destination node N Destination  forms a switching route discovery response packet and transmits the switching route discovery response packet to the transmitting source node 
     N Source . 
     Preferably, in the embodiment of the present invention, a 4-tuple identifier may be defined as inter-node switching route information from the transmitting source node N Source  to the destination node N Destination :
         [ID Source , ID SW-first , ID SW-last , ID Destination ]   where   ID Source  represents an identifier of the transmitting source node N Source ;   Id SW-first  represents an identifier of a first switching device that a data packet from the transmitting source node N Source  to the destination node N Destination  travels;   ID SW-last  represents an identifier of a last switching device that a data packet from the transmitting source node N Source  to the destination node N Destination  travels; and   ID Destination  represents an identifier of the destination node N Destination .       

     It should be noted that the embodiment of the present invention does not limits the order of the elements in the 4-tuple identifier. 
     Either or both of the transmitting source node N Source  and the destination node N Destination  can be user terminals or switching devices. ID SW-first  is also ID Source  when the transmitting source node N Source  is a switching device. ID SW-last  is also ID Destination  when the destination node N Destination  is a switching device. In some cases, the first switching device SW-first and the last switching device SW-last on the route from the transmitting source node N Source  to the destination node N Destination  may be the same switching device, i.e., ID SW-first  and ID SW-last  in the 4-tuple identifier may be the same. 
     Preferably, according to the embodiment of the present invention, a switching device that can receive the data packet between the transmitting source node N Source  and the destination node N Destination  but does not appear in the switching route information 4-tuple identifier is defined to be an intermediate switching device. Data from the transmitting source node N Source  to the destination node N Destination  might not go through any intermediate switching device or may go through multiple intermediate switching devices. 
     In a network, in order to acquire switching route information from a transmitting source node N Source  to a destination node N Destination , a switching route discovery process is initiated. 
     Specifically, a switching route discovery process is shown in  FIG. 2 , and the transmitting source node N Source  forming the switching route discovery request packet and transmitting the switching route discovery request packet to the destination node N Destination  in the above step 1) may include: 
     1.1) the transmitting source node N Source  forms the switching route discovery request packet and transmits the switching route discovery request packet to the destination node N Destination , and the packet mainly includes a 4-tuple identifier [ID Source , ID SW-last , ID Destination ],
         where   ID Source : its value is an identifier of the transmitting source node N Source ;   ID SW-first : its value is ID Source  when the transmitting source node N Source  is a switching device; its value is unknown when the transmitting source node N Source  is a user terminal;   ID SW-last : its value is ID Destination  when the destination node N Destination  is a switching device; its value is unknown when the destination node N Destination  is a user terminal;   ID Destination :its value is an identifier of the destination node N Destination .       

     1.2) on receipt of the switching route discovery request packet, a switching device SW-first finds that the ID SW-first  field in the 4-tuple identifier is unknown and that the transmitting source node N Source  is its neighboring node, fills the ID SW-first  field in the 4-tuple identifier with its own identifier information, and then forwards the switching route discovery request packet. 
     1.3) the intermediate switching device SW-M directly forwards the switching route discovery request packet. 
     1.4) on receipt of the switching route discovery request packet, the switching device SW-last finds that the ID SW-last  field in the 4-tuple identifier is unknown and that the destination node N Destination  identified in ID Destination  is its neighboring node, fills the ID SW-last  field in the 4-tuple identifier with its own identifier information, and then forwards the switching route discovery request packet. 
     Preferably, according to a specific implementation of the above step 1), on receipt of the switching route discovery request packet, each of the switching devices may firstly determine whether itself is SW-first: whether me ID SW-first  field is unknown and whether the transmitting source node N Source  is its neighboring node, and if so, the switching device fills the ID SW-first  field in the 4-tuple identifier with its own identifier information; then the switching device may determine whether itself is SW-last: whether the ID SW-last  field is unknown and whether the destination node N Destination  is its neighboring node, and if so, the switching device may fill the ID SW-last  field in the 4-tuple identifier with its own identifier information. If the switching device is neither SW-first nor SW-last, it is an intermediate switching device. In some cases, SW-first and SW-last may be the same switching device. 
     Specifically, the destination node N Destination  forming the switching route discovery response packet and transmitting the switching route discovery response packet to the transmitting source node N Source  in the above step 2) may include: 
     2.1) on receipt of the switch rout discovery request packet, the destination node N Destination  records 4-tuple identifier information [ID Source , ID SW-first , ID SW-last , ID Destination ] of the switching route discovery request packet, encapsulates the 4-tuple identifier into the switching route discovery response packet, and transmits the switching route discovery response packet to the transmitting source node N Source . 
     2.2) on receipt of the switching route discovery response packet, the switching device SW-last finds that itself is in the 4-tuple identifier, records the 4-tuple identifier information, and then forwards the switching route discovery response packet. 
     2.3) the intermediate switching device SW-M directly forwards the switching route discovery response packet. 
     2.4) on receipt of the switching route discovery response packet, the switching device SW-first finds that itself is in the 4-tuple identifier, records the 4-tuple identifier information, and then forwards the switching route discovery response packet. 
     2.5) on receipt of the switching route discovery response packet, the transmitting source node N Source  records the 4-tuple identifier information, which concludes the switching route discovery process. 
     Preferably, according to a specific implementation of the above step 2), on receipt of the switching route discovery response packet, each of the switching devices may firstly determine whether itself is in the 4-tuple identifier, and if so, records the 4-tuple identifier information; otherwise, directly forwards the switching route discovery response packet. 
     In the whole network, only the transmitting source node N Source , the first switching device SW-first, the last switching device SW-last and the destination node N Destination  have to record the switching route information from the transmitting source node N Source  to the destination node N Destination . If the transmitting source node N Source  is a switching device, then the first switching device SW-first that a data packet from the transmitting source node N Source  to the destination node N Destination  travels is N Source  itself, i.e., SW-first is N Source . If the destination node N Destination  is a switching device, then the last switching device SW-last that a data packet from the transmitting source node N Source  to the destination node N Destination  travels is N Destination  itself, i.e., SW-last is N Destination . 
     In a specific implementation, the transmitting source node N Source  may put some identifier information in the switching route discovery request packet while forming the packet. The identifier information may be clock, a sequence number or a random number, to identify the freshness of the current switching route discovery. Correspondingly, the destination node N Destination  may put the same identifier information in the switching route discovery response packet while forming the packet On receipt of a switching route discovery response packet, the transmitting source node N Source  has to check whether the identifier information in the packet is consistent with the identifier information in a previously-transmitted switching route discovery request packet. 
     In a specific implementation, in order to prevent switching route information between the transmitting source node N source  and the destination node N Destination  from being leaked, the 4-tuple identifier in the switching route discovery request packet and the switching route discovery response packet between the transmitting source node and the destination node maybe transmitted in a hop-by-hop encryption manner. 
       FIG. 3  is a flowchart of a switching route discovery message from a user terminal STA 1  to a user terminal STA 2  according to Embodiment 1 of the present invention, where the switching device SW-A is a neighboring node of STA 1 , the switching device SW-B is a neighboring node of STA 2 , the first node that a data packet from STA 1  to STA 2  travels is STA 1 , while the last node is STA 2 , and SW-M is an intermediate switching device. The whole process of switching route discovery involves two packets, i.e., a switching route discovery request packet and a switching route discovery response packet. 
     The process of transmitting the switching route discovery request packet from STA 1  to STA 2  is described below:
         STA 1  forms the switching route discovery request packet, the 4-tuple identifier being [ID STA1 , ?, ?, ID STA2 ];   SW-A modifies the switching route discovery request packet, the resulting 4-tuple identifier being [ID STA1 , ID SW-A , ?, ID STA2 ], and then forwards the switching route discovery request packet;   SW-M directly forwards the switching route discovery request packet;   SW-B modifies the switching route discovery request packet, the resulting 4-tuple identifier being [ID STA1 , ID SW-A , ID SW-B , ID STA2 ], and then forwards the switching route discovery request packet;       

     STA 2  receives the switching route discovery request packet, stores the 4-tuple identifier information, and forms the switching route discovery response packet.
         The process of transmitting the switching route discovery response packet from STA 2  to STA 1  is described below:   after receiving the switching route discovery request packet and storing the 4-tuple identifier information, STA 2  encapsulates the obtained 4-tuple identifier information into the switching route discovery response packet, and transmits the switching route discovery response packet to STA 1 ;   SW-B records the 4-tuple identifier information in the switching route discovery response packet, and then forwards the switching route discovery response packet;   SW-M directly forwards the switching route discovery response packet;   SW-A records the 4-tuple identifier information in the switching route discovery response packet, and then forwards the switching route discovery response packet;   STA 1  receives the switching route discovery response packet, and records the 4-tuple identifier information in the switching route discovery response packet.       

       FIG. 4  is a flowchart of a switching route discovery message from a switching device SW-A to a user terminal STA 2  according to Embodiment 2 of the present invention. The whole process involves two packets, i.e., a switching route discovery request packet and a switching route discovery response packet. 
     The process of transmitting the switching route discovery request packet from SW-A to STA 2  is described below:
         SW-A forms tine switching route discovery request packet, the 4-tuple identifier being [ID SW-A , ID SW-A , ?, ID STA2 ];   SW-M directly forwards the switching route discovery request packet;   SW-B modifies the switching route discovery request packet, the resulting 4-tuple identifier being [ID SW-A , ID SW-A , ID SW-B , ID STA2 ], and then forwards the switching route discovery request packet;   STA 2  receives the switching route discovery request packet, stores the 4-tuple identifier information, and forms the switching route discovery response packet.       

     The process of transmitting the switching route discovery response packet from STA 2  to SW-A is described below:
         after receiving the switching route discovery request packet and storing the 4-tuple identifier information, STA 2  encapsulates the obtained 4-tuple identifier information into the switching route discovery response packet, and transmits the switching route discovery response packet to SW-A;   SW-B records the 4-tuple identifier information in the switching route discovery response packet and then forwards the switching route discovery response packet;   SW-M directly forwards the switching route discovery response packet;   SW-A records the 4-tuple identifier information in the switching route discovery response packet.       

       FIG. 5  is a flowchart of a switching route discovery message from a user terminal STA 1  to a switching device SW-B according to Embodiment 3 of the present invention. The whole process involves two packets, i.e., a switching route discovery request packet and a switching route discovery response packet. 
     The process of transmitting the switching route discovery request packet from STA 1  to SW-B is described below:
         STA 1  forms the switching route discovery request packet, the 4-tuple identifier being [ID STA1 , ?, ID SW-B , ID SW-B ];   SW-A modifies the switching route discovery request packet, the resulting 4-tuple identifier being [ID STA1 , ID SW-A , ID SW-B , ID SW-B ], and then forwards the switching route discovery request packet;   SW-M directly forwards the switching route discovery request packet;   SW-B stores the 4-tuple identifier information and forms the switching route discovery response packet.       

     The process of transmitting the switching route discovery response packet from SW-B to STA 1  is described below:
         SW-B encapsulates the obtained 4-tuple identifier information into the switching route discovery response packet and transmits the switching route discovery response packet to STA 1 ;   SW-M directly forwards the switching route discovery response packet;   SW-A records the 4-tuple identifier information in the switching route discovery response packet, and then forwards the switching route discovery response packet;   STA 1  receives the switching route discovery response packet, and records the 4-tuple identifier information in the switching route discovery response packet,       

     A switching route discovery system is also provided by an embodiment of the present invention, and the switching route discovery system includes: a transmitting source node N Source  a first switching device SW-first, a last switching device SW-last and a destination node N Destination . The transmitting source node N Source  is adapted to form a switching route discovery request packet, transmit the switching route discovery request packet to the destination node N Destination , and receive a switching route discovery response packet from the destination node N Destination . The first switching device SW-first and the last switching device SW-last are adapted to modify and then forward the switching route discovery request packet from the transmitting source node N Source  to the destination node N Destination , extract 4-tuple identifier information from the switching route discovery response packet from the destination node N Destination  to the transmitting source node N Source  store the 4-tuple identifier information and then forward the switching route discovery response packet. The destination node N Destination  receives the switching route discovery request packet from the transmitting source node N Source , extracts and stores the 4-tuple identifier information, and then transmits the switching route discovery response packet to the transmitting source node N Source . 
     The switching route discovery system may further include: an intermediate switching device SW-M, the intermediate switching device SW-M being a switching device that can receive a communication data packet between the transmitting source node N Source  and the destination node N Destination  but does not appear in the 4-tuple identifier. The intermediate device SW-M directly forwards the switching route discovery request packet and the switching route discovery response packet between the transmitting source node N Source  and the destination node N Destination .