Chiến đấu trong một phần nghìn giây. Cách chọn server có ping thấp nhất

Đối với nhiều tác vụ, độ trễ giữa máy khách và máy chủ là rất quan trọng, ví dụ như trong trò chơi trực tuyến, hội nghị thoại/video, điện thoại IP, VPN, v.v. Nếu máy chủ ở quá xa máy khách ở cấp độ mạng IP thì độ trễ (thường được gọi là “ping”, “lag”) sẽ cản trở công việc.

Khoảng cách địa lý của máy chủ không phải lúc nào cũng bằng nhau ở cấp độ định tuyến IP. Vì vậy, ví dụ, một máy chủ ở một quốc gia khác có thể “gần” với bạn hơn một máy chủ ở thành phố của bạn. Tất cả là do đặc thù của việc định tuyến và xây dựng mạng.

Chiến đấu trong một phần nghìn giây. Cách chọn server có ping thấp nhất

Làm cách nào để chọn một máy chủ gần gũi nhất có thể với tất cả các khách hàng tiềm năng? Kết nối mạng IP là gì? Làm cách nào để hướng khách hàng đến máy chủ gần nhất? Hãy cùng tìm hiểu trong bài viết.

Đo độ trễ

Đầu tiên, hãy tìm hiểu cách đo độ trễ. Nhiệm vụ này không đơn giản như vẻ ngoài của nó vì độ trễ có thể khác nhau đối với các giao thức và kích thước gói khác nhau. Bạn cũng có thể bỏ lỡ các sự kiện ngắn hạn, chẳng hạn như sự sụt giảm kéo dài vài mili giây.

ICMP - ping thông thường

Chúng ta sẽ sử dụng tiện ích ping Unix; nó cho phép bạn đặt khoảng thời gian giữa các gói gửi theo cách thủ công, điều mà phiên bản ping cho Windows không thể thực hiện được. Điều này quan trọng vì nếu có những khoảng dừng dài giữa các gói, bạn có thể không thấy điều gì đang xảy ra giữa chúng.

Kích cỡ gói (tùy chọn -s) - theo mặc định, tiện ích ping sẽ gửi các gói có kích thước 64 byte. Với các gói nhỏ như vậy, hiện tượng xảy ra với các gói lớn hơn có thể không đáng chú ý nên chúng tôi sẽ đặt kích thước gói thành 1300 byte.

Khoảng thời gian giữa các gói (tùy chọn -i) - thời gian giữa các lần gửi dữ liệu. Theo mặc định, các gói được gửi một lần mỗi giây, điều này rất dài, các chương trình thực tế gửi hàng trăm, hàng nghìn gói mỗi giây, vì vậy chúng tôi sẽ đặt khoảng thời gian là 0.1 giây. Chương trình đơn giản là không cho phép ít hơn.

Kết quả là lệnh trông như thế này:

ping -s 1300 -i 0.1 yandex.ru

Thiết kế này cho phép bạn nhìn thấy một bức tranh chân thực hơn về độ trễ.

Ping qua UDP và TCP

Trong một số trường hợp, kết nối TCP được xử lý khác với gói ICMP và do đó, số đo có thể khác nhau tùy theo giao thức. Điều cũng thường xảy ra là máy chủ không phản hồi với ICMP và ping thông thường không hoạt động. Ví dụ, đây là điều mà một người chủ nhà làm trong suốt cuộc đời của mình. microsoft.com.

Tính thiết thực nping từ các nhà phát triển của máy quét nổi tiếng nmap có thể tạo ra bất kỳ gói nào. Nó cũng có thể được sử dụng để đo độ trễ.
Vì UDP và TCP hoạt động trên các cổng cụ thể nên chúng ta cần “ping” một cổng cụ thể. Hãy thử ping TCP 80, tức là cổng máy chủ web:

$ sudo nping --tcp -p 80 --delay 0.1 -c 0 microsoft.com

