A system and method for transmitting IP packets arranged in an L.times.D
matrix comprising data packets and L number of FEC packets, L
corresponding to a number of columns in the matrix, and D corresponding
to a number rows in the matrix includes assigning a first location in the
matrix as an FEC packet location, skipping D number of locations in the
matrix from the most recently assigned FEC packet location to a new
location, and determining if the new location is positioned in the same
column as an existing FEC packet location. The new location is assigned
as an FEC packet location if it is determined that the new location is
not positioned in the same column as an existing FEC packet location. If
it is determined that the new location is positioned in the same column
as an existing FEC packet location, then the location is moved back in
the matrix until the moved-back location is not positioned in the same
column as an existing FEC packet location, and the moved-back location is
assigned as an FEC packet location. The skipping, determining, assigning,
and moving back are repeatedly performed until the number of FEC packet
locations is equal to L. The FEC packets protecting the D previous IP
packets in the same column are transmitted in accordance with the
identified FEC packet locations.