* [Comm] SQUID - connection to servers
@ 2003-12-08 13:17 Epiphanov Sergei
2003-12-08 16:58 ` Dmitry Alexeyev
0 siblings, 1 reply; 9+ messages in thread
From: Epiphanov Sergei @ 2003-12-08 13:17 UTC (permalink / raw)
To: Рассылка Community
Всем привет!
Может кто-нибудь подсказать, в каком месте (файл исходника или название
функции), где squid осуществляет подключение к другим кэшам или лезет
напрямую к серверам за недостающей информацией? Перекопал исходники squid,
но что-то дельное в голову не лезет.
Судя по всему:
1)squid получает легитимный запрос на получение ресурсов
2) сервер опрашивает менеджер кэша
3) менеджер в случае отсутсвтия данных лезет в инет
Или я неправ?
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] SQUID - connection to servers
2003-12-08 13:17 [Comm] SQUID - connection to servers Epiphanov Sergei
@ 2003-12-08 16:58 ` Dmitry Alexeyev
2003-12-09 8:01 ` Epiphanov Sergei
0 siblings, 1 reply; 9+ messages in thread
From: Dmitry Alexeyev @ 2003-12-08 16:58 UTC (permalink / raw)
To: community
В сообщении от Понедельник 08 Декабрь 2003 16:17 Epiphanov Sergei
написал:
> Всем привет!
>
> Может кто-нибудь подсказать, в каком месте (файл исходника или
> название функции), где squid осуществляет подключение к другим кэшам
> или лезет напрямую к серверам за недостающей информацией? Перекопал
> исходники squid, но что-то дельное в голову не лезет.
>
> Судя по всему:
> 1)squid получает легитимный запрос на получение ресурсов
> 2) сервер опрашивает менеджер кэша
> 3) менеджер в случае отсутсвтия данных лезет в инет
>
> Или я неправ?
Там есть несколько политик сведения кэш-серверов "в один". sibling,
parent и multicast. Каждый cache_peer имеет свои опции, в том числе
вес.
Опрос sibling кэшей осуществляется по протоколу ICP (icp_port), если
обратное не указано в опциях.
Думаю, стоит уточнить вопрос...
BR,
Dmitry
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] SQUID - connection to servers
2003-12-08 16:58 ` Dmitry Alexeyev
@ 2003-12-09 8:01 ` Epiphanov Sergei
2003-12-09 8:08 ` Shawkat Nizamov
0 siblings, 1 reply; 9+ messages in thread
From: Epiphanov Sergei @ 2003-12-09 8:01 UTC (permalink / raw)
To: community
В сообщении от 8 Декабрь 2003 19:58 Dmitry Alexeyev написал:
> В сообщении от Понедельник 08 Декабрь 2003 16:17 Epiphanov Sergei
>
> написал:
> > Всем привет!
> >
> > Может кто-нибудь подсказать, в каком месте (файл исходника или
> > название функции), где squid осуществляет подключение к другим кэшам
> > или лезет напрямую к серверам за недостающей информацией? Перекопал
> > исходники squid, но что-то дельное в голову не лезет.
> >
> > Судя по всему:
> > 1)squid получает легитимный запрос на получение ресурсов
> > 2) сервер опрашивает менеджер кэша
> > 3) менеджер в случае отсутсвтия данных лезет в инет
> >
> > Или я неправ?
>
> Там есть несколько политик сведения кэш-серверов "в один". sibling,
> parent и multicast. Каждый cache_peer имеет свои опции, в том числе
> вес.
>
> Опрос sibling кэшей осуществляется по протоколу ICP (icp_port), если
> обратное не указано в опциях.
>
> Думаю, стоит уточнить вопрос...
Дело вот в чём: есть локальная сеть, на сервере-маршрутизаторе стоит squid,
который по запросам авторизованных пользователей лезет в инет за
информацией. Необходимо узнать, сколько он передал и принял байт из инета.
Одно из решений (с правкой самого сквида): сквид перед выходом в инет и во
время связи проверяет, разрешено ли еще данному пользователю получать
информацию. Программа анализа квот дает или не дает разрешение на
получение или передачу и если объем переданной или принятой информации
превышает уровень, то принудительно рвет связь между сквид и серверами по
этому соединению. всё ICP заблокировано. Приходится идти на это для того,
чтобы пользователи не могли закачать больше положенного (сейчас squid
регистрирует только после получения файла, а хотелось бы до).
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] SQUID - connection to servers
2003-12-09 8:01 ` Epiphanov Sergei
@ 2003-12-09 8:08 ` Shawkat Nizamov
2003-12-09 8:15 ` Epiphanov Sergei
2003-12-09 8:18 ` Epiphanov Sergei
0 siblings, 2 replies; 9+ messages in thread
From: Shawkat Nizamov @ 2003-12-09 8:08 UTC (permalink / raw)
To: community
>
> Дело вот в чём: есть локальная сеть, на сервере-маршрутизаторе стоит squid,
> который по запросам авторизованных пользователей лезет в инет за
> информацией. Необходимо узнать, сколько он передал и принял байт из инета.
> Одно из решений (с правкой самого сквида): сквид перед выходом в инет и во
> время связи проверяет, разрешено ли еще данному пользователю получать
> информацию. Программа анализа квот дает или не дает разрешение на
> получение или передачу и если объем переданной или принятой информации
> превышает уровень, то принудительно рвет связь между сквид и серверами по
> этому соединению. всё ICP заблокировано. Приходится идти на это для того,
> чтобы пользователи не могли закачать больше положенного (сейчас squid
> регистрирует только после получения файла, а хотелось бы до).
>
ИМХО, для такой задачи легче будет накрутить редиректор. Вот пусть он и
определяет сколько скачал пользователь и можно ли ему еще. Всю
необходимую для этого инфу сквид ему предоставляет.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] SQUID - connection to servers
2003-12-09 8:08 ` Shawkat Nizamov
@ 2003-12-09 8:15 ` Epiphanov Sergei
2003-12-09 8:22 ` Shawkat Nizamov
2003-12-09 9:07 ` crux
2003-12-09 8:18 ` Epiphanov Sergei
1 sibling, 2 replies; 9+ messages in thread
From: Epiphanov Sergei @ 2003-12-09 8:15 UTC (permalink / raw)
To: community
В сообщении от 9 Декабрь 2003 11:08 Shawkat Nizamov написал:
> > Дело вот в чём: есть локальная сеть, на сервере-маршрутизаторе стоит
> > squid, который по запросам авторизованных пользователей лезет в инет
> > за информацией. Необходимо узнать, сколько он передал и принял байт из
> > инета. Одно из решений (с правкой самого сквида): сквид перед выходом
> > в инет и во время связи проверяет, разрешено ли еще данному
> > пользователю получать информацию. Программа анализа квот дает или не
> > дает разрешение на получение или передачу и если объем переданной или
> > принятой информации превышает уровень, то принудительно рвет связь
> > между сквид и серверами по этому соединению. всё ICP заблокировано.
> > Приходится идти на это для того, чтобы пользователи не могли закачать
> > больше положенного (сейчас squid регистрирует только после получения
> > файла, а хотелось бы до).
>
> ИМХО, для такой задачи легче будет накрутить редиректор. Вот пусть он и
> определяет сколько скачал пользователь и можно ли ему еще. Всю
> необходимую для этого инфу сквид ему предоставляет.
А можно немного поподробнее? Как я понял, сквид соединяется с моей
программой и в пакете передает кто и что хочет получить? То бишь просто
можно создать такую программу? Если так, то попробую к этому прикрутить
ulog (уж больно удобная вещь :)) ).
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] SQUID - connection to servers
2003-12-09 8:08 ` Shawkat Nizamov
2003-12-09 8:15 ` Epiphanov Sergei
@ 2003-12-09 8:18 ` Epiphanov Sergei
1 sibling, 0 replies; 9+ messages in thread
From: Epiphanov Sergei @ 2003-12-09 8:18 UTC (permalink / raw)
To: community
В сообщении от 9 Декабрь 2003 11:08 Shawkat Nizamov написал:
> > Дело вот в чём: есть локальная сеть, на сервере-маршрутизаторе стоит
> > squid, который по запросам авторизованных пользователей лезет в инет
> > за информацией. Необходимо узнать, сколько он передал и принял байт из
> > инета. Одно из решений (с правкой самого сквида): сквид перед выходом
> > в инет и во время связи проверяет, разрешено ли еще данному
> > пользователю получать информацию. Программа анализа квот дает или не
> > дает разрешение на получение или передачу и если объем переданной или
> > принятой информации превышает уровень, то принудительно рвет связь
> > между сквид и серверами по этому соединению. всё ICP заблокировано.
> > Приходится идти на это для того, чтобы пользователи не могли закачать
> > больше положенного (сейчас squid регистрирует только после получения
> > файла, а хотелось бы до).
>
> ИМХО, для такой задачи легче будет накрутить редиректор. Вот пусть он и
> определяет сколько скачал пользователь и можно ли ему еще. Всю
> необходимую для этого инфу сквид ему предоставляет.
Кстати, редиректор в самом squid не подойдет, так как он опрашивается
(по-моему) один раз за каждое соединение перед началом выкачивания файла.
Так что если у пользователя есть еще 1 Кб и он закажет файл на 100Мб, то
обнаружить это смогу только после другого соединения.
--
С уважением, Епифанов Сергей
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] SQUID - connection to servers
2003-12-09 8:15 ` Epiphanov Sergei
@ 2003-12-09 8:22 ` Shawkat Nizamov
2003-12-09 9:07 ` crux
1 sibling, 0 replies; 9+ messages in thread
From: Shawkat Nizamov @ 2003-12-09 8:22 UTC (permalink / raw)
To: community
>
> А можно немного поподробнее? Как я понял, сквид соединяется с моей
> программой и в пакете передает кто и что хочет получить? То бишь просто
> можно создать такую программу? Если так, то попробую к этому прикрутить
> ulog (уж больно удобная вещь :)) ).
>
Для каждого полученного от пользователя запроса сквид обращается к
внешней программе, передавая ей кучу параметров относительно полученного
от пользователя запроса. Эта программа обрабатывает всю полученную ею
информацию о пользовательском запросе и принимает решение что с ним
делать - отрабатывать, перенаправить или отказать.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] SQUID - connection to servers
2003-12-09 8:15 ` Epiphanov Sergei
2003-12-09 8:22 ` Shawkat Nizamov
@ 2003-12-09 9:07 ` crux
2003-12-09 9:18 ` Epiphanov Sergei
1 sibling, 1 reply; 9+ messages in thread
From: crux @ 2003-12-09 9:07 UTC (permalink / raw)
To: community
Epiphanov Sergei пишет:
> А можно немного поподробнее? Как я понял, сквид соединяется с моей
>
>программой и в пакете передает кто и что хочет получить? То бишь просто
>можно создать такую программу? Если так, то попробую к этому прикрутить
>ulog (уж больно удобная вещь :)) ).
>
>
>
Подробнее здесь: http://www.squid-cache.org/Doc/FAQ/FAQ-15.html
Но мне кажется для твоей задачи это не подойдёт. Нормальный редиректор
должен обрабатывать тысячи запросов в секунду. Представь, что на каждый
запрос редиректор будет определять физический размер файла, чтоб не дать
юзеру возможность прокачать лишнее... После нескольких запросов все
редиректоры моментально окажутся занятыми, ну а по приходу следующих
запросов два варианта: либо вешается squid, либо он пропускает запросы
без проверки...
--
crux
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Comm] SQUID - connection to servers
2003-12-09 9:07 ` crux
@ 2003-12-09 9:18 ` Epiphanov Sergei
0 siblings, 0 replies; 9+ messages in thread
From: Epiphanov Sergei @ 2003-12-09 9:18 UTC (permalink / raw)
To: community
[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 1022 bytes --]
В сообщении от 9 Декабрь 2003 12:07 crux написал:
> Epiphanov Sergei пишет:
> > А можно немного поподробнее? Как я понял, сквид соединяется с моей
> >
> >программой и в пакете передает кто и что хочет получить? То бишь просто
> >можно создать такую программу? Если так, то попробую к этому прикрутить
> >ulog (уж больно удобная вещь :)) ).
>
> Подробнее здесь: http://www.squid-cache.org/Doc/FAQ/FAQ-15.html
> Но мне кажется для твоей задачи это не подойдёт. Нормальный редиректор
> должен обрабатывать тысячи запросов в секунду. Представь, что на каждый
> запрос редиректор будет определять физический размер файла, чтоб не дать
> юзеру возможность прокачать лишнее... После нескольких запросов все
> редиректоры моментально окажутся занятыми, ну а по приходу следующих
> запросов два варианта: либо вешается squid, либо он пропускает запросы
> без проверки...
Точнее, это получается не редиректор, а ретранслятор... Для squid он просто
становится parent cache или что-то вроде этого.
--
С уважением, Епифанов Сергей
[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2003-12-09 9:18 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-12-08 13:17 [Comm] SQUID - connection to servers Epiphanov Sergei
2003-12-08 16:58 ` Dmitry Alexeyev
2003-12-09 8:01 ` Epiphanov Sergei
2003-12-09 8:08 ` Shawkat Nizamov
2003-12-09 8:15 ` Epiphanov Sergei
2003-12-09 8:22 ` Shawkat Nizamov
2003-12-09 9:07 ` crux
2003-12-09 9:18 ` Epiphanov Sergei
2003-12-09 8:18 ` Epiphanov Sergei
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git