中華電信的 peering policy 導致的高延遲

中華電信是台灣數一數二大的ISP

中華電信旗下有兩個網路,分別是Hinet(AS3462),TWGate(AS9505)。
兩個網路之間相對獨立,但又有一定程度的互聯(企業用戶走TWGate,家庭用戶純Hinet)
以下文章所說的"中華電信"全部是指 Hinet(AS3462) 的網路

但我很納悶,對於國內外的網站,尤其是亞洲的網站,為什麼中華電信的延遲永遠是別家ISP的兩倍以上,路由總是非常繞
1. pixiv(i.pximg.net) : 中華電信 150ms ,遠傳電信 35ms
2. apex 日服: 中華電信 200ms ,遠傳電信 40ms

=== 2024/6/21 更新 ===<
我對於網路生態的理解也是一個漸進的過程,一開始不熟悉,有部分資訊是錯的
如果被我以前的錯誤資訊誤導到了,我感到很抱歉
建議優先跳到下面閱讀「2024/6/21 更新」的部分
https://www.mobile01.com/topicdetail.php?f=507&t=6597095#20240621
有興趣再回過頭稍微讀一下上面的內容
===

這個是我現在的IP的路由傳播圖:
https://bgp.tools/prefix/1.160.0.0/16#connectivity

中華電信的 peering policy 導致的高延遲

可以看到,Hinet絕大部分的路由,都是經過 AS9680 ,也就是 Hinet美國PoP的。
然而 AS9680 本身有著 130ms的延遲!

PCCW/NTT/Hurricane Electric/Cognet 都是世界上的 T1 ISP,而且他們都在台灣有PoP
但是中華電信卻不願意在台灣和他們互聯

====== 2022/5/29 更新 ==============



台灣的網路發展還算相當先進,好多的全球 T1 ISP在台灣有POP
這些是我查到,在台北有POP的全球 T1 ISP ,以及它們台北PoP的IP

ISP Tier 台灣的PoP Hinet 遠傳
2914(NTT Communications) T1 129.250.7.40 54ms 4ms
6453(PCCW) T1 63.218.78.15 52ms 6ms
3491(Tata Communications) T1 66.110.0.183 64ms 210ms
6939(Hurricane Electric) T1.5 216.218.253.4 283ms 5ms
4637(Telstra Global) T1.5 202.84.225.62 45ms 5ms
9002(RETN)(T1.5) T1.5 87.245.240.48 200ms 6ms
174(Cogent) T1.5 205.199.1.66 262ms 170ms


可以看到,台北-台北這段的延遲

Hinet 大部分都是 50ms 起跳。還有一半左右高達 200ms
相比之下,遠傳絕大多數都在10ms左右,只有個別的 200ms

這些都是T1 ISP,不是什麼名不見經傳的 ISP
只有中華電信,一個都不肯接。完全都不接就算了,還特地跑去國外接,不在台灣接。最短路油的延遲自然就很高了

====== 2022/8/30 更新 ==============


我自身也有許多不了解的,對網路環境這塊的了解,也比不上許多大咖,因此各種批評指教也十分歡迎

我最常聽到的講法是「起點台灣,目標在台灣的PoP IP」,別家只要5ms,中華電信繞出國一圈 200~300ms 並不能代表什麼

我想發表一下我的看法,確實這不能直接代表什麼。這只能說明中華電信和 T1/T1.5 ISP 在台灣就是沒有peer,但不代表這就是中華電信在故意繞路

確實我的說法有點聳動的成分在裡面...
中華電信並不故意繞是事實,問題的根源是中華電信不願意就近搭建道路(peer)

(以下用 HE 來舉例,可以自行把 HE 替換成其他 T1/T1.5 的ISP)
(HE=Hurricane Electric,是某家T1.5的ISP,因為筆劃很少很好打我就用它來舉例)

從路由優化的角度來說,中華電信不和 HE 在亞洲有任何 peer 點,只有美國和歐洲有
今天A和B都是HE客戶,目標A在美國,目標B在歐洲。中華電信從歐+美同時收到A+B的路由。只根據通常的路由資訊,判斷A要走美國,B要走歐洲是不可能的

