Paper
review: TCP Congestion Control with a
Misbehaving Receiver
Reviewer:
Kevin Hofstra
- How can an end to end session
be modified to create no incentive for a malicious node to attempt to
decrease their reaction to congestion control? Should this take place on the sender or
receiver side? What functions of
the current TCP are susceptible to modification and what are the ways of
changing them?
- A comparative analysis of
several distinct modifications to TCP and an evaluation of how they can be
made less attractive or ineffective.
A study of different changes that can be made to TCP that create little additional overhead, yet are able to
prevent evading of congestion control.
- A. The different types of vulnerabilities
in TCP (Method):
i.
ACK Division
(the receiver divides the
acknowledgements into m pieces, each of which causes congestion window to grow
m times as fast)
ii.
DupACK spoofing
(the receiver sends back multiple
acknowledgements for each received packet, causing the rate of transmission to
be increased)
iii.
Optimistic ACKing
(the receiver acknowledges a packet
before it has been received so that the next packet can be sent even before the
other has arrived. A shorter RTT will
increase the throughput)
- Solutions to their respective
problems
i.
ACK Division-
only increment cwnd when a valid ack arrives covering the entire window
ii.
DupACK spoofing- Create a Nonce field and only increase cwnd when recieveing an ACK with
a nonce reply value that was sent and not yet received.
iii.
Optimistic ACKing- A cumulative nonce
value that ensures that the receiver has received all segments up to that
point. They must add nonces
of each of those packets received in order to acknowledge them.
- These mechanisms must be done
at the sender end because it is the receiver that will gain from the added
throughput. In the internet it is
the receiver (end user web browser) would like the packets faster, and it
is in the interest of the sender that congestion would be avoided since he
does not gain from sending out more throughput than congestion would
allow.
- Critique the main
contribution
- Significance- 4
This is a problem that could see a lot growth
with open source, and it must be implemented on the sending end since the
receiving end has incentive to avoid TCP congestion control.
- Convincing- 3 The ideas for prevention are not very concrete, and
though they sound good in theory, look much harder to implement in
practice. The paper was more able
to suggest ideas for prevention then actually implementing them.
- System researchers and
builders should recognize that prevention of modification of TCP
congestion control can only be prevented by reducing the incentive. The sender must foresee the receiver
wishing to increase the throughput past its congestion control, and not
allow it to falsely indicate what it is actually receiving.