This paper serves as a tutorial lecture on the use of network coding to provide resource efficient, and agile proactive protection. Network coding, which was introduced in [1], allows intermediate network nodes to form linear combinations of packets received on different input links. The use of network coding results in capacity enhancement. This capacity enhancement is used to provide protecti...