  A common definition of a robust connection between two nodes in a network
such as a communication network is that there should be at least two
independent paths connecting them, so that the failure of no single node in the
network causes them to become disconnected. This definition leads us naturally
to consider bicomponents, subnetworks in which every node has a robust
connection of this kind to every other. Here we study bicomponents in both real
and model networks using a combination of exact analytic techniques and
numerical methods. We show that standard network models predict there to be
essentially no small bicomponents in most networks, but there may be a giant
bicomponent, whose presence coincides with the presence of the ordinary giant
component, and we find that real networks seem by and large to follow this
pattern, although there are some interesting exceptions. We study the size of
the giant bicomponent as nodes in the network fail, using a specially developed
computer algorithm based on data trees, and find in some cases that our
networks are quite robust to failure, with large bicomponents persisting until
almost all vertices have been removed.
