WO2000044139A1 - Booster for rapid network acceleration - Google Patents

Booster for rapid network acceleration Download PDF

Info

Publication number
WO2000044139A1
WO2000044139A1 PCT/US2000/000787 US0000787W WO0044139A1 WO 2000044139 A1 WO2000044139 A1 WO 2000044139A1 US 0000787 W US0000787 W US 0000787W WO 0044139 A1 WO0044139 A1 WO 0044139A1
Authority
WO
WIPO (PCT)
Prior art keywords
booster
packet
layer
address
router
Prior art date
Application number
PCT/US2000/000787
Other languages
French (fr)
Inventor
Sharon Jacob
David Mozes
Eran Mann
Alon Michaeli
Oded Bergman
Chen Genossar
Original Assignee
Nbase Communications Ltd.
Friedman, Mark, M.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nbase Communications Ltd., Friedman, Mark, M. filed Critical Nbase Communications Ltd.
Priority to AU32081/00A priority Critical patent/AU3208100A/en
Publication of WO2000044139A1 publication Critical patent/WO2000044139A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge

Definitions

  • the present invention relates to a booster for rapid network acceleration, and in particular, to a booster for facilitating rapid transfer of traffic within a LAN (local area network) and WAN (Wide Area Network).
  • LAN local area network
  • WAN Wide Area Network
  • LAN Local area networks
  • LAN Local area networks
  • WAN wide area network
  • router determines a route according to which packets should travel within the network, both to the WAN and between segments of the LAN.
  • routers often direct both LAN-to-LAN traffic and LAN-to-WAN traffic.
  • routers can become overwhelmed with LAN-to-LAN traffic, thereby significantly reducing the performance of the LAN, as well as degrading the performance of high speed WAN networks such as those operating according to the ATM protocol.
  • the problem is particularly acute for software routers, which although highly flexible for determining routes for packet transmission, are relative slow compared to hardware routers.
  • hardware routers may lack flexibility, for example if such routers lack features such as routing protocols. Thus, the operation of the network may be significantly slowed by the router.
  • a booster for intercepting packets being sent to the router, for forwarding those packets for which forwarding address information is available, for passing those packets for which forwarding address information is not known to the router, and for passing management and routing protocol packets to the router.
  • the system of the present invention includes a back router connected to a booster, which is in turn connected to a plurality of clients.
  • the booster preferably supports hardware-based routing of various types of packets, including IP packets. If the destination of the packet is outside the subnet to which the booster is attached and routing information for the destination of the packet is known to the booster, then the packet is routed by the hardware- based router. Alternatively, if the routing information of the packet is not known, then the packet is forwarded to the back router, and is then routed by the back router.
  • Optional forwarding information may include policies, QOS (quality of service) information about the quality of service is which is supported, and security information, if such forwarding information is known to the booster.
  • the booster forwards the packet according to bridging information.
  • a system for accelerating a network for transporting packets, each packet featuring a layer 3 destination address and a layer 3 source address, the network featuring a plurality of subnets comprising: (a) a client for sending and receiving packets, the client being connected to a first of the plurality of subnets; (b) a back router for receiving packets through the first of the plurality of subnets, the back router routing a packet through the network if the packet has a layer 3 destination address outside of the first of the plurality of subnets; and (c) a booster transparently connected between the back router and the client through the first of the plurality of subnets, such that the booster is transparent to the back router and the client, the booster receiving the packet from the client through the first of the plurality of subnets, such that if the layer 3 destination address is outside of the first of the plurality of subnets and the booster has the layer 3 destination address, the booster performs the routing procedure for the packet directly, and alternatively
  • a booster for routing a packet the packet featuring a destination address
  • the booster being in communication with at least one client and the booster being in communication with a back router
  • the booster, the client and the back router being connected in a first subnet of a network featuring a plurality of subnets, the destination address being located on the network and outside the first subnet
  • the booster comprising: (a) a line interface for being connected to the first subnet; (b) at least one software control module for determining layer 3 address routing information about the destination address by sending a software management request to the back router; (c) an FFIB for storing the layer 3 address routing information about the destination address, the FFIB being updated by the software control module; and (d) a programmable ASIC for forwarding the packet, such that the programmable ASIC routes the packet according to the destination address and according to the FFIB, such that if the destination address is stored in the FFIB, the packet is directly routed to the destination address, and such that
  • a method for automatically forwarding a packet according to a destination address of the packet comprising the steps of: (a) determining if the destination address of the packet is located on the subnet of the network; (b) if the destination address of the packet is located outside the subnet of the network, determining if layer 3 address routing information is stored in the booster for the destination address of the packet; (c) if the layer 3 address routing information is stored in the booster, routing the packet according to the layer 3 address routing information; (d) if the layer 3 address routing information is not stored in the booster, forwarding the packet to the back router; (e) sending a software management request to the back router by the booster to obtain the layer 3 address routing information; and (f) receiving the layer 3 address routing information from the back router by the booster.
  • computing platform refers to a particular computer hardware system or to a particular software operating system.
  • hardware systems include those with any type of suitable data processor.
  • software operating systems include, but are not limited to, FreeBSD and one of the WindowsTM operating systems by Microsoft Inc. (Seattle, Washington, USA), preferably Windows CETM, or any other type of suitable software operating system capable of supporting a back router and/or the booster of the present invention.
  • a software application could be written in substantially any suitable programming language, which could easily be selected by one of ordinary skill in the art.
  • the programming language chosen should be compatible with the computing platform according to which the software application is executed. Examples of suitable programming languages include, but are not limited to, C, C++ and Java.
  • back router refers to any type of router, such as those routers available from CiscoTM.
  • FIG. 1 is a schematic block diagram illustrating an exemplary system according to the present invention
  • FIG. 2 is a schematic block diagram showing the booster according to the present invention.
  • FIG. 3 is a schematic block diagram showing a portion of the booster of Figure 2 in greater detail.
  • the system of the present invention includes a back router connected to a booster, which is in turn connected to a plurality of clients.
  • the booster preferably supports hardware-based routing of various types of packets, including IP packets. If the destination of the packet is outside the subnet to which the booster is attached and routing information for the destination of the packet is known, then the packet is routed by the hardware-based router.
  • Optional forwarding information may include policies, QOS (quality of service) information about the quality of service which is supported, and security information.
  • the booster forwards the packet according to bridging information.
  • router 12 operates in conjunction with a booster 16, such that clients 14 are connected to router 12 through booster 16 and the routing operations can be controlled by the user through router 12, such that the presence of booster 16 is transparent to the user.
  • router 12 can be described as a "back router” since the configuration is still controlled by the user through router 12, while booster 16 is preferably substantially completely auto-configurable.
  • booster 16 can select a particular port of router 12 to which packets are forwarded when booster 16 does not have the destination address of the packet stored in a database, according to the level of traffic on each port of router 12. This also improves stability of the network.
  • booster 16 is transparently connected to router 12 and clients 14.
  • transparently refers to the automatic configuration and interaction of booster 16 and router 12 and clients 14, such that router 12 and clients 14 operate substantially independently of booster 16, without alterations to their configuration or operation.
  • Booster 16 is a combination of hardware and software components for both bridging and forwarding packets according to their link layer (layer 2) addresses, and for routing packets according to layer 3 forwarding information stored in databases within booster 16 (see Figures 2 and 3 for more details).
  • link layer address could be the code which is automatically given to each Ethernet network interface card (NIC) by the manufacturer, for example.
  • NIC Ethernet network interface card
  • booster 16 In addition to bridging packets to destinations on the same subnet to which booster 16 is attached, booster 16 is able to route packets to destinations outside this subnet, if the destination IP (layer 3) address is stored in one of the databases within booster 16. The process according to which booster 16 learns the destination IP (layer 3) address for forwarding the packet is described in greater detail with regard to Figure 2 below. If the destination IP address is not stored in a database of booster 16, then booster 16 passes the packet to router 12 for routing to the next hop. As shown in Figure 2, booster 16 has a number of components which enable booster 16 to bridge and forward packets within the subnet and to route packets to a different subnet, including both hardware and software components.
  • a line interface 20 provides a direct physical connection to the physical medium of the network.
  • Line interface 20 Data transmissions are received through line interface 20.
  • Line interface 20 is connected to a programmable ASIC 22.
  • Programmable ASIC 22 is connected to a fast forwarding information base (FFIB) 24 which is a hardware component for rapidly forwarding, marking or discarding packets.
  • FFIB fast forwarding information base
  • Programmable ASIC 22 is also connected to a bus 26, which is in turn connected to a CPU 28.
  • Line interface 20, programmable ASIC 22 and FFIB 24 together form a port of booster 16.
  • booster 16 contains a plurality of such ports 21.
  • FFIB 24 maintains layer 2 bridging and forwarding information, as well as layer 3 routing information. Preferably, FFIB 24 also maintains such information as quality of service information and security information, which are optionally used to determine rules for the operation of FFIB 24.
  • booster 16 with regard to unicast packet flow is now described in detail according to Figures 1 and 2.
  • CPU 28 automatically detects the link layer address of the router port which is to be accelerated, and writes this information through programmable ASIC 22 to FFIB 24. Packets are received by line interface 20, and then pass to programmable ASIC 22. If the link layer destination address of a packet matches a link layer address stored in FFIB 24 as the link layer address of a port of router 12 which is to be accelerated, then programmable ASIC 22 searches FFIB 24 for layer 3 routing information. If such layer 3 routing information is available in FFIB 24, programmable ASIC 22 then routes the packet according to this information.
  • programmable ASIC 22 substitutes the destination link layer address according to the information stored in FFIB 24.
  • the TTL (time to live) field is decremented.
  • the frame is discarded if necessary.
  • the checksum is then incremented by using one's complement addition.
  • the source link layer address is then substituted. For example, the source address could be determined according to the identity of the appropriate port on router 12. The frame is then sent to the destination address.
  • programmable ASIC 22 also searches FFIB 24 for policy information, such as security policy information and quality of service policy information. Programmable ASIC 22 then handles the packet also according to this policy information. For example, if the security policy information indicates that the packet should be discarded, programmable ASIC 22 discards the packet.
  • Quality of service information QOS determines a service which should be performed for the packet. Such a service is preferably selected from the group consisting of marking the packet, holding the packet in a queue and discarding the packet, according to a priority of the packet. These services are performed for traffic shaping.
  • the identity of the software application which generated the packet is optionally used in order to determine the service. For example, packets generated by an application which produces a video stream could optionally be given priority for transmission through the network. Programmable ASIC 22 is able to perform such services more rapidly than router 12, since programmable ASIC 22 is hardware-based rather than software-based.
  • programmable ASIC 22 then forwards the packet to router 12 for traditional routing procedure.
  • programmable ASIC 22 performs the bridging operation by quickly sending the packet through some line interface 20 to a client 14, although not necessarily the identical line interface 20 through which the packet was received if booster 16 contains a plurality of ports 21.
  • ASIC 22 performs this rapid bridging according to the destination address.
  • This is an example of the link layer address (layer 2) bridging mechanism of booster 16 of the present invention, which is performed according to link layer address and exit port information stored in FFIB 24.
  • FFIB database 24 stores two types of information related to the destination addresses of packets: link layer (layer 2) addresses and layer 3 addresses such as IP addresses.
  • each type of information is stored in a separate Patricia tree data structure. More preferably, the information in each Patricia tree data structure is maintained according to a separate aging mechanism, since the layer 2 addresses and the layer 3 addresses stored in each tree are separate types of information.
  • Patricia trees are a particularly preferred data structure for storing the addressing information, since the Patricia tree is a database structure which operates by bits difference. Thus, the number of addresses which must be searched is relatively small, as well as permitting the best match to the address to be found.
  • broadcast packets are broadcast through a virtual domain.
  • packets of an unknown type are also handled according to this procedure.
  • the virtual domain is a group of ports 21 which lie on the same subnet. This group of ports 21 is automatically detected.
  • all broadcast packets and all packets of unknown type are sent as point-to-multipoint transmissions through the virtual domain.
  • booster 16 includes a forwarding information database 30 which is in communication with FFIB 24 through programmable ASIC 22.
  • Forwarding information database 30 in turn communicates with several other software components, including a telnet parser 32, an SNMP manager 38, an ARP table 34 and a routing table 36.
  • the configuration of booster 16 is controlled by a configuration manager 40.
  • These components enable the correct information for forwarding packets to be stored in FFIB 24, and could be collectively described as a software control module for maintaining and updating the information stored in FFIB 24, either directly (forwarding information database 30) or indirectly (telnet parser 32, SNMP manager 38, ARP table 34 and routing table 36).
  • Forwarding information database 30 transmits the forwarding information to FFIB 24 for storage. In order to obtain this forwarding information, forwarding information database 30 must learn the information as follows. Forwarding information database 30 learns the remote route destination information for layer 3 addresses from routing table 36. Each entry into routing table 36 preferably features an IP (routable protocol) address, the mask, the active protocol for that entry, the last time that the forwarding path was changed, and the parameters for forwarding. These parameters include the next hop to be made by the packet, the link layer address for that hop, and the identity of the switch port for the destination link layer address. In addition, preferably RIP information is stored for the entry, as well as an aging counter for receiving services.
  • IP routing protocol
  • Routing table 36 obtains the layer 3 address information through a software management request, preferably from SNMP manager 38.
  • SNMP manager 38 uses SNMP commands to communicate with router 12. For example, SNMP manager 38 receives the routing table from router 12, by using the SNMP "get" command to request the routing table from router 12. More preferably, SNMP manager 38 requests the routing table according to a predefined polling interval. Preferably, the polling interval is sensitive to changes in the topology of the network.
  • SNMP manager 38 reconfigures router 12 through SNMP commands such as the "set" command for changing one or more configuration parameters.
  • ARP table 34 features the resolution between the layer 2 address and the corresponding layer 3 address for layer 3 destination addresses which are locally attached to booster 16.
  • ARP table 34 learns such resolution information from sniffing responses to ARP requests being sent by router 12, in order to determine the resolution information. Such responses are examples of control messages.
  • control message refers to a message, such as a reply to an ARP request, which is used to determine the location of other nodes (destination addresses) on the network.
  • layer 3 addresses are not required by booster 16 for participating in the ARP protocol.
  • Forwarding information database 30 receives the information contained in the ARP responses from ARP table 34.
  • Telnet parser 32 is responsible to obtain policy information, such as security policy and quality of service policy information, from router 12.
  • the policy information is obtained through a connection between telnet parser 32 and router 12 performed according to the telnet protocol.
  • telnet parser 32 reconfigures router 12, again through this connection performed according to the telnet protocol.
  • Telnet and SNMP are examples of software management protocols for requesting information, such as the routing table, quality of service information and security information from router 12 according to the present invention.
  • a router port detection module 42 is also featured.
  • Router port detection module 42 is responsible for detecting the configuration of each port of router 12 and at least one interface (link layer and layer 3 addresses) of each port of router 12.
  • Router port detection module 42 employs discovery protocols such as ICMP information requests (type 15) and address mask request messages (type 17), or SNMP messages, to each port of router 12.
  • Router port detection module 42 then interprets the reply messages.
  • router port detection module 42 uses standard routing protocols such as RIP and OSPF to learn about router 12.
  • booster 16 learns link layer addresses in a manner similar to any other layer 2 switch, and then stores this information in FFIB 24.
  • booster 16 is configured for initial operation according to an auto-configuration process as follows.
  • booster 16 detects the conventional router to which it is in communication, which in Figure 1 is router 12.
  • booster 16 could receive an ICMP router discovery message from router 12, or a message according to a protocol such as RIP, OSPF and/or CDP to detect the presence of router 12 .
  • the user could configure one IP (or other routable protocol) address of router 12, and booster 16 could learn the remaining information from SNMP messages.
  • booster 16 learns the port addresses and masks of router 12.
  • booster 16 learns the remote route directly by retrieving routing table from router 12 using SNMP as previously described. Additional, optional but preferred information such as security information, QOS (quality of service) information and other policies can be learned from router 12 through telnet as previously described.

