602SQL-Úplná dokumentace Index  

Porty při TCP/IP komunikaci a firewally

Přehled portů při komunikaci s 602SQL serverem

Čísla portů, na nichž pracuje klient a server:

Server

Server naslouchá a přijímá vyhledávací datagramy od klientů zjišťujících, zda běží, na UDP portu s číslem PORTBASE. Stejný port se používá pro příjem asynchronního přerušení od již připojených klientů.

SQL server odesílá datagramy informující o tom, že běží, na adresy klientů, od nichž dostal vyhledávací datagram. Odesílá je na port 5002, leda že je obsazen.

TCP port serveru pro připojování klientů (naslouchací port): PORTBASE+1. Schopnost vytvářet spojení na tomto portu je dostatečná pro připojení klienta a jeho práci se serverem.

Je-li na serveru povoleno HTTP tunelování, pak server používá pro připojování klientů také TCP port HTTPTUNNELPORT zvolený v dialogu Protokoly a porty serveru.

Klient

Klient v době, kdy hledá server, posílá datagramy z libovolného vlastního portu na adresy známých serverů a jejich port PORTBASE (pro zjištění, zda registrovaný server běží), a broadcastuje datagramy na port 5001 (pro zjištění, zda v segmentu sítě beží na standardním portu neregistrovaný server). Datagramy s odpovědí od serverů přijímá na svém portu 5002 (případně jiném, pokud tento port je obsazen). Obě tyto aktivní činnosti lze vypnout.

Pokud klient potřebuje asynchronně přerušit operaci serveru, na jejíž dokončení čeká, posílá datagram z libovolného vlastního portu na adresu hledaného serveru na jeho port PORTBASE.

Pro ověření spojení se síťovou adresu klient vysílá datagram s paketem typu ICMP_ECHO. Tato operace se provádí pouze na explicitní žádost.

Klient vytváří TCP spojení na server ze systémem přiděleného portu na port PORTBASE+1. Probíhá-li komunikace přes HTTP tunelování, pak klient vytváří TCP spojení na port HTTPTUNNELPORT. Pouze tato operace je nezbytná pro práci klienta s SQL serverem. Typ spojení, IP adresu a číslo portu navázaného spojení klienta lze na serveru získat pomocí systémového dotazu _IV_LOGGED_USERS ve sloupci Net_address.

Diagnostika

K ověření čísel portů používaných serverem a klienty 602sql slouží na Windows i Linuxu konzolový příkaz netstat. Ve Windows jej použijte ve tvaru
netstat -an
na Linuxu ve tvaru
netstat -npaA inet |grep 602sql

Spojení klienta na server přes SOCKS firewall

SOCKS firewall je produkt dodávaný Software602 umožňující připojení lokální sítě na Internet a provádějící selekci procházejících paketů za účelem zajištění bezpečnosti sítě proti proniknutí zvenčí. Programy, jejichž pakety mají projít přes tento firewall, musí být vhodně upraveny.

Na straně klienta je třeba v dialogu Vlastnosti spojení na server (z popup menu u nepřipojeného serveru) zatrhnout označovací čtverec Připojovat se přes Socks server a vyplnit IP adresu SOCKS firewallu. Na řídicím panelu je u takto zaregistrovaného serveru značka s otazníkem, protože 602SQL klient během hledání serverů neví, je-li server v provozu.

Mezi klientem a serverem smí stát pouze jeden SOCKS firewall, ať už na straně klienta nebo serveru. Pokud by na obou stranách byly sítě připojené do Internetu přes SOCKS firewall, pak server musí běžet na stejném počítači jako firewall a tím mít do Internetu přímý přístup.

Parametry firewallu musí být nastaveny tak, aby připustil komunikaci mezi adresou klienta a adresou serveru.

Omezením tohoto způsobu komunikace je, že klient nemůže přerušit dlouhotrvající operaci serveru vysláním příkazu Přerušit klientskou operaci ze záložky Klienti a vlákna okna Monitoru.