iT邦幫忙

0

從伺服器上傳與下載走的路由?

eason57 1 年前2116 瀏覽

我的伺服器放在國外,從國內traceroute是走JPIX到伺服器,從伺服器traceroute是走NTT到國內。

1.如果我向伺服器下載檔案,路由是走NTT還是JPIX?

1.如果我對伺服器上傳檔案,路由是走NTT還是JPIX?

cmwang iT邦高手 1 級 ‧ 1 年前 檢舉
Public Internet唯一能夠保證的就是沒有任何保證(Absolutely No Warranty偷笑),就算樓主能控制雙向的traffic都按您的意願走,latency/throughput還是不會有任何保證的,所以問這類問題的實際意義不大就是了OrzOrz....

1 個回答

10
raytracy
iT邦大神 1 級 ‧ 1 年前
最佳解答

不一定. 全球跨 ISP 的路由都是動態的, 每天每分每秒都在變化, 很難說她會怎麼走?

決定路由走法的因素很多, 管理者可以依據公司政策來決定:

  1. 可能依照最短路徑走
  2. 可能依照最低成本走
  3. 可能依照最低延遲走
    而且每一台路由器, 每一家 ISP, 都可以設定自己不同的政策, 所以 A 路由器是依照最短路徑送給 B, 但 B 卻可能依照最低成本去送給 D, 而不是同樣最短路徑的 C.

此外, 去/回的路徑也不必然相同, 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, 所以很難回答.

當然我也可捨棄以上所講的種種理論, 單純就您或其他人所理解的上傳或下載來回答. 不過, 那樣會使得背後的事實變得模糊, 甚至傳遞了錯誤的觀念, 將來在查修其他問題時, 因觀念不正確而產生誤導, 造成時間人力上的浪費.

回到您的問題, 可以先了解您提出這個問題, 背後的原因是甚麼嗎?
或者是說, 去回路徑是否相同, 對您產生了甚麼樣的困擾需要解決嗎?

通常除非造成我的通訊問題, 否則我不會太在意公網上的非對稱路由.

看更多先前的回應...收起先前的回應...
eason57 iT邦新手 5 級 ‧ 1 年前 檢舉

謝謝您精闢的解析, 我瞭解不少
目前的問題是家中使用100M/40M的網路
SFTP下載速度可以穩定5MB/s
但是上傳速度永遠只有1MB/s上下
早上Traceroute發現去回的路由並不相同,所以想知道上傳與下載是否也同時走不同路由?

raytracy iT邦大神 1 級 ‧ 1 年前 檢舉

eason57提到:
目前的問題是家中使用100M/40M的網路

這裡面有幾個因素可以探討:

  1. 雖然您申請 100M/40M, 但並不代表您可以用滿下載100M或上傳40M, 由於最後一哩電路是屬於共享架構, 因此您的上傳速率會因周邊其他用戶的競爭而下降, 建議您可以使用 ISP 提供的測速軟體進行測試, 以便了解上下傳的真正有效速率.
raytracy iT邦大神 1 級 ‧ 1 年前 檢舉
  1. 遠端伺服器中間經過的路由, 可能會拖慢您的上傳速率. 中間經過的路由器, 只要其中有一台對您的上傳進行限速, 整體的上傳速率就無法超過那台被限速的路由器速度. 這個限速政策是由路由器的管理者來決定的, 所以您無法打破這個限制.
raytracy iT邦大神 1 級 ‧ 1 年前 檢舉
  1. 遠端伺服器本身可能對上傳速率進行限制, 除非您是整台伺服器的最高管理員, 可以自行決定是否要限制速率; 否則如果該伺服器還有其他人共用的話, 系統管理員通常會對個別的傳輸進行限制, 以免其中某一個用戶把全部頻寬吃光, 導致其他用戶沒有機會使用.
eason57 iT邦新手 5 級 ‧ 1 年前 檢舉

測速確實可以到達100M/40M,我想可能是被中間的路由限速了,因為我擁有VPS的root權限。

我要發表回答

立即登入回答