Tôi đã nhận thấy rằng trên các máy chủ của mình và các máy khác, đồng hồ luôn bị trôi nên nó phải đồng bộ hóa để duy trì chính xác.
Làm thế nào để đồng hồ máy chủ NTP không trôi và luôn luôn đúng?
Tôi đã nhận thấy rằng trên các máy chủ của mình và các máy khác, đồng hồ luôn bị trôi nên nó phải đồng bộ hóa để duy trì chính xác.
Làm thế nào để đồng hồ máy chủ NTP không trôi và luôn luôn đúng?
Câu trả lời:
Máy chủ NTP dựa trên đồng hồ có độ chính xác cao để chấm công chính xác. Một nguồn thời gian phổ biến cho các máy chủ NTP trung tâm là đồng hồ nguyên tử hoặc máy thu GPS (hãy nhớ rằng các vệ tinh GPS có đồng hồ nguyên tử trên tàu). Những đồng hồ này được định nghĩa là chính xác vì chúng cung cấp một tham chiếu thời gian chính xác cao. Không có gì kỳ diệu về GPS hoặc đồng hồ nguyên tử khiến chúng cho bạn biết chính xác thời gian; bởi vì cách thức hoạt động của đồng hồ nguyên tử, chúng chỉ đơn giản là rất giỏi, đã từng được cho biết đó là mấy giờ, cứ nói thời gian chính xác (vì lần thứ hai được định nghĩa theo hiệu ứng nguyên tử ). Trên thực tế, đáng chú ý là thời gian GPS khác với UTC mà chúng ta thường thấy hơn. Những đồng hồ nguyên tử lần lượt được đồng bộ hóa vớiThời gian nguyên tử quốc tế hoặc TAI để không nói chỉ chính xác thời gian trôi qua mà còn là thời gian.
Khi bạn có thời gian chính xác trên một hệ thống được kết nối với mạng như Internet, vấn đề về kỹ thuật giao thức cho phép chuyển thời gian chính xác giữa các máy chủ qua mạng không đáng tin cậy. Về vấn đề này, một tầng 2 (hoặc xa hơn so với nguồn thời gian thực) máy chủ NTP không khác với hệ thống máy tính để bàn của bạn đồng bộ hóa với một bộ máy chủ NTP.
Vào thời điểm bạn có một vài lần chính xác (như được lấy từ các máy chủ NTP hoặc ở nơi khác) và biết tốc độ tiến bộ của đồng hồ địa phương của bạn (rất dễ xác định), bạn có thể tính tốc độ trôi của đồng hồ địa phương so với "chính xác được tin là " thời gian trôi qua. Sau khi được khóa, giá trị này có thể được sử dụng để liên tục điều chỉnh đồng hồ cục bộ để làm cho nó báo cáo các giá trị rất gần với thời gian chính xác, ngay cả khi chính đồng hồ thời gian thực cục bộ rất không chính xác; miễn là đồng hồ cục bộ của bạn không quá thất thường, điều này sẽ cho phép giữ thời gian chính xác trong một thời gian ngay cả khi nguồn thời gian ngược dòng của bạn không có sẵn vì bất kỳ lý do nào. Một số triển khai ứng dụng khách NTP (có thể là hầu hết các ntpd
triển khai dịch vụ hệ thống hoặc dịch vụ hệ thống) làm điều này và một số khác (như bạn đồng hành của ntpdntpdate
mà chỉ đơn giản là đặt đồng hồ một lần) thì không. Điều này thường được gọi là một tập tin trôi dạt vì nó lưu trữ liên tục một thước đo độ trôi của đồng hồ, nhưng nói đúng ra nó không phải được lưu trữ dưới dạng một tập tin cụ thể trên đĩa.
Trong NTP, tầng 0 theo định nghĩa là nguồn thời gian chính xác. Tầng 1 là một hệ thống sử dụng nguồn thời gian 0 tầng làm nguồn thời gian của nó (và do đó kém chính xác hơn một chút so với nguồn thời gian 0 tầng). Tầng 2 một lần nữa kém chính xác hơn tầng 1 vì nó đang đồng bộ hóa thời gian của nó với nguồn tầng 1. Và như vậy. Trong thực tế, sự mất độ chính xác này nhỏ đến mức nó hoàn toàn không đáng kể trong tất cả các trường hợp ngoại trừ trường hợp cực đoan nhất.
Trong chấm công mạng, đặc tả cho bạn biết làm thế nào một máy chủ có được nguồn thời gian của nó được gọi là Cấp địa tầng. Cấp độ càng thấp, thời gian giữ máy chủ đó càng tốt.
Các thiết bị tầng 0 không được kết nối trực tiếp với mạng. Chúng là thiết bị chấm công thực tế và phải được kết nối với máy tính để lấy thời gian thực tế. Máy tính này sau đó trở thành máy chủ NTP Stratum cấp 1.
Một máy tính kết nối với Stratum cấp 1 cũng có thể trở thành một máy chủ thời gian, nhưng sau đó nó sẽ là một tầng 2. Khi các máy tính kết nối với các máy chủ thời gian, mức tầng của bạn càng thấp, việc giữ thời gian của bạn càng chính xác.
Các thiết bị tầng 0 bao gồm đồng hồ nguyên tử tham gia TAI (giờ nguyên tử quốc tế)hoặc được đồng bộ hóa với nó và bộ thu tín hiệu thời gian được gửi bởi đồng hồ đó. Thông thường nhất là các máy thu giờ GPS với giao diện phù hợp bao gồm tín hiệu GPS PPS. Tín hiệu PPS, khi GPS có khóa tốt trên một số vệ tinh, sẽ gửi một xung mỗi giây và cạnh đầu của xung đó nằm trong vài nano giây so với khởi đầu thực tế của giây đó. Tùy thuộc vào đặc điểm kỹ thuật của máy thu GPS, tín hiệu PPS có thể chính xác hơn hoặc ít hơn. Điều này là do mỗi vệ tinh GPS có đồng hồ nguyên tử. Khi máy thu GPS đã tìm thấy vị trí của chính nó và vị trí của các vệ tinh GPS mà nó đang nghe, nó có thể điều chỉnh để truyền RF và cho bạn thời gian gần như chính xác như có đồng hồ nguyên tử ngay tại máy thu GPS.
Vì vậy, các máy chủ Stratum cấp 1 kết nối với đồng hồ nguyên tử hoặc máy thu GPS và máy chủ NTP kết nối với chúng. Ngay cả việc kết nối với máy chủ cấp 2 hoặc 3 tầng với các điều chỉnh thường xuyên sẽ cung cấp cho máy tính của bạn độ chính xác về thời gian được đo bằng nano giây. Nhưng nếu bạn cần thời gian tốt hơn, hãy kết nối với máy chủ cấp một tầng hoặc mua máy thu GPS chấm công thích hợp và tự mình trở thành nguồn cấp tầng một.
Tất cả các đồng hồ trôi đến một mức độ nào đó, nó phụ thuộc vào nguồn tín hiệu thời gian và mức độ theo dõi của nó. Trong PC, đây là HPET ngày nay, nhưng PC có thể mất theo dõi xem có bao nhiêu tích tắc đã qua nếu quá tải.
Các máy chủ NTP mà máy của bạn nói cũng có khả năng mất thời gian, tuy nhiên, chúng trôi thời gian trở lại nguồn tốt hơn.
Cuối cùng, các nguồn tốt hơn là đồng hồ có độ chính xác cao như đồng hồ nguyên tử. Bạn có thể nghĩ về NTP như một mạng lưới các máy móc, mỗi máy sẽ có một số nguồn mà nó dựa vào thời gian và làm lệch thời gian của chính nó với những gì được coi là chính xác hơn.
Điều này được điều chỉnh bởi một nguồn tuyên bố tầng của nó. Đồng hồ nguyên tử hoặc GPS là tầng 0 và quyền hạn về thời gian là gì. Mỗi lớp từ đó là tầng tiếp theo - tầng 1 và sẽ kiểm tra một số nguồn 0 tầng cùng với các đồng nghiệp ở cùng cấp độ, để kiểm tra vệ sinh các nguồn thời gian.
Bạn có thể nói chuyện với một nguồn thời gian 2 hoặc 3 tầng.
Những gì người khác viết là đúng: máy chủ Stratum 1 lấy thời gian từ thiết bị Stratum 0. Tôi không biết khoảng thời gian nào xảy ra, nhưng tôi nghĩ chúng khá chính xác ở đó ,.
Máy chủ Stratum n có n> 1 nhận được thời gian thông qua NTP từ máy chủ Stratum n-1. Điều đó có nghĩa là nó đồng bộ hóa với nó trong khoảng thời gian thường xuyên. Khi bắt đầu dịch vụ NTP, đồng bộ hóa xảy ra trong các khoảng thời gian khá ngắn và theo thời gian, các khoảng thời gian bắt đầu tăng lên. Cuối cùng, khoảng thời gian này lớn tới 1024 giây, khoảng 17 phút.
Điều gì chưa được giải quyết là câu hỏi điều gì xảy ra ở giữa thời điểm đó? Vâng, có một cơ sở được gọi là tập tin trôi dạt . Nó giúp NTP giám sát mọi sự trôi dạt giữa đồng hồ cục bộ và đồng hồ tham chiếu. Tần số của đồng hồ cục bộ sau đó được điều chỉnh theo độ trôi được phát hiện, do đó thời gian cũng chính xác giữa các cuộc thăm dò máy chủ.
Việc triển khai NTP khác có thể sử dụng các phương tiện khác, nhưng có một điều phổ biến: nhu cầu và khả năng điều chỉnh tần số của đồng hồ.