Description

On Junos OS Evolved products, ICMP time exceeded message is NOT generated for host bound traffic when TTL/Hop-limit exceeded, but generated for transit traffic when TTL/Hop-limit exceeded.

On the other hand, On Junos products, ICMP time exceeded message is generated for both host bound traffic and transit traffic when TTL exceeded.

Symptoms

ICMP time exceeded messages are NOT generated by EVO RE for TTL=0 host bound traffic case.

Here is the lab test results for the scenarios of TTL=0 or 1, destined to host vs transit, IPv4 vs IPv6.

 

#### ACX EVO ####

 

1. IPv4 TTL / Hop-limit 0, destined to ACX lo0 ------> "Time-to-live exceeded" message is NOT sent back to sender

"Time-to-live exceeded" message is NOT captured on IXIA port.

 

2. IPv6 TTL / Hop-limit 0, destined to ACX lo0 ------> "Time Exceeded" message is NOT sent back to sender

"Time Exceeded" message is NOT captured on IXIA port.

 

3. IPv4 TTL / Hop-limit 0, transit through ACX ------> "Time-to-live exceeded" message is sent back to sender

 

No.   Time      Source        Destination      Protocol Length Info

   2 0.000024280  192.168.100.254    192.168.100.1     ICMP   74   Time-to-live exceeded (Time to live exceeded in transit)

 

Frame 2: 74 bytes on wire (592 bits), 74 bytes captured (592 bits) on interface unknown, id 0

Ethernet II, Src: JuniperN_33:1c:64 (d4:99:6c:33:1c:64), Dst: CETTechn_00:00:01 (00:11:01:00:00:01)

Internet Protocol Version 4, Src: 192.168.100.254, Dst: 192.168.100.1

Internet Control Message Protocol

  Type: 11 (Time-to-live exceeded)

  Code: 0 (Time to live exceeded in transit)

  Checksum: 0xec75 [correct]

  [Checksum Status: Good]

  Unused: 00000000

  Internet Protocol Version 4, Src: 192.168.100.1, Dst: 192.168.200.1

  Data (8 bytes)

 

4. IPv4 TTL / Hop-limit 1, transit through ACX ------> "Time-to-live exceeded" message is sent back to sender

 

No.   Time      Source        Destination      Protocol Length Info

   1 0.000000000  192.168.100.254    192.168.100.1     ICMP   74   Time-to-live exceeded (Time to live exceeded in transit)

 

Frame 1: 74 bytes on wire (592 bits), 74 bytes captured (592 bits) on interface unknown, id 0

Ethernet II, Src: JuniperN_33:1c:64 (d4:99:6c:33:1c:64), Dst: CETTechn_00:00:01 (00:11:01:00:00:01)

Internet Protocol Version 4, Src: 192.168.100.254, Dst: 192.168.100.1

Internet Control Message Protocol

  Type: 11 (Time-to-live exceeded)

  Code: 0 (Time to live exceeded in transit)

  Checksum: 0xec75 [correct]

  [Checksum Status: Good]

  Unused: 00000000

  Internet Protocol Version 4, Src: 192.168.100.1, Dst: 192.168.200.1

  Data (8 bytes)

 

5. IPv6 TTL / Hop-limit 0, transit through ACX ------> "Time Exceeded" message is sent back to sender

 

No.   Time      Source        Destination      Protocol Length Info

   1 0.000000000  192:168:100::254   192:168:100::1    ICMPv6  176  Time Exceeded (hop limit exceeded in transit)

 

Frame 1: 176 bytes on wire (1408 bits), 176 bytes captured (1408 bits) on interface unknown, id 0

Ethernet II, Src: JuniperN_33:1c:64 (d4:99:6c:33:1c:64), Dst: CETTechn_00:00:01 (00:11:01:00:00:01)

Internet Protocol Version 6, Src: 192:168:100::254, Dst: 192:168:100::1

