不一定. 全球跨 ISP 的路由都是動態的, 每天每分每秒都在變化, 很難說她會怎麼走?
決定路由走法的因素很多, 管理者可以依據公司政策來決定:
此外, 去/回的路徑也不必然相同, A->Z 的路徑是由 A 決定, 但是 Z->A 的路徑卻是由 Z 決定, 如果 A, Z 分屬於兩家不同的 ISP, 他們的動態路由政策很可能不相同, 就會造成去回兩者路徑不相同, 這個現象稱為: Asymmetric Routing, 非對稱路由.
很多防火牆預設會阻擋非對稱路由, 所以當兩端之間出現此現象時, 往往會被防火牆擋住而無法通訊. 由於在公眾網路上的非對稱路由, 並非單一方可以單獨控制, 所以遇到這種狀況時, 通常只能將防火牆阻擋非對稱路由的功能關閉, 才能解決. (但是在可控制的私網設計上, 應該要盡量避免非對稱路由的發生)
其次, 用 Traceroute 得到的路由, 也並不盡然就等於是其他通訊協定(HTTP, FTP, SMTP...)所走的路徑, 因為路由器上可以依照不同的通訊協定, 指定不同的路由政策. 由於我們並沒有公網上每一台路由器的管理權 所以, Traceroute 出來的路徑僅能參考, 我們不能篤定說: 這就是其他通訊協定所走的路由.
此外, 您的問題也有問題. 不論上傳/下載, 通訊都是雙方並非單向. 因為所有的傳輸除了 Data 本身之外, 還需要有 Control 和 Acknowledgement 封包, 而通常後兩者的方向, 會跟 Data 傳輸方向相反.
例如: FTP 下載檔案. 下載之前, 你要先下 get 的 control 指令, 此時這個 control 封包是上傳的. 而下載開始之後, 每隔一段時間要向上回應 Acknowledge 封包, 這個動作也是上傳的, 而且如果沒有這些間隔上傳的 Ack 封包, 對方不會持續讓你下載.
所以上下傳是成雙成對出現的, 以 OSI Layer 3 來說, 除了 UDP 封包之外, 使用 TCP 傳輸的協定都必須同時考慮上傳和下載, 不能單獨討論. 由於您指定的傳輸種類是「檔案」, 通常檔案的傳輸協定都使用 TCP, 所以很難回答.
當然我也可捨棄以上所講的種種理論, 單純就您或其他人所理解的上傳或下載來回答. 不過, 那樣會使得背後的事實變得模糊, 甚至傳遞了錯誤的觀念, 將來在查修其他問題時, 因觀念不正確而產生誤導, 造成時間人力上的浪費.
回到您的問題, 可以先了解您提出這個問題, 背後的原因是甚麼嗎?
或者是說, 去回路徑是否相同, 對您產生了甚麼樣的困擾需要解決嗎?
通常除非造成我的通訊問題, 否則我不會太在意公網上的非對稱路由.
謝謝您精闢的解析, 我瞭解不少
目前的問題是家中使用100M/40M的網路
SFTP下載速度可以穩定5MB/s
但是上傳速度永遠只有1MB/s上下
早上Traceroute發現去回的路由並不相同,所以想知道上傳與下載是否也同時走不同路由?
eason57提到:
目前的問題是家中使用100M/40M的網路
這裡面有幾個因素可以探討: