| Hop-by-Hop_TCP |
|---|
| Outline |
|---|
| MANET and Sensor Network |
|---|
| TCP |
|---|
| TCP |
|---|
| Flow control & Congestion control |
|---|
| Design Objectives of TCP |
|---|
| RFC Documents |
|---|
| Lost Packet Retransmission |
|---|
| Local Retransmission |
|---|
| Split TCP |
|---|
| Hop-by-Hop TCP |
|---|
| Related Work |
|---|
| ATCP |
|---|
| TCP Muzha |
|---|
| Adaptive CWL (Congestion Window Limit) |
|---|
| The Transport Layer Revisited |
|---|
| Our Approach |
|---|
| Hop-by-Hop TCP |
|---|
| Design Objectives |
|---|
| Design Issues |
|---|
| End-to-End TCP |
|---|
| One-Hop TCP |
|---|
| One-Hop TCP |
|---|
| End-to-End ACK |
|---|
| One-Hop Flow of Receiving Local ACK |
|---|
| One-Hop Flow of Receiving Data Packet |
|---|
| State Transition of One-Hop TCP |
|---|
| One-Hop TCP機制 |
|---|
| One-Hop TCP Pseudo code |
|---|
| Overhead Reduction |
|---|
| 802.11 MAC Layer 4-Way Handshake |
|---|
| Performance Evaluation |
|---|
| Design of Experiments |
|---|
| Experiment 1: Topology and Parameters |
|---|
| Change of Congestion Window Size |
|---|
| Delay Time at Different Number of Hops |
|---|
| Throughput at different number of hops |
|---|
| Effect of Piggybacking |
|---|
| Evaluation of Retransmission Rate |
|---|
| Summary of Experiment 1 |
|---|
| Experiment 2 Fairness Test |
|---|
| Topology and Parameter for Fairness Test |
|---|
| Jain's Fairness Index |
|---|
| Fairness Test 2A |
|---|
| Fairness Test 2B (MANET) |
|---|
| Fairness Test 2B |
|---|
| Summary of Fairness Test |
|---|
| Conclusion |
|---|
| Future |
|---|
| Outline |
|---|
| MANET and Sensor Network |
|---|
| MANET | Sensor Network (A Special MANET)
| A group of mobile computing devices that are equipped with
WLAN capability.
| WSN is a wireless network consisting
of spatially
distributed autonomous devices using sensors to cooperatively
monitor physical or environmental conditions
at different locations.
| | ![]() | ![]()
Nodes can transmit packets to each other to construct an Intranet
without the assistance of any base station (Access Point).
| Nodes help each other to forward packets from hop to hop such that two nodes that can't hear each other can transmit data to each other.
Each node is typically equipped with a radio transceiver, a
small microcontroller and a battery.
| Size and cost constraints on sensor nodes result in corresponding constraints on resources such as energy, memory, computational speed and communication bandwidth. |
|---|
| TCP |
|---|
How to guarantee data delivery? |
|---|
| TCP |
|---|
The most popular reliable transport protocol
| Located at both ends of a connection
| Reliable, in-order
| Connection-oriented
| With flow controlled
|
| ![]() |
|---|
| Flow control & Congestion control |
|---|
![]() | ![]() |
|---|
| Design Objectives of TCP |
|---|
| RFC Documents |
|---|
| RFC number | Topic
| 793
| Transmission Control Protocol
| 1323
| TCP Extensions for High Performance
| 2018
| TCP Selective Acknowledgement Options
| 2581
| TCP Congestion Control
| 2914
| Congestion Control Principles
| 3168
| The Addition of Explicit Congestion Notification (ECN) to IP
| 3390
| Increasing TCP's Initial Window
| 3782
| The NewReno Modification to TCP's Fast Recovery Algorithm
| |
|---|
| Lost Packet Retransmission |
|---|
♦ Retransmission from senderpackets may get lost again and again under high errorTake too many retransmission to reach destination -- induce long delay time | ![]() |
|---|
| Local Retransmission |
|---|
Each intermediate node retransmits lost packets to assure packet
delivery
| Faster than retransmission from sender
| |
|---|
| Retransmit from Sender | Retransmit from Local
|
| ![]() | ![]() |
|---|
| Split TCP |
|---|

| Hop-by-Hop TCP |
|---|

| Related Work |
|---|
| ATCP |
|---|
| Persist State | by ICMP message
| Congestion Control State
| by ECN message
| Retransmit State
| by packet loss without ECN flag
| |
|---|
| TCP Muzha |
|---|
| Adaptive CWL (Congestion Window Limit) |
|---|
| The Transport Layer Revisited |
|---|
| Our Approach |
|---|
| Hop-by-Hop TCP |
|---|
| End-to-End TCP | running on sender and receiver
| One-hop TCP
| running on each intermediate nodes
| |
|---|

| Design Objectives |
|---|
| Design Issues |
|---|
| End-to-End TCP |
|---|
| One-Hop TCP |
|---|
| One-Hop TCP |
|---|
| End-to-End ACK |
|---|
| End-to-End ACK: | Same as ACK for conventional TCP
| Mechanism to improve survival rate
| Use One-Hop TCP in the reverse direction for ACK
|
| ![]() | |
|---|---|---|---|---|---|
| One-Hop Flow of Receiving Local ACK |
|---|

| One-Hop Flow of Receiving Data Packet |
|---|

| State Transition of One-Hop TCP |
|---|

