IPv6 ping to self on frame-relay network

Answered Question
Nov 9th, 2007
User Badges:
  • Green, 3000 points or more

To start with, let us consider IPv4. Consider a frame-relay topology typical of a CCIE practice lab scenario, let us say a hub-and-spoke although it does not matter for the sake of this argument.


Suppose you are using no frame-relay inverse-arp. Most scenarios say you have to be able to ping your own interface address. So, traditionally, what you do is to make a frame-relay map entry for your own address via one of your neighbors.


R1:<b>

ip address 172.16.123.1 255.255.255.0

frame-relay map ip 172.16.123.1 102

</b>

This is necessary because of the behavior of the ping on a serial interface - the ping is sent out on the interface to the neighbor and comes back again, is answered out to the neighbor, and back again. I'm sure you all know about this already.


But the interesting thing is that in IPv6, it is not necessary to have this map to self. Does that mean that an IPv6 ping behaves differently from an IPv4 ping in this respect? Is the difference only on NBMA interfaces like frame-relay physical or frame-relay multipoint? Or does the difference apply to frame-relay point-to-point subinterfaces and standard serial lines as well?


Kevin Dorrell

Luxembourg



Correct Answer by Edison Ortiz about 9 years 5 months ago



Rack1R2(config-if)#ipv6 address FE80::2 link-local


__________________________



If you noticed in the routing table, there is a null0 entry automatically created


Rack1R2(config-if)#do show ipv6 route

IPv6 Routing Table - 4 entries

Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP

U - Per-user Static route

I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary

O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2

ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2

C 2001:CC1E::/64 [0/0]

via ::, Serial1/0

L 2001:CC1E::2/128 [0/0]

via ::, Serial1/0

L FE80::/10 [0/0]

via ::, Null0

L FF00::/8 [0/0]

via ::, Null0


__________________________


Rack1R2(config-if)#do ping FE80::2

Output Interface: serial1/0

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to FE80::2, timeout is 2 seconds:

Packet sent with a source address of FE80::2

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 0/3/4 ms


_______________________


Rack1R2(config-if)#do debug ipv6 packet det

IPv6 unicast packet debugging is on (detailed)


________________________



Rack1R2(config-if)#do ping FE80::2

Output Interface: serial1/0

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to FE80::2, timeout is 2 seconds:

Packet sent with a source address of FE80::2

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 0/7/28 ms

Rack1R2(config-if)#

*Mar 1 00:02:51.619: IPv6: SAS picked source FE80::2 for FE80::2 (Serial1/0)

*Mar 1 00:02:51.631: IPV6: source FE80::2 (local)

*Mar 1 00:02:51.631: dest FE80::2 (Serial1/0)

*Mar 1 00:02:51.635: traffic class 0, flow 0x0, len 100+0, prot 58, hops 64, originating

*Mar 1 00:02:51.639: IPv6: Sending via loopback

*Mar 1 00:02:51.643: IPV6: source FE80::2 (Serial1/0)

*Mar 1 00:02:51.647: dest FE80::2

*Mar 1 00:02:51.647: traffic class 0, flow 0x0, len 100+0, prot 58, hops 64, forward to ulp

*Mar 1 00:02:51.651: IPV6: source FE80::2 (local)

*Mar 1 00:02:51.655: dest FE80::2 (Serial1/0)

*Mar 1 00:02:51.655: traffic class 0, flow 0x0, len 100+0, prot 58, hops 64, originating

*Mar 1 00:02:51.659: IPv6: Sending via loopback

*Mar 1 00:02:51.663: IPV6: source FE80::2 (Serial1/0)

*Mar 1 00:02:51.663: dest FE80::2

*Mar 1 00:02:51.663: traffic class 0, flow 0x0, len 100+0, prot 58, hops 64, forward to ulp


Correct Answer by Edison Ortiz about 9 years 5 months ago

Kevin,


When you assign an IPv6 address under a serial interface, an entry is created in the IPV6 routing table for that address.


You won't see that behavior in IPv4, a network entry is made instead.


interface Serial1/0

ip address 192.168.13.2 255.255.255.0

encapsulation frame-relay

ipv6 address 2001:CC1E::2/64

serial restart-delay 0

frame-relay map ipv6 2001:CC1E::3 203 broadcast

frame-relay map ip 192.168.13.3 203 broadcast

no frame-relay inverse-arp


______________


Rack1R2#sh ipv6 route

IPv6 Routing Table - 4 entries

Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP

U - Per-user Static route

I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary

O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2

ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2

C 2001:CC1E::/64 [0/0]

via ::, Serial1/0

L 2001:CC1E::2/128 [0/0]

via ::, Serial1/0

L FE80::/10 [0/0]

via ::, Null0

L FF00::/8 [0/0]

via ::, Null0

Rack1R2#sh ip route

Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route


Gateway of last resort is not set


C 192.168.13.0/24 is directly connected, Serial1/0


________________


The RIB knows that in order to reach 2001:CC1E::2, it will find it locally - in IPv6.


While in IPv4, the RIB tells the router to find 192.168.13.2 via S1/0 so the packet leaves the router.



  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (2 ratings)
Loading.
Correct Answer
Edison Ortiz Fri, 11/09/2007 - 06:41
User Badges:
  • Super Bronze, 10000 points or more
  • Hall of Fame,

    Founding Member

Kevin,


When you assign an IPv6 address under a serial interface, an entry is created in the IPV6 routing table for that address.


You won't see that behavior in IPv4, a network entry is made instead.


interface Serial1/0

ip address 192.168.13.2 255.255.255.0

encapsulation frame-relay

ipv6 address 2001:CC1E::2/64

serial restart-delay 0

frame-relay map ipv6 2001:CC1E::3 203 broadcast

frame-relay map ip 192.168.13.3 203 broadcast

no frame-relay inverse-arp


______________


Rack1R2#sh ipv6 route

IPv6 Routing Table - 4 entries

Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP

U - Per-user Static route

I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary

O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2

ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2

C 2001:CC1E::/64 [0/0]

via ::, Serial1/0

L 2001:CC1E::2/128 [0/0]

via ::, Serial1/0

L FE80::/10 [0/0]

via ::, Null0

L FF00::/8 [0/0]

via ::, Null0

Rack1R2#sh ip route

Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route


Gateway of last resort is not set


C 192.168.13.0/24 is directly connected, Serial1/0


________________


The RIB knows that in order to reach 2001:CC1E::2, it will find it locally - in IPv6.


While in IPv4, the RIB tells the router to find 192.168.13.2 via S1/0 so the packet leaves the router.



Kevin Dorrell Fri, 11/09/2007 - 06:52
User Badges:
  • Green, 3000 points or more

Thanks Edison. So I was right in my assumption that IPv6 does not do the out-and-back ping like IPv4 does, and now you have explained the mechanism. It is interesting to note that it applies to all serial interfaces, and not just NBMA like frame-relay.


I explains why I can ping my global IPv6 address 2001:CC1E::2 even without a corresponding frame map, but what about the link local address? If I configure, say, FE80::2 link-local, will that appear in the routing table as a host route too? If so, why don't I see the default link-local address as a local host route?


I shall play with this I the lab next time I have a chance. Thanks for the starting pointers.


Kevin Dorrell

Luxembourg


Correct Answer
Edison Ortiz Fri, 11/09/2007 - 07:07
User Badges:
  • Super Bronze, 10000 points or more
  • Hall of Fame,

    Founding Member



Rack1R2(config-if)#ipv6 address FE80::2 link-local


__________________________



If you noticed in the routing table, there is a null0 entry automatically created


Rack1R2(config-if)#do show ipv6 route

IPv6 Routing Table - 4 entries

Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP

U - Per-user Static route

I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary

O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2

ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2

C 2001:CC1E::/64 [0/0]

via ::, Serial1/0

L 2001:CC1E::2/128 [0/0]

via ::, Serial1/0

L FE80::/10 [0/0]

via ::, Null0

L FF00::/8 [0/0]

via ::, Null0


__________________________


Rack1R2(config-if)#do ping FE80::2

Output Interface: serial1/0

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to FE80::2, timeout is 2 seconds:

Packet sent with a source address of FE80::2

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 0/3/4 ms


_______________________


Rack1R2(config-if)#do debug ipv6 packet det

IPv6 unicast packet debugging is on (detailed)


________________________



Rack1R2(config-if)#do ping FE80::2

Output Interface: serial1/0

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to FE80::2, timeout is 2 seconds:

Packet sent with a source address of FE80::2

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 0/7/28 ms

Rack1R2(config-if)#

*Mar 1 00:02:51.619: IPv6: SAS picked source FE80::2 for FE80::2 (Serial1/0)

*Mar 1 00:02:51.631: IPV6: source FE80::2 (local)

*Mar 1 00:02:51.631: dest FE80::2 (Serial1/0)

*Mar 1 00:02:51.635: traffic class 0, flow 0x0, len 100+0, prot 58, hops 64, originating

*Mar 1 00:02:51.639: IPv6: Sending via loopback

*Mar 1 00:02:51.643: IPV6: source FE80::2 (Serial1/0)

*Mar 1 00:02:51.647: dest FE80::2

*Mar 1 00:02:51.647: traffic class 0, flow 0x0, len 100+0, prot 58, hops 64, forward to ulp

*Mar 1 00:02:51.651: IPV6: source FE80::2 (local)

*Mar 1 00:02:51.655: dest FE80::2 (Serial1/0)

*Mar 1 00:02:51.655: traffic class 0, flow 0x0, len 100+0, prot 58, hops 64, originating

*Mar 1 00:02:51.659: IPv6: Sending via loopback

*Mar 1 00:02:51.663: IPV6: source FE80::2 (Serial1/0)

*Mar 1 00:02:51.663: dest FE80::2

*Mar 1 00:02:51.663: traffic class 0, flow 0x0, len 100+0, prot 58, hops 64, forward to ulp


Kevin Dorrell Fri, 11/09/2007 - 07:33
User Badges:
  • Green, 3000 points or more

Great, that saves me from having to lab it. So the strategy is slightly different for glovbal addresses as for link local addresses.


With global addresses, it creates a local connected host route via the Serial interface, and responds to the ping directly from that.


With link local addresses, it creates a summary /10 route to Null0, but recognises the address as a loopback only when it comes to do the ping. Which ties in with the fact that it asks you which interface you are going for ( ... because it is link-local. ;-)


Thanks for your help. Have a nice weekend.


Kevin Dorrell

Luxembourg


Actions

This Discussion