This paper describes the principles of a few types of erasure codes, and analyzes their merits, drawbacks and relationships systematically. It is shown that if MDS codes are chosen as erasure codes, a receiver can reconstruct the original source data once it receives any portion of the encoding data equal to the length of the message. The analysis shows that loss-resilient codes and Tornado codes can not only be both encoded and decoded successfully in linear time, but also can come arbitrarily close to the channel capacity. Finally, some problems on loss-resilient codes which remain to be solved are presented. These analyses and conclusions provide theoretical base and new ideas for further studying erasure codes.