Những khái niệm cơ bản liên quan đến Ping bạn cần biết khi sử dụng Internet

Nếu bạn là một game thủ, hẳn bạn đã từng một vài lần bực bội vì ping cao và "hận cả thế giới" khi mọi thứ - từ chơi game cho đến lướt web – đều rơi vào tình trạng lag.


Vậy bạn có bao giờ thắc mắc ping là gì, và liệu có bao giờ ping ở mức 0ms hay không?

Ping được dùng vào mục đích gì?

Ping không chỉ là một thước đo "hiệu năng". Cụ thể hơn, nó là thước đo độ trễ giữa máy tính của bạn và một thiết bị ở xa. Một ping sẽ cho bạn biết thời gian cần thiết để một gói dữ liệu (gọi là "packet") rời khỏi máy tính của bạn, đi đến máy chủ ở xa, sau đó quay trở lại với bạn.

Ping ảnh hưởng đến quá trình lướt web ra sao?

Bạn đã bao giờ để ý thấy khi bấm vào một đường link trên một trang web, trang mới sẽ không hiện ra ngay lập tức? Khoảng trễ nhỏ giữa lúc bạn bấm chuột và lúc trang web được nạp xong gọi là "độ trễ" (latency).

Máy tính của bạn phải gửi yêu cầu đến trang mới đó và đợi trang được chuyển về cho bạn. Sẽ mất một khoảng thời gian ngắn để mọi packet di chuyển giữa máy tính của bạn và máy tính ở xa. Ping cho phép bạn đo độ trễ này.

Ping ảnh hưởng đến quá trình chơi game trực tuyến ra sao?

Bạn có thể cảm nhận rất rõ ràng ping trong các game trực tuyến. Ví dụ, nếu bạn đang chơi một tựa game với ping 20ms, độ trễ là rất thấp. Các hành động bạn thực hiện sẽ hiện ra trong game gần như ngay lập tức. Nếu bạn có ping cao hơn, như 200ms chẳng hạn, các hành động bạn thực hiện sẽ bị trễ đáng kể, và bạn sẽ không thể bắt kịp với những người khác đang cùng chơi với mình.


Đó là lý do vì sao nhiều game trực tuyến nhiều người chơi hiện nay luôn hiển thị ping trên màn hình. Nó giúp bạn biết được tình trạng của đường truyền và trải nghiệm chơi game mà bạn sẽ có trên máy chủ.

Ping càng thấp càng tốt; khi đó, độ trễ sẽ thấp hơn, tức giao tiếp giữa bạn và máy chủ từ xa sẽ nhanh hơn. Quy tắc này áp dụng với mọi thứ bạn làm khi sử dụng internet – dù bạn đang chơi game trực tuyến, hay chỉ đơn thuần là lướt web.

Đôi lúc, game và các phần mềm sẽ gọi ping là "độ trễ", nhưng chúng đều như nhau. Game thường phân loại ping theo màu sắc để giúp bạn chỉ cần liếc nhìn cũng biết ping của mình đang ở mức nào. Thông thường, ping màu xanh lá là mức lý tưởng, ping màu vàng là vừa đủ, và ping màu đỏ là rất tệ.

Ping hoạt động ra sao?

Nói một cách đơn giản hóa, thì ping hoạt động như sau:

  • Máy tính của bạn sẽ gửi một packet dữ liệu nhỏ đến một máy tính ở xa.
  • Máy tính ở xa nhận packet với yêu cầu phải phản hồi lại.
  • Máy tính ở xa sẽ gửi packet ngược lại cho bạn.

Đó là một ping đơn giản. Ping cho phép bạn đo quãng thời gian khứ hồi mà một packet cần để di chuyển giữa máy tính của bạn và máy tính ở xa.

Ví dụ, trong hình dưới, chúng ta sử dụng câu lệnh ping trong cửa sổ dòng lệnh của Windows (CMD) để ping đến máy chủ google.com


Như bạn đã thấy trong cột "time" (thời gian), ping chúng ta gửi đến Google rơi vào khoảng 11ms. Khá nhanh đấy! Dù đứt cáp nhưng chúng ta vẫn có kết nối ổn định đến máy chủ Google.

Yếu tố kỹ thuật của Ping

Khi bạn gửi đi một ping, máy tính của bạn sẽ gửi một packet yêu cầu hồi đáp ICMP. ICMP là viết tắt của "Internet Control Message Protocol" (Giao thức Tin nhắn Kiểm soát Internet), và nó được sử dụng giữa các thiết bị mạng để chúng có thể giao tiếp với nhau. Packet này yêu cầu một "echo" – hay nói một cách dễ hiểu là một hồi đáp.

Máy chủ ở xa, khi nhận được ping, sẽ phản hồi bằng một tin nhắn của chính nó. Khi bạn chạy một lệnh ping và thấy nhiều ping xuất hiện, thì mỗi hàng là một packet được gửi đi và phản hồi của chúng.

