We consider the model of unreliable network links, where at each time unit a link might be either up or down. We consider two related problems. The first, establishing end to end communication between two given nodes, where the performance measure is the average number of times the chosen path was disconnected. The second, is to build a spanning tree rooted at a given source node, where the performance measure is the average number of nodes that are the disconnected from the source. For both problems we design competitive algorithms.