Network coding theory: An introduction