ServerSide
New Member
Hallo.
Ich habe die Anbindung an meinen PostgreSQL Server per Unix Domain Socket konfiguriert.
Das funktioniert auch Alles, aber ich hab das ganze Thema nicht so ganz vollumfänglich verstanden wie ich es gern würde. Wenn ich im Internet nach Unix Socket Tutorials suche, dann sind es fast immer nur C/C++ Programmier Tutorials. Vielleicht kann mir als jemand von Euch etwas Hilfestellung geben.
Ich fasse das was ich bisher zu verstehen glaube mal zusammen:
IP Sockets: Kommuniziert über das Loopback interface in TCP und UDP. Demnach kann ich es wahrscheinlich auch per Paketfilter einschränken (Wobei ich da den Nutzen jetzt nicht erkennen kann).
Unix Domain Sockets: Der entsprechende Service (hier: postgresql) erstellt eine Datei (hier: /var/run/postgresql/.s.PGSQL.5432) über die mit dem Service kommuniziert werden kann. Welches Protokoll wird hier verwendet?
Meine Schlussfolgerungen:
Daten über einen Unix Domain Socket müssen nicht erst intern über das Loopback interface geschickt werden und kann somit wohl etwas schneller kommunizieren.
Ausserdem fällt wohl auch der IP/TCP/UDP Overhead weg, was das ganze nochmal etwas schneller macht.
Ist dies soweit korrekt? Gibt es noch andere wichtige Dinge die ich nicht genannt habe?
Gibt es einen sicherheitsrelevanten Unterschied zwischen Unix Domain Sockets und einem IP-Socket bei dem man nur von localhost zugreifen kann (wie es beim postgresql Server der Fall ist)?
Und vor Allem eine Frage noch: Wieso ist in meiner postgresql Unix Domain Socket Datei die Portnummer des IP-Sockets inkludiert? Unix Domain Sockets haben - als "Datei" - doch keine Ports?
Vielen Dank schonmal!
Ich habe die Anbindung an meinen PostgreSQL Server per Unix Domain Socket konfiguriert.
Das funktioniert auch Alles, aber ich hab das ganze Thema nicht so ganz vollumfänglich verstanden wie ich es gern würde. Wenn ich im Internet nach Unix Socket Tutorials suche, dann sind es fast immer nur C/C++ Programmier Tutorials. Vielleicht kann mir als jemand von Euch etwas Hilfestellung geben.
Ich fasse das was ich bisher zu verstehen glaube mal zusammen:
IP Sockets: Kommuniziert über das Loopback interface in TCP und UDP. Demnach kann ich es wahrscheinlich auch per Paketfilter einschränken (Wobei ich da den Nutzen jetzt nicht erkennen kann).
Unix Domain Sockets: Der entsprechende Service (hier: postgresql) erstellt eine Datei (hier: /var/run/postgresql/.s.PGSQL.5432) über die mit dem Service kommuniziert werden kann. Welches Protokoll wird hier verwendet?
Meine Schlussfolgerungen:
Daten über einen Unix Domain Socket müssen nicht erst intern über das Loopback interface geschickt werden und kann somit wohl etwas schneller kommunizieren.
Ausserdem fällt wohl auch der IP/TCP/UDP Overhead weg, was das ganze nochmal etwas schneller macht.
Ist dies soweit korrekt? Gibt es noch andere wichtige Dinge die ich nicht genannt habe?
Gibt es einen sicherheitsrelevanten Unterschied zwischen Unix Domain Sockets und einem IP-Socket bei dem man nur von localhost zugreifen kann (wie es beim postgresql Server der Fall ist)?
Und vor Allem eine Frage noch: Wieso ist in meiner postgresql Unix Domain Socket Datei die Portnummer des IP-Sockets inkludiert? Unix Domain Sockets haben - als "Datei" - doch keine Ports?
Vielen Dank schonmal!
Last edited by a moderator: