了解最新公司動態(tài)及行業(yè)資訊
半夜十二點(diǎn),小王睡得很香。
突然,清脆的手機(jī)鈴聲響起,將睡夢中的小王拉回了現(xiàn)實(shí)。
“你好,請問是誰?”
“王功,我是監(jiān)控中心的,公司的xxx服務(wù)器宕機(jī)了,請看一下?!?/p>
小王揉了揉眼睛,起身,打開筆記本電腦,開始了一個(gè)不眠之夜。
作為運(yùn)維工程師,上面的橋段經(jīng)常發(fā)生在大家身邊。白天繁重的工作讓人筋疲力盡,而作為夜間值班的工程師,你仍然要面對突發(fā)的網(wǎng)絡(luò)或系統(tǒng)故障。生活是黑白的,白天和黑夜。
請問,運(yùn)維工程中可以用什么來拯救睡眠?
再講一個(gè)故事。
我有一個(gè)朋友是網(wǎng)絡(luò)工程師。姑且稱他為“錢哥”吧。
在和錢哥聊天的時(shí)候,我問他們晚上的電話任務(wù)是否繁重。他冷漠的回答如下:
“如果我們世界中的某個(gè)站點(diǎn) (PoP) 出現(xiàn)故障,我們完全不必?fù)?dān)心或擔(dān)心。工程師應(yīng)該睡覺和休息?!?/p>
我很疑惑,你要知道它是一家全球CDN服務(wù)商,據(jù)說全世界10%的互聯(lián)網(wǎng)流量都跑在他們家的網(wǎng)絡(luò)上。
按常識來說,這樣規(guī)模的公司,一個(gè)區(qū)域性網(wǎng)站倒閉是一件極其嚴(yán)重的事情。但是錢哥的回答讓我很疑惑,徹底顛覆了我的認(rèn)知。
他們都是工程師,差距這么大,別人晚上睡覺,我們的機(jī)房很干!
經(jīng)過一番追問,我終于明白了他們的秘密,原來這一切都是因?yàn)樗麄兪褂昧诉@項(xiàng)技術(shù)。
那我們能不能像錢哥一樣,用科技讓工程師安睡一夜?
科普,什么是技術(shù)?
在IP地址的世界里,眾所周知的IP地址類型大致有以下幾種:
IP
單播IP服務(wù)器運(yùn)維,IP地址與主機(jī)一一對應(yīng)。
如下圖,紅色節(jié)點(diǎn)為數(shù)據(jù)包發(fā)送方,綠色節(jié)點(diǎn)為數(shù)據(jù)包接收方。
當(dāng)一個(gè)數(shù)據(jù)包被發(fā)送到一個(gè)特定的 IP 地址時(shí),全球只有一臺主機(jī)接收該數(shù)據(jù)包。這是。
IP
組播IP,組播IP有一個(gè)特定的IP地址段。當(dāng)一個(gè)數(shù)據(jù)包被發(fā)送到這個(gè)組播IP地址時(shí),組內(nèi)的成員可以收到該數(shù)據(jù)包的副本。
如下圖,紅色節(jié)點(diǎn)為數(shù)據(jù)包發(fā)送方,綠色節(jié)點(diǎn)為數(shù)據(jù)包接收方。
當(dāng)一個(gè)數(shù)據(jù)包被發(fā)送到一個(gè)特定的組播IP地址時(shí),同時(shí)有多個(gè)數(shù)據(jù)包的接收者。
IP
廣播IP,任何單播網(wǎng)段的最后一個(gè)IP地址。發(fā)送到該地址的數(shù)據(jù)包被泛洪到整個(gè)廣播域的成員。
如下圖,紅色節(jié)點(diǎn)為數(shù)據(jù)包發(fā)送方,綠色節(jié)點(diǎn)為數(shù)據(jù)包接收方。
當(dāng)一個(gè)數(shù)據(jù)包被發(fā)送到一個(gè)廣播IP地址時(shí),所有成員都是數(shù)據(jù)包的接收者。
IP是一種特殊類型的IP地址,結(jié)合了各種特點(diǎn)
中文叫任播。
從宏觀上看,類似于同一時(shí)間有多個(gè)相同類型的數(shù)據(jù)流的接收者。
而且從微觀的角度來看,它具有獨(dú)特性。每個(gè)單獨(dú)的 IP 會話都可以找到唯一的源主機(jī)和目標(biāo)主機(jī)。
乍看之下似乎矛盾,其實(shí)不然。
以DNS請求為例,假設(shè)全國人民同時(shí)發(fā)送100萬個(gè)DNS請求,全部發(fā)送到1.1.1.的DNS服務(wù)器地址@>1.
在宏觀層面,所有數(shù)據(jù)包都被傳送到分布在全國各地的 DNS 服務(wù)器。分布在各地的DNS服務(wù)器分別接收一定數(shù)量的DNS請求并做出響應(yīng)。這反映了特點(diǎn)。
微觀上,一個(gè)特定的DNS請求包必須發(fā)送到某個(gè)DNS主機(jī),而不是多個(gè)DNS主機(jī)同時(shí)接收該包。這是一項(xiàng)功能。
如下圖,紅色節(jié)點(diǎn)為數(shù)據(jù)包發(fā)送方,綠色節(jié)點(diǎn)為數(shù)據(jù)包接收方。
在環(huán)境中,一般情況下,同時(shí)有多個(gè)有效的數(shù)據(jù)包接收者,但對于特定的IP數(shù)據(jù)包,只有一個(gè)接收者主機(jī)接收到該數(shù)據(jù)包。
胡說八道在哪里?
在企業(yè)網(wǎng)絡(luò)環(huán)境中比較少見,主要用于大規(guī)模DNS部署、CDN數(shù)據(jù)緩存、數(shù)據(jù)中心等。
自然很多做企業(yè)網(wǎng)絡(luò)維護(hù)的朋友都會有疑問?;ヂ?lián)網(wǎng)上的多臺主機(jī)怎么能使用同一個(gè)IP,這不是IP地址沖突嗎?
答案:
首先,每個(gè)服務(wù)器主機(jī)位于不同的地理位置,并且它們不在同一個(gè)廣播域中。所以把所有的主機(jī)都配置成同一個(gè)IP地址不會造成我們?nèi)粘?吹降腎P地址沖突。
其次,配置相同的IP地址是不夠的,我們還需要強(qiáng)大的BGP幫助。
使用 BGP,每個(gè)站點(diǎn)都通告相同的 IP 地址。
自然會收到不同的目標(biāo)路徑,但I(xiàn)P地址段相同。那么數(shù)據(jù)包在這個(gè)環(huán)境中是如何路由的呢?
別著急,往下看。
為了讓大家有更深入的了解和了解,下面將詳細(xì)介紹主要優(yōu)點(diǎn)和用途
:
使用1:負(fù)載-負(fù)載均衡和系統(tǒng)冗余
不談理論,舉個(gè)例子方便理解。
為了說明使用和負(fù)載均衡的關(guān)系,以及冗余,一個(gè)具體的例子如下:
假設(shè)我們現(xiàn)在有三個(gè) DNS 服務(wù)器站點(diǎn),分別位于北京、上海和廣州。他們?yōu)槿珖秶?DNS 解析服務(wù)提供服務(wù)。
按照一般的方案,為了實(shí)現(xiàn)三臺DNS服務(wù)器的負(fù)載均衡,有些人可能會考慮使用硬件負(fù)載均衡設(shè)備,比如常見的F5負(fù)載均衡設(shè)備。
但是,如果使用硬件負(fù)載均衡,會出現(xiàn)以下問題:
1. 網(wǎng)絡(luò)流量瓶頸。所有流量都需要先經(jīng)過負(fù)載均衡設(shè)備,硬件設(shè)備本身的吞吐量決定了整個(gè)網(wǎng)絡(luò)環(huán)境的吞吐量。
2. 高昂的硬件成本,為了實(shí)現(xiàn)全國流量負(fù)載均衡,試想一下需要多少吞吐量的硬件設(shè)備。硬件吞吐量越高,購買成本越高。
通過技術(shù),無需任何第三方負(fù)載均衡器即可輕松實(shí)現(xiàn)負(fù)載均衡的效果,同時(shí)提供冗余和高可靠性。
實(shí)現(xiàn)如下:
通過配置三個(gè)DNS站點(diǎn)的服務(wù)器IP為同一個(gè)IP服務(wù)器運(yùn)維,例如1.1.1.1/32。然后,1.1.1.0/24的網(wǎng)段通過各個(gè)站點(diǎn)的BGP對外公布。
(注意:為什么要宣布/24而不是/32?因?yàn)樵谄渲?,為了減小全局路由表的大小,運(yùn)營商默認(rèn)只接受小于等于/8的網(wǎng)段,并且大于或等于 /24 宣布訪問 。)
以上步驟完成后,互聯(lián)網(wǎng)路由表將有三個(gè)不同的1.1.1.1/24出口路由器,分別是北京、上海和廣州。
這很重要,因?yàn)樗杏脩舳际褂?1.1.1.1 作為他們的 DNS 服務(wù)器。
對于東北地區(qū)的用戶,哪個(gè)DNS服務(wù)器會為東北地區(qū)的用戶提供解析?
答案是:就近原則!
讓我們看一下數(shù)據(jù)包如何通過網(wǎng)絡(luò)路由的細(xì)節(jié):
當(dāng)用戶的DNS請求到達(dá)運(yùn)營商的寬帶路由器時(shí),運(yùn)營商的路由器會根據(jù)BGP路由原則選擇到1.1.1.1的最優(yōu)路徑。
例如,在用戶的寬帶運(yùn)營商和DNS服務(wù)器運(yùn)營商相同的情況下,IGP最終將是決定哪個(gè)DNS服務(wù)器為用戶提供服務(wù)的關(guān)鍵因素。
在某種程度上,IGP 是物理距離的代表。
如上圖,四川寬帶路由器通過查看BGP路由發(fā)現(xiàn)1.1.1.1出口的最優(yōu)路由在廣州。然后將四川用戶的DNS報(bào)文發(fā)送到廣州的DNS服務(wù)器。
同樣,東北用戶的DNS解析會發(fā)給北京的DNS服務(wù)器,而上海的DNS服務(wù)器負(fù)責(zé)江南地區(qū)。
如果出現(xiàn)問題怎么辦?
如果三臺DNS服務(wù)器中的一臺出現(xiàn)故障,例如廣東DNS服務(wù)宕機(jī)。 BGP 協(xié)議將立即停止通告這個(gè) 1.1.1.0/24 網(wǎng)段。路由表將只有北京和上海的 DNS 可供選擇。
此時(shí),原廣東DNS服務(wù)的用戶會根據(jù)“最近原則”選擇另一臺DNS服務(wù)器,如上海DNS。
從而實(shí)現(xiàn)業(yè)務(wù)平滑遷移和服務(wù)高可用。
基于以上分析,我們不難得出以下結(jié)論:
全國用戶最終會根據(jù)與DNS服務(wù)器的距離來決定使用哪個(gè)DNS服務(wù)器進(jìn)行域名解析。
從DNS的角度來看,正是因?yàn)椴煌乩砦恢玫挠脩魰鶕?jù)就近的路由選擇不同的DNS服務(wù)器,最終達(dá)到三臺DNS服務(wù)器負(fù)載均衡的效果。
如果其中一個(gè)節(jié)點(diǎn)出現(xiàn)故障,業(yè)務(wù)會立即遷移到其他可用節(jié)點(diǎn),避免網(wǎng)絡(luò)服務(wù)故障。完全不需要人工干預(yù)。
24小時(shí)免費(fèi)咨詢
請輸入您的聯(lián)系電話,座機(jī)請加區(qū)號