1 / 42

Networked & Distributed Systems

University of Glamorgan. Networked & Distributed Systems. TCP/IP Transport Layer Protocols UDP and TCP. What do I cover?. what is left from TCP/IP Protocols: Transport Layer Protocols UDP TCP in more details Upper layer protocols (RARP), BOOTP, DHCP DNS Application Layer Protocols

Download Presentation

Networked & Distributed Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. University of Glamorgan Networked & Distributed Systems TCP/IP Transport Layer Protocols UDP and TCP

  2. What do I cover? what is left from TCP/IP Protocols: • Transport Layer Protocols • UDP • TCP in more details • Upper layer protocols • (RARP), BOOTP, DHCP • DNS • Application Layer Protocols • Telnet, FTP (TFTP), SMTP (POP3)

  3. Transport Layer Protocols TCP and UDP

  4. Transport Layer Protocols • 2 main protocols TCP & UDP • TCP – transmission control protocol • Connection oriented • Reliable –sequence of numbered segments & acknowledgments with any required re-transmissions • Flow control – sliding windows • UDP – user datagram protocol • Connectionless • Unreliable delivery of single segments (datagrams) • Errors detected but not corrected (No acks)

  5. TCP/UDP analogies • TCP as a telephone call • Make a connection – ring number • Verifies connectivity • Use connection – communicate • Reliability “can you repeat that please?” • Flow control – normal human courtesy • Close connection – receiver down • UDP as a letter • Write it, address it, post it, hope it gets there

  6. TCP vs UDP • Relative merits • TCP • Reliable • High network overheads • Complex and large software • UDP • Unreliable (may not be a problem) • Low network overheads • Simple and small software

  7. When to use UDP • Use TCP unless there is a reason for UDP • Possible reasons to use UDP • When the network efficiency is needed (SNMP) • When the sw simplicity is needed (Bootstrap loading) • When the reliability of TCP is counter-productive (Stream audio/video)

  8. User Datagram Protocol (UDP) • UDP and the TCP/IP layered model • UDP message format • UDP and encapsulation • UDP checksum

  9. UDP And The TCP/IP Layered Model

  10. Multiplexing and Demultiplexing –1

  11. Multiplexing and Demultiplexing –2

  12. How Do We Allocate Port Numbers? • Well known port numbers • Dynamic binding

  13. Port numbers • 0 to 255 public port numbers • 256 to 1023 assigned to companies for • their own marketable apps • 1024+ unregulated

  14. Examples of public ports

  15. UDP Message Format

  16. UDP and Encapsulation

  17. UDP Checksum • Optional checksum calculated on • UDP datagram • UDP pseudo-header • Does this violate layering?

  18. UDP Checksum

  19. Differences between TCP & UDP

  20. Properties of a Reliable Delivery Service • Stream Orientation – Application just transfers a stream of bytes • Virtual Circuit Connection – Is TCP VC? • Buffered Transfer – TCP decides what size TCP messages are, not user • Unstructured Stream – There is no structure in the stream of bytes as far as TCP is concerned • Full Duplex Connection – Can transfer data in both directions simultaneously and independently

  21. Positive Acknowledgement A Simple Example

  22. Positive Acknowledgement Packet Doesn’t Arrive

  23. Positive Acknowledgement ACK Doesn’t Arrive

  24. Round Trip Time (RTT)

  25. Round Trip Time (RTT)Estimate too low

  26. Round Trip Time (RTT)Estimate too high

  27. Sending Multiple Packets • Receiver may not be able to process packets as fast as they arrive • In fact ACK’s serve at least 3 different purposes • Recovery from lost packets • Limit the rate at which sender can send packets • Control congestion in the network • Compromise solution is required: The Sliding Window

  28. Sliding Windows – Example • Given a window size = 6 packets • A has sent packets 1 to 7 • A has received ACK’s 1 to 4

  29. Sliding Windows ACK Received • A receives ACK 5 and the window slides to the right

  30. Sliding Windows Packet 8 sent • A sends Packet 8 and the window remain unchanged

  31. Sliding Windows Packet 9 sent • A sends Packet 9 and the window remain unchanged

  32. Sliding Windows Packet 6 ACK-ed • A receives ACK for Packet 6 and the window slides to the right

  33. Sliding Windows Packet 6 ACK-ed • A sends packets 10, 11, and 12. No ACK received  no more packets can be sent.

  34. Sliding WindowsWindow size? Different protocols fix the window size in different ways • Fixed by protocol specification • Agreed when connection established • Adjusted whilst connection in progress (Demo is given later)

  35. Sliding Windows Missing ACK’s ? • With just one outstanding ACK it was easy. If A doesn’t get an ACK it sends the packet again • With several ACK’s outstanding it gets much more complicated • What does A do when it detects a missing ACK? • What does B do when it detects a missing packet? • Different protocols use different solutions

  36. Sliding Windows Missing ACK’s ? • There are two “extreme” positions • When something goes missing A resends every packet starting with the first unacknowledged packet. This is called Go-Back-N. • When something goes missing A & B co-operate to just resend those packets B hasn’t received. This is called Selective Retransmission.

  37. TCP Encapsulation

  38. TCP Header

  39. TCP Header Fields • Source Port : Port number of sender of segment • Destination Port : Port number of intended recipient • Sequence Number : TCP uses byte numbersnot packet numbers • Acknowledgement Number : Number of the byte the sender of this segment expects next • Window : The size of the sliding window in bytes • Checksum : Just like the UDP checksum • Control bits : Special purpose bits • Data : User data

  40. Usage of SEQ-ACK-WIN FieldsExample

  41. TCP is Complicated • RFC 793 is over 90 pages long – but doesn’t cover everything • There are a number of additional RFC’s covering various aspects of TCP • There are a number of “reference implementations” which have performance enhancing features • There is no single TCP specification

  42. Next : TCP continues • Establishing A TCP Connection • Timeouts and Retransmission • Congestion • Push • Silly Window Syndrome • Closing A TCP Connection

More Related