com594 tcp and wireless: unforeseen consequences

12
COM594 TCP and Wireless: Unforeseen Consequences

Upload: muriel-white

Post on 29-Dec-2015

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: COM594 TCP and Wireless: Unforeseen Consequences

COM594

TCP and Wireless: Unforeseen Consequences

Page 2: COM594 TCP and Wireless: Unforeseen Consequences

TCP

• Connection-Oriented protocol• Transmitter (Client) Establishes a connection

with the receiver (Server)• Transmits packets in sequence• Expects acknowledgement (ACK) packets in

the same sequence• Uses a Sliding-window buffer mechanism.

Page 3: COM594 TCP and Wireless: Unforeseen Consequences

TCP Behaviour (1)

• When a packet is transmitted on a network there are generally three possibilities1. It gets to its intended destination intact

or2. It gets to its destination, but the receiver is too

busy to process it, so it ‘dies on the wire’– This scenario is known as Congestion– i.e. the receiver is overloaded and has no buffer

storage available, so it drops packets

Page 4: COM594 TCP and Wireless: Unforeseen Consequences

TCP Behavior (2)

• When this happens, TCP implements a response protocol at the transmitter– It slows down and transmits fewer packets– This is perfectly logical if congestion is happening– There are different details possible but the overall

behaviour is that TCP implements a ‘Slow-Start’ algorithm

• This scenario is common in Wired-networks’• i.e. where the physical layer is implemented by

real cables!

Page 5: COM594 TCP and Wireless: Unforeseen Consequences

TCP Behaviour (3)

• A simulation of TCP in action can be viewed at:• http://www.cs.stir.ac.uk/~kjt/software/comms

/jasper/TCPcs.html

Page 6: COM594 TCP and Wireless: Unforeseen Consequences

TCP Behaviour (4)

• The third possibility is that the packet never gets to its destination at all

• It gets destroyed by Noise or Interference• This happens all the time when the physical

layer is Wireless.• Wireless is ‘Noisy’• Wireless is ‘Lossy’• Can you see the problem here ????

Page 7: COM594 TCP and Wireless: Unforeseen Consequences

TCP and Wireless

• If TCP stops receiving ACK packets due to congestion then the best response is to slow down:

• Slowing down gives the receiver time to deal with the high packet demand

• When this clears, it will start being able to respond again.

Page 8: COM594 TCP and Wireless: Unforeseen Consequences

TCP and Wireless

• If TCP stops receiving ACK packets due to physical transmission loss, then the best response is to speed up.

• i.e. send the packets again as quickly as possible.

• Slowing down in this circumstance leads to very poor network performance

Page 9: COM594 TCP and Wireless: Unforeseen Consequences

TCP and Wireless

• This has generated a very difficult problem• The correct response at the Transport Layer

now depends on the implementation medium at the physical layer

• How is the Transport layer to ‘know’ if the physical layer is wired or wireless???

Page 10: COM594 TCP and Wireless: Unforeseen Consequences

• How any particular layer implements its service is completely transparent to any other layer.

• However, now, in practice, if a physical layer (or even part of a physical layer), is implemented as a wireless link, the standard TCP algorithms will generate very poor service for the client

Page 11: COM594 TCP and Wireless: Unforeseen Consequences

TCPLayer Independence

• In fact this breaks the ‘golden rule’ of Abstraction:

• In a layered protocol, each layer is completely independent from any other layer

• Each layer receives a service from the layer beneath it

• Each layer delivers a service to the layer above it

Page 12: COM594 TCP and Wireless: Unforeseen Consequences

Unforeseen Consequences

• The reason for this circumstance is that TCP was designed to ‘assume’ that data or packet loss must be due to congestion.

• No other possibility was considered in the original concept.

• There is no easy solution to this problem• We will see others like this during the module!