r2 - 21 Nov 2007 - 22:17:13 - Main.sha2You are here: TWiki >  Main Web > Projects > DiffQ > DiffQTCPProxy

Details of DiffQ TCP Proxy Implementation

Introduction

DiffQ TCP Proxy transparently bridges the communication between wireless mobile clients over the infrastructure of wireless mesh and adhoc networks. Wisenet consists of more than 70 embedded Linux nodes all over the Computer Science and Electrical Engineering building at NCSU. A wireless mobile client sends traffic to other mobile clients or to the Internet by using the built-in standard network stacks, while the wireless mesh and adhoc nodes forward the traffic to its destination through the wireless infrastructure by using a different congestion control scheme. In fact, wireless mesh and adhoc nodes employ DiffQ, which is a new hop-by-hop congestion control and service differentiation scheme that improves the total throughput while supporting service differentiation for the user. The salient feature of DiffQ TCP Proxy lies on maximizing the throughput by optimizing the transmission using a hop-by-hop congestion control inside the wireless mesh and adhoc networks, while providing a transparent TCP/IP service to wireless mobile users and Internet users. Currently DiffQ TCP Proxy dedicates rate control to DiffQ and supports both TCP and UDP for pure data transmission. Either of protocol has its own advantage over the other. For instance, UDP needs a mechanism for reliable data delivery which is not supported by UDP itself. TCP, on the other hand, needs modification not to control transmission rate, which is basic nature of TCP. As shown in the figure, DiffQ TCP Proxy supports transparent Internet service to Internet applications (including Windows, CE, Linux, etc.) by spliting TCP connections between wireless connection inside and wired connection outside.

Wisenet_TCP_Usage_Diagram.png

Implementation details

1. TCP Proxy

This diagram shows a stage of connection establishment between a mobile client and the Internet. Even though I show only a stage of connection setup, sending and receiving the data and terminating the connection happens in the same way. One of important thing we need to consider in gateway design is giving a transparency to applications on the client and the server. We need to let the sender think the connection is from the Internet server not from the gateway, likewise, we need to let the Internet server think the connection is from the sender not from the gateway. For that purpose, the gateway changes the source address of its outgoing connection to other gateway or to the Internet, to the address of originated user, in our example, the mobile node’s ip address. Also, in order to handle all incoming requests from a wireless interface, the gateway redirects all incoming requests to the specific port of the gateway so that it will serve the incoming connections as well as outgoing connection to other gateway or to the Internet.

Wisenet_TCP_Gateway_v4.png

2. TCP Wisenet (TCP protocol for DiffQ)

3. Etc. (TCP Few implementation and kernel debugging)

FAQ

(You can email sha2@ncsu.edu for any additional question/queries)

-- Main.sha2 - 21 Nov 2007

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r2 < r1 | More topic actions
 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback