이더넷 케이블을 통해 하나의 Raspberry Pi에 연결되고 Wi-Fi를 통해 30개의 다른 Raspberry Pi에 연결된 4G/LTE 인터넷 연결을 갖춘 Mikrotik 라우터로 구성된 테스트 네트워크 설정이 있습니다.
iperf
저는 Raspberry Pi 노드 간의 클럭 드리프트를 최소화하여 netperf
. 나는 라즈베리 파이를 소유하는 데 더 관심이 있습니다.서로 동의하다내가 그들의 존재 속에 있었던 한완전히 정확함, 연습의 전체 목적은 Wi-Fi 성능 테스트를 위한 우수한 대기 시간 데이터를 제공하는 것이기 때문입니다.
모든 Raspberry Pi 노드가 단일 공통 시간 소스에 액세스할 수 있도록 하고 4G/LTE 업링크에서 지터 및 대기 시간의 잠재적 영향을 최소화하기 위해 Mikrotik 라우터를 여러 인터넷 시간 소스에 대한 NTP 클라이언트로 구성했습니다.
tic.ntp.telstra.net
toc.ntp.telstra.net
0.au.pool.ntp.org
1.au.pool.ntp.org
2.au.pool.ntp.org
3.au.pool.ntp.org
그리고 로컬 LAN용 NTP 서버로 구성합니다(유니캐스트 모드만 지원).
Mikrotik은 (LTE 표준에 따라) 완벽하게 합리적인 타이밍 특성으로 인터넷 서버와 원활하게 동기화하는 것 같습니다.
Mikrotik NTP 클라이언트 상태:
enabled: yes
mode: unicast
servers: tic.ntp.telstra.net,toc.ntp.telstra.net,0.au.pool.ntp.org,1.au.pool.ntp.org,2.au.p
3.au.pool.ntp.org
freq-drift: 3.611 PPM
status: synchronized
synced-server: toc.ntp.telstra.net
synced-stratum: 2
system-offset: -0.972 ms
Mikrotik NTP 피어 타이밍 데이터:
type="ucast-client" address=203.14.0.250 refid="203.36.227.3" stratum=2 hpoll=10 ppoll=10 root-delay=55.221 ms
root-disp=0.885 ms offset=11.512 ms delay=55.956 ms disp=40.266 ms jitter=49.287 ms
type="ucast-client" address=27.124.125.250 refid="162.159.200.1" stratum=4 hpoll=10 ppoll=10 root-delay=3.692 ms
root-disp=2.838 ms offset=-5.166 ms delay=22.56 ms disp=0.119 ms jitter=15.666 ms
type="ucast-client" address=139.99.222.72 refid="17.253.66.253" stratum=2 hpoll=10 ppoll=10 root-delay=0.305 ms
root-disp=1.113 ms offset=-3.321 ms delay=74.975 ms disp=0.173 ms jitter=14.038 ms
type="ucast-client" address=13.55.50.68 refid="203.206.205.83" stratum=3 hpoll=10 ppoll=10 root-delay=31.066 ms
root-disp=52.902 ms offset=-3.031 ms delay=81.468 ms disp=0.184 ms jitter=13.174 ms
type="ucast-client" address=194.0.5.123 refid="8.145.32.135" stratum=2 hpoll=10 ppoll=10 root-delay=27.084 ms
root-disp=33.615 ms offset=-0.383 ms delay=79.435 ms disp=0.083 ms jitter=12.289 ms
type="ucast-client" address=203.14.0.251 refid="58.163.113.212" stratum=2 hpoll=10 ppoll=10 root-delay=38.833 ms
root-disp=2.258 ms offset=0.913 ms delay=34.001 ms disp=0.157 ms jitter=10.431 ms
31개의 Raspberry Pi는 모두 64비트 버전의 Raspberry Pi OS Lite(bullseye)를 실행하고 있습니다. 표준 apt 패키지를 통해 ntpd
설치 했습니다 ntpstat
. ntpd
교체되어 차단되었습니다 systemd-timesyncd
. Pi NTP 클라이언트는 Mikrotik에서 실행되는 NTP 서버를 유일한 시간 소스로 사용하도록 구성됩니다.
ntpq -pn
Raspberry Pi에서 실행하면 합리적인 결과가 반환됩니다.
Mikrotik에 직접 연결된 노드에서:
remote refid st t when poll reach delay offset jitter
==============================================================================
*10.3.0.126 203.14.0.251 3 u 48 128 377 0.506 +0.088 0.232
대표적인 Wi-Fi 노드에서 대기 시간과 지터는 몇 밀리초 더 높습니다.
remote refid st t when poll reach delay offset jitter
==============================================================================
*10.3.0.126 203.14.0.251 3 u 76 128 377 1.541 -1.230 2.011
그러나 ntpstat
유선 Raspberry Pi에서 이것을 실행하면 시간 동기화 품질이 최대 70밀리초에 불과하고 시간이 지남에 따라 악화된다는 말을 들었습니다.
synchronised to NTP server (10.3.0.126) at stratum 4
time correct to within 70 ms
polling server every 128 s
이 "시간 보정" 값은 루트 분산 및 루트 지연으로부터 계산됩니다. ntpq -c rv
몇 분에 걸쳐 반복적으로 실행 하면 rootdisp
값이 단조롭게 증가합니다.
pi@wired:~ $ ntpq -c rv
associd=0 status=0615 leap_none, sync_ntp, 1 event, clock_sync,
version="ntpd [email protected] Wed Sep 23 11:46:38 UTC 2020 (1)",
processor="aarch64", system="Linux/5.10.92-v8+", leap=00, stratum=4,
precision=-22, rootdelay=73.314, rootdisp=32.686, refid=10.3.0.126,
reftime=e5c848b0.ab2d24bc Tue, Mar 1 2022 15:24:32.668,
clock=e5c84927.24f1e0bd Tue, Mar 1 2022 15:26:31.144, peer=41018, tc=7,
mintc=3, offset=-0.165471, frequency=-16.004, sys_jitter=0.000000,
clk_jitter=2.031, clk_wander=0.093
pi@wired:~ $ ntpq -c rv
associd=0 status=0615 leap_none, sync_ntp, 1 event, clock_sync,
version="ntpd [email protected] Wed Sep 23 11:46:38 UTC 2020 (1)",
processor="aarch64", system="Linux/5.10.92-v8+", leap=00, stratum=4,
precision=-22, rootdelay=73.314, rootdisp=32.896, refid=10.3.0.126,
reftime=e5c848b0.ab2d24bc Tue, Mar 1 2022 15:24:32.668,
clock=e5c84934.f6a1b6af Tue, Mar 1 2022 15:26:44.963, peer=41018, tc=7,
mintc=3, offset=-0.165471, frequency=-16.004, sys_jitter=0.000000,
clk_jitter=2.031, clk_wander=0.093
pi@wired:~ $ ntpq -c rv
associd=0 status=0615 leap_none, sync_ntp, 1 event, clock_sync,
version="ntpd [email protected] Wed Sep 23 11:46:38 UTC 2020 (1)",
processor="aarch64", system="Linux/5.10.92-v8+", leap=00, stratum=4,
precision=-22, rootdelay=73.314, rootdisp=37.906, refid=10.3.0.126,
reftime=e5c848b0.ab2d24bc Tue, Mar 1 2022 15:24:32.668,
clock=e5c84a83.a3e47e0e Tue, Mar 1 2022 15:32:19.640, peer=41018, tc=7,
mintc=3, offset=-0.165471, frequency=-16.004, sys_jitter=0.000000,
clk_jitter=2.031, clk_wander=0.093
pi@wired:~ $ ntpq -c rv
associd=0 status=0615 leap_none, sync_ntp, 1 event, clock_sync,
version="ntpd [email protected] Wed Sep 23 11:46:38 UTC 2020 (1)",
processor="aarch64", system="Linux/5.10.92-v8+", leap=00, stratum=4,
precision=-22, rootdelay=73.314, rootdisp=51.003, refid=10.3.0.126,
reftime=e5c84c4e.ab29eed3 Tue, Mar 1 2022 15:39:58.668,
clock=e5c84d42.f35d7000 Tue, Mar 1 2022 15:44:02.950, peer=41018, tc=7,
mintc=3, offset=-0.714738, frequency=-16.162, sys_jitter=0.000000,
clk_jitter=1.910, clk_wander=0.103
시간이 지남에 따라 뿌리 분산이 증가하는 원인은 무엇이며 이를 해결하는 방법은 무엇입니까?
저는 절대 시간 정확도에 관심이 없고 노드 간 오류만 고려하기 때문에 루트 분산과 루트 대기 시간(따라서 보고된 "정확도" ntpstat
)을 무시하고 Raspberry Pi-to-Mikrotik 분산/에 전적으로 의존할 수 있습니다. 대기 시간/오프셋 표시기?
동기화를 개선하기 위해 어떤 방식으로든 이 테스트 설정의 NTP 스키마를 변경해야 합니까?