ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [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