流量監(jiān)控(TC)+網(wǎng)絡(luò)管控(iptables工具)+分布式框架簡介

TC工具:參考

應(yīng)用場景:網(wǎng)絡(luò)故障模擬(網(wǎng)卡)

實(shí)現(xiàn)平臺:Linux

解決問題:

? ? ? ?本質(zhì)上是做一個(gè)流量的控制(延伸到具體應(yīng)用有丟包论颅、延遲局骤、抖動(dòng)等)

原理:

? ? ? ?從流量控制的角度看(使用TC工具)洞坑,流量控制主要分為三塊,包括隊(duì)列品姓、類和TC攀细,這里我們會先建一個(gè)隊(duì)列,隊(duì)列的方式有CBQ塑陵、HTB等感憾,然后在隊(duì)列下建立類,這邊流量過來令花,比如說WWW和Email這兩種流量需要被分派到兩個(gè)類中阻桅,我們通過filter對應(yīng)相應(yīng)的流量規(guī)則來匹配這兩種類

linux基本的流程操作是:

1、建立隊(duì)列:

tc qdisc add dev eth1 root handle 1:htb default 11

通過qudis創(chuàng)建跟隊(duì)列root兼都,采用隊(duì)列方式是htb

2鳍刷、創(chuàng)建類

? tc?class?add?dev?eth1 parent?1:?classid?1:13?htb?rate?20mbit?ceil?20mbit

通過class創(chuàng)建類,跟隊(duì)列是parent1俯抖,子隊(duì)列是class 1:13输瓜,這里是對帶寬進(jìn)行了限制這里是rate?20mbit,最高帶寬ceil?20mbit

3、設(shè)置過濾器

?tc filter add dev eth0? parent 1:0 protocol ip prio 1?u32 match ip dport 80 0xffff?flowid 1:11?

這里是一個(gè)匹配操作尤揣,u32過濾器要檢查的協(xié)議字段是?protocol ip搔啊,匹配的的ip端口是80 ,匹配的結(jié)果是0xffff 北戏,最終會把流量放入類1:11 中

4负芋、檢查流量配置情況

tc?filter show dev DEV或者tc -s -d qdisc ls這個(gè)表示方式很多

與其他工具或模塊的結(jié)合

比如說和netem模塊結(jié)合,可模擬場景包括:模擬端口或IP超時(shí)嗜愈、網(wǎng)絡(luò)丟包(netem? loss)旧蛾、包損壞(netem??corrupt)、包亂序(?reorder?)蠕嫁、包重復(fù)(netem??duplicate)锨天、網(wǎng)絡(luò)抖動(dòng)(抖動(dòng)是在延遲基礎(chǔ)上做的,是一個(gè)迭代過程剃毒,可以先用tc設(shè)置延遲病袄,一定時(shí)間之后將tc規(guī)則刪除,在設(shè)置延遲再刪除以此往復(fù))

注意的點(diǎn):

tc執(zhí)行必須root賬號 赘阀;只針對出口流量有效


iptables工具:參考

應(yīng)用場景:網(wǎng)絡(luò)管控(作用層是第三層和第四層)

實(shí)現(xiàn)平臺:Linux

解決問題:網(wǎng)絡(luò)的過濾或網(wǎng)絡(luò)地址轉(zhuǎn)換

原理:

? ? ? ? 這里iptables內(nèi)部可以理解為一個(gè)網(wǎng)益缠,這里table是一個(gè)整體的框架,里層是chain基公,chain里是具體的rule 幅慌,這里的一個(gè)table可以包含多個(gè)chain,chain可以包含多個(gè)rule轰豆。table主要分為三部分胰伍,主要是nat、mangle和filter秒咨,其中nat主要是改變網(wǎng)絡(luò)地址喇辽,mangle主要是做對包的一些設(shè)置掌挚,相關(guān)的chain是?PREROUTING雨席,POSTROUTING, OUTPUT吠式,INPUT?和?FORWARD陡厘,對于filter 做的是對包進(jìn)行 DROP、LOG特占、ACCEPT 和 REJECT 等操作糙置。舉一個(gè)例子來說:進(jìn)入主機(jī)的包(data)主要有三種為輸入本機(jī)的包,本機(jī)作為源輸出的包是目,和本機(jī)作為中轉(zhuǎn)的包谤饭,當(dāng)data進(jìn)入時(shí)iptables這邊會先做一個(gè)relu的判斷,是丟棄(relu中Target參數(shù)DROP)包還是接受(ACCEPT),如果是接受,接收后判斷是否是本機(jī)的包揉抵,如果是本機(jī)包亡容,送入上層進(jìn)行處理,如果不是則通過Forwarding Block處理冤今,同時(shí)也接受來自本機(jī)的包闺兢,這里如果和TC結(jié)合可以理解為iptables做了一個(gè)Mark的工作,將經(jīng)過預(yù)處理的包再讓TC做一個(gè)流量控制戏罢。當(dāng)然relu是可以自己依情況設(shè)置規(guī)則的屋谭,這里只是做了一個(gè)包處理過程模擬,當(dāng)然它還包括網(wǎng)址切換等操作

linux基本的流程操作是(這里基本是和TC聯(lián)合一起用的)

這邊是一個(gè)簡單的上網(wǎng)龟糕、端口設(shè)置和限流的例子

iptables -t nat -A POSTROUTING -s 172.16.44.0/24 -o eth0 -j MASQUERADE

