ITEM: AL3150L

Problem configuring remote TCP/IP access to multiple AIX V3 X.25 ports


Question:

I have a question about the TCP/IP configuration for AIX V3.2 X.25
on the RS/6000.

My customer plans to create an X.25 interface for TCP/IP on RS/6000.
He wants to enable it to accept the access from one remote terminal
to the multiple ports on one RS/6000. 

When he sets the remote host configuration via "smit mkx25s" he finds
that "Remote HOSTNAME" and "Remote DTE Address" are the same.  He can't
define multiple "X.25 Device Numbers" because the original port config- 
uration is deleted by overwriting the new configuration when he enters
the second port number.  This effect is same when he set the configura-
tion by x25xlate command.

How can he configure both X.25 TCP/IP interfaces on RS/6000?                         

Response:

  You will not be able to do this, but not because of an x25xlate 
problem.  Instead, it is a restriction of the IP routing algorithm.
The situation you're seeing is very unique to X.25 because it's the only
networking method that allows direct attach of multiple interfaces to a
single network.  (Even with ATM, a method similar in concept to X.25,
this wouldn't happen because the IP networks are isolated from each
other.)  With TCP/IP routing, you must always configure the return 
route.  In order to do what you want to do, you would have to put two
different return routes to the single remote system and this can't be
done with TCP/IP routing table logic.  It took me quite a while to
realize what was going on, so I will explain.

  Pictured below is the type of environment to which I believe you're 
referring.  On the left is a RISC/6000 with two X.25 adapters, each
with a TCP/IP interface.  Each adapter is a separate connection to the
network, so the Packet Switch Data Network (PSDN) provider must assign
a unique X.25 address (Network User Address or NUA) to each port.  The
RISC has two IP interfaces and, just as with any TCP/IP environment, the
IP addresses must be defined for different IP networks.  I've invented
the IP and NUA values shown, but the important thing is that xt0 and
xt1 could not share one IP address, nor could they represent two hosts
on one network. (For example, addresses 192.6.6.1 and 192.6.6.2 would
not be valid from a TCP/IP perspective.)  This is true of all TCP/IP
interfaces regardless of the underlying network types. 
  .                               ___
       "rs1" (xt0)--------------_(   )__
             IP: 192.6.6.1    _(        )_            "rem1"
     R      NUA: 34561       (_  PSDN    _)-------(remote system)
     I                         (__     __)         IP: 192.6.6.8
     S   "rs2" (xt1)-------------(____)            NUA: 23456
     C         IP: 192.6.7.1
              NUA: 34562
  .
  The x25xlate table maps IP addresses to X.25 addresses (NUAs).  Thus,
on system "rem1" the user could type "ping rs1" and the /etc/hosts
table would resolve rs1 to 192.6.6.1 which would, in turn, resolve to
NUA 34561.  To get to the "rs2" interface, system "rem1" would need
an x25xlate-type table that specified the other IP address and NUA.
All hosts with whom you communicate must be listed in the x25xlate
table -- even if they call you.  (I presume this is because the target
must be able to resolve IP and NUA addresses in order to respond.)

  In your case, you are trying to create two entries on the RISC for
IP address 192.6.6.8.  SMIT is keeping you from doing this because it
knows, no matter what different nicknames you use in the /etc/hosts
file, that the address is the same.  (Even though you don't type it,
the IP address is stored in the x25xlate table.  You can see this by
using running the x25xlate command at the shell prompt.  Type 
"x25xlate -s" to display a list of hosts, then "x25xlate -s -h xxxxx"
where xxxxx is a host name to see the complete information for a single
host.)  SMIT protects you from inadvertantly entering duplicate entries
by simply updating the information it already knows.  It's not an error
of x25xlate -- it's done on purpose.

  The real reason that you will have to decide on one interface or the
other for the rem1 host lies in the TCP/IP routing table on the RISC.
It must have an unambiguous route that it can use to respond to rem1
and, in these circumstances it can't be done.  The RISC's routing table
would look something like this: 

          Destination      Gateway          Flags     Interface
          127              127.0.0.1        U         lo0
line 2--> default          (your choice)    UG        (your choice)
line 3--> 192.6.6          192.6.6.1        U         xt0
line 4--> 192.6.7          192.6.7.1        U         xt1
line 5--> 192.6.6.8        192.6.7.1        UH        xt1

  The last entry, a zero hop count static route is required (as described
on page 99 of the AIX V3 X.25 Cookbook, GG24-3692-01) because rem1 is on
a different IP network than the xt1 interface.  Unfortunately, having
this entry disables the system from choosing the route to 192.6.6.8 on
line 3 because the IP routing algorithm always selects a host-specific 
route (our last entry) first.  If none exists, then it selects by the 
destination network number (shown on lines 3 and 4).  If still no match,
it selects the default route (line 2 in our example).  Thus, the presence
of line 5, will always keep the system from selecting any other route.
If line 5 is removed, line 3 will always be selected.  You must select
one interface or the other -- you cannot do both.

  This routing algorithm is explained in most TCP/IP textbooks.  The one
I consulted is on page 39 of the "TCP/IP Illustrated, Volume 1" book by
by Wright and Stevens, available through IBM order number SR28-5586-00.
If you have Volume II (SR28-5630-00) of this book, refer to page 562.

  Although I don't think this is the answer you wanted, I hope this helps
explain the situation.


Support Line: Problem configuring remote TCP/IP access to multiple AIX V3 X.25 ports ITEM: AL3150L
Dated: July 1995 Category: N/A
This HTML file was generated 99/06/24~13:30:26
Comments or suggestions? Contact us