Abstract

A booster (16) for rapidly routing packets which is connected to a back router (12) and to a plurality of clients (14). The booster (16) preferably supports hardware-based routing of various types of packets, including IP packets. If the destination of the packet is outside the subnet to which the booster (16) is attached and routing information for the destination of the packet is known, then the packet is routed by the hardware-based router. Alternatively, if the routing information of the packet is not known, then the packet is forwarded to the back router (12), and is then routed by the back router (12). Optional forwarding information may include policies, QOS (quality of service) information about the quality of service which is supported, and security information. If the destination of the packet is on the same subnet as the booster (16), then the booster (16) forwards the packet according to bridging information.

Description

BOOSTER FOR RAPID NETWORK ACCELERATION
FIELD AND BACKGROUND OF THE INVENTION
The present invention relates to a booster for rapid network acceleration, and in particular, to a booster for facilitating rapid transfer of traffic within a LAN (local area network) and WAN (Wide Area Network).
Local area networks (LAN) are widely used for communication between computers which are relatively physically close to each other, or "local". Depending upon the type of network protocol according to which network traffic is directed, various types of hardware devices are used to physically connect each computer to a transport medium, such as a wire. The computers can then communicate by exchanging data. For example, in a client-server system, a plurality of clients could request services from a server. As its name suggests, a LAN is restricted to computers, printers and other devices which are in close physical proximity. In order for the devices on a LAN to communicate with computers or other devices which are physically farther away, the LAN must be connected to a WAN (wide area network) or the Internet through a gateway, which is a router. The router determines a route according to which packets should travel within the network, both to the WAN and between segments of the LAN. Thus, routers often direct both LAN-to-LAN traffic and LAN-to-WAN traffic.
Unfortunately, routers can become overwhelmed with LAN-to-LAN traffic, thereby significantly reducing the performance of the LAN, as well as degrading the performance of high speed WAN networks such as those operating according to the ATM protocol. The problem is particularly acute for software routers, which although highly flexible for determining routes for packet transmission, are relative slow compared to hardware routers. On the other hand, hardware routers may lack flexibility, for example if such routers lack features such as routing protocols. Thus, the operation of the network may be significantly slowed by the router. Therefore, there is an unmet need for, and it would be highly useful to have, a booster for intercepting packets being sent to the router, for forwarding those packets for which forwarding address information is available, for passing those packets for which forwarding address information is not known to the router, and for passing management and routing protocol packets to the router.
SUMMARY OF THE INVENTION
The system of the present invention includes a back router connected to a booster, which is in turn connected to a plurality of clients. The booster preferably supports hardware-based routing of various types of packets, including IP packets. If the destination of the packet is outside the subnet to which the booster is attached and routing information for the destination of the packet is known to the booster, then the packet is routed by the hardware- based router. Alternatively, if the routing information of the packet is not known, then the packet is forwarded to the back router, and is then routed by the back router. Optional forwarding information may include policies, QOS (quality of service) information about the quality of service is which is supported, and security information, if such forwarding information is known to the booster.
If the destination of the packet is on the same subnet as the booster, then the booster forwards the packet according to bridging information.
According to the present invention, there is provided a system for accelerating a network for transporting packets, each packet featuring a layer 3 destination address and a layer 3 source address, the network featuring a plurality of subnets, the system comprising: (a) a client for sending and receiving packets, the client being connected to a first of the plurality of subnets; (b) a back router for receiving packets through the first of the plurality of subnets, the back router routing a packet through the network if the packet has a layer 3 destination address outside of the first of the plurality of subnets; and (c) a booster transparently connected between the back router and the client through the first of the plurality of subnets, such that the booster is transparent to the back router and the client, the booster receiving the packet from the client through the first of the plurality of subnets, such that if the layer 3 destination address is outside of the first of the plurality of subnets and the booster has the layer 3 destination address, the booster performs the routing procedure for the packet directly, and alternatively if the booster does not have the layer 3 destination address, the booster passes the packet to the back router for routing. According to another embodiment of the present invention, there is provided a booster for routing a packet, the packet featuring a destination address, the booster being in communication with at least one client and the booster being in communication with a back router, the booster, the client and the back router being connected in a first subnet of a network featuring a plurality of subnets, the destination address being located on the network and outside the first subnet, the booster comprising: (a) a line interface for being connected to the first subnet; (b) at least one software control module for determining layer 3 address routing information about the destination address by sending a software management request to the back router; (c) an FFIB for storing the layer 3 address routing information about the destination address, the FFIB being updated by the software control module; and (d) a programmable ASIC for forwarding the packet, such that the programmable ASIC routes the packet according to the destination address and according to the FFIB, such that if the destination address is stored in the FFIB, the packet is directly routed to the destination address, and such that if the destination address is not stored in the FFIB, the programmable ASIC forwards the packet to the back router.
According to yet another embodiment of the present invention, there is provided a method for automatically forwarding a packet according to a destination address of the packet, the method being operated by a booster in conjunction with a back router, the booster and the back router being connected on a subnet of a network, the method comprising the steps of: (a) determining if the destination address of the packet is located on the subnet of the network; (b) if the destination address of the packet is located outside the subnet of the network, determining if layer 3 address routing information is stored in the booster for the destination address of the packet; (c) if the layer 3 address routing information is stored in the booster, routing the packet according to the layer 3 address routing information; (d) if the layer 3 address routing information is not stored in the booster, forwarding the packet to the back router; (e) sending a software management request to the back router by the booster to obtain the layer 3 address routing information; and (f) receiving the layer 3 address routing information from the back router by the booster.
Hereinafter, the term "computing platform" refers to a particular computer hardware system or to a particular software operating system. Examples of such hardware systems include those with any type of suitable data processor. Examples of such software operating systems include, but are not limited to, FreeBSD and one of the Windows™ operating systems by Microsoft Inc. (Seattle, Washington, USA), preferably Windows CE™, or any other type of suitable software operating system capable of supporting a back router and/or the booster of the present invention. For the present invention, a software application could be written in substantially any suitable programming language, which could easily be selected by one of ordinary skill in the art. The programming language chosen should be compatible with the computing platform according to which the software application is executed. Examples of suitable programming languages include, but are not limited to, C, C++ and Java. Furthermore, the functions of the present invention, when described as a series of steps for a method, could be implemented as a series of software instructions for being operated by a data processor, such that the present invention could be implemented as software, firmware or hardware. Hereinafter, the term "back router" refers to any type of router, such as those routers available from Cisco™.
BRIEF DESCRIPTION OF THE DRAWINGS The invention is herein described, by way of example only, with reference to the accompanying drawings, wherein:
FIG. 1 is a schematic block diagram illustrating an exemplary system according to the present invention;
FIG. 2 is a schematic block diagram showing the booster according to the present invention; and
FIG. 3 is a schematic block diagram showing a portion of the booster of Figure 2 in greater detail.
DESCRIPTION OF THE PREFERRED EMBODIMENTS The system of the present invention includes a back router connected to a booster, which is in turn connected to a plurality of clients. The booster preferably supports hardware-based routing of various types of packets, including IP packets. If the destination of the packet is outside the subnet to which the booster is attached and routing information for the destination of the packet is known, then the packet is routed by the hardware-based router.
Alternatively, if the routing information of the packet is not known, then the packet is forwarded to the back router, and is then routed by the back router. Optional forwarding information may include policies, QOS (quality of service) information about the quality of service which is supported, and security information.
If the destination of the packet is on the same subnet as the booster, then the booster forwards the packet according to bridging information.
The principles and operation of the booster according to the present invention may be better understood with reference to the drawings and the accompanying description. Referring now to the drawings, Figure 1 is a schematic block diagram illustrating an exemplary system according to the present invention. A system 10 features a router 12 which is connected to a plurality of clients 14, here illustrated as work stations, in a subnet of a network. The network could be a local area network (LAN) or a wide area network (WAN) for example. Clients 14 could be substantially any type of device which is capable of receiving packets from router 12. According to the background art, router 12 routes packets between clients 14 which are not located on the same subnet when router 12 operates alone. In addition, router 12 also learns routing information from routing protocols such as RIP, or OSTS. For system 10, however, router 12 operates in conjunction with a booster 16, such that clients 14 are connected to router 12 through booster 16 and the routing operations can be controlled by the user through router 12, such that the presence of booster 16 is transparent to the user. Thus, as described herein, router 12 can be described as a "back router" since the configuration is still controlled by the user through router 12, while booster 16 is preferably substantially completely auto-configurable.
Preferably, all of the exit ports of router 12 are connected to booster 16, such that all packets pass from router 12 through booster 16, and such that booster 16 receives all packets from clients 14 before these packets are passed to router 12. This preferred implementation is easier for the user to configure and to manage, since the user would not necessarily to change the configuration of router 12. In this preferred implementation, booster 16 can select a particular port of router 12 to which packets are forwarded when booster 16 does not have the destination address of the packet stored in a database, according to the level of traffic on each port of router 12. This also improves stability of the network.
Preferably, booster 16 is transparently connected to router 12 and clients 14. Hereinafter, the term "transparently" refers to the automatic configuration and interaction of booster 16 and router 12 and clients 14, such that router 12 and clients 14 operate substantially independently of booster 16, without alterations to their configuration or operation.
Booster 16 is a combination of hardware and software components for both bridging and forwarding packets according to their link layer (layer 2) addresses, and for routing packets according to layer 3 forwarding information stored in databases within booster 16 (see Figures 2 and 3 for more details). As used herein, the term "link layer address" could be the code which is automatically given to each Ethernet network interface card (NIC) by the manufacturer, for example. It should be noted that although the following description centers upon routing packets according to the IP protocol, other types of routable protocols could be used with the present invention, such that the present invention is not intended to be limited only to the IP routable protocol. Therefore, other types of destination addresses for these other types of routable protocols could also be used with the present invention. These other types of destination addresses are generally described herein as "layer 3 addresses".
In addition to bridging packets to destinations on the same subnet to which booster 16 is attached, booster 16 is able to route packets to destinations outside this subnet, if the destination IP (layer 3) address is stored in one of the databases within booster 16. The process according to which booster 16 learns the destination IP (layer 3) address for forwarding the packet is described in greater detail with regard to Figure 2 below. If the destination IP address is not stored in a database of booster 16, then booster 16 passes the packet to router 12 for routing to the next hop. As shown in Figure 2, booster 16 has a number of components which enable booster 16 to bridge and forward packets within the subnet and to route packets to a different subnet, including both hardware and software components. A line interface 20 provides a direct physical connection to the physical medium of the network. Data transmissions are received through line interface 20. Line interface 20 is connected to a programmable ASIC 22. Programmable ASIC 22 is connected to a fast forwarding information base (FFIB) 24 which is a hardware component for rapidly forwarding, marking or discarding packets. Programmable ASIC 22 is also connected to a bus 26, which is in turn connected to a CPU 28. Line interface 20, programmable ASIC 22 and FFIB 24 together form a port of booster 16. Optionally and preferably, booster 16 contains a plurality of such ports 21.
FFIB 24 maintains layer 2 bridging and forwarding information, as well as layer 3 routing information. Preferably, FFIB 24 also maintains such information as quality of service information and security information, which are optionally used to determine rules for the operation of FFIB 24.
The operation of booster 16 with regard to unicast packet flow is now described in detail according to Figures 1 and 2. Through line interface 20, CPU 28 automatically detects the link layer address of the router port which is to be accelerated, and writes this information through programmable ASIC 22 to FFIB 24. Packets are received by line interface 20, and then pass to programmable ASIC 22. If the link layer destination address of a packet matches a link layer address stored in FFIB 24 as the link layer address of a port of router 12 which is to be accelerated, then programmable ASIC 22 searches FFIB 24 for layer 3 routing information. If such layer 3 routing information is available in FFIB 24, programmable ASIC 22 then routes the packet according to this information.
First, programmable ASIC 22 substitutes the destination link layer address according to the information stored in FFIB 24. Next, the TTL (time to live) field is decremented. Optionally, the frame is discarded if necessary. The checksum is then incremented by using one's complement addition. The source link layer address is then substituted. For example, the source address could be determined according to the identity of the appropriate port on router 12. The frame is then sent to the destination address.
According to a preferred embodiment of the present invention, programmable ASIC 22 also searches FFIB 24 for policy information, such as security policy information and quality of service policy information. Programmable ASIC 22 then handles the packet also according to this policy information. For example, if the security policy information indicates that the packet should be discarded, programmable ASIC 22 discards the packet. Quality of service information (QOS) determines a service which should be performed for the packet. Such a service is preferably selected from the group consisting of marking the packet, holding the packet in a queue and discarding the packet, according to a priority of the packet. These services are performed for traffic shaping. The identity of the software application which generated the packet is optionally used in order to determine the service. For example, packets generated by an application which produces a video stream could optionally be given priority for transmission through the network. Programmable ASIC 22 is able to perform such services more rapidly than router 12, since programmable ASIC 22 is hardware-based rather than software-based.
If layer 3 routing information is not available in FFIB 24, programmable ASIC 22 then forwards the packet to router 12 for traditional routing procedure.
If the link layer address is not an address of a router port to be accelerated, then programmable ASIC 22 performs the bridging operation by quickly sending the packet through some line interface 20 to a client 14, although not necessarily the identical line interface 20 through which the packet was received if booster 16 contains a plurality of ports 21.
ASIC 22 performs this rapid bridging according to the destination address. This is an example of the link layer address (layer 2) bridging mechanism of booster 16 of the present invention, which is performed according to link layer address and exit port information stored in FFIB 24.
FFIB database 24 stores two types of information related to the destination addresses of packets: link layer (layer 2) addresses and layer 3 addresses such as IP addresses. Preferably, each type of information is stored in a separate Patricia tree data structure. More preferably, the information in each Patricia tree data structure is maintained according to a separate aging mechanism, since the layer 2 addresses and the layer 3 addresses stored in each tree are separate types of information. Patricia trees are a particularly preferred data structure for storing the addressing information, since the Patricia tree is a database structure which operates by bits difference. Thus, the number of addresses which must be searched is relatively small, as well as permitting the best match to the address to be found. According to a particularly preferred embodiment of the present invention, broadcast packets are broadcast through a virtual domain. Optionally and more preferably, packets of an unknown type are also handled according to this procedure. The virtual domain is a group of ports 21 which lie on the same subnet. This group of ports 21 is automatically detected. Preferably, all broadcast packets and all packets of unknown type are sent as point-to-multipoint transmissions through the virtual domain.
As described now also with regard to Figure 3, the software components of booster 16 include a forwarding information database 30 which is in communication with FFIB 24 through programmable ASIC 22. Forwarding information database 30 in turn communicates with several other software components, including a telnet parser 32, an SNMP manager 38, an ARP table 34 and a routing table 36. The configuration of booster 16 is controlled by a configuration manager 40. These components enable the correct information for forwarding packets to be stored in FFIB 24, and could be collectively described as a software control module for maintaining and updating the information stored in FFIB 24, either directly (forwarding information database 30) or indirectly (telnet parser 32, SNMP manager 38, ARP table 34 and routing table 36).
The operation of these components is as follows. Forwarding information database 30 transmits the forwarding information to FFIB 24 for storage. In order to obtain this forwarding information, forwarding information database 30 must learn the information as follows. Forwarding information database 30 learns the remote route destination information for layer 3 addresses from routing table 36. Each entry into routing table 36 preferably features an IP (routable protocol) address, the mask, the active protocol for that entry, the last time that the forwarding path was changed, and the parameters for forwarding. These parameters include the next hop to be made by the packet, the link layer address for that hop, and the identity of the switch port for the destination link layer address. In addition, preferably RIP information is stored for the entry, as well as an aging counter for receiving services.
Routing table 36 obtains the layer 3 address information through a software management request, preferably from SNMP manager 38. SNMP manager 38 uses SNMP commands to communicate with router 12. For example, SNMP manager 38 receives the routing table from router 12, by using the SNMP "get" command to request the routing table from router 12. More preferably, SNMP manager 38 requests the routing table according to a predefined polling interval. Preferably, the polling interval is sensitive to changes in the topology of the network. Optionally and preferably, SNMP manager 38 reconfigures router 12 through SNMP commands such as the "set" command for changing one or more configuration parameters.
ARP table 34 features the resolution between the layer 2 address and the corresponding layer 3 address for layer 3 destination addresses which are locally attached to booster 16. ARP table 34 learns such resolution information from sniffing responses to ARP requests being sent by router 12, in order to determine the resolution information. Such responses are examples of control messages. As used herein, the term "control message" refers to a message, such as a reply to an ARP request, which is used to determine the location of other nodes (destination addresses) on the network. Thus, layer 3 addresses are not required by booster 16 for participating in the ARP protocol. Forwarding information database 30 receives the information contained in the ARP responses from ARP table 34.
Telnet parser 32 is responsible to obtain policy information, such as security policy and quality of service policy information, from router 12. The policy information is obtained through a connection between telnet parser 32 and router 12 performed according to the telnet protocol. Optionally and preferably, telnet parser 32 reconfigures router 12, again through this connection performed according to the telnet protocol. Telnet and SNMP are examples of software management protocols for requesting information, such as the routing table, quality of service information and security information from router 12 according to the present invention.
Optionally and preferably, a router port detection module 42 is also featured. Router port detection module 42 is responsible for detecting the configuration of each port of router 12 and at least one interface (link layer and layer 3 addresses) of each port of router 12. Router port detection module 42 employs discovery protocols such as ICMP information requests (type 15) and address mask request messages (type 17), or SNMP messages, to each port of router 12. Router port detection module 42 then interprets the reply messages. According to a second preferred option, router port detection module 42 uses standard routing protocols such as RIP and OSPF to learn about router 12.
Booster 16 learns link layer addresses in a manner similar to any other layer 2 switch, and then stores this information in FFIB 24. Preferably, booster 16 is configured for initial operation according to an auto-configuration process as follows. First, booster 16 detects the conventional router to which it is in communication, which in Figure 1 is router 12. For example, booster 16 could receive an ICMP router discovery message from router 12, or a message according to a protocol such as RIP, OSPF and/or CDP to detect the presence of router 12 . Alternatively, the user could configure one IP (or other routable protocol) address of router 12, and booster 16 could learn the remaining information from SNMP messages. Next, booster 16 learns the port addresses and masks of router 12. Thus, booster 16 learns the remote route directly by retrieving routing table from router 12 using SNMP as previously described. Additional, optional but preferred information such as security information, QOS (quality of service) information and other policies can be learned from router 12 through telnet as previously described.
While the invention has been described with respect to a limited number of embodiments, it will be appreciated that many variations, modifications and other applications of the invention may be made.

