I. Field of the Invention
The present invention generally relates to methods and systems for routing data traffic along a specific route. More particularly, the present invention relates to a data traffic router configured within a networked environment to appear as a standard network router that, for example, causes data to be transmitted through a prescribed data path.
II. Background Information
Internet Protocol (IP) networks have been designed to route traffic using the most efficient path available. In some situations, hardware components used in transmitting data from a source to a destination over a network need to be tested to ensure proper operation. However, instances may occur in which not all hardware components reside within the same data traffic area network (LAN), wide area network (WAN), or location in general. Thus, testing the hardware components is difficult because normal data transmissions occur using the shortest or most efficient route and may not use the hardware component desired to be tested. In order to perform testing on designated equipment, the data traffic must follow a specific route.
A conventional strategy used to route data traffic along a specific path is modify a host application (an application which supplies test data) in order to establish a connection with a remote system housing the hardware components desired to be tested. Another conventional strategy forces network administrators to modify each router in a network thereby causing the data to follow a desired path. These strategies often are problematic because they require an in depth knowledge of data routing within the network, and require considerable time altering network hardware for each test.
In addition, it can be very time consuming, costly, and error prone to redesign software and reconfigure network devices to force traffic to follow a path other than the preferred path. There is a need for a system that minimizes the impact on the network and application software, requiring no custom network configuration.
Consistent with embodiments of the present invention, systems and methods are disclosed for a data traffic router. In accordance with one embodiment, a method for routing data from a source to a destination according to a prescribed datapath comprising routing the data from the source to a first router by manipulating a frame header, routing the data from the first router to a second router by manipulating the frame header, associating a first packet header with a second packet header used to route the data from the second router to a third router, wherein the second packet header contains an address associated with the destination, routing the data from the second router to the third router using the first packet header, wherein the first packet header contains an address associated with hardware within the prescribed datapath, disassociating the first packet header from the second packet header used to route the data from the second router to a third router, and routing the data to the destination using the second packet header.
According to another embodiment, computer-readable medium which stores a set of instructions which when executed performs a method for routing data from a source to a destination according to a prescribed datapath, the method executed by the set of instructions comprising routing the data from the source to a first router by manipulating a frame header, routing the data from the first router to a second router by manipulating the frame header, associating a first packet header with a second packet header used to route the data from the second router to a third router, wherein the second packet header contains an address associated with the destination, routing the data from the second router to the third router using the first packet header, wherein the first packet header contains an address associated with hardware within the prescribed datapath, disassociating the first packet header from the second packet header used to route the data from the second router to a third router, and routing the data to the destination using the second packet header.
In accordance with yet another embodiment, a system for routing data from a source to a destination according to a prescribed datapath, comprising a first data router, a second router and a third router. The first router is configured to receive a data packet from the source and route the data packet to the second router. The data packet routed by the first router to the second router includes a first header and a second header that are associated. The first header of the data packet routes the data packet to a location along the prescribed data path. The second header of the data packet contains original IP header information, which directs the data packet to its final destination. The second router routes the data packet to a third router using the first header of the packet that contains an address associated with hardware along the prescribed data path. The data packet travels through a plurality of hardware devices along the prescribed data path and is finally transmitted to the final destination upon a hardware device reading the information in the second header.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only, and should not be considered restrictive of the scope of the invention, as described and claimed. Further, features and/or variations may be provided in addition to those set forth herein. For example, embodiments of the invention may be directed to various combinations and sub-combinations of the features described in the detailed description.
Non-limiting and non-exhaustive embodiments are described with reference to the following figures, wherein like reference numerals refer to like parts throughout the various views unless otherwise specified.
The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts. While several exemplary embodiments and features of the invention are described herein, modifications, adaptations and other implementations are possible, without departing from the spirit and scope of the invention. For example, substitutions, additions or modifications may be made to the components illustrated in the drawings, and the exemplary methods described herein may be modified by substituting, reordering, or adding stages to the disclosed methods. Accordingly, the following detailed description does not limit the invention. Instead, the proper scope of the invention is defined by the appended claims.
The data traffic router implements systems and methods that facilitate the routing of data traffic along a prescribed data path. This is a preferred method used to test desired hardware components within a networked environment. The system uses a data traffic router connected to a source to insert a tunneling Internet Protocol (IP) header onto each data packet of interest in order to force other routers in a network to send the data traffic through the prescribed path (i.e., tunneling-embedding IP Packet header information into a message while maintaining the original IP Packet header information from the original message). At an intermediate destination, a second data traffic router connected to the intermediate destination removes the tunneling IP header prior to sending the data to an additional destination.
A data traffic router appears as a standard network router to any system on the network. However, it utilizes tunneling to ensure that the data traffic follows a prescribed path. Since the data traffic router is a separate piece of hardware, it can support tunneling of a network's data traffic using many network hardware configurations or software architectures. Because the data traffic router uses tunneling, systems on the network operate as though the data traffic router is not connected (transparent). Thus, the data traffic router facilitates the routing of data traffic along a prescribed path without having to reconfigure routers in the network, and without having to either install or modify software on a source application system that is generating the network traffic. Additionally, the data traffic router may be connected to a network quickly and may be disconnected from a network quickly thereby avoiding the coordination that is typically necessary to reconfigure routers in the network. Accordingly, the data traffic router can allow systems to be tested and integrated faster while incurring a minimal impact on an existing network infrastructure.
When first device 202 needs to communicate with the second device 228, instead of communicating along the shortest path by transmitting data through the first LAN 204 directly to the first network router 208, through a communications medium 210, such as the Internet, to the third network router 222, through the third LAN 226 to the second device 228, the data traffic router facilitates the communication along an alternative path. In the present embodiment, the alternative path is desirable to test hardware such as first hardware device 218 and second hardware device 220. Transmission of data along the alternative path begins at a first source location 290 (Site A), at which the first device 202, the first data traffic router 206 and the first network router 208 are operatively connected to each other through the first LAN 204. In order to communicate with a destination location 294 (Site B) using the alternative path, a data packet is transmitted along a data path that includes passing data through a first hardware device 218 and a second hardware device 220. In utilizing the alternative path, a tunneling process is used.
When the first device 202 attempts to transmit a packet 230 outside of the first LAN 204 to a destination location 292, the first device 202 sends at least the IP header 250 and the application data 260 of packet 230 to the first data traffic router 206 by designating the first data traffic router 206 as a destination media access control (MAC) 244 address and the first device 202 as the source MAC 242. The first device 202 sends the IP header 250 and the data 260 to the first data traffic router 206 by listing the address of the first data traffic router 206 as the destination MAC 244 within an Ethernet frame header 240. Accordingly, the application data 260 of packet 230 which can be sent from first device 202 to the second device 228 may be transmitted from the first device 202 to the first data traffic router 206.
When the first data traffic router 206 receives a data packet 230 (
In comparing the packet 230 shown in
By adding the tunneling IP packet header 370, the original IP packet header 350 and the application data 360 are sent to a site on the network designated by the destination IP address within the tunneling IP packet header 370 which may not follow the most efficient routing of data traffic. Thus, the inclusion of the tunneling IP packet header 370 facilitates the testing of desired hardware components, such as hardware components 218 and 220, when such hardware components are located at remote sites. In the embodiment illustrated in
When the first network router 208 receives the packet 330, illustrated in
When packet 330, illustrated in
When the second data traffic router 216 receives a packet 430 from the second network router 212 containing the Ethernet frame header 440, the IP packet header 470, the IP packet header 450 and the data 460, the second data traffic router 216 proceeds removes the tunneling IP header 470 before forwarding the IP packet header 450 and the application data 460 to the hardware component 218, thereby terminating the tunneling process and allowing the normal routing process to continue unabated.
When the second data traffic router 216 receives packet 430 that includes the Ethernet frame header 440, the IP packet header 470, the IP packet header 450 and the application data 460, it revises the packet 430 to packet 530 illustrated in
In the present embodiment, the first and second hardware devices 218 and 220 communicate wirelessly using radio frequency. As packet 630 of
When the IP packet header 650 and the data 660 are received by the hardware component 220, the hardware component 220 forwards the IP packet header 650 and the data 660 to the simulator 228 using an Ethernet connection to transmit the IP packet header 650 and the data 660 to the second data traffic router 216 which may subsequently forward the IP header 650 and the data 660 to the second LAN 214 using an Ethernet connection.
When the second data traffic router 216 receives a packet 630 from the hardware component 220, it proceeds in forwarding a revised packet 730 to the second network router 212 through the second LAN 214. The revised packet 730 includes an Ethernet frame header 740, the IP packet header 750 and the application data 460. The LAN 214 can forward the IP packet header 750 and the application data 760 through second network router 212 to third network router 222 using the Internet and IP packet header 750. Since the second network router 222 can be connected to a third LAN 226 using an Ethernet connection, the Ethernet frame header 740 can be used to send the data 760 to its original destination, the second device 228. Because the system architecture 200 has tested the desired hardware components, hardware component 218 and hardware component 220, data 260 can be transmitted from site C 294 to site B 292 using normal routing techniques.
Because the system architecture 200 utilizes tunneling, a message sent from the simulator 202 to the simulator 228 can be transmitted along a prescribed route in order to test desired hardware components (hardware component 218 and hardware component 220) to evaluate operations of the hardware components as well as software operating with the system architecture 200. Thus, remote systems can be tied together in a network centric environment without requiring the systems to be collocated at a common facility. In addition, because the remote systems can be tied together using the system architecture 200, product testing may be conducted faster and more efficiently because an in depth knowledge of data routing within the network and alteration of the network is not required. Accordingly, engineers and product designers can identify issues sooner in the development process because the system architecture 200 can allow for more frequent integration testing.
The invention may be practiced in an electrical circuit comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip containing electronic elements or microprocessors. The invention may also be practiced using other technologies capable of performing logical operations such as, for example, AND, OR, and NOT, including but not limited to mechanical, optical, fluidic, and quantum technologies. In addition, the invention may be practiced within a general purpose computer or in any other circuits or systems.
The present invention may be embodied as systems, methods, and/or computer program products. Accordingly, the present invention may be embodied in hardware and/or in software (including firmware, resident software, micro-code, etc.). Furthermore, embodiments of the present invention may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system. A computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, and a portable compact disc read-only memory (CD-ROM). Note that the computer-usable or computer-readable medium could even be paper or another suitable medium, upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
Embodiments of the present invention are described above with reference to block diagrams and/or operational illustrations of methods, systems, and computer program products according to embodiments of the invention. It is to be understood that the functions/acts noted in the blocks may occur out of the order noted in the operational illustrations. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
While certain features and embodiments of the invention have been described, other embodiments of the invention may exist. Furthermore, although embodiments of the present invention have been described as being associated with data stored in memory and other storage mediums, aspects can also be stored on or read from other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or a CD-ROM, a carrier wave from the Internet, or other forms of RAM or ROM. Further, the steps of the disclosed methods may be modified in any manner, including by reordering stages and/or inserting or deleting stages, without departing from the principles of the invention.
It is intended, therefore, that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims and their full scope of equivalents.