Different network interconnection problems of ipfs private nodes!

The three nodes A, B, and R are in different networks, and the external network of nodes A and B cannot be directly accessed. Node R can be accessed directly. RelayService is enabled on node R, and the bootstrap of nodes A and B are set to the address of node R. Both nodes A and B can connect to R normally, but node A and node B cannot discover each other.

Running “ipfs id” on node R results:

{
        "ID": "12D3Ko..........R",
        "PublicKey": "CAESIKh...........",
        "Addresses": [
                "/ip4/10.0.0.72/tcp/4001/p2p/12D3Ko..........R",
                "/ip4/127.0.0.1/tcp/4001/p2p/12D3Ko..........R",
                "/ip4/*.*.*.*/tcp/4001/p2p/12D3Ko..........R",
                "/ip4/*.*.*.*/tcp/44435/p2p/12D3Ko..........R",
                "/ip6/::1/tcp/4001/p2p/12D3Ko..........R"
        ],
        "AgentVersion": "kubo/0.14.0/",
        "ProtocolVersion": "ipfs/0.1.0",
        "Protocols": [
                "/floodsub/1.0.0",
                "/ipfs/bitswap",
                "/ipfs/bitswap/1.0.0",
                "/ipfs/bitswap/1.1.0",
                "/ipfs/bitswap/1.2.0",
                "/ipfs/id/1.0.0",
                "/ipfs/id/push/1.0.0",
                "/ipfs/kad/1.0.0",
                "/ipfs/lan/kad/1.0.0",
                "/ipfs/ping/1.0.0",
                "/libp2p/autonat/1.0.0",
                "/libp2p/circuit/relay/0.1.0",
                "/libp2p/circuit/relay/0.2.0/hop",
                "/libp2p/circuit/relay/0.2.0/stop",
                "/libp2p/fetch/0.0.1",
                "/meshsub/1.0.0",
                "/meshsub/1.1.0",
                "/p2p/id/delta/1.0.0",
                "/x/"
        ]
}

Running “ipfs id” on node A results:

{
        "ID": "12D3Ko..........A",
        "PublicKey": "CAESIByiv3K............",
        "Addresses": [
                "/ip4/127.0.0.1/tcp/4001/p2p/12D3Ko..........A",
                "/ip4/*.*.*.*/tcp/4001/p2p/12D3Ko..........R/p2p-circuit/p2p/12D3Ko..........A",
                "/ip4/*.*.*.*/udp/4001/p2p/12D3Ko..........R/p2p-circuit/p2p/12D3Ko..........A",
                "/ip6/::1/tcp/4001/p2p/12D3Ko..........A"
        ],
        "AgentVersion": "kubo/0.14.0/",
        "ProtocolVersion": "ipfs/0.1.0",
        "Protocols": [
                "/floodsub/1.0.0",
                "/ipfs/bitswap",
                "/ipfs/bitswap/1.0.0",
                "/ipfs/bitswap/1.1.0",
                "/ipfs/bitswap/1.2.0",
                "/ipfs/id/1.0.0",
                "/ipfs/id/push/1.0.0",
                "/ipfs/lan/kad/1.0.0",
                "/ipfs/ping/1.0.0",
                "/libp2p/autonat/1.0.0",
                "/libp2p/circuit/relay/0.1.0",
                "/libp2p/circuit/relay/0.2.0/stop",
                "/libp2p/fetch/0.0.1",
                "/meshsub/1.0.0",
                "/meshsub/1.1.0",
                "/p2p/id/delta/1.0.0",
                "/x/"
        ]
}

Running “ipfs id” on node B results:

{
    "ID": "QmXmM3c..........B",
    "PublicKey": "CAASpgIwggEi............",
    "Addresses":
    [
        "/ip4/10.104.87.104/tcp/42611/p2p/QmXmM3c..........B",
        "/ip4/127.0.0.1/tcp/42611/p2p/QmXmM3c..........B",
        "/ip6/::1/tcp/40399/p2p/QmXmM3c..........B"
    ],
    "AgentVersion": "go-ipfs/0.12.2/",
    "ProtocolVersion": "ipfs/0.1.0",
    "Protocols":
    [
        "/floodsub/1.0.0",
        "/ipfs/bitswap",
        "/ipfs/bitswap/1.0.0",
        "/ipfs/bitswap/1.1.0",
        "/ipfs/bitswap/1.2.0",
        "/ipfs/id/1.0.0",
        "/ipfs/id/push/1.0.0",
        "/ipfs/lan/kad/1.0.0",
        "/ipfs/ping/1.0.0",
        "/libp2p/autonat/1.0.0",
        "/libp2p/circuit/relay/0.1.0",
        "/libp2p/circuit/relay/0.2.0/stop",
        "/libp2p/fetch/0.0.1",
        "/meshsub/1.0.0",
        "/meshsub/1.1.0",
        "/p2p/id/delta/1.0.0",
        "/x/"
    ]
}

Do ‘ipfs ping A’ on B:

{
    "Success": false,
    "Time": 0,
    "Text": "Ping error: failed to dial 12D3Ko..........A:
        * [/ip4/127.0.0.1/tcp/4001] dial tcp4 127.0.0.1:4001: connect: connection refused
        * [/ip6/::1/tcp/4001] dial tcp6 [::1]:4001: connect: connection refused
        * [/ip4/*.*.*.*/tcp/44435/p2p/12D3Ko..........R/p2p-circuit] error opening relay circuit: NO_RESERVATION (204)
        * [/ip4/*.*.*.*/udp/4001/p2p/12D3Ko..........R/p2p-circuit] concurrent active dial through the same relay failed with a protocol error
        * [/ip4/*.*.*.*/tcp/4001/p2p/12D3Ko..........R/p2p-circuit] concurrent active dial through the same relay failed with a protocol error"
}

Is it because of the IPFS version problem on B?How can I solve this problem?