Claims

WHAT IS CLAIMED IS:
1. A system for accelerating a network for transporting packets, each packet featuring a layer 3 destination address and a layer 3 source address, the network featuring a plurality of subnets, the system comprising:
(a) a client for sending and receiving packets, said client being connected to a first of the plurality of subnets;
(b) a back router for receiving packets through said first of the plurality of subnets, said back router routing a packet through the network if said packet has a layer 3 destination address outside of said first of the plurality of subnets; and
(c) a booster transparently connected between said back router and said client through said first of the plurality of subnets, such that said booster is transparent to said back router and said client, said booster receiving said packet from said client through said first of the plurality of subnets, such that if said layer 3 destination address is outside of said first of the plurality of subnets and said booster has said layer 3 destination address, said booster performs said routing procedure for said packet directly, and alternatively if said booster does not have said layer 3 destination address, said booster passes said packet to said back router for routing.
2. The system of claim 1, wherein said booster receives routing information from said back router through a software management request.
3. The system of claim 2, wherein said software management request is performed according to an SNMP protocol by sending a "get" command to the router.
4. The system of claim 2, wherein said software management request is performed according to a telnet protocol.
5. The system of claim 2, wherein said software management request is performed according to an LDAP protocol.
6. The system of claim 2, wherein an alteration to a configuration parameter of said back router is automatically detected by said booster through said software management request.
7. The system of claim 6, wherein said configuration parameter is selected from the group consisting of a security policy and a quality of service policy.
8. The system of claim 7, wherein said configuration parameter is said security policy, said security policy being examined by said booster for said routing procedure to determine if said packet is routed according to said routing procedure, such that alternatively said packet is discarded.
9. The system of claim 8, wherein said configuration parameter is said quality of service policy, such that a service for said packet is determined by said booster according to said quality of service policy.
10. The system of claim 9, wherein said service is selected from the group consisting of marking said packet, holding said packet in a queue and discarding said packet, according to a priority of said packet.
11. The system of claim 10, wherein said priority of said packet is determined according to an identity of a software application generating said packet.
12. The system of claim 1, wherein said booster is automatically configured for initializing interactions between said booster, said back router and said client.
13. The system of claim 12, wherein said booster is automatically configured by sending a plurality of software management requests to said back router.
14. The system of claim 12, wherein said booster features a plurality of ports and wherein said booster is automatically configured by sniffing for a discovery protocol message on the network in order to examine at least one port of said back router for acceleration.
15. The system of claim 12, wherein said booster is automatically configured by sniffing for a response to an ARP request to obtain layer 3 forwarding information, such that the layer 3 address of said packet is not required by said booster.
16. The system of claim 1 , wherein said booster features a plurality of ports, each of said plurality of ports on one of the plurality of subnets being grouped into a virtual domain, such that broadcast packets are broadcast to said virtual domain.
17. The system of claim 16, wherein said virtual domain is determined automatically by said booster.
18. The system of claim 1 , wherein said booster features a plurality of ports, each of said plurality of ports on one of the plurality of subnets being grouped into a virtual domain, such that packets of an unknown destination are transmitted through said virtual domain.
19. The system of claim 1, wherein said back router and said client are substantially unaltered for transparently interacting with said booster.
20. A booster for routing a packet, the packet featuring a destination address, the booster being in communication with at least one client and the booster being in communication with a back router, the booster, the client and the back router being connected in a first subnet of a network featuring a plurality of subnets, the destination address being located on the network and outside the first subnet, the booster comprising:
(a) a line interface for being connected to the first subnet;
(b) at least one software control module for determining layer 3 address routing information about the destination address by sending a software management request to the back router;
(c) an FFIB for storing said layer 3 address routing information about the destination address, said FFIB being updated by said software control module; and
(d) a programmable ASIC for forwarding the packet, such that said programmable ASIC routes the packet according to the destination address and according to said FFIB, such that if the destination address is stored in said FFIB, the packet is directly routed to the destination address, and such that if the destination address is not stored in said FFIB, said programmable ASIC forwards the packet to the back router.
21. The booster of claim 20, wherein said software control module also determines said layer 3 address routing information by sniffing a control message on the network.
22. The booster of claim 21 , wherein said control message is selected from the group consisting of a reply to an ARP request and a RIP message.
23. The booster of claim 20, wherein said software control module is a forwarding information database for maintaining and updating said FFIB.
23. The booster of claim 23, further comprising:
(e) a telnet parser for receiving said layer 3 address routing information from the back router by sending a telnet request as said software management request, said telnet parser sending said layer 3 address routing information to said forwarding information database.
24. The booster of claim 23, wherein said layer 3 address routing information is a routing table.
25. The booster of claim 23, further comprising:
(e) an SNMP manager for receiving said layer 3 address routing information from the back router by sending an SNMP "get" command as said software management request, said SNMP manager sending said layer 3 address routing information to said forwarding information database.
26. The booster of claim 25, wherein said SNMP manager reconfigures the back router by sending the back router an SNMP "set" command to change at least one configuration parameter.
27. The booster of claim 23, wherein the packet also features a layer 2 address, the booster further comprising:
(e) an ARP table for storing a resolution between said layer 2 address and said layer 3 address routing information for the destination address, if the destination address is locally attached to the booster.
28. The booster of claim 27, wherein said ARP table learns said resolution by sniffing at least one response to at least one ARP request being sent by the back router.
29. The booster of claim 20, wherein said software management request is performed according to an LDAP protocol.
30. The booster of claim 20, wherein said FFIB also stores bridging information about at least one destination address being located on the subnet.
31. The booster of claim 30, wherein said bridging information and said layer 3 address routing information in said FFIB is stored in a plurality of Patricia trees, at least a first Patricia tree for storing said bridging information and at least a second Patricia tree for storing said layer 3 address routing information.
32. The booster of claim 20, wherein the back router features a plurality of exit ports, and all exit ports of the back router are in communication with the booster.
33. The booster of claim 20, wherein the back router is directly connected to the booster.
34. The booster of claim 20, wherein the destination address is an IP address, such that the packet is routed according to the IP routable protocol.
35. A method for automatically forwarding a packet according to a destination address of the packet, the method being operated by a booster in conjunction with a back router, the booster and the back router being connected on a subnet of a network, the method comprising the steps of:
(a) determining if the destination address of the packet is located on the subnet of the network;
(b) if the destination address of the packet is located outside the subnet of the network, determining if layer 3 address routing information is stored in the booster for the destination address of the packet;
(c) if said layer 3 address routing information is stored in the booster, routing the packet according to said layer 3 address routing information;
(d) if said layer 3 address routing information is not stored in the booster, forwarding the packet to the back router;
(e) sending a software management request to the back router by the booster to obtain said layer 3 address routing information; and (f) receiving said layer 3 address routing information from the back router by the booster.
36. The method of claim 35, wherein said layer 3 address routing information being sent from the back router to the booster includes a routing table.
37. The method of claim 36, wherein the step of sending said software management request to the back router is performed according to an SNMP protocol by sending a "get" command to the back router.
38. The method of claim 36, wherein the step of sending said software management request to the back router is performed according to a telnet protocol.
39. The method of claim 36, wherein the step of sending said software management request to the back router is performed according to an LDAP protocol.
40. The method of claim 35, further comprising the step of:
(g) sniffing a control message on the network to determine said layer 3 address routing information by the booster.
41. The method of claim 40, wherein said control message is selected from the group consisting of a reply to an ARP request and a RIP message.
42. The method of claim 35, wherein the booster also stores bridging information about at least one destination address being located on the subnet, said bridging information including a link layer address and an exit port information, such that if the destination address of the packet is located on the subnet, the packet is forwarded by the booster according to said bridging information.
43. The method of claim 42, wherein said bridging information and said layer 3 address routing information in the booster is stored in a plurality of Patricia trees, at least a first Patricia tree for storing said bridging information and at least a second Patricia tree for storing said layer 3 address routing information.
44. The method of claim 35, wherein the layer 3 destination address is an IP address, such that the packet is routed according to the IP routable protocol.
PCT/US2000/000787 1999-01-21 2000-01-13 Booster for rapid network acceleration WO2000044139A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU32081/00A AU3208100A (en) 1999-01-21 2000-01-13 Booster for rapid network acceleration

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US23430499A 1999-01-21 1999-01-21
US09/234,304 1999-01-21

