IBM® Informix® 12.10

Alternatywy dla połączeń TCP/IP

W poniższych tematach opisano niektóre sposoby pominięcia wyszukiwań portu i adresu IP dla połączeń TCP/IP.

Adresy IP dla połączeń TCP/IP

W połączeniach TCP/IP (zarówno przez interfejs TLI, jak i przez gniazda) istnieje możliwość użycia w polu hostname rzeczywistego adresu IP zamiast nazwy hosta lub aliasu określonych w pliku hosts. Następujący przykład przedstawia przykładowe adresy IP i hosty z pliku hosts.
#address       hostname  alias
555.12.12.12   smoke
98.555.43.21   odyssey
12.34.56.555   knight    sales
Zgodnie z podanym w tabeli adresem IP hosta knight poniższe dwa wpisy w pliku sqlhosts są równoważne:
#dbservername   nettype    hostname       servicename   options
sales           ontlitcp   12.34.56.789   sales_ol   
#dbservername   nettype    hostname       servicename   options
sales           ontlitcp   knight         sales_ol   

Użycie adresu IP może w niektórych okolicznościach skrócić czas nawiązywania połączenia. Jednak ze względu na fakt, że komputery są zazwyczaj rozpoznawane na podstawie ich nazw hosta, użycie adresów IP w polu nazwy hosta może utrudnić zidentyfikowanie komputera, którego dotyczy dany wpis.

UNIX: Adres IP można znaleźć w polu adresu sieciowego pliku hosts lub za pomocą komendy arp lub ypmatch (w systemie UNIX).
Windows: System Windows można skonfigurować w taki sposób, aby korzystał z jednego z następujących mechanizmów w celu tłumaczenia domen na adresy IP:
  • Usługa Windows Internet Name Service
  • Serwer nazw domen

Adresowanie z wykorzystaniem znaków wieloznacznych dla połączeń TCP/IP

Adresowanie z użyciem znaków wieloznacznych w polu hostname w pliku hosts można wykorzystać, jeśli są spełnione obydwa poniższe warunki:
  • Używane są połączenia TCP/IP.
  • Komputer, na którym znajduje się serwer bazy danych, jest wyposażony w wiele kart sieciowych.

Jeśli poprzednie warunki są spełnione, wówczas można użyć gwiazdki (*) jako znaku wieloznacznego w polu hostname, z którego korzysta serwer bazy danych. Jeśli do pola hostname zostanie wprowadzony znak wieloznaczny, wówczas serwer bazy danych może akceptować połączenia na dowolnych poprawnych adresach IP na hoście.

Każdy adres IP jest powiązany z unikalną nazwą hosta. Jeśli komputer jest wyposażony w wiele kart sieciowych, jak w poniższej tabeli, to plik hosts musi zawierać wpis dla każdej karty sieciowej. Plik hosts dla komputera texas wyposażonego w dwie karty sieciowe może na przykład zawierać następujące wpisy.
#address       hostname   alias
123.45.67.81   texas1
123.45.67.82   texas2

Jeśli aplikacja kliencka i serwer bazy danych korzystają z tych samych informacji sqlhosts, to w polu hostname można określić zarówno znak wieloznaczny, jak i nazwę hosta lub adres IP (na przykład *texas1 lub *123.45.67.81). Aplikacja kliencka zignoruje znak wieloznaczny i użyje nazwy hosta (lub adresu IP) podczas tworzenia połączenia, natomiast serwer bazy danych użyje znaku wieloznacznego do przyjmowania połączeń z dowolnego adresu IP.

Format znaku wieloznacznego umożliwia wątkowi nasłuchiwania serwera bazy danych oczekiwanie na połączenie klienta na tym samym numerze portu usługi dla każdej poprawnej karty interfejsu sieciowego. Oczekiwanie na połączenia z wielu adresów IP może jednak wymagać więcej czasu pracy procesora niż w przypadku oczekiwania na połączenia dla konkretnej nazwy hosta lub adresu IP.

Poniższy rysunek przedstawia serwer bazy danych na komputerze o nazwie texas, wyposażonym w dwie karty sieciowe. Dwa serwisy klienckie komunikują się z serwerem bazy danych za pomocą różnych kart sieciowych.
Rysunek 1. Używanie wielu kart sieciowych
Ten rysunek został opisany w otaczającym go tekście.
Poniższe przykłady przedstawiają możliwe wpisy z informacjami o połączeniach z pliku sqlhosts dotyczące serwera bazy danych texas_srvr.
#dbservername   nettype    hostname        servicename   options
texas_srvr      ontlitcp   *texas1         pd1_on
#dbservername   nettype    hostname        servicename   options
texas_srvr      ontlitcp   *123.45.67.81   pd1_on
#dbservername   nettype    hostname        servicename   options
texas_srvr      ontlitcp   *texas2         pd1_on
#dbservername   nettype    hostname        servicename   options
texas_srvr      ontlitcp   *123.45.67.82   pd1_on
#dbservername   nettype    hostname        servicename   options
texas_srvr      ontlitcp   *               pd1_on
Jeśli informacje dotyczące łączności odpowiadają jednemu z wymienionych wierszy, serwer bazy danych texas_srvr może przyjmować połączenia klientów za pośrednictwem każdej z dwóch kart sieciowych. Serwer bazy danych znajduje znak wieloznaczny w polu hostname i ignoruje jawną nazwę hosta.
Wskazówka: W celu zapewnienia przejrzystości i łatwości konserwacji należy uwzględnić nazwę hosta w polu nazwy hosta, jeśli używany jest znak wieloznaczny (tj. należy użyć *host zamiast *).

Informacje dotyczące łączności używane przez aplikację kliencką muszą zawierać jawną nazwę hosta lub adres IP. Aplikacja kliencka na komputerze iowa może użyć dowolnej z następujących nazw hosta: texas1, *texas1, 123.45.67.81 lub *123.45.67.81. Jeśli pole hostname zawiera znak wieloznaczny (*), wówczas aplikacja kliencka ignoruje ten znak.

Aplikacja kliencka na komputerze kansas może użyć dowolnej z następujących nazw hosta: texas2, *texas2, 123.45.67.82 lub *123.45.67.82.

Numery portów dla połączeń TCP/IP

W przypadku protokołu sieciowego TCP/IP w polu nazwy usługi można użyć rzeczywistego numeru portu nasłuchiwania TCP.

Jeśli na przykład serwer bazy danych sales ma zdefiniowany w pliku services numer portu 1543, to w pliku sqlhosts można umieścić następujący wpis:
#dbservername   nettype    hostname   servicename   options
sales           ontlitcp   knight     1543 

W niektórych okolicznościach użycie rzeczywistego numeru portu może skrócić czas nawiązywania połączenia. Jednak - podobnie jak w przypadku adresu IP w polu hostname - korzystanie z rzeczywistego numeru portu mogłoby spowodować utrudnienia przy administrowaniu informacjami o połączeniu.


Opinia | Wymiana przykładów | Rozwiązywanie problemów

Plik PDF można znaleźć na stronie zawierającej publikacje dotyczące rodziny produktów IBM Informix 12.10.
Uwagi do wydania, uwagi dotyczące dokumentacji i/lub uwagi dotyczące komputera znajdują się na stronie Uwagi do wydania
datownik Wersja: marzec 2013