TCP/IP Configuration Tips
This section is intended to give some very basic background of TCP/IP
terminology and some tips on how to configure TCP/IP on your AS/400 so that
you can run the Web Server/400 product. All of the following information
refers to TCP/IP for the V3R1M0 version of the OS/400 operating system.
TCP/IP Terms
- Internet Network
- An internet network is the term used to describe a network that contains
a collection of machines communicating together using the internet protocol
(IP). The term Internet with a capital "I" is considered THE
Internet which is the largest implementation of a network running the
internet protocol. All references to an internet network using a lower case
"i" refers to a local network which may or may not be connected to the
Internet.
- Host
- The term host is used to describe any machine with an IP address
participating on an internet network. This includes workstations and machines
running OS/400.
- Internet Protocol (IP) Address
- A 32 bit number broken up into 4 bytes (each 8 bits in size). The
number will be represented as a decimal number with a "." separating each of
the 4 bytes. In the decimal notation each of the four numbers can contain a
value between 0 and 255. The values 0 and 255 are considered special values
(broadcast and loopback) and should not be used when determining a host's IP
Address. All machines on an internet network must have a unique IP address.
IP addresses include a network and host portion. The network portion is used
to determine which network the host resides on, and the host portion is used
to uniquely identify the machine within that internet network. This concept
can get complicated, especially if subnetting is taking place within your
network.
- Gateway or Router
- A machine that is used to bridge two internet networks together. This
is needed when you want to send/receive information outside of your local
network. For example, if your AS/400 is going to be connected to the
Internet you will need a router to connect your local network
to one of the Internet backbone networks (or to a network
which is connected through other networks to one of the
Internet backbone networks).
- Route
- A route is used to determine the IP address of a gateway. A route is
not needed for information which is being sent to or received from machines
which reside on the same internet network.
- Subnet Mask
- The subnet mask is used to determine what bits of the IP Address are
used to assign the network portion. Any bits within the subnet mask that are
set to 1 are used to determine the network. You will need additional
information beyond this documentation if you intend to set up sub-networks
within your internet network. However, we should note that the subnet mask is
needed to configure TCP/IP on the AS/400 and further discussion will take
place to assist you in setting this value.
- Ping
- A TCP/IP utility which sends test information and waits for the
information to return. The utility displays the amount of data sent and
received and the amount of time elapsed while doing so. The utility is very
useful when testing the TCP/IP configuration. "Ping" is the name of the
command. It accepts one parameter, the IP address or host name of the remote
system to send/receive the data.
Assigning your AS/400 an IP Address
If you plan on placing your Web Server on the Internet, you
will need to discuss the assignment of the network portion of your IP address
with your Internet access provider. If you are not planning
on placing your AS/400 on the Internet or your
Internet access provider does not currently have a permanent
IP address for you, then you are not restricted to the address you want to
use. However, as soon as your internet network connects to other internet
networks your network's IP addresses must be unique throughout all of the
networks connected.
This value can be reconfigured at a later point if you want to the AS/400 to
be accessible on the Internet and you don't currently have an
Internet access provider or your provider does not have a
permanent address that they can assign to you immediately.
Note: all hosts on the same network require the same network
portion of the IP address and only the host portion of the IP address will be
unique per machine.
Assigning the network portion of an IP Address
In the case where the network portion of your IP address has not been assigned
to you by a network administrator or an Internet access
provider, you can use this section to better understand the network portion
and assign one yourself.
The most typical type of network address is a class 'C' address. A class 'C'
address begins with the first byte having a value in the range of 192 to 223.
For our example we will choose 200 for the first portion of the network
address, which indicates that we are assigning a class 'C' address and that we
expect to have less than 254 machines on our internet network. For the rest
of the network portion we will choose values of 1. Therefore, we will use the
address "200.1.1" as the network portion of our IP address.
Assigning the host portion of an IP Address
For our discussion we are assuming that the network portion was defined to be
a class 'C' address with no subnetworks defined. With a class 'C' address the
last byte will be used for the host portion allowing the address of 1 - 254 to
be used for these values. It would make sense for the administrator of this
internet network to make all of the host portion assignments and to track
these values in order to ensure that each machine is assigned a unique ID.
Working with the OS/400 commands to configure TCP/IP
This section of the Web Server/400 documentation will assist the user in
configuring the minimum TCP/IP features necessary to run the Web Server/400
product.
The user must signon as QSECOFR or have equivalent authorities in order to be
able to use the following commands effectively. Some of the commands will let
you view the information but not change it if you do not have these
authorities.
The CFGTCP is an OS/400 command which gives the user a list
of options available to configure the TCP/IP interface. Select the Work
with TCP/IP interfaces option 1. The user will be presented with a
screen that shows the current interfaces configured. An interface as it is
presented on this screen refers to the line supporting the TCP/IP protocol and
the IP address associated with that line. The *LOOPBACK line is a special
line and is required for TCP/IP to operate properly.
To add an interface use option 1 (also available directly as the
ADDTCPIFC command). The three required parameters are:
- Internet address
- The value required for this parameter is the IP address chosen for this
AS/400. If the machine is acting as a gateway and has multiple lines being
configured to support TCP/IP then this value is the IP address set for the
line being configured.
- Line description
- V3R1 OS/400 TCP/IP does not support all types of line descriptions.
Refer to the help information available from this parameter within the
ADDTCPIFC command for detailed information about what line
descriptions are supported. The typical line descriptions used when
configuring a TCP/IP connection for use with the Web Server/400 product would
include a permanent connection such as Token Ring or Ethernet LAN connections.
This would allow the Web Server/400 product to be available 24 hours a day 7
days a week without incurring additional usage costs. If the Web Server/400
product were to be made available through an Internet
connection then either the Token Ring or Ethernet connection could be used
along with a router connected to a leased line. The leased line would be
permanently connected to the Internet access provider and
available 24 hours a day 7 days a week at a fixed rate.
- Subnet mask
- Set this value to 255.255.255.0 for a class 'C' address which has no
subnetworks defined. For any other type of scenarios additional research will
be required. Refer to the TCP/IP
terms section above for a basic definition of subnet mask.
The other parameters should not require any changes for the basic setup. If
you are just getting started or are not connected to any other internet
networks then the OS/400 side of things are all up and running ready and are
ready to be used.
If you have an Internet connection or a connection with other
internet networks, you will need to configure a route to the gateway for data
to flow between these internet networks. The CFGTCP command
option 2 Work with TCP/IP routes provides a list of already
configured routes. Within this option you have
the ability to add routes. You will want to add a default route that is used
for all traffic that is not destined for the internet network that the AS/400
resides on (machines that contain a different IP Address network portion other
than that set for this AS/400 machine). Choose option 1 (also available
directly as the ADDTCPRTE command) to add the default route.
The three required parameters are:
- Route destination
- "*DFTROUTE" is the keyword used to indicate the default route.
- Subnet mask
- "*NONE" is the only valid value to specify for a default route.
- Next hop
- The IP address of the gateway (router) should be specified for the next
hop parameter. This indicates that for the default route all of the
information being sent out should next go the gateway machine. From there the
gateway machine will use its routing tables to determine where to send the
information.
Starting and Testing your TCP/IP Configuration
The STRTCP command is used to start the TCP/IP services on
the AS/400. After the TCP/IP services have been configured and started, you
will want to test the configuration. The PING command is a
good way to test the local and remote TCP/IP configurations.
First use the PING command to test the local configuration by
specifying the AS/400's IP address for the Remote system parameter. Check the
results of the PING command by looking at the job log. If the
job log shows that 100% of the packets sent were received successfully then
the configuration on the AS/400 was a success.
After verifying the local configuration the remote configurations can be
tested. In order to test any remote configurations you need to have another
machine configured and running TCP/IP on your internet network (your gateway
is a good test if you have one configured and running). Use the
PING command again this time specifying the remote system IP
address or host name. Again check to ensure that 100% of the packets were
successfully sent and received.
Host Names
Up to this point we have discussed the host machines by referencing them using
a unique IP address. A second way to reference the host machines is to assign
them a host name. A host name is an alternate meaningful name assigned to a
host. For example, the host name of www.inetmi.com refers to the web server
I/NET, Inc. is running to demonstrate the Web Server/400 product. The
www portion of that name is the host portion the
inetmi.com portion is the domain name. The local host and
domain name can be set using option 12 (Change local domain and host
names). If you are planning on connecting to the
Internet you should discuss registering a domain name for
your internet network with your Internet access provider.
Problems Starting the Web Server/400 Due to Local Host Name Configuration
The Web Server/400 product requires a local host name to be set either
through the TCP/IP configuration, CFGTCP command option 12
(Change local domain and host names) or
through the Web Server/400 server host name
configuration value. The error message displayed on the
STRWWW command indicating this error condition is:
"The local host name could not be determined and was not explicitly set."
The CFGTCP command provides multiple ways to assign remote host
names. The first way would be to update the local host table using option 10
(Work with TCP/IP host table entries) (this would allow you to map
the IP address of the remote machine to a meaningful name). The drawback to
doing it this way is that if you have a lot of machines that you would like to
reference by name, you have to add them all to this table. A second way of
configuring names would be to reference a remote host running the TCP/IP
Domain Name Service (DNS) using option 13 (Change remote name
server). By using a DNS server hosts can be added to your network with
meaningful names without any additional configuration required to remote
machines. V3R1 OS/400 TCP/IP does NOT include a the ability
to act as a DNS.
Performance Problems Due to Remote Name Server Configuration
Significant performance problems can occur due to an incorrect
configuration of the remote name server within the OS/400 TCP/IP. The
remote name server, also known as a Domain Name Server (DNS), is used by
the Web Server/400 product to query the host name of a machine requesting a
document. If this configuration specifies a search first
parameter of *REMOTE and the remote DNS does not
respond, the Web server will have to wait for the query to time-out (the
number of retry attempts configured also extends the amount of time the
request waits before failing). If you do not have a DNS available to you
either from your Internet service provider or internally within your
organization, you should leave the server address blank and specify
*LOCAL for the search first parameter. This
should correct your time-out delay, which in turn will increase the speed
of the Web server. The only other side effect to this configuration change
is that the access log file will contain the IP
address of the machine requesting the document, not the host name.
For additional information concerning the configuration of TCP/IP
the user can reference the V3R1 OS/400 publications or the
information provided online by the IBM
Corporation.