The following sections describe some ways to bypass port and IP address lookups for TCP/IP connections.
For TCP/IP connections (both TLI and sockets), you can use the actual IP address in the hostname field instead of the host name or alias found in the hosts file. The IP address is composed of four integers between 0 and 255, separated by periods. Table 9 shows sample IP addresses and hosts from a hosts file.
IP Address | Host Name | Host Alias |
---|---|---|
555.12.12.12 | smoke | |
98.765.43.21 | odyssey | |
12.34.56.789 | knight | sales |
Using the IP address for knight from Table 9, the following two sqlhosts entries are equivalent:
sales ontlitcp 12.34.56.789 sales_ol sales ontlitcp knight sales_ol
Using an IP address might speed up connection time in some circumstances. However, because computers are usually known by their host name, using IP addresses in the host name field makes it less convenient to identify the computer with which an entry is associated.
You can find the IP address in the net address field of the hosts file, or you can use the UNIX arp or ypmatch command.
You can configure Windows to use either of the following mechanisms to resolve Internet Domain Addresses (mymachine.informix.com) to Internet Protocol addresses (149.8.73.14):
You can use wildcard addressing in the host name field when both of the following conditions are met:
If the preceding conditions are met, you can use an asterisk (*) as a wildcard in the host name field that the database server uses. When you enter a wildcard in the host name field, the database server can accept connections at any valid IP address on its host computer.
Each IP address is associated with a unique host name. When a computer has multiple network-interface cards (NICs), as in Figure 7, the hosts file must have an entry for each interface card. For example, the hosts file for the texas computer might include these entries.
NIC | Internet IP Address | Host Name |
---|---|---|
Card 1 | 123.45.67.81 | texas1 |
Card 2 | 123.45.67.82 | texas2 |
You can use the wildcard (*) alone or as a prefix for a host name or IP address, as shown in Table 10.
If the client application and database server share connectivity information (the sqlhosts file or the SQLHOSTS registry key), you can specify both the wildcard and a host name or IP address in the host name field (for example, *texas1 or *123.45.67.81). The client application ignores the wildcard and uses the host name (or IP address) to make the connection, and the database server uses the wildcard to accept a connection from any IP address.
The wildcard format allows the listen thread of the database server to wait for a client connection using the same service port number on each of the valid network-interface cards. However, waiting for connections at multiple IP addresses might require slightly more CPU time than waiting for connections with a specific host name or IP address.
Figure 7 shows a database server on a computer (texas) that has two network-interface cards. The two client sites use different network cards to communicate with the database server.
Table 10 shows the connectivity information for the texas_srvr database server.
database server name | connection type | host name | service name |
---|---|---|---|
texas_srvr | ontlitcp | *texas1 | pd1_on |
texas_srvr | ontlitcp | *123.45.67.81 | pd1_on |
texas_srvr | ontlitcp | *texas2 | pd1_on |
texas_srvr | ontlitcp | *123.45.67.82 | pd1_on |
texas_srvr | ontlitcp | * | pd1_on |
If the connectivity information corresponds to any of the preceding lines, the texas_srvr database server can accept client connections from either of the network cards. The database server finds the wildcard in the host name field and ignores the explicit host name.
The connectivity information used by a client application must contain an explicit host name or IP address. The client applications on iowa can use any of the following host names: texas1, *texas1, 123.45.67.81, or *123.45.67.81. If there is a wildcard (*) in the host name field, the client application ignores it.
The client application on kansas can use any of the following host names: texas2, *texas2, 123.45.67.82, or *123.45.67.82.
For the TCP/IP network protocol, you can use the actual TCP listen port number in the service name field. The TCP port number is in the port# field of the services file.
For example, if the port number for the sales database server in the services file is 1543/tcp, you can write an entry in the sqlhosts file as follows:
servername | nettype | hostname | servicename |
---|---|---|---|
sales | ontlitcp | knight | 1543 |
Using the actual port number might save time when you make a connection in some circumstances. However, as with the IP address in the host name field, using the actual port number might make administration of the connectivity information less convenient.
Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]