Post on 01-Feb-2016
description
Enhancing TCP Fairness in Enhancing TCP Fairness in Ad Hoc Wireless Networks Ad Hoc Wireless Networks Using Neighborhood REDUsing Neighborhood RED
Prenseted byPrenseted by Ronak BhutaRonak Bhuta
Date : October 9, 2007Date : October 9, 2007
Kaixin Xu Mario Gerla Lantao Qi Yantai Shu
MobiComm 2003
22
OverviewOverview Introduction - Challenges Posed to TCP design Introduction - Challenges Posed to TCP design
in Wireless Ad Hoc Networks and Prior workin Wireless Ad Hoc Networks and Prior work RED – Its simulation over Ad Hoc network and RED – Its simulation over Ad Hoc network and
reasons for it to not workreasons for it to not work Neighborhood and its Distributed queueNeighborhood and its Distributed queue Neighborhood Random Early Detection (NRED) Neighborhood Random Early Detection (NRED)
– NCD, NCN and DNPD– NCD, NCN and DNPD Verification and Parameter TuningVerification and Parameter Tuning Performance Evaluation of NREDPerformance Evaluation of NRED DiscussionDiscussion Conclusion and CommentsConclusion and Comments
33
Challenges Posed to TCP design in Challenges Posed to TCP design in Wireless Ad Hoc NetworksWireless Ad Hoc Networks
Topology changes and path changes Topology changes and path changes cause TCP to go into exponential backoffcause TCP to go into exponential backoff
22ndnd problem is the critical significance of problem is the critical significance of the congestion window size in usethe congestion window size in use
Significant TCP unfairness being the 3Significant TCP unfairness being the 3rdrd problem problem
This paper focuses on TCP fairness in ad This paper focuses on TCP fairness in ad hoc networkshoc networks
44
Prior workPrior work
Paper attacks the unfairness problem at Paper attacks the unfairness problem at the network layerthe network layer
It explores the relation between TCP It explores the relation between TCP unfairness and early network congestionsunfairness and early network congestions
RED can improve congestion control and RED can improve congestion control and fairness in wired networksfairness in wired networks
55
REDRED
RED monitors average queue size at each bufferRED monitors average queue size at each buffer It drops/marks packets with a drop probability, if It drops/marks packets with a drop probability, if
queue size exceeds a predefined thresholdqueue size exceeds a predefined threshold Drop probability is calculated as a function of Drop probability is calculated as a function of
average queue sizeaverage queue size It improves congestion control and fairness by It improves congestion control and fairness by
dropping packets proportional to connections dropping packets proportional to connections bandwidth sharebandwidth share
66
Simulation environment used for Simulation environment used for experimentsexperiments
Simulation platform used is QualNet Simulation platform used is QualNet simulatorsimulator
Channel bandwidth is 2MbpsChannel bandwidth is 2Mbps IEEE 802.11 MAC DCFIEEE 802.11 MAC DCFTCP NewReno used with maximum TCP NewReno used with maximum
Segment Size set to 512 bytesSegment Size set to 512 bytesBuffer size at each node is 66 packetsBuffer size at each node is 66 packetsStatic RoutingStatic Routing
77
TCP unfairness And RED in Ad TCP unfairness And RED in Ad Hoc NetworksHoc Networks
FTP 2 is starved as FTP 2 is starved as RED does not RED does not improve fairness but improve fairness but improves throughputimproves throughput
F T P 1
F T P 2
F T P 3
(1 0 0 , 1 0 0 ) (6 0 0 , 1 0 0 )
(3 5 0 , 3 5 0 )
(3 5 0 , 7 0 0 )(0 , 7 0 0 )
(3 5 0 , 1 0 5 0 )
(1 0 0 , 1 3 0 0 ) (6 0 0 , 1 3 0 0 )
(7 0 0 , 7 0 0 )
Reference: http://www.cacs.louisiana.edu/~wu/619/presentations/NRED.ppt
Figure 1: A Wireless Specific scenario for testing TCP unfairness with RED
Figure 2: Overall throughput of flows at the end of simulation with RED’s maxp equal to 0.06
88
Why RED does not Work? Why RED does not Work?
Penalized TCP flows may experience queue Penalized TCP flows may experience queue build upbuild up
Multiple node contribute to congestionMultiple node contribute to congestion Unfairness is caused as nodes drop packets Unfairness is caused as nodes drop packets
unaware of their or others’, bandwidth share and unaware of their or others’, bandwidth share and contribution to congestion contribution to congestion
Queue at any single node cannot reflect the Queue at any single node cannot reflect the network congestion statenetwork congestion state
Extend RED to entire congested area – Extend RED to entire congested area – Neighborhood of nodeNeighborhood of node
99
Neighborhood and its Distributed Neighborhood and its Distributed queuequeue
A node’s neighborhood A node’s neighborhood consists of the node itself consists of the node itself and the nodes which can and the nodes which can interfere with this node’s interfere with this node’s signalssignals
1- hop neighbors' directly 1- hop neighbors' directly interferes and 2 – hop interferes and 2 – hop nodes may interferenodes may interfere
Queue size of a Queue size of a neighborhood reflects the neighborhood reflects the degree of local network degree of local network congestioncongestion
A
1
5
3
4
2
6
7
9
1 0
1 2
1 1
8
Reference: http://www.cacs.louisiana.edu/~wu/619/presentations/NRED.ppt
1010
Simplified Neighborhood Queue Simplified Neighborhood Queue ModelModel
Simplified neighborhood Simplified neighborhood includes only 1-hop neighborsincludes only 1-hop neighbors
2–hop neighbors have a lot of 2–hop neighbors have a lot of communication overheads so communication overheads so only those packets of 2-hop only those packets of 2-hop that are directed towards 1-that are directed towards 1-hop are included hop are included
Each node has 2 queues- Each node has 2 queues- incoming and outgoing queueincoming and outgoing queue
Distributed Neighborhood Distributed Neighborhood queue- the aggregate of these queue- the aggregate of these local queueslocal queues
A
1
5
3
4
2
6
O u tg o in g Q u eu e
In co m in g Q u eu e
Reference: http://www.cacs.louisiana.edu/~wu/619/presentations/NRED.ppt
1111
Characteristics of distributed Characteristics of distributed Neighborhood QueueNeighborhood Queue
Consists of multiple queues located at the Consists of multiple queues located at the neighboring nodesneighboring nodes
Queue is not a FIFO queue due to Queue is not a FIFO queue due to location location dependency?dependency?
Priority of sub-queues change dynamically Priority of sub-queues change dynamically depending on topology changes/ traffic pattern depending on topology changes/ traffic pattern changeschanges
TCP flows sharing the same neighborhood may TCP flows sharing the same neighborhood may get different feedbacks in terms of packet delay get different feedbacks in terms of packet delay and loss rateand loss rate
1212
Neighborhood Random Early Neighborhood Random Early Detection (NRED)Detection (NRED)
RED extended to the distributed neighborhood queueRED extended to the distributed neighborhood queue Key problemsKey problems
Computing average queue size of distributed neighborhood Computing average queue size of distributed neighborhood queue queue
Spreading congestion notification amongst neighborsSpreading congestion notification amongst neighbors Calculating proper drop probability at each nodeCalculating proper drop probability at each node
Components of Neighborhood RED tackling above Components of Neighborhood RED tackling above problemsproblems
Neighborhood Congestion Detection (NCD)Neighborhood Congestion Detection (NCD) Neighborhood Congestion Notification (NCN)Neighborhood Congestion Notification (NCN) Distributed Neighborhood Packet Drop (DNPD)Distributed Neighborhood Packet Drop (DNPD)
1313
Neighborhood Congestion Neighborhood Congestion DetectionDetection
Direct way: Announce queue size upon changesDirect way: Announce queue size upon changes Too much overhead worsening the congestion Too much overhead worsening the congestion
Method proposed in the paper: Indirectly estimating an Method proposed in the paper: Indirectly estimating an index of queue size by monitoring wireless channel index of queue size by monitoring wireless channel utilizationutilization Channel Utilization ratio Channel Utilization ratio Queue size index Queue size index
w w is channel bandwidth, is channel bandwidth, cc is a constant packet size is a constant packet size
Average queue size is calculated using RED’s algorithmAverage queue size is calculated using RED’s algorithm Congestion: queue size exceeds minimum thresholdCongestion: queue size exceeds minimum threshold
1414
Neighborhood Congestion Neighborhood Congestion DetectionDetection
A node will monitor 5 different A node will monitor 5 different radio state radio state Transmitting Transmitting TTtxtx Receiving Receiving TTrxrx Carrier sensing busy Carrier sensing busy TTcscs Virtual carrier sensing busy Virtual carrier sensing busy TTvcsvcs Idle Idle TTidle idle
State 1&2 is for current node, 3&4 State 1&2 is for current node, 3&4 is for its neighbors. The authors is for its neighbors. The authors assume state 5 means empty assume state 5 means empty queue.queue.
When a packet in any outgoing When a packet in any outgoing queue is transmitted, node A will queue is transmitted, node A will detect the medium as busy.detect the medium as busy.
When a packet is received to any When a packet is received to any incoming queue, node A can also incoming queue, node A can also learn this through the CTS packet.learn this through the CTS packet.
A
1
5
3
4
2
6
O u tgo in g Q u eu e
In co m in g Q u eu e
Reference: http://vorlon.case.edu/~sxj63/EECS600-S05/Lecture0413.ppt#264,10,Neighborhood Congestion Detection (NCN)
1515
Neighborhood Congestion Neighborhood Congestion DetectionDetection
int
int int int
int
(1) ; (2) ; (3) ;
*; (1 )*
erval idle tx rxbusy tx rx
erval erval erval
erval tx rx cs vcs idle
busyq
T T T TU U U
T T T
T T T T T T
Assume W is channel bandwidth and the average packet size is C bits
U Wq avg w
C
tx
*
avg
q
rx
avg w q
We can use the same way to calculate and avg
Reference: http://vorlon.case.edu/~sxj63/EECS600-S05/Lecture0413.ppt#264,10,Neighborhood Congestion Detection (NCN)
1616
Neighborhood Congestion Neighborhood Congestion NotificationNotification
Under NRED, a node checks the estimated averageUnder NRED, a node checks the estimated average queue sizequeue size avg avg periodically and compares it with old periodically and compares it with old min min threshold. The node calculates a drop prob threshold. The node calculates a drop prob ppbb and and broadcasts it to its neighbors if the following broadcasts it to its neighbors if the following Constraints Holds for the current nodes.Constraints Holds for the current nodes.
The calculated Pb is larger than 0.The calculated Pb is larger than 0. Current node is on the path of one or more flowsCurrent node is on the path of one or more flows Node is suffering in channel contention (by comparing Node is suffering in channel contention (by comparing avgavgtxtx + avg + avgrxrx
with a threshold)with a threshold) Didn’t receive any NCN in the past interval with a larger Didn’t receive any NCN in the past interval with a larger
normalizedPnormalizedPbb. Otherwise the neighborhood is more congested.. Otherwise the neighborhood is more congested.
NCN packet field includes <NCN packet field includes <packetType, normalizedPpacketType, normalizedPbb ,lifeTime ,lifeTime>>
Reference: http://vorlon.case.edu/~sxj63/EECS600-S05/Lecture0413.ppt#264,10,Neighborhood Congestion Detection (NCN)
1717
Neighborhood Congestion Neighborhood Congestion NotificationNotification
Reference: http://vorlon.case.edu/~sxj63/EECS600-S05/Lecture0413.ppt#264,10,Neighborhood Congestion Detection (NCN)
1818
Distributed Neighborhood Packet Distributed Neighborhood Packet DropDrop
When a node When a node received a received a NCN with a NCN with a non zero non zero normalizedPnormalizedPbb, , the local drop the local drop prob prob ppbb is is caculated as caculated as normalizedPnormalizedPbb*(*(avgavgtxtx + + avgavgrxrx))
Reference: http://vorlon.case.edu/~sxj63/EECS600-S05/Lecture0413.ppt#264,10,Neighborhood Congestion Detection (NCN)
1919
Verification of Queue Size Verification of Queue Size EstimationEstimation
It estimates channel utilization as an approximation for It estimates channel utilization as an approximation for neighborhood queueneighborhood queue
Estimating Node5’s neighborhood queue size indexEstimating Node5’s neighborhood queue size index Gets real queue size by recording queue size at individual Gets real queue size by recording queue size at individual
nodesnodes Evaluated NRED for frequent queue size changes by Evaluated NRED for frequent queue size changes by
replacing FTP flow with HTTP flowsreplacing FTP flow with HTTP flows Parameters Parameters TTintervalinterval=100ms =100ms and and wwqq=0.2=0.2
1 2 3
4 5 6
7 8 9
(0 ,0 ) (3 5 0 ,0 ) (7 0 0 ,0 )
(0 ,3 5 0 ) (3 5 0 ,3 5 0 ) (7 0 0 ,3 5 0 )
(0 ,7 0 0 ) (3 5 0 ,7 0 0 ) (7 0 0 ,7 0 0 )
T C P 1
T C P 2
T C P 3
T C P 4 T C P 5 T C P 6
Reference: http://www.cacs.louisiana.edu/~wu/619/presentations/NRED.ppt
Figure 6: Shows FTP/TCP connections Figure 7: Shows HTTP/TCP connections
2020
Parameter TuningParameter Tuning
Parameter Tuning with Basic Scenarios Parameter Tuning with Basic Scenarios with hidden and exposed terminal scenariowith hidden and exposed terminal scenarioHidden TerminalHidden Terminal
A hidden node is one that is within the interfering A hidden node is one that is within the interfering range of the intended destination but out of the range of the intended destination but out of the sensing range of the sender, which can cause sensing range of the sender, which can cause collisions on data transmissioncollisions on data transmission
Exposed TerminalExposed TerminalAn exposed node is one that is within the sensing An exposed node is one that is within the sensing
range of the sender but out of the interfering range range of the sender but out of the interfering range of the destinationof the destination
Reference: http://ail.tju.edu.cn/report/kt-liuyan.ppt#256,1,Investigation on Neighborhood in Ad Hoc Wireless Network (Ad Hoc 网络中邻居内若干问题的研究 )
2121
Parameter Tuning with Basic Parameter Tuning with Basic ScenariosScenarios
Reference: http://vorlon.case.edu/~sxj63/EECS600-S05/Lecture0413.ppt#264,10,Neighborhood Congestion Detection (NCN)
2222
Parameter Tuning with Basic Parameter Tuning with Basic ScenariosScenarios
21 2
1 2 2 21 2
( )( , )
2( )
X XF X X
X X
Fairness indexFairness index under under
hidden and exposed terminal scenariohidden and exposed terminal scenario MAXMin fairness is bounded between 0 and1 MAXMin fairness is bounded between 0 and1
Reference: http://vorlon.case.edu/~sxj63/EECS600-S05/Lecture0413.ppt#264,10,Neighborhood Congestion Detection (NCN)sv
2323
Parameter Tuning with Basic Parameter Tuning with Basic ScenariosScenarios
Aggregated Throughput (kbps) under hidden and exposed terminal situation
Reference: http://vorlon.case.edu/~sxj63/EECS600-S05/Lecture0413.ppt#264,10,Neighborhood Congestion Detection (NCN)sv
2424
Performance Evaluation: Simple Performance Evaluation: Simple ScenarioScenario
Both long-term and short-term Both long-term and short-term fairness is achievedfairness is achieved
Loss of aggregated throughputLoss of aggregated throughput There is a Tradeoff between fairness There is a Tradeoff between fairness
and throughputand throughput Channel is slightly not fully utilizedChannel is slightly not fully utilized
F T P 1
F T P 2
F T P 3
(1 0 0 , 1 0 0 ) (6 0 0 , 1 0 0 )
(3 5 0 , 3 5 0 )
(3 5 0 , 7 0 0 )(0 , 7 0 0 )
(3 5 0 , 1 0 5 0 )
(1 0 0 , 1 3 0 0 ) (6 0 0 , 1 3 0 0 )
(7 0 0 , 7 0 0 )
Reference: http://www.cacs.louisiana.edu/~wu/619/presentations/NRED.ppt
2525
Performance Evaluation: Multiple Performance Evaluation: Multiple Congested NeighborhoodCongested Neighborhood
Multiple congested neighborhoodsMultiple congested neighborhoods FTP2 & FTP 5 have more competing flows, are FTP2 & FTP 5 have more competing flows, are
easy to be starvedeasy to be starved
F T P 1 F T P 2 F T P 3
F T P 4
F T P 5
F T P 6
Reference: http://www.cacs.louisiana.edu/~wu/619/presentations/NRED.ppt
2626
Performance Evaluation: MobilityPerformance Evaluation: Mobility
Node 5 moves up and downNode 5 moves up and down Moving Up: two flow interfere with eachMoving Up: two flow interfere with each Moving down: No much interferenceMoving down: No much interference
NRED can adapt to mobilityNRED can adapt to mobility N o d e 5 m o v in gu p an d d o w n
F T P 11
2
3
F T P 24 6
5
(0 , 0 )
(2 0 0 , 1 5 0 )
(4 0 0 , 0 )
(0 , 6 5 0 )
(2 0 0 , 6 0 0 )
(4 0 0 , 6 5 0 )
5 '(2 0 0 , 4 0 0 )
2727
50 nodes randomly deployed in 50 nodes randomly deployed in 1000mX1000m field1000mX1000m field
5 FTP/TCP connections are randomly 5 FTP/TCP connections are randomly selectedselected
No mobilityNo mobility
Performance Evaluation: Realistic Performance Evaluation: Realistic ScenarioScenario
2828
DiscussionDiscussion Significant TCP unfairness has been found and reported Significant TCP unfairness has been found and reported
in ad hoc networksin ad hoc networks
NRED is a network layer solutionNRED is a network layer solution Easy to implementEasy to implement Incremental DeploymentIncremental Deployment
Major ContributionMajor Contribution Model of neighborhood queueModel of neighborhood queue
Distributed neighborhood queueDistributed neighborhood queue Not FIFONot FIFO
Network layer solution for enhancing TCP fairness in Ad Hoc Network layer solution for enhancing TCP fairness in Ad Hoc networksnetworks
2929
Discussion (contd)Discussion (contd) Random mobility may reduce aggregate throughput by Random mobility may reduce aggregate throughput by
erroneous invoking of congestion control schemeerroneous invoking of congestion control scheme
Unlike flow based fair scheduling algorithms, does not Unlike flow based fair scheduling algorithms, does not require topology information thus has low overheadrequire topology information thus has low overhead
TCP flows are randomly dropped at congested TCP flows are randomly dropped at congested neighborhood which is not efficient for network neighborhood which is not efficient for network throughput because the packets have already consumed throughput because the packets have already consumed some bandwidth before reaching the congested areasome bandwidth before reaching the congested area suggested remedy- explicit congestion notification using ECN bit suggested remedy- explicit congestion notification using ECN bit
Not effective for short-lived TCP connectionsNot effective for short-lived TCP connections
3030
ConclusionConclusion
By Detecting By Detecting congestion and dropping congestion and dropping packets proportionally to a flow’s channel packets proportionally to a flow’s channel bandwidth usage, the NRED is able to bandwidth usage, the NRED is able to improve TCP fairness.improve TCP fairness.
The major contributions of this work are The major contributions of this work are the concept of a distributed neighborhood the concept of a distributed neighborhood queue and the design does not require queue and the design does not require MAC modification.MAC modification.
3131
CommentsComments
The estimated queue size does not reflect The estimated queue size does not reflect future increase of the queue size after the future increase of the queue size after the real average queue size exceeds a certain real average queue size exceeds a certain threshold threshold
NRED not evaluated for Dynamic Routing NRED not evaluated for Dynamic Routing and Random Mobilityand Random Mobility
Need to study the performance with Need to study the performance with different MAC protocolsdifferent MAC protocols
3232
Thank youThank you