20.2. PTP 사용
PTP
를 사용하기 위해 의도된 인터페이스용 커널 네트워크 드라이버는 소프트웨어 또는 하드웨어 타임스탬프 기능을 지원해야 합니다.
20.2.1. 드라이버 및 하드웨어 지원 확인
드라이버에 하드웨어 타임스탬프 지원 외에도 NIC는 물리적 하드웨어에서 이 기능을 지원할 수 있어야 합니다. 특정 드라이버 및 NIC의 타임스탬프 기능을 확인하는 가장 좋은 방법은 ethtool 유틸리티를 사용하여 인터페이스를 쿼리하는 것입니다. 이 예에서 eth3 는 확인하려는 인터페이스입니다.
~]# ethtool -T eth3 Time stamping parameters for eth3: Capabilities: hardware-transmit (SOF_TIMESTAMPING_TX_HARDWARE) software-transmit (SOF_TIMESTAMPING_TX_SOFTWARE) hardware-receive (SOF_TIMESTAMPING_RX_HARDWARE) software-receive (SOF_TIMESTAMPING_RX_SOFTWARE) software-system-clock (SOF_TIMESTAMPING_SOFTWARE) hardware-raw-clock (SOF_TIMESTAMPING_RAW_HARDWARE) PTP Hardware Clock: 0 Hardware Transmit Timestamp Modes: off (HWTSTAMP_TX_OFF) on (HWTSTAMP_TX_ON) Hardware Receive Filter Modes: none (HWTSTAMP_FILTER_NONE) all (HWTSTAMP_FILTER_ALL)
ethtool
에서 출력한 PTP 하드웨어 클럭
값은 PTP 하드웨어 클록의 인덱스입니다. /dev/ptp*
장치의 이름에 해당합니다. 첫 번째 C에는 인덱스가 0입니다.
소프트웨어 타임스탬프 지원의 경우 매개 변수 목록에 다음이 포함되어야 합니다.
-
SOF_TIMESTAMPING_SOFTWARE
-
SOF_TIMESTAMPING_TX_SOFTWARE
-
SOF_TIMESTAMPING_RX_SOFTWARE
하드웨어 타임스탬프 지원의 경우 매개변수 목록에 다음이 포함되어야 합니다.
-
SOF_TIMESTAMPING_RAW_HARDWARE
-
SOF_TIMESTAMPING_TX_HARDWARE
-
SOF_TIMESTAMPING_RX_HARDWARE
20.2.2. PTP 설치
Red Hat Enterprise Linux의 커널에는 PTP
가 포함되어 있습니다. 사용자 공간 지원은 linuxptp 패키지의 도구를 통해 제공됩니다. linuxptp 를 설치하려면 root
로 다음 명령을 실행합니다.
~]# yum install linuxptp
이렇게 하면 ptp4l 및 phc2sys 가 설치됩니다.
시스템 클럭을 동시에 설정하기 위해 둘 이상의 서비스를 실행하지 마십시오. NTP
를 사용하여 PTP
시간을 제공하려는 경우 20.8절. “NTP를 사용하여 PTP 시간 제공” 을 참조하십시오.
20.2.3. ptp4l 시작
ptp4l 프로그램은 명령줄에서 시작하거나 서비스로 시작할 수 있습니다. 서비스로 실행하는 경우 /etc/sysconfig/ptp4l
파일에 옵션이 지정됩니다. 서비스와 명령줄에서 모두 사용하는 데 필요한 옵션은 /etc/ptp4l.conf
파일에 지정해야 합니다. /etc/sysconfig/
파일에는 ptp4l
-f /etc/ptp4l.conf
명령줄 옵션이 포함되어 있으며, 이로 인해 ptp4l 프로그램이 /etc/ptp4l.conf
파일을 읽고 포함된 옵션을 처리합니다. /etc/ptp4l.conf
의 사용은 20.4절. “구성 파일 지정” 에 설명되어 있습니다. 다른 ptp4l 옵션 및 구성 파일 설정에 대한 자세한 내용은 ptp4l(8)
매뉴얼 페이지에서 확인할 수 있습니다.
ptp4l을 서비스로 시작
ptp4l 을 서비스로 시작하려면 root
로 다음 명령을 실행합니다.
~]# systemctl start ptp4l
Red Hat Enterprise Linux 7에서 시스템 서비스 관리에 대한 자세한 내용은 10장. systemd를 사용하여 서비스 관리 를 참조하십시오.
명령줄에서 ptp4l 사용
ptp4l 프로그램은 기본적으로 하드웨어 타임 스탬프를 사용하려고 합니다. ptp4l 을 하드웨어 타임 스탬프링 가능 드라이버 및 NIC와 함께 사용하려면 -i
옵션과 함께 사용할 네트워크 인터페이스를 제공해야 합니다. root
로 다음 명령을 입력하십시오.
~]# ptp4l -i eth3 -m
여기서 eth3 는 구성할 인터페이스입니다. 다음은 NIC의 PTP
시계가 마스터에 동기화될 때 ptp4l 의 출력 예입니다.
~]# ptp4l -i eth3 -m selected eth3 as PTP clock port 1: INITIALIZING to LISTENING on INITIALIZE port 0: INITIALIZING to LISTENING on INITIALIZE port 1: new foreign master 00a069.fffe.0b552d-1 selected best master clock 00a069.fffe.0b552d port 1: LISTENING to UNCALIBRATED on RS_SLAVE master offset -23947 s0 freq +0 path delay 11350 master offset -28867 s0 freq +0 path delay 11236 master offset -32801 s0 freq +0 path delay 10841 master offset -37203 s1 freq +0 path delay 10583 master offset -7275 s2 freq -30575 path delay 10583 port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED master offset -4552 s2 freq -30035 path delay 10385
마스터 오프셋 값은 나노초 단위로 마스터에서 측정된 오프셋입니다. s0
,s1
,s2
문자열은 다른 클럭 서지 상태를 나타냅니다. s0
의 잠금 해제, s1
은 클럭 단계이며 s2
가 잠겼습니다. 서비스가 잠긴 상태(s2
)에 있으면 pi_offset_const
옵션이 구성 파일에서 양수 값으로 설정되어 있지 않으면(보통 ptp4l(8)
도움말 페이지에 설명됨) 클럭은 단계되지 않습니다(예: ptp4l(8) 도움말 페이지에 설명됨). adj
값은 10억 개당 부분(ppb)에서 클럭의 빈도 조정입니다. 경로 지연 값은 나노초 단위의 마스터에서 전송된 동기화 메시지의 예상 지연입니다. 포트 0은 로컬 PTP
관리에 사용되는 Unix 도메인 소켓입니다. 포트 1은 eth3
인터페이스(위의 예를 기반으로 함)입니다. INITIALIZING, LISTENING,UNCALIBRATED 및 SLAVE는 INITIALIZE, RS_SLAVE, RS_CLOCK_SELEED 이벤트에서 변경될 수 있는 포트 상태 중 일부입니다. 마지막 상태 변경 메시지에서 포트 상태가 happensALIBRATED에서 SLAVE로 변경되었습니다. 이는 PTP
마스터 클럭을 사용한 성공적인 동기화를 나타냅니다.
ptp4l에서 메시지 로깅
기본적으로 메시지는 /var/log/message
으로 전송됩니다. 그러나 -m
옵션을 지정하면 디버깅에 유용할 수 있는 표준 출력에 로깅할 수 있습니다.
소프트웨어 타임스탬프를 활성화하려면 다음과 같이 -S
옵션을 사용해야 합니다.
~]# ptp4l -i eth3 -m -S
20.2.3.1. Delay measuredment Mechanism 선택
두 가지 지연 측정 메커니즘이 있으며 다음과 같이 ptp4l
명령에 옵션을 추가하여 선택할 수 있습니다.
-P
P2
P
는 피어 투 피어 (P2P) 지연 측정 메커니즘을 선택합니다.P2P 메커니즘은 네트워크 토폴로지의 변경에 더 빨리 반응하므로 선호되며 다른 메커니즘보다 지연을 측정하는 데 더 정확할 수 있습니다. P2P 메커니즘은 각 포트가 최대 다른 P2P 포트와 PTP 메시지를 교환하는 토폴로지에서만 사용할 수 있습니다. 통신 경로에서 투명한 클럭을 포함한 모든 하드웨어에서 지원 및 사용해야 합니다.
-E
e는 엔드 투 엔드 (
E
2E) 지연 측정 메커니즘을 선택합니다. 이는 기본값입니다.E2E 메커니즘은 지연 "request-response" 메커니즘이라고도 합니다.
-A
A를 사용하면 지연 측정 메커니즘을 자동으로 선택할 수 있습니다.
자동 옵션은 E2E 모드에서 ptp4l 을 시작합니다. 피어 지연 요청이 수신되는 경우 P2P 모드로 변경됩니다.
단일 PTP
통신 경로의 모든 클럭은 동일한 메커니즘을 사용하여 지연을 측정해야 합니다. 경고는 다음과 같은 경우에 인쇄됩니다.
- E2E 메커니즘을 사용하여 포트에서 피어 지연 요청이 수신되는 경우
- P2P 메커니즘을 사용하여 포트에서 E2E 지연 요청이 수신되면.