US20100183019A1 - Method and apparatus for distributing data packets to multiple network addresses - Google Patents

Method and apparatus for distributing data packets to multiple network addresses Download PDF

Info

Publication number
US20100183019A1
US20100183019A1 US12/726,832 US72683210A US2010183019A1 US 20100183019 A1 US20100183019 A1 US 20100183019A1 US 72683210 A US72683210 A US 72683210A US 2010183019 A1 US2010183019 A1 US 2010183019A1
Authority
US
United States
Prior art keywords
data packet
network
network processing
processing units
distributing unit
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US12/726,832
Inventor
Zhiming Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Iyuko Services LLC
Original Assignee
O2Micro Inc
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 O2Micro Inc filed Critical O2Micro Inc
Priority to US12/726,832 priority Critical patent/US20100183019A1/en
Assigned to O2MICRO INC. reassignment O2MICRO INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WANG, ZHIMING
Publication of US20100183019A1 publication Critical patent/US20100183019A1/en
Assigned to IYUKO SERVICES L.L.C. reassignment IYUKO SERVICES L.L.C. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: O2MICRO INTERNATIONAL, LIMITED
Assigned to O2MICRO INTERNATIONAL LIMITED reassignment O2MICRO INTERNATIONAL LIMITED ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: O2MICRO, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses

Definitions

  • the invention relates to network, and in particular, to a network device for distributing data packets to multiple network addresses.
  • NAT is a process for translation of IP address. It enables a local-area network (LAN) to use a first set of network addresses for internal traffic and a second set of network addresses for external traffic.
  • a network device that is capable of performing NAT operations is located preferably where a LAN meets a wide area network (WAN).
  • WAN wide area network
  • the most commonly used network address is based on the Internet Protocol, the IP address.
  • the first set of IP addresses for internal traffic can be reused in many different LANs and are not unique.
  • the second set of IP addresses for external traffic are unique and can not be reused by other networks.
  • Each of the first set of IP addresses is assigned to a host in the LAN.
  • a first host in a LAN intends to communicate with a second host on the Internet, it first transmits packets to a network device that is capable of performing NAT operations.
  • the source address is one of the first set of addresses that is assigned to the host and cannot be used outside the LAN. Therefore, in order to transmit the data packet to its destination address, the network device replaces the source address with an address from the second set of addresses which can be used for external communication.
  • the operation of replacing the source address of the packet with an address from the second set of addresses is part of the NAT process. After the NAT, the resulting source address of the packet can be uniquely used for external traffic, such as Internet communication.
  • the present invention provides a network device that employs multiple NAT operations to transmit data packets to various network processing units. Since the NAT is a standard function of many network devices, the present invention is capable of transferring data packets to various network processing units according to system requirement without extra CPU or software operation. Consequently, system complexity and the cost can be reduced.
  • a network device including a plurality of network addresses for indicating locations of a plurality of network processing units, and further including a data packet distributing unit for transferring a data packet to the network processing units in sequence by replacing a destination address of the data packet with the network addresses.
  • the data packet distributing unit performs the actions of determining whether the data packet has been transferred to each of the network processing units, transferring the data packet to a network processing unit after replacing the destination address of the data packet with a corresponding network address if the data packet has not been transferred to the network processing unit, and outputting the data packet if the data packet has been transferred to each of the processing units.
  • a network system including a plurality of network processing units for executing a plurality of predefined procedures on a data packet, and further including a data packet distributor coupled to the network processing units for transferring the data packet to the network processing units in sequence by replacing an destination address of the data packet with a plurality of network addresses for indicating locations of the network processing units respectively.
  • the data packet distributor performs the actions of determining whether the data packet has been transferred to each of the network processing units, transferring the data packet to a network processing unit after replacing the destination address of the data packet with a corresponding network address if the data packet has not been transferred to the processing unit, and outputting the data packet if the data packet has been transferred to each of the processing units.
  • a method for distributing a data packet to a plurality of network processing units in sequence for processing includes determining at a data packet distributing unit whether the data packet has been transferred to each of the network processing units. If the data packet has not been transferred to a network processing unit, the data packet distributing unit operates the steps of replacing a destination address of the data packet with a network address indicating a location of the network processing unit at the data packet distributing unit, and transferring the data packet from the data packet distributing unit to the network processing unit according to the destination address. If the data packet has been transferred to each of the processing units, the data packet distributing unit outputs the data packet.
  • FIG. 1 illustrates an exemplary topology of a network distributor for transferring a data packet from a source address to a destination address according to the invention.
  • FIG. 2 illustrates an exemplary flow chart of a method of using multiple NAT operations to transfer a data packet from a source address to a destination address.
  • FIG. 1 illustrates an exemplary topology of a network device for transferring a data packet from a source address to a destination address.
  • a network device e.g., a data packets distributor 102
  • the data packets distributor 102 is capable of receiving data packets from either network 1 100 or network 2 104 .
  • the data packets distributor 102 also includes a data packet distributing unit 106 and a plurality of network addresses. Each network address indicates an address of an external data packets processing unit, such as P 1 108 , P 2 110 . . . or Pn 112 as shown in FIG. 1 .
  • the data packet distributing unit 106 is further in communication with a plurality of external data packets processing units P 1 108 , P 2 110 . . . Pn 112 .
  • each of the plurality of external network processing units P 1 108 , P 2 110 . . . Pn 112 is assigned a unique network address.
  • the plurality of network addresses can be either statically or dynamically mapped to the plurality of processing units P 1 108 , P 2 110 . . . Pn 112 .
  • Each of the plurality of processing units P 1 108 , P 2 110 . . . Pn 112 is capable of performing at least one special processing procedure, such as content-filtering, anti-virus, encryption, decryption anti-spam, etc.
  • the data packet distributing unit 106 is further capable of determining which processing unit the data packet needs to be transferred to.
  • the data packets distributor 102 is capable of receiving data packets from either the network 1 100 or the network 2 104 .
  • the data packet is received at the data packets distributor 102 .
  • the destination address of the data packet is replaced by a first network address that indicates a location of a certain network processing unit (e,g, P 1 108 ) among P 1 108 , P 2 110 . . . Pn 112 .
  • Replacing the destination address with the first network address is referred to as a first NAT operation herein.
  • the data packet is transferred to P 1 108 .
  • the data packet is processed, according to some of the procedures that executed by the P 1 108 , such as content-filtering, anti-virus, encryption, decryption anti-spam, etc. After processing, the data packet is transferred back to the data packet distributing unit 106 from P 1 108 .
  • the data packet distributing unit 106 After the processed data packet is received at data packet distributing unit 106 , the data packet distributing unit 106 checks whether the data packet needs to be transferred to other processing units for further processing. If further processing procedure is required, the data packet distributing unit 106 may replaces the destination address of the data packet with a second network address that indicates a second processing unit among the plurality of processing units P 1 108 , P 2 110 . . . Pn 112 and transmits the data packet to the second processing unit for further processing. Replacing the destination address with the second network address is also a NAT.
  • the data packet distributing unit 106 may replace the current destination address of the data packet with its original destination address (a predefined address). Finally, the data packet is transmitted to the network 2 104 . Replacing the second network address with the destination address is referred to as a second NAT herein.
  • the data packets distributor 102 employs multiple NAT operations that contains at least two NAT operations to transfer the data packet from its source address to its destination address.
  • the concept of NAT is employed and no CPU or software is involved. Therefore, the goal of a reduced cost and system complexity can be achieved.
  • the associated processing units that handle the special processing procedures may check whether the data packet meets security requirements and transmission requirements. If the associated processing units detect that a data packet does not comply with the system security requirement, such as containing some virus, it may drop the data packet and log the dropping of the data packet. If any processing unit among P 1 108 , P 2 110 . . . Pn 112 , drops the data packet, the transmission of the data packet stops.
  • FIG. 2 illustrates an exemplary flow chart of a method for using multiple NAT operations to transfer a data packet from a source address indicative of a first location to a destination address indicative of a second location.
  • the method includes, receiving a data packet indicative of the first location at a data packet distributing unit, step 202 , transferring the data packet from the data packet distributing unit to a processing unit by employing a first NAT operation, step 204 , processing the data packet at the processing unit, step 206 .
  • the method further includes detecting at the processing unit whether the data packet has fulfilled system requirements, step 208 , forwarding the processed packet back to the data packet distributing unit if the data packet has fulfilled the system requirements, step 210 , dropping the processed packet if the data packet has not fulfilled the system requirements, step 216 , receiving the data packet at the data distributing unit, step 212 , and transferring the processed data packet from the data packet distributing unit to the destination address indicative of said second location by using a second NAT operation, step 214 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A network device for transferring a data packet from a source address to a destination address is provided. The network device includes a plurality of network addresses for indicating locations of a plurality of network processing units, and further including a data packet distributing unit for transferring a data packet to the network processing units in sequence by replacing a destination address of the data packet with the network addresses. The data packet distributing unit performs the actions of determining whether the data packet has been transferred to each of the network processing units, transferring the data packet to a network processing unit after replacing the destination address of the data packet with a corresponding network address if the data packet has not been transferred to the network processing unit, and outputting the data packet if the data packet has been transferred to each of the processing units.