如果不人工介入,要嘛B繞去美國,要嘛A繞去歐洲
要做到A送去美國,B送往歐洲是不可能的,至少會有一個要繞路
(比如最近中華電信HE全部都繞歐洲了,所以去美國延遲飆上300,感覺網路變卡不少,我很不滿)

中華電信那邊,沒有任何自動化的辦法。唯一的方法,只能根據 延遲/rDNS/origin community 來判斷目標在哪邊,人工調整A/B的對應出口。origin community 也不是每條路由都有。
在這個情況下,只能人工調整路由,繞路機率自然就增加了

同樣的現象發生在中華電信的全部出國連線。只要把上面那段稍微替換一下,比如HE替換成NTT,國家從歐美替換成日港(中華和NTT沒有台灣的peer點,只有日本和香港。和一開始的情況有點像。所以會造成去日本繞香港,去香港繞日本,兩者必發生一個),當然還有其他各種組合。所以會造成出國延遲永遠比別人高

所以回到我一開始想表達的,問題的根源是中華電信不願意就近搭建道路(peer)
如果中華電信在台灣和 HE peer(搭建道路),那只要在台灣就把封包交給 HE 就好。
因為A+B都是 HE 客戶,他知道A在美國B在歐洲,內部就能把A送去美國,B送去歐洲。

實際上會有更加複雜的問題,
比如上傳檔案的時候,HE自身海纜頻寬不足,無法支撐中華電信的龐大上傳流量
就可能會按照客戶等級,有的就近交給HE,有的則是先出國繞一下才轉交給HE

我們下載東西這段,A可以由HE交付到中華電信的美國PoP,B交付到中華電信歐洲PoP,走中華電信的自有海纜回台,不會受到影響

但我認為,多一條連線,一定比少一條連線更容易優化路由

========================================================

經過許多人的指點以後,我算是明白一些了

中華電信的互聯政策,就是越靠近台灣,peer 難度越高。在歐美允許 RS peer,或是免費互聯
在台灣則是原則上不互聯,就算是 T1/T1.5 來,也不互聯
雖然有免費 peer 的規定,但是門檻高到沒有任何業者達標

導致中華電信在台灣國內和其他的 T1/T1.5 ISP 完全沒有互連。非要出國才肯連
因為在台灣沒有路,所以才會有上面的現象。
「起點台灣,目標在台灣的T1 ISP IP」全部繞出國

也因這個政策,導致了上段講到情況,繞路是不可避免的自然現象
尤其是中華電信主要用戶都在台灣,卻不肯在台灣和其他 ISP peer,影響就更嚴重了
美國繞歐洲,日本繞香港。相比別的ISP願意和 T1/T1.5 在台灣互聯(但也可能規模太小, T1反過來不肯互聯),中華電信出國繞路情變的非常常見了

====== 2022/10/11 更新 ==============


我個人感覺,要對中華電信來說,完全開放免費 peer 或許難度太高了
但是高昂的 peer 費用,對台灣的網路生態造成嚴重影響也是事實
現在去 google 「中華電信 人為互連障礙」還能找到當年的新聞
(當年還在念小學,也不懂這些,可惜沒有吃到瓜。如今好多網頁都找不到了)

當時吵很兇,中華電信被逼出了一個免費互聯政策
但是他免費 peer 的門檻高到沒有任何業者達標

就算是 cloudflare 這麼大的 CDN 供應商也不達標: https://pcrookie.com/?p=1927
直到現在,唯有中華電信的用戶,訪問 cloufflare 底下的網站,仍然要去美國繞一圈
除了中國以外,大概也只有中華電信去 cloudflare 會繞路了

對台灣整體網路環境來說,也是負面影響
中華電信坐擁 64% 以上的用戶,又完全不願意 peer

經常購買外國 VPS 的應該有感覺,很多時候國際路由都會經過香港
比如我從日本 traceroute 新加坡的伺服器,traceroute 常常能看見香港的節點
但幾乎沒看過台灣的,為什麼呢?

首先,香港的 ISP 不會像中華電信一樣壟斷又不給 peer 。
在香港設點,幾乎全部的香港人都能連到,有經濟效益
導致很多大型 ISP 或是 T1 ISP 都在香港設點,他們同時又在香港設有互聯點
而國際路由通常都會跨越 T1 ISP,又都選擇在香港設立互聯點。那封包很自然地就會經過香港
所以我們也會聽到「香港是亞太網路中心」的說法

