mcp: mobile-host-centric transport protocol
DESCRIPTION
MCP: Mobile-host-centric transport protocol. Enhancing TCP throughput in WLAN Mobile-host-centric transport protocol -- MCP Enhancing TCP throughput in WLAN with multi-hop ?. TCP Problem over Wireless Networks. In TCP Packet Loss Congestion But in Mobile Networks - PowerPoint PPT PresentationTRANSCRIPT
MCP: Mobile-host-centric transport protocol
Enhancing TCP throughput in WLAN Mobile-host-centric transport
protocol -- MCP Enhancing TCP throughput in WLAN
with multi-hop ?
TCP Problem over Wireless Networks
In TCP Packet Loss <=> Congestion
But in Mobile Networks Packet Loss <=> Congestion (Net) ???
high bit error rate (Phy) - No access contention (MAC) - ? disconnection (Net) - No handoff (Net) - No
The TCP end-to-end performance is degraded seriously in wireless networks
Our solution – cross layer
Proposed a mobile-host-centric transport protocol called MCP TCP-RCP integrated / hybrid Shifts the transport layer control
schema to the mobile host side under all cases (mobile host is a sender or receiver)
Mobile stations can make better transport layer control based on the status of wireless link (cross layer)
Styles of handshake
DATA-ACK handshaking When mobile station is the sender Sender sends data, receiver sends
ACK to acknowledge correct receive of that data
REQ-DATA handshaking When mobile station is the receiver Receiver sends REQ to request data,
and sender sends data accordingly Receiver sends pull REQ to request
retransmit
Congestion control
Maintains the congestion window (cwnd) at the mobile station under all cases (mobile host is a sender or receiver)
“Slow-start” The window is increased exponentially
“Congestion avoidance” Increase its window size by 1/cwnd every
time
Congestion control
Fast retransmit (- cumulative acks) Detect loss
3 dup ACKs or 3 out-order data packets
Retransmission send data packet or pull request
Fast recovery After a fast-retransmit set cwnd to ssthre
sh/2 i.e., don’t reset cwnd to 1
But when RTO expires still do cwnd = 1
Cross-layer method
Track information at MAC layer distinguish packet loss under MAC layer
Feedback these information to transport layer congestion control
Modify the fast retransmit and fast recovery schema according to these information
Cross-layer implementation
Record packets that fail to send within limit times at the MAC layer of the mobile station
Notify the transport layer if the packet loss is caused by MAC layer
Fast retransmit immediately if the packet loss is caused by MAC layer
Fast recovery without reducing congestion window if the packet loss is caused by MAC layer reason
Simulation scenario Ⅰ
WS - Wireless Station AP - Access point FH - Fixed Host
FH AP WS
11M100M45ms
1 flow
Throughput (1 flow)
WS – as sender WS – as receiver
0
1
2
3
4
5
6
7
0 1 2 3 4 5 6 7 8 9
packet error rate (%)
thro
ughp
ut(M
bps)
MCP
TCP Reno
Westwood
0
1
2
3
4
5
6
7
0 1 2 3 4 5 6 7 8 9
packet error rate (%)
thro
ughp
ut(M
bps)
MCP
TCP Reno
Westwood
Experiment result: Throughput
WS – as sender
Simulation scenario Ⅱ
5 flows
100M,10ms100M,5ms1G,100ms
Fix Host
Access Point
Wireless Station
11M
Throughput (5 flows)
WS – as sender WS – as receiver
0123456789
0 1 2 3 4 5 6 7 8 9
packet error rate (%)
thro
ughp
ut(M
bps)
MCP
TCP Reno
Westwood
0
1
2
3
4
5
6
7
8
9
0 1 2 3 4 5 6 7 8 9
packet error rate (%)
thro
ughp
ut(M
bps)
MCPTCP RenoWestwood
考虑无线丢包区分度的 MCP 模型
T: 传输层吞吐率pB: 队列丢包概率pW: 无线丢包概率p: 总丢包率: 无线丢包区分因子,两种情况 =0 不区分无线丢包,则有: p=pB+pW ( 两种丢包独立 ) =1 区分无线丢包 ,则有: p=pB
0<<1 实验确定最佳值
模型组成: MCP 控制子模型、网络子模型、无线丢包子模型
MCP 控制
子模型
网络子模型(M/M/1/B)
无线丢包子模型
p=pB+(1- )pW
业务加载T(1- pW)
pB pWp
T
目的:建立 MCP 吞吐率随无线丢包率的变化曲线
MCP 控制子模型 作用
计算 MCP 的吞吐率,加载到网络子模型和丢包子模型 方法
MCP 以发送端为中心和以接收端为中心的控制方法都与 TCP 类似,借鉴 TCP 的吞吐率分析方法
参数 丢包率( p ) 往返时间( RTT ) 数据包长度( MSS )
假设条件 RTT 固定 不采用延迟 ACKs 或 REQs 策略 只考虑拥塞避免阶段 周期性丢包,每个周期丢一个包
简单的 MCP 控制模型
稳态情形下 MCP 拥塞窗口的变化规律
W/2 RTT
Window
Time
a loss event+1 per RTT
W/2
W
简单的 MCP 控制模型
稳态情形下, MCP 的吞吐率计算
T = MSS / (RTT * sqrt (2p/3))
下一步考虑用更精确的模型 [Padhye sigcom98]进行分析
T
网络子模型
我们将网络子模型视为一个 M/M/1/B 排队模型 包到达速率为 λ 缓冲区容量为 B 个包 服务规则为 FIFO 缓冲区满时丢包( drop tail ) 缓冲区中的包通过速率为 µ 的瓶颈链路发送
Queue (B-1) Server µ Customers
M/M/1/B 模型
其他0
0/1
//11 Bk
p B
k
k
队列丢包概率:
排队论( L.Klanloc Queuing System Vol I pp.104 ,公式 3.43 ),队列中有 k 个包的概率为:
1/1
//1
B
B
Bp
无线丢包子模型
研究不同的无线丢包方式对 MCP 协议性能的影响两种丢包模型:文献 [H. Balakrishnan, V. Padmanabhan, S. Seshan, and R. Katz, A Comparison of Mechanisms for ImprovingTCP Performance over Wireless Links, IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 5, NO. 6, DECEMBER 1997]
指数丢包模型突发丢包模型
其他丢包模型( ? )
指数丢包模型
丢包由无线链路错误引起 无线链路连续两次发生错误的间隔时间 T遵从参数为的指数分布
1)(
)(
tE
etf tT
fT(t)
t
1
)(TE
突发丢包模型
丢包由无线链路错误引起丢包以突发方式产生丢包的数据间隔是随机的,均值为 64KB
每 64KB 数据发生 1 次突发丢包 每次突发丢包时的丢包数
2 packets4 packets6 packets
Using Cross-layer Info to Improve MCP Performance in Multi-hop WLAN
Cross-Layer info Packet-loss info of MAC Packet drop info of Interface Queue
between IP layer and MAC layer MCP Head
Between IP Head and TCP Head Include sequence number and drop
styles (MAC or IFQ )
Seqno
MCP Head
Drop reason
1002
Process of info transfer (WS – as sender)
1001
Seqno=1001
No. reason1001 MAC
MAC
1001
Seqno
MCP Head
Drop reason
1002
Seqno=1001
MCP Head
MAC
1002
Seqno=1001
MCP Head
MAC
1002
buffer No. Drop reason
1001 MAC
10021002 1002
Main Process (WS – as sender)
The collection and transmission of Packet Loss/Drop Info (PLDI ) The source node mainly collects the
PLDI from ACK and local MAC & IFQ The intermediate nodes buffer the PLDI
from local MAC and IFQ; and then piggyback it onto next packet
The destination node pack the PLDI of relays into ACK and send it back to the source node
The disposal of the source node when a PLDI received
Adjust CW according to MCP
ACK (WS – as sender) Three cases to confirm the packet loss in
MCP MAC packet-loss info and IFQ packet-
drop info received When MAC packet-loss info received, the source retransmit the lost packet and not reduce CW
When IFQ packet drop info received, the source retransmit the drop packet and reduce the CW to 90%
Adjust CW according to MCP ACK (WS – as sender)
Three cases to confirm the packet loss in MCP Three Duplicate ACKs
If the MAC PLDI of the packet that triggers the duplicate ACKs is already recorded in the buffer, the source node retransmit the packet and not reduce CW
If the IFQ PLDI of the packet is already recorded in the buffer, the CW will be reduced to 90% again and retransmit the packet
Adjust CW according to MCP ACK (WS – as sender)
Three cases to confirm the packet loss in MCP Timeout
If the MAC PLDI is in buffer, the source node initialize a retransmission process and not reduce CW
If the IFQ PLDI is in buffer, the CW will be set to 1 and half the threshold
Simulation scenario
9hops 100Mb/hop 450ms
11Mb100Mb 50ms
Throughput VS. Packet Error Rate
0
0. 1
0. 2
0. 3
0. 4
0. 50. 6
0. 7
0. 8
0. 9
1
0 1 2 3 4 5 6 7 8 9pa c ket error ra te %
throu
ghpu
t Mbp
s
t cp sel ect ack mcp
0
0. 2
0. 4
0. 6
0. 8
1
1. 2
1. 4
1. 6
1. 8
0 1 2 3 4 5 6 7 8 9pa c ket error ra te %
throu
ghpu
t Mbp
s
t cp sel ect ack mcp
WS – as sender WS – as receiver