Description

    RELATED UNITED STATES PATENT APPLICATION
  • This application is a Continuation Application of the co-pending, commonly-owned U.S. patent pplication with Attorney Docket No. O-001.P015/0357, Ser. No. 11/602,669, filed on Nov. 21, 2006, by Zhiming Wang, and entitled “Method and apparatus for distributing data packets by using multi-network address translation”.
  • FIELD OF THE INVENTION
  • The invention relates to network, and in particular, to a network device for distributing data packets to multiple network addresses.
  • BACKGROUND OF THE INVENTION
  • NAT is a process for translation of IP address. It enables a local-area network (LAN) to use a first set of network addresses for internal traffic and a second set of network addresses for external traffic. A network device that is capable of performing NAT operations is located preferably where a LAN meets a wide area network (WAN). The most commonly used network address is based on the Internet Protocol, the IP address. The first set of IP addresses for internal traffic can be reused in many different LANs and are not unique. The second set of IP addresses for external traffic are unique and can not be reused by other networks. Each of the first set of IP addresses is assigned to a host in the LAN. Therefore, when a first host in a LAN intends to communicate with a second host on the Internet, it first transmits packets to a network device that is capable of performing NAT operations. In the IP header of each packet, there is a source address and a destination address. The source address is one of the first set of addresses that is assigned to the host and cannot be used outside the LAN. Therefore, in order to transmit the data packet to its destination address, the network device replaces the source address with an address from the second set of addresses which can be used for external communication. The operation of replacing the source address of the packet with an address from the second set of addresses is part of the NAT process. After the NAT, the resulting source address of the packet can be uniquely used for external traffic, such as Internet communication.
  • Nowadays, many network devices such as routers, firewalls, and ISDN routers are capable of performing NAT operations. All these devices employ only one NAT operation to transfer a data packet from a source address to a destination address.
  • With the rapid development of information technology, the functions provided by network devices are becoming more and more powerful and sophisticated. In today's network devices, besides basic functions, such as routing, many other functions or processing procedures, such as content-filtering, anti-virus, encryption, decryption and anti-spam, can be provided. These additional functions can be accomplished either in one processing unit or in many processing units. Performing some of the functions or processing procedures, such as an anti-virus processing procedure, is very complicated and time-consuming. To solve the problem, these additional processing procedures are usually executed by different processing units. A CPU in the network device is used to distribute data packets to different processing units for processing. However, this distribution method results in a huge consumption of the CPU resource. Thus, the above-mentioned method greatly limits the system performance.
  • To solve this problem many solutions, such as using a more powerful CPU, providing extra hardware, and employing software implementation, have been proposed. However, the use of powerful CPU, extra hardware, or extra software implementation increases the system complexity and cost.
  • Therefore, it is to an improved solution that is capable of transmitting data packets to various network processing units without increasing the cost and system complexity that the present invention primarily directs.
  • SUMMARY OF THE INVENTION
  • The present invention provides a network device that employs multiple NAT operations to transmit data packets to various network processing units. Since the NAT is a standard function of many network devices, the present invention is capable of transferring data packets to various network processing units according to system requirement without extra CPU or software operation. Consequently, system complexity and the cost can be reduced.
  • In one embodiment of the invention, there is provided a network device including a plurality of network addresses for indicating locations of a plurality of network processing units, and further including a data packet distributing unit for transferring a data packet to the network processing units in sequence by replacing a destination address of the data packet with the network addresses. The data packet distributing unit performs the actions of determining whether the data packet has been transferred to each of the network processing units, transferring the data packet to a network processing unit after replacing the destination address of the data packet with a corresponding network address if the data packet has not been transferred to the network processing unit, and outputting the data packet if the data packet has been transferred to each of the processing units.
  • In another embodiment of the invention, there is also provided a network system including a plurality of network processing units for executing a plurality of predefined procedures on a data packet, and further including a data packet distributor coupled to the network processing units for transferring the data packet to the network processing units in sequence by replacing an destination address of the data packet with a plurality of network addresses for indicating locations of the network processing units respectively. The data packet distributor performs the actions of determining whether the data packet has been transferred to each of the network processing units, transferring the data packet to a network processing unit after replacing the destination address of the data packet with a corresponding network address if the data packet has not been transferred to the processing unit, and outputting the data packet if the data packet has been transferred to each of the processing units.
  • In yet another embodiment of the invention, there is also provided a method for distributing a data packet to a plurality of network processing units in sequence for processing. The method includes determining at a data packet distributing unit whether the data packet has been transferred to each of the network processing units. If the data packet has not been transferred to a network processing unit, the data packet distributing unit operates the steps of replacing a destination address of the data packet with a network address indicating a location of the network processing unit at the data packet distributing unit, and transferring the data packet from the data packet distributing unit to the network processing unit according to the destination address. If the data packet has been transferred to each of the processing units, the data packet distributing unit outputs the data packet.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Features and advantages of embodiments of the invention will become apparent as the following Detailed Description proceeds, and upon reference to the Drawings, where like numerals depict like elements, and in which:
  • FIG. 1 illustrates an exemplary topology of a network distributor for transferring a data packet from a source address to a destination address according to the invention.
  • FIG. 2 illustrates an exemplary flow chart of a method of using multiple NAT operations to transfer a data packet from a source address to a destination address.
  • DETAILED DESCRIPTION OF THE INVENTION
  • FIG. 1 illustrates an exemplary topology of a network device for transferring a data packet from a source address to a destination address. In general, a network device, e.g., a data packets distributor 102, is in communication with a first network 1 100 and a second network 2 104. The data packets distributor 102 is capable of receiving data packets from either network 1 100 or network 2 104. The data packets distributor 102 also includes a data packet distributing unit 106 and a plurality of network addresses. Each network address indicates an address of an external data packets processing unit, such as P1 108, P2 110 . . . or Pn 112 as shown in FIG. 1. The data packet distributing unit 106 is further in communication with a plurality of external data packets processing units P1 108, P2 110 . . . Pn 112. As mentioned above, each of the plurality of external network processing units P1 108, P2 110 . . . Pn 112 is assigned a unique network address. The plurality of network addresses can be either statically or dynamically mapped to the plurality of processing units P1 108, P2 110 . . . Pn 112. Each of the plurality of processing units P1 108, P2 110 . . . Pn 112 is capable of performing at least one special processing procedure, such as content-filtering, anti-virus, encryption, decryption anti-spam, etc. The data packet distributing unit 106 is further capable of determining which processing unit the data packet needs to be transferred to.
  • The data packets distributor 102 is capable of receiving data packets from either the network 1 100 or the network 2 104. When the network 1 100 transfers a data packet that has a source address and a destination address to the network 2 104, the data packet is received at the data packets distributor 102. At the data packet distributing unit 106 of the data packets distributor 102, the destination address of the data packet is replaced by a first network address that indicates a location of a certain network processing unit (e,g, P1 108) among P1 108, P2 110 . . . Pn 112. Replacing the destination address with the first network address is referred to as a first NAT operation herein. According to the first network address, the data packet is transferred to P1 108. At P1 108, the data packet is processed, according to some of the procedures that executed by the P1 108, such as content-filtering, anti-virus, encryption, decryption anti-spam, etc. After processing, the data packet is transferred back to the data packet distributing unit 106 from P1 108.
  • After the processed data packet is received at data packet distributing unit 106, the data packet distributing unit 106 checks whether the data packet needs to be transferred to other processing units for further processing. If further processing procedure is required, the data packet distributing unit 106 may replaces the destination address of the data packet with a second network address that indicates a second processing unit among the plurality of processing units P1 108, P2 110 . . . Pn 112 and transmits the data packet to the second processing unit for further processing. Replacing the destination address with the second network address is also a NAT.
  • When the data packet distributing unit 106 detects that the data packet has been transferred to all the processing units it needs to be transferred to, the data packet distributing unit 106 may replace the current destination address of the data packet with its original destination address (a predefined address). Finally, the data packet is transmitted to the network 2 104. Replacing the second network address with the destination address is referred to as a second NAT herein.
  • It is appreciated by those skilled in the art that the in the aforementioned embodiment of the invention, the data packets distributor 102 employs multiple NAT operations that contains at least two NAT operations to transfer the data packet from its source address to its destination address. In the course of distributing the data packet, the concept of NAT is employed and no CPU or software is involved. Therefore, the goal of a reduced cost and system complexity can be achieved.
  • For some special processing procedures, such as content-filtering, anti-spam and anti-virus, the associated processing units that handle the special processing procedures may check whether the data packet meets security requirements and transmission requirements. If the associated processing units detect that a data packet does not comply with the system security requirement, such as containing some virus, it may drop the data packet and log the dropping of the data packet. If any processing unit among P1 108, P2 110 . . . Pn 112, drops the data packet, the transmission of the data packet stops.
  • FIG. 2 illustrates an exemplary flow chart of a method for using multiple NAT operations to transfer a data packet from a source address indicative of a first location to a destination address indicative of a second location. The method includes, receiving a data packet indicative of the first location at a data packet distributing unit, step 202, transferring the data packet from the data packet distributing unit to a processing unit by employing a first NAT operation, step 204, processing the data packet at the processing unit, step 206. The method further includes detecting at the processing unit whether the data packet has fulfilled system requirements, step 208, forwarding the processed packet back to the data packet distributing unit if the data packet has fulfilled the system requirements, step 210, dropping the processed packet if the data packet has not fulfilled the system requirements, step 216, receiving the data packet at the data distributing unit, step 212, and transferring the processed data packet from the data packet distributing unit to the destination address indicative of said second location by using a second NAT operation, step 214.
  • The terms and expressions which have been employed herein are used as terms of description and not of limitation, and there is no intention, in the use of such terms and expressions, of excluding any equivalents of the features shown and described (or portions thereof), and it is recognized that various modifications are possible within the scope of the claims. Other modifications, variations, and alternatives are also possible. Accordingly, the claims are intended to cover all such equivalents.