反觀台灣。如果你是外國的 T1/T1.5 ISP 市場調查的部門
砸大錢租用海底光纖,來台灣設點。都弄好了發現只有 36% 的效益。
64% 的台灣人,都被中華電信繞路去美國了,根本連不到
那你還會來嗎?
(還是有幾家過來了: NTT/TATA/PCCW/HE/Telstra/RETN/Cogent,中華電信當然一個都沒peer in Taiwan)

我個人的淺見,如果中華電信的免費互聯門檻能稍微降低
允許 google/cloudflare/NTT/PCCW/Hurricane Electric/TATA 等國際大廠和國際 T1 ISP 免費互聯
對全台灣 64% 人的上網延遲,和台灣在亞太地區的網路中心度來說,都能有所幫助

中華電信就是不願意。我們作為消費者,除了換別家也別無選擇

====== 2024/6/21 更新 ==============


上面講的其實不太正確,需要修正一下
這篇文章主要是解釋明明有更近的路可以走,封包為什麼還是會繞路。其實很多時候這不是技術問題,而是政策問題

首先要解釋一個概念「互連」
網路和網路之間不是靠神秘力量就能莫名奇妙互通的。需要一個物理裝置,比如光纖,乙太網路線連接起來

互連的效果是兩個網路之間可以直接連線,速度會變快,延遲會變低。
如果沒有互聯,就要經過第三方Transit

而兩個ISP各自出一台路由器,使用光纜連接起來,就成為「兩個網路間的互連點」
兩個網路之間的流量通訊,必須要經過互連點

兩個網路之間要通訊,一定要設立互連點
但有了互連點,也不一定就能直連。牽涉到兩邊的路由策略
比如有分「對等互連」和「transit」這樣的關係
或是區分「普通路由」「高級路由」這樣的策略

為了簡化就不過多介紹了
暫時先理解雙方網路有互連點,基本上就會在這個點交換流量就好

假如中華和PCCW兩個網路,互連點「只在香港架,不在台灣架
那 PCCW連線 Hinet,就必定在香港交換
Hinet(台灣)→PCCW(香港): 繞香港(沒繞路)
Hinet(台灣)→PCCW(日本): 繞香港
Hinet(台灣)→PCCW(台灣): 繞香港(出國再回台)
(互連點可以不只一個。如果台港日各一個互連點,就能完全不繞路了,希望渺茫)

然而,互連點的設立「需要雙方同意
而網路的世界的慣例,幾乎都是小 ISP 付錢給大 ISP ,大 ISP 才會同意設立互連點

1. 中華電信的立場

中華電信做為台灣最大的 ISP ,當然是其他業者都要付錢,才會同意設立互連點

因此中華電信的互聯政策是這樣的: 越靠近台灣,互連就越貴
在歐美,hinet 可以免費互聯
在日本香港和台灣,越近就收越多

因為中華電信自身的 upstream 都在美國
同時中華電信在亞洲完全沒有 upstream。只有收錢的 peering/downstream

如此能達到這個效果: 如果業者沒有互聯,封包就一定會被繞出國(只差在繞哪國)

中華電信藉由自身的高市占率,綁架業者必須付錢才能互連
如果業者不願意付錢給中華電信,就無法建立互連
於是這個點就會被台灣 60% 的消費者抱怨網路很慢
(互連需要雙方同意。然而大部分台灣消費者只會怪業者慢,不會歸咎到中華身上)

但是這個問題也不必過度焦慮。
google(含youtube) facebook netflix 等台灣常見的網站都有付這個錢,基本上連線都是順的

這樣玩的也不只中華電信
中國三大(電信/聯通/移動) / 韓國三大(SKT/KT/LG) / 新加坡Singtel / 澳洲Telstra 等
都採用類似的策略 (繞路便宜,直連貴) ,來增加營收
這也是中華電信重要的營收來源之一

這只是商業策略的一環,我之前批評中華電信其實不太對

(一開始感覺反直覺,繞路明明增加成本,蓋海纜那麼貴。
實際情況是越繞路,速度越慢越好(但不能慢過頭,會被客訴打爆,要控制恰當)。直到業者肯付錢)

