Re: [討論] net_maxroutable 576測試回報集中帖

看板DotA2 (刀塔)作者 (k0)時間12年前 (2013/10/10 19:46), 編輯推噓3(3017)
留言20則, 6人參與, 最新討論串2/2 (看更多)
身為不專業的資工魯蛇,鍵盤宅宅來分析一下。沒興趣者可以直接End 576這個應該是所謂MTU(Maximum transmission unit), Win7 預設應該是1500 一般ADSL大概是 140XX DoTA2預設是1200 DoTA2 server 預設應該也是1200,但是也有指令可以調 576是最小值,也就是俗稱撥接的封包大小 ---- 理論上, 這個值如果太大, 當超過某個節點的上限時,這個封包就會被分包,通過後在組回去,因此增加傳輸時間 那如果這個值太小, 那就會產生很多個封包,封包一多就會塞車,當節點的佇列被塞滿時,封包就會被丟掉, 因此增加遺失率。 但是還有一個東西 net_maxfragments // Max fragment bytes per packet . default = 1200 net_maxroutable // Requested max packet size before packets are split. 照理來講,fragment應該才是MTU理論的對象,可是按照DoTA2的說明,似乎是指Packet 所以我不太確定這兩個指令的作用,不過應該兩個都要改才對.... ---- 好讀版 理論上 值太大 >> ping增加 值太小 >> packet loss "數" 增加 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.224.242.201

10/10 19:57, , 1F
除非某一段有 bug ,不然設這個值意義應該不大。
10/10 19:57, 1F

10/10 19:58, , 2F
為什麼設某個值能改善,現在看起來理論上都說不通。
10/10 19:58, 2F

10/10 20:02, , 3F
但是調了之後不lag不紅字了,考試都考一百分了呢
10/10 20:02, 3F

10/10 21:04, , 4F
感覺理論有誤,調之前的伺服器是packet loss嚴重狀態
10/10 21:04, 4F
因為MTU起作用的應該是fragment層,所以應該是調net_maxfragment才對 可是大家調net_maxroutable起作用,這就有點靈異了 還有,影響網路延遲和封包掉落的因素還有很多,協定類型、Routing.....都有影響 DoTA2的命令,有關調整網路的有幾十項,每個人遇到的問題不見得相同 我不確定DoTA它的packet loss % 是怎麼算的啦, 不過這篇說的是封包掉落"數",封包掉落%是固定的 假設封包掉落機率是25%,而網路運作是這樣的,當任何一個分段缺失,接收端 會把整個資料段放棄,然後發信端會重送整個資料段。 所以當同一大小的資料段被分割成2個分段還是4個分段,掉落機率不變,但掉落數會上升 ※ 編輯: k0286 來自: 125.224.242.201 (10/10 22:08)

10/10 21:51, , 5F
局外人單純想問...指令名稱跟指另實際作用的功能一定相同?
10/10 21:51, 5F

10/10 22:10, , 6F
我個人不確定,大部分的指令都是相符的,但是像是
10/10 22:10, 6F

10/10 22:11, , 7F
這篇提到的 net_maxroutable 我就無法跟packet size連起來
10/10 22:11, 7F

10/10 22:12, , 8F
如果我不去看它的說明的話,我會理解成 max route table
10/10 22:12, 8F

10/10 22:15, , 9F
或 max rout able 實在想不到是packet size...
10/10 22:15, 9F

10/10 22:31, , 10F
maxroutable 很明顯就是 max route-able 阿
10/10 22:31, 10F

10/10 22:31, , 11F
是指最大可以 route 的大小,至於是指什麼就不知道了
10/10 22:31, 11F

10/10 22:32, , 12F
但我傾向不 MTU 去理解,沒道理捨一個廣泛使用的名詞不用
10/10 22:32, 12F

10/10 22:32, , 13F
硬是自己另外去定義一個讓所有看到人都會搞混的名詞
10/10 22:32, 13F

10/10 22:33, , 14F
這裡指的 packet size 也有可能是 DotA2 的內部處理之類的
10/10 22:33, 14F

10/10 22:35, , 15F
因為它的值最小是576才會這樣聯想的阿
10/10 22:35, 15F

10/10 22:36, , 16F
而且伺服端還有一個sv_maxroutable的命令
10/10 22:36, 16F

10/10 22:40, , 17F
然後最直觀的證據是 net_showsplits後,console log會
10/10 22:40, 17F

10/10 22:42, , 18F
Split packet 2/ 2 seq XX size YY mtu ZZ from 192.168.1.2
10/10 22:42, 18F

10/10 22:45, , 19F
不過我沒有Dota2跑,麥子大大說也沒錯,這篇是我臆測的
10/10 22:45, 19F

10/11 00:01, , 20F
那mac的呢
10/11 00:01, 20F
文章代碼(AID): #1ILfElXU (DotA2)
文章代碼(AID): #1ILfElXU (DotA2)