Claims (22)

1-11. (canceled)
12. A network device comprising:
a plurality of network addresses for indicating locations of a plurality of network processing units; and
a data packet distributing unit for transferring a data packet to said network processing units in sequence by replacing a destination address of said data packet with said network addresses,
wherein said data packet distributing unit performs the following actions:
determining whether said data packet has been transferred to each of said network processing units;
transferring said data packet to a network processing unit after replacing said destination address of said data packet with a corresponding network address if said data packet has not been transferred to said network processing unit; and
outputting said data packet if said data packet has been transferred to each of said processing units.
13. The network device of claim 12, wherein said data packet distributing unit further selects a set of network processing units from said network processing units after receiving said data packet and transfers said data packet to said set of network processing units in sequence by replacing said destination address of said data packet with a corresponding set of said network addresses.
14. The network device of claim 12, wherein said data packet distributing unit receives said data packet from a source address.
15. The network device of claim 12, wherein said data packet distributing unit further forwards said data packet to a predefined address after replacing said destination address of said data packet with said predefined address if said data packet has been transferred to each of said network processing units.
16. The network device of claim 12, wherein each network processing unit executes a predefined procedure on said data packet after receiving said data packet from said data packet distributing unit and sends said data packet back to said data packet distributing unit after completing said execution of said predefined procedure on said data packet.
17. The network device of claim 12, wherein, when said data packet distributing unit selectively transfers said data packet to a next network processing unit which said data packet has not been transferred to after receiving said data packet from a previous network processing unit.
18. The network device of claim 12, wherein, when a network processing unit detects that said data packet is unqualified, said network processing unit drops said data packet and said data packet distributing unit stops transferring said data packet to said network processing units.
19. A network system, comprising:
a plurality of network processing units for executing a plurality of predefined procedures on a data packet; and
a data packet distributor coupled to said network processing units for transferring said data packet to said network processing units in sequence by replacing an destination address of said data packet with a plurality of network addresses for indicating locations of said network processing units respectively,
wherein said data packet distributor performs the following actions:
determining whether said data packet has been transferred to each of said network processing units;
transferring said data packet to a network processing unit after replacing said destination address of said data packet with a corresponding network address if said data packet has not been transferred to said processing unit; and
outputting said data packet if said data packet has been transferred to each of said processing units.
20. The network system of claim 19, wherein said data packet distributor further selects a set of network processing units from said network processing units after receiving said data packet and transfers said data packet to said set of network processing units in sequence by replacing said destination address of said data packet with a corresponding set of said network addresses.
21. The network system of claim 19, wherein said data packet distributor receives said data packet from a source address.
22. The network system of claim 19, wherein said data packet distributor further forwards said data packet to a predefined address after replacing said destination address of said data packet with said predefined address if said data packet has been transferred to each of said network processing units.
23. The network system of claim 19, wherein each of said network processing units processes said data packet after receiving said data packet from said data packet distributor and sends said data packet back to said data packet distributor after completing said process on said data packet.
24. The network system of claim 19, wherein said data packet distributor selectively transfers said data packet to a next network processing unit which said data packet has not been transferred to after receiving said data packet from a previous network processing unit.
25. The network system of claim 19, wherein, when a network processing unit detects that said data packet is unqualified, said network processing unit drops said data packet and said data packet distributor stops transferring said data packet to said network processing units.
26. A method for distributing a data packet to a plurality of network processing units in sequence for processing, comprising the steps of:
determining at a data packet distributing unit whether said data packet has been transferred to each of said network processing units;
if said data packet has not been transferred to a network processing unit, said data packet distributing unit operates the steps of:
replacing a destination address of said data packet with a network address indicating a location of said network processing unit at said data packet distributing unit; and
transferring said data packet from said data packet distributing unit to said network processing unit according to said destination address; and
if said data packet has been transferred to each of said processing units, outputting said data packet from said data packet distributing unit.
27. The method of claim 26, further comprising the steps of:
selecting at said data packet distributing unit a set of network processing units from said network processing units after receiving said data packet; and
transferring said data packet from said data packet distributing unit to said set of network processing units in sequence by replacing said destination address of said data packet with a corresponding set of said network addresses.
28. The method of claim 26, further comprising the step of:
receiving said data packet at said data packet distributing unit from a source address.
29. The method of claim 26, wherein, the step of outputting said data packet from said data packet distributing unit further comprises the steps of:
replacing said destination address of said data packet with a predefined address at said data packet distributing unit; and
forwarding said data packet from said data packet distributing unit to said predefined address.
30. The method of claim 26, further comprising the steps of:
processing said data packet at each of said network processing units after receiving said data packet from said data packet distributing unit; and
sending said data packet back to said data packet distributing unit after completing said process on said data packet.
31. The method of claim 26, further comprising the step of:
selectively transferring said data packet from said data packet distributing unit to a next network processing unit which said data packet has not been transferred to after receiving said data packet at said data packet distributing unit from a previous network processing unit.
32. The method of claim 26, further comprising the step of:
dropping said data packet and stopping transferring said data packet to said network processing units if a network processing unit detects said data packet is unqualified.
US12/726,832 2006-11-21 2010-03-18 Method and apparatus for distributing data packets to multiple network addresses Abandoned US20100183019A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/726,832 US20100183019A1 (en) 2006-11-21 2010-03-18 Method and apparatus for distributing data packets to multiple network addresses

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/602,669 US7688821B2 (en) 2006-11-21 2006-11-21 Method and apparatus for distributing data packets by using multi-network address translation
US12/726,832 US20100183019A1 (en) 2006-11-21 2010-03-18 Method and apparatus for distributing data packets to multiple network addresses

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/602,669 Continuation US7688821B2 (en) 2006-11-21 2006-11-21 Method and apparatus for distributing data packets by using multi-network address translation