Internet Control Message Protocol v6

  Type: Time Exceeded (3)

  Code: 0 (hop limit exceeded in transit)

  Checksum: 0x8fd9 [correct]

  [Checksum Status: Good]

  Reserved: 00000000

  Internet Protocol Version 6, Src: 192:168:100::1, Dst: 192:168:200::1

  Data (70 bytes)

 

6. IPv6 TTL / Hop-limit 1, transit through ACX ------> "Time Exceeded" message is sent back to sender

 

No.   Time      Source        Destination      Protocol Length Info

   3 0.000024840  192:168:100::254   192:168:100::1    ICMPv6  176  Time Exceeded (hop limit exceeded in transit)

 

Frame 3: 176 bytes on wire (1408 bits), 176 bytes captured (1408 bits) on interface unknown, id 0

Ethernet II, Src: JuniperN_33:1c:64 (d4:99:6c:33:1c:64), Dst: CETTechn_00:00:01 (00:11:01:00:00:01)

Internet Protocol Version 6, Src: 192:168:100::254, Dst: 192:168:100::1

Internet Control Message Protocol v6

  Type: Time Exceeded (3)

  Code: 0 (hop limit exceeded in transit)

  Checksum: 0x5629 [correct]

  [Checksum Status: Good]

  Reserved: 00000000

  Internet Protocol Version 6, Src: 192:168:100::1, Dst: 192:168:200::1

  Data (70 bytes)

 

#### MX Junos ####

 

7. IPv4 TTL / Hop-limit 0, destined to MX lo0 ------> "Time-to-live exceeded" message is sent back to sender

 

No.   Time      Source        Destination      Protocol Length Info

   1 0.000000000  1.1.1.2        192.168.200.1     ICMP   74   Time-to-live exceeded (Time to live exceeded in transit)

 

Frame 1: 74 bytes on wire (592 bits), 74 bytes captured (592 bits) on interface unknown, id 0

Ethernet II, Src: JuniperN_32:22:01 (3c:8c:93:32:22:01), Dst: Cisco_00:00:01 (00:12:01:00:00:01)

Internet Protocol Version 4, Src: 1.1.1.2, Dst: 192.168.200.1

Internet Control Message Protocol

  Type: 11 (Time-to-live exceeded)

  Code: 0 (Time to live exceeded in transit)

  Checksum: 0xec75 [correct]

  [Checksum Status: Good]

  Unused: 00000000

  Internet Protocol Version 4, Src: 192.168.200.1, Dst: 1.1.1.2

  Data (8 bytes)

 

8. IPv6 TTL / Hop-limit 0, destined to MX lo0 ------> "Time Exceeded" message is sent back to sender

 

No.   Time      Source        Destination      Protocol Length Info

   2 0.000000140  1::2         192:168:200::1    ICMPv6  176  Time Exceeded (hop limit exceeded in transit)

 

Frame 2: 176 bytes on wire (1408 bits), 176 bytes captured (1408 bits) on interface unknown, id 0

Ethernet II, Src: JuniperN_32:22:01 (3c:8c:93:32:22:01), Dst: Cisco_00:00:01 (00:12:01:00:00:01)

Internet Protocol Version 6, Src: 1::2, Dst: 192:168:200::1

Internet Control Message Protocol v6

  Type: Time Exceeded (3)

  Code: 0 (hop limit exceeded in transit)

  Checksum: 0xaef2 [correct]

  [Checksum Status: Good]

  Reserved: 00000000

  Internet Protocol Version 6, Src: 192:168:200::1, Dst: 1::2

  Data (70 bytes)

 

9. IPv4 TTL / Hop-limit 0, transit through MX ------> "Time-to-live exceeded" message is sent back to sender

 

No.   Time      Source        Destination      Protocol Length Info

   1 0.000000000  192.168.200.254    192.168.200.1     ICMP   74   Time-to-live exceeded (Time to live exceeded in transit)

 

Frame 1: 74 bytes on wire (592 bits), 74 bytes captured (592 bits) on interface unknown, id 0