Starting Nping 0.7.80 ( https://nmap.org/nping ) at 2020-04-30 13:07 MSK
SENT (0.0078s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
SENT (0.1099s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.2068s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=43 id=0 iplen=44  seq=1480267007 win=64240 <mss 1440>
SENT (0.2107s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.3046s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=43 id=0 iplen=44  seq=1480267007 win=64240 <mss 1440>
SENT (0.3122s) TCP 10.0.0.1:63236 > 13.77.161.179:80 S ttl=64 id=49156 iplen=40  seq=3401731188 win=1480
RCVD (0.4247s) TCP 13.77.161.179:80 > 10.0.0.1:63236 SA ttl=42 id=0 iplen=44  seq=2876862274 win=64240 <mss 1398>

Max rtt: 112.572ms | Min rtt: 93.866ms | Avg rtt: 101.093ms
Raw packets sent: 4 (160B) | Rcvd: 3 (132B) | Lost: 1 (25.00%)
Nping done: 1 IP address pinged in 0.43 seconds

Theo mặc định, nping gửi 4 gói và dừng lại. Lựa chọn -c 0 cho phép gửi các gói liên tục; để dừng chương trình, bạn cần nhấn Ctrl+C. Thống kê sẽ được hiển thị ở cuối. Chúng tôi thấy rằng giá trị rtt (thời gian khứ hồi) trung bình là 101ms.

MTR - traceroute trên steroid

Chương trình MTR My Traceroute là một tiện ích nâng cao để theo dõi các tuyến đường đến máy chủ từ xa. Không giống như tiện ích hệ thống traceroute thông thường (trong Windows đây là tiện ích tracert), nó có thể hiển thị độ trễ đối với từng máy chủ trong chuỗi gói. Nó cũng có thể theo dõi các tuyến đường không chỉ thông qua ICMP mà còn thông qua UDP và TCP.

$ sudo mtr microsoft.com

Chiến đấu trong một phần nghìn giây. Cách chọn server có ping thấp nhất
(Có thể nhấp vào) Giao diện chương trình MTR. Đã bắt đầu theo dõi lộ trình tới microsoft.com

MTR ngay lập tức hiển thị ping tới từng máy chủ trong chuỗi và dữ liệu được cập nhật liên tục trong khi chương trình đang chạy và có thể nhìn thấy những thay đổi ngắn hạn.
Ảnh chụp màn hình cho thấy nút số 6 bị mất gói, nhưng trên thực tế điều này không hoàn toàn đúng, bởi vì một số bộ định tuyến có thể chỉ cần loại bỏ các gói có TTL đã hết hạn và không trả về phản hồi lỗi, vì vậy dữ liệu mất gói có thể bị bỏ qua ở đây.

WiFi so với cáp

Chiến đấu trong một phần nghìn giây. Cách chọn server có ping thấp nhất
Chủ đề này không hoàn toàn liên quan đến bài viết nhưng theo tôi nó rất quan trọng trong bối cảnh chậm trễ. Tôi thực sự yêu thích WiFi, nhưng nếu tôi có cơ hội nhỏ nhất để kết nối Internet bằng cáp, tôi sẽ sử dụng nó. Tôi cũng luôn không khuyến khích mọi người sử dụng camera WiFi.
Nếu bạn chơi game bắn súng trực tuyến nghiêm túc, phát trực tuyến video hoặc giao dịch trên sàn giao dịch chứng khoán: vui lòng sử dụng Internet qua cáp.

Đây là thử nghiệm trực quan để so sánh kết nối Wi-Fi và cáp. Đây là ping tới bộ định tuyến WiFi, tức là thậm chí chưa có Internet.

Chiến đấu trong một phần nghìn giây. Cách chọn server có ping thấp nhất
(Có thể nhấp) So sánh ping với bộ định tuyến WiFi qua cáp và qua WiFi

Có thể thấy qua WiFi độ trễ dài hơn 1ms và đôi khi có những gói tin có độ trễ dài hơn gấp chục lần! Và đây chỉ là một khoảng thời gian ngắn. Đồng thời, cùng một bộ định tuyến tạo ra độ trễ ổn định <1ms.

Trong ví dụ trên, WiFi 802.11n ở tần số 2.4GHz được sử dụng, chỉ có máy tính xách tay và điện thoại được kết nối với điểm truy cập WiFi. Nếu có nhiều khách hàng hơn trên điểm truy cập, kết quả sẽ tệ hơn nhiều. Đây là lý do tại sao tôi phản đối việc chuyển tất cả các máy tính văn phòng sang WiFi nếu có thể kết nối chúng bằng cáp.

kết nối IP

Vì vậy, chúng ta đã học cách đo độ trễ đối với máy chủ, hãy thử tìm máy chủ gần chúng ta nhất. Để làm điều này, chúng tôi có thể xem cách hoạt động của định tuyến của nhà cung cấp. Thật thuận tiện khi sử dụng dịch vụ cho việc này bgp.he.net

Chiến đấu trong một phần nghìn giây. Cách chọn server có ping thấp nhất

Khi truy cập trang web, chúng tôi thấy địa chỉ IP của chúng tôi thuộc về hệ thống tự trị AS42610.

Bằng cách nhìn vào biểu đồ kết nối của các hệ thống tự trị, chúng tôi có thể biết nhà cung cấp cấp cao hơn nào mà nhà cung cấp của chúng tôi được kết nối với phần còn lại của thế giới. Mỗi dấu chấm đều có thể nhấp vào, bạn có thể vào và đọc đó là loại nhà cung cấp nào.

Chiến đấu trong một phần nghìn giây. Cách chọn server có ping thấp nhất
Biểu đồ kết nối của các hệ thống tự trị của nhà cung cấp

Bằng cách sử dụng công cụ này, bạn có thể nghiên cứu cách cấu trúc các kênh của bất kỳ nhà cung cấp nào, bao gồm cả dịch vụ lưu trữ. Xem nhà cung cấp nào được kết nối trực tiếp. Để thực hiện việc này, bạn cần nhập địa chỉ IP của máy chủ vào tìm kiếm bgp.he.net và xem biểu đồ hệ thống tự trị của nó. Bạn cũng có thể hiểu cách một trung tâm dữ liệu hoặc nhà cung cấp dịch vụ lưu trữ được kết nối với một trung tâm dữ liệu khác.

Hầu hết các điểm trao đổi lưu lượng đều cung cấp một công cụ đặc biệt gọi là kính nhìn, cho phép bạn ping và theo dõi lộ trình từ một bộ định tuyến cụ thể tại điểm trao đổi.

Ở đây, ví dụ, gương soi từ MGTS

Vì vậy, khi chọn máy chủ, chúng ta có thể thấy trước nó sẽ trông như thế nào từ các điểm trao đổi lưu lượng khác nhau. Và nếu khách hàng tiềm năng của chúng tôi nằm ở một khu vực địa lý nhất định, chúng tôi có thể tìm thấy vị trí tối ưu cho máy chủ.

Chọn máy chủ gần nhất

Chúng tôi quyết định đơn giản hóa quy trình tìm máy chủ tối ưu cho khách hàng của mình và tạo một trang có tính năng tự động kiểm tra các vị trí lân cận: Trung tâm dữ liệu RUVDS.
Khi bạn truy cập một trang, tập lệnh sẽ đo độ trễ từ trình duyệt của bạn đến từng máy chủ và hiển thị chúng trên bản đồ tương tác. Khi bạn nhấp vào trung tâm dữ liệu, thông tin kèm theo kết quả kiểm tra sẽ được hiển thị.

Chiến đấu trong một phần nghìn giây. Cách chọn server có ping thấp nhất

Chiến đấu trong một phần nghìn giây. Cách chọn server có ping thấp nhất

Nút này sẽ đưa bạn đến trang kiểm tra độ trễ cho tất cả các trung tâm dữ liệu của chúng tôi. Để xem kết quả kiểm tra click vào điểm trung tâm dữ liệu trên bản đồ

Chiến đấu trong một phần nghìn giây. Cách chọn server có ping thấp nhất

Nguồn: www.habr.com

Thêm một lời nhận xét