Tại sao tuyến đường địa lý gần nhất trên internet không phải lúc nào cũng nhanh nhất?

Đôi khi, mọi người hỏi chúng tôi:

Tại sao BunnyCDN định tuyến truy cập từ một quốc gia hoặc khu vực nhất định tới một PoP không gần với người dùng cuối nhất về mặt địa lý? 

Rốt cuộc, chẳng phải đó là nhiệm vụ quan trọng nhất mà CDN hướng đến, tăng tốc nội dung và caching nó ở các máy chủ biên hay sao.

Câu trả lời khá đơn giản, nhưng để hiểu rõ vấn đề hơn, chúng ta cần xem cách thức hoạt động của internet. Nói một cách rất giản lược, internet là một tập hợp bao gồm các sợi cáp quang, dây rợ và thiết bị mạng được kết nối với nhau trên khắp thế giới.

Các nhà cung cấp internet khác nhau ở các quốc gia khác nhau có các kết nối với nhau theo cách khác nhau. Thậm chí ngay cả trong trường hợp có một kết nối tiềm năng giữa hai khu vực, có khả năng là ISP không thể truy cập vào kết nối đó.

Điều này có thể được minh họa một cách độc đáo với bản đồ cáp quang biển toàn cầu được cung cấp bởi undergroundcablemap.com như hình dưới đây:

cáp quang quốc tế

Ví dụ: mặc dù Brazil có vị trí địa lý khá gần với Châu Phi, nhưng thực tế có rất ít kết nối giữa hai khu vực này và khả năng cao là kết nối từ Brazil trước tiên cần đến Bắc Mỹ, sau đó đến Châu Âu và chỉ sau đó mới đến được Châu phi.

Để minh họa điều này trong thực tế, đây là một đường dẫn mạng từ PoP Sao Paulo (Brazil / Nam Mỹ) của chúng tôi đến PoP của chúng tôi ở Lagos (Nigeria / Châu Phi). Đầu tiên nó dừng lại ở New York, sau đó ghé thăm London một chút. Chỉ sau hơn 142,5ms, các gói tin đầu tiên sẽ đến đích sau khi đi hàng nghìn km vòng quanh thế giới:

traceroute -I 102.129.144.45
traceroute to 102.129.144.45 (102.129.144.45), 30 hops max, 60 byte packets
 1  * * *
 2  10.10.0.2 (10.10.0.2)  0.387 ms  0.400 ms  0.401 ms
 3  172.30.30.9 (172.30.30.9)  0.619 ms  0.857 ms  0.867 ms
 4  10ge0-1.core3.sao1.he.net (184.105.65.230)  127.126 ms  126.937 ms  127.131 ms
 5  100ge8-1.core1.nyc4.he.net (184.104.195.21)  126.928 ms  126.959 ms  127.166 ms
 6  100ge7-1.core1.lon2.he.net (72.52.92.165)  192.323 ms  192.363 ms  192.365 ms
 7  hurricane-ic-129713-ldn-b5.c.telia.net (213.248.93.82)  192.482 ms  192.772 ms  192.720 ms
 8  west-indian-ocean-cable-company-ltd.10gigabitethernet5-3.core1.lon3.he.net (184.104.202.194)  193.320 ms  192.022 ms  192.094 ms
 9  154.66.247.99 (154.66.247.99)  192.653 ms  193.109 ms  193.116 ms
10  154.66.247.147 (154.66.247.147)  284.804 ms  284.856 ms  284.803 ms
11  102.134.18.2 (102.134.18.2)  285.115 ms  285.080 ms  285.084 ms
12  102.129.144.45 (102.129.144.45)  285.081 ms  285.080 ms  285.069 ms

Mặc dù đây là một ví dụ hơi cực đoan để minh họa cho vấn đề, nhưng rắc rối tương tự vẫn xảy ra thường xuyên trong các tình huống thực tế giữa các quốc gia và khu vực khác nhau. Điều này đặc biệt hay xảy ra ở các khu vực kém phát triển hơn, nơi nhiều trung tâm dữ liệu được kết nối theo cách mà chúng chỉ thực sự hữu ích để phục vụ một quốc gia nào đó.

Điều đáng mừng là hầu hết các quản trị viên mạng đều nhận thức rõ những vấn đề này. Tại BunnyCDN, chúng tôi liên tục theo dõi các bộ định tuyến mạng và tối ưu hóa cả việc lựa chọn nhà cung cấp dịch vụ và bản thân bộ định tuyến để đảm bảo rằng chúng tôi luôn phục vụ người dùng cuối với đường dẫn tối ưu nhất.

Ở một số khu vực như Singapore, chúng tôi thực sự đã mở nhiều PoP với sự kết hợp mạng khác nhau để đảm bảo chúng tôi có thể phân phối nội dung hiệu quả nhất có thể cho các quốc gia lân cận. 

Một ví dụ khác, chúng ta có thể xem xét PoP được mở gần đây của chúng tôi ở Nigeria, được định cấu hình để chỉ phục vụ người dùng từ trong nước nhằm tránh bất kỳ chuyến hành trình dài dằng dặc nào như ví dụ trên. Mặt khác, các quốc gia lân cận như Ghana hoặc Mali được phục vụ bởi PoP ở Madrid hoặc Paris của chúng tôi, những quốc gia được kết nối tới các khu vực này tốt hơn nhiều.

Vì vậy, nếu bạn từng thắc mắc tại sao bạn đang được định tuyến đến một vị trí cụ thể có vẻ không phải là điểm đến lý tưởng, thì khả năng cao là vì đó là tuyến đường tốt hơn cho ISP cụ thể của bạn.

Tất nhiên, không có hệ thống nào là hoàn hảo và các mạng đang thay đổi hàng ngày. Trong khi chúng tôi cố gắng hết sức để luôn cập nhật mọi thứ, đừng ngại cho chúng tôi biết có điều gì đó không ổn và nhóm của chúng tôi sẽ đảm bảo xem xét vấn đề đó.

Bạn có tò mò về định tuyến của mình không? Hãy sử dụng lệnh tracert trên cmd của bạn (hãy tham khảo thêm hướng dẫn trên mạng) và xem điều này hoạt động như thế nào.

(Biên tập từ bài viết Why the closest geographical path on the internet isn’t always the fastest, tác giả Dejan Grofelnik Pelzel / BunnyCDN)

Leave a Comment