The leading digit(s) of each reference numeral used in this specification indicates the number of the drawing in which the reference numeral first appears.
Embodiments of the present invention provide packet tunneling for wireless clients using MTU (Maximum Transmission Unit) reduction. In data communication networks comprising a wireless network that would otherwise be served by a wireless access point, it is often desirable to separate the wireless access point into two units. One of the units is a wireless terminal that communicates with the wireless clients in the wireless network. The other unit is an access switch that connects the wireless terminal with a wired network.
In some applications, it is desirable to deploy the wired network between the wireless terminal and the wireless access point. In these applications, it is necessary to exchange packets between the wireless terminal and the wireless access point over the wired network while preventing the wired network from attempting to switch the packets using the packet headers, for example so the access switch can implement security features for the wireless network. To solve this problem, embodiments of the present invention employ packet tunneling, where each packet is encapsulated in a tunneling packet having a tunneling protocol header.
However, the tunneling packet is necessarily larger that the encapsulated packet. If the size of the encapsulated packet is already at or near the MTU of the wired network, network devices in the wired network will fragment the tunneling packet. Fragmentation has several well-known disadvantages such as adversely affecting network performance. To prevent fragmentation of the tunneling packet, embodiments of the present invention reduce the MTU of the wireless network by an amount sufficient to accommodate the tunneling protocol header in the wired network without fragmentation.
While embodiments of the present invention are discussed in terms of a wireless network 106 and a wired network 110, embodiments of the present invention are not so limited. For example, both networks 106, 110 can be wired networks or wireless networks, or network 106 can be a wired network while network 110 can be a wireless network.
Wireless client 102 comprises a wireless receiver 112 and a wireless transmitter 114. Wireless terminal 104 comprises at least one wireless port 116 comprising a wireless receiver 118 and a wireless transmitter 120, at least one wired port 122 comprising a wired receiver 124 and a wired transmitter 126, and a processor 128. Access switch 108 comprises at least one wired port 130 and a processor 132.
Once the MTU of wired network 110 is known, processor 128 of wireless terminal 104 optionally determines a MTU for wireless network 106 based on the MTU of wired network 110 (step 204). Alternatively, the MTU of wired network 110 is configured in wireless terminal 104 in advance. The MTU for wireless network 106 is selected to be less than the MTU of wired network 110 by an amount sufficient to accommodate a tunneling protocol header. Preferably the tunneling protocol header complies with a protocol such as Layer 2 Tunneling Protocol (L2TP); Point-to-Point Tunneling Protocol (PPTP); Generic Routing Encapsulation (GRE); PPPoE (point-to-point protocol over Ethernet); nested virtual local-area networks (VLANS), and the like.
For example, consider an example where wired network 110 is an Ethernet network, and the tunneling protocol is GRE. The MTU for Ethernet is 1500 octets, so an MTU of 1400 octets is selected for wireless network 106, which allows 100 octets for the GRE header.
Transmitter 120 of wireless port 116 of wireless terminal 104 transmits a packet to wireless network 106 that identifies the MTU selected for wireless network 106 (step 206).
Receiver 112 of wireless client 102 receives the packet (step 208). Thereafter, transmitter 114 of wireless client 102 transmits packets to wireless network 106 that have a size that is less than, or equal to, the MTU selected for wireless network 106 (step 210).
Receiver 118 of wireless port 116 of wireless terminal 104 receives the reduced-MTU packets (also referred to herein as “passenger packets”) from wireless network 106 (step 212), and encapsulates each of the passenger packets using a tunneling protocol (step 214).
Passenger packet 406 comprises a header 408 and a payload 410 (referred to herein as a “passenger header” and a “passenger payload,” respectively). As noted above, the MTU of wireless network 106 is selected so that the size of tunneling packet 400 is less than the MTU of wired network 110. That is, tunneling protocol header 402 has a protocol header size that is less than, or equal to, the difference between the MTU selected for wireless network 106 and the MTU of wired network 110.
Transmitter 126 of wired port 122 of wireless terminal 104 transmits tunneling packets 400 to wired network 110 (step 216). Because passenger packet 406 is encapsulated within tunneling packet 400, any switches in wired network 110 switch tunneling packet 400 based on tunneling protocol header 402, rather than based on passenger header 408.
Port 130 of access switch 108 receives tunneling packets 400 (step 218). Processor 132 of access switch 108 decapsulates the passenger packets 406 by removing the tunneling protocol headers 402 from tunneling packets 400 (step 220). Access switch 108 then switches the passenger packets 406 according to the destination addresses in the passenger headers 408 (step 222).
Receiver 124 of wired port 122 of wireless terminal 104 receives tunneling packets 400 (step 508). Processor 128 of wireless terminal 104 decapsulates the respective passenger packets 406 by removing the tunneling protocol headers 402 (step 510). Transmitter 120 of wireless port 116 of wireless terminal 104 transmits the resulting passenger packets 406 to wireless network 106 (step 512). Wireless client 102 receives passenger packets 406 (step 514).
The HDTV 612 may communicate with mass data storage 615 that stores data in a nonvolatile manner such as optical and/or magnetic storage devices. The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The HDTV 612 may be connected to memory 616 such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The HDTV 612 also may support connections with a WLAN via a WLAN network interface 617.
Referring now to
The present invention may also be implemented in other control systems 622 of the vehicle 618. The control system 622 may likewise receive signals from input sensors 623 and/or output control signals to one or more output devices 624. In some implementations, the control system 622 may be part of an anti-lock braking system (ABS), a navigation system, a telematics system, a vehicle telematics system, a lane departure system, an adaptive cruise control system, a vehicle entertainment system such as a stereo, DVD, compact disc and the like. Still other implementations are contemplated.
The powertrain control system 619 may communicate with mass data storage 625 that stores data in a nonvolatile manner. The mass data storage 625 may include optical and/or magnetic storage devices for example hard disk drives HDD and/or DVDs. The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The powertrain control system 619 may be connected to memory 626 such as RAM, ROM, low latency non-volatile memory such as flash memory and/or other suitable electronic data storage. The powertrain control system 619 also may support connections with a WLAN via a WLAN network interface 627. The control system 622 may also include mass data storage, memory and/or a WLAN interface (all not shown).
Referring now to
The cellular phone 628 may communicate with mass data storage 635 that stores data in a nonvolatile manner such as optical and/or magnetic storage devices for example hard disk drives HDD and/or DVDs. The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The cellular phone 628 may be connected to memory 636 such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The cellular phone 628 also may support connections with a WLAN via a WLAN network interface 637.
Referring now to
The set top box 638 may communicate with mass data storage 643 that stores data in a nonvolatile manner. The mass data storage 643 may include optical and/or magnetic storage devices for example hard disk drives HDD and/or DVDs. The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The set top box 638 may be connected to memory 642 such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The set top box 638 also may support connections with a WLAN via a WLAN network interface 643.
Referring now to
The media player 644 may communicate with mass data storage 649 that stores data such as compressed audio and/or video content in a nonvolatile manner. In some implementations, the compressed audio files include files that are compliant with MP3 format or other suitable compressed audio and/or video formats. The mass data storage may include optical and/or magnetic storage devices for example hard disk drives HDD and/or DVDs. The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The media player 644 may be connected to memory 650 such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The media player 644 also may support connections with a WLAN via a WLAN network interface 651. Still other implementations in addition to those described above are contemplated.
Embodiments of the invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
A number of implementations of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other implementations are within the scope of the following claims.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/802,358 filed May 22, 2006, the disclosure thereof incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
60802358 | May 2006 | US |