| One-Hop TCP機制 |
|---|
| Event | Status | Actions taken in the receiving node | Next state
| Receive a packet when flag
no_packet_outgoing is false
| Ready
|
Buffer the new packet; if there is any
packet to be sent in another direction,
piggyback it, if not, return LACK
| Ready
| Receive a packet and no packet is outgoing
| Ready
|
Buffer the new packet; if there is any
packet to be sent in another direction,
piggyback it, if not, return LACK, send the
packet, and start timer
| Wait
| Local Timeout and retry count < 6
| Wait
| Retransmit the Timeout packet; restart timer
| Wait
| Local Timeout and retry count > 5
| Wait
| Purge the packet that retransmits over five times from buffer; stop timer
| Done
| Receive a LACK from downstream node
| Wait
| Purge the packet from buffer; stop timer
| Done
| Other Packet in Buffer
| Done
|
Send the next packet from buffer; start timer
| Wait
| Buffer empty
| Done
|
Set flag no_packet_outgoing to true; wait the next packet
| Ready
| |
|---|
| One-Hop TCP Pseudo code |
|---|
Receive ( Packet ){
if ( Data )
{
ReturtLACK ( ) ;
if ( NewPacket_ == True )
{ BufferPacket ( ) ; }
if ( isdataoutgoing_ == False )
{
SendPacket ( ) ;
Isdataoutgoing == True;
}
}
if ( LACK )
{
PurgeBuffer ( ) ;
if ( Buffer == NULL )
{ set isdataoutgoing == False ; }
else
{ SendPacketInBuffer ( ) ; }
}
}
|
|---|
| Overhead Reduction |
|---|
| Forward dats stream | | Backward dats stream
| |
| ![]() | |
|---|---|---|---|---|---|
| 802.11 MAC Layer 4-Way Handshake |
|---|

| Performance Evaluation |
|---|
| Design of Experiments |
|---|
| Control Variables | hop count | error rate | buffer size |
|---|
HbH and Reno Coexist
| Many HbH Coexist
| |
|---|
| Experiment 1: Topology and Parameters |
|---|

| Parameter | Range
| Packet Size
| 1000 bytes (MANET) | 50 bytes (Sensor) Buffer Size
| 50 packets (MANET) | 10 packets (Sensor) CWND Upper Bound
| 4
| Link Bandwidth
| 0.5~1 Mbps (MANET) | 5~10 Kbps (Sensor) Error Rate
| 0.0~0.2 (MANET) | 0.0-0.5 (Sensor) Number of Nodes
| 5~11
| MAC Protocol
| 802.11
| Routing Algorithm
| DSR
| |
|---|
| Change of Congestion Window Size |
|---|
| ( Sensor Netowrk/error rate = 0.4) |
|
| ![]() | ( MANET/error rate = 0.0)
| ( MANET/error rate = 0.1)
| | ![]() | ![]() |
|---|
| Delay Time at Different Number of Hops |
|---|
| SensorNet/error rate = 0.4 | MANET/error rate = 0.1
|
| ![]() | ![]() MANET/error rate = 0.1
| MANET/error rate = 0.2
| | ![]() | ![]()
| ♦ When lost rate is high, HbH TCP can reduce delay time by 20% | |
|---|---|---|---|---|---|---|---|---|---|
| Throughput at different number of hops |
|---|
| SensorNet/error rate = 0.4 | MANET/error rate = 0.1
|
| ![]() | ![]() MANET/error rate = 0.1
| MANET/error rate = 0.2
| | ![]() | ![]()
| ♦ When lost rate is high, HbH TCP can improve throughput by 25% | |
|---|---|---|---|---|---|---|---|---|---|
| Effect of Piggybacking |
|---|

| Evaluation of Retransmission Rate |
|---|
| SensorNet/error rate = 0.4 | | | ![]() | MANET/error rate = 0.1
| MANET/error rate = 0.2
|
| ![]() | ![]() |
|---|
| Summary of Experiment 1 |
|---|
| Experiment 2 Fairness Test |
|---|
| Test 2A | Fairness Test for multiple versions of TCP
| Test 2B
| Fairness Test for multiple flows of same TCP
| |
|---|
| Topology and Parameter for Fairness Test |
|---|
| Topology | Parameter | Range
|
| ![]() Packet Size
| 1000 bytes (MANET) | 50 bytes (Sensor) Buffer Size
| 50 packets (MANET) | 10 packets (Sensor) Link Bandwidth
| 0.5~1 Mbps (MANET) | 5~10 Kbps (Sensor) Error Rate
| 0.1 (MANET) | 0.4 (Sensor) Link Bandwidth
| 1 Mbps (MANET) | 10 Kbps (Sensor) Number of hops
| 4, 6, 8
| MAC Protocol
| 802.11
| Routing Algorithms
| DSR
| |
|---|
| Jain's Fairness Index |
|---|

x i is the flow throughput of flow i
| equal partitioning of bandwidth achieves index of 1
| If only k of n flows receive equation bandwidth
(and others get non) index is k/n
| |
|---|
| Fairness Test 2A |
|---|
| NewReno vs. Vegas (MANET/Throughput) | NewReno vs. Hop-by-Hop TCP (MANET/Throughput)
| | ![]() | ![]() Jain's Fairness Index (MANET)
| Jain's Fairness Index (SensorNet)
|
| ![]()
| ![]() |
|---|
| Fairness Test 2B (MANET) |
|---|
| Protocol | Throughout Dynamics | Jain's Index Dynamics
| HbH | TCP | ![]() | ![]() TCP | Vegas | ![]() | ![]() TCP | NewReno | ![]() | ![]() |
|---|
| Fairness Test 2B |
|---|
| MANET | Sensor Network
| | ![]() | ![]() |
|---|
| Summary of Fairness Test |
|---|
| Conclusion |
|---|
| Future |
|---|