Publications (1)

Publication Number Publication Date
US20100183019A1 true US20100183019A1 (en) 2010-07-22

Family

ID=39416867

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/602,669 Expired - Fee Related US7688821B2 (en) 2006-11-21 2006-11-21 Method and apparatus for distributing data packets by using multi-network address translation
US12/726,832 Abandoned US20100183019A1 (en) 2006-11-21 2010-03-18 Method and apparatus for distributing data packets to multiple network addresses

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/602,669 Expired - Fee Related US7688821B2 (en) 2006-11-21 2006-11-21 Method and apparatus for distributing data packets by using multi-network address translation

Country Status (2)

Country Link
US (2) US7688821B2 (en)
TW (1) TWI356619B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7688821B2 (en) * 2006-11-21 2010-03-30 O2Micro International Ltd. Method and apparatus for distributing data packets by using multi-network address translation
US8819066B2 (en) 2007-12-21 2014-08-26 International Business Machines Corporation Employing organizational context within a collaborative tagging system
US8005098B2 (en) * 2008-09-05 2011-08-23 Cisco Technology, Inc. Load balancing across multiple network address translation (NAT) instances and/or processors
EP2169903A1 (en) * 2008-09-30 2010-03-31 France Telecom Apparatus and method for routing allowing the translation of addresses in cascade in a network
CN106060183B (en) * 2016-05-03 2019-05-07 新华三技术有限公司 A kind of address distribution method and device

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793763A (en) * 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US6047325A (en) * 1997-10-24 2000-04-04 Jain; Lalit Network device for supporting construction of virtual local area networks on arbitrary local and wide area computer networks
US6145030A (en) * 1998-03-27 2000-11-07 Intel Corporation System for managing input/output address accesses at a bridge/memory controller
US20020009079A1 (en) * 2000-06-23 2002-01-24 Jungck Peder J. Edge adapter apparatus and method
US20020065938A1 (en) * 2000-06-23 2002-05-30 Jungck Peder J. Edge adapter architecture apparatus and method
US20020141438A1 (en) * 2001-02-09 2002-10-03 Smith J. Howard Data communication controller and method
US6496935B1 (en) * 2000-03-02 2002-12-17 Check Point Software Technologies Ltd System, device and method for rapid packet filtering and processing
US20030053448A1 (en) * 2001-05-16 2003-03-20 David Craig Systems and methods for providing differentiated services within a network communication system
US20030110379A1 (en) * 2001-12-07 2003-06-12 Tatu Ylonen Application gateway system, and method for maintaining security in a packet-switched information network
US20040049701A1 (en) * 2002-09-05 2004-03-11 Jean-Francois Le Pennec Firewall system for interconnecting two IP networks managed by two different administrative entities
US6754709B1 (en) * 2000-03-29 2004-06-22 Microsoft Corporation Application programming interface and generalized network address translator for intelligent transparent application gateway processes
US20050125798A1 (en) * 2001-04-24 2005-06-09 Peterson Diane L. Method and apparatus for load balancing a distributed processing system
US20070248090A1 (en) * 2006-04-25 2007-10-25 Haseeb Budhani Virtual inline configuration for a network device
US7315541B1 (en) * 2002-04-03 2008-01-01 Cisco Technology, Inc. Methods and apparatus for routing a content request
US7688821B2 (en) * 2006-11-21 2010-03-30 O2Micro International Ltd. Method and apparatus for distributing data packets by using multi-network address translation

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793763A (en) * 1995-11-03 1998-08-11 Cisco Technology, Inc. Security system for network address translation systems
US6047325A (en) * 1997-10-24 2000-04-04 Jain; Lalit Network device for supporting construction of virtual local area networks on arbitrary local and wide area computer networks
US6145030A (en) * 1998-03-27 2000-11-07 Intel Corporation System for managing input/output address accesses at a bridge/memory controller
US6496935B1 (en) * 2000-03-02 2002-12-17 Check Point Software Technologies Ltd System, device and method for rapid packet filtering and processing
US6754709B1 (en) * 2000-03-29 2004-06-22 Microsoft Corporation Application programming interface and generalized network address translator for intelligent transparent application gateway processes
US20020009079A1 (en) * 2000-06-23 2002-01-24 Jungck Peder J. Edge adapter apparatus and method
US20020065938A1 (en) * 2000-06-23 2002-05-30 Jungck Peder J. Edge adapter architecture apparatus and method
US20020141438A1 (en) * 2001-02-09 2002-10-03 Smith J. Howard Data communication controller and method
US20050125798A1 (en) * 2001-04-24 2005-06-09 Peterson Diane L. Method and apparatus for load balancing a distributed processing system
US20030053448A1 (en) * 2001-05-16 2003-03-20 David Craig Systems and methods for providing differentiated services within a network communication system
US20030110379A1 (en) * 2001-12-07 2003-06-12 Tatu Ylonen Application gateway system, and method for maintaining security in a packet-switched information network
US7315541B1 (en) * 2002-04-03 2008-01-01 Cisco Technology, Inc. Methods and apparatus for routing a content request
US20040049701A1 (en) * 2002-09-05 2004-03-11 Jean-Francois Le Pennec Firewall system for interconnecting two IP networks managed by two different administrative entities
US20070248090A1 (en) * 2006-04-25 2007-10-25 Haseeb Budhani Virtual inline configuration for a network device
US7688821B2 (en) * 2006-11-21 2010-03-30 O2Micro International Ltd. Method and apparatus for distributing data packets by using multi-network address translation

