引用:
作者向下沉淪
是這樣算嗎?
應該是理論值為12M*1024再除以8=1536K/s.
打個9折:1536*0.9=1382K/s.
就算打個8折:1536*0.8=1229K/s.
除非打到7折以下.否則應該都有12XXK/s的實力吧!
|
12M 是乘 12000000, 不是 12*1024*1024
通訊上用的 k 是 1000, 不是 1024 (或參考 ITU standard)
就像計算 UART 的理論上限的算法不是除以 8
而是要考慮兩個控制位元, 所以是除以 10
ADSL 理論上限也是可以精算的 -> 1301.8868 kB/s
因為有開上載, 所以會略為掉一些
以原 PO 的 1282 kB/s, 剛好逼近上限了
並沒有打個 7 折 8 折
網路上常見的說法除以 8 再打個 9 折沒什麼直接根據
就算線路品質差有影響, 還是可以根據實際的 line rate 去算出來
以下試算 12.0M TCP 下載, 理論最大值 = 1301.8868 kB/s
(要快速計算的話, 約除以 9.21)
(Interleave 須 TCP Multi-session 才達得到, Fast 不用
而下載軟體若是多緒下載就是 Multi-session 了
)
我以前作 ADSL 產品的...
//////////////////////////////////////
以下的 line rate 是要連到 ADSL model 的設定頁面
看它受到線路品質影響後, 實際 handshake 的結果
以下不考慮 PPPoE 的壓縮
line rate
12000kbps
= 12000000 bps
= 12000000 / 8 Bps
= 12000000 / 8 / 53 cell/s
= 28301.8868 cell/s
PCR = 28301.8868
packet length
= 1514 B/packet
= ((1514 + 4 + 8) / 48) cell/packet 小數點無條件進位
= 32 cell/packet
ps. + 4 是 CRC 佔去 4 bytes
ps. + 8 是 ATM layer ? 的 header 的長度
欲求 packet/s
PCR/32 = 884.4340 packet/s
欲求 B/s of Ethernet Frame
884.4340 * 1514 = 1339.0331 kB/s
欲求 B/s of UDP/TCP long packet
884.4340 * 1472 = 1301.8868 kB/s