Publications (1)

Publication Number Publication Date
WO2000044139A1 true WO2000044139A1 (en) 2000-07-27

Family

ID=22880817

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/000787 WO2000044139A1 (en) 1999-01-21 2000-01-13 Booster for rapid network acceleration

Country Status (2)

Country Link
AU (1) AU3208100A (en)
WO (1) WO2000044139A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1185039A2 (en) * 2000-09-01 2002-03-06 Avaya Communication Israel Ltd. Policy enforcing switch
WO2003044998A2 (en) * 2001-11-15 2003-05-30 University Of Southern California Optically boosted router
WO2006125594A3 (en) * 2005-05-23 2007-04-26 Ericsson Telefon Ab L M Traffic diversion in an ethernet-based access network
US9742660B2 (en) 2015-01-28 2017-08-22 Metaswitch Networks Ltd Validating a routing function
CN107566269A (en) * 2017-09-05 2018-01-09 合肥丹朋科技有限公司 Network software acceleration system based on Intelligent routing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835720A (en) * 1996-05-17 1998-11-10 Sun Microsystems, Inc. IP discovery apparatus and method
US5909686A (en) * 1997-06-30 1999-06-01 Sun Microsystems, Inc. Hardware-assisted central processing unit access to a forwarding database
US5920566A (en) * 1997-06-30 1999-07-06 Sun Microsystems, Inc. Routing in a multi-layer distributed network element

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835720A (en) * 1996-05-17 1998-11-10 Sun Microsystems, Inc. IP discovery apparatus and method
US5909686A (en) * 1997-06-30 1999-06-01 Sun Microsystems, Inc. Hardware-assisted central processing unit access to a forwarding database
US5920566A (en) * 1997-06-30 1999-07-06 Sun Microsystems, Inc. Routing in a multi-layer distributed network element

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PASSMORE D. ET AL.: "Router Accelerators", NETREFERENCE, INC., June 1998 (1998-06-01), pages 1 - 11, XP002927365 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1185039A2 (en) * 2000-09-01 2002-03-06 Avaya Communication Israel Ltd. Policy enforcing switch
EP1185039A3 (en) * 2000-09-01 2004-03-03 Avaya Communication Israel Ltd. Policy enforcing switch
WO2003044998A2 (en) * 2001-11-15 2003-05-30 University Of Southern California Optically boosted router
WO2003044998A3 (en) * 2001-11-15 2004-02-19 Univ Southern California Optically boosted router
US7369766B2 (en) 2001-11-15 2008-05-06 University Of Southern California Optically boosted router
WO2006125594A3 (en) * 2005-05-23 2007-04-26 Ericsson Telefon Ab L M Traffic diversion in an ethernet-based access network
US9742660B2 (en) 2015-01-28 2017-08-22 Metaswitch Networks Ltd Validating a routing function
CN107566269A (en) * 2017-09-05 2018-01-09 合肥丹朋科技有限公司 Network software acceleration system based on Intelligent routing