Also Published As

Publication number Publication date
TW200824368A (en) 2008-06-01
US7688821B2 (en) 2010-03-30
TWI356619B (en) 2012-01-11
US20080117900A1 (en) 2008-05-22

Similar Documents

Publication Publication Date Title
US7630368B2 (en) Virtual network interface card loopback fastpath
US7068656B2 (en) Packet routing apparatus and a method of routing a packet
US7996894B1 (en) MAC address modification of otherwise locally bridged client devices to provide security
US7382778B2 (en) Link layer emulation
JP4832816B2 (en) Power savings for wireless packet-based networks
US10375193B2 (en) Source IP address transparency systems and methods
US7792990B2 (en) Remote client remediation
US20070288613A1 (en) Providing support for responding to location protocol queries within a network node
US20080107115A1 (en) Method, device and system for message transmission
CN104272656A (en) Network feedback in software-defined networks
US20080002736A1 (en) Virtual network interface cards with VLAN functionality
US7532620B2 (en) Routing table synchronization method, network apparatus, and routing table synchronization program
KR20210038686A (en) Packet processing method and apparatus, and related devices
JP2006262193A (en) Controller, packet transferring method, and packet processor
US20100183019A1 (en) Method and apparatus for distributing data packets to multiple network addresses
US7826447B1 (en) Preventing denial-of-service attacks employing broadcast packets
US8031713B2 (en) General multi-link interface for networking environments
US7899929B1 (en) Systems and methods to perform hybrid switching and routing functions
US20030053421A1 (en) Method and apparatus for transferring packets in network
JP4472651B2 (en) Network access system and network access method
US20060187922A1 (en) Packet communication device
US7969994B2 (en) Method and apparatus for multiple connections to group of switches
CN111131046B (en) Message forwarding method and multi-core system
US9537750B2 (en) Multicast router topology discovery
US7680054B1 (en) Arrangement for switching infiniband packets using switching tag at start of packet

Legal Events

Date Code Title Description
AS Assignment

Owner name: O2MICRO INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WANG, ZHIMING;REEL/FRAME:024101/0800

Effective date: 20061016

AS Assignment

Owner name: IYUKO SERVICES L.L.C., DELAWARE

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:O2MICRO INTERNATIONAL, LIMITED;REEL/FRAME:028585/0710

Effective date: 20120419

AS Assignment

Owner name: O2MICRO INTERNATIONAL LIMITED, CAYMAN ISLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:O2MICRO, INC.;REEL/FRAME:028969/0746

Effective date: 20100216

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION