KR101389604B1 - 통신 장치 및 통신 방법 - Google Patents

통신 장치 및 통신 방법 Download PDF

Info

Publication number
KR101389604B1
KR101389604B1 KR1020130023066A KR20130023066A KR101389604B1 KR 101389604 B1 KR101389604 B1 KR 101389604B1 KR 1020130023066 A KR1020130023066 A KR 1020130023066A KR 20130023066 A KR20130023066 A KR 20130023066A KR 101389604 B1 KR101389604 B1 KR 101389604B1
Authority
KR
South Korea
Prior art keywords
communication device
safety
data
error detection
detection code
Prior art date
Application number
KR1020130023066A
Other languages
English (en)
Other versions
KR20130100761A (ko
Inventor
이성한
권대현
오준석
Original Assignee
엘에스산전 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘에스산전 주식회사 filed Critical 엘에스산전 주식회사
Publication of KR20130100761A publication Critical patent/KR20130100761A/ko
Application granted granted Critical
Publication of KR101389604B1 publication Critical patent/KR101389604B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Abstract

본 발명의 실시 예에 따른 통신 장치가 다른 통신 장치에 데이터를 전송하는 통신 방법은 상기 통신 장치가, 자신의 정보 및 상기 다른 통신 장치의 정보를 포함하는 장치 정보 리스트를 생성하는 단계와 상기 통신 장치가, 데이터 및 생성된 장치 정보 리스트를 이용하여 오류 검출을 위한 데이터 오류 검출 코드를 계산하는 단계와 상기 통신 장치가, 상기 데이터 및 상기 데이터 오류 검출 코드를 포함하는 패킷을 생성하는 단계 및 상기 통신 장치가, 상기 패킷을 상기 다른 통신 장치에 전송하는 단계를 포함한다.

Description

통신 장치 및 통신 방법{COMMUNICATION DEVICE AND COMMUNICATION METHOD}
본 발명은 통신 장치 및 통신 방법에 관한 것이다. 특히, 본 발명은 안전 통신 장치 및 안전 통신 방법에 관한 것이다.
산업계에서 사용되기 위한 안전 통신(safety communication)을 위한 방안이 모색되고 있다. 특히, 산업용 제어 시스템은 작업자의 안전, 환경에 대한 위협, 기타의 안전 관련 문제를 방지하기 위해 네트워크를 통해 전달되는 정보에 대해 규정된 수준 이상의 무결성을 요구한다.
이러한 무결성 조건을 만족하기 위하여 산업용 제어 시스템은 오염(corruption), 의도되지 않은 반복(unintended repetition), 부정확한 서열(incorrect sequence), 손실(loss), 받아들일 수 없는 지연(unacceptable delay), 삽입(insertion), 속임(masquerade), 주소(addressing)에 관한 문제에 대처할 수 있을 것이 요구된다.
오염(corruption)에 대한 문제와 관련하여서, 산업용 제어 시스템은 전송되는 데이터에 에러가 발생했는지를 규정된 수준 이상의 확률로 확인할 수 있어야 한다.
의도되지 않은 반복(unintended repetition)에 대한 문제와 관련하여서, 산업용 제어 시스템은 악의를 가진 자의 의도에 의한 것이 아닌 자연적으로 발생될 수 있는 데이터 반복이 발생했는지를 규정된 수준 이상의 확률로 확인할 수 있어야 한다.
부정확한 서열(incorrect sequence)에 대한 문제와 관련하여서, 산업용 제어 시스템은 데이터의 전송 순서가 변경되었는지를 규정된 수준 이상의 확률로 확인할 수 있어야 한다.
손실(loss)에 대한 문제와 관련하여서, 산업용 제어 시스템은 전송된 데이터의 일부에 손실이 발생했는지를 규정된 수준 이상의 확률로 확인할 수 있어야 한다.
받아들일 수 없는 지연(unacceptable delay)에 대한 문제와 관련하여서, 산업용 제어 시스템은 데이터의 전송에 받아들일 수 없는 지연이 발생했는지를 규정된 수준 이상의 확률로 확인할 수 있어야 한다.
삽입(insertion)에 대한 문제와 관련하여서, 산업용 제어 시스템은 데이터의 전송 과정에 의도치 않은 데이터가 삽입되었는지를 규정된 수준 이상의 확률로 확인할 수 있어야 한다.
속임(masquerade)에 대한 문제와 관련하여서, 산업용 제어 시스템은 악의를 가진 자에 의한 데이터 변경이 발생했는지를 규정된 수준 이상의 확률로 확인할 수 있어야 한다.
주소(addressing)에 대한 문제와 관련하여서, 산업용 제어 시스템은 데이터가 올바른 수신자(receiver)에게 전송되었는지를 규정된 수준 이상의 확률로 확인할 수 있어야 한다.
특히, IEC 61508에서는 에러 발생 확률을 아래의 표 1에서 보여지는 바와 같이 SIL 등급으로 나타낸다.
SIL4 >= 10-9, < 10-8
SIL3 >= 10-8, < 10-7
SIL2 >= 10-7, < 10-6
SIL1 >= 10-6, < 10-5
IEC 61784-3에서 SIL3를 만족하기 위하여 통신의 에러 확률은 10- 9이하를 만족하여야 한다.
그러나, 현재 이용되고 있는 이더넷 프레임 구조로는 산업용 제어 시스템이 요구하는 수준의 무결성을 만족하기 어렵다.
도 1은 종래의 안전 통신 장치의 계층도이다.
도 1에 도시된 바와 같이, 종래의 안전 통신 장치는 물리 계층(Physical layer), 데이터 링크 계층(data link layer), 응용 계층(application layer), 안전 통신 계층(safety communication layer)을 포함한다.
안전 통신 계층은 안전 데이터를 생성하고, 안전 데이터를 포함하는 안전 프로토콜 데이터 유닛을 생성하며, 수신한 안전 프로토콜 데이터 유닛으로부터 안전 데이터를 추출하고, 추출한 안전 데이터를 소비한다.
데이터 링크 계층은 이더넷 프레임의 생성과 분석을 담당한다.
물리 계층은 이더넷 프레임의 전송과 수신을 담당한다.
이와 같은 계층 구조를 가진 종래의 안전 통신 장치에서는 안전 통신 장치의 정보가 하위 계층에서 관리되어 관리자가 직접 안전 통신 장치의 정보를 관리하는데 있어 어려움이 많았다.
본 발명이 이루고자 하는 기술적 과제는 산업용 제어 시스템이 요구하는 무결성을 만족하는 통신 장치 및 통신 방법을 제공하는 것이다.
본 발명이 이루고자 하는 기술적 과제는 네트워크 관리 스킴 계층에서 장치 정보 리스트가 관리하는 통신 장치 및 통신 방법을 제공하는 것이다.
본 발명의 일 실시 예에 따른 통신 장치가 다른 통신 장치에 데이터를 전송하는 통신 방법은 상기 통신 장치가, 자신의 정보 및 상기 다른 통신 장치의 정보를 포함하는 장치 정보 리스트를 생성하는 단계와 상기 통신 장치가, 데이터 및 생성된 장치 정보 리스트를 이용하여 오류 검출을 위한 데이터 오류 검출 코드를 계산하는 단계와 상기 통신 장치가, 상기 데이터 및 상기 데이터 오류 검출 코드를 포함하는 패킷을 생성하는 단계 및 상기 통신 장치가, 상기 패킷을 상기 다른 통신 장치에 전송하는 단계를 포함할 수 있다.
본 발명의 실시예에 따르면, 산업용 제어 시스템이 요구하는 무결성을 만족할 수 있다.
특히, 본 발명의 실시예에 따르면, 의도되지 않은 반복(unintended repetition), 부정확한 서열(incorrect sequence), 손실(loss), 삽입(insertion)과 같은 에러의 검출이 가능하다.
또한, 본 발명의 실시예에 따르면, 안전 통신 장치의 네트워크 관리 스킴 계층에서 연결 상대 리스트를 관리하고, 이를 송수신 메시지 검출 및 전송 상대 선택에 반영함으로써 의도하지 않은 통신을 방지하고, 송신수신 메시지의 안정성을 높일 수 있다.
또한, 본 발명의 실시 예에 따르면, 네트워크 관리 스킴 계층에서 장치 정보 리스트가 관리될 수 있어 관리자의 장치 정보 관리에 접근성이 용이해질 수 있다.
도 1은 종래의 안전 통신 장치의 계층도이다.
도 2는 본 발명의 실시예에 따른 안전 통신 장치의 계층도이다.
도 3은 본 발명의 실시예에 따른 안전 통신 장치를 보여주는 블록도이다.
도 4는 본 발명의 실시예에 따른 통신 방법을 보여주는 래더 다이어그램이다.
도 5은 본 발명의 실시예에 따른 안전 프로토콜 데이터 유닛의 구조를 보여준다.
도 6은 본 발명의 실시예에 따른 이더넷 프레임의 구조를 보여준다.
도 7은 본 발명의 실시예에 따른 안전 통신 장치의 연결관계를 보여준다.
이하, 본 발명과 관련된 안전 통신 장치에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이하에서는 도면을 참고하여 본 발명의 실시예에 따른 안전 통신 장치와 안전 통신 방법을 설명한다.
도 2는 본 발명의 실시예에 따른 안전 통신 장치의 계층도이다.
도 2에 도시된 바와 같이, 종래의 안전 통신 장치는 복수의 물리 계층(Physical layer)(30), 복수의 데이터 링크 계층(data link layer)(20), 응용 계층(application layer)(10), 안전 통신 계층(safety communication layer)(11), 네트워크 관리 스킴 계층(Network Mangement scheme layer)(13)을 포함한다.
일 실시 예에서 네트워크 관리 스킴 계층(13)은 안전 통신 계층(11)에 포함될 수 있다.
안전 통신 계층(11)은 안전 데이터를 생성하고, 안전 데이터를 포함하는 안전 프로토콜 데이터 유닛을 생성하며, 수신한 안전 프로토콜 데이터 유닛으로부터 안전 데이터를 추출하고, 추출한 안전 데이터를 소비한다.
네트워크 관리 스킴 계층(13)은 자신의 정보 및 자신과 연결될 수 있는 안전 통신 장치의 정보를 유지, 설정 및 관리할 수 있다.
복수의 데이터 링크 계층(20)의 각각은 이더넷 프레임의 생성과 분석을 담당한다.
복수의 물리 계층(30)은 복수의 데이터 링크 계층(20)에 각각 대응한다. 또한, 복수의 물리 계층(30)은 복수의 통신 경로에 각각 대응한다. 복수의 물리 계층(30)의 각각은 대응하는 통신 경로를 통한 이더넷 프레임의 전송과 수신을 담당한다.
도 3은 본 발명의 실시예에 따른 안전 통신 장치를 보여주는 블록도이다.
도 3에 도시된 바와 같이, 본 발명의 실시예에 따른 안전 통신 장치(100)는 안전 통신 계층(11), 네트워크 관리 스킴 계층(13), 복수의 데이터 링크 계층(20), 및 복수의 물리 계층(30)을 포함할 수 있다.
안전 통신 계층(11)은 오류 검출 코드 계산부(103), 프로토콜 데이터 유닛 생성부(105), 프로토콜 데이터 유닛 분석부(115), 오류 검출부(117), 제어부(121)를 포함한다.
네트워크 관리 스킴 계층(13)은 장치 정보 관리부(101)를 포함할 수 있다.
복수의 데이터 링크 계층(20)의 각각은 이더넷 프레임 생성부(107)와 이더넷 프레임 분석부(113)를 포함할 수 있다.
복수의 물리 계층(30)의 각각은 데이터 전송부(109)와 데이터 수신부(111)를 포함할 수 있다.
제어부(121)는 안전 데이터를 생성하여 생성된 안전 데이터를 오류 검출 코드 계산부(103)에 제공한다.
오류 검출 코드 계산부(103)는 안전 데이터를 이용하여 안전 데이터를 위한 데이터 오류 검출 코드를 계산한다.
프로토콜 데이터 유닛 생성부(105)는 계산된 데이터 오류 검출 코드와 생성된 안전 데이터를 포함하는 안전 프로토콜 데이터 유닛을 생성한다. 이때, 안전 프로토콜 데이터 유닛은 패킷이라고 부를 수도 있다.
장치 정보 관리부(101)는 안전 통신 장치(100)가 자신과 연결된 다른 안전 통신 장치의 정보를 관리할 수 있다. 구체적으로, 장치 정보 관리부(101)는 자신과 연결된 다른 안전 통신 장치의 정보를 리스트화하여 장치 정보 리스트를 생성하고, 생성된 장치 리스트 정보를 저장 및 관리할 수 있다.
일 실시 예에서 안전 통신 장치(100)의 정보는 안전 통신 장치(100)의 고유 식별자 및 가상 네트워크 세그먼트 식별자를 포함할 수 있다. 여기서, 고유 식별자는 안전 통신 장치 사이의 연결 관계를 나타내는 안전 고유 식별자(Safety Unique ID)일 수 있다. 특히, 안전 고유 식별자는 소스 MAC(media access control) 주소, 소스 디바이스 식별자, 목적지 MAC(media access control) 주소 및 목적지 디바이스 식별자의 조합으로 만들어질 수 있다. 이에 대해서는 자세히 후술한다.
가상 네트워크 세그먼트 식별자는 안전 통신 장치(100)가 속한 네트워크 세그먼트 식별자를 나타낼 수 있다. 자세한 설명은 후술한다.
이더넷 프레임 생성부(107)는 생성된 안전 프로토콜 데이터 유닛을 포함하는 이더넷 프레임을 생성한다.
데이터 전송부(109)는 생성된 이더넷 프레임을 또 다른 안전 통신 장치에 전송한다. 이를 통해, 데이터 전송부(109)는 생성된 안전 프로토콜 데이터 유닛을 또 다른 안전 통신 장치에 전송한다.
데이터 수신부(111)는 또 다른 안전 통신 장치로부터 안전 프로토콜 데이터 유닛을 포함하는 이더넷 프레임을 수신한다.
이더넷 프레임 분석부(113)는 수신한 이더넷 프레임을 분석하여 안전 프로토콜 데이터 유닛을 획득한다.
프로토콜 데이터 유닛 분석부(115)는 프로토콜 데이터 유닛을 분석하여 데이터 오류 검출 코드와 안전 데이터를 획득한다.
오류 검출부(117)는 안전 데이터를 이용하여 데이터 오류 검출 코드를 계산한 후 계산된 데이터 오류 검출 코드와 획득한 데이터 오류 검출 코드를 비교하여 오류를 검출한다. 계산된 데이터 오류 검출 코드가 획득한 데이터 오류 검출 코드와 동일한 경우에, 오류 검출부(117)는 안전 데이터에 오류가 발생하지 않았다고 판단한다. 그렇지 않고 계산된 데이터 오류 검출 코드가 획득한 데이터 오류 검출 코드와 다른 경우에는, 오류 검출부(117)는 안전 데이터에 오류가 발생했다고 판단한다.
안전 데이터에 오류가 발생했다고 판단한 경우에, 제어부(121)는 안전 통신 장치(100)의 동작 상태를 실패-안전 상태(fail-safe state)로 천이한다. 이 실패-안전 상태에서, 안전 통신 장치(100)는 리셋을 위한 사용자 입력을 수신할 때까지 안전 통신을 중단한다. 특히, 이 실패-안전 상태에서, 안전 통신 장치(100)는 안전 데이터와 관련한 통신 이외의 통신을 중단할 수도 있고 중단하지 않을 수도 있으나, 적어도 안전 데이터와 관련된 통신을 중단한다.
안전 데이터에 오류가 발생하지 않았다고 판단한 경우에, 제어부(121)는 다음에 전송할 안전 데이터를 생성한다. 수신한 안전 데이터가 요청에 관한 것이면, 제어부(121)는 응답에 관한 안전 데이터를 생성한다. 수신한 안전 데이터가 응답에 관한 것이면, 제어부(121)는 다음의 요청에 관한 안전 데이터를 생성한다.
도 4는 본 발명의 실시예에 따른 통신 방법을 보여주는 래더 다이어그램이다.
도 4에 도시된 바와 같이, 제1 안전 통신 장치(100A)와 제2 안전 통신 장치(100B)가 서로 통신하며, 제1 안전 통신 장치(100A)는 제2 안전 통신 장치(100B)에게 안전 프로토콜 데이터 유닛 요청을 전송하고, 제2 안전 통신 장치(100B)는 제1 안전 통신 장치(100A)에게 안전 프로토콜 데이터 유닛 응답을 전송한다고 가정한다.
제1 안전 통신 장치(100A)의 장치 정보 관리부(101)는 장치 정보 리스트를 생성한다(S101). 일 실시 예에서 장치 정보 리스트는 자신의 정보와 자신과 연결될 수 있는 또는 연결된 복수의 안전 통신 장치(100)의 정보를 포함하는 리스트일 수 있다. 또한, 각 안전 통신 장치(100)의 정보는 고유 식별자, 가상 네트워크 세그먼트 식별자를 포함할 수 있으나, 이에 한정될 필요는 없고, 다른 안전 통신 장치(100)와 연결 및 연결 상태 유지를 위한 모든 정보를 포함할 수 있다.
고유 식별자는 안전 통신 장치(100)를 다른 안전 통신 장치와 구별하기 위한 식별자일 수 있다. 일 실시 예에서 고유 식별자는 사용자 값(User Value)(또는 디바이스 식별자)과 MAC 주소((Media Address Control Address)의 조합으로 만들어질 수 있다.
일 실시 예에서 고유 식별자는 안전 통신 장치(100) 사이의 연결 관계를 나타내는 안전 고유 식별자(SUID: Safety Unique ID)일 수 있다. 특히, 안전 고유 식별자는 소스 MAC(media access control) 주소, 소스 디바이스 식별자, 목적지 MAC(media access control) 주소 및 목적지 디바이스 식별자의 조합으로 만들어질 수 있다.
제1 안전 통신 장치(100A)가 안전 데이터를 전송하고 제2 안전 통신 장치(100B)가 안전 데이터를 수신하므로, 제1 안전 통신 장치(100A)가 소스이고, 제2 안전 통신 장치(100B)가 목적지가 된다. 이 경우, 안전 고유 식별자는 제1 안전 통신 장치(100A)의 MAC(media access control) 주소, 제1 안전 통신 장치(100A)의 디바이스 식별자, 제2 안전 통신 장치(100B)의 MAC(media access control) 주소, 및 제2 안전 통신 장치(100B)의 디바이스 식별자의 조합일 수 있다. 안전 고유 식별자는 오류 검출 코드의 계산에만 이용될 뿐 안전 PDU에는 포함되지 않을 수 있다.
제1 안전 통신 장치(100A)의 장치 정보 관리부(101)는 연결의 대상이 되는 제2 안전 통신 장치(100B)의 고유 식별자를 미리 저장하고 있고, 제1 안전 통신 장치(100A)의 고유 식별자와 제2 안전 통신 장치(100B)의 고유 식별자를 이용하여 안전 고유 식별자를 생성할 수 있다.
마찬가지로, 제2 안전 통신 장치(100B)의 장치 정보 관리부(101)는 연결의 대상이 되는 제1 안전 통신 장치(100A)의 고유 식별자를 미리 알고 있고, 제1 안전 통신 장치(100A)의 고유 식별자 및 자신의 고유 식별자를 이용하여 안전 고유 식별자를 생성할 수 있다. 이와 비슷한 방법으로, 제1 안전 통신 장치(100A)의 장치 정보 관리부(101)는 제2 안전 통신 장치(100B)이외의 다른 안전 통신 장치의 고유 식별자를 미리 알고 있을 수 있고, 제1 안전 통신 장치(100A)의 고유 식별자와 다른 안전 통신 장치의 고유 식별자를 조합하여 별도의 안전 고유 식별자를 생성하여 저장하고 있을 수 있다.
가상 네트워크 세그먼트 식별자는 제1 안전 통신 장치(100A)가 속한 네트워크 세그먼트의 식별자를 나타낼 수 있다. 네트워크는 복수의 네트워크 세그먼트를 포함한다. 즉, 각 네트워크 세그먼트는 그 네트워크 세그먼트가 속한 네트워크의 작은 영역이다. 이 복수의 네트워크 세그먼트를 구분하기 위하여 복수의 네트워크 세그먼트를 위한 복수의 전용선들이 이용될 수 있다. 그러나, 전용선의 추가는 비용의 추가를 야기한다. 또한, 복수의 네트워크 세그먼트를 구분하기 위하여 복수의 네트워크 세그먼트에 각각 대응하는 복수의 특정 장비가 이용될 수 있으나, 특정 장비의 추가는 비용의 추가를 야기한다. 한편, 복수의 네트워크 세그먼트를 구분하기 위하여 이 복수의 네트워크 세그먼트에 각각 대응하는 복수의 암호화 기법이 이용될 수도 있으나, 이 또한 비용의 추가를 야기하고, 하드웨어 및 소프트웨어의 복잡도를 증가시키며, 사용자의 개입이 요구되는 불편함이 야기될 수 있고, 네트워크 자원의 소모를 증가시킬 수 있다. 이에, 본 발명의 실시예에서, 복수의 네트워크 세그먼트에 복수의 네트워크 세그먼트 식별자가 할당된다. 특히, 본 발명의 실시예에서 가상 네트워크 세그먼트 식별자가 이용되는데, 이는 네트워크 세그먼트 식별자가 오류 검출 코드의 계산에는 이용되지만 전송 프레임 내에는 포함되지 않음을 의미한다. 이를 통해 보안성이 강화될 수 있다.
장치 정보 관리부(101)는 안전 통신 장치(100)의 네트워크 관리 스킴 계층(13)에서 자신과 연결될 수 있는 다른 안전 통신 장치의 정보를 관리할 수 있다. 즉, 장치 정보 관리부(101)는 별도의 저장수단을 두어 자신의 정보 및 다른 안전 통신 장치(100)의 정보를 저장할 수 있고, 자신의 정보 및 다른 안전 통신 장치(100)의 정보를 설정하고, 관리할 수 있다.
네트워크 관리 스킴 계층(13)이 아닌 다른 하위 계층에서 안전 통신 장치(100)의 정보가 관리될 수 있으나, 관리자가 직접 접근하여 안전 통신 장치(100)의 정보를 유지, 설정 및 관리하는데 큰 어려움이 있다. 또한, 산업용 네트워크나 safety 네트워크와 같이 네트워크 관리 스킴 계층을 기반으로 동작하는 프로토콜들도 존재하므로, 이러한 환경에서는 네트워크 관리 스킴 계층(13)이 아닌 다른 하위 계층에서 안전 통신 장치(100)의 정보가 관리되기보다는 네트워크 관리 스킴 계층(13)에서 관리되는 것이 관리자의 접근성이 용이해질 수 있다.
제1 안전 통신 장치(100A)의 제어부(121)는 요청(request)을 위한 안전 데이터를 생성한다(S103). 제1 안전 통신 장치(100A)의 제어부(121)는 요청 안전 데이터와 함께 이 안전 데이터와 관련된 안전 헤더 데이터를 함께 생성할 수도 있다.
제1 안전 통신 장치(100A)의 오류 검출 코드 계산부(103)는 생성된 장치 정보 리스트, 안전 데이터 및 시퀀스 번호를 이용하여 안전 데이터를 위한 데이터 오류 검출 코드(data error detection code)를 계산한다(S105). 이때, 제1 안전 통신 장치(100A)의 오류 검출 코드 계산부(103)는 안전 헤더 데이터와 시퀀스 번호를 이용하여 안전 헤더 데이터의 오류 검출을 위한 헤더 오류 검출 코드를 계산할 수 있다. 오류 검출 코드는 순환 중복 검사(Cyclic Redundancy Check, CRC) 값일 수 있다.
특히, 아래의 수학식 1에서 보여지는 바와 같이, 제1 안전 통신 장치(100A)의 오류 검출 코드 계산부(103)는 헤더 오류 검출 코드(HEADER_CRC)를, 헤더 필드(header field), 고유 식별자, 시퀀스 번호를 이용하여, 계산할 수 있다. 이때 고유 식별자는 안전 고유 식별자(safety unique identifier, SUID)일 수 있다.
[수학식 1]
HEADER_CRC := f(SUID, Sequence_Number, Header_field)
수학식 1에서 f는 해시 함수를 나타낸다.
시퀀스 번호는 안전 PDU의 시퀀스 번호를 나타낼 수 있다. 이 시퀀스 번호는 오류 검출 코드의 계산에는 이용되지만 전송되지는 않는 가상 시퀀스 번호일 수 있다.
한편, 아래의 수학식 2에서 보여지는 바와 같이, 제1 안전 통신 장치(100A)의 오류 검출 코드 계산부(103)는 안전 데이터(safety data), 고유 식별자 및 시퀀스 번호를 이용하여 데이터 오류 검출 코드(DATA_CRC)를 계산할 수 있다. 이때 고유 식별자는 안전 고유 식별자(safety unique identifier, SUID)일 수 있다.
[수학식 2]
DATA_CRC := f(SUID, Sequence Number, Safety_Data)
수학식 2에서 f는 해시 함수를 나타낸다.
다시 도 4를 설명한다.
제1 안전 통신 장치(100A)의 프로토콜 데이터 유닛 생성부(105)는 안전 데이터 및 계산된 데이터 오류 검출 코드를 포함하는 안전 프로토콜 데이터 유닛(안전 PDU: Protocol Data Unit)을 생성한다(S107). 이때, 안전 프로토콜 데이터 유닛은 안전 헤더 데이터 및 계산된 헤더 오류 검출 코드를 더 포함할 수 있다. 도 5를 참고하여 본 발명의 실시예에 따른 안전 프로토콜 데이터 유닛의 구조를 설명한다.
도 5는 본 발명의 실시예에 따른 안전 프로토콜 데이터 유닛의 구조를 보여준다.
도 5에 도시된 바와 같이, 안전 프로토콜 데이터 유닛은 안전 PDU 헤더와 안전 PDU 페이로드를 순서대로 포함한다. 안전 PDU 헤더는 제1 안전 헤더 필드와 제1헤더 오류 검출 코드, 제2 안전 헤더 필드와 제2 헤더 오류 검출 코드를 순서대로 포함한다. 안전 PDU 페이로드는 안전 데이터와 데이터 오류 검출 코드를 순서대로 포함한다. 특히, 안전 PDU 헤더는 안전 프로토콜 데이터 유닛의 가장 앞 부분에 배치될 수 있다. 안전 PDU 헤더의 제1 안전 헤더 필드는 명령 필드와 예약 필드를 순서대로 포함한다. 안전 PDU 헤더의 제2 안전 헤더 필드는 인증 키를 포함한다. 안전 데이터는 안전 PDU 헤더와 관련된 것일 수 있다. 특히 안전 데이터는 명령 필드와 관련된 것일 수 있다. 특히, 도 5의 실시예에서, 제1 안전 헤더 필드의 크기(size)는 4 옥텟이고, 명령 필드의 크기는 2 옥텟이고, 예약 필드의 크기는 2 옥텟이고, 제1 헤더 오류 검출 코드의 크기는 4 옥텟이고, 제2 안전 헤더 필드의 크기는 4옥텟이고, 제2 헤더 오류 검출 코드의 크기는 4 옥텟이고, 데이터 오류 검출 코드의 크기는 4 옥텟이지만, 이에 한정될 필요는 없다. 1 옥텟은 일반적으로 8 비트를 의미한다.
앞서 설명한 바와 같이, 제1 안전 통신 장치(100A)의 오류 검출 코드 계산부(103)는 제1 헤더 오류 검출 코드를, 제1 안전 헤더 필드, 고유 식별자, 가상 네트워크 세그먼트 식별자를 이용하여, 계산할 수 있다. 또, 제1 안전 통신 장치(100A)의 오류 검출 코드 계산부(103)는 제2 헤더 오류 검출 코드를, 제2 안전 헤더 필드, 고유 식별자, 가상 네트워크 세그먼트 식별자를 이용하여, 계산할 수 있다.
표 2는 본 발명의 실시예에 따른 명령 필드의 값의 예를 보여준다.
Command Description
0x01 RESET
0x02 CONNECTION
0x03 PARAMETER
0x04 DATA
표 2에서 보여지는 바와 같이, 명령 필드의 값이 0x01이면, 안전 데이터는 리셋 명령을 나타낼 수 있다. 명령 필드의 값이 0x02이면, 안전 데이터는 연결 명령을 나타낼 수 있다. 명령 필드의 값이 0x03이면, 안전 데이터는 파라미터 전송 명령을 나타낼 수 있다. 명령 필드의 값이 0x04이면, 안전 데이터는 데이터 전송 명령을 나타낼 수 있다.
특히, 도 4의 실시예는 명령 필드가 connection에 해당하는 값을 가지는 연결 상태(connection state)에서의 통신 방법에 해당할 수 있다. 연결 상태에서, 제1 안전 통신 장치(100A)는 개시자(initiator)에 해당하고, 제2 안전 통신 장치(100B)는 응답자(responder)에 해당할 수 있다. 개시자는 응답 안전 데이터를 전송하지는 않고 요청 안전 데이터만을 응답자에 전송하는 모드에 해당한다. 응답자는 요청 안전 데이터를 전송하지는 않고 응답 안전 데이터만을 개시자에 전송하는 모드에 해당한다.
예약 필드는 추후 다른 용도를 위해 사용될 수 있다.
도 5에 도시된 바와 같이, 안전 프로토콜 데이터 유닛은 시퀀스 번호를 포함하지 않을 수 있다. 즉, 안전 프로토콜 데이터 유닛은 시퀀스 번호만을 전송하기 위한 필드를 포함하지 않을 수 있다.
다시 도 4를 설명한다.
제1 안전 통신 장치(100A)의 이더넷 프레임 생성부(107)는 요청 안전 데이터를 포함하는 이더넷 프레임을 생성한다(S109). 이때, 이더넷 프레임은 생성된 안전 프로토콜 데이터 유닛을 포함할 수 있다. 도 6을 참고하여 본 발명의 실시예에 따른 이더넷 프레임의 구조를 설명한다.
도 6은 본 발명의 실시예에 따른 이더넷 프레임의 구조를 보여준다.
도 6에 도시된 바와 같이, 이더넷 프레임은 이더넷 헤더, 이더넷 페이로드, 프레임 검사 시퀀스(frame check sequence, FCS)를 순서대로 포함한다. 이더넷 프레임은 페이로드로서 안전 PDU를 포함한다. 이더넷 프레임 헤더는 프리앰블 필드, 목적지 주소 필드, 소스 주소 필드, 타입 필드를 포함한다. 목적지 주소 필드는 목적지에 해당하는 안전 통신 장치의 주소를 담고, 소스 주소 필드는 소스에 해당하는 안전 통신 장치의 주소를 담는다. 프레임 검사 시퀀스는 이더넷 헤더 내의 데이터 및 페이로드 내의 데이터를 이용하여 생성될 수 있다.
다시 도 4를 설명한다.
제1 안전 통신 장치(100A)의 데이터 전송부(109)는 요청 안전 데이터를 포함하는 이더넷 프레임을 제2 안전 통신 장치(100B)에 전송한다(S111). 이를 통해, 데이터 전송부(109)는 생성된 안전 프로토콜 데이터 유닛을 제2 안전 통신 장치(100B)에 전송할 수 있다.
제2 안전 통신 장치(100B)의 데이터 수신부(111)는 제1 안전 통신 장치(100A)로부터 요청(request)에 관한 안전 프로토콜 데이터 유닛을 포함하는 이더넷 프레임을 수신한다(S113). 이때, 이더넷 프레임은 도 6에 도시된 바와 같은 구조를 가질 수 있다.
제2 안전 통신 장치(100B)의 이더넷 프레임 분석부(113)는 수신한 이더넷 프레임을 분석하여 안전 프로토콜 데이터 유닛을 획득한다(S113). 이때, 안전 프로토콜 데이터 유닛은 도 5에 도시된 바와 같은 구조를 가질 수 있다.
제2 안전 통신 장치(100B)의 프로토콜 데이터 유닛 분석부(115)는 프로토콜 데이터 유닛을 분석하여 안전 헤더 데이터, 수신 헤더 오류 검출 코드, 요청 안전 데이터 및 수신 데이터 오류 검출 코드를 획득한다(S117).
제2 안전 통신 장치(100B)의 오류 검출부(117)는 요청 안전 데이터 및 시퀀스 번호를 이용하여 비교 데이터 오류 검출 코드를 계산한다(S119). 이에 더하여, 제2 안전 통신 장치(100B)의 오류 검출부(117)는 안전 헤더 데이터와 시퀀스 번호를 이용하여 비교 헤더 오류 검출 코드를 계산할 수 있다.
특히, 제2 안전 통신 장치(100B)의 오류 검출부(117)는 수학식 1에서 보여지는 바와 같이 비교 헤더 오류 검출 코드를 계산할 수 있다.
또한, 제2 안전 통신 장치(100B)의 오류 검출부(117)는 수학식 2에서 보여지는 바와 같이 비교 데이터 오류 검출 코드를 계산할 수 있다.
제2 안전 통신 장치(100B)의 오류 검출부(117)는 계산된 오류 검출 코드와 획득한 오류 검출 코드를 비교하여 오류를 검출한다(S121). 비교 데이터 오류 검출 코드가 수신 데이터 오류 검출 코드와 동일하고 비교 헤더 오류 검출 코드가 수신 헤더 오류 검출 코드와 동일한 경우에, 오류 검출부(117)는 안전 데이터에 오류가 발생하지 않았다고 판단할 수 있다. 그렇지 않고 비교 데이터 오류 검출 코드가 수신 데이터 오류 검출 코드와 다르거나, 비교 헤더 오류 검출 코드가 수신 헤더 오류 검출 코드와 다른 경우에는, 오류 검출부(117)는 안전 데이터에 오류가 발생했다고 판단할 수 있다.
안전 데이터에 오류가 발생했다고 판단한 경우에, 제2 안전 통신 장치(100B)의 제어부(121)는 안전 통신 장치(100)의 동작 상태를 실패-안전 상태(fail-safe state)로 천이한다(S123). 이 실패-안전 상태에서, 안전 통신 장치(100)는 리셋을 위한 사용자 입력을 수신할 때까지 안전 통신을 중단한다. 특히, 이 실패-안전 상태에서, 안전 통신 장치(100)는 안전 데이터와 관련한 통신 이외의 통신을 중단할 수도 있고 중단하지 않을 수도 있으나, 적어도 안전 데이터와 관련된 통신을 중단한다.
안전 데이터에 오류가 발생하지 않았다고 판단한 경우에, 제2 안전 통신 장치(100B)의 제어부(121)는 수신한 요청 안전 데이터를 소비하고(S125), 다음에 전송할 응답 안전 데이터를 생성한다(S127).
제2 안전 통신 장치(100B)의 오류 검출 코드 계산부(103), 프로토콜 데이터 유닛 생성부(105), 이더넷 프레임 생성부(130), 데이터 전송부(109)는 단계(S101)에서 단계(S109)에서 설명한 바와 같이 응답 안전 데이터를 포함하는 응답 안전 PDU를 포함하는 이더넷 프레임을 생성한 후 제1 안전 통신 장치(100A)에 전송한다(S127).
제1 안전 통신 장치(100A)의 데이터 수신부(111), 이더넷 프레임 분석부(113), 프로토콜 데이터 유닛 분석부(115), 오류 검출부(117), 제어부(121)는 단계(S111) 내지 단계(S123)에서와 같이 응답 안전 PDU를 포함하는 이더텟 프레임을 수신하고 오류 검출을 수행하며 응답 안전 데이터를 소비한다.
도 7은 본 발명의 실시예에 따른 안전 통신 장치의 연결 관계를 보여준다.
도 7을 참고하면, 4개의 안전 통신 장치(100)가 서로 연결된 상태를 보여준다.
각 안전 통신 장치(100)는 자신과 연결된 안전 통신 장치(100)의 장치 정보 리스트(device info list)를 가지고 있다. 예를 들어, 제1 안전 통신 장치(A Device)(100A)의 장치 정보 리스트는 제2 안전 통신장치(B device)(100B)의 장치 정보(B device info), 제3 안전 통신장치(C device)(100C)의 장치 정보(C device info) 및 제4 안전 통신 장치(D device)(100D)의 장치 정보(D device info)를 포함할 수 있다. 안전 통신 장치(100)의 정보는 도 4에서 설명한 바와 같이, 고유 식별자, 가상 네트워크 세그먼트 식별자를 포함할 수 있다.
제2 안전 통신 장치(B Device)(100B)의 장치 정보 리스트, 제3 안전 통신 장치(C Device)(100C)의 장치 정보 리스트 및 제4 안전 통신 장치(D Device)(100B)의 장치 정보 리스트 각각 또한, 자신의 장치 정보 및 자신과 연결된 안전 통신 장치(100)의 정보를 포함할 수 있다.
각 안전 통신 장치(100)는 다른 안전 통신 장치(100)의 정보를 이용하여 다른 안전 통신 장치(100)와 연결될 수 있고, 연결상태를 유지할 수 있다. 즉, 각 안전 통신 장치(100)는 다른 안전 통신 장치(100)의 정보를 이용하여 다른 안전 통신 장치(100)와 1:1 관계의 연결을 설정할 수 있고, 다른 안전 통신 장치(100)와의 네트워크 상태를 관리할 수 있다. 이 때, 각 안전 통신 장치(100)와 연결된 안전 통신 장치(100)의 정보는 네트워크 관리 스킴 계층(13)에서 관리될 수 있다. 이로 인해, 관리자는 하위 계층이 아닌 상위 계층에서 다른 안전 통신 장치(100)의 정보를 관리할 수 있어, 안전 통신 장치(100)에의 접근을 보다 용이하게 수행할 수 있다.
본 발명의 일실시예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
상기와 같이 설명된 이동 단말기는 상기 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.

Claims (5)

  1. 통신 장치가 다른 통신 장치에 데이터를 전송하는 통신 방법에 있어서,
    상기 통신 장치가, 자신의 정보 및 상기 다른 통신 장치의 정보를 포함하는 장치 정보 리스트를 생성하는 단계;
    상기 통신 장치가, 데이터 및 생성된 장치 정보 리스트를 이용하여 오류 검출을 위한 데이터 오류 검출 코드를 계산하는 단계;
    상기 통신 장치가, 상기 데이터 및 상기 데이터 오류 검출 코드를 포함하는 패킷을 생성하는 단계; 및
    상기 통신 장치가, 상기 패킷을 상기 다른 통신 장치에 전송하는 단계를 포함하는
    통신 방법.
  2. 제1항에 있어서,
    상기 장치 정보 리스트는 상기 통신 장치의 네트워크 관리 스킴 계층에서 관리되는
    통신 방법.
  3. 제1항에 있어서,
    상기 자신의 정보 및 상기 다른 통신 장치의 정보 각각은 고유 식별자 및 가상 네트워크 세그먼트 식별자를 포함하는
    통신 방법.
  4. 제3항에 있어서,
    상기 고유 식별자는 디바이스 식별자 및 MAC 주소로 구성된
    통신 방법.
  5. 제1항에 있어서,
    상기 통신 장치가, 헤더 데이터, 상기 장치 정보 리스트 및 시퀀스 번호를 이용하여 상기 헤더 데이터의 오류 검출을 위한 헤더 오류 검출 코드를 계산하는 단계를 더 포함하고,
    상기 패킷을 생성하는 단계는,
    상기 헤더 데이터, 상기 헤더 오류 검출 코드, 상기 데이터 및 상기 데이터 오류 검출 코드를 포함하는 패킷을 생성하는 단계를 포함하는
    통신 방법.
KR1020130023066A 2012-03-02 2013-03-04 통신 장치 및 통신 방법 KR101389604B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261605756P 2012-03-02 2012-03-02
US61/605,756 2012-03-02

Publications (2)

Publication Number Publication Date
KR20130100761A KR20130100761A (ko) 2013-09-11
KR101389604B1 true KR101389604B1 (ko) 2014-04-29

Family

ID=49485423

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130023066A KR101389604B1 (ko) 2012-03-02 2013-03-04 통신 장치 및 통신 방법

Country Status (1)

Country Link
KR (1) KR101389604B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080065245A (ko) * 2007-01-08 2008-07-11 한국전자통신연구원 패킷 기반 무선 통신 시스템에서 패킷 데이터 전송 및 수신방법
KR20100086920A (ko) * 2009-01-23 2010-08-02 엘지전자 주식회사 무선 통신 시스템에서 제어정보 전송 방법 및 장치
KR20100109338A (ko) * 2009-03-31 2010-10-08 엘지전자 주식회사 무선 통신 시스템에서 제어 정보 전송 및 수신 방법
KR20120110641A (ko) * 2011-03-30 2012-10-10 이북동 직교주파수분할 다중 방식 기반의 신호 처리 방법 및 그 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080065245A (ko) * 2007-01-08 2008-07-11 한국전자통신연구원 패킷 기반 무선 통신 시스템에서 패킷 데이터 전송 및 수신방법
KR20100086920A (ko) * 2009-01-23 2010-08-02 엘지전자 주식회사 무선 통신 시스템에서 제어정보 전송 방법 및 장치
KR20100109338A (ko) * 2009-03-31 2010-10-08 엘지전자 주식회사 무선 통신 시스템에서 제어 정보 전송 및 수신 방법
KR20120110641A (ko) * 2011-03-30 2012-10-10 이북동 직교주파수분할 다중 방식 기반의 신호 처리 방법 및 그 장치

Also Published As

Publication number Publication date
KR20130100761A (ko) 2013-09-11

Similar Documents

Publication Publication Date Title
US8576727B2 (en) System and method for unique identifier exchange during auto-negotiation
US10560286B2 (en) Gateway device and control method for the same
US10732594B2 (en) Method for operating safety control in an automation network, and automation network having such safety control allowing mixed safety integrity levels
EP2548330B1 (en) Method of conducting safety-critical communications
KR101639930B1 (ko) 통신 장치 및 통신 방법
KR101639929B1 (ko) 통신 장치 및 통신 방법
KR101389646B1 (ko) 통신 장치 및 통신 방법
KR101389604B1 (ko) 통신 장치 및 통신 방법
CN101115055B (zh) 通信网络中报告隧道数据包中各级错误的装置及方法
CN109587134A (zh) 接口总线的安全认证的方法、装置、设备和介质
CN105407095B (zh) 不同网络间安全通信装置及其通信方法
CN112995508A (zh) 智能相机
CN103763328B (zh) 基于oid编码的传感网设备安全通讯加密机制和寻址方法
US20150113078A1 (en) Communication device and communication method
CN104254141A (zh) 业务数据传输方法、设备及系统

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170403

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180423

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 6