IP LAB: Current Architecture

puffyyaphankyonkersΔίκτυα και Επικοινωνίες

26 Οκτ 2013 (πριν από 4 χρόνια και 13 μέρες)

73 εμφανίσεις

Slide
1


Implementation and Evaluation of a
Performance Enhancing Proxy for Wireless
TCP

Master Thesis Project (Sep 03


April 04)


Dennis Dungs

Technical University Munich, Germany

Aalborg University, Denmark


Final Presentation
-

April 04


Supervised by

Hans
-
Peter Schwefel

Aalborg University, Denmark

Slide
2


Overview


Motivation of Master Project


Scenarios


Network Architecture


Traffic Model


Mobility Model


Evaluation Method


Metrics


Measurement Procedure


TCP performance evaluation of wireless access technologies


WLAN 802.11b


General Eval


Influence of High Bit Error Rates


Influence of Cross
-
Traffic


Influence of Handovers


Bluetooth


UDP and TCP throughput


TCP Proxy


Implementation


Proxy design


Network setup


Proxy Eval


Influence on RTT & Throughput


Conclusion


Slide
3


Motivation

Motivation:


TCP performs good in wired scenarios


Two assumptions in wired TCPs:


No disconnections


Bit Error Rate (BER) very low



Packets are only dropped in case of congestion


Wireless links do not follow these assumptions:


Disconnections due to handovers


High BER


TCP Proxies are a known concept to overcome those problems


Can a TCP Proxy enhance TCPs performance over a IEEE 802.11b
(WLAN) or a Bluetooth link?



Goals:


Identify TCP performance lacks in different wireless scenarios in an
experimental network


Implement TCP Proxy


Network Integration


Software Design & Implementation


Evaluate TCP Proxy based on TCP performance lacks


Slide
4


Scenarios

Slide
5


Scenarios and Limitations


Network Architecture


Access Technology of mobile node: WLAN (IEEE 802.11b) and Bluetooth


Number of hops: Last single wireless hop


Link Layer types of intermediary links: FastEthernet and 8 MBit/s Serial Link


Proxy Location: fixed Proxy location


Mobility Model


Fixed Position


Handover to same subnet


Handover to different subnet (considered)


Handover to different access technology


Traffic Model


Type of Transport Layer Protocol


Size of transmitted data / transmission duration


Number of simultaneous connections


Unidirectional / Biderectional


Constant packet rate / packet burst


Bandwidth


Limited to:


Unidirectional TCP stream


Unidirectional, constant packet rate UDP stream


Unidirectional bursty ON/OFF stream

Slide
6


Evaluation Method

Slide
7


Evaluation


Measurement Procedure


IPerf


Setup a UDP/TCP connection from sender to receiver


Send data from sender to receiver at maximum bandwidth (TCP)
or given bandwidth (UDP)


Ethereal


Trace Ethernet packets at sender and receiver in real
-
time into a
file


Traces arrival times of packets t(n) and contents of Ethernet
packets


TCPTrace


Generate TCP Statistics offline


Matlab


Generating UDP Statistics offline


Calculating statistical parameters


GNUPlot


Visualizing TCP Statistics (RTT Graphs, Throughput Graphs)

Slide
8


Evaluation
-

Metrics


Instantaneous Throughput





Instantaneous Averaged Throughput






Transmission Throughput






Round
-
Trip
-
Times (RTT)


Nr. of packets


Nr. of retransmitted bytes


Nr. of retransmission timeouts

Slide
9


WLAN 802.11b Evaluation

Slide
10


Evaluation
-

General Eval on WLAN 802.11b

Tokyo

Delft

Legend:

Aalborg

Fixed Host

Mobile Host

Dhaka

Router

Mobile Node 1

Toronto

Toronto

Switch

WLAN Access Point

8 MBit/s

8 MBit/s

100 MBit/s

100 MBit/s

Shanghai

100 MBit/s

Server

10.10.3.254

Downstream

100 MBit/s

Slide
11


Evaluation
-

General Eval on WLAN 802.11b

Slide
12


Evaluation
-

General Eval on WLAN 802.11b

Slide
13


Evaluation
-

General Eval on WLAN 802.11b

Slide
14


Evaluation
-

General Eval on WLAN 802.11b


Observations:


TCP downstream reaches 720 kByte/s,
upstream 650 kByte/s


TCP degrades throughput by 16% compared
to UDP (downstream)


RTTs in upstream vary wide, vary less in
downstream


Most influences in upstream result from
strange behaviour of 3COM WLAN card

Slide
15


Evaluation


BERs in WLAN 802.11b

Room 4

Room 3

Room 2

Room 1

Position #1

Position #2

Position #3

Position #4

Legend:

Mobile Host

WLAN Access Point

Slide
16


Evaluation


BERs in WLAN 802.11b

Measurement Options:


AP transmission power: 30mW


MN transmission power 50mW


Transmission time: 10s


Proxy turned off


RTS/CTS off


WEP enabled


Slide
17


Evaluation
-

BERs in WLAN 802.11b


Observations:


NIC reported good signal strength and quality in 1,2,3
and poor signal strength and quality in 4


Position 1,2 and 3 gain comparable throughput


Only Position 4 suffers from bad channel quality and
high BER


No TCP retransmissions observed in all 4 cases


Same behaviour in upstream case


ARQ used by WLAN efficient mechanism to hide
BERs from TCP


IP layer provides reliable, but less performant
datagram service in bad channel condition situations


TCP can adopt very accurate to those conditions

Slide
18


Evaluation


Crosstraffic in WLAN 802.11b

10.10.1.X

Tokyo

Delft

Legend:

Aalborg

Fixed Host

Mobile Host

Dhaka

Router

Mobile Node 1

San Francisco

Toronto

Server

10.10.3.254

Toronto

Switch

WLAN Access Point

8 MBit/s

8 MBit/s

100 MBit/s

100 MBit/s

100 MBit/s

Shanghai

100 MBit/s

Mobile Node 2

Crosstraffic

Connection

TCP

Connection

Slide
19


Evaluation


Crosstraffic in WLAN 802.11b

Slide
20


Evaluation


Handovers in WLAN 802.11b

Tokyo

Delft

Legend:

Aalborg

Fixed Host

Mobile Host

Dhaka

Router

Mobile Node 1

Toronto

Foreign Agent

10.10.3.254

Toronto

Switch

WLAN Access Point

8 MBit/s

8 MBit/s

100 MBit/s

100 MBit/s

100 MBit/s

Shanghai

100 MBit/s

Istanbul

Home Agent

10.10.1.254

Frankfurt

Server

10.10.2.254

Shanghai

10.10.3.X

10.10.1.X

Downstream

Slide
21


Evaluation


Handovers in WLAN

Slide
22


Evaluation


Handovers in WLAN


Observations:


TCP connection restarts after 29s, although
receiver available after 16s.


11s of handover time due to problems in IP
assignment (DHCP)


5s for signaling MIP and IP
-
Tunnel setup.


10 runs showed comparable performance


TCP performs poor due to exponential
backoff of the retransmission timer

Slide
23


Bluetooth Evaluation

Slide
24


Single Connection over Bluetooth
-

Scenario

10.10.1.X

Tokyo

Delft

Aalborg

China

Mobile Node

Toronto

Server

10.10.3.254

8 MBit/s

8 MBit/s

100 MBit/s

100 MBit/s

100 MBit/s

Shanghai

100 MBit/s

Downstream

Legend:

Fixed Host

Mobile Host

Router

Toronto

Switch

Bluetooth

Access Point

Slide
25


Single UDP Connection over Bluetooth

Slide
26


Single UDP Connection over Bluetooth

Slide
27


Single TCP Connection over Bluetooth

Slide
28


Single TCP Connection over Bluetooth

Slide
29


Single TCP Connection over Bluetooth


Possible Reasons for throughput jumps


Traffic in low
-
bandwidth direction


Packet Scheduler has to send more data


Adjusting to „more symmetric“ bandwidth


Flow Control on Baseband


Interference


Channel quality driven data rate change (CQDDR)


Adhoc


Scenario:


Same throughput jumps (UDP & TCP) as in AP
-
scenario, but less likely


Higher average throughput


No significant differences between WinXP (WidComm
-
Stack) and
Linux (BlueZ
-
Stack)


Conclusion:


Some factors could cause the throughput
-
dropdown


Difficult to analyze TCP performance lacks, if underlying behaviour
unclear


To get deeper understandings, packet trace tool for Baseband is
needed


Bluetooth uses ARQ, thus hiding BERs to TCP is expected



Slide
30


TCP Proxy: Implementation and Evaluation

Slide
31


Implementation of TCP Proxy
-

Idea

Application

Split TCP Idea:

Sender

Receiver

Split TCP
-
Daemon

TCP

IP

LL / PHY

Application

TCP

IP

LL / PHY

TCP

IP

LL / PHY

TCP

IP

LL / PHY

TCP Proxy

Slide
32


Implementation of TCP Proxy
-

Options


Non
-
transparent solutions


IP
-
Header
-
Option
-
Solution


Add original IP
-
Destination
-
Adress to IP
-
Header Option


Send every IP packet to Proxy


Unpack IP
-
packets at Proxy and start a „normal“ TCP/IP
-
Connection


Disadvantage: Changes in TCP/IP
-
Stack of mobile node necssary


IP
-
Tunneling


Tunnel the IP
-
packets from mobile node to Proxy


Unpack IP
-
packets at Proxy and start a „normal“ TCP/IP
-
Connection


Disadvantage: additional IP
-
Overhead


Transparent solutions


Hardware
-

Solution


Proxy directly integrated in Sender
-
Receiver
-
Path


Disadvantage: Different Scenarios need different locations of proxy
-
>
Maintainance efforts


ARP


Solution


„emulate“ IP Adresses by faking IP
-
MAC
-
Maps


Disadvantage: Difficult to maintain maps


Disadvantage: Timing problems


Routing
-
Solution


Adjusting routing tables with policy based routing (PBR)


Disdvantage: Processing time for PBR much higher

Slide
33


Implementation of TCP Proxy


Network setup

10.10.1.X

Tokyo

Delft

Legend:

Proxy

Aalborg

Fixed Host

Mobile Host

Dhaka

Router

10.10.254.254

Mobile Node

San Francisco

Toronto

Server

10.10.3.254

Toronto

Switch

WLAN Access Point

8 MBit/s

8 MBit/s

100 MBit/s

100 MBit/s

100 MBit/s

100 MBit/s

Policy
-
Based
Routing applied

Slide
34


Implementation of TCP Proxy


Software Architecture

Get data

establish

close

Process known

TCP packet

Push packet(s)

send data

TCP Connection

Data buffer

Split
-
TCP Connection

Notify(old state, new state)

TCP Connection

Data buffer

Packet Router

Connection Pool

Find

Connection

Pop packet

Forward unknown packet

Split TCP Daemon

NIC

Packet Listener

NIC

Packet sender

Capture and decode

Encode and send

packet buffer

packet buffer

Slide
35


Implementation of TCP Proxy


Current Features


Mirroring


Split TCP:


TCP Reno implementation


Slow start


Congestion avoidance


Fast retransmission


Delayed ACKs


Adjustable Maximum Segment Size


Adjustable data buffer


Asymetrical TCP setup


Slide
36


Evaluation


Delayed ACKs in WLAN

Measurement Options:


AP transmission power: 30mW


Distance to AP: 20cm


Transmission amount: 30MB


Symmetrical TCP setup


Delay Timer: 500ms


MSS: 1460 bytes


No Buffer Thresholding


Slide
37


Evaluation


Delayed ACKs in WLAN


Observations:


Higher number of delayed ACKs leads to
higher maximum throughput


Drawback: Higher number of delayed ACKs
lead to a slow slow
-
start, since in first RTT,
some retransmissions are needed to trigger
one ACK

Slide
38


Evaluation


Delay ACK timer in WLAN

Measurement Options:


AP transmission power: 30mW


Distance to AP: 20cm


Transmission amount: 30MB


Symmetrical TCP setup:


Delayed ACKs: 3


MSS: 1460 bytes


No Buffer Thresholding


Slide
39


Evaluation


Delay ACK timer in WLAN


Observations:


The shorter the DelayACK timer, the faster
the connection reaches steady state


The shorter the DelayACK timer, the higher
the probability to send an ACK without
necessity


50ms timer seems to be the best tradeoff
between fast connection setup and low
probability of unnecesarily sending ACKs in
10s connections.


Linux/Windows send a small initial packet to
force an ACK



Slide
40


Network Setup in MIP scenario

Correspondent

Host

Mobile Node

IP network

Home Agent

Foreign


Agent

Visited Network

Home Network

TCP Proxy


Home Agent uses TCP proxy as gateway


Reverse Tunneling forced to intercept packets from MN to CN


TCP Proxy uses MIP messages to determine MN connectivity


CN is frozen by automatically sending a Zero Window Advertisment


TCP Proxy starts sending data after receiving a MIP response and recovers CN by sending a non
-
zero Window Advertisment



The TCP Proxy was successfully enhanced with the new routing feature in upstream


MIP messages are decoded and „inform“ the TCP connection


BUT: Some problems in downstream could not be solved to overcome the handover problem of
TCP

Slide
41


Evaluation


RTTs in WLAN

Slide
42


Conclusion


Conclusion:


Wireless LAN:


ARQ hides high BERs to TCP


TCP performs good under such conditions


Disconnections can degrade TCPs performance


Bluetooth:


Behaviour of underlaying layers unclear


Bluetooth also uses ARQ that hides high BERs to TCP


Disconnections have not been evaluated


TCP Proxy:


Mirror adds additional RTTs, but Proxy seems to lower RTTs,
but further evaluation needed


Coupling MIP to the TCP Proxy is expected to enhance
TCPs performance in handover situations

Slide
43


References


Project WebSite:


http://kom.auc.dk/~dennis/


IPLab WebSite:


http://kom.auc.dk/iplab/


WLAN Evaluation Project:


http://kom.auc.dk/~ruipt/


Specifications:


IEEE 802.11b (WLAN)


Bluetooth SIG, Bluetooth Specification v1.1


RFCs :


RFC791 (IP)


RFC793 (TCP)


eMail:


dennis@kom.auc.dk



dungs@in.tum.de



Slide
44


Thanks for listening!

Slide
45


Backup

Slide
46


Current IPLab network architecture

IP LAB: Current Architecture

Delft

Internet

Toronto

Frankfurt

Shanghai

Sydney

Dhaka

Tokyo

San Francisco

130.225.51.6

10.10.1.2

10.10.2.2

10.10.2.1

10.10.1.1

Aalborg

10.10.2.254

Spjald

10.10.4.2

10.10.1.254

Shanghai

10.10.3.254

10.10.254.254

Toronto

10.10.3.1

GPRS
Network