Abstract :
A network is a collection of components cooperating to move data. In traditional networks, any malicious component can do much damage. For instance, a malicious router can lie about its connections, flood the network with data, or do the routing protocol correctly, but then fail to forward data properly, perhaps forwarding for some sources and not for others. This tutorial will cover failure modes of traditional forms of networks (spanning tree, distance vector, link state, path vector), and designs of more resilient networks, ranging from self-stabilizing networks to networks that will continue to work even when some of the trusted components have been arbitrarily compromised ("Byzantine failures"). It also covers techniques to minimize the need for configuration, and limit damage due to misconfiguration.