(Twitch退出韓國也是這個因素。韓國三大電信收太貴了,Twitch 成本控制不住)

2. 業者的立場

中華電信佔據台灣 60%以上的市場份額,形成壟斷效果
第一種情況
假如你是業者,想要打入台灣市場(比如遊戲架設台服,在台灣展開網路的業務),就必須付錢給中華電信
如果不付這個錢,即便機房在台灣,也得繞路出國,導致 60% 以上的台灣人都抱怨你的網站很慢,延遲很高,對業務展開產生不利的影響

但也有例外,比如業者找遠傳買了網路。
(不一定是遠傳,以下用遠傳代稱),遠傳找中華買了互連
類似二次銷售。遠傳自身使用以外,還有多餘的頻寬可以再賣給別人。
對業者來說只買了遠傳的網路,去中華可以直連

但實際上差別只在業者直接付給中華,還是找遠傳買,間接付給中華
最終中華一定會收到錢,中華的互連每 mbps 要收 30 塊
對業者來說這個成本仍是不可避免的

第二種情況
你是類似 cloudflare 這種國際性的 CDN 網路業者,他們也在全球都有節點
找中華電信互連時,在美國互連免費,台灣互連要付錢,當然是盡可能的把流量導向美國

cloudflare 對中華電信的設定是「只有企業用戶的流量走台灣的互連點,剩下的走美國互連點」
(透過發不同的 prefix 來控制)
這也是為什麼中華電信連向 cloudfare (免費用戶) 都要繞路去美國。
因為羊毛出在羊身上,cloudflare 找其他 ISP 大多都是免費互連,但中華不是
所以中華電信以外的 ISP 連線就比較不會繞路。

第三種情況
你是外國業者 (比如遊戲港服,日服) 本來就沒打算照顧台灣市場
當然不會額外花錢購買中華電信互連

這種的就真的只能隨緣了
如果業者購買了「日本NTT/香港PCCW/香港Telstra」,還有機會直連
因為中華電信和 NTT有日本互連點,還有 PCCW香港互連點

如果買其他家,走到中華電信的 upstream,那不好意思一律繞路去美國一趟
因為中華電信的 upstream 全在美國
中華電信沒收到錢=沒有直連。Work as intended

這也能解釋為什麼其他家去 gcp 沒有那麼繞路,只有中華電信特別繞路

對於 gcp 之類的雲端來說,vm 的「高級網路」和「普通網路」差別在這邊:
google 會找全世界的 isp 購買互連,加入到 google 全球內網中,只給高級網路使用
而普通網路則是當地的 ISP 付費互連。非當地流量則是走 t1 isp tranait

所以(普通網路的)日本vm,香港vm ,都走 t1 isp tranait 抵達中華電信。
又因為中華電信的政策,去 t1 isp 非常繞,全部都繞出國,只差在繞哪邊
(NTT繞日,PCCW/Telstra繞港,else 繞美),因此路由就只能隨緣了

3. T1 ISP 的立場

T1 ISP 已經是國際上非常大的業者了。按照互連時小 ISP 付錢給大 ISP 的原則,他們會覺得自己為什麼要付錢給中華電信。沒找中華收錢就不錯了
而中華電信覺得在台灣我最大,要找 T1 ISP 收錢才對。
兩邊都想找對方收錢,自然不可能把互連點建起來
導致中華電信對全部的 t1 isp 連線都非常繞路
從上面的圖表來看,全部的 T1 ISP 的台灣節點,中華電信連過去都要繞出國一圈,只差在繞哪邊

簡化版: if NTT:繞日, elif PCCW Telstra: 繞港, else 繞美

詳細版: 中華這邊有分成企業固定制 vs 家用浮動制
可以理解成貴貴路由和窮人路由
窮人路由: NTT日本+PCCW香港+Telstra香港,else美國
貴貴路由: (窮人路由額外再多) NTT香港+PCCW日本+EIE新加坡+(尊貴客服熱線,打電話要求調路由)+(或許有其他我不知道的)

(如果業者有付錢建立互聯,就不會走到 T1 ISP ,不管是窮人路由還是貴貴路由都不會繞)

