Packet loss can occur in a stream from a server to client
because of network congestion, router problems, and so on. Packets
are also considered to be lost if they arrive too late for the
client to play them on time. There are several ways to monitor
packet loss.
Tracking packet loss using a log file
You can use a log file to determine if any packets were lost,
where the loss occurred, and if any of the lost packets were
recovered. The following log file fields help you determine if
packet loss occurred:
s-pkts-sent. This is the number of content packets sent
by the server to a connected client. The value does not include TCP
or UDP packets. This field contains a hyphen (-) in remote cache
client logs propagated from the cache/proxy server to the origin
server and in multicast log files.
c-pkts-received. This is the number of packets from the
server (s-pkts-sent) that are received correctly by the client on
the first try. Packets that are not received correctly on the first
try can be recovered if they are resent through the UDP protocol.
Packets that are not recovered through UDP resend are considered
lost in the network. You can recover these packets if error
correction is enabled. The value does not include TCP or UDP
packets.
c-pkts-lost-client. This is the number of packets lost
that were not recovered at the client layer through error
correction or at the network layer through UDP resends, during
transmission from server to client. These packets are sent by the
Windows Media server but never played by the client. The value does
not include TCP or UDP packets.
c-pkts-lost-net. This is the number of packets lost on
the network layer. You can still recover these packets if error
correction is enabled. The value does not include TCP or UDP
packets.
c-pkts-lost-cont-net. This is the maximum number of
continuously lost packets on the network layer during transmission
from server to client. If the value is high, the network conditions
were bad, with long periods of time during which the client
received no packets. The value does not include TCP or UDP
packets.
c-resendreqs. This is the number of client requests to
receive new packets. This field contains a zero unless the client
is using UDP resend.
c-pkts-recovered-ECC. This is the number of packets lost
in the network (c-pkts-lost-net) that were repaired and
recovered at the client layer because error correction was enabled.
Error correction is the only means of packet recovery for multicast
streams. Packets repaired and recovered at the client layer are
equal to the difference between c-pkts-lost-net and
c-pkts-lost-client. The value does not include TCP or UDP
packets.
c-pkts-recovered-resent. This is the number of packets
recovered because they were resent through UDP. The value does not
include TCP or UDP packets. This field contains a zero unless the
client is using UDP resend.
Tracking packet loss using the WMS Archive Data Writer
plug-in
When packets are lost during the streaming or archiving process,
the WMS Archive Data Writer plug-in will post a warning message to
the Troubleshooting tab in Windows Media Services to report
the amount of loss. The plug-in must be enabled in order for the
warning to be sent.
Tracking packet loss by observing archiving behavior
If the content stream being received by your server is
interrupted by packet loss for a period greater than two seconds,
the WMS Archive Data Writer plug-in will stop archiving and begin
archiving to a new file when the incoming stream resumes. The
presence of several small archive files is an indicator that packet
loss is occurring during your broadcast.