powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Небольшие вопросы по XNET
21 сообщений из 21, страница 1 из 1
Небольшие вопросы по XNET
    #40003520
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую знатоков и разработчиков!

У меня небольшие вопросы по XNET

WI-V3.0.6.33328 Firebird 3.0

1) В статье https://www.ibphoenix.com/files/ConnectionStrings_Fb3.pdf сказано, что Loopback подключение будет пытаться использовать XNET протокол. Для Windows пример такого подключения: 127.0.0.1:d:\databases\mydatabase.fdb. Будут ли попытки использовать XNET протокол, если строка подключения будет localhost:d:\databases\mydatabase.fdb ? Нет ли там каких-нибудь заморочек, с регистром, например, как такой вариант Localhost:d:\databases\mydatabase.fdb ?

2) Можно как-нибудь узнать, какой реальный провайдер у текущего соединения? Смотрю "SELECT mon$remote_protocol from mon$attachments". При подключении по 127.0.0.1 пишет TCPv4. Хотя судя по статье должен был быть XNET. Конфигурационный файл firebird.conf пробовал разный. Вначале дефоултный, строка Providers не трогалась, потом Providers = Loopback,Engine12,Remote. Всегда пишет TCPv4

3) Работает ли XNET на терминальном сервере ? Может у кого есть опыть использования XNET у RDP-клиентов (Windows server 2012 и выше) ?
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003527
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggory,

не так там написано
"Where embedded is not available, a hostless connection could be established using the Loopback provider, in which case full login credentials would need to be present. On Windows, the provider will try to use XNET (see below) to make the local connection and, failing that, a localhost connection via TCP/IP or, on Windows, via WNET (see below). "

Например, если у меня сервер суперсервер, и есть уже сетевые коннекты к базе, то при запуске
gbak -b -g d:\data\db.fdb ...
embedded коннекта (как ожидалось) не будет, а будет как раз xnet, в порядке очереди перечисления протоколов.

127.0.0.1 - это tcp v4, а вот localhost: это уже может быть как tcp v4, так и v6.
И тут xnet никак не предполагается.

Хотите явно хнет - пишите xnet:\\ в строке коннекта. Не надо вот этих вот догадок.
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003540
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий

28.09.2020 16:18, ggreggory пишет:
> XNET

и нахрена?


Насколько понял, XNET дает преимущества в работе. Нашёл информацию на форуме:

https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1253484&msg=22080521

Там виден двукратный рост скорости. Если у вас другая информация - поделитесь, плиз!

kdv
ggreggory,

не так там написано
"Where embedded is not available, a hostless connection could be established using the Loopback provider, in which case full login credentials would need to be present. On Windows, the provider will try to use XNET (see below) to make the local connection and, failing that, a localhost connection via TCP/IP or, on Windows, via WNET (see below). "


Я имел ввиду этот абзац:

On Windows. the Loopback provider first tries to connect using the XNET protocol. If
that fails, its next attempt is with WNET, using the host name "\\." If that fails,
Loopback tries INET using "localhost" as the host name. Of course, on the other
platforms, INET is the only protocol attempted.

kdv

127.0.0.1 - это tcp v4, а вот localhost: это уже может быть как tcp v4, так и v6.
И тут xnet никак не предполагается.


Ок, хорошо, понял!

kdv

Хотите явно хнет - пишите xnet:\\ в строке коннекта. Не надо вот этих вот догадок.


Да, так работает.
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003557
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
28.09.2020 16:46, ggreggory пишет:
> Насколько понял, XNET дает преимущества в работе.

в какой?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003561
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggory
Насколько понял, XNET дает преимущества в работе. Нашёл информацию на форуме:

https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1253484&msg=22080521

Там виден двукратный рост скорости. Если у вас другая информация - поделитесь, плиз!
Ну так чти внимательнее, что именно там быстрее чего.
XNET никакого "преимущества в работе" не даёт.
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003600
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WildSery
ggreggory
Насколько понял, XNET дает преимущества в работе. Нашёл информацию на форуме:

https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1253484&msg=22080521