Q: 為什麼其他家沒有這個問題,只有中華有?
A: 因為其他家沒有「距離越近互聯越貴」這個策略(或是有但價差不大)
再來是小ISP 通常會付錢買當地 T1 ISP ,不像中華只在國外接 T1 ISP。
外國業者不付錢互連也有相當高的機率可以直連
還有就是小 ISP 之間免費互聯的意願比較高,互連多繞路機率也低

Q: 未來有機會改善嗎?
A: 我不是中華電信我也不知道,但我覺得機率相當低
對中華電信來說,家庭用戶收的錢相對便宜,可能連成本都不夠。
而且全國大規模的光纖網路也只有中華在做。last mile 這部分真的很花錢。
雖說外網都在繞,但不得不說中華的內網部份真的穩。外網就算大繞路也是穩定高ping,不會忽高忽低掉封包
向用戶收的錢少了,那用戶的淺在價值當然要榨乾(用龐大的用戶基數逼迫其他業者付錢)
如果降低互連價格,營收絕對少一大塊,我相信沒有一個高層會同意

Q: 作為用戶該怎麼辦?
A: 只能換一家,不要成為基數的一份。
或是跳 VPN。付費購買遊戲加速 VPN 之類的服務

但中華電信擁有的出國頻寬最大,也是不可忽視的事實。
結論: 中華電信的海外頻寬雖然是台灣最多,但是出國路由也是最繞路的
如果要大量下載檔案/bt,消耗大量頻寬的任務,中華電信仍是第一選擇

(Fastly 例外,Fastly CDN 到中華之間不知道有什麼恩怨,連線非常慢。
可能是因為 Fastly 不想付錢給中華? 要瀏覽 fastly cdn 的內容建議換別家。
cloudflare 也不想付錢給中華,選擇繞美,延遲高速度還行。
fastly 沒繞美,但是到中華速度慢炸。
其他 ISP 沒有這個問題, 主要還是因為中華的「越近 peer 越貴」政策)

但是要玩遊戲,進行任何延遲敏感的任務的話,十分不推薦中華電信

以上是我個人的看法,但我自身經驗仍然十分不足,各種批評指教也十分歡迎
路由爛不爛我不評論,但是中華的連線方式絕對不是你說的那樣
ace ventura
如果是PING=130ms 那絕大多數網上遊戲應該都不能玩了[笑到噴淚],
ph860308
假設俄羅斯東部用戶,到莫斯科Ping值就破百
如果是面向台灣市場的遊戲商,可能會租用中華電信的網路,或是和中華電信進行private peer

還有就是租用aws/gcp之類的雲服務商
這些雲服務商有台灣的市場,也會和中華電信進行private peer

大部分網路遊戲都是這一類,租用aws/gcp作為節點
所以這兩類連線都不會慢。

但是還有其他種類的連線。比如中小型ISP,外國IDC。他們可不一定會跑過來和中華電信peer

對於沒有花錢和中華電信peer的服務商
這個時候就要依賴上游的IP transit。通常會經過T1 ISP
https://en.wikipedia.org/wiki/Tier_1_network

但中華電信自己的ip transit供應商卻遠在美國。只有香港接了PCCW,日本接了NTT

其中不少T1 ISP(HE AS6939, Cognet AS174, Telstra AS4637, NTT AS2914) 都在台北設有POP
而中華電信卻跑去美國接他們。而不肯在台灣接。很好奇為什麼要這樣做

訪問這些連線,也就只有中華電信的用戶需要繞一大圈美國

TWGate 的路由好一點,有加TPIX
雖然都是中華電信營運,但是Hinet沒有接TWGatw作為上游
ph860308
當時台灣網路發展比其他鄰近國家落後,看網路交換中心歷史由來就知道,不用認真看待網路發展史,能用就夠
中華的策略是不在亞洲買Transit.. 在亞洲跟ISP之間都是Peering

而且原則上不在台北peering :p
KusakabeShi
就是我想吐槽的。香港ISP在香港peer,日本ISP在日本peer。 只有台灣的中華電信的原則是不在台灣peer
KusakabeShi wrote:

只有中華電信,一個都不肯接。完全都不接就算了,還特地跑去國外接,不在台灣接
所以最短路由就變成外國POP了。如果這不是刻意繞路是什麼呢?


