Trivia – PPP and Mismatched IP still working

Here’s a funny question for you to think about, take a look at the following picture:

 

 

The link above is a PPP connection and as you can see we have a mismatch in IP addresses. If you send a ping however it will still be succesfull, there are no routing protocols.

 

So the big question is…why does it work? I’ll give you the answer next week!

 

PS – Google is not your friend this time, see if you can find the answer yourself đŸ™‚

Opt In Image
Do you want your CCNA or CCNP Certificate?

The How to Master series helps you to understand complex topics like spanning-tree, VLANs, trunks, OSPF, EIGRP, BGP and more.

Written by René Molenaar - CCIE #41726

You May Also Like

About the Author: Rene Molenaar

René - CCIE #41726 is the creator of GNS3Vault.com where he shares CCNA, CCNP and CCIE R&S labs. He also blogs about networking on http://networklessons.com

11 Comments

  1. Dear Rene
    Nice day 2 u.

    Think 1 week finished :p and waiting for your update. I tried and its working with PPP and not with HDLC. Can you please explain the reason behind this.

    Thanks
    KD

  2. Had trouble sleeping this week dreaming of PPP? ;D

    To solve this question not Google but Debug is your friend. Try the following:

    – Shutdown the serial interface.
    – Use the following command: Debug ppp negotiation
    – No shut the serial interface.

    This is what you are looking for:

    *Mar 1 07:24:41.686: Se0/0 IPCP: I CONFREQ [REQsent] id 1 len 10
    *Mar 1 07:24:41.686: Se0/0 IPCP: Address 2.2.2.2 (0x030602020202)
    *Mar 1 07:24:41.686: Se0/0 IPCP: O CONFACK [REQsent] id 1 len 10
    *Mar 1 07:24:41.686: Se0/0 IPCP: Address 2.2.2.2 (0x030602020202)
    *Mar 1 07:24:41.690: Se0/0 IPCP: I CONFACK [ACKsent] id 1 len 10
    *Mar 1 07:24:41.690: Se0/0 IPCP: Address 1.1.1.1 (0x030601010101)
    *Mar 1 07:24:41.690: Se0/0 IPCP: State is Open
    *Mar 1 07:24:41.690: Se0/0 CDPCP: I CONFACK [ACKsent] id 1 len 4
    *Mar 1 07:24:41.690: Se0/0 CDPCP: State is Open
    [b]*Mar 1 07:24:41.694: Se0/0 IPCP: Install route to 2.2.2.2[/b]

    PPP consists of 2 “states”

    LCP and NCP.

    LCP is the Link Control Protocol which will setup the link.

    NCP is the Network Control Protocol, for the protocols running over the PPP link. You can see IPCP and CDPCP in the debug output for IPv4 and CDP traffic.

    NCP installs the route in your routing table:

    [b]Se0/0 IPCP: Install route to 2.2.2.2[/b]

    It’s part of PPP, this is the reason why it works.

    Let me know if this makes sense!

  3. Hello KD,

    When you enable PPP and build the connection there are 2 things happening:

    First the link needs to be “setup”, perhaps you have Authentication…this could be PAP/CHAP. This has to negotiated between the two routers. This happens in the “LCP” state (Link Control Protocol).

    Once the “link” is setup PPP goes to another state called “NCP” or “Network Control Protocol”. NCP is responsible for making sure you can actually send something across your PPP link…

    The Network Control Protocol (NCP) phase in the PPP link connection process establishes and configures different network layer protocols like IPv4, IPv6, IPX or Appletalk.

    After a NCP has reached the Opened state, PPP will carry the corresponding network-layer protocol packets.

    ICP = used for IPv4 Traffic
    CDPCP = used for Cisco Discovery Protocol (CDP) traffic.

    IPCP negotiates two options…compression & IP address assignments. IPCP is also used to pass network related information such as primary and backup Windows Name Service ( WINS ) and Domain Name System (DNS) servers.

    In this case IPCP installs a route to the other IP address in the routing table which you can see in the debug output.

  4. why do the subnets need to be same across a physical link for the interfaces to communicate ? why can’t things like PPP be made default ?

  5. Keep in mind PPP is point-to-point, so it assumes there’s only 1 device on the other side.

    If you use Ethernet or Frame-relay, those are MULTI-ACCESS topologies.

    There are a couple of reasons why you need to be in the same subnet, one of that every machine needs to agree on which address is the “network” address and which one is the “broadcast” address.

    Imagine you have different subnets with 2 computers:

    Computer1: 192.168.1.1 / Subnet mask 255.255.255.128
    Computer2: 192.168.1.2 / Subnet mask 255.255.255.0

    Computer2 sends an ARP request looking for 192.168.1.1 towards 192.168.1.255 (Broadcast address). Computer1 doesn’t bother with this because his broadcast address is 192.168.1.127 and you’ll have no connectivity.

    This is a very simple explanation but there’s more that could go wrong.

    Rene

  6. may be i need to read ppp first ( i am novice to networking) but your explanation made perfect sense to me. ARP will broadcast within its subnet only and no reply will be given by anyone outside this subnet – perfect !! i was only wondering what more could go wrong ?

  7. I’m confuse with this action of IPCP.
    Why IPCP(NCP) install the route to the neighbor?
    What is the function of this action, is it necessary?

    Thank you a lot.

  8. It is not necessary. There are only 2 things I can think of why this is useful:

    – It gives 2 PPP routers the ability to communicate even when they are in another subnet.
    – You can use it to install a default route.

  9. Yes, first i saw that the ping was successful. hmm thats unusual.
    a quick peek at the routing table showed a connected route to the oposite subnet.. now how did that get there???.. debug ip routing showed that it was installed.
    ok there was a culprit.. network control protocol. we’re too focused on ethernet.

    1. Yeah we are too focus on Ethernet…that’s why this might look surprising đŸ™‚

Comments are closed.