320 likes | 447 Views
Congestion Control, the Internet Transport Protocols, and UDP. By: Mike Krupinski and Jaesma Woods. Scenario:. Other angry driver. Angry driver. What is congestion control:. Controlling congestion relating to packet transfers over a network.
E N D
Congestion Control, the Internet Transport Protocols, and UDP By: Mike Krupinski and Jaesma Woods
Scenario: Other angry driver Angry driver
What is congestion control: • Controlling congestion relating to packet transfers over a network. • If too many packets are sent at once, then you have a problem. • Oh no.
How is this achieved? • Bandwidth should be properly allocated • Well measured goodput
Efficiency and Power: • An efficient allocation of bandwidth uses all network capacity. • Use of goodput (rate of useful packets arriving at receiver) • As load increases, goodput increases • Power will rise with the offered load. • Power = load/delay • Proposed by Kleinrock
Max/Min Fairness • Definition: bandwidth given to one flow cannot be increased without decreasing the bandwidth given to another flow with an allocation that is no larger (Really long defintion).
Convergence and sending rate: • The ideal operating point of a network varies over time. • Sending rate may be limited by two factors: flow control and congestion • Ex: A guy at the post office gets too much mail. He freaks out and storms out. A lot of mail is lost because of this. Plus, he hates his job.
Wireless Issues: • High throughput requires very little packet loss • Sender may not be aware of wireless links if all he knows is a wired link. • Internet paths are hectic because there is no simple way to tell what links are being used.
Internet Transport Protocols: UDP • Two main protocols: • Connectionless • Connection-oriented • They complement one-another • The connectionless protocol is UDP, so it just sends stuff. • The connection-oriented protocol is TCP, so it does all the work. In other words, it’s the guy that takes up the slack.
What is UDP? • An acronym for User Datagram Protocol • Provides a way for apps to send encapsulated IP datagrams w/o a connection. • Transports segments consisting of 8-byte header followed by payload • Ports act as identifiers for end points within starting and ending machines
Source Port vs. Destination Port • Source port is the incoming segment • Destination port handles outgoing segment • The UDP length of the packet includes header and data • Min is 8 bytes • UDP DOES NOT: • Handle flow control • Handle congestion control • Handle retransmission
Remote Procedure Call: • Information can be transported from the caller to callee in the parameter and come back in procedure result • Calling procedure is known as client • Called procedure is known as server • Calling remote procedures must have lib. Procedure known as client stub • Server must have a procedure known as server stub.
Real Time Transport Protocols • Examples would be Internet Radio, music-on-demand, videoconferencing, video-on demand.
RTP Contd. • Purpose is to multiplex several real-time data streams on single streams of UDP packets. • Packets aren’t treated by routers • Each packet is given higher number than last. • Incorporates time stamping • Associates time stamp with first sample in each packet.
Questions Part One: • 1. What is the formula for power? • 2. What are some wireless issues? • 3. What is UDP? • 4. What is RTP and what are some examples? • 5. What are the two main protocols of the Internet?
Oh look!!! A video!!! Let’s watch! http://www.youtube.com/watch?v=Ox8D2YBRIrQ
RTCP: Real time Transport Control Protocols • Handles feedback, synchronization, and the user interface • Does not transport media samples • First function is handling feedback on delay or bandwidth congestion
Buffering and Jitter Control: • Jitter is the variation in delay • Solution is to buffer the data • Two solutions in scenarios: • Packet can be skipped • Playback can be paused until the packet arrives • Ex: Watching a slow video on Youtube
Playback Point: • How long to wait at the receiver for media before playing it out. • High jitter may need to be further out. • Incorporation of talkspurts can assist with avoiding delay • Used in pauses in video/audio
Transmission Control Protocol: • Designed to provided reliable end-to-end byte stream over an unreliable network. • Different networks provide different layouts so this presents great challenges • TCP must adapt to these changes
TCP Service Model • End points in the model are known as sockets • Each socket has a number and a sixteen bit number known as a port • A socket may be used for multiple connections at the same time. • Port numbers below 1024 are reserved for standard services.
Internet Daemons • May attach itself to multiple ports and wait for first incoming connection • System administrators often set up permanent daemons on ports • All TCP connections are full duplex and point-to-point which means traffic can go in both directions or has exactly two end points.
Byte Streams: • TCP connections are byte streams • Message boundaries are not preserved end to end • It may split packets into chunks in various numeric forms. • Files in UNIX often follow this concept
Urgent data: • Focuses priority on a certain connection • Data is flagged with an Urgent Flag, which prioritizes the data • Everything is transmitted into the particular data.
TCP Segments and MTUs • A TCP segment consists of a fixed twenty byte header • Followed by zero or more data bytes • A MTU (Maximum Transfer Unit) is measured in 1500 bytes • Defines upper bound on segment size
TCP Connection Establishment: • Server • Client • Destination • These tree must have a three-way agreement between one another.
TCP Sliding Window: • Measured in how much data is buffered for the sender so he can send more data. • Window probe: Used to prevent deadlock if a window update is ever lost. • Senders are not required to send data as soon as they come from application.
TCP Congestion Control: • Congestion occurs when load is too much to handle • TCP maintains congestion window, whose size is the number of bytes the sender may have in the network. • Congestion collapse occurs when goodput drops precipitously.
TCP Implementation: • TCP uses selective acknowledgements known as SACK, which lists ranges of received bytes. • Allows sender to more directly decide what packets to retransmit. • SACK is strictly advisory information. • TCP can use SACK to recover more easily from situations.
Questions Part 2: • What is SACK? • What is Urgent Data? • What does RTCP Stand For? • What is Buffering?