通過nat添加端口轉(zhuǎn)發(fā)

iptables -t nat -I PREROUTING -p tcp -d a.b.c.d --dport 80 -j DNAT --to 172.16.44.210:80iptables -t nat -I POSTROUTING -p tcp -d 172.16.44.210 --dport 80 -j SNAT --to 172.16.44.1

這里是指定外網(wǎng)地址桐磁,將80端口轉(zhuǎn)發(fā)到172.16.44.210:80,它這里設(shè)置的內(nèi)網(wǎng)地址是?172.16.44.210

下面既可以用TC對網(wǎng)路進(jìn)行一個(gè)限速


分布式系統(tǒng):

? ? ? ?我們客戶端這邊用的是Tomcat(web server)和應(yīng)用(java app)翩蘸,通過HHTP協(xié)議與服務(wù)端進(jìn)行通信所意,服務(wù)器這邊的部署是根據(jù)分布式框架,希望用更多的計(jì)算機(jī)實(shí)現(xiàn)更大的數(shù)據(jù)處理催首,這里的計(jì)算機(jī)即系統(tǒng)分布節(jié)點(diǎn)扶踊,這里是多節(jié)點(diǎn)提供相同服務(wù),那么問題就是如果幾個(gè)應(yīng)用過來應(yīng)該選擇哪個(gè)節(jié)點(diǎn)郎任,這里采用的是負(fù)載均衡選出一個(gè)節(jié)點(diǎn)秧耗,對于日常應(yīng)用可能每個(gè)應(yīng)用間還有聯(lián)系,也就是各節(jié)點(diǎn)間要通信舶治,通信符合TCP/IP協(xié)議分井,節(jié)點(diǎn)的下邊就是數(shù)據(jù)處理層

? ? ? ? 這是內(nèi)部一個(gè)集群的處理過程,在公司的情況下霉猛,一個(gè)部門的服務(wù)可能與其他部門是相關(guān)的尺锚,每個(gè)部門都有獨(dú)立的機(jī)器部署,相互間的通信是通過rpc實(shí)現(xiàn)的遠(yuǎn)程處理(rpc實(shí)現(xiàn)通信的過程主要是對一端對數(shù)據(jù)進(jìn)行封裝惜浅,另一端解封瘫辩,調(diào)用的過程)

這是一個(gè)大概的框架,如果下一步會詳細(xì)看下

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末坛悉,一起剝皮案震驚了整個(gè)濱河市伐厌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌裸影,老刑警劉巖挣轨,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異轩猩,居然都是意外死亡卷扮,警方通過查閱死者的電腦和手機(jī)荡澎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晤锹,“玉大人衔瓮,你說我怎么就攤上這事《陡剩” “怎么了热鞍?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長衔彻。 經(jīng)常有香客問我薇宠,道長,這世上最難降的妖魔是什么艰额? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任澄港,我火速辦了婚禮,結(jié)果婚禮上柄沮,老公的妹妹穿的比我還像新娘回梧。我一直安慰自己,他們只是感情好祖搓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布狱意。 她就那樣靜靜地躺著,像睡著了一般拯欧。 火紅的嫁衣襯著肌膚如雪详囤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天镐作,我揣著相機(jī)與錄音藏姐,去河邊找鬼。 笑死该贾,一個(gè)胖子當(dāng)著我的面吹牛羔杨,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杨蛋,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼兜材,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了六荒?” 一聲冷哼從身側(cè)響起护姆,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤矾端,失蹤者是張志新(化名)和其女友劉穎掏击,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秩铆,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡砚亭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年灯变,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捅膘。...
    茶點(diǎn)故事閱讀 39,688評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡添祸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出寻仗,到底是詐尸還是另有隱情刃泌,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布署尤,位于F島的核電站耙替,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏曹体。R本人自食惡果不足惜俗扇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望箕别。 院中可真熱鬧铜幽,春花似錦、人聲如沸串稀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽母截。三九已至镶殷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間微酬,已是汗流浹背绘趋。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留颗管,地道東北人陷遮。 一個(gè)月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像垦江,于是被迫代替她去往敵國和親帽馋。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容

  • iptabels是與Linux內(nèi)核集成的包過濾防火墻系統(tǒng)比吭,幾乎所有的linux發(fā)行版本都會包含iptables的功...
    隨風(fēng)化作雨閱讀 4,763評論 1 16
  • iptables簡介 netfilter/iptables(簡稱為iptables)組成Linux平臺下的包過濾防...
    yshenhn閱讀 112,348評論 2 78
  • iptables俗稱防火墻绽族,或許我們已經(jīng)不在陌生,但是作為openstack基礎(chǔ)衩藤,這里還是對其做一些補(bǔ)充吧慢,了解更多...
    ximitc閱讀 1,795評論 0 8
  • (本文源于轉(zhuǎn)載或摘抄整理) 一:前言 防火墻,其實(shí)說白了講赏表,就是用于實(shí)現(xiàn)Linux下訪問控制的功能的检诗,它分為硬件的...
    JackyTsuuuy閱讀 8,964評論 1 6
  • 正則表達(dá)式要想做更精確地匹配匈仗,可以用[]表示范圍,比如: [0-9a-zA-Z\_]可以匹配一個(gè)數(shù)字逢慌、字母或者下劃...
    溪西閱讀 590評論 0 0