When congestion cannot be controlled by using any of the algorithms then routers will opt out for load shedding. When the routers are inundated by packets that they cannot tackle, packets will be thrown. Routers drowning in packets will just pick randomly to drop. Which packets to be dropped are dependent on the applications running.For file transfer, an old packet is worth more than a new one because dropping packet 6 and keeping packets 7 through 10 will cause a gap at the receiver that may force packets 6 through 10 to be retransmitted (if the receiver routinely discards out-of-order packets). In a 12-packet file, dropping 6 may require 7 through 12 to be retransmitted, whereas dropping 10 may require only 10 through 12 to be retransmitted. In contrast, for multimedia, a new packet is more important than an old one. The former policy (old is better than new) is often called wine and the latter (new is better than old) is often called milk.
In this, its very much required for sender to cooperate. For many applications, some packets are more than others. For example: some algorithm for compressing a video, after a specific interval transmits the complete frame and then subsequent frames as differences from the last frame. In this case, dropping a packet which contains the difference is preferable then dropping one that is part of the full frame.
Application must mark their packets in priority classes to tell how important those are. With this, router will be pick the packets which are marked as lowest class for discarding. Another option is to allow hosts to exceed the limits specified in the agreement negotiated when the virtual circuit was set upbut subject to the condition that all excess traffic be marked as low priority. Such a strategy is actually not a bad idea, because it makes more efficient use of idle resources.