Chapter 10 User Datagram Protocol (UDP)

Chapter 10 User Datagram Protocol (UDP)

CSC521 – Communication Protocols 網路通訊協定 Chapter 10 User Datagram Protocol (UDP) 吳俊興 國立高雄大學 資訊工程學系 Internetworking With TCP/IP, Vol I: Sixth Edition, Douglas E. Comer Outline 1 Introduction 2 Using A Protocol Port As An Ultimate Destination 3 The User Datagram Protocol 4 UDP Message Format 5 Interpretation Of the UDP Checksum 6 UDP Checksum Computation And The Pseudo-Header 7 IPv4 UDP Pseudo-Header Format 8 IPv6 UDP Pseudo-Header Format 9 UDP Encapsulation And Protocol Layering 10 Layering And The UDP Checksum Computation 11 UDP Multiplexing, Demultiplexing, And Protocol Ports 12 Reserved And Available UDP Port Numbers 13 Summary 2 Identification Problem • Identifying The Ultimate Destination – A destination address identifies a host computer; no further distinctionis made regarding which user or which application program will receive the datagram • IP address only specifies a computer • Need a way to specify an application program (process) on a computer – Unfortunately • Application programs can be created and destroyed rapidly • Each operating system uses its own identification • Specifying An Application Program – TCP/IP abstracts destination point known as protocol port number – Each OS determines how to bind protocol port number to specific application program 3 User Datagram Protocol (UDP) • Features – Transport-layer protocol (Layer 4) • Connectionless service: provides application programs with ability to send and receive messages • Allows multiple, application programs on a single machine to communicate concurrently – Same best-effort semantics as IP • Message can be delayed, lost, or duplicated • Messages can arrive out of order – Application accepts full responsibility for errors • examples: DNS, DHCP, SNMP, NFS • Added Benefit – The User Datagram Protocol (UDP) provides an unreliable connectionless delivery service using IP to transport messages between machines – It uses IP to carry messages, but adds the ability to distinguish among multiple destinations within a given host computer 4 Position Of UDP In Protocol Stack UDP lies between applications and IP 5 UDP Message Format • Port Numbers In A UDP Message – SOURCE PORT identifies application on original source computer – DESTINATION PORT identifies application on ultimate destination computer • UDP CHECKSUM (Optional for IPv4, Required for IPv6) – UDP Pseudo-Header + UDP Message (header+payload) + 0-padding to multiple of 16 bits – IPv4: If the field contains zeroes, receiver does not verify the checksum • Note: IP addresses of source and destination do not appear explicitly in header 6 UDP Pseudo-Header • UDP Pseudo-Header – Used when computing or verifying a checksum – Temporarily prepended to UDP message – Contains items from IP header – Guarantees that message arrived at correct destination – Note: pseudo header is not sent across Internet • Format – specify IP address of sending and receiving computers • SOURCE ADDRESS and DESTINATION ADDRESS – UDP Length – PROTO for IPv4 or NextHeader for IPv6 from the IP datagram header 7 UDP Pseudo-Header Format IPv4 IPv6 8 UDP Encapsulation • Division Of Duties Between IP and UDP The IP layer is responsible for transferring data between a pair of hosts on an internet, while the UDP layer is responsible for differentiating among multiple sources or destinations within one host – IP header only identifies computer – UDP header only identifies application programs 9 UDP Port Numbers • Used for Demultiplexing • Assignment – Small numbers reserved for specific services • Called well-known ports • Same interpretation throughout the Internet • Used by server software – Large numbers not reserved • Available to arbitrary application program • Used by client software 10 Examples Of Assigned UDP Port Numbers 11 Summary • User Datagram Protocol (UDP) provides connectionless, best- effort message service • UDP message encapsulated in IP datagram for delivery • IP identifies destination computer; UDP identifies application on the destination computer • UDP uses abstraction known as protocol port numbers 12 Discussions • Why UDP? – Comparing with TCP – Why not directly use IP? • Why, or why not, build protocol ports into IP? • Why not use process identifiers instead of protocol ports? • Why not use a single checksum for the complete IP datagram including the UDP message? 13.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    13 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us