Ethernet II, Src: JuniperN_32:22:01 (3c:8c:93:32:22:01), Dst: Cisco_00:00:01 (00:12:01:00:00:01)

Internet Protocol Version 4, Src: 192.168.200.254, Dst: 192.168.200.1

Internet Control Message Protocol

  Type: 11 (Time-to-live exceeded)

  Code: 0 (Time to live exceeded in transit)

  Checksum: 0xec75 [correct]

  [Checksum Status: Good]

  Unused: 00000000

  Internet Protocol Version 4, Src: 192.168.200.1, Dst: 192.168.100.1

  Data (8 bytes)

 

10. IPv4 TTL / Hop-limit 1, transit through MX ------> "Time-to-live exceeded" message is sent back to sender

 

No.   Time      Source        Destination      Protocol Length Info

   1 0.000000000  192.168.200.254    192.168.200.1     ICMP   74   Time-to-live exceeded (Time to live exceeded in transit)

 

Frame 1: 74 bytes on wire (592 bits), 74 bytes captured (592 bits) on interface unknown, id 0

Ethernet II, Src: JuniperN_32:22:01 (3c:8c:93:32:22:01), Dst: Cisco_00:00:01 (00:12:01:00:00:01)

Internet Protocol Version 4, Src: 192.168.200.254, Dst: 192.168.200.1

Internet Control Message Protocol

  Type: 11 (Time-to-live exceeded)

  Code: 0 (Time to live exceeded in transit)

  Checksum: 0xec75 [correct]

  [Checksum Status: Good]

  Unused: 00000000

  Internet Protocol Version 4, Src: 192.168.200.1, Dst: 192.168.100.1

  Data (8 bytes)

 

11. IPv6 TTL / Hop-limit 0, transit through MX ------> "Time Exceeded" message is sent back to sender

 

No.   Time      Source        Destination      Protocol Length Info

   11 0.000080320  192:168:200::254   192:168:200::1    ICMPv6  176  Time Exceeded (hop limit exceeded in transit)

 

Frame 11: 176 bytes on wire (1408 bits), 176 bytes captured (1408 bits) on interface unknown, id 0

Ethernet II, Src: JuniperN_32:22:01 (3c:8c:93:32:22:01), Dst: Cisco_00:00:01 (00:12:01:00:00:01)

Internet Protocol Version 6, Src: 192:168:200::254, Dst: 192:168:200::1

Internet Control Message Protocol v6

  Type: Time Exceeded (3)

  Code: 0 (hop limit exceeded in transit)

  Checksum: 0xc3d4 [correct]

  [Checksum Status: Good]

  Reserved: 00000000

  Internet Protocol Version 6, Src: 192:168:200::1, Dst: 192:168:100::1

  Data (70 bytes)

 

12. IPv6 TTL / Hop-limit 1, transit through MX ------> "Time Exceeded" message is sent back to sender

 

No.   Time      Source        Destination      Protocol Length Info

   12 0.000160060  192:168:200::254   192:168:200::1    ICMPv6  176  Time Exceeded (hop limit exceeded in transit)

 

Frame 12: 176 bytes on wire (1408 bits), 176 bytes captured (1408 bits) on interface unknown, id 0

Ethernet II, Src: JuniperN_32:22:01 (3c:8c:93:32:22:01), Dst: Cisco_00:00:01 (00:12:01:00:00:01)

Internet Protocol Version 6, Src: 192:168:200::254, Dst: 192:168:200::1

Internet Control Message Protocol v6

  Type: Time Exceeded (3)

  Code: 0 (hop limit exceeded in transit)

  Checksum: 0x620d [correct]

  [Checksum Status: Good]

  Reserved: 00000000

  Internet Protocol Version 6, Src: 192:168:200::1, Dst: 192:168:100::1

  Data (70 bytes)

Solution

TTL/Hop-limit 0 packet will be discarded by EVO RE, and NO ICMP "Time exceeded" message sent back.

It is a production limitation of Junos Evolved, as it deviates from Junos OS behavior.

 

 

Modification History

2024-04-29 : Article Created