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 12 and 13
Revision 12 as of 2008-07-22 10:37:33
Size: 4
Editor: 202
Comment:
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 1: Line 1:
## ##language:en
= Lightweight User Datagram Protocol (UDP-Lite) =

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.

== 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 ==

 * [[attachment:SampleCaptures/udp_lite_full_coverage_0.pcap]] If coverage=0, the full packet is checksummed over.

 * [[attachment:SampleCaptures/udp_lite_illegal_1-7.pcap]] Coverage values between 1..7 (illegal).

 * [[attachment:SampleCaptures/udp_lite_normal_coverage_8-20.pcap]] Normal ones with correct checksums (legal).

 * [[attachment:SampleCaptures/udp_lite_illegal_large-coverage.pcap]] Three traces with coverage lengths greater than the packet length.

 * [[attachment:SampleCaptures/udp_lite_checksum_0.pcap]] Checksum 0 is illegal.

== Display Filter ==
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]]

 Show only the UDP-Lite based traffic: {{{
 udplite }}}

== Capture Filter ==

 Capture only the UDP-Lite traffic: {{{
 ip proto 136 }}}

== External links ==

 * [[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://blog.eukhost.com/2006/11/03/user-datagram-protocol|User Datagram Protocol]] ''More Info on User Datagram Protocol''
== Discussion ==

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)