US20010043598A1 - Mehtod and apparatus for routing a packet in a network - Google Patents

Mehtod and apparatus for routing a packet in a network Download PDF

Info

Publication number
US20010043598A1
US20010043598A1 US08/965,017 US96501797A US2001043598A1 US 20010043598 A1 US20010043598 A1 US 20010043598A1 US 96501797 A US96501797 A US 96501797A US 2001043598 A1 US2001043598 A1 US 2001043598A1
Authority
US
United States
Prior art keywords
data packet
destination
address
router
resolution
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.)
Granted
Application number
US08/965,017
Other versions
US6418124B2 (en
Inventor
Charles L. Brabenac
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Priority to US08/965,017 priority Critical patent/US6418124B2/en
Assigned to INTEL CORPORATION reassignment INTEL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BRABENAC, CHARLES L.
Publication of US20010043598A1 publication Critical patent/US20010043598A1/en
Application granted granted Critical
Publication of US6418124B2 publication Critical patent/US6418124B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • 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/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Definitions

  • This invention relates generally to computer networks and, more particularly, to a method and apparatus for routing a packet in a computer network.
  • LANs Local area networks
  • a LAN is a computer network that spans a relatively small area.
  • Most LANs connect workstations and/or personal computers in a way that enables a user to access data and devices at any of the locations on the LAN so that many users can share expensive types of devices such as laser printers and can share information.
  • a token ring network is a type of computer network in which the computers are schematically arranged in a circle.
  • a packet of digital information called a “token,” travels around the circle.
  • To send a message a computer attaches its message to the token and lets the token continue traveling around the network.
  • Each computer checks the message when it receives a token to see if it is the intended destination and, if so, removes the message from the token.
  • An Ethernet is a bus network in which packets of digital information travel up and down the bus.
  • FIG. 1 depicts a prior art computer network 10 that will be used to illustrate several concepts associated with the invention.
  • the computer network 10 generally comprises a first LAN 12 , a second LAN 14 , and a router 15 .
  • a “router” is a device that connects two or more LANs as shown in FIG. 1 and in a manner described more fully below.
  • the first LAN 12 includes a server 16 and two workstations 18 .
  • the second LAN 14 similarly includes a second server 20 and two workstations 22 .
  • Each of the router 15 , the server 16 , the workstations 18 , the server 20 , and the workstations 22 may be generally referred to as a “LAN device.”
  • the various components of the computer network 10 are interconnected by communication links 23 , 24 , and 25 , which may be any type of media such as twisted pair wires, coaxial cables, fiber optic cables, or some combination thereof.
  • Some LANs even use wireless communications links, such as radio or infrared waves.
  • the workstations 18 and workstations 22 can send messages to one another through the network 10 in “packets” of digital information. Each device on the network 10 is assigned a physical address. Each packet contains a destination address for one of the other workstations and message data. Thus, for one workstation 18 to communicate with the other workstation 18 , the first workstation 18 composes a packet which is then electronically transmitted to the other workstation 18 over the LAN 12 through the communications links 24 . The workstations 22 use this same process. However, for a workstation 18 to transmit a message to a workstation 22 , the workstation 18 must compose a data packet that is transmitted via the router 15 .
  • the manner in which the LAN devices communicate is determined by a “protocol.”
  • a protocol is an agreed upon format for transmitting data between and among devices.
  • the network's protocol determines the composition, transmission, receipt, and decomposition of the packets.
  • Most networks use some form of the transport control protocol/Internet protocol (“TCP/IP”).
  • TCP/IP transport control protocol/Internet protocol
  • the TCP/IP protocol is actually a group of protocols. Note that, although the term “Internet” appears in the name of the protocol, its application is not limited to the Internet, other wide area networks (“WANs”), or any other type of network.
  • the TCP/IP protocols are typically used to implement computer networks, such as the computer network 10 , dictate that the destination address for any individual packet have at least two parts.
  • One part of the address is very general and one part of the address is very specific.
  • the general part of the address is known as the Internet protocol (“IP”) address and determines whether the packet is sent to its destination through the router 15 .
  • the router 15 determines, or “resolves,” the specific physical address of the packet's destination from the IP address carried by the packet.
  • IP address is not an actual physical address, but instead merely represents a physical address.
  • the router 15 When the router 15 receives a packet, it determines whether it knows the physical address represented by the IP address. The router 15 temporarily stores physical addresses to which it has recently transmitted, and checks this store whenever it receives a packet. If the physical address of the received packet can be determined from the stored information, the router 15 transmits the packet right away. If not, then the router 15 must “resolve” the physical address. The router 15 typically does this using what is known as an “address resolution protocol” (“ARP”).
  • ARP address resolution protocol
  • the ARP is part of the TCP/IP protocol suite and is used to convert an IP address into the physical address that is the destination of the packet.
  • the ARP requires the router 15 to broadcast to all LAN devices on the network 10 what is known as an ARP request.
  • the ARP request instructs the LAN device corresponding to the IP address to respond by transmitting its physical address back to the router 15 .
  • the intended destination then replies to the request with its physical hardware address.
  • the router 15 receives the physical address and stores it temporarily.
  • the router 15 either retains or discards the packet for which the ARP is issued. If the packet is retained, the router 15 simply transmits it to whichever LAN device responded to the ARP request. However, some routers do not retain the packet during ARP and the packet is lost. The LAN devices are typically programmed for this eventuality such that they will send the packet to the router 15 several times. Thus, the router 15 might receive the packet two or three times while transmitting the packet to the destination only on the second or third try.
  • a workstation 18 transmits a data packet to a workstation 22 over the network 10 and that the router 15 does not retain the data packet.
  • the workstation 18 transmits the data packet over the LAN 12 to the router 15 .
  • the router 15 then broadcasts an ARP request and the workstation 22 replies to the request by sending its physical address to the router 15 .
  • the router 15 has dropped the data packet.
  • the router 15 receives the physical address of the workstation 22 over the LAN 14 and temporarily stores it.
  • the workstation 18 once again sends the data packet to the router 15 .
  • the router 15 checks its memory, finds the previously resolved physical address of the workstation 22 , and forwards the data packet to the workstation 22 .
  • LAN devices such as the servers 16 and 20 and the workstations 18 and 22 typically have a retention capability.
  • the retention capability for some devices deactivates when the device goes to sleep.
  • the LAN device when it is asleep may retain the ARP request or discard it depending on its retention capabilities.
  • the sleep-state retention capability for LAN devices is expensive to implement and was previously thought to be non-critical.
  • Many computer networks such as the network 10 are therefore implemented with LAN devices omitting a sleep-state retention capability for cost reasons.
  • recent information indicates that sleep-state retention capability is extremely critical in some implementations to prevent LAN connection failures and lost information
  • the destination workstation 22 is a power-managed device, (2) the workstation 22 lacks a sleep-state retention capability, and (3) the workstation 22 is asleep at the time the data packet is first transmitted.
  • the first ARP request awakens the workstation 22 .
  • the source workstation 18 may re-send one or more data packets with the router 15 broadcasting another ARP request for each data packet, again dropping the data packets.
  • the destination workstation 22 in this scenario cannot respond to the first ARP request upon awakening because it has not been retained. Once the destination workstation 22 is awakened, it can respond to one of the subsequent ARP requests so that the router 15 can resolve its physical address.
  • the source workstation 18 has quit re-sending the packet.
  • the router 15 has now resolved and stored the address and the destination workstation 22 is awake, the connection has failed and the information is lost.
  • the present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.
  • the invention in one embodiment is a method for routing a packet in a network.
  • the method includes transmitting a first data packet to a destination; provoking resolution of the destination address of the first data packet; and transmitting a second data packet to the destination after the destination address is resolved.
  • FIG. 1 conceptually illustrates a computer network
  • FIG. 2 conceptually illustrates a network operating in accord with the present invention in one embodiment
  • FIG. 3 conceptually illustrates one embodiment of a method in accordance with the present invention
  • FIGS. 4A and 4B illustrate alternative computer networks with which the invention may be implemented in alternative embodiments.
  • FIG. 5 conceptually illustrates an alternative embodiment of a method for implementing the present invention on the computer networks of FIGS. 4A and 4B.
  • FIG. 2 illustrates a computer network 30 constructed and operating in accordance with one embodiment of the invention.
  • the network 30 generally comprises a source 32 , a router 34 , and a destination 36 , all joined by communication links 37 and 39 .
  • the source 32 is a workstation and the destination 36 is a server.
  • the invention is not so limited as both the source 32 and the destination 36 may be any kind of LAN device known to the art. Also, it is possible that, in some embodiments, source 32 might comprise two separate devices operating in tandem.
  • the router 34 in the embodiment illustrated omits the capability to retain a packet during address resolution, but the invention is not so limited.
  • the router 34 may, in some embodiments, include such a retention capability.
  • the destination 36 in the embodiment illustrated is a power managed device. However, again the invention is not so limited as the destination 36 may be any type of LAN device known to the art.
  • the source 32 transmits a first data packet to the destination 36 via the router 34 .
  • the router 34 upon receiving the first data packet, broadcasts the ARP request over the subnet, or LAN, including the destination 36 . Because the router 34 in the embodiment illustrated does not have the capability for retaining the packet, the packet is dropped.
  • the destination 36 receives the ARP request. Because, in the embodiment illustrated, the destination 36 is a power managed device that may be in a sleep state, the destination 36 may need to first awaken before being able to reply to the ARP request. Furthermore, because the destination 36 in the embodiment illustrated lacks the capability of retaining the ARP request while awakening, the destination 36 will drop the ARP request and fail to reply if it is in a sleep state. The destination 36 then, in accordance with the present invention, provokes resolution the destination address upon awakening. Note that this provocation is distinguishable from replying to the ARP request in the typical address resolution protocol.
  • the address resolution may be provoked by transmitting a “provoking” packet from the destination 36 to the router 34 once the destination 36 has awakened.
  • the provoking packet can be any type of packet that may be transmitted over the subnet or LAN including the destination 36 and the router 34 to which the router 34 will respond. Examples include an Internet Control Message Protocol (“ICMP”) echo request sent out to the IP multi-cast address 224.0.0.2 (i.e., all routers on the subnet), and an ARP request for the IP address known to belong to the router 34 in use.
  • ICMP Internet Control Message Protocol
  • other types of packets may be used to provoke the address resolution and the type of packet may depend on the particular embodiment of the invention being implemented.
  • the source 32 then transmits a second data packet to the destination 36 .
  • the first and second data packets may preferably be identical but may, in some alternative embodiments, be different. Also, in some embodiments, the source 32 may have unsuccessfully attempted to transmit other data packets to the destination 36 between the first and second data packets as a result of programmed retries as described above.
  • the address included in the second data packet has previously been resolved as a result of the destination 36 's provocation and is stored in the memory of the router 34 such that the router 34 need not reissue the ARP request. The router 34 consequently directly routes the second data packet to the destination 36 .
  • the source 32 sequentially transmits a first data packet and a second data packet to the destination 36 via the router 34 .
  • the router 34 resolves the address of the first data packet upon the provocation of the destination 36 .
  • the destination 36 provokes the resolution upon awakening from a sleep state responsive to the ARP request broadcast by the router 34 for the first data packet.
  • the router 34 then routes the second data packet to the destination 36 upon its receipt.
  • the period of time between the transmission of the first and second data packets by the source 32 will vary depending upon the particular embodiment implemented, as will be recognized by those in the art having the benefit of this disclosure. The factors in this determination are well known in the art, and will include, for instance, the estimated round trip time.
  • FIG. 4A illustrates two alternative embodiments of the invention.
  • the embodiment of FIG. 4A is a network 40 comprising a first LAN 42 , a router 44 , and a second LAN 46 , all joined by communication links 47 , 48 , and 49 .
  • Both the first LAN 42 and the second LAN 46 are token ring networks as are known in the art and are discussed above, as modified to implement the present invention.
  • the embodiment of FIG. 4B is a computer network 50 comprising a first LAN 52 , a router 54 , and a second LAN 56 , all joined by communications links 57 , 58 , and 59 .
  • both the first LAN 52 and the second LAN 56 are Ethernet networks as are known in the art and are discussed above, as modified to implement the present invention.
  • Both the network 40 of FIG. 4A and the network 50 of FIG. 4B may be implemented using the alternative method of FIG. 5.
  • each of the first LAN 42 and the second LAN 46 comprise a plurality of LAN devices.
  • Each of the first LAN 42 and the second LAN 46 includes a server 60 a, a printer 60 b, and a workstation 60 c. Again, these are exemplary LAN devices and may in other embodiments be other types of LAN devices.
  • the pieces of the network 40 are connected by communications links 47 , 48 , and 49 , which may be any suitable type of communications links known to the art.
  • the source 60 c of the first LAN 42 transmits a data packet to the destination 60 a, which is asleep, of the second LAN 46 via the router 44 using a TCP/IP protocol.
  • the router 44 receives the data packet, broadcasts an ARP request throughout the network 40 , drops the data packet, and waits for the reply to the ARP request.
  • the destination 60 a receives the ARP request and awakens.
  • the destination 60 a then provokes the resolution of its physical address by broadcasting an ICMP echo request to the IP address 224.0.0.2.
  • the router 44 resolves the physical address of the destination 60 a in memory. After waiting a predetermined period of time sufficient for the address resolution to finish, the source 60 c then re-transmits the data packet. Because the address of the destination 60 a has been resolved, the router 44 transmits the data packet to the destination 60 a without issuing another ARP request.
  • the present invention is well-suited for its intended purpose.
  • the present invention minimizes LAN connection problems and latencies in computer networking environments where power-managed LAN devices are accessed through a router without having to replace or re-program the router.
  • the present invention may also be employed advantageously in other computer networking environments to achieve higher performance in making LAN connections.
  • the invention may be implemented solely in the software of power-managed LAN devices, thereby eliminating expensive equipment changes in established computer networks.
  • FIGS. 4A and 4B employ a router joining LANs employing the same topology and protocol, the router may join LANs employing alternative topologies and protocols.
  • the network 50 of FIG. 4B may, like the network 40 of FIG. 4A, be implemented using the method of FIG. 5.
  • no limitations are intended to the details of construction or design herein shown, other than as described in the claims below. It is therefore evident that the particular embodiments disclosed above may be altered or modified and all such variations are considered within the scope and spirit of the invention. Accordingly, the protection sought herein is as set forth in the claims below.

Abstract

A method for routing a packet in a network is disclosed. The method includes transmitting a first data packet to a destination; provoking resolution of the destination address of the first data packet; and transmitting a second data packet to the destination after the destination address is resolved.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0001]
  • This invention relates generally to computer networks and, more particularly, to a method and apparatus for routing a packet in a computer network. [0002]
  • 2. Description of the Related Art [0003]
  • Local area networks (“LANs”) are now commonplace. A LAN is a computer network that spans a relatively small area. Most LANs connect workstations and/or personal computers in a way that enables a user to access data and devices at any of the locations on the LAN so that many users can share expensive types of devices such as laser printers and can share information. [0004]
  • There are many types of LANs. Common examples include token ring networks and Ethernets. A token ring network is a type of computer network in which the computers are schematically arranged in a circle. A packet of digital information, called a “token,” travels around the circle. To send a message, a computer attaches its message to the token and lets the token continue traveling around the network. Each computer checks the message when it receives a token to see if it is the intended destination and, if so, removes the message from the token. An Ethernet is a bus network in which packets of digital information travel up and down the bus. Although these are the most common type of LANs, there are still others, such as ARCnet, in use. [0005]
  • FIG. 1 depicts a prior [0006] art computer network 10 that will be used to illustrate several concepts associated with the invention. The computer network 10 generally comprises a first LAN 12, a second LAN 14, and a router 15. A “router” is a device that connects two or more LANs as shown in FIG. 1 and in a manner described more fully below. The first LAN 12 includes a server 16 and two workstations 18. The second LAN 14 similarly includes a second server 20 and two workstations 22. Each of the router 15, the server 16, the workstations 18, the server 20, and the workstations 22 may be generally referred to as a “LAN device.” The various components of the computer network 10 are interconnected by communication links 23, 24, and 25, which may be any type of media such as twisted pair wires, coaxial cables, fiber optic cables, or some combination thereof. Some LANs even use wireless communications links, such as radio or infrared waves.
  • The [0007] workstations 18 and workstations 22 can send messages to one another through the network 10 in “packets” of digital information. Each device on the network 10 is assigned a physical address. Each packet contains a destination address for one of the other workstations and message data. Thus, for one workstation 18 to communicate with the other workstation 18, the first workstation 18 composes a packet which is then electronically transmitted to the other workstation 18 over the LAN 12 through the communications links 24. The workstations 22 use this same process. However, for a workstation 18 to transmit a message to a workstation 22, the workstation 18 must compose a data packet that is transmitted via the router 15.
  • The manner in which the LAN devices communicate is determined by a “protocol.” A protocol is an agreed upon format for transmitting data between and among devices. Thus, the network's protocol determines the composition, transmission, receipt, and decomposition of the packets. Most networks use some form of the transport control protocol/Internet protocol (“TCP/IP”). The TCP/IP protocol is actually a group of protocols. Note that, although the term “Internet” appears in the name of the protocol, its application is not limited to the Internet, other wide area networks (“WANs”), or any other type of network. [0008]
  • The TCP/IP protocols are typically used to implement computer networks, such as the [0009] computer network 10, dictate that the destination address for any individual packet have at least two parts. One part of the address is very general and one part of the address is very specific. The general part of the address is known as the Internet protocol (“IP”) address and determines whether the packet is sent to its destination through the router 15. The router 15 then determines, or “resolves,” the specific physical address of the packet's destination from the IP address carried by the packet. Thus, the IP address is not an actual physical address, but instead merely represents a physical address.
  • When the [0010] router 15 receives a packet, it determines whether it knows the physical address represented by the IP address. The router 15 temporarily stores physical addresses to which it has recently transmitted, and checks this store whenever it receives a packet. If the physical address of the received packet can be determined from the stored information, the router 15 transmits the packet right away. If not, then the router 15 must “resolve” the physical address. The router 15 typically does this using what is known as an “address resolution protocol” (“ARP”).
  • The ARP is part of the TCP/IP protocol suite and is used to convert an IP address into the physical address that is the destination of the packet. The ARP requires the [0011] router 15 to broadcast to all LAN devices on the network 10 what is known as an ARP request. The ARP request instructs the LAN device corresponding to the IP address to respond by transmitting its physical address back to the router 15. The intended destination then replies to the request with its physical hardware address. The router 15 receives the physical address and stores it temporarily.
  • During the ARP, the [0012] router 15 either retains or discards the packet for which the ARP is issued. If the packet is retained, the router 15 simply transmits it to whichever LAN device responded to the ARP request. However, some routers do not retain the packet during ARP and the packet is lost. The LAN devices are typically programmed for this eventuality such that they will send the packet to the router 15 several times. Thus, the router 15 might receive the packet two or three times while transmitting the packet to the destination only on the second or third try.
  • For example, assume that a [0013] workstation 18 transmits a data packet to a workstation 22 over the network 10 and that the router 15 does not retain the data packet. The workstation 18 transmits the data packet over the LAN 12 to the router 15. The router 15 then broadcasts an ARP request and the workstation 22 replies to the request by sending its physical address to the router 15. In the meantime, the router 15 has dropped the data packet. The router 15 then receives the physical address of the workstation 22 over the LAN 14 and temporarily stores it. The workstation 18 once again sends the data packet to the router 15. The router 15 then checks its memory, finds the previously resolved physical address of the workstation 22, and forwards the data packet to the workstation 22. Although such a network obviously lacks something in efficiency, this protocol simplifies the design and reduces the cost of implementing the network 10 overall.
  • This procedure works reasonably well unless one or more of the LAN devices on the [0014] network 10 includes a power management feature that inactivates the LAN device when not in use. If, for instance, a workstation 22 incorporates a power management system, the operating system of the workstation 22 will switch to a “sleep” state to reduce power consumption after a predetermined period of inactivity. When the router 15 broadcasts an ARP request to which a sleeping workstation 22 should respond, the workstation 22 has to “wake up” before responding.
  • The presence of power-managed devices is important because of the way they typically implement their retention capabilities. LAN devices such as the [0015] servers 16 and 20 and the workstations 18 and 22 typically have a retention capability. However, the retention capability for some devices deactivates when the device goes to sleep. Thus, in the context of ARP, the LAN device when it is asleep may retain the ARP request or discard it depending on its retention capabilities. The sleep-state retention capability for LAN devices is expensive to implement and was previously thought to be non-critical. Many computer networks such as the network 10 are therefore implemented with LAN devices omitting a sleep-state retention capability for cost reasons. However, recent information indicates that sleep-state retention capability is extremely critical in some implementations to prevent LAN connection failures and lost information
  • Assume again the previous scenario, except that (1) the [0016] destination workstation 22 is a power-managed device, (2) the workstation 22 lacks a sleep-state retention capability, and (3) the workstation 22 is asleep at the time the data packet is first transmitted. The first ARP request awakens the workstation 22. While the workstation 22 is awakening, the source workstation 18 may re-send one or more data packets with the router 15 broadcasting another ARP request for each data packet, again dropping the data packets. The destination workstation 22 in this scenario cannot respond to the first ARP request upon awakening because it has not been retained. Once the destination workstation 22 is awakened, it can respond to one of the subsequent ARP requests so that the router 15 can resolve its physical address. However, in some circumstances, by the time the physical address of the workstation 22 is finally resolved, the source workstation 18 has quit re-sending the packet. Thus, although the router 15 has now resolved and stored the address and the destination workstation 22 is awake, the connection has failed and the information is lost.
  • The present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above. [0017]
  • SUMMARY OF THE INVENTION
  • The invention in one embodiment is a method for routing a packet in a network. The method includes transmitting a first data packet to a destination; provoking resolution of the destination address of the first data packet; and transmitting a second data packet to the destination after the destination address is resolved.[0018]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Other objects and advantages of the invention will become apparent upon reading the following detailed description and upon reference to the drawings in which: [0019]
  • FIG. 1 conceptually illustrates a computer network; [0020]
  • FIG. 2 conceptually illustrates a network operating in accord with the present invention in one embodiment; [0021]
  • FIG. 3 conceptually illustrates one embodiment of a method in accordance with the present invention; [0022]
  • FIGS. 4A and 4B illustrate alternative computer networks with which the invention may be implemented in alternative embodiments; and [0023]
  • FIG. 5 conceptually illustrates an alternative embodiment of a method for implementing the present invention on the computer networks of FIGS. 4A and 4B.[0024]
  • While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and are herein described in detail. It should be understood, however, that the description herein of specific embodiments is not intended to limit the invention to the particular forms disclosed, but on the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims. [0025]
  • DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS
  • Illustrative embodiments of the invention are described below. In the interest of clarity, not all features of an actual implementation are described in this specification. It will of course be appreciated that in the development of any such actual embodiment, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which will vary from one implementation to another. Moreover, it will be appreciated that such a development effort, even if complex and time-consuming, would be a routine undertaking for those of ordinary skill in the art having the benefit of this disclosure. [0026]
  • FIG. 2 illustrates a [0027] computer network 30 constructed and operating in accordance with one embodiment of the invention. The network 30 generally comprises a source 32, a router 34, and a destination 36, all joined by communication links 37 and 39. In the embodiment illustrated, the source 32 is a workstation and the destination 36 is a server. However, the invention is not so limited as both the source 32 and the destination 36 may be any kind of LAN device known to the art. Also, it is possible that, in some embodiments, source 32 might comprise two separate devices operating in tandem. The router 34 in the embodiment illustrated omits the capability to retain a packet during address resolution, but the invention is not so limited. The router 34 may, in some embodiments, include such a retention capability. The destination 36 in the embodiment illustrated is a power managed device. However, again the invention is not so limited as the destination 36 may be any type of LAN device known to the art.
  • In accordance with the method conceptually illustrated in FIG. 3, the [0028] source 32 transmits a first data packet to the destination 36 via the router 34. The router 34, upon receiving the first data packet, broadcasts the ARP request over the subnet, or LAN, including the destination 36. Because the router 34 in the embodiment illustrated does not have the capability for retaining the packet, the packet is dropped.
  • The [0029] destination 36 receives the ARP request. Because, in the embodiment illustrated, the destination 36 is a power managed device that may be in a sleep state, the destination 36 may need to first awaken before being able to reply to the ARP request. Furthermore, because the destination 36 in the embodiment illustrated lacks the capability of retaining the ARP request while awakening, the destination 36 will drop the ARP request and fail to reply if it is in a sleep state. The destination 36 then, in accordance with the present invention, provokes resolution the destination address upon awakening. Note that this provocation is distinguishable from replying to the ARP request in the typical address resolution protocol.
  • The address resolution may be provoked by transmitting a “provoking” packet from the [0030] destination 36 to the router 34 once the destination 36 has awakened. The provoking packet can be any type of packet that may be transmitted over the subnet or LAN including the destination 36 and the router 34 to which the router 34 will respond. Examples include an Internet Control Message Protocol (“ICMP”) echo request sent out to the IP multi-cast address 224.0.0.2 (i.e., all routers on the subnet), and an ARP request for the IP address known to belong to the router 34 in use. However, other types of packets may be used to provoke the address resolution and the type of packet may depend on the particular embodiment of the invention being implemented.
  • The [0031] source 32 then transmits a second data packet to the destination 36. The first and second data packets may preferably be identical but may, in some alternative embodiments, be different. Also, in some embodiments, the source 32 may have unsuccessfully attempted to transmit other data packets to the destination 36 between the first and second data packets as a result of programmed retries as described above. The address included in the second data packet has previously been resolved as a result of the destination 36's provocation and is stored in the memory of the router 34 such that the router 34 need not reissue the ARP request. The router 34 consequently directly routes the second data packet to the destination 36.
  • Thus, the [0032] source 32 sequentially transmits a first data packet and a second data packet to the destination 36 via the router 34. The router 34 resolves the address of the first data packet upon the provocation of the destination 36. The destination 36 provokes the resolution upon awakening from a sleep state responsive to the ARP request broadcast by the router 34 for the first data packet. The router 34 then routes the second data packet to the destination 36 upon its receipt. The period of time between the transmission of the first and second data packets by the source 32 will vary depending upon the particular embodiment implemented, as will be recognized by those in the art having the benefit of this disclosure. The factors in this determination are well known in the art, and will include, for instance, the estimated round trip time.
  • FIGS. 4A and 4B illustrate two alternative embodiments of the invention. The embodiment of FIG. 4A is a [0033] network 40 comprising a first LAN 42, a router 44, and a second LAN 46, all joined by communication links 47, 48, and 49. Both the first LAN 42 and the second LAN 46 are token ring networks as are known in the art and are discussed above, as modified to implement the present invention. The embodiment of FIG. 4B is a computer network 50 comprising a first LAN 52, a router 54, and a second LAN 56, all joined by communications links 57, 58, and 59. In this embodiment, both the first LAN 52 and the second LAN 56 are Ethernet networks as are known in the art and are discussed above, as modified to implement the present invention. Both the network 40 of FIG. 4A and the network 50 of FIG. 4B may be implemented using the alternative method of FIG. 5.
  • Turning now to FIGS. 4A and 5, each of the [0034] first LAN 42 and the second LAN 46 comprise a plurality of LAN devices. Each of the first LAN 42 and the second LAN 46 includes a server 60 a, a printer 60 b, and a workstation 60 c. Again, these are exemplary LAN devices and may in other embodiments be other types of LAN devices. The pieces of the network 40 are connected by communications links 47, 48, and 49, which may be any suitable type of communications links known to the art.
  • The [0035] source 60 c of the first LAN 42 transmits a data packet to the destination 60 a, which is asleep, of the second LAN 46 via the router 44 using a TCP/IP protocol. The router 44 receives the data packet, broadcasts an ARP request throughout the network 40, drops the data packet, and waits for the reply to the ARP request. The destination 60 a receives the ARP request and awakens. The destination 60 a then provokes the resolution of its physical address by broadcasting an ICMP echo request to the IP address 224.0.0.2. The router 44 then resolves the physical address of the destination 60 a in memory. After waiting a predetermined period of time sufficient for the address resolution to finish, the source 60 c then re-transmits the data packet. Because the address of the destination 60 a has been resolved, the router 44 transmits the data packet to the destination 60 a without issuing another ARP request.
  • Thus, it can be seen that the present invention is well-suited for its intended purpose. In particular, the present invention minimizes LAN connection problems and latencies in computer networking environments where power-managed LAN devices are accessed through a router without having to replace or re-program the router. However, the present invention may also be employed advantageously in other computer networking environments to achieve higher performance in making LAN connections. Furthermore, the invention may be implemented solely in the software of power-managed LAN devices, thereby eliminating expensive equipment changes in established computer networks. [0036]
  • The particular embodiments disclosed above are illustrative only as the invention may be modified and practiced in different but equivalent manners apparent to those skilled in the art having the benefit of the teachings herein. For instance, although the embodiments of FIGS. 4A and 4B employ a router joining LANs employing the same topology and protocol, the router may join LANs employing alternative topologies and protocols. The [0037] network 50 of FIG. 4B may, like the network 40 of FIG. 4A, be implemented using the method of FIG. 5. Furthermore, no limitations are intended to the details of construction or design herein shown, other than as described in the claims below. It is therefore evident that the particular embodiments disclosed above may be altered or modified and all such variations are considered within the scope and spirit of the invention. Accordingly, the protection sought herein is as set forth in the claims below.

