K.2 計算

TCP 視窗大小的調整以多種因素為基礎,包括網路連結速度和網路延遲。出於使用 PlateSpin 產品目的,為進行調整初始選擇的 TCP 視窗大小以如下所示的標準計算 (網際網路上及其他處所廣泛提供了此類資訊) 為基礎︰

WinSizeInBytes=((LINK_SPEED(Mbps)/8)*DELAY(sec))*1000*1024

例如,如果連結速度為 54 Mbps,延遲為 150 毫秒,則合適的初始視窗大小應當為︰

(54/8)*0.15*1024*1000 = 1,036,800 位元組

如果連結速度為 1000 Mbps,延遲為 10 毫秒,則合適的初始視窗大小應當為︰

(1000/8)*.01*1000*1024 = 1,280,000 位元組

若要獲得網路的延遲值,請在指令提示符 (Windows) 或終端機 (Linux) 處使用 ping。雖然 ping 往返時間 (RTT) 按理與實際的延遲不同,但獲得的值足夠接近,可以用於此方法。

下面是 Windows ping 指令的範例輸出,其中觀察到的延遲為平均 164 毫秒︰

ping 10.10.10.232 -n 5

Pinging 10.10.10.232 with 32 bytes of data:
Reply from 10.10.10.232: bytes=32 time=154ms TTL=61
Reply from 10.10.10.232: bytes=32 time=157ms TTL=61
Reply from 10.10.10.232: bytes=32 time=204ms TTL=61
Reply from 10.10.10.232: bytes=32 time=153ms TTL=61
Reply from 10.10.10.232: bytes=32 time=153ms TTL=61

Ping statistics for 10.10.10.232:
    Packets: Sent = 5, Received = 5, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 153ms, Maximum = 204ms, Average = 164ms

下面是 Linux ping 指令的範例輸出,其中觀察到的延遲為平均 319 毫秒︰

ping 10.10.10.232 -c 5

PING 10.10.10.232 (10.10.10.232) 56(84) bytes of data.
64 bytes from 10.10.10.232: icmp_seq=1 ttl=62 time=0.328 ms
64 bytes from 10.10.10.232: icmp_seq=2 ttl=62 time=0.280 ms
64 bytes from 10.10.10.232: icmp_seq=3 ttl=62 time=0.322 ms
64 bytes from 10.10.10.232: icmp_seq=4 ttl=62 time=0.349 ms
64 bytes from 10.10.10.232: icmp_seq=5 ttl=62 time=0.316 ms

--- 10.10.10.232 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 3998ms
rtt min/avg/max/mdev = 0.280/0.319/0.349/0.022 ms

實際執行時,您應使用 -n-c 選項來指定大量 ping 封包,以便獲得更接近的延遲量值。