This wiki has been migrated to https://gitlab.com/wireshark/wireshark/-/wikis/home and is now deprecated. Please use that site instead.
Differences between revisions 4 and 13 (spanning 9 versions)
Revision 4 as of 2005-12-14 11:41:48
Size: 3326
Editor: 195
Comment: Add links to SampleCaptures
Revision 13 as of 2008-07-22 16:07:03
Size: 3859
Editor: GeraldCombs
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
The Lightweight User Datagram Protocol (UDP-Lite) ([http://www.ietf.org/rfc/rfc3828.txt RFC 3828]), which is similar to the User Datagram Protocol (["UDP"]) ([http://www.ietf.org/rfc/rfc768.txt RFC 768]), but can also serve applications in error-prone network environments that prefer to have partially damaged payloads delivered rather than discarded. If this feature is not used, UDP-Lite is semantically identical to UDP. The Lightweight User Datagram Protocol (UDP-Lite) ([[http://www.ietf.org/rfc/rfc3828.txt|RFC 3828]]), which is similar to the User Datagram Protocol ([[UDP]]) ([[http://www.ietf.org/rfc/rfc768.txt|RFC 768]]), but can also serve applications in error-prone network environments that prefer to have partially damaged payloads delivered rather than discarded. If this feature is not used, UDP-Lite is semantically identical to UDP.
Line 8: Line 8:
XXX - add a brief description of UDP-Lite history Wireless links typically have lower bit rates and higher error rates when compared to wired links. Applications such as audio/video streaming can use error-resilient codecs, but are delay-sensitive. Hence retransmission due to checksum errors is expensive. UDP Lite has been developed for these classes of applications. People have used it for streaming media, as well as video over cellphones, with good results.
Line 12: Line 12:
 * ["IP"]: Typically, UDP-Lite uses ["IP"] as its underlying protocol. The assigned protocol number for UDP-Lite is 136.  * [[IP]]: Typically, UDP-Lite uses [[IP]] as its underlying protocol. The assigned protocol number for UDP-Lite is 136.
Line 16: Line 16:
{{{Frame 1 (60 bytes on wire, 60 bytes captured) {{{
Frame 1 (60 bytes on wire, 60 bytes captured)
Line 35: Line 36:
    Checksum: 0x4620 [correct]     Checksum: 0x4614 [correct]
Line 38: Line 39:
0000 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a hello world.}}} 0000 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a hello world. }}}
Line 40: Line 41:
== Ethereal == == Wireshark ==
Line 42: Line 43:
The UDP-Lite dissector is in development as of December 2005. It rides with the ["UDP"] dissector, using an additional field for checksum coverage length. The UDP-Lite dissector is available in Wireshark 0.10.14 and up. It rides with the [[UDP]] dissector, using an additional field for checksum coverage length.
Line 50: Line 51:
 * attachment:SampleCaptures/udp_lite_full_coverage_0.pcap If coverage=0, the full packet is checksummed over.  * [[attachment:SampleCaptures/udp_lite_full_coverage_0.pcap]] If coverage=0, the full packet is checksummed over.
Line 52: Line 53:
 * attachment:SampleCaptures/udp_lite_illegal_1-7.pcap Coverage values between 1..7 (illegal).  * [[attachment:SampleCaptures/udp_lite_illegal_1-7.pcap]] Coverage values between 1..7 (illegal).
Line 54: Line 55:
 * attachment:SampleCaptures/udp_lite_normal_coverage_8-20.pcap Normal ones with correct checksums (legal).  * [[attachment:SampleCaptures/udp_lite_normal_coverage_8-20.pcap]] Normal ones with correct checksums (legal).
Line 56: Line 57:
 * attachment:SampleCaptures/udp_lite_illegal_large-coverage.pcap Three traces with coverage lengths greater than the packet length.  * [[attachment:SampleCaptures/udp_lite_illegal_large-coverage.pcap]] Three traces with coverage lengths greater than the packet length.
Line 58: Line 59:
 * attachment:SampleCaptures/udp_lite_checksum_0.pcap Checksum 0 is illegal.  * [[attachment:SampleCaptures/udp_lite_checksum_0.pcap]] Checksum 0 is illegal.
Line 61: Line 62:
A complete list of UDP-Lite display filter fields can be found in the [http://www.ethereal.com/docs/dfref/protofirstletter/proto.html display filter reference] A complete list of UDP-Lite display filter fields can be found in the [[http://www.wireshark.org/docs/dfref/protofirstletter/proto.html|display filter reference]]
Line 73: Line 74:
 * [http://www.erg.abdn.ac.uk/users/gerrit/udp-lite/ UDP-Lite] ''UDP-Lite homepage at Electronics Research Group, The University of Aberdeen''.
 * [http://www.ietf.org/rfc/rfc3828.txt RFC 3828] ''Lightweight User Datagram Protocol''.
 * [http://www.ietf.org/rfc/rfc768.txt RFC 768] ''User Datagram Protocol''.
 * [[http://www.erg.abdn.ac.uk/users/gerrit/udp-lite/|UDP-Lite]] ''UDP-Lite homepage at Electronics Research Group, The University of Aberdeen''.
 * [[http://www.ietf.org/rfc/rfc3828.txt|RFC 3828]] ''Lightweight User Datagram Protocol''.
 * [[http://www.ietf.org/rfc/rfc768.txt|RFC 768]] ''User Datagram Protocol''.
Line 77: Line 78:
 * [[http://blog.eukhost.com/2006/11/03/user-datagram-protocol|User Datagram Protocol]] ''More Info on User Datagram Protocol''

Lightweight User Datagram Protocol (UDP-Lite)

The Lightweight User Datagram Protocol (UDP-Lite) (RFC 3828), which is similar to the User Datagram Protocol (UDP) (RFC 768), but can also serve applications in error-prone network environments that prefer to have partially damaged payloads delivered rather than discarded. If this feature is not used, UDP-Lite is semantically identical to UDP.

History

Wireless links typically have lower bit rates and higher error rates when compared to wired links. Applications such as audio/video streaming can use error-resilient codecs, but are delay-sensitive. Hence retransmission due to checksum errors is expensive. UDP Lite has been developed for these classes of applications. People have used it for streaming media, as well as video over cellphones, with good results.

Protocol dependencies

  • IP: Typically, UDP-Lite uses IP as its underlying protocol. The assigned protocol number for UDP-Lite is 136.

Example traffic

Frame 1 (60 bytes on wire, 60 bytes captured)
Ethernet II, Src: 00:60:97:a0:e3:7e (00:60:97:a0:e3:7e), Dst: 00:04:75:c7:87:49 (00:04:75:c7:87:49)
Internet Protocol, Src: 139.133.204.185 (139.133.204.185), Dst: 139.133.204.176 (139.133.204.176)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
    Total Length: 40
    Identification: 0xb651 (46673)
    Flags: 0x04 (Don't Fragment)
    Fragment offset: 0
    Time to live: 64
    Protocol: UDPlite (0x88)
    Header checksum: 0xd387 [correct]
    Source: 139.133.204.185 (139.133.204.185)
    Destination: 139.133.204.176 (139.133.204.176)
Lightweight User Datagram Protocol, Src Port: 1024 (1024), Dst Port: 1234 (1234)
    Source port: 1024 (1024)
    Destination port: 1234 (1234)
    Checksum coverage: 8
    Checksum: 0x4614 [correct]
Data (12 bytes)

0000  68 65 6c 6c 6f 20 77 6f 72 6c 64 0a               hello world. 

Wireshark

The UDP-Lite dissector is available in Wireshark 0.10.14 and up. It rides with the UDP dissector, using an additional field for checksum coverage length.

Preference Settings

  • Ignore checksum coverage (default:TRUE) - Ignore the fact that the checksum coverage value is invalid and the datagram should be dropped.

Example capture file

Display Filter

A complete list of UDP-Lite display filter fields can be found in the display filter reference

  • Show only the UDP-Lite based traffic:

     udplite 

Capture Filter

  • Capture only the UDP-Lite traffic:

     ip proto 136 

Discussion

Lightweight_User_Datagram_Protocol (last edited 2008-07-22 16:07:03 by GeraldCombs)