Network coding a relatively new area of research has evolved from the theoretical level to become a tool used to optimize the performance of communication networks wired cellular ad hoc etc. The idea consists of mixing packets of data together when routing them from source to destination.