Claims (37)

1. A method for routing a packet in a computer network, the method comprising:
transmitting a first data packet to a destination;
provoking resolution of the destination address of the first data packet; and
transmitting a second data packet to the destination after the destination address is resolved.
2. The method of
claim 1
, wherein the first data packet and the second data packet are transmitted from the same source.
3. The method of
claim 1
, wherein the resolved address is stored.
4. The method of
claim 1
, wherein the resolution is provoked by transmitting from the destination to the router at least one of an ICMP echo request and an ARP request for the IP address of the router.
5. The method of
claim 1
, wherein at least one of the first data packet and the second data packet is transmitted using a TCP/IP protocol.
6. The method of
claim 1
, wherein the first data packet and the second data packet are identical.
7. The method of
claim 1
, wherein the first data packet is at least one of retained and dropped during address resolution.
8. The method of
claim 1
, wherein the destination at least one of drops and retains an ARP request.
9. The method of
claim 1
, wherein the second data packet is transmitted after waiting a predetermined period of time sufficient for the resolution to finish.
10. The method of
claim 1
, further comprising awakening the destination before provoking resolution of the destination address.
11. An apparatus for routing a packet in a computer network, the apparatus comprising:
a source for sequentially transmitting a first data packet and a second data packet,
a router for resolving a destination address of the first data packet and for routing the transmitted second data packet; and
a destination for provoking resolution of the destination address and for receiving the second data packet.
12. The apparatus of
claim 11
, wherein the source is a single LAN device.
13. The apparatus of
claim 11
, wherein the router stores the resolved address.
14. The apparatus of
claim 11
, wherein the destination provokes the resolution by transmitting at least one of an ICMP echo request to a plurality of routers on a subnet and an ARP request for the IP address of the router.
15. The apparatus of
claim 11
, wherein at least one of the first data packet and the second data packet are transmitted using a TCP/IP protocol.
16. The apparatus of
claim 11
, wherein at least one of the source and the destination is a power-managed device.
17. The apparatus of
claim 11
, wherein the source is at least one of a server and a workstation.
18. The apparatus of
claim 11
, wherein the destination at least one of retains and drops an ARP request.
19. The apparatus of
claim 11
, wherein the router at least one of drops and retains the first data packet during address resolution.
20. The apparatus of
claim 11
, wherein the destination is a power-managed device.
21. The apparatus of
claim 11
, wherein the destination is awakened by an ARP request responsive to transmission of the first data packet.
22. An apparatus for routing a packet in a computer network, the apparatus comprising:
a source capable of sequentially transmitting a first data packet and a second data packet to a destination having a destination address;
a router capable of resolving a destination address of the transmitted first data packet and routing the transmitted second data packet; and
a destination capable of provoking resolution of the destination address and of receiving the second data packet.
23. The apparatus of
claim 22
, wherein the source is a single LAN device.
24. The apparatus of
claim 22
, wherein the router stores the resolved address.
25. The apparatus of
claim 22
, wherein the destination is capable of provoking resolution by transmitting at least one of an ICMP echo request to a plurality of routers on a subnet and an ARP request for the IP address of the router.
26. The apparatus of
claim 22
, wherein at least one of the first data packet and the second data packet can be transmitted using a TCP/IP protocol.
27. The apparatus of
claim 22
, wherein at least one of the source and the destination is a power-managed device.
28. The apparatus of
claim 22
, wherein the source is at least one of a server and a workstation.
29. The apparatus of
claim 22
, wherein the destination at least one of drops and retains an ARP request.
30. The apparatus of
claim 22
, wherein the router at least one of drops and retains the first data packet during address resolution.
31. A method for routing a packet in a computer network, the method comprising:
transmitting a data packet to a destination;
provoking resolution of the physical address of the destination; and
re-transmitting the data packet to the destination after the physical address is resolved.
32. The method of
claim 31
, wherein the data packet is transmitted and re-transmitted from the same source.
33. The method of
claim 31
, wherein the resolved physical address is stored.
34. The method of
claim 31
, wherein resolution is provoked by broadcasting from the destination at least one of an ICMP echo request and an ARP request for the IP address of the router.
35. The method of
claim 31
, wherein the data packet is at least one of transmitted and re-transmitted using a TCP/IP protocol.
36. The method of
claim 31
, wherein the transmitted data packet is discarded during address resolution.
37. The method of
claim 31
, wherein the data packet is re-transmitted after waiting a predetermined period of time.
US08/965,017 1997-11-05 1997-11-05 Method and apparatus for routing a packet in a network Expired - Lifetime US6418124B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US08/965,017 US6418124B2 (en) 1997-11-05 1997-11-05 Method and apparatus for routing a packet in a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/965,017 US6418124B2 (en) 1997-11-05 1997-11-05 Method and apparatus for routing a packet in a network