Tuy nhiên, không phải mọi máy tính hay máy chủ đều có thể phản hồi lại các packet yêu cầu hồi đáp ICMP. Nếu chủ nhân máy tính nói nó không phản hồi lại ping, bạn sẽ không nhận được phản hồi. Thay vào đó, bạn sẽ thấy tin nhắn "Requets timed out" bởi máy chủ không phản hồi lại ping của bạn trong thời gian cho phép. Các đợt tấn công từ chối dịch vụ (DDoS) đôi lúc lợi dụng giao thức ICMP này để thực hiện ý đồ.

Sử dụng Ping để phát hiện gói dữ liệu có bị thất thoát hay không

Ping còn có thể giúp bạn phát hiện tình trạng thất thoát dữ liệu. Ví dụ, bạn chạy câu lệnh ping và thấy nhiều phản hồi xen lẫn với nội dung "Requets timed out".

Điều đó cho thấy một số packet ping không được máy tính ở xa nhận, hoặc phản hồi của chúng không đến được máy bạn. Đâu đó trên đường đi, các packet này đã bị mất tích. Hiện tượng này được gọi là "'thất lạc packet", và có thể là một vấn đề gây đau đầu trong quá trình quản lý và sử dụng mạng.

Nếu ban thấy "Requets timed out" khi ping một website hay máy chủ, bạn có thể đoán được tình trạng thất lạc packet đã xảy ra ở đâu đó trên tuyến đường giữa bạn và máy chủ. Có thể vấn đề nằm ở mạng của máy tính ở xa, ở một router nằm đâu đó giữa hai máy, ở ISP của bạn, hoặc ở mạng nhà bạn.

Nếu bạn gặp vấn đề khi lướt internet hoặc chơi game trực tuyến, câu lệnh ping có thể giúp xác định tình trạng thất lạc packet. Bạn cũng có thể sử dụng một traceroute để xem đường đi của các packet dữ liệu và xác định khi nào tình trạng thất lạc packet xảy ra.

Có thể đạt được Zero Ping (ping 0ms) hay không?

Đạt được mức ping thấp nhất có thể là mục tiêu lý tưởng đối với mọi người dùng internet. Chính vì vậy, một zero ping có thể xem là tình huống hoàn hảo. Có nghĩa là máy tính của chúng ta có thể giao tiếp tức thời với một máy chủ từ xa.

Không may là, vì các định luật vật lý, các packet dữ liệu cần thời gian để di chuyển. Kể cả khi packet di chuyển hoàn toàn qua cáp sợi quang, nó vẫn không thể đạt vận tốc nhanh hơn ánh sáng được.

Ngoài ra, quá trình di chuyển còn bị hạn chế bởi các router kết nối đến các cáp sợi quang kia, vốn là thiết bị nhận packet và chuyển nó sang router tiếp theo trong một chuỗi các router. Quá trình này hiển nhiên tốn thời gian, và khiến giấc mơ zero ping mãi mãi chỉ là một giấc mơ.

Zero Ping với Localhost


Tuy nhiên, có một cách để đạt được zero ping, dù rằng cũng chẳng để làm gì. Nếu bạn thử ping đến máy tính của chính mình bằng câu lệnh "ping localhost", bạn đã yêu cầu máy tính tự liên hệ với chính nó và phản hồi lại chính nó. Trong trường hợp này, bạn thường thấy ping "<1ms", về cơ bản chính là zero.

Kết quả này đơn giản là cho thấy máy tính của bạn có thể giao tiếp với chính nó ngay lập tức. Tất nhiên, trên thực tế, không có gì là "ngay lập tức" cả, bởi phần mềm cần một khoảng thời gian nhỏ để thực thi các câu lệnh. Chỉ có điều khoảng thời gian này là rất thấp, đến nỗi chúng ta có thể làm tròn nó thành 0ms và vỗ ngực tự hào rằng chúng ta có zero ping đến máy tính của chính mình!

Cáp và Wi-Fi khiến vấn đề càng rắc rối

Nếu bạn tính cả chiều dài cáp, router, và khoảng cách giữa các thiết bị, bạn sẽ không có ping 0ms nữa. Ví dụ, bạn có thể thử ping đến router trong nhà mình. Trong hình dưới, chúng tôi ping đến router của mình qua kết nối Wi-Fi. Router được đặt trong cùng phòng với máy tính, thế nhưng, nó không thể đạt được mức 1ms, chứ chưa nói đến mức zero!


Như bạn có thể thấy ở trên, sẽ mất một ít thời gian để máy tính giao tiếp với một thiết bị trong cùng phòng. Chính vì vậy, rất khó để đạt ping 0ms với router của chính bạn. Bạn còn có thể đòi hỏi điều gì với một website hay máy chủ nằm đâu đó cách đây nửa vòng trái đất?

Điều đó có ý nghĩa gì đối với khái niệm zero ping? Trừ khi các nhà khoa học tìm ra cách bẻ cong các định luật vật lý và đạt được khả năng truyền dữ liệu tức thời, chúng ta có lẽ sẽ chưa thấy ping 0ms trong một thời gian dài trước mắt; có khi là không bao giờ thấy được cũng nên!

Theo VnReview

Post a Comment

Mới hơn Cũ hơn