海底纜線密集度的原因
在美國彙集比較便宜
https://www.submarinecablemap.com/country/taiwan
KusakabeShi
不是呀,我舉的例子都是些T1 ISP的台北PoP。起點在台灣,終點在台灣,沒有要走海纜的必要。但中華電信就是要繞一圈國外,延遲+++
家用的中華電信。連對岸.......我怎麼感覺比叫卡
反而公司的就比較順...
應該是一分錢一分貨
Clover UEFI 原版黑蘋果!
因為中華電信浮動制的頻寬都是塞在那幾條上面,如果是用固定制才可以解掉那個QoS,要不然就是辦台固企業線也可以
中華家用跟企業用的部分,切的蠻清楚了
不太可能家用跑得比企業還快
中華會選擇在國外和 Tier 1 ISP peering 有一個原因是因為,他們自己擁有海纜資源(台灣的本土電信商有參與海纜建設的只有中華電信了)
並且他們在海外有數據中心,接收來自或發往台灣的流量,所以中華用戶的流量是到海外落地交換。

我提供一個想法
台哥大、遠傳這些沒有自己國際電路的,他們就只能選擇租海纜,或是接Tier 1在台灣的PoP,透過PoP訪問在Tier 1的內容資源,當然這些資源不一定在台灣,有的走台灣的PoP進入他們的全球骨幹路由。

我發現在訪問akamai部分網段是走Telesta 和 tata communication (upos-hz-mirrorakam.akamaized.net),中華用戶是到 香港交換...因為資源是放在香港。

那其他電信商的情況我不知道,這就要去測試了,測試ICP的IP 例如影片CDN的地址,觀察其經過的路由點。我想就可以比較清楚中華是不是有繞路。

如果單純測台灣PoP去國外繞一圈回來,很正常,因為就是沒有接取阿,中華電信用戶根本就不需要經過這些PoP,直接走自己的國際骨幹到當地交換和在台灣PoP交換走對方的骨幹到當地也是一樣的道理,這是他的路由政策。(當然繞路也是歸咎於路由政策)

還是要看ICP資源屬地(CDN實際位置)再來看看是不是有繞路。
Bridger. h
如果實際的內容台灣有,而中華電信沒有接,硬是要高大上出國,或者更甚(繞一圈)那就是中華要檢討了。如果去國外頻寬足夠體驗不變,我自己覺得也不用太過糾結。路由是很複雜的問題....
KusakabeShi
這個政策在30年前還合理,但現在只能增加延遲了。現在的 T1 ISP 全球都有點,沒有資源屬地概念了。HE是美國公司,不代表資源都在美國呀,香港也有人接。而中華只接美國,跑去香港HE就要300ms
自己有海纜,也可以在台灣境內互連呀

外國的資源送去外國交換,境內的資源也能走境內交換呀,多一條線路不好嗎

現在就是境內沒互連,一大堆流量走了所謂「自己擁有海纜資源」的海纜跑去外國交換,繞一大圈

但是自己的海纜再怎麼好,也比不上兩棟隔壁的大樓,甚至同一棟大樓內部直接樓內拉光纖呀

中華電信現在的政策「不在國內和國際 T1 ISP 互連」這一點,除了讓底下用戶延遲增加以外,我想不到任何優點了...
我猜是 peering費用問題
美國的ISP互相Peering大多不用錢
中華電信Peering堅持要收錢(流量差太多),台灣目前有幾個交換中心,
中華不一定全加入(加入後Peeering沒錢收),或Peering頻寬不高
所以很多國內ISP之間要繞國外(不用錢),
如果是專線用戶無此問題

其實只要NCC規定Peering不用錢就會解決
結果會是...
1.中華營收減少=其他家ISP成本減少(中華電為其他家ISP提升競爭力的意思)
2.把台灣的ISP整合成各家規模都差不多久可以解決此問題,
不過各家規模都差不多,各家訂價也會差不多(可以賣1000何必賣500,如同三家行動網一樣價)
KusakabeShi
要中華電信和小ISP免費 peer 應該有點難... 但是和 T1 ISP 的台灣PoP 互連還算合理吧? 連 T1 ISP 的路由都是 200ms 的延遲, 20mbps的網速,實在有點難用...
Bridger. h
台灣商業ISP大部分網段應該都有國內互連了,但在某些特殊情況下會導致繞路
關閉廣告
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!