Там виден двукратный рост скорости. Если у вас другая информация - поделитесь, плиз!
Ну так чти внимательнее, что именно там быстрее чего.
XNET никакого "преимущества в работе" не даёт.


Ок, хорошо, спасибо за ваш опыт! Я на всякий случай решил простенький тест сделать. Пустая база данных c:\bases\test.fdb. Скрипт с двумя тестовыми процедурами:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
CREATE TABLE TEST (
    FLD  INTEGER
);

INSERT INTO TEST (FLD) VALUES (1);

set term ^;

create or alter procedure TEST_PROC_1
as
  declare variable i integer;
  declare variable tmp integer;
begin
  i = 0;
  while (i < 100000) do
  begin
    execute statement 'select first 1 fld from test' on external data source 'localhost:c:\bases\test.fdb'
      as user 'SYSDBA' password 'masterkey' 
      into :tmp;
    i = i + 1;
  end
end^

create or alter procedure TEST_PROC_2
as
  declare variable i integer;
  declare variable tmp integer;
begin
  i = 0;
  while (i < 100000) do
  begin
    execute statement 'select first 1 fld from test' on external data source 'xnet://c:\bases\test.fdb'
      as user 'SYSDBA' password 'masterkey' 
      into :tmp;
    i = i + 1;
  end
end^

Время выполнения

TEST_PROC_1 - 8s 625ms
TEST_PROC_2 - 7s 156ms

Преимущество есть, но не то, чтобы заметное.
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003602
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggory
Я имел ввиду этот абзац:

On Windows. the Loopback provider
Добавлю, на всякий - тут речь идёт о Loopback provider который в Firebird, а не который в OS (Windows).
Loopback - это достаточно общий термин и употребляется не только как конкретная реализация виртуального сетевого адаптера.
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003603
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
28.09.2020 16:46, ggreggory пишет:
> Насколько понял, XNET дает преимущества в работе.

в какой?
В локальной, вестимо. Он гораздо быстрее чем INET.
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003604
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggory
3) Работает ли XNET на терминальном сервере ?
Должен работать.
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003607
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggory
2) Можно как-нибудь узнать, какой реальный провайдер у текущего соединения? Смотрю "SELECT mon$remote_protocol from mon$attachments". При подключении по 127.0.0.1 пишет TCPv4.
Правильно смотришь.
Ещё можно show version в isql использовать.
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003715
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggoryТам виден двукратный рост скорости. Если у вас другая информация - поделитесь, плиз!
у меня на сайте (ibase.ru) давно выложены тесты бэкапа и рестора, со сравнением протоколов. И там видно, что да, xnet быстрее локального tcp.
Другое дело, что сейчас (2 недели назад) был другой тест, и там xnet не сильно быстрее localhost. Скажем, процентов на 10.
С другой стороны, для приложений (а не бэкапа) это может быть существеннее.

А вот самое хреновое - это пихать приложения и СУБД на один сервер, а потом выяснять, xnet быстрее или localhost.
Конечно xnet, но только субд там загнется. В приличных домах терминальные сервера и субд разделяют по разным компам (или хотя бы виртуалкам).
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003764
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggory
Преимущество есть, но не то, чтобы заметное.
Оно проявится только на вот таких синтетических тестах, ну или если реальная работа похожа на вот такую "долбёжку" малыми запросами.
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003794
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ggreggory,

если приложение однопользовательское или пользователей мало, то можно использовать xnet. И да он быстрее inet на localhost.

Но надо учитывать, что:
1. xnet есть только на windows
2. если пользователей много, то сервер СУБД обычно отделяют от терминального сервера и xnet уже не катит


kdvу меня на сайте (ibase.ru) давно выложены тесты бэкапа и рестора, со сравнением протоколов. И там видно, что да, xnet быстрее локального tcp. Другое дело, что сейчас (2 недели назад) был другой тест, и там xnet не сильно быстрее localhost. Скажем, процентов на 10.

Если в тесте который проводился 2 недели назад речь о 4.0, так там batch api практически сравнивает производительность xnet:// и inet://localhost
В реальных приложениях batch api не будет использоваться часто, если оно конечно не занимается только импортом данных, или массовой вставкой с каких нибудь датчиков.
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003914
Фотография Tonal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
Но надо учитывать, что:
1. xnet есть только на windows

Ещё
1.5. С xnet не работает шифрование базы.
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003917
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениспроводился 2 недели назад речь о 4.0, так там batch api
не, до 4.0 я не доехал, и понятно, что обычная работа приложений и batch api это разные вещи.
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40003924
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tonal1.5. С *xnet* не работает шифрование базы.

Если быть точным, то до некоторой версии по этому протоколу не передавался пакет запроса
на вызов сallback от keyholder, но во-первых, само шифрование вполне работало, во-вторых,
это уже пофикшено, в третьих, шифрование БД на локальном диске практического смысла не имеет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40004295
ggreggory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за подробные комментарии!

kdv

...и там xnet не сильно быстрее localhost. Скажем, процентов на 10.
С другой стороны, для приложений (а не бэкапа) это может быть существеннее.


У меня примерно такие же цифры (в пределах 10%) получились на комплексных тестах в приложении и backup. Возможно, у XNET есть больший потенциал, но пока не получается его реализовать.

Из странностей. В какой-то момент сервер перестал подключаться по XNET. Функция isc_attach_database стала выдавать что-то вроде 'SQL error state =08006 Unable to complete network request to host "xnet://Global\FIREBIRD". Вылечилось только рестартом службы. Ничего подобного с подключением по TCP не наблюдал.
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40007392
Фотография Tonal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Dimitry Sibiryakov
во-вторых, это уже пофикшено

Не подскажишь где?
А то я смотрю, по CORE-6055 движения как не было, так и нет...


Dimitry Sibiryakov
в третьих, шифрование БД на локальном диске практического смысла не имеет.

Теоретически , любой зашифрованный файл может быть расшифрован.
Но, как всегда, рулит соотношение денег/сил/времени/ресурсов.
Так что практически мы имеем эпидемии вирусов шифровальщиков-вымогателей. :)
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40007421
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TonalНе подскажишь где?

http://tracker.firebirdsql.org/browse/CORE-5730

Tonal
практически мы имеем эпидемии вирусов шифровальщиков-вымогателей. :)

В отличии от твоего приложения эти вирусы не хранят ключ прямо в себе.
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40007427
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TonalНо, как всегда, рулит соотношение денег/сил/времени/ресурсов.

И, кстати, в твоём случае ресурсов и времени надо совсем немного:
1) Внедрить в адресное пространство сервера свой код (любой плагин сойдёт, лучше всего
типа KeyHolder);
2) Вызвать из CryptManager-а функцию смены статуса БД. Всё остальное, включая расшифровку
БД, он сделает самостоятельно, используя ключ, полученный от твоего приложения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Небольшие вопросы по XNET
    #40007800
Фотография Tonal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

Ежели посмотреть на историю, то CORE-6055 создан после закрытия CORE-5730 и как раз для версии 3.0.4 в которой он как бы уже пофикшен...
Да, на 3.0.5 тоже проверялось - не работает. :(


Dimitry Sibiryakov
В отличии от твоего приложения эти вирусы не хранят ключ прямо в себе.

Приложение не моё. И ключ "в себе" не хранит.


Dimitry Sibiryakov
И, кстати, в твоём случае ресурсов и времени надо совсем немного:

В моём случае времени вовсе не нужно - я имею доступ и к коду, и к незашифрованной базе, и знаю концепцию и архитектуру защиты. :)

А вот в случае взлома - не всё так тривиально, потому как из многогиговой инсталляции с ведром екзешек и дллек, и кучей файлов данных нужно понять кто за что отвечает и куда кому что внедрять будем.
Ну и да, очевидные сценарии, типа твоего таки проверяются и имеют противодействие.
И некоторые не совсем очевидные тоже. :)
Всё это сильно увеличивает требования к взломщику.
Соответственно сразу же взлетает ценник, что практически убивает экономику.
По крайний мере, когда прикинули требуемую квалификацию и соответствующий ценник заказчик сказал, что его это устраивает. :)
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Небольшие вопросы по XNET
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]