com594 tcp and wireless: unforeseen consequences
TRANSCRIPT
![Page 1: COM594 TCP and Wireless: Unforeseen Consequences](https://reader036.vdocuments.us/reader036/viewer/2022082505/56649e755503460f94b767c8/html5/thumbnails/1.jpg)
COM594
TCP and Wireless: Unforeseen Consequences
![Page 2: COM594 TCP and Wireless: Unforeseen Consequences](https://reader036.vdocuments.us/reader036/viewer/2022082505/56649e755503460f94b767c8/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082505/56649e755503460f94b767c8/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082505/56649e755503460f94b767c8/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082505/56649e755503460f94b767c8/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082505/56649e755503460f94b767c8/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082505/56649e755503460f94b767c8/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082505/56649e755503460f94b767c8/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082505/56649e755503460f94b767c8/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082505/56649e755503460f94b767c8/html5/thumbnails/10.jpg)
• 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](https://reader036.vdocuments.us/reader036/viewer/2022082505/56649e755503460f94b767c8/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082505/56649e755503460f94b767c8/html5/thumbnails/12.jpg)
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!