440 likes | 672 Views
Flow and Rate Based Hop-by-hop Back-pressure Flow Control. Motivation for hop-by-hop flow control Rate Based Hop-by-hop Flow Control Simple hop-by-hop flow control Proposed modifications in simple hop-by-hop flow control Destination based hop-by-hop flow control
E N D
Flow and Rate Based Hop-by-hop Back-pressure Flow Control
Motivation for hop-by-hop flow control Rate Based Hop-by-hop Flow Control Simple hop-by-hop flow control Proposed modifications in simple hop-by-hop flow control Destination based hop-by-hop flow control Class based hop-by-hop flow control Project Flow-rate based hop-by-hop flow control Simulation results Conclusion Outline
Traditional LANs Small in size and number of users Congestion dealt with end-to-end congestion control The Motivation for Hop-by-hop Flow Control
High speed extended LANs Large in scale and number of users. High bandwidth and high performance switching. TCP congestion control not enough. Short RTT causing in fast window openings. Link speed mismatch in LAN network. Traffic merging at LAN switches. The Motivation for Hop-by-hop Flow Control
Short round trip time Caused by the deployment of Extended LANs Most traffic is inside the LAN High speed LANs Smaller time required for round trip inside the LAN Result Fast TCP window opening Burstiness Packet loss The Motivation for Hop-by-hop Flow Control
Link speed mismatch Merging of bursts into low speed link Packet loss 1OO Mbps 10 Mbps S D The Motivation for Hop-by-hop Flow Control
Traffic merging Merging of different flows Packet loss S1 10 Mbps 10 Mbps S2 10 Mbps D 10 Mbps SN The Motivation for Hop-by-hop Flow Control
Congestion detection Detection of congestion based on buffer occupancy Notification Notification of devices sending packets to congested ports Control actions Actions of switches notified of congestion (blocking/unblocking traffic, controlling transmit rate) Hop-by-hop Flow ControlDescription
Control Strategy To adjust dynamically the transmission rates of each stream. Method Take buffer occupancy information from neighboring switches periodically Adjust the transmission rate of each stream accordingly. Drawback Computational Overload, Huge Buffer Size Extra Periodic Messaging Burden Rate Based Hop-by-hop Flow Control(Mishra,1992)
Basics of flow control mechanism(IEEE 802.3x): If outgoing link congested, Packet stored in switch If above XOFF threshold of output port, XOFF sent to all input links Adjacent switches stop sending data If below XON threshold, Send XON to all input links Send XOFF frame XOFF threshold Buffer occupancy XON threshold Send XON frame Head of FIFO Queue Simple Hop-by-hop Flow Control: Description
Unnecessary congestion control Improvement in the most aggressive flow performance Degradation in performance of others Asymmetrical traffic No differentiation of real-time and non-real time traffic Simple Hop-by-hop Flow Control: Problem
Scenario: S1sends large files S2-D2 files of size 32KB S2-D3 files of size 100KB Improvement compared to simple control: Send XOFF to only S1 Prevents degradation of other flows (S2) due to the aggressive flows (S1) 10 Mbps D1 100 Mbps S1 10 Mbps D2 S2 10 Mbps D3 100 Mbps 100 Mbps Destination Based Hop-by-hop Flow Control: Description
Unnecessary congestion control Improvement in the most aggressive aggregated flow performance among all flows Degradation in the performance of others going to the same destination Asymmetrical traffic No differentiation of real-time and non-real time traffic Destination Based Hop-by-hop Flow Control: Problem
Scenario: S1-D data traffic S2-D real-time traffic Problem: Increase in delay of real-time traffic (S2-D) due to control actions for data traffic (S1-D) S1 100 Mbps data 10 Mbps D S2 10 Mbps video Class Based Hop-by-hop Flow Control: Motivation
Store real-time and data traffic in separate queues If upper threshold reached, send XOFF If XOFF received, Stop data traffic first Class Based Hop-by-hop Flow Control: Description
If upper threshold reached, send XOFF Use RED to set ECN bit of TCP packets ECN bit carried back to sender to decrease rate of TCP If XOFF received, Stop TCP packets(assumed to be low priority packet(TCP aware mechanism)) If buffer overflows, Drop real-time packets Proposed Class Based Hop-by-hop Flow Control(Wechta)
Flow-rate based hop-by-hop flow control The need for flow based control arises so as to: Prevent sending XOFF to all flows sharing upstream resources Avoid vulnerability to devices not conforming to the XON/XOFF messages Allow the inclusion of SLA to control strategy Project (Flow Based Hop-by-hop Flow Control)
Sharing of upstream resources Destination based control allows S2-D2 but throttles S2-D1 flow S1 D1 10 Mbps 100 Mbps 100 Mbps S2 D2 10 Mbps 10 Mbps Bottleneck Flow Based Hop-by-hop Flow Control
Prevent vulnerability to non-conforming node Prevent vulnerability to S1 not conforming to the Xon/Xoff messages S1 should not throttle the traffic from S2 S1 D1 10 Mbps 100 Mbps 100 Mbps S2 D2 10 Mbps 10 Mbps Flow Based Hop-by-hop Flow Control Bottleneck
Flow table at each switch with entries Time at which last packet is received Estimated start time of current burst Total bytes received from start of current burst Estimated rate = total received bytes since estimated start of burst / (current time - estimated start of burst) Table keeping XOFFed flows to XON later XON/XOFF control messages Flow Based Hop-by-hop Flow Control: Requirements
For each received packet, Update flow table Check whether the upper threshold is reached If reached, send XOFF for the flow with the greatest estimated rate among the non-XOFFed flows For each transmitted packet, Check whether lower threshold is reached If reached, send XON for XOFFed flows Flow Based Hop-by-hop Flow Control Algorithm: Description
If flow is new, Set estimated rate to 0 Set total received byte to 0 Set the start of burst to current time Else If (current time - last received > threshold) Set total bandwidth to 0 Set the start of burst to current time Else Estimated rate = total received byte / (current time - start of burst)} Set last receive time to current time If (the upper threshold is reached) Send XOFF for the flow with the greatest estimated rate Flow Based Hop-by-hop Flow Control Algorithm: Description
Threshold levels: Lower threshold Constant Upper threshold Increases each time upper threshold reached Allows to increase number of XOFFed flows Flow Based Hop-by-hop Flow Control Algorithm: Description
Different flows may have different SLAs Need to be treated differently S1-D should not be punished while S2-D does not conform SLA Flow Based Hop-by-hop Flow Control Algorithm With SLA: Motivation Agreed rate 100 Mbps -10 Mbps S1 90 Mbps 110 Mbps D Agreed rate 10 Mbps S2 30 Mbps Bottleneck +20 Mbps
SLA specifications for each flow added to the flow table: Agreed rate Used in sending XOFF(send XOFF for the flow with the greatest (estimated rate-agreed rate)) Flow Based Hop-by-hop Flow Control Algorithm With SLA:
Outline of Simulation Traffic monitoring of Berkeley LAN To show that nearly all traffic is inside the LAN ns2 results comparing drop tail, simple backpressure and flow based control schemes Throughput graphs Ns Nam visualization Simulation
To justify the traffic management in switched LAN To justify that source/destination MAC address pair is a good approximation to TCP address pair for most of the traffic. Traffic Monitoring of LAN: Motivation
We have a preliminary results. Monitored traffic at Doe library (128.32.4.X) subnet, and Cory hall (128.32.129.X) subnet throughout the day and collected 5000 packets at the time Only observed 1/15000 with outside IP address Traffic Monitoring of LAN: Results
Assumptions Sources reduce packet generation rate upon receiving XOFF. Aim Comparison of Droptail, Simple HbH, Per-Flow HbH. Observe Packet Drop, Transmission Time, Misbehaving Flow and Throughput. Simulation
Topology Simulation
Sequence number vs. time (flow1) Simulation
Sequence number vs. time(flow 2) Simulation
Sequence number vs. time(flow 3) Simulation
Sequence number vs. time(flow 4) Simulation
Average throughput vs. time for flow based algorithm(flow 4 and 5) Simulation
Average throughput vs. time for droptail algorithm(flow 4 and 5) Simulation
Average throughput vs. time for simple control(flow 4 and 5) Simulation
Average throughput vs. time from switch D to switch E Simulation
Simple hop-by-hop flow control Sends XOFF to all input ports Prevents packet drop Destination based hop-by-hop flow control Sends XOFF based on destination address Prevents unnecessary control of flows going to other destinations Class based hop-by-hop flow control Prefers to stop data traffic before dropping real-time traffic Improves delay characteristics of real-time traffic Flow and rate based hop-by-hop flow control Sends XOFF based on flow Prevents unnecessary control due to sharing of upstream resources Flow and rate SLA based hop-by-hop flow control Sends XOFF based on flow considering SLA Satisfies SLA based on flow rate Simulations Conclusion
Flow and Rate Based Hop-by-hop Back-pressure Flow Control