Hi,
Cyclic Redundancy Checks (CRC) is a subset of Forward error correction
codes. CRCs can detect errors, but with CRCs you can actually correct
errors as well. (If I am correct, CRCs are actually called BCH codes.
Normally if you can detect 2t errors with a Code, the Code will be
able to correct t errors, given that t or less errors occured)
I have looked at Packet Erasure Codes. Any FEC code can be used as a
Packet Erasure Code. The basic idea is that you take k data packets,
use a "mathematical recipe" and calculate h extra packets. You then
transmit the n = h + k packets over the network. Any h or less
packets can be dropped, and from the received packets you can
reconstruct the original k data packets. The major advantage of
packet erasure codes is that the recovery usually is a lot faster than
retransmission techniques, like ARQ. (For normal file transfer, have a
look at
www.digitalfountain.com )
The Technology experts at the Telco (who also gave me the bursary) say
that errors on modern networks are very low (with probability
10^(-6)), so that it is not advisable to consider correcting these
errors.
It would be great to find a scenario where Packet erasure codes could
be used to alleviate the effect of congestion errors, i.e., packets
dropped due to buffer overflow, especially of high priority data. The
major disadvantage of packet erasure codes is that extra packets need
to be transmitted and in an already congested environment, this can
sometimes cause more trouble than helping.
However, when protecting only high priority data, this can help to
recover packets that might be dropped, due to congestion or network
errors.
A possible setup suggested by many authors was to encode the packets
of a source at the application layer, send the data over the network,
and decode the packets at the sink at the application layer. Some
also suggested that a PEC (packet erasure code) can be implemented at
the lower layers. The best performance "theoretically" would be
gained when the encoding and decoding is separated by the maximum
amount of network hops. A lot of research has gone into PEC codes
before LLQ. The researchers thought that this could be an answer to
packet loss in Best Effort networks.
Is there some chance that the classifier of an LLQ router can drop
high priority data "unintentionally" when the outgoing rate of this
class is still below the allocated bandwidth, due to a burst of data
received? (I.e., can the classifier be "overwhelmed" by a big burst
of incoming data?)
Thank you very much for the help thus far, I have learned a lot
Jaco
"Ben" <> wrote in message news:<YMimc.22667$>...
> I would tend to think they are different functionality but I don't know a
> lot about FEC.
>
> Is FEC really just an advanced form of CRC check that can not only determine
> errors, but repair them?
>
> In that case, where would it be implemented? Between two routers on WAN link
> that traverse a service-providers switched network?
> Or within the service-provider's network at each switch?
>
> What I am getting at is that LLQ is dealing specifically with queueing...a
> method for assigning traffic to a software queue if and only if the
> interface's hardware queue is full (indicating congestion).
>
> Quality of Service is a general term and incorporates queueing but also
> classifying, marking, policing and shaping traffic. From that point of view
> FEC could be considered a complementary QoS feature - another method of
> guaranteeing quality. But I am not really sure how it explicitly relates to
> queueing as such...
> Unless you were to relate FEC to classification (really a separate process
> to queueing that LLQ "notices"). For example you might only employ FEC on
> high priority data.
>
> However, I guess there are two types of data loss, intentional (for want of
> a better word) and unintentional. Intentional occurs because of congestion,
> unintentional occurs due to some form of corruption en route or from a
> malfunctioning interface. Only one discriminates between high and low
> priority data. Congestion usually occurs at points of aggregration,
> corruption occurs due to malfunctioning hardware or cable interference.
>
> Would FEC deal with the latter, or both? If dealing with corruption only,
> there would no way to discriminate - the packet markings themselves could be
> corrupted.