0

Suppose there are two routers between Source and destination R1, R2 respectively. Suppose source sending packet to R1 and then R1 send to R2, but R2's buffer is full and discarded the packet and generates ICMP message to source, but meanwhile R1 buffer is also full and R1 discards the ICMP packet.

My question is what will happen then?

Case1: R1 sends the feedback to R2 that ICMP packet has lost,then R2 creates another ICMP for source?

Or

Case2: R1 creates the another ICMP packet for send the source?

1
  • 1
    ICMP (part of IP) is stateless, just like IP. There are no guarantees that ICMP datagrams are received, so you will not know if it is lost.
    – Ron Maupin
    Mar 31 at 13:01

2 Answers 2

5

ICMP errors are NOT generated for ICMP errors. (that's the recipe for a packet storm)

If a router is dropping a frame due to no buffer space, no error will be generated because it never had the packet from which to generate the ICMP message. (ICMP errors contain the header of the packet that caused the error.)

6
  • after dropping packet R1 informs R2?
    – Alok Maity
    Mar 31 at 19:31
  • 1
    If R1 drops the packet (no buffer), it has nothing to inform R2 about. And it wouldn't inform R2, it would send it to the original source of the packet. (which may or may not pass through R2)
    – Ricky
    Mar 31 at 19:52
  • I am asking after dropping ICMP packet which is got from R2, R1 informs R2?
    – Alok Maity
    Mar 31 at 20:17
  • 1
    ICMP errors are not generated for ICMP errors Any ICMP error generated for non-ICMP traffic is sent to the origin of that traffic, not the router(s) it may have passed through. (ICMP echo request is the notable exception. Systems may generate errors for those - it's how some versions of traceroute works.)
    – Ricky
    Mar 31 at 20:33
  • 1
    You still aren't getting it. If the buffer is full, the packet never gets received. If there's no packet, no error can be generated about it. Errors do not go to neighboring routers; they go to the (IP) source of the packet.
    – Ricky
    Mar 31 at 22:29
1

Generally, ICMP message are not tracked. If they are lost during delivery they stay lost.

Also, ICMP notifications for buffer overflow do not exist (or are highly irregular). ICMP messaging is lean by design - you have to prevent that there's a ping-pong of system messages.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.