Publications (2)

Publication Number Publication Date
US20010043598A1 true US20010043598A1 (en) 2001-11-22
US6418124B2 US6418124B2 (en) 2002-07-09

Family

ID=25509336

Family Applications (1)

Application Number Title Priority Date Filing Date
US08/965,017 Expired - Lifetime US6418124B2 (en) 1997-11-05 1997-11-05 Method and apparatus for routing a packet in a network

Country Status (1)

Country Link
US (1) US6418124B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040076158A1 (en) * 2001-03-01 2004-04-22 Akira Okubo Mobile ip packet communication system
US20070286215A1 (en) * 2006-06-13 2007-12-13 Robert Paul Morris Methods, systems, and computer program products for automatically changing network communication configuration information when a communication session is terminated
CN100456754C (en) * 2004-12-17 2009-01-28 国际商业机器公司 System, method and program product to route message packets
US20090310607A1 (en) * 2008-06-12 2009-12-17 Cisco Technology, Inc. Static neighbor wake on local area network
WO2014182750A1 (en) * 2013-05-08 2014-11-13 Microsoft Corporation Detecting and managing sleeping computing devices

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665285B1 (en) * 1997-10-14 2003-12-16 Alvarion Israel (2003) Ltd. Ethernet switch in a terminal for a wireless metropolitan area network
FR2781952B1 (en) * 1998-07-28 2000-09-08 Cegelec METHOD FOR ALLOCATING COMPUTER ADDRESSES BETWEEN UNITS OF AN INDUSTRIAL INSTALLATION CONDUCT SYSTEM
US7620732B2 (en) * 2003-11-18 2009-11-17 Kabushiki Kaisha Toshiba Apparatus for and method of setting communication path
KR100684318B1 (en) * 2004-11-30 2007-02-16 한국전자통신연구원 Sleep mode driving method for portable terminal and communication method for base station with portable terminal in sleep mode
US7643487B2 (en) * 2005-09-28 2010-01-05 Dell Products L.P. System and method for delivering the magic packet to wake up a node in remote subnet
US8233482B2 (en) 2010-04-22 2012-07-31 Robert Paul Morris Methods, systems, and computer program products for disabling an operative coupling to a network
US8331372B2 (en) 2010-04-22 2012-12-11 Robert Paul Morris Methods, systems, and computer program products for enabling an operative coupling to a network

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742833A (en) * 1995-11-30 1998-04-21 International Business Machines Corporation Programmable power management system and method for network computer stations
GB9603020D0 (en) * 1996-02-14 1996-04-10 British Telecomm Establishing communication
US5917825A (en) * 1996-05-07 1999-06-29 Rad Network Devices, Ltd. LAN message routing system
US5802305A (en) * 1996-05-17 1998-09-01 Microsoft Corporation System for remotely waking a sleeping computer in power down state by comparing incoming packet to the list of packets storing on network interface card
US5907546A (en) * 1996-09-30 1999-05-25 Telefonaktiebolaget L/M Ericsson Method and apparatus for selectively transmitting packets of message data to a remote communication station
US5959974A (en) * 1996-12-02 1999-09-28 International Business Machines Corporation System and method for discovering path MTU of internet paths
US6002675A (en) * 1997-01-06 1999-12-14 Cabletron Systems, Inc. Method and apparatus for controlling transmission of data over a network
US6049825A (en) * 1997-03-19 2000-04-11 Fujitsu Limited Method and system for switching between duplicated network interface adapters for host computer communications
US6047378A (en) * 1997-09-29 2000-04-04 International Business Machines Corporation Wake multiple over LAN

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040076158A1 (en) * 2001-03-01 2004-04-22 Akira Okubo Mobile ip packet communication system
US7586913B2 (en) * 2001-03-01 2009-09-08 Mitsubishi Denki Kabushiki Kaisha Mobile IP packet communication system
CN100456754C (en) * 2004-12-17 2009-01-28 国际商业机器公司 System, method and program product to route message packets
US20070286215A1 (en) * 2006-06-13 2007-12-13 Robert Paul Morris Methods, systems, and computer program products for automatically changing network communication configuration information when a communication session is terminated
US7672248B2 (en) * 2006-06-13 2010-03-02 Scenera Technologies, Llc Methods, systems, and computer program products for automatically changing network communication configuration information when a communication session is terminated
US20090310607A1 (en) * 2008-06-12 2009-12-17 Cisco Technology, Inc. Static neighbor wake on local area network
US8077712B2 (en) * 2008-06-12 2011-12-13 Cisco Technology, Inc. Static neighbor wake on local area network
WO2014182750A1 (en) * 2013-05-08 2014-11-13 Microsoft Corporation Detecting and managing sleeping computing devices

