Network coding is an elegant and novel technique introduced at the turn of the millennium to improve network throughput and performance. It is expected to be a critical technology for networks of the future. This tutorial addresses the first most natural questions one would ask about this new technique: how network coding works and what are its benefits, how network codes are designed and how much it costs to deploy networks implementing such codes, and finally, whether there are methods to deal with cycles and delay that are present in all real networks. A companion issue deals primarily with applications of network coding.
Network Coding Fundamentals reviews the basic techniques with emphasis on multicasting over error free links. It starts from the main theorem in network coding, and proceeds to discuss tools used in the context of network coding, network code design techniques, benefits, complexity requirements, and methods to deal with cycles and delay. Network Coding Fundamentals is an introduction to the basic concepts and results in network coding. It also serves as an excellent review the state of the art in a number of topics and provides pointers to open research directions.