Squid是什麼,Squid工作原理是什麼

2021-06-18 13:18:02 字數 3069 閱讀 1231

squid是什麼

[傳統**]

1.squid被繫結到**伺服器的3128埠。

2.客戶端瀏覽器被配置使用**伺服器的3128埠。

3.客戶端不需要配置dns。4.**伺服器上需要配置**伺服器。

5.客戶端不需要配置預設路由。

當我們在客戶端瀏覽器中開啟乙個web請求,比如「這時將陸續發生以下事件:

1.客戶端使用某一埠(比如1025)連線**伺服器3128埠,請求web頁面「

2.**伺服器向dns請求「www.96333.com」,得到相應的ip位址2.3.4.5。然後,**伺服器使用某一埠(比如1037)向該ip位址的80埠發起web連線請求,請求web頁面。

3.收到響應的web頁面後,**伺服器把該資料傳送給客戶端。

4.客戶端瀏覽器顯示該頁面。

從www.96333.com的角度看來,連線是在1.2.3.4地1037埠和2.3.4.5的80埠之間建立的。

從client的角度看來,連線是在192.168.1.100的1025埠和1.2.3.4的3128埠之間建立的。

[透明**]

透明**的意思是客戶端根本不需要知道有**伺服器的存在。

在以上基礎上我們做以下工作:

1.配置透明**伺服器軟體執行在**伺服器的3128埠。

2.配置**伺服器將所有對80埠的連線重定向到3128埠。

3.配置客戶端瀏覽器直接連解到internet。

4.在客戶端配置好dns.

5.配置客戶端的預設閘道器為192.168.1.1.

當我們在客戶端瀏覽器中開啟乙個web請求,比如「這時將陸續發生以下事件:

1.客戶端向dns請求「www.96333.com」,得到相應的ip位址2.3.4.5。然後,客戶端使用某一埠(比如1066)向該ip位址的80埠發起web連線請求,請求web頁面。

2.當該請求包通過透明**伺服器時,被防火牆將該資料報重定向到**伺服器的繫結埠3128。於是,透明

**伺服器用某一埠(比如1088)向2.3.4.5的80埠發起web連線請求,請求web頁面。

3.收到響應的web頁面後,**伺服器把該資料傳送給客戶端。

4.客戶端瀏覽器顯示該頁面。

從www.96333.com的角度看來,連線是在1.2.3.4地1088埠和2.3.4.5的80埠之間建立的。從client的角度看來,連線是在192.168.1.100的1066埠和2.3.4.5的80埠之間建立的。

以上就是傳統**伺服器和透明**伺服器的區別所在。

[反向**]

反向**是相對於傳統**而言,是**web伺服器接受客戶端的請求。在此,我們忽略客戶端的設定,假設客戶端是可以直接訪問網際網路。

web伺服器與客戶端的結構如下:

假設已經將www.96333.com的網域名稱指向了squid伺服器所在的ip,並且在web伺服器集群裡做了dns輪詢。

web server1 -|

web server2 -|- squid 伺服器/ internet / - client

web server3 -|

1.客戶端通過ie向dns伺服器傳送訪問www.96333.com的請求,由客戶所在地的dns伺服器解析www.96333.com的ip為2.3.4.5並返回給使用者。

2.客戶收到dns返回的伺服器ip位址,重新向www.96333.com指向的ip位址傳送訪問請求。

3.squid伺服器接收到使用者的請求後,查詢自身快取中是否有使用者請求內容,有則直接傳送給客戶端,如果沒有則通過內部dns輪詢查詢空閒伺服器,並將客戶請求傳送到該伺服器,在獲取到使用者資料並返回給使用者的同時保留乙份在自己本身的快取當中。在使用者看來,自己訪問的是www.96333.com這個伺服器,實際上真正的web伺服器為squid快取後面的伺服器或者伺服器集群,通過外部dns做cname轉向,將使用者請求**到內部真正的web伺服器上去。

squid工作原理是什麼

一、squid快取的存放方式:

每一台squid **伺服器上都有若干顆硬碟,每顆硬碟又分割成多個分割槽,每乙個分割槽又可建立很多目錄,目錄下才放檔案(squid 把它叫object)。

二、squid的查詢方式:

squid通過查詢表的方式來定位某個資源的位置,所查詢的表叫hash table 和digest table;digest table在這裡可以稱之為摘要或者索引,它記錄了磁碟上每個分割槽,每個目錄裡存的快取摘要,hash table在這裡可以稱之為目錄或者提綱,它記錄所有的digest table表資訊,squid接受到請求後先查詢hash table,在根據hash table所指向的digest table查詢需要的資訊。

三、squid伺服器之間的關係:

squid伺服器存在兩種工作關係,一種為child、parent,當child squid server沒有使用者需要的資料時,就象parent server發出請求,並持續等待,直到parent server回應自己為止;另外一種為ibling,當本地squid server沒有使用者請求資料時,會向sibling server發出請求,如果sibling server沒有資料則會向上級sibling或者internet傳送資料請求

四、squid運作模式

1. 當squid server 沒有資料時,會先向sibling 的squid server 要資料,如果sibling沒資料,就跳過它直接向parent 要。

2. 向parent 要資料,然後一直等,直到parent 給它資料為止(parent 自己有的資料或上internet 去拿)。

3. 沒有parent 時,就自己上internet 去拿。

4. 如果這三者都拿不到資料,才向使用者端回報拿不到資料。

一般而言,把網路上一層的squid server 設成sibling 是不錯的選擇(例如:乙個學校將所在城市網和附近的大學設成sibling),因為網路上一層的squid server 服務物件較多,其硬體功能較強,離我們比較近,速度也比較快;萬一要不到資料,我們還可以自己上internet 去拿。那什麼時候設parent?當您的出口只有乙個,或上一層squid server 拿不到資料,自己也一定拿不到,只好將上一層squid server 設為parent。

更多學習內容:

SQUID工作原理是什麼

一 squid快取的存放方式 每一台squid 伺服器上都有若干顆硬碟,每顆硬碟又分割成多個分割槽,每乙個分割槽又可建立很多目錄,目錄下才放檔案 squid 把它叫object 二 squid的查詢方式 squid 通過查詢表的方式來定位某個資源的位置,所查詢的表叫hash table 和diges...

squid 基本安裝

先看看是否可以建立快取目錄 usr local squid sbin squid z 一般出現的問題是squid對安裝快取的目錄許可權不夠則開啟適當的許可權即可,例如 chown r squid squid etc local squid var 然後檢視是否可以啟動 etc local squid...

Squid配置詳解

基本配置 安裝完成後,接下來要對squid 的執行進行配置 不是前面安裝時的配置 所有專案都在squid.conf中完成。squid自帶的squid.conf包括非常詳盡的說明,相當於一篇使用者手冊,對配置有任何疑問都可以參照解決。在這個例子 中,伺服器同時也是閘道器,內部網路介面eth0的ip位址...