The invention concerns an apparatus for bridging data communications between network nodes according to the preamble of claim 1. Furthermore, the invention concerns a network node for data communications to another network node via a bridge according to the preamble of claim 16. Yet furthermore the invention concerns a system for bridging data communications between multiple network platforms according to the preamble of claim 17. Yet furthermore the invention concerns a sub-assembly for bridging data communications according to the preamble of claim 18. Yet furthermore, the invention concerns the use of such apparatuses.
A bridge relays traffic between multiple network interfaces. For example, a bridge connects two or more physical Ethernets together to form one bigger (logical) Ethernet.
Bridging is very flexible; the LAN's (Local Area Network's) can be either traditional Ethernet devices. Also the LAN can be constructed from pseudo-devices such as PPP (Point-to-Point Protocol), VPN's (Virtual Private Network) or WLAN's (Wireless Local Area Network). Typically all devices have same maximum packet size (MTU). The bridge does not necessarily fragment packets. Devices can support Ethernet or the like, for example have 6 byte source and destination address. The devices can also support promiscuous operation. The bridge can furthermore be able to receive all network traffic, not just traffic destined for its own address. Also the devices may allow source address spoofing. The bridge can send data over network as if it came from another host.
However in some networks such as wireless ones there are some additional features, like packet acknowledgement, that cause problems for the bridging.
For example, in WLAN, when a wireless node sends a packet to another one, it expects to receive an acknowledgement of reception. If the wireless node does not receive the acknowledgement, the wireless node tries to resend the packet. This acknowledgement has as destination the address of the sender of the original package. The acknowledgement has as origin the address of the host that the original data package was sent to as shown in the
However when bridging a network requiring acknowledgements such as a WLAN network with another network such as a fixed Ethernet network as shown in
For example, a laboratory test for the above problem, made terminal C (e.g. a Windows XP PC with the Nokia D211 WLAN card) send the package 7 times, to the bridge (e.g. a Linux PC with tnetw1100b WLAN chipset, running in promiscuous mode). Thus the problem caused 6 times more traffic on the WLAN network.
A known solution for the problem is a bridge making the acknowledgement on behalf of the device behind the bridge. However, the acknowledgement packets are sent from a very low level of the stack, for example from the firmware. It is very commonly known that there is basically no easy way to have an access to modify the firmware. Moreover a specially designed firmware is needed in a WLAN card that acts as a bridge.
Another known alternative solution has been a proxy ARP (Address Resolution Protocol) technique, in which one host, usually a router, answers ARP requests intended for another machine. By “faking” its identity, the router accepts responsibility for routing packets to the “real” destination. The proxy ARP allows a site to use a single IP address with two physical networks.
Proxy ARP may also be used if the WLAN card of the bridge does not support promiscuous mode. Windows XP automatically uses Proxy ARP if the hardware does not support it. In addition, there are more disadvantages. For example, Proxy ARP is actually not a bridge according to the 802.11d standard. For another example Proxy ARP has to have IP awareness. Proxy ARP works only with IP protocol since it relays on ARP. For the Proxy ARP there should be different version for IPv4 and for IPv6, since ARP is different. Furthermore currently there is no IPv6 Proxy ARP support in Linux, due to technical implementation problems.
Yet another alternative solution has been simply to drop duplicate packages. This means that when duplicate packages are received from the bridge they should be dropped and not passed to the higher stack levels. However, the duplicate WLAN traffic is still going to be transmitted, for example on the air, wasting bandwidth and power of the network.
It is therefore the object of the invention to save the bandwidth in the data communication bridging by reducing unnecessary resending and acknowledgement. The object is achieved by an apparatus for bridging data communications between at least two network nodes according to claim 1. In accordance with a further aspect of the invention the object is also achieved by a network node according to claim 16. In accordance with yet further aspect of the invention the object is also achieved by a system for bridging data communications between multiple network platforms in accordance with claim 17. Yet furthermore the object is achieved by a sub-assembly according to claim 18. Yet furthermore, the object is achieved by the use of such apparatuses.
In the apparatus for bridging data communications between at least two network nodes, a packet of the data communications has an original address for addressing the packet between the nodes. The original address is adapted to be replaced with an address of the bridging apparatus. Furthermore the original address is still retrievable in the actual packet. Thereby, the modified packet can fool the acknowledgement system between one of the nodes and the bridge. The data communication between the bridging apparatus and one of the nodes looks like a point-to-point communication fooling the acknowledgement system therebetween. Unnecessary packet duplications on the network requiring the acknowledgement can be avoided. Thereby the bandwidth and power can be saved. Furthermore no specific firmware or hardware modification of the interface of the bridging apparatus is needed because the packet is being modified. The bridge can be trans-parent to any protocol (not only IP). Furthermore IP stack is not necessarily needed on bridge, which makes various embodiments independent on a network protocol. In a further embodiment 802.1d standard based bridging can be used in the bridge.
In various further embodiments of the invention an original destination address, i.e. address of node behind the bridge, is changed, when a packet is send from a node, which is connected to the network requiring acknowledgements, to a node behind the bridge. On the NIC (Network Interface Card) driver level, the destination address is replaced with the MAC (Media Access Control) address of the bridge, and the original destination address is moved to an additional field (e.g. named “Original to”) of the packet. Thus the communication between the sending node and the bridge seems to be point-to-point data communications (from node to bridge). Therefore when the bridge receives the packet, the packet is automatically acknowledged from the firmware, and the sending node does not try to resend it.
Still referring to the various further embodiments, the package can be forwarded to the driver of the NIC of the bridge. The specially modified driver modifies again the received package. This is done by replacing the destination address with the original one found in the “Original to” additional field of the packet. Furthermore the additional field can be removed later or at the same time when replacing the address. Therefore the package may look like substantially the same as the one originally generated by the application on the sending node. Furthermore the packet is passed to the bridging software for forwarding to the other network.
In various further embodiments modifications are only the drivers (or alternatively referred to as pseudo-drivers) of the NIC of the network, which requires acknowledgement, are modified.
Yet further embodiments of the invention have been specified in the dependent claims.
The invention will now be described, by way of examples only, with reference to the accompanying drawings, in which:
Referring to a packet transmission 305 in the
Moreover referring to a packet transmission 306 in the
Various further embodiments of the invention may relief the duplication problem without any substantial changes in the firmware of the hardware. Modifications may only be applied on the drivers (or alternatively referred to as pseudo-drivers) of the Network Interface Cards (NICs) of the network that requires the acknowledgements.
Some further embodiment can be applied in a Bluetooth—WLAN Gateway device. For example, the embodiments may relief the packet duplication and bandwidth waste problems in such a system. Thus a further preferable embodiment in the Bluetooth—WLAN Gateway device can be applied for avoiding duplication of packets in the WLAN interface.
The WLAN driver on the Bluetooth—WLAN Bridge can be modified in order to relief the packet duplication. Thus the implementation can be merely software or logic based and does not necessarily require any substantial hardware modification in the bridging device.
In a further embodiment, the Bluetooth devices are connected using the Bluetooth PAN profile, and the WLAN devices could be connected either via ad-hoc or infrastructure mode.
Referring back to
The step-by-step message exchange, as shown in the diagram of
The WLAN device C receives the package. In the step 405 the firmware of the WLAN interface automatically acknowledges the reception back to the sender (“MAC B”), with the WLAN specific acknowledgement. The packet is forwarded to the WLAN driver of the device C. In the step 406 the WLAN driver extracts the packet information. The information that MAC A is actually behind MAC B is extracted. The driver finds out that this a specially modified packet (from the extra field) and now it knows that address “MAC A” is behind the bridge with address “MAC B”. This information is stored in a local temporary bridge table in the step 406′. In the step 407 the driver modifies the packet. The driver gets the original source address form the extra field and puts it back into the packet's source address. Thus the WLAN driver changes the response. The packet contains now the following information “From: MAC A, To: MAC C, Data: device A is at “MAC A”. The packet (i.e. the ARP reply) is now forwarded to the networking stack for sending. In the step 408 the networking stack of the terminal C sends the actual data. The packet contains the following information: Source address (“MAC C”), destination address (“MAC A”) and the actual data (“SOMETHING”). In the step 409 when the WLAN driver receives the packet, the driver modifies the packet. The WLAN driver resolves the bridge (“MAC B”), behind which the Device A (“MAC A”) is, from the local temporary bridge table in the step 409′. Thus, the destination address is changed to “MAC B” and the original destination (“MAC A”) is stored in the extra field of the WLAN packet. The packet contains the following data: From: MAC C, To MAC: B, Data: SOMETHING, Extra: Orig. To A. In the step 410 the packet is send to the WLAN interface and goes on the air. In the step 411 the bridge B receives the packet on the WLAN interface. In the step 412 the firmware of the WLAN interface automatically acknowledges the reception back to the sender (“MAC C”), with the WLAN specific acknowledgement. The driver of the bridge B discovers that the received packet is a specially modified packet. This is due to the information on the extra field. Therefore the driver of the bridge B modifies the packet back to the original format in the step 413. The destination is replaced and it is now an address “MAC A”. The packet is forwarded to the networking stack and the bridging software. The packet is transferred to the Bluetooth interface and further the packet is send over the air in the step 414. The Bluetooth device A receives the packet as it was originally generated by the networking stack of the device C.
It should be noted that the scenario of
Although the description above contains many specifics, these are merely provided to illustrate the invention and should not be construed as limitations of the invention's scope. It should be also noted that the many specifics can be combined in various ways in a single or multiple embodiments. Thus it will be apparent to those skilled in the art that various modifications and variations can be made in the apparatuses and processes of the pre-sent invention without departing from the spirit or scope of the invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FI04/00657 | 11/9/2004 | WO | 00 | 10/29/2007 |