Also Published As

Publication number Publication date
AU3208100A (en) 2000-08-07

Similar Documents

Publication Publication Date Title
US7260648B2 (en) Extension of address resolution protocol (ARP) for internet protocol (IP) virtual networks
USRE41750E1 (en) Apparatus and method for redirection of network management messages in a cluster of network devices
US6658481B1 (en) Router uses a single hierarchy independent routing table that includes a flag to look-up a series of next hop routers for routing packets
US7852774B2 (en) User datagram protocol traceroute probe extension
US6654796B1 (en) System for managing cluster of network switches using IP address for commander switch and redirecting a managing request via forwarding an HTTP connection to an expansion switch
US6172981B1 (en) Method and system for distributing network routing functions to local area network stations
JP3771554B2 (en) How to perform a layer 3 transfer in a network
US6067569A (en) Fast-forwarding and filtering of network packets in a computer system
US6570875B1 (en) Automatic filtering and creation of virtual LANs among a plurality of switch ports
JP3717836B2 (en) Dynamic load balancer
US7630368B2 (en) Virtual network interface card loopback fastpath
US6876654B1 (en) Method and apparatus for multiprotocol switching and routing
US8089967B2 (en) Modification of a switching table of an internet protocol switch
US6167444A (en) Method and system for exchanging routing information
US7664045B2 (en) Sampling to a next hop
US20070058606A1 (en) Routing data packets from a multihomed host
Rayes et al. The internet in IoT
KR100475436B1 (en) distributed router and ARP packet processing method thereof
WO2000044139A1 (en) Booster for rapid network acceleration
Cisco ISO CLNS Commands
Cisco ISO CLNS Commands
Cisco ISO CLNS Commands
Cisco ISO CLNS Commands
Cisco ISO CLNS Commands
Cisco Troubleshooting Banyan VINES

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase