8 Як Squid працює?
8.1 Які об'єкти кешуються?
Об'єкти Internet такі як файл, документ, або відповідь на запит наступних сервісів: FTP, HTTP, або gopher. Клієнт запитує об'єкт Internet з кешируючого проксі, проксі сервер отримує об'єкт (або з хоста, вказаного в URL, або з батьківського або братнього кеша), переправляючи його клієнту.
8.2 Що за протокол ICP?
ICP насамперед використовується в ієрархії кешей для пошуку певних об'єктів в братських кешах. Якщо squid не знаходить потрібного документа, то посилає ICP запит братнім кешам, які в свою чергу відповідають ICP відповідями "HIT" ( "попадання") або "MISS" ( "промах"). Потім кеш використовує відповіді для вибору за допомогою якого кеша вирішувати свої відповіді MISS.
ICP також підтримує складні передачі безлічі об'єктів через одне TCP з'єднання. ICP зараз працює поверх UDP. Поточні версії Squid також підтримують множинні запити ICP.
8.3 Що таке dnsserver?
У Squid не повинен блокуватися процес введення / виводу, тому DNS звернення виконані як зовнішній до основного процес. Процеси dnsserver НЕ кешируєтся запити DNS, це робиться самим squid`ом.
8.4 Для чого потрібна программftpget?
Програма ftpget це FTP клієнт, який використовується для скачування файлів з FTP серверів. Через те, що FTP протокол непростий, простіше виконати його окремо від основного коду squid.
8.5 FTP PUT не працює
Схоже, що FTP put не працює через squid. Чи можна як-небудь це виправити і / або ведеться якась робота в цьому напрямку.
На даний момент немає, для підтримки цього потрібна буде програма ftpput.
8.6 Що таке ієрархія кешей? Що таке батьківські і братські Кеші?
Ієрархія кешей це структура кешируєтся проксі-серверів розташованих логічно як батьківський / дочірній і братський вузли, таким чином, що кеши найближчі до каналу в Internet є батьками тим, які знаходяться далі від точки входу в Internet. Батьківські кеши обробляють "промахи" дочірніх. Інакше кажучи, коли кеш запитує об'єкт з батьків, і у того в кеші його не надається, батьківський кеш викачує об'єкт, кешує його, і передає дочірньому. Таким чином, за допомогою ієрархії досягається максимальна розвантаження каналу, знижується використання зовнішніх серверів Internet і виходить більше число "влучень" дочірніх кешей, в порівнянні з батьківськими, за рахунок більшого кеша останніх.
Крім батьківських / дочірніх відносин, squid підтримує поняття братських кешей, тобто знаходяться на одному рівні ієрархії, покликаних розподілити навантаження. Кожен кеш в ієрархії незалежно ні від кого вирішує звідки брати об'єкт, або з сервера в Internet, або з батьківського або братнього кеша, використовуючи простий механізм дозволу. Братські кеши не забиратимуть об'єкт для іншого кеша того ж рівня, отримавши від них "промах".
8.7 Який алгоритм вирішення кеша Squid?
- Розіслати ICP запити всім відповідним братнім кешам
- Дочекатися всіх відповідей, які прийшли протягом заданого часу (за замовчуванням дві секунди).
- Отримавши перший відповідь HIT почати скачування об'єкта. або
- Взяти об'єкт з першого батьківського кеша, який відповів MISS (залежить від вагових коефіцієнтів), або
- Забрати об'єкт з Internet
Директива single_parent_bypass запобігає розсилку ICP запитів, в разі коли відповідний братський кеш це батьківський (тобто, якщо більше немає звідки брати об'єкт, навіщо даремно запитувати?)
8.8 Над якими можливостями Squid розробники зараз працюють?
Є кілька відкритих проектів, що стосуються кращого автоматичного вирівнювання навантаження, також (динамічного і статичного) вибору батьківських кешей, роутінга, множинних кеш-кеш звернень і кращого розпізнавання URL, які не треба кешувати.
8.9 Де знайти інформацію про завантаження Internet трафіку
8.10 Які переваги кешування спільно з кешируєтся системою NLANR?
Переваги ієрархічного кешування полягають в зниженні завантаження каналу, зменшення часу доступу, кращої стійкості до збоїв. Кеші верхнього рівня обслуговують запити ніжестоящіх..Еслі середній відсоток попадання крайового кеша 50%, половина всіх посилань крайових кешей повинна оброблятися через кеш другого рівня, ніж безпосередньо з вихідного хоста. Якщо цей кеш другого рівня містить більшість запитуваних документів, то виграш досягається, але якщо кеш верхнього рівня частіше за все не має потрібний документ, або перевантажений, то час доступу замість зниження збільшується.