Also Published As

Publication number Publication date
US6418124B2 (en) 2002-07-09

Similar Documents

Publication Publication Date Title
US6597700B2 (en) System, device, and method for address management in a distributed communication environment
Rosen Exterior gateway protocol (EGP)
Braden Rfc1122: Requirements for internet hosts-communication layers
US7016351B1 (en) Small group multicast in a computer network
Braden Requirements for Internet hosts-communication layers
Perlman Interconnections: bridges, routers, switches, and internetworking protocols
US7155487B2 (en) Method, system and article of manufacture for data distribution over a network
US7974192B2 (en) Multicast switching in a distributed communication system
US8085770B2 (en) Method of transporting a multipoint stream in a local area network and device for connection implementing the method
US5915119A (en) Proxy terminal for network controlling of power managed user terminals in suspend mode
US5781726A (en) Management of polling traffic in connection oriented protocol sessions
US6418124B2 (en) Method and apparatus for routing a packet in a network
KR20010033457A (en) Method and Apparatus for Power Line Exchange Protocol
Ratliff et al. Dynamic link exchange protocol (DLEP)
US20130279378A1 (en) Cascaded Streaming of Data Through Virtual Chain of Nodes in Hub Topology
EP1031090B1 (en) Network controller for processing status queries
KR100450951B1 (en) Redundancy mechanization protocol for a massively parallel router
EP1699169A1 (en) Wireless base station, wireless mobile device, and wireless access network for reducing signalling traffic
Rayes et al. The internet in IoT
JP2003069640A (en) Method and apparatus for explicit multicast service on ethernet (r)
US20030101279A1 (en) Method for transferring messages along optimally redundant network paths in a distributed communication network
Cisco Configuring Novell IPX
Cisco Novell IPX Commands
Cisco Configuring Novell IPX
Cisco Novell IPX Commands

Legal Events

Date Code Title Description
AS Assignment

Owner name: INTEL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BRABENAC, CHARLES L.;REEL/FRAME:008881/0032

Effective date: 19971104

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8

FPAY Fee payment

Year of fee payment: 12