Courier Mail Server Forum Index Courier Mail Server
www.courierms.ru
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Зачем эти прыжки и ужимки? Лишние действия CMS ...

 
Post new topic   Reply to topic    Courier Mail Server Forum Index -> Courier Mail Server 3.xx
View previous topic :: View next topic  
Author Message
GrAnd
CMS Master
CMS Master


Joined: 21 Oct 2005
Posts: 766
Location: г. Коломна

PostPosted: 06 Oct 2013 20:08 (Sun)    Post subject: Зачем эти прыжки и ужимки? Лишние действия CMS ... Reply with quote

Поставил ограничение на количество одновременных подключений по SMTP с одного IP и обратил внимание вот на что:

Code:
===[CMSLog cut]===============8<----------------------------------------------
+06.10.2013 19:06:12 0001 Подключился SMTP-клиент [186.232.193.166]
~06.10.2013 19:06:12 0001 iphlpapi.dll loaded
~06.10.2013 19:06:12 0001 Windows DNS servers: 127.0.0.1;192.168.0.108;
~06.10.2013 19:06:12 0001 iphlpapi.dll unloaded
~06.10.2013 19:06:12 0001 DNS query [127.0.0.1]: 166.193.232.186.in-addr.arpa 12
~06.10.2013 19:06:12 0001 166.193.232.186.in-addr.arpa PTR ip186-232-193-166.entrenaonda.com.br
 06.10.2013 19:06:12 0001 Получаем IP-адреса для ip186-232-193-166.entrenaonda.com.br...
~06.10.2013 19:06:12 0001 DNS query [127.0.0.1]: ip186-232-193-166.entrenaonda.com.br 1
~06.10.2013 19:06:12 0001 ip186-232-193-166.entrenaonda.com.br A 186.232.193.166
 06.10.2013 19:06:12 0001 IP-адреса: 186.232.193.166;
 06.10.2013 19:06:12 0001 Слишком много подключений (1)
<06.10.2013 19:06:12 0001 421 Too many connections, try again later
-06.10.2013 19:06:12 0001 Отключился SMTP-клиент [186.232.193.166]
------------------------------>8===============================[CMSLog cut]===


Т.е. сначала идет проверка PTR и только потом CMS спохватывается, что число подключений слишком велико, и дает отлуп?
Не проще ди это делать сразу? И логи не загромаждаются и число запросов к DNS на обратный резольвинг будет меньше.

_________________
Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец!
Back to top
View user's profile Send private message
NAMOR
CMS Developer


Joined: 15 Oct 2005
Posts: 1079

PostPosted: 06 Oct 2013 20:34 (Sun)    Post subject: Reply with quote

При отсутствии PTR-записи клиенту выдаётся постоянная ошибка (5xx), поскольку, даже подключившись позже, доступа к сервису он не получит.
При превышении макс. числа подключений клиенту выдаётся временная ошибка (4xx), поскольку, подключившись позже, он может получить доступ к сервису.
Сначала проверяется более жёсткое условие, поскольку клиенту, сразу получившему ошибку 5xx, не имеет смысла больше подключаться и сервис будет избавлен от последующего подключения этого клиента.
Понятно, что спамерам закон не писан, но тратить время на повторные подключения в ответ на 5xx им тоже смысла нет.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
GrAnd
CMS Master
CMS Master


Joined: 21 Oct 2005
Posts: 766
Location: г. Коломна

PostPosted: 06 Oct 2013 20:45 (Sun)    Post subject: Reply with quote

Все не так страшно, как на самом деле Smile))

Если соединение не проходит по ограничению на число коннектов, то что это значит?

А это значит, что какие-то соединения с этого IP уже установлены и являются активными в настоящее время. А это, в свою очередь, значит, что проверка по PTR соединений с этого IP уже была произведена. И клиент отлуп с кодом 5xx уже не получил. И тратить время и силы на повторную проверку PTR, которая заведомо будет положительной, не имеет большого смысла.

_________________
Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец!
Back to top
View user's profile Send private message
NAMOR
CMS Developer


Joined: 15 Oct 2005
Posts: 1079

PostPosted: 06 Oct 2013 21:36 (Sun)    Post subject: Reply with quote

Логично. Согласен. Переделаю.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
GrAnd
CMS Master
CMS Master


Joined: 21 Oct 2005
Posts: 766
Location: г. Коломна

PostPosted: 07 Oct 2013 10:34 (Mon)    Post subject: Reply with quote

кстати, может быть имеет смысл кэшировать результаты проверки PTR на время активности коннекта.

Тогда, если создаются несколько коннектов с одного IP, но числом не превышающим ограничение по количеству одновременных подключений, то проверка PTR выполняется только для первого. А остальные, пока первое соединение активно, берут результат из кэша и проверку сами не производят.

_________________
Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец!
Back to top
View user's profile Send private message
NAMOR
CMS Developer


Joined: 15 Oct 2005
Posts: 1079

PostPosted: 07 Oct 2013 10:58 (Mon)    Post subject: Reply with quote

Согласен.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
NAMOR
CMS Developer


Joined: 15 Oct 2005
Posts: 1079

PostPosted: 30 Apr 2014 0:26 (Wed)    Post subject: Re: Зачем эти прыжки и ужимки? Лишние действия CMS ... Reply with quote

GrAnd wrote:
Т.е. сначала идет проверка PTR и только потом CMS спохватывается, что число подключений слишком велико, и дает отлуп?
Не проще ди это делать сразу? И логи не загромаждаются и число запросов к DNS на обратный резольвинг будет меньше.

Переделали в CMS 3.03 beta 1:
Code:
[*] При подключении клиента к сервису теперь сначала проверяется
    ограничение на число одновременных подключений, затем, если ограничение
    не превышено, выполняются остальные проверки клиента.

GrAnd wrote:
кстати, может быть имеет смысл кэшировать результаты проверки PTR на время активности коннекта.

Тогда, если создаются несколько коннектов с одного IP, но числом не превышающим ограничение по количеству одновременных подключений, то проверка PTR выполняется только для первого. А остальные, пока первое соединение активно, берут результат из кэша и проверку сами не производят.

Сделали в CMS 3.03 beta 1:
Code:
[*] Если при подключении клиента к сервису имеются установленные
    подключения к этому же сервису с IP-адреса клиента и максимальное число
    одновременных подключений не достигнуто, то данному клиенту разрешается
    доступ к сервису без каких-либо дополнительных проверок. Тем самым
    ускоряются параллельные подключения с одного IP-адреса.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Courier Mail Server Forum Index -> Courier Mail Server 3.xx All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group