電訊茶室's Archiver

gfx86674 發表於 2016-4-25 13:12

Load Balancing(負載平衡)

[i=s] 本帖最後由 gfx86674 於 2016-4-25 22:54 編輯 [/i]

到中國routeros論壇瀏覽,最常看到的討論是網路加疊.
但加疊的您要多線加疊才有意義,
卻更多人將一條線重複多撥,再用Load Balancing進行合併...

這天生邏輯就有問題:當1除n後,您再用n乘回...這還是1不變啊!!

而且從討論又看到中國人常見的缺點:結果論:L
Load Balancing的目的從不是多線網路加疊,而是如何透過機率讓多線平均分擔.
只要多線滿載,自然會有加疊的錯覺.
但分流上的比例是確實的嗎? 不一定...

以下我們討論nth與pcc兩種機率記算,
若您還是問加疊那一種有效果,那請您按上一頁離開吧.
----------------------------------------
[size=5]NTH:[/size][code]/ip firewall mangle
add action=mark-packet chain=prerouting new-packet-mark=Gateway_1 nth=3,1 passthrough=yes
add action=mark-packet chain=prerouting new-packet-mark=Gateway_2 nth=3,2 passthrough=yes
add action=mark-packet chain=prerouting new-packet-mark=Gateway_3 nth=3,3 passthrough=yes[/code]⑴ NTH=3,1即代表每3個發出的new封包,第1個標為Gateway_1
⑵ NTH=3,2即代表每3個發出的new封包,第2個標為Gateway_2
⑶ NTH=3,3即代表每3個發出的new封包,第3個標為Gateway_3

但nth只有這種分配計算嗎? 不...您還有其他方式.[code]/ip firewall mangle
add action=mark-packet chain=prerouting new-packet-mark=Gateway_1 nth=3,1 passthrough=no
add action=mark-packet chain=prerouting new-packet-mark=Gateway_2 nth=2,1 passthrough=no
add action=mark-packet chain=prerouting new-packet-mark=Gateway_3[/code]⑴ NTH=3,1即代表每3個發出的new封包,第1個標為Gateway_1
⑵ 扣掉給Gateway_1的new封包後,3個new封包還剩2個..
所以將2個剩餘的new封包,留第1 new封包給Gateway_2 (所以用nth=2,1標示)
⑶ 因3個new封包,第1與第2都已經有路由,所以也不用透過nth計算,直接丟給Gateway_3算了
(您當然可以標nth=1,1 ,但沒太大實質意義)
----------------------------------------
[size=5]PCC:[/size][code]/ip firewall mangle
add action=mark-connection chain=prerouting new-connection-mark=Gateway_1 \
per-connection-classifier=src-address-and-port:3/0

add action=mark-connection chain=prerouting new-connection-mark=Gateway_2 \
per-connection-classifier=src-address-and-port:3/1

add action=mark-connection chain=prerouting new-connection-mark=Gateway_3 \
per-connection-classifier=src-address-and-port:3/2[/code]PCC是進行除法運算,用餘數來決定路由方向.
[img]http://i.imgur.com/UqQ0FbR.png[/img]
如:
src:192.168.88.100:44117 dst:64.233.189.188:80
範例指定pcc用src-address和src-port計算 ,
所以(192+168+88+100+44117)/3=14888.333333

.3333代表沒整除,餘數為1 ,所以此connection的最後mark是Gateway_2

因是餘數計算,所以只有3/0(代表整除) ,不可能有3/3 (餘數和除數等同,這是什鬼東西)

因是餘算運算,所以連線數量太少有時會固定落在幾條Gatway
如:
src:192.168.88.100:44117 與src:192.168.88.104:1003 因餘數皆為1,
所以會固定落在Gateway_2

所以要不讓連線固定落在幾條Gateway ,
可在pcc加入更多變數,如:dst-address 或dst-port ,甚至both全混入計算,
讓餘數有更多的變化~
----------------------------------------
以上得知...
nth傾向指定比例方式分配,pcc則傾向亂數.

思考方向:
3線時,nth 就只能用每3個封包去記算,pcc就只能用3去當除數嗎...

那可不...
nth您用每5個封包去決定,沒人說不可以.
pcc您用7去當除數,也沒人說不可以.

只是要注意的是:
nth 3線用每5個封包決定,您要標記好 封包4/封包5 該往那個路由.
pcc 3線用7去除時,您要標計好餘數是3/4/5/6時 該往那個路由.

yiucsw 發表於 2016-4-25 14:11

[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=42721&ptid=6888]1#[/url] [i]gfx86674[/i] [/b]
这是我以前在中国的经验,现在不知道对不对了。
在中国的的拨号上网的控制有两个,1)网线(电话线)2)账号定的网速。
很多时,我们买低速的便宜的宽带。也可能是突破Upload的限制,所以用拨号叠加办法来解决。
想现在我们用光纤,买了20M,有什么办法能提供40M的下载.
不管你给多少钱移动光纤Upload 只有10M,我们要做网站,能变成20M吗?

gfx86674 發表於 2016-4-25 15:34

[i=s] 本帖最後由 gfx86674 於 2016-4-25 15:46 編輯 [/i]

[quote]回復  gfx86674
这是我以前在中国的经验,现在不知道对不对了。
在中国的的拨号上网的控制有两个,1)网线 ...
[size=2][color=#999999]yiucsw 發表於 2016-4-25 14:11[/color] [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=42724&ptid=6888][img]http://www.telecom-cafe.com/forum/images/common/back.gif[/img][/url][/size][/quote]
您也陷入了"累加"的迷思...

連線要求從gateway1進入網站,網站回覆只能從gateway1回去.
連線要求從gateway2進入網站,網站回覆只能從gateway2回去.

所以gateway1進入,與gateway2是沒任何關係的;
gateway2進入,也是與gateway1無關係的.
既然2線是彼此沒任何關係,那來的累加?
只能形容說您的網站有兩個路口,但兩個入口並不會累加變成1個大的,就這樣.

Load Balancing(負載平衡)是指本地發出"請求"時,
不要固定從1個gateway,而是亂數讓多個gateway同時送出請求.

因是多個gateway發出,所以回覆時會從不同gateway一起送回.
這才是目的~

gfx86674 發表於 2016-4-25 15:58

[i=s] 本帖最後由 gfx86674 於 2016-4-25 16:45 編輯 [/i]

當您有兩線,一條是100/40M ,另一是20/5M.
Load Balancing並無法得知大封包回應該走100/40M會比較好,
它只知道依nth或pcc計劃去發出"請求"...

所以有可能請求是從20/5這條發出去的,
所以回覆也只會從20/5這條回來,與100/40無關...

只有當請求從100/40發出,封包才回從100/40這條回來.

能不能規定"回覆"是大封包時,"要求"走大水管(這樣"回覆"才會走大水管)呢?
一句話:不可能!! 除非遠端伺服器也是您架的,您知道回覆的封包是大是小才有機會.

yiucsw 發表於 2016-4-26 11:33

这文章说明我们碰对的问题。1) 移动宽带不靠谱。2)单线叠加。当网速只有1M/2M时,想法有点不一样。

[url]http://www.icpcw.com/Parts/Peripheral/Skill/3270/327061_all.htm[/url]

在香港,我也是多线上网,没有叠加, ISP(Switch)->Port2(Router(厅)->Router(房)) +Port3(NowTV) 结果连苏宁网站都上不去,原因是我猜是 Latency.
最后是ISP(switch) -> Port 2(Router(厅)->NowTV) + Port3(Router(房)).
我还没有完全解决 IPTV的问题。

gfx86674 發表於 2016-4-26 12:11

[i=s] 本帖最後由 gfx86674 於 2016-4-26 12:36 編輯 [/i]

[quote]这文章说明我们碰对的问题。1) 移动宽带不靠谱。2)单线叠加。当网速只有1M/2M时,想法有点不一样。
在 ...
[size=2][color=#999999]yiucsw 發表於 2016-4-26 11:33[/color] [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=42732&ptid=6888][img]http://www.telecom-cafe.com/forum/images/common/back.gif[/img][/url][/size][/quote]您主訴與本主題無關吧,您的問題在IPTV ,您應該往VLAN方向解決.
[url=http://klseet.com/index.php/213-tm-unifi/unifi-mikrotik/rb750/94-mikrotik-rb750-vlans-trunking]RB750/750G - Vlans Trunking[/url]
[url=http://www.telecom-cafe.com/forum/viewthread.php?tid=6670&extra=page%3D1]用vlan 橋接IPTV[/url]
[url=http://www.telecom-cafe.com/forum/viewthread.php?tid=6732]實做用vlan 橋接IPTV[/url]
[url=http://www.mobile01.com/topicdetail.php?f=110&t=4393418]使用VLAN連接MOD Part 1[/url]
[url=http://www.mobile01.com/topicdetail.php?f=110&t=4462386]使用VLAN連接MOD Part 2[/url]
[url=http://www.mobile01.com/topicdetail.php?f=110&t=4522379]使用VLAN連接MOD Part 3[/url]
[url=http://www.mobile01.com/topicdetail.php?f=110&t=4674517]使用VLAN連接MOD Part 4[/url]

頁: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.