看板 DotA2 關於我們 聯絡資訊
身為不專業的資工魯蛇,鍵盤宅宅來分析一下。沒興趣者可以直接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
sitos:除非某一段有 bug ,不然設這個值意義應該不大。 10/10 19:57
sitos:為什麼設某個值能改善,現在看起來理論上都說不通。 10/10 19:58
su90317:但是調了之後不lag不紅字了,考試都考一百分了呢 10/10 20:02
blackk:感覺理論有誤,調之前的伺服器是packet loss嚴重狀態 10/10 21:04
因為MTU起作用的應該是fragment層,所以應該是調net_maxfragment才對 可是大家調net_maxroutable起作用,這就有點靈異了 還有,影響網路延遲和封包掉落的因素還有很多,協定類型、Routing.....都有影響 DoTA2的命令,有關調整網路的有幾十項,每個人遇到的問題不見得相同 我不確定DoTA它的packet loss % 是怎麼算的啦, 不過這篇說的是封包掉落"數",封包掉落%是固定的 假設封包掉落機率是25%,而網路運作是這樣的,當任何一個分段缺失,接收端 會把整個資料段放棄,然後發信端會重送整個資料段。 所以當同一大小的資料段被分割成2個分段還是4個分段,掉落機率不變,但掉落數會上升 ※ 編輯: k0286 來自: 125.224.242.201 (10/10 22:08)
ALuBa13:局外人單純想問...指令名稱跟指另實際作用的功能一定相同? 10/10 21:51
k0286:我個人不確定,大部分的指令都是相符的,但是像是 10/10 22:10
k0286:這篇提到的 net_maxroutable 我就無法跟packet size連起來 10/10 22:11
k0286:如果我不去看它的說明的話,我會理解成 max route table 10/10 22:12
k0286:或 max rout able 實在想不到是packet size... 10/10 22:15
sitos:maxroutable 很明顯就是 max route-able 阿 10/10 22:31
sitos:是指最大可以 route 的大小,至於是指什麼就不知道了 10/10 22:31
sitos:但我傾向不 MTU 去理解,沒道理捨一個廣泛使用的名詞不用 10/10 22:32
sitos:硬是自己另外去定義一個讓所有看到人都會搞混的名詞 10/10 22:32
sitos:這裡指的 packet size 也有可能是 DotA2 的內部處理之類的 10/10 22:33
k0286:因為它的值最小是576才會這樣聯想的阿 10/10 22:35
k0286:而且伺服端還有一個sv_maxroutable的命令 10/10 22:36
k0286:然後最直觀的證據是 net_showsplits後,console log會 10/10 22:40
k0286:Split packet 2/ 2 seq XX size YY mtu ZZ from 192.168.1.2 10/10 22:42
k0286:不過我沒有Dota2跑,麥子大大說也沒錯,這篇是我臆測的 10/10 22:45
w180112:那mac的呢 10/11 00:01