使用ospf做負載均衡**
一、ospf產生背景
隨著網際網路的快速發展,為了滿足建造越來越大基於ip網路的需要,不得不把網路邏輯結構劃分為乙個個單一自治系統。
二、ospf技術原理
ospf(open shortest path first開放式最短路徑優先 )是乙個內部閘道器協議(interior gateway protocol,簡稱igp),用於在單一自治系統(as)內決策路由。鏈路是路由器介面的另一種說法,因此ospf也稱為介面狀態路由協議。ospf通過路由器之間通告網路介面的狀態來建立鏈路狀態資料庫,生成最短路徑樹,每個ospf路由器使用這些最短路徑構造路由表。 ospf路由協議用於在單一自治系統內決策路由。
ospf通過路由器之間通告網路介面的狀態來建立鏈路狀態資料庫,生成最短路徑樹,每個ospf路由器使用這些最短路徑構造路由表。
ospf路由協議是一種典型的鏈路狀態路由協議,一般用於同乙個路由域內。在這裡,路由域是是指一組通過統一的路由政策或路由協議互相交換路由資訊的網路。在這個as中,所有的ospf路由器都維護乙個相同的描述這個 as結構的資料庫,該資料庫中存放的是路由域中相應鏈路的狀態資訊,ospf路由器正是通過這個資料庫計算出其ospf路由表的。
ospf將鏈路狀態廣播資料報lsa傳送給在某一區域內的所有路由器,這一點與距離向量路由協議不同。執行距離向量路由協議的路由器是將部分或全部的路由表傳遞給與其相鄰的路由器。
三、ospf負載均衡技術特點
ospf會自動計算介面上的cost值,但也可以通過手工指定該介面的cost值,手工指定的優先於自動計算的值。ospf計算的cost,同樣是和介面頻寬成反比,頻寬越高,cost值越小。到達目標相同cost值的路徑,可以執行負載均衡,最多6條鏈路同時執行負載均衡。
1、ecmp等價多路徑
即存在多條到達同乙個目的位址的相同開銷的路徑。當裝置支援等價路由時,發往該目的 ip 或者目的網段的三層**流量就可以通過不同的路徑分擔,實現網路的負載均衡,並在其中某些路徑出現故障時,由其它路徑代替完成**處理,實現路由冗餘備份功能。
2、與傳統路由技術比較
如果使用傳統的路由技術,發往該目的位址的資料報只能利用其中的一條鏈路,其它鏈路處於備份狀態或無效狀態,並且在動態路由環境下相互的切換需要一定的時間,而等價多路徑路由協議可以在該網路環境下同時使用多條鏈路,不僅增加了傳輸頻寬,並且可以無時延無丟包地備份失效鏈路的資料傳輸。
3、分配包的基本方式
(1)基於資料流的負載分擔
目的位址和源位址相同的報文屬於乙個資料流。基於資料流的負載分擔的方式就是,假定有10個資料流,有2條路徑可選擇,一邊各走5個。
(2)基於資料報文的負載分擔
假定有10個資料報文,有2個路徑可選擇,一邊各走5個。
4、優點
提高鏈路利用率;路徑冗餘備份。
5、缺點
實際上,網路中各條路徑的頻寬、時延和可靠性等不一樣,把cost認可成一樣,不能很好地利用頻寬,尤其在路徑間差異大時,效果會非常不理想,逐包**可能導致報文亂序。例如,路由器兩個出口,兩路徑,乙個頻寬是100m,乙個是2m,如果部署是ecmp,則網路總頻寬只能達到4m的利用率。
6、ecmp改進方向
ecmp演算法的核心是均衡使用所有等代價的路徑。當前網路的負載狀態會影響最短路徑的選取。比如,兩點之間的最短路如果使用越來越多直至擁塞,最短路就會發生變化。因此,最短路是隨著當前網路的負載而發生變化的。最短路徑的計算是由鏈路權重確定的,鏈路權重確定了之後最短路也就確定了。所以,如何根據當前網路負載狀況對鏈路權重進行賦值是ecmp路由演算法的乙個重要的問題。
四、ospf負載均衡適用場景
ospf負載均衡一般與其他負載均衡一起搭建成負載均衡集群,提供高可用、高負載服務。
五、一些使用osfp的例項
ospf+lvs-dr集群:
使用Apache做負載均衡
第一次看到這個標題時我也很驚訝,apache居然還能做負載均衡?真是太強大了。經過一番調查後發現的確可以,而且功能一點都不差。這都歸功於 mod proxy 這個模組。不愧是強大的apache啊。廢話少說,下面就來解釋一下負載均衡的設定方法。一般來說,負載均衡就是將客戶端的請求分流給後端的各個真實伺...
利用Nginx做負載均衡
最近正在研究nginx,nginx作為反向 伺服器,可以對web伺服器提供加速,並且具有負載均衡的功能。在windows版本中,將壓縮包進行解壓,執行命令 1 start nginx 這樣就可以啟動nginx服務了。而執行命令 1 nginx s stop 可以停止服務。這是我在192.168.3....
使用nginx做負載均衡
負載均衡,單從字面上的意思來理解就可以解釋n臺伺服器平均分擔負載,不會因為某台伺服器負載高宕機而某台伺服器閒置的情況。那麼負載均衡的前提就是要有多台伺服器才能實現,也就是兩台以上即可。首先,選擇乙個 伺服器,此處用的nginx伺服器,在 伺服器的nginx.conf 此處是在nignx.conf中i...