As IP is a connection less, a router reserve communication resources or memory in advance of receiving datagram. Hence routers can be overrun with traffic. This situation is called network congestion or simply congestion.
Congestion arises because of two reasons:
When datagram arrive at host or router to process at faster rate, it enqueues them in memory temporarily. So for small bursts temporary memory solves the problem. But if the traffic continues the memory will be exhausted and result in discarding the datagram. A machine uses icmp source quench messages to report to the original source. It is request for the source to reduce its current rate of the datagram transmission.
ROUTE CHANGE REQUESTS FROM ROUTERS: - Routers are assumed to know the correct routes. Host begins with minimal routing information and learn new routes from routers. Hosts initialized the internet routing tables from a configuration file at system startup, system administrators make routing changes during normal operations.
Whenever the network topology changes, routing tables in routers or host may become incorrect. Routers exchange routing information periodically to accommodate network changes and keep their routes up to date.
When a router detects a host using non optimal route, it sends the host on icmp message called redirect, requesting that the host must change its route to that specific destination. The router also forwards the original datagram.
DETECTING CIRCULAR OR LONG ROUTERS: - Internet routers use routing table & error in routing table can produce routing cycle. A routing cycle can consists of two or more routers in which the datagram is circulated among themselves only. Once a datagram enters a routing cycle it will pass around the cycle endlessly. To prevent this each datagram consists of time to five field in IP header. Sometimes it is also referred to as HOP count. A router decrements this time to live counter when ever it process a datagram and discards the datagram when this counter hits zero.
Whenever a datagram is discarded by a router because of router time out if sends on icmp time exceeded message back to the source of the discarded datagram.