The industry standard for this layer is Transmission Control Protocol/Internet Protocol (TCP/IP). Closest to thephysical layer is IP, which controls the network layer. Above this comes TCP, which controls the transport layer.
The IP and TCP layers are built up as follows:
The network layer controlled by IP is the next level up from the link layer and is responsible for finding routes through the network and sending information to the next hop in the route. Knowledge of the topology and a list of "best routes" through the network for individual computers are stored in a routing table located on each network node. The system administrator usually defines this information statically in general-purpose "gateway" computers.
One method to achieve higher availability in this layer is to implement special routing protocols that can be used to interchange information about possible routes between the network nodes. This allows the build-up of routing information dynamically, also enabling alteration of it if the structure of the network changes. In this way, network routers can pro-actively maintain information about their network.
Most general-purpose computers today do not use routing protocols, because these are held in routers. This means that the routing tables of the computers are configured statically by the system administrator. The administrator in this approach determines how each network adapter directs traffic through the network.
In some cases, especially with Microsoft Windows, the TCP timeouts are set very short. It can make sense here to increase the timeouts, so as to improve the restart capability during short-term network failures.
TCP is the transport protocol that maintains end-to-end connection between communicating partners (that is, computers).
TCP uses a sophisticated retransmission and error detection scheme. However, it can take TCP a considerable time to react appropriately to failure of the underlying network because it is designed to cope with transmission delays in wide area networks (WANs). TCP does not know about the underlying network structure, alternate routes, and so on.
An example of a typical failure scenario is as follows. When the IP layer receives a data package to be sent, it searches the internal routing table and then takes the first route matching the required criteria. If this route uses a failed network adapter, the TCP layer (see above) is either directly informed (if the adapter driver reports an error) or finds out by making numerous failed retransmissions (which can take up to 9 minutes). The IP layer itself in most implementations does not attempt to use alternate routes, even if present. In some cases (for example, Windows NT), the IP layer searches for an alternate route after the TCP session has failed. Normally, the routing table has to be deliberately changed to specify an alternate route (manually or by a script defined for this purpose).
Note that correction of faults in the higher connectivity layers (that is, network and transport) is invariably much slower than correction at the physical layer.