KR20080085477A - 동기식 이더넷에서의 그랜드 클럭 마스터 선정 및 시간동기 방법 - Google Patents
동기식 이더넷에서의 그랜드 클럭 마스터 선정 및 시간동기 방법 Download PDFInfo
- Publication number
- KR20080085477A KR20080085477A KR1020070027076A KR20070027076A KR20080085477A KR 20080085477 A KR20080085477 A KR 20080085477A KR 1020070027076 A KR1020070027076 A KR 1020070027076A KR 20070027076 A KR20070027076 A KR 20070027076A KR 20080085477 A KR20080085477 A KR 20080085477A
- Authority
- KR
- South Korea
- Prior art keywords
- time
- clock master
- grand
- grand clock
- frame
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0641—Change of the master or reference, e.g. take-over or failure of the master
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/027—Speed or phase control by the received code signals, the signals containing no special synchronisation information extracting the synchronising or clock signal from the received signal spectrum, e.g. by using a resonant or bandpass circuit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/10—Arrangements for initial synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
본 발명은 동기식 이더넷에서 그랜드 클럭 마스터(GCM : Grand Clock Master)를 선정하고 그랜드 클럭 마스터와 클럭 슬레이브가 시간 동기를 수행하는 방법에 관한 것이다.
본 발명의 그랜드 클럭 마스터 선정 및 동기화 방법은 망이 최초 설립시 또는 기존 망에 추가되는 경우 타임싱크 프레임을 멀티캐스트하는 제 1 단계; 수신되는 타임싱크 프레임들의 고유결정값을 자신의 고유결정값과 비교하여 그 비교결과에 따라 자신을 그랜드 클럭 마스터 또는 클럭 슬레이브로 선정하는 제 2 단계; 및 상기 제 2 단계에서 그랜드 클럭 마스터로 선정되는 경우, 자신의 시간 정보에 따라 자신의 실시간 애플리케이션들을 동기화시키고 타임싱크 프레임을 클럭 슬레이브로 선정된 망 구성장치들에게 일정 주기로 전송해주는 제 3 단계를 포함하며, 그랜드 클럭 마스터를 선정하면서 ToD의 값을 함께 결정하여 그 값에 맞게 망 내에 있는 장치들의 동기를 맞춤으로써 계산의 복잡도를 줄이고 동기를 맞추는 시간을 단축하며, 그랜드 클럭 마스터에 장애가 발생시 보다 유연하게 대처할 수 있다.
Description
도 1은 종래의 기술에 따른 SNTP의 동작 구성도.
도 2는 종래의 기술에 따른 IEEE 1588의 일실시예 흐름도.
도 3은 본 발명이 적용되는 동기식 이더넷 망의 예시도.
도 4는 타임싱크 프레임의 형식을 나타내는 도면.
도 5는 발명이 적용되는 동기식 이더넷 프레임의 구조를 나타내는 프레임 구성도.
도 6은 본 발명의 실시예에 따른 동기식 이더넷에서 그랜드 클럭 마스터 선정 방법을 설명하기 위한 순서도.
< 도면의 주요 부분에 대한 부호의 설명 >
110 ∼ 180 : 망 구성장치 210, 220 : 스위치
본 발명은 동기식 이더넷에서의 프레임 동기에 관한 것으로서, 보다 상세하게는 동기식 이더넷 망 내에서 보다 유연하게 그랜드 클럭 마스터(GCM : Grand Clock Master)를 선정하고 선정과 동시에 시간 동기 값(ToD : Time of Day)을 계산하여 마스터와 슬레이블들 사이의 보다 정확하고 신속한 시간 동기가 가능하도록 해주는 방법에 관한 것이다.
종래의 이더넷은 GPS(Global Positioning System)나 자체 클럭 발생 장치를 포함하고 있는 하나의 장치를 기준으로 하여 망 전체에 시간 동기를 제공한다. 이러한 종래의 이더넷은 패킷이 전송되는 동안에 망에 영향을 주는 지터(Jitter)나 원더(Wander)에 대한 고려가 전혀 없기 때문에 전송 패킷에 지연이 발생할 경우 이를 간과한다. 이때, 지터는 이상적인 시간으로부터 누적되지 않은 짧은 기간 동안의 펄스 신호의 변화량을 의미하며, 원더는 지터 보다 긴 기간 동안의 변화량을 의미한다. 이러한 지터와 원더는 전송되는 패킷이 각 장치를 거칠 때 또는 전송 선로 상에서 원하지 않는 펄스 신호의 위상 변화가 발생할 때 그 크기가 증가하게 되나, 지터와 원더는 일반적으로 1초 이하가 되므로 LAN(Local Area Network)과 같은 소규모 사무실의 망 내에서는 큰 문제가 되지는 않는다.
하지만 이러한 종래의 동기화 방법을 인터넷 환경에 적용시키는데에는 한계가 있다. 즉, 인터넷 환경은 여러 LAN들의 집합이라고 할 수 있으므로 초단위의 지연이 아니라 그 이상의 지연이 발생하게 되고, 망 상태에 따라 비정규적인 딜레이의 발생 확률이 증가하기 때문이다. 현재는 인터넷 환경에 적합한 시간 동기화를 위해 IAB(Internet Architecture Board)의 STD 12와 IETF(Internet Engineering Task Force)에서 발표하는 RFC(Request For Comments) 1305에서 표준으로 규정하고 있는 NTP(Network Time Protocol) 버젼(version) 3을 이용하고 있다. 이러한 동기 화 방법에서 각 개별 장치는 인터넷을 통하여 다른 장치에 패킷을 전송하기 전에 먼저 각 개별 장치의 시간을 동기화시키기 위해 세계 타임서버에 접속한다.
세계 타임서버는 GMT(Greenwich Mean Time)를 기준으로 하여 동작하며 세계 각국에 타임서버가 나뉘어져서 골고루 분포하고 있다. 각 개별장치는 세계 타임서버로부터 기준 시간을 전송받으면 우선 자신이 속한 서브넷 상에서 시간 동기를 형성한 다음 개별 장치의 로컬 시간을 조정하며, 이때 밀리초까지의 정확한 동기를 보장한다.
그러나, 이러한 NTP는 인터넷을 위한 시간 동기화 절차이므로 LAN에서의 좀 더 정확한 동기를 맞추는데 한계가 있다. 따라서 LAN과 같은 좁은 망에서 좀 더 정확한 시간 동기를 위해 NTP의 하위 개념인 SNTP(Simple NTP) 절차를 이용하고 있다.
도 1은 종래의 기술에 따른 SNTP의 동작 구성도이다.
SNTP는 타임서버(10)와 타임클라이언트(20) 사이에서 동기 절차를 담당한다.
타임서버(10)에서 SNTP(13)는 실제 패킷의 전송을 담당하는 물리 계층(14) 바로 위 계층인 MAC(Media Access Control) 계층(15)에서 동작하며, callback 함수를 이용하여 NTP 보다 좀 더 정확한 시간 동기를 이루게 된다. callback 함수는 상위 계층인 응용 계층에서부터 생성된 패킷의 버퍼에 대한 포인터와 응용 계층에서 MAC 계층까지 전달되는데 소요된 시간 정보의 두 파라미터를 이용하여 상위 계층에서부터 전달된 패킷과 그 패킷이 소요된 시간을 물리 계층의 타임스탬프(16)로 이용한다.
타임클라이언트(20)에서는 이 정보를 자신의 타임스탬프(26)로 이용하고 SNTP(23)를 통해 상위 계층으로 전달한다. 이때, SNTP(23)는 callback 함수를 이용하므로 종래의 일반 이더넷과 NTP를 사용하는 이더넷보다 더 향상된 시간 동기화를 제공할 수 있다.
하지만 타임서버(10)와 타임클라이언트(20) 사이에는 스위치(30)와 같은 중간 장치와 전송 선로(40)가 있어 이들로 인한 지터와 원더의 영향으로 인해 정확성을 높이는데 한계가 나타나는 문제점이 있다. 이러한 문제점은 다음의 수학식 1로 정의될 수 있다.
여기에서, 은 타임클라이언트(20)에서 패킷을 발생시켰을 때의 시간이며, 는 타임클라이언트(20)에서 패킷을 보내어 타임서버(10)가 패킷을 물리 계층에서 전송받았을 때의 시간이다. 는 타임클라이언트(20) 내의 발진소자에 대한 주파수 변화의 영향이다. 이 값은 발진소자의 자체적인 정확도, 온도 등의 영향으로 인해 중심 주파수의 변동, 시간 경과에 따른 발진소자 주파수 자체의 특성 변화 등이 있다. 는 두 장치 사이의 전송 중에 발생하는 지터나 원더의 영향으로 인해 중간 노드의 처리 과정 및 전송 선로 상에서 발생하는 지터나 원더로 이해할 수 있다.
이처럼, 종래의 이더넷이나 SNTP의 경우 이러한 시간의 차이에 대한 보상이 전혀 없으므로 엄격한 지터나 원더가 요구되는 공장 자동화 시스템 등의 실시간 시스템 등에는 사용이 될 수 없다.
이러한 문제점을 해결하기 위해서 최근에는 IEEE 1588이라는 새로운 동기 방법이 제시되었다. IEEE 1588은 네트워크 측정과 제어 시스템을 위한 정밀 시간 동기화 프로토콜에 대한 표준(Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems)으로써, 상호 연결된 장치의 시간 정보를 동일화시키기 위한 프로토콜이다. IEEE 1588은 두 장치의 기준 시간 간의 차이와 두 장치 간의 패킷 전송시 발생하는 전송지연시간을 이용하여 정확한 시간 동기화를 이룬다. 따라서 최근에는 로봇을 이용한 공장 자동화 시스템의 제어를 담당하는 장치 내의 시간을 동기화하는 기법으로 이용되고 있다.
도 2는 이러한 IEEE 1588의 동작 절차를 나타낸다.
망 내에는 기준 클럭을 제공하는 마스터(50) 장치 및 마스터(50)에 맞춰 자신의 시간 정보를 일치시켜 동기를 수행하는 슬레이브(60) 장치가 존재한다. 마스터(50)는 자신의 시간에 맞게 슬레이브(60)를 동기화시키기 위해, Sync 메시지와 FollowUp 메시지(TM1, TM2, TM4, TM5)를 이용한다. 마스터(50)는 자신의 동기정보를 망 내의 모든 슬레이브(60)들에게 주기적으로 멀티캐스트 하여 전송한다. 슬레이브(60)는 마스터(50)로부터 FollowUp 메시지(TM1)를 전송받아 시간 차이(Offset)를 구하고 그 시간 차이를 이용해 자신의 시간을 조정한다. 하지만 아직 두 장치 간의 전송지연시간에 대한 정보가 없으므로 정확한 동기를 이루지 못한다. 따라서 슬레이브(60)는 마스터(50)에게 Delay Request 메시지를 전송하며 마스터(50)는 이 에 대한 응답으로 현재 자신의 시간을 Delay Response 메시지(TM3)에 실어서 응답한다.
이로써 슬레이브(60)는 전송지연시간까지 알 수 있게 되고, 다음번에 마스터(50)로부터 전송되는 FollowUp 메시지(TM4)를 이용하여 자신의 정확한 동기 시간을 구하고, 자신의 시간을 이 결과를 이용해 변경한다. 이렇게 변경된 메시지는 SNTP와 같은 방식으로 물리 계층의 상위 계층으로 전달하여 응용 계층에서 정확한 시간을 이용할 수 있도록 한다. 따라서 IEEE 1588은 수학식 1에서의 와 에 대한 문제를 해결함으로써 정확한 동기를 보장해 줄 수 있다.
이러한 IEEE 1588은 하나의 라우터에 대해 여러 스위치들이 존재하는 망에서도 정확한 동기를 보장해 줄 수 있다. 라우터에 직접적으로 접속해 있는 스위치들은 하나의 기준 클럭을 이용하여 자신의 서브넷을 동기화한 다음 각 개별 장치들은 이 동기 정보를 이용하여 최종적으로 동기를 맞춘다.
그러나, IEEE 1588은 여러 스위치들 간에 동기를 맞추면서 최단 개별 장치까지 동기를 맞추기 때문에 동기화 절차가 도 2에서와 같이 매우 복잡한 단계를 거치게 되므로 구현의 복잡도가 증가하는 단점이 있다. 그리고 스위치 장치에서 모든 동기 정보를 멀티캐스트 하는 방식을 취하고 있기 때문에 만약 스위치 장치의 동기 모듈에 이상이 발생한다면 이에 대한 대비책이 없다. 또한 여러 브리지 장치를 이용하여 개별 장치들이 연결되어 있을 경우, 도 2와 같이 슬레이브가 시간 조정을 완료하여 자신을 동기화시킨 후 이웃하는 장치에게 마스터와 같은 시간 정보를 제공해 주므로 시간 조정 단계에서 지연이 발생하게 되어 마이크로초 이하의 시간 동 기를 제공해 줄 수 없는 문제가 있다.
따라서 상술한 문제들을 해결하기 위한 본 발명의 목적은 동기식 이더넷에 있어서 각 개별 장치가 LAN의 상태에 따라 유연하게 그랜드 클럭 마스터(GCM : Grand Clock Master)를 선정하고 그랜드 클럭 마스터와 클럭 슬레이브들이 보다 빠르고 정확하게 시간 동기가 이루어지도록 하는데 있다.
위와 같은 목적을 달성하기 위해 본 발명의 그랜드 클럭 마스터 선정 및 동기화 방법은 망이 최초 설립시 또는 기존 망에 추가되는 경우 타임싱크 프레임을 멀티캐스트하는 제 1 단계; 수신되는 타임싱크 프레임들의 고유결정값을 자신의 고유결정값과 비교하여 그 비교결과에 따라 자신을 그랜드 클럭 마스터 또는 클럭 슬레이브로 선정하는 제 2 단계; 및 상기 제 2 단계에서 그랜드 클럭 마스터로 선정되는 경우, 자신의 시간 정보에 따라 자신의 실시간 애플리케이션들을 동기화시키고 타임싱크 프레임을 클럭 슬레이브로 선정된 망 구성장치들에게 일정 주기로 전송해주는 제 3 단계를 포함한다.
이하, 첨부된 도면들을 참조하여 본 발명의 바람직한 실시예를 보다 상세하게 설명한다.
도 3은 본 발명이 적용되는 동기식 이더넷 망의 구성도이다.
동기식 이더넷 망은 그랜드 클럭 마스터 또는 클럭 슬레이브로 동작하는 개별 망 구성장치들(110 ∼ 180), 그랜드 클럭 마스터의 타임싱크 프레임에 맞게 각 포트별로 시간을 동기화시키고 수신된 프레임을 해당 목적지로 전달하는 스위치(210, 220) 및 각 개별 망 구성장치들(110 ∼ 180)과 스위치(210, 220) 사이 그리고 스위치(210)와 스위치(220) 사이의 물리적인 링크가 존재한다.
망 내의 각 개별 망 구성장치들(110 ∼ 180)은 동기식 이더넷 방법으로의 실시간 전송을 수행할 수 있는 장치로서 그랜드 클럭 마스터를 결정하기 위한 고유결정값으로서 고유 ID(uniqueID)(예컨대, MAC 주소값) 및 네트워크 관리자에 의해 지정되는 우선순위값(precedence)을 가진다. 각 장치들(110 ∼ 180)은 동기식 이더넷 망이 최초로 설립되거나 비동기식 전송이 이루어지고 있는 망에 추가되는 경우, 자신의 MAC 주소값(uniqueID)과 우선순위값을 도 4와 같은 형식의 타임싱크 프레임에 실어서 한번 브로드캐스트한다. 그리고, 각 장치들(110 ∼ 180)은 다른 장치들로부터의 타임싱크 프레임이 수신되면 수신된 타임싱크 프레임에 포함된 고유결정값을 자신의 고유결정값과 비교함으로써 어느 하나의 장치를 그랜드 클럭 마스터로 선정하고 나머지 장치들은 선정된 그랜드 클럭 마스터로부터 일정 주기로 시간 정보들(lastFlexTime, offsetTime, deltaTime)을 제공받아 자신의 시간정보를 동기화시킨다. 이때, 도 4의 타임싱크 프레임은 현재 IEEE 802.1 AS Timing & Synchronization for Sensitive Application in Bridged Local Area Network 그룹에서 정해놓은 것으로 본 발명에서는 이를 그대로 이용한다.
그랜드 클럭 마스터로 선정된 장치는 곧바로 자신의 시간 정보들(lastFlexTime, offsetTime, deltaTime)을 이용하여 ToD를 계산하고 계산된 ToD에 맞춰 자신의 실시간 애플리케이션들의 시간을 동기화시킨다. 그리고, 그랜드 클럭 마스터는 자신의 시간 정보가 포함된 도 4와 같은 타임싱크 프레임을 일정 주기(예컨대, 10 ㎳)로 클럭 슬레이브들에게 전송한다. 이때, 타임싱크 프레임은 2 계층에 해당하는 데이터 링크(MAC) 계층을 통해 각 장치들 사이에서 전송되며, 그랜드 클럭 마스터로 선정되지 않은 나머지 장치들은 클럭 슬레이브가 되어 그랜드 클럭 마스터로부터의 타임싱크 프레임을 이용하여 자신의 시간 동기 값(ToD : Time of Day)을 그랜드 클럭 마스터와 일치시킴으로써 전체 LAN 상의 모든 장치들(110 ∼ 180)이 같은 ToD를 이루도록 한다.
스위치(210, 220)는 타임싱크 프레임이 송수신되는 포트를 각 포트별로 해당 타임싱크 프레임에 맞게 동기화시킨 후 해당 프레임을 목적지로 전달한다. 즉, 스위치(210, 220)는 마스터가 될 수 없으므로 타임싱크 프레임이 수신되면 자신의 GCM 플래그를 '0'으로 설정하고 프레임의 목적지 주소 및 스위치 내의 라우팅 테이블을 참고하여 수신된 타임싱크 프레임이 전달될 포트를 알아낸 후 해당 포트를 타임싱크 프레임에 맞게 동기화한다. 이처럼, 스위치(210, 220)는 수신측에 해당하는 포트만을 타임싱크 프레임에 맞게 동기화시킴으로써 다른 포트를 통해 전송하는 장치들에게 영향을 주지 않는다. 스위치(210, 220)는 동기화가 이루어지면 타임싱크 프레임의 목적지 주소를 보고 동기화된 포트를 통해 타임싱크 프레임을 전달한다.
도 5는 본 발명에 따른 동기식 이더넷에서 프레임 동기를 위해 사용되는 타임싱크 프레임을 포함하는 전체 동기식 이더넷 슈퍼프레임의 구성을 나타내는 도면이다.
동기식 이더넷 슈퍼프레임은 125 ㎲ 주기로 전송되며 한 사이클내에는 실시간 프레임을 전송하는 실시간 데이터 전송 구간, 타임싱크 프레임을 전송하는 타임싱크 프레임 전송 구간, 및 비실시간 프레임을 전송하는 비실시간 데이터 전송 구간으로 구분된다. 즉, 본 발명에서는 타임싱크 프레임을 실시간 데이터 전송 구간과 비실시간 데이터 전송 구간 사이에 둔다. 하나의 사이클 내에서 실시간 프레임은 정확한 동기가 지켜져야 하기 때문에 실시간 프레임을 모두 전송한 다음 타임싱크 프레임이 전송될 수 있는 최소한의 구간이 확보되어져야 한다. 그 다음 비실시간 프레임이 타임싱크 프레임에 이어서 지속적으로 전송이 된다. 타임싱크 프레임은 1Gbps의 전송속도에 10㎳ 주기로 전송할 경우 초당 80개의 사이클을 주기로 타임싱크 프레임을 전송한다.
도 6은 본 발명에 따른 그랜드 클럭 마스터 선정 및 시간 정보 동기화 방법을 설명하기 위한 순서도이다.
동기식 이더넷은 종래의 이더넷 프레임의 최소 크기인 64byte의 규격에 따른다. 따라서 종래의 이더넷이 동작하는 환경을 고려하여 물리 계층의 변화 없이 종래의 망에 적용이 가능하다.
장치들(110 ∼ 180)로 구성되는 동기식 이더넷 망이 최초로 설립되는 경우 또는 장치들(110 ∼ 180)이 기 형성된 망에 추가되어 설치되는 경우, 각 장치들(110 ∼ 180)은 자신의 우선순위값(precedence)과 MAC 주소(uniqueID)를 타임싱크 프레임에 실어서 다른 장치들로 한번씩 멀티캐스트한다(단계 511).
이때, 우선순위값은 네트워크 관리자에 의해 정해진다.
장치들(110 ∼ 180)에서 타임싱크 프레임이 멀티캐스트되면, 멀티캐스트된 타임싱크 프레임들은 목적지인 수신측 장치에 도착하기 전에 중간 장치인 스위치(210 또는 220)를 반드시 거치게 된다(단계 512).
이때, 스위치(210, 220)는 그랜드 클럭 마스터가 될 수 없으므로 이를 기억하고 있을 필요가 있다. 따라서, 타임싱크 프레임이 스위치(210, 220)에 수신되면, 스위치(210, 220)는 자신의 GCM 플래그를 "0"으로 설정한다. 그리고, 스위치(210, 220)는 수신된 타임싱크 프레임의 목적지 및 스위치 내의 라우팅 테이블을 참고하여 해당 타임싱크 프레임이 전달될 포트(출력포트)를 알아낸 후 해당 포트를 수신된 타임싱크 프레임의 시간정보들(lastFlexTime, offsetTime, deltaTime)에 맞게 동기화시킨다(단계 513).
동기화가 완료되면, 스위치(210, 220)는 해당 타임싱크 프레임을 동기화된 해당 출력포트를 통해 목적지로 전송한다(단계 514).
다음에, 타임싱크 프레임이 다시 다른 스위치를 거치게 되면 해당 스위치는 상술한 단계 513 및 514를 수행하게 된다.
그러나 스위치에서 출력된 타임싱크 프레임이 목적지인 특정 장치(110)에 도달하게 되면, 해당 장치(110)는 먼저 수신된 타임싱크 프레임의 우선순위값을 자신의 우선순위값과 비교한다(단계 515). 일반적으로 장치(110)에 가장 먼저 도달하는 타임싱크 프레임은 동일한 스위치(210)를 공유하며 장치(110)와 가장 가까운 장치(120)에서 전송한 타임싱크 프레임이 될 것이다.
단계 515에서의 비교결과, 자신의 우선순위값이 수신된 타임싱크 프레임의 우선순위값 보다 작거나 같은 경우 즉 자신의 우선순위가 해당 타임싱크 프레임을 송신한 장치(120)의 우선순위 보다 높거나 같은 경우, 장치(110)는 그랜드 클럭 마스터가 될 수 있는 가능성이 있으므로 다음에는 수신된 타임싱크 프레임의 MAC 주소값과 자신의 MAC 주소값을 비교한다(단계 516).
단계 516에서의 비교결과, 자신의 MAC 주소값이 수신된 타임싱크 프레임의 MAC 주소값 보다 작은 경우, 장치(110)는 자신의 GCM 플래그를 "1"로 설정한다(단계 517). 즉, 장치(110)는 해당 타임싱크 프레임을 송신한 장치(120) 보다 우선순위가 높고 MAC 주소값도 작은 경우 자신의 GCM 플래그를 "1"로 설정한다.
상술한 단계 515에서, 장치(110)의 우선순위값이 수신된 타임싱크 프레임의 우선순위값 보다 크거나 단계 516에서 장치(110)의 MAC 주소값이 수신된 타임싱크 프레임의 MAC 주소값 보다 크거나 같으면, 장치(110)는 자신의 GCM 플래그를 "0"으로 설정하고 다른 장치들(120 ∼ 180) 중에서 그랜드 클럭 마스터가 선정될 때까지 대기하게 된다(단계 518).
단계 517 이후, 장치(110)는 다른 장치들(130 ∼ 180)이 전송한 타임싱크 프레임들을 순차적으로 수신하게 되며 수신된 각 타임싱크 프레임에 대해 일정 시간 동안 상술한 단계 515 내지 단계 517의 과정을 반복 수행한다(단계 519).
망 내의 모든 장치들에 대한 이러한 과정은 일반적으로 수 ㎲ 이내에 완료되게 되나 네크워크 관리자는 망의 규모에 따라 적절한 시간(예컨대, 10 ms)를 정하여 해당 시간 동안에만 상술한 비교 과정을 반복 수행하도록 할 수 있다.
장치(110)는 다른 장치들(120 ∼ 180)로부터의 타임싱크 프레임들에 대한 비 교 과정이 완료된 후에도 자신의 GCM 플래그가 여전히 "1"로 설정되어 있으면 자신을 그랜드 클럭 마스터로 최종 선정하고 자신의 시간 정보들(lastFlexTime, offsetTime, deltaTime)을 이용하여 ToD를 결정하고 자신의 실시간 애플리케이션들을 자신의 ToD로 동기화시킨다(단계 520).
이때 자신의 ToD 는 다음의 수학식 2를 이용하여 계산할 수 있다.
즉, 그랜드 클럭 마스터로 선정된 장치(110)는 자신의 기준 시간과 자신이 가지고 있는 주파수 변화량을 더한 값으로 ToD를 결정한다.
다음에, 그랜드 클럭 마스터로 선정된 장치(110)는 자신의 시간 정보들(lastFlexTime, offsetTime, deltaTime)을 타임싱크 프레임에 실어 일정 주기(10 ms)로 다른 장치들(120 ∼ 180)에게 멀티캐스트한다(단계 521).
즉, 단계 518에서 GCM 플래그가 "0"으로 설정된 망 내의 다른 장치들(120 ∼ 180) 즉 클럭 슬레이브들은 그랜드 클럭 마스터(110)가 멀티캐스트한 타임싱크 프레임을 수신하여 그 안에 담겨진 시간 정보에 따라 자신의 시간을 그랜드 클럭 마스터와 동기화시킨다(단계 522).
이때 각 클럭 슬레이브들(120 ∼ 180)은 다음의 수학식 3을 이용하여 자신의 ToD를 계산하게 된다.
· 수신측 시간 변화량 = 송신측 시간 변화량 + 수신측에서 시간차이
· ToD = 수신측 기준 시간 + 수신측 시간 변화량
상술한 방법을 통해 그랜드 클럭 마스터가 정해지고 하나의 ToD로 동기식 망 내의 모든 장치들(110 ∼ 180)의 동기가 맞춰진 후 망 내에 새로운 장치가 추가될 수 있다.
이때, 추가된 장치가 스위치인 경우 해당 스위치는 그랜드 클럭 마스터(110)로부터의 타임싱크 프레임을 수신하게 되면 상술한 단계 513 및 514 과정을 수행하게 된다. 반면에, 추가된 장치가 실시간 전송을 필요로 하는 망 구성장치인 경우 해당 장치는 망에 추가되면 자신의 타임싱크 프레임을 한번 멀티캐스팅하고 그랜드 클럭 마스터(110)로부터 수신된 타임싱크 프레임에 대해 상술한 단계 515 내지 518의 과정을 수행한다.
즉, 추가된 장치는 그랜드 클럭 마스터(110)로부터의 타임싱크 프레임에 포함된 우선순위값 및 MAC 주소값을 각각 자신의 우선순위값 및 MAC 주소값과 비교하여 그 결과에 따라 자신의 GCM 플래그를 "1" 또는 "0"으로 설정하게 된다. 또한, 그랜드 클럭 마스터(110)는 추가된 장치로부터의 타임싱크 프레임을 수신하게 되면 역시 해당 타임싱크 프레임에 포함된 우선순위값 및 MAC 주소값을 자신의 우선순위값 및 MAC 주소값과 비교하여 그 결과에 따라 자신의 GCM 플래그를 "1" 또는 "0"으로 설정하게 된다.
이때 만약 추가된 장치의 우선순위가 기존의 그랜드 클럭 마스터(110) 보다 우선순위가 높고 MAC 주소값이 작으면, 추가된 장치가 새로운 그랜드 클럭 마스 터(110)로 선정되어 상술한 단계 520 및 단계 521의 기능을 수행하게 되며 기존의 그랜드 클럭 마스터(110)는 클럭 슬레이브가 되어 자신의 시간을 새로운 그랜드 클럭 마스터에 맞게 동기화시키게 된다.
그리고, 상술된 방법을 통해 선정된 그랜드 클럭 마스터에 장애가 발생하여 그랜드 클럭 마스터가 정상적으로 동작하지 못하게 되는 경우가 발생될 수 있다.
따라서, 클럭 슬레이브들은 그랜드 클럭 마스터로부터의 타임싱크 프레임이 일정 횟수(예컨대 3회) 이상 수신되지 않으면 그랜드 클럭 마스터에 장애가 발생한 것으로 간주하고 10 ms 단위로 타임싱크 프레임을 멀티캐스트한 후 상술한 단계 515 내지 522의 과정을 반복 수행하게 된다.
상술한 바와 같이, 본 발명은 그랜드 클럭 마스터를 선정함과 동시에 ToD의 값을 결정하여 그 값에 맞게 망 내에 있는 장치들의 동기를 맞춤으로써 계산의 복잡도를 줄이고 동기를 맞추는 시간을 단축할 수 있다. 더욱이, 본 발명은 그랜드 클럭 마스터에 장애가 발생시 새로운 그랜드 클럭 마스터를 자동으로 선택함으로써 장애 발생에 보다 유연하게 대처할 수 있다.
Claims (8)
- 망이 최초 설립시 또는 기존 망에 추가되는 경우 타임싱크 프레임을 멀티캐스트하는 제 1 단계;수신되는 타임싱크 프레임들의 고유결정값을 자신의 고유결정값과 비교하여 그 비교결과에 따라 자신을 그랜드 클럭 마스터 또는 클럭 슬레이브로 선정하는 제 2 단계; 및상기 제 2 단계에서 그랜드 클럭 마스터로 선정되는 경우, 자신의 시간 정보에 따라 자신의 실시간 애플리케이션들을 동기화시키고 타임싱크 프레임을 클럭 슬레이브로 선정된 망 구성장치들에게 일정 주기로 전송해주는 제 3 단계를 포함하는 그랜드 클럭 마스터 선정 및 시간 동기 방법.
- 제 1항에 있어서, 상기 제 1 단계는상기 타임싱크 프레임을 한번 멀티캐스트하는 것을 특징으로 하는 그랜드 클럭 마스터 선정 및 시간 동기 방법.
- 제 1항에 있어서, 상기 고유결정값은우선순위값(precedence) 및 MAC 주소값(uniqueID) 인 것을 특징으로 하는 그랜드 클럭 마스터 선정 및 시간 동기 방법.
- 제 3항에 있어서, 상기 제 2 단계는자신의 우선순위값이 수신된 상기 타임싱크 프레임들의 우선순위값 보다 작거나 같고 자신의 MAC 주소값이 수신된 상기 타임싱크 프레임의 MAC 주소값 보다 작은 경우 자신을 상기 그랜드 클럭 마스터로 선정하는 것을 특징으로 하는 그랜드 클럭 마스터 선정 및 시간 동기 방법.
- 제 1항에 있어서, 상기 제 3 단계는상기 제 2 단계에서 클럭 슬레이브로 선정되는 경우, 그랜드 클럭 마스터로부터 수신되는 타임싱크 프레임의 시간 정보들에 따라 자신의 시간을 동기화시키는 것을 특징으로 하는 그랜드 클럭 마스터 선정 및 시간 동기 방법.
- 제 5항에 있어서,클럭 슬레이브로 선정된 후 상기 그랜드 클럭 마스터로부터 상기 타임싱크 프레임을 일정 횟수 수신하지 못하는 경우 상기 제 1 단계 내지 상기 제 3 단계의 그랜드 클럭 마스터 선정 과정을 반복 수행하는 것을 특징으로 하는 그랜드 클럭 마스터 선정 및 시간 동기 방법.
- 제 1항에 있어서, 상기 제 3 단계에서상기 그랜드 클럭 마스터는 10 ms 주기로 타임싱크 프레임을 멀티캐스트하는 것을 특징으로 하는 그랜드 클럭 마스터 선정 및 시간 동기 방법.
- 제 1항에 있어서, 상기 타임싱크 프레임의 전송 구간은이더넷 슈퍼프레임에서 실시간 데이터 전송 구간과 비실시간 데이터 전송 구간 사이에 있는 것을 특징으로 하는 그랜드 클럭 마스터 선정 및 시간 동기 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070027076A KR20080085477A (ko) | 2007-03-20 | 2007-03-20 | 동기식 이더넷에서의 그랜드 클럭 마스터 선정 및 시간동기 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070027076A KR20080085477A (ko) | 2007-03-20 | 2007-03-20 | 동기식 이더넷에서의 그랜드 클럭 마스터 선정 및 시간동기 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080085477A true KR20080085477A (ko) | 2008-09-24 |
Family
ID=40025195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070027076A KR20080085477A (ko) | 2007-03-20 | 2007-03-20 | 동기식 이더넷에서의 그랜드 클럭 마스터 선정 및 시간동기 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20080085477A (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101148060B1 (ko) * | 2009-09-17 | 2012-05-24 | 삼성중공업 주식회사 | 네트워크 기반 로봇 제어 방법 및 그 장치 |
KR102014714B1 (ko) * | 2018-07-13 | 2019-08-27 | 류창욱 | 지피에스 수신기를 활용한 타임 서버 시스템 |
-
2007
- 2007-03-20 KR KR1020070027076A patent/KR20080085477A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101148060B1 (ko) * | 2009-09-17 | 2012-05-24 | 삼성중공업 주식회사 | 네트워크 기반 로봇 제어 방법 및 그 장치 |
KR102014714B1 (ko) * | 2018-07-13 | 2019-08-27 | 류창욱 | 지피에스 수신기를 활용한 타임 서버 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102577194B (zh) | 使分布式网络内时钟同步的系统和方法 | |
Jasperneite et al. | Enhancements to the time synchronization standard IEEE-1588 for a system of cascaded bridges | |
US6975653B2 (en) | Synchronizing clocks across sub-nets | |
EP2487819B1 (en) | Network element for a packet-switched network | |
JP4987346B2 (ja) | ネットワークを介した時間同期化システムおよび方法 | |
EP2430784B1 (en) | Network timing distribution and synchronization using virtual network delays | |
EP3903454B1 (en) | A tsn enabled controller | |
US11476928B2 (en) | TDMA networking using commodity NIC/switch | |
EP2701318A1 (en) | A method for synchronizing distributed clocks by the precision time protocol, in a telecommunication network | |
US20120250704A1 (en) | Network node, time synchronization method and network system | |
WO2001095550A2 (en) | Distributing time information in a communication network | |
Weibel | High precision clock synchronization according to IEEE 1588 implementation and performance issues | |
KR20090071923A (ko) | 동기식 이더넷에서 단일 타임 싱크 프레임을 이용한 통신단말 및 브리지 장치의 시간 동기화 방법 및 그 장치 | |
Mahmood et al. | Clock synchronization for IEEE 802.11 based wired-wireless hybrid networks using PTP | |
Fontanelli et al. | Performance analysis of a clock state estimator for PROFINET IO IRT synchronization | |
Ussoli et al. | SNTP time synchronization accuracy measurements | |
KR20080085477A (ko) | 동기식 이더넷에서의 그랜드 클럭 마스터 선정 및 시간동기 방법 | |
Murakami et al. | A master redundancy technique in IEEE 1588 synchronization with a link congestion estimation | |
KR20100048124A (ko) | 근거리 통신망에서의 시간 동기화 방법 | |
Yamada et al. | Hardware-based precise time synchronization on Gb/s ethernet enhanced with preemptive priority | |
Loschmidt | On enhanced clock synchronization performance through dedicated ethernet hardware support | |
Lee et al. | NetFPGA based IEEE 1588 module for time-synchronized software-defined networking | |
Kang et al. | Time synchronization method for LPWA using simple sync procedure in IoT wireless network | |
Hagino et al. | Frame transmission time control for TDMA-based ethernet | |
Yamada et al. | Hardware-based precise time synchronization on Gb/s Ethernet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |