KR101400325B1 - 통신 네트워크 시스템 - Google Patents

통신 네트워크 시스템 Download PDF

Info

Publication number
KR101400325B1
KR101400325B1 KR1020120087539A KR20120087539A KR101400325B1 KR 101400325 B1 KR101400325 B1 KR 101400325B1 KR 1020120087539 A KR1020120087539 A KR 1020120087539A KR 20120087539 A KR20120087539 A KR 20120087539A KR 101400325 B1 KR101400325 B1 KR 101400325B1
Authority
KR
South Korea
Prior art keywords
frame
data
priority
selector
transmission
Prior art date
Application number
KR1020120087539A
Other languages
English (en)
Other versions
KR20140021305A (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 삼성중공업 주식회사
Priority to KR1020120087539A priority Critical patent/KR101400325B1/ko
Publication of KR20140021305A publication Critical patent/KR20140021305A/ko
Application granted granted Critical
Publication of KR101400325B1 publication Critical patent/KR101400325B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • H04L45/3065Route determination based on the nature of the carried application for real time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

통신 네트워크 시스템 및 실시간 프레임 스위칭 방법이 개시된다. 통신 네트워크 시스템에 포함된 복수의 네트워크 노드 중 하나 이상은, 데이터 전송 경로상에서 직전에 배치된 네트워크 노드로부터 수신된 프레임이 해당 네트워크 노드를 수신지로 하는 것인지를 판단하고, 판단 결과에 따라 수신용 선입선출기 또는 전달용 선입 선출기로 전달하는 프레임 필터; 상기 수신용 선입선출기에 저장된 프레임을 지정된 방식에 따라 처리하여 전송용 선입선출기로 전달하는 프레임 처리부; 및 상기 전달용 선입선출기 및 상기 전송용 선입선출기에 저장된 프레임을 우선순위 기반으로 데이터 전송 경로상에서 직후에 배치된 네트워크 노드로 전송하는 포워드 스위치를 포함한다.

Description

통신 네트워크 시스템{Communication system}
본 발명은 통신 네트워크 시스템 및 실시간 데이터 전송 방법에 관한 것이다.
이더넷(Ethernet) 통신을 기반으로 하는 네트워크 기반 제어 시스템은 예를 들어 동기 모션 제어 등과 같은 고속의 실시간 데이터를 전송하는데 주로 사용된다. 이 시스템에서는 동기화를 위해 클럭 동기화 표준인 IEEE 1588이 사용되고 있으며, IEEE 1588은 이더캣(EtherCAT), 파워링크(PowerLINK) 등에서도 사용되고 있다.
실시간 데이터 통신 방법과 관련하여, 미국공개특허 제2009/0129395호(Method, communication network and control unit for the cyclical transmission of data)는 하나의 마스터에 의해서 프레임이 생성되고, 다른 슬레이브들은 수신된 프레임을 처리하여 포워딩하는 방법을 제시하고 있다.
그러나 선행 미국특허는 통신 시스템 내에 복수의 마스터가 존재하는 경우 효율적인 기능 수행을 위한 방안을 제시하지 못하는 한계가 있다.
특허문헌1 : 미국공개특허 제2009/0129395호(Method, communication network and control unit for the cyclical transmission of data)
본 발명은 복수의 마스터가 존재하는 통신 네트워크 시스템에서도 제한없이 적용될 수 있고, 우선 순위에 따라 프레임 전송 도중에도 우선 순위가 높은 프레임을 우선하여 수신단으로 전송할 수 있는 통신 네트워크 시스템 및 실시간 프레임 스위칭 방법을 제공하기 위한 것이다.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.
본 발명의 일 측면에 따르면, 통신 네트워크 시스템에 있어서, 프레임 송수신을 위한 데이터 전송 경로를 형성하기 위해 순차적으로 연결되는 복수의 네트워크 노드를 포함하되, 하나 이상의 네트워크 노드는, 데이터 전송 경로상에서 직전에 배치된 네트워크 노드로부터 수신된 프레임이 해당 네트워크 노드를 수신지로 하는 것인지를 판단하고, 판단 결과에 따라 수신용 선입선출기 또는 전달용 선입 선출기로 전달하는 프레임 필터; 상기 수신용 선입선출기에 저장된 프레임을 지정된 방식에 따라 처리하여 전송용 선입선출기로 전달하는 프레임 처리부; 및 상기 전달용 선입선출기 및 상기 전송용 선입선출기에 저장된 프레임을 우선순위 기반으로 데이터 전송 경로상에서 직후에 배치된 네트워크 노드로 전송하는 포워드 스위치를 포함하는 통신 네트워크 시스템이 제공된다.
상기 포워드 스위치는 낮은 우선순위의 제1 프레임을 전송하는 중에 높은 우선순위의 제2 프레임이 발생된 경우, 상기 제1 프레임의 전송을 중지하고 상기 제2 프레임의 전송을 수행한 후 상기 제1 프레임의 잔여 데이터에 대한 전송을 재개하는 스위칭 처리를 수행할 수 있다.
상기 프레임은 프레임 연결 여부에 관한 정보(Connection), 스위칭 가능 여부에 관한 정보(Switching), 해당 프레임의 우선순위에 관한 정보(Priority) 및 송수신 메시지를 구별하기 위한 식별 정보(Identifier) 중 하나 이상이 포함된 헤더를 가질 수 있다.
상기 프레임은 프레임 연결 여부에 관한 정보(Connection)와 프레임 또는 데이터의 크기 정보(Size) 중 하나 이상이 포함된 테일을 가질 수 있다.
하나의 프레임이 분리 전송되도록 스위칭 처리된 경우, 전송 재개된 잔여 데이터에 상응하는 테일에 포함되는 크기 정보(Size)는 상기 잔여 데이터의 크기를 나타내는 정보일 수 있다.
상기 프레임 처리부는 상기 스위칭 처리에 의해 불완전하게 분리된 프레임이 존재하는 경우, 하나의 완전한 프레임으로 결합한 후 지정된 처리를 수행할 수 있다.
상기 프레임은 헤더, 데이터 및 테일로 구성되고, 상기 데이터는 COBS(Consistent Overhead Byte Stuffing), 비트 스터핑(Bit stuffing) 및 바이트 스터핑(Byte stuffing) 중 어느 하나로 스터핑 처리될 수 있다.
상기 프레임 처리부는 스터핑 처리된 데이터를 디스터핑(Destuffing)하는 디코더와, 소정의 처리가 완료된 데이터를 다시 스터핑 처리하는 인코더를 포함할 수 있다.
상기 포워드 스위치는 상기 전달용 선입선출기 및 상기 전송용 선입선출기에 각각 저장된 프레임이 동일한 우선순위를 가지는 경우, 상기 전달용 선입선출기에 저장된 프레임을 우선 전송할 수 있다.
상기 복수의 네트워크 노드는 이더넷 기반의 통신 네트워크를 구성하도록 상호 연결될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예에 따르면, 복수의 마스터가 존재하는 통신 네트워크 시스템에서도 제한없이 적용될 수 있고, 우선 순위에 따라 프레임 전송 도중에도 우선 순위가 높은 프레임을 우선하여 수신단으로 전송할 수 있는 효과가 있다.
도 1은 이더넷 기반 통신 프로토콜들의 실시간 통신 아키텍쳐를 나타낸 도면.
도 2는 종래기술에 따른 실시간 통신 프로토콜의 프레임 구조를 나타낸 도면.
도 3은 본 발명의 일 실시예에 따른 네트워크 기반 제어 시스템의 구성을 나타낸 도면.
도 4는 본 발명의 일 실시예에 따른 프레임 구조를 나타낸 도면.
도 5는 본 발명의 일 실시예에 따른 프레임 처리기의 구조를 개략적으로 나타낸 도면.
도 6은 본 발명의 일 실시예에 따른 프레임 처리기의 프레임 처리 과정을 나타낸 도면.
도 7은 본 발명의 일 실시예에 따른 프레임 처리기의 우선순위에 따른 프레임 처리 과정을 나타낸 도면.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
또한, 명세서에 기재된 "…부", "…유닛", "…모듈", "…기" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
또한, 각 도면을 참조하여 설명하는 실시예의 구성 요소가 해당 실시예에만 제한적으로 적용되는 것은 아니며, 본 발명의 기술적 사상이 유지되는 범위 내에서 다른 실시예에 포함되도록 구현될 수 있으며, 또한 별도의 설명이 생략될지라도 복수의 실시예가 통합된 하나의 실시예로 다시 구현될 수도 있음은 당연하다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일하거나 관련된 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 이더넷 기반 통신 프로토콜들의 실시간 통신 아키텍쳐를 나타낸 도면이다.
실시간 통신을 위해 다양한 통신 기법들이 개발되고 있으며, 2000년 국제 규격 IEC 61158, IEC 62026이 제정된 바 있다. 종래의 RS485나 CAN 등을 사용하는 필드버스(Fieldbus)가 느리다는 단점을 보완하기 위한 실시간 통신은 점차 이더넷 기반으로 진화하고 있으며, 이러한 이더넷 기반의 실시간 통신 프로토콜은 그 특성별로 도 1에 도시된 3개의 아키텍쳐로 분류될 수 있다.
(a)로 구분된 첫번째 아키텍쳐는 기존의 TCP/UDP 스택 위에서 정의된 실시간 통신 방법이고, (b)로 구분된 두번째 아키텍쳐는 IP 스택의 아래에서 실시간 처리되어야 할 데이터를 별도로 처리하는 실시간 통신 방법이며, (c)로 구분된 세번째 아키텍쳐는 별도의 계획(Scheduling) 기능을 제공하는 실시간 통신 방법이다.
도시된 세개의 아키텍쳐 중에서 실시간 성능 측면을 고려하면, 세번째 아키텍쳐가 가장 우수한 성능을 보여주지만 상대적으로 표준 IEEE 802에서 추가되는 요인이 많은 특징이 있다.
도 2는 종래기술에 따른 실시간 통신 프로토콜의 프레임 구조를 나타낸 도면이다. 참고로, 도 2의 (a)는 이더넷 통신 프로토콜의 프레임 구조를 나타내고, (b)는 이더캣 통신 프로토콜의 프레임 구조를 나타낸다.
이더넷 기반 실시간 통신은 도 2의 (a)에 도시된 이더넷 통신 프로토콜의 프레임 구조에서 페이로드(payload) 영역에 각 통신 프로토콜에 맞는 프레임을 삽입하여 전송하는 방법을 이용하고 있다. 이는, 일종의 이더넷 기반 실시간 통신 방법으로서 이더캣 통신 프로토콜의 프레임 구조가 도시된 (b)를 참조하면 쉽게 이해할 수 있을 것이다.
도 2의 (b)에 도시된 프레임 구조를 이용하는 이더캣 통신 방식은 하나의 마스터만 프레임 전송 권한을 가지고 네트워크에 연결된 나머지 노드들은 마스터 또는 다른 노드로 전송 받은 프레임을 처리하여 다음 노드로 전송하며, 모든 노드에서 처리된 프레임은 다시 마스터로 돌아오는 구조로 이루어져 있다.
이더캣 통신 방식은 각 노드들이 프레임을 처리하는 시간을 최소화할 수 있으므로 마스터가 프레임을 전송하고 해당 프레임을 다시 수신할 때까지의 시간이 최소화될 수 있어 실시간 전송 성능이 가장 우수한 통신 방식으로 평가되고 있다.
그러나 이더켓 통신 방식은 마스터 간의 통신에 대해서는 우수한 실시간 성능이 효과적으로 활용되지 못하고 있으며, 기존의 이더넷 기반 UDP/IP와 같은 통신 방법이 이용되고 있다. 또한 두 개 이상의 마스터로 하나의 마스터가 고장일 경우 다른 마스터가 기존 마스터 기능을 대신하는 핫-백업이 필요한 플랜트에서 이더캣 통신 방법이 활용되지 못하는 한계도 있다.
도 3은 본 발명의 일 실시예에 따른 네트워크 기반 제어 시스템의 구성을 나타낸 도면이다.
도 3을 참조하면, 본 실시예에 따른 통신 네트워크 시스템은 하나 이상의 마스터(310) 및 복수의 슬레이브(320a, 320b, 320c 및 320d, 이하 별도의 구분이 필요하지 않은 경우에는 320으로 통칭함)를 포함하고, 마스터(310) 및 각 슬레이브(320)들 간에는 케이블에 의해 순차적으로 연결된다.
마스터(310)는 슬레이브(320)로 임의의 데이터(즉, 프레임일 수 있으며 예를 들어, 로봇 제어를 위한 데이터 등)를 전송한다.
또한, 마스터(310)는 네트워크상의 디바이스들(즉, 마스터(310)와 슬레이브(320))간에 발생하는 오프셋 값 및 딜레이 값을 주기적으로 계산하여 전송하며, 클럭 동기화를 위해 네트워크상 첫번째 노드에 있는 디바이스인 마스터(310)의 시스템 타임(system time)이 주기적으로 네트워크상에 분산된다. 여기서, 오프셋 값은 마스터(310)가 데이터를 전송할 때의 마스터(310)의 내부 시계 값과 슬레이브(320)가 데이터를 수신했을 때의 슬레이브(320)의 내부 시계 값의 차이일 수 있다. 그리고 딜레이 값은 마스터(310)에서 데이터를 전송하여 슬레이브(320)가 그 데이터를 수신할 때까지 또는 그 역의 과정 등에서 걸리는 지연 시간일 수 있다.
슬레이브(320)는 마스터(310)로부터 데이터를 수신하거나, 데이터 전송 경로상에서 전단에 위치한 슬레이브(320)로부터 데이터를 수신한다.
수신된 데이터가 해당 슬레이브(320)를 대상으로 하는 데이터인 경우, 슬레이브(320)에 구비된 처리부는 데이터를 읽어 데이터에 의해 지정된 처리를 수행하며, 필요한 경우 처리 결과 등을 데이터에 기재한 후 데이터 전송/회신 경로(본 명세서에서는 구분의 필요가 없는 경우 데이터 전송 경로로 통칭하여 설명함)상에서 후단에 위치한 슬레이브(320) 또는 마스터(310)로 데이터를 전송한다. 슬레이브(320)가 후단의 슬레이브(320) 또는 마스터(310)로 전송하는 데이터에는 예를 들어 데이터를 송수신한 시간 및 데이터 처리 시간 등이 포함될 수 있다.
또한 슬레이브(320)는 마스터(310)로부터 수신되는 시스템 타임을 이용하여 동기화되며, 마스터(310)에 의해 계산되어 제공되는 오프셋 값 및 딜레이 값을 기반으로 자신의 로컬 시스템 타임을 보정하여 클럭을 동기화시킨다.
본 실시예에 따른 통신 네트워크 시스템은 시스템 내에 하나 이상의 프레임 전송 노드(예를 들어 마스터)가 존재하여 분산 처리가 가능하면서도 실시간성을 보장하기 위해 우선순위 기반의 프레임 스위칭이 가능한 특징을 가진다. 즉, 통신 네트워크 시스템에 포함된 하나 이상의 노드가 구비한 처리부에 프레임 전송 기능이 포함되도록 함으로써, 시스템 내에 복수의 마스터가 존재하는 것처럼 동작하도록 시스템을 구성할 수도 있다.
도 4는 본 발명의 일 실시예에 따른 프레임 구조를 나타낸 도면이다.
도 4에 도시된 바와 같이, 본 실시예에 따른 통신 네트워크 시스템의 프레임 구조는 기본적으로 헤더(H, Header), 데이터(D, Data) 및 테일(T, Tailer)이 분리자(S, Separator)에 의해 분리되며 반복되는 구조를 가진다.
헤더(H, Header)에는 프레임 연결 여부에 관한 정보(Connection), 스위칭 가능 여부(즉, 프레임 분리 전송 가능 여부)에 관한 정보(Switching), 해당 프레임의 우선순위에 관한 정보(Priority) 및 송수신 메시지를 구별하기 위한 식별 정보(Identifier) 등 중 하나 이상이 포함될 수 있다. 프레임 연결 여부에 관한 정보는 예를 들어, 독립적으로 시작되는 프레임인 경우 S(Start), 앞선 프레임에 연결되는 프레임인 경우 C(Connection)로 지정될 수 있고, 스위칭 가능 여부에 관한 정보는 예를 들어, 스위칭 가능한 프레임인 경우 S(Switchable), 스위칭 불가능한 프레임인 경우 N(Not Switchable)으로 지정될 수 있다.
여기서, 스위칭 가능 여부에 관한 정보는 프레임에 따라 스위칭이 불가능할 수 있기 때문에 이를 고려하기 위해 포함될 수 있다. 네트워크 노드에서 스위칭 불가(N)로 지정된 프레임이 전송되는 중에 우선 순위가 높은 프레임이 발생될지라도 전송되고 있는 프레임이 헤더에 스위칭 불가로 지정되어 있으므로 이 프레임은 스위칭 처리되지 않게 된다. 이와 같이 스위칭 가능 여부에 관한 정보를 이용하는 이유는, 프레임이 스위칭 되면 헤더 및 테일이 부가될 수 밖에 없고, 이는 오버헤드를 발생시켜 전반적인 대여폭을 줄이는 문제점이 있으므로, 이를 효율적으로 관리할 수 있도록 하기 위함이다.
테일(T, Tailer)에는 프레임 연결 여부에 관한 정보(Connection) 및 프레임 또는 데이터의 크기 정보(Size) 등 중 하나 이상이 포함될 수 있다. 여기서, 프레임 연결 여부에 관한 정보는 예를 들어, 해당 프레임으로 완료되는 프레임인 경우 E(End), 후속하는 프레임과 연결되는 프레임인 경우 C(Connection)로 지정될 수 있다.
도 4에 도시된 점선 박스 내에는 3개의 프레임, 즉 S1, H1, D1 및 T1인 제1 프레임, S2, H2, D2 및 T2인 제2 프레임 및 S3, H3, D3 및 T3인 제3 프레임이 예시되어 있다.
그러나 만일 프레임 전송 노드(예를 들어, 마스터)에서는 2개의 프레임만(즉, 제1 프레임과 제2 프레임)이 전송되었으나 데이터 전송 경로를 구성하는 네트워크 노드들을 거치는 과정에서 어느 하나의 네트워크 노드가 데이터 전송 경로에서 직후에 위치한 다른 하나의 네트워크 노드로 스위칭이 가능하도록 지정된 제1 프레임을 전송하는 중에 상대적으로 우선 순위가 높은 제2 프레임이 수신되었다면, 해당 네트워크 노드는 제1 프레임의 전송을 중지하고 우선 제2 프레임을 먼저 전송한 후 제1 프레임의 나머지(즉, 잔여 데이터)를 제3 프레임의 형태로 전송할 수도 있을 것이다.
이 경우, 물리적으로는 3개의 프레임으로 나뉘어졌으나, 수신자 입장에서는 제1 프레임과 제3 프레임이 실제적으로는 하나의 프레임이기 때문에 결과적으로 2개의 프레임을 받게 된다.
전술한 바와 같이, 프레임의 분리 전송(즉, 우선 순위가 높은 프레임에 의해 송신되는 프레임이 복수의 프레임들로 나뉘어 전송되는 스위칭 처리)이 가능한 이유는, 전술한 바와 같이 프레임의 헤더(Header)에 동일한 우선 순위의 이전 프레임이 연결되었는지에 대한 정보(Connection), 해당 프레임이 스위칭 가능한지 여부에 대한 정보(Switching) 정보, 해당 프레임의 우선 순위에 관한 정보(Priority) 및 프레임을 식별하기 위한 수신자, 송신자 또는 메시지 종류에 대한 정보(Identifier)를 포함하고, 또한 테일(Tailer)에도 다음에 전송될 프레임이 있는지 여부의 정보(Connection)와 이번에 전송한 프레임 또는 데이터의 크기 정보(Size)가 포함되기 때문이다.
프레임의 헤더 및 테일에 전술한 정보가 포함되는 방식은 해당 정보들이 그 자체의 형태로 포함되거나, 임의의 코딩 방식으로 코딩 처리되어 포함될 수 있을 것이다. 여기서, 해당 정보를 코딩하는 방법이 제한되지 않음은 당연하다.
또한 앞서 설명한 바와 같이, 각각의 프레임은 분리자(S, Separator)라고 칭해지는 예를 들어 하나의 바이트로 구성된 구분 식별자에 의해 구분된다. 여기서, 구분 식별자는 바이트로 표현할 수 있는 256개의 수 중에서 하나의 수로 선택될 수 있고, 분리자를 이용하여 프레임을 구분하기 위해서는 분리자 사이의 바이트 단위 데이터들(예를 들어, 데이터 영역)에서는 분리자로 정의된 수가 나타나면 안된다. 이와 같이, 특정 수가 나타나지 않도록 하는 방법으로는 비트 스터핑(Bit stuffing), 바이트 스터핑(Byte stuffing) 등이 있다.
비트 스터핑 방법은 예를 들어 01111110을 분리자로 선정한 경우, 데이터 영역에서 01111110 패턴이 나타나지 않도록 하기 위해 1이 5번 연속되는 경우 0을 삽입하여 지정된 분리자와 동일한 패턴이 나타나지 않도록 하는 방법이다.
또한, 바이트 스터핑 방법으로는 예를 들어 PPP(Point to Point Protocol) 방식에서 사용하는 Flag와 Escape를 활용하는 방법이 이용될 수도 있다. 이외에도 바이트 스터핑 방법(예를 들어 COBS(Consistent Overhead Byte Stuffing) 방식 등) 으로서 다양한 방법이 추가적으로 또는 선택적으로 이용될 수도 있음은 당연하다.
도 4에 도시된 프레임 구조에서 데이터 영역에 대해서는 전술한 바이트 스터핑, 비트 스터핑 등의 스터핑 방식이 사용되지만, 헤더와 테일에 대해서만 이하에서 설명되는 상이한 스터핑 방식을 적용할 수도 있다.
헤더와 테일에 대해 적용될 수 있는 상이한 스터핑 방식은 바이트로 표현될 수 있는 256 수 중에서 255 이하의 수를 활용하는 방법일 수 있다.
예를 들어, 헤더에 포함되는 프레임 연결 여부에 관한 정보(Connection)와 스위칭 가능 여부에 관한 정보(Switching)가 각각 1비트를 차지하는 변수이고, 식별 정보(Identifier)가 2비트를 차지하는 변수라고 가정하면, 우선순위에 관한 정보(Priority)는 나머지 4비트로 표현할 수 있는 16개의 수 중 하나를 제외하고 15가지만을 사용하는 방식이다.
이와 같이 적용하는 경우, 우선순위에 관한 정보를 표현하기 위한 15가지의 수와 나머지 4비트로 표현 가능한 수는 총 240(즉, 15*24=240)이 되므로, 255가지의 수만 표현 가능한 분리자가 아닌 바이트 내에 표시할 수 있게 된다. 따라서, 전술한 방식을 사용할 때 별도의 비트나 바이트 추가없이 1바이트 이내에서 원하는 헤더 정보를 표현할 수 있다.
이에 비해, 테일의 경우 프레임 또는 데이터의 크기 정보(Size)에는 256 이상의 수가 포함될 수 있으므로, 2바이트로 표현 가능한 수(즉, 256*256 가지의 수)로 연결 정보(Connection)과 크기 정보(Size)를 한정하여 활용할 수 있다.
이 경우, 연결 정보가 1비트로 표현된다면, 크기 정보는 0 내지 32384의 수(즉, 2바이트 중 연결정보 1비트를 제외하므로 127*255=32385의 가지 수)를 가질 수 있다.
도 5는 본 발명의 일 실시예에 따른 프레임 처리기의 구조를 개략적으로 나타낸 도면이다.
도 5를 참조하면, 데이터 전송 경로를 구성하는 하나 이상의 네트워크 노드에 구비된 프레임 처리기는 프레임 필터(510), 전달용 선입선출기(Forward FIFOs)(520), 수신용 선입선출기(Receive FIFOs)(530), 프레임 처리부(535), 전송용 선입선출기(Transmit FIFO)(570) 및 포워드 스위치(580)를 포함할 수 있고, 프레임 처리부(535)는 디코더(540), 상위 계층 처리기(550) 및 인코더(560)를 포함할 수 있다.
프레임 필터(510)는 프레임이 수신되면 프레임의 헤더에 포함된 식별 정보(Identifier)를 참조하여, 수신된 프레임이 해당 노드를 위한 것인지 여부를 판단한다. 만일 수신된 프레임이 해당 노드를 위한 것인 경우라면 프레임 필터(510)는 수신된 프레임을 수신용 선입선출기(530)에 저장하지만, 수신된 프레임이 해당 노드를 위한 것이 아닌 경우라면 프레임 필터(510)는 수신된 프레임을 데이터 전송 경로상 직후에 배치된 네트워크 노드로 전송하기 위해 전달용 선입선출기(520)에 저장한다.
디코더(540)는 수신용 선입선출기(530)에 저장된 프레임에서 헤더와 테일을 제거하고, 데이터와 헤더에 포함된 식별 정보를 상위 계층 처리기(550)으로 제공한다.
상위 계층 처리기(550)는 예를 들어 일반적인 필드버스 시스템의 OSI 7 레이어 중 어플리케이션 레이어 처리부에 해당될 수 있다.
인코더(560)는 상위 계층 처리기(550)에 의해 처리된 데이터에 헤더와 테일을 부가하여 데이터 전송 경로상 직후에 배치된 네트워크 노드로 전송할 프레임으로 재구성한 후, 전송용 선입선출기(570)에 재구성된 프레임을 저장한다.
포워드 스위치(580)는 전달용 선입선출기(520) 및 전송용 선입 선출기(570)에 저장된 프레임들에 대해 각 프레임의 헤더에 저장된 우선순위 정보를 참조하여 우선순위가 높은 프레임순으로 데이터 전송 경로상 직후에 배치된 네트워크 노드로 프레임 전송한다. 이때, 포워드 스위치(580)는 스위칭 처리를 수행할 수도 있다.
이하, 프레임 처리기의 동작에 대해 간략히 설명한다.
프레임 처리기의 프레임 필터(510)는 수신한 프레임의 헤더에 포함된 식별 정보(Identifier)를 참조하여 수신된 프레임이 해당 노드에 대한 것인지를 판단한 후, 해당 노드에 대한 프레임인 경우라면 수신용 선입선출기(530)를 통해 디코더(540)로 제공한다. 디코더(540)로 제공된 프레임은 바이트 디스터핑(Byte Destuffing) 등의 과정을 수행한 후 상위 계층 처리기(550)로 제공된다. 그러나 만일 수신된 프레임이 해당 노드에 대한 것이 아닌 것으로 판단되면, 해당 프레임은 전달용 선입선출기(520)를 통해 포워드 스위치(580)로 전달된다.
포워드 스위치(580)는 상위 계층 처리기(550)에 의해 처리되고, 인코더(560)에 의해 바이트 스터핑 등의 처리가 수행된 프레임이 저장된 전송용 선입선출기(570)와 전달용 선입선출기(520)에 저장된 프레임 중에서 우선순위가 높은 프레임을 우선하여 전송한다.
 만일 전송용 선입선출기(570)와 전달용 선입선출기(520)에 저장된 프레임들의 우선순위가 동일한 경우라면 포워드 스위치(580)는 예를 들어 전달용 선입선출기(520)에 저장된 프레임을 우선하여 전송하도록 설정될 수도 있다.
그러나 만일 포워드 스위치(580)가 스위칭 가능하도록 설정된 임의의 프레임을 전송하는 중에, 우선순위가 높은 프레임이 전송용 선입선출기(570) 및/또는 전달용 선입선출기(520)에 저장되면, 포워드 스위치(580)는 현재 전송중인 프레임의 전송을 중지하고 프레임 테일을 우선 전송한 후, 저장된 높은 우선순위의 프레임을 전송한다.
여기서 프레임 테일의 전송은 전송이 중지된 프레임이 전송 완료에 의한 것이 아님을 데이터 전송 경로상의 네트워크 노드가 인식할 수 있도록 하기 위함이며, 또한 이번에 몇 바이트를 전송했음을 네트워크 노드가 인식할 수 있도록 하기 위함이다. 네트워크 노드는 프레임 테일에 포함된 크기 정보를 이용하여 프레임 정상 여부에 대한 판단이 가능하며, 프레임이 스위칭 되었을 때 크기 정보들을 합하여 해당 프레임이 가져야 하는 크기와 비교함으로써 프레임 정상 여부에 대한 판단도 가능하다.
높은 우선순위의 프레임 전송이 완료되면, 포워드 스위치(580)는 전송이 중지된 프레임에 대한 헤더를 우선 전송한 후 전송이 중지된 이후부터의 잔여 데이터 전송을 재개한다. 전송을 재개하고 잔여 데이터를 전송하는 경우, 잔여 데이터에 부가되는 헤더에는 이전의 특정 프레임과 연결되어야 한다는 정보(connection)가 포함되어야 한다.
도 6은 본 발명의 일 실시예에 따른 프레임 처리기의 프레임 처리 과정을 나타낸 도면이다.
도 6의 RX는 수신되는 프레임을 나타내고, FF는 해당 노드로 전송된 프레임이 아니므로 전달용 선입선출기(520)로 전달되는 프레임을 나타내며, SF는 해당 노드로 전달된 프레임을 나타내고, DF는 디코더(540)에 의해 디스터핑(Destuffing) 된 후 분리된 프레임 중 상호 연결되어야 하는 프레임이 연결 처리되어 상위 계층 처리기(550)로 전달되는 프레임을 나타낸다.
또한 S는 분리자(Seperator)를 나타내고, H는 헤더를 나타내며, D는 데이터를 나타내고, T는 테일을 나타낸다. 굵은 실선 박스의 프레임은 스위칭이 불가능한 프레임을 나타내고, 굵은 외곽 점선 박스의 프레임은 스위칭이 가능한 프레임을 나타내며, 굵은 외곽 점선 박스 및 실선 구분된 프레임은 선입선출기에 저장된 프레임을 나타낸다.
또한, 도시된 HS1은 헤더(H)이고, 연결 정보(Connection)가 시작(S, Start)이며, 우선순위(Priority)가 1임을 나타낸다. 마찬가지로, TE1과 TC2는 테일(T)이고 연결 정보(Connection)가 각각 종료(E, End) 또는 연결(C, Connected)이며, 우선순위(Priority)가 각각 1 또는 2임을 나타낸다.
도시된 바와 같이, 디코더(540)는 수신되어 수신용 선입선출기(530)에 저장된 프레임의 헤더를 참조하여 독립된 하나의 프레임이라면 이에 상응하는 데이터를 상위 계층 처리기(550)로 전달하지만, 해당 프레임이 다른 프레임과 연결된 것이라면 해당 프레임들을 하나의 프레임으로 재구성한 후 이에 상응하는 데이터를 상위 계층 처리기(550)로 전달하는 특징을 가진다.
도 7은 본 발명의 일 실시예에 따른 프레임 처리기의 우선순위에 따른 프레임 처리 과정을 나타낸 도면이다.
도 7을 참조하면, 디코더(540)가 수신용 선입선출기(530)에 저장된 프레임들간에 연결 관계를 가지는 프레임(즉, 조각난 프레임)을 상호 연결하여 완전한 프레임으로 재구성한 후 상위 계층 처리기(550)로 전달함을 알 수 있다.
또한, 도 7을 참조하면, 우선순위가 높은(즉, 우선순위를 지칭하는 숫자가 낮은) 프레임이 우선하여 수신함을 확인할 수 있다. 다시 말하여, 데이터 전송 경로상에서 직전에 배치된 노드가 우선순위가 높은 데이터를 먼저 전송함으로 확인할 수 있다.
즉, SF(즉, 수신용 선입선출기(530)에 저장되는 프레임)를 참조하면, 두번째 프레임인 우선순위 3의 프레임이 수신되는 중에, 우선순위 3의 프레임 수신이 중지되고(C라는 연결정보를 가지는 테일 참조) 우선순위 2인 프레임이 수신되고 있다. 이는 해당 노드로 프레임을 전송하는 데이터 전송 경로상에서 직전에 배치된 네트워크 노드에서 우선순위 2인 프레임(즉, 세번째 프레임)이 발생되어 높은 우선순위를 가지는 프레임을 먼저 전송하기 위해 우선순위가 낮은 프레임 전송을 중지하였기 때문이다.
마찬가지로, 세번째 프레임인 우선순위 2의 프레임이 수신되는 중에, 우선순위 2의 프레임 수신이 중지되고(C라는 연결정보를 가지는 테일 참조) 우선순위 1인 프레임이 수신되고 있다. 이 역시, 데이터 전송 경로상에서 직전에 배치된 네트워크 노드에서 우선순위 1인 프레임(즉, 네번째 프레임)이 발생되어 높은 우선순위를 가지는 프레임을 먼저 전송하기 위해 우선순위가 낮은 프레임 전송을 중지하였기 때문이다.
이후, 전송이 중지되었던 프레임들이 우선순위가 높은 순서로 각각 수신되어 수신용 선입선출기에 저장되고, 디코더(540)에 의해 불완전한 프레임들이 하나의 프레임으로 재구성처리되어 상위 계층 처리기(550)로 전달하며, 하나의 프레임으로 재구성된 데이터는 상위 계층 처리기(550) 등의 처리가 완료된 후 포워드 스위치(580)를 통해 데이터 전송 경로상에서 직후에 배치된 노드로 전송된다.
데이터 전송 경로상에서 직후에 배치된 노드로 프레임을 전송하는 과정에서 전송중인 프레임보다 우선순위가 높은 프레임이 발생되면 해당 프레임의 전송이 스위칭 처리될 수 있음은 앞서 설명한 바와 같다.
상술한 통신 네트워크 시스템의 실시간 프레임 스위칭 방법은 디지털 처리 장치에 내장되거나 설치된 프로그램 등에 의해 시계열적 순서에 따른 자동화된 절차로 수행될 수도 있음은 당연하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 디지털 처리 장치가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 디지털 처리 장치에 의하여 읽혀지고 실행됨으로써 상기 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다.
상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
510 : 프레임 필터 520 : 전달용 선입선출기
530 : 수신용 선입선출기 535 : 프레임 처리부
540 : 디코더 550 : 상위 계층 처리기
560 : 인코더 570 : 전송용 선입선출기
580 : 포워드 스위치

Claims (10)

  1. 통신 네트워크 시스템에 있어서,
    프레임 송수신을 위한 데이터 전송 경로를 형성하기 위해 순차적으로 연결되는 복수의 네트워크 노드를 포함하되,
    하나 이상의 네트워크 노드는,
    데이터 전송 경로상에서 직전에 배치된 네트워크 노드로부터 수신된 프레임이 해당 네트워크 노드를 수신지로 하는 것인지를 판단하고, 판단 결과에 따라 수신용 선입선출기 또는 전달용 선입 선출기로 전달하는 프레임 필터;
    상기 수신용 선입선출기로 전달된 프레임을 지정된 방식에 따라 처리하여 전송용 선입선출기로 전달하는 프레임 처리부; 및
    상기 전달용 선입선출기 및 상기 전송용 선입선출기에 전달된 프레임을 우선순위 기반으로 데이터 전송 경로상에서 직후에 배치된 네트워크 노드로 전송하는 포워드 스위치를 포함하되,
    상기 포워드 스위치는 제1 우선순위를 가지는 프레임을 전송하는 중에 상기 제1 우선순위보다 상대적으로 높은 제2 우선순위를 가지는 프레임이 발생된 경우, 상기 제1 우선순위를 가지는 프레임의 전송을 중지하고 상기 제2 우선순위를 가지는 프레임의 전송을 수행한 후, 상기 제1 우선순위를 가지는 프레임의 잔여 데이터에 대한 전송을 재개하는 스위칭 처리를 수행하는, 통신 네트워크 시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 프레임은 프레임 연결 여부에 관한 정보(Connection), 스위칭 가능 여부에 관한 정보(Switching), 해당 프레임의 우선순위에 관한 정보(Priority) 및 송수신 메시지를 구별하기 위한 식별 정보(Identifier) 중 하나 이상이 포함된 헤더를 가지는 통신 네트워크 시스템.
  4. 제1항에 있어서,
    상기 프레임은 프레임 연결 여부에 관한 정보(Connection)와 프레임 또는 데이터의 크기 정보(Size) 중 하나 이상이 포함된 테일을 가지는 통신 네트워크 시스템.
  5. 제4항에 있어서,
    하나의 프레임이 분리 전송되도록 스위칭 처리된 경우, 전송 재개된 잔여 데이터에 상응하는 테일에 포함되는 크기 정보(Size)는 상기 잔여 데이터의 크기를 나타내는 정보인 통신 네트워크 시스템.
  6. 제1항에 있어서,
    상기 프레임 처리부는 상기 스위칭 처리에 의해 불완전하게 분리된 프레임이 존재하는 경우, 하나의 완전한 프레임으로 결합한 후 지정된 처리를 수행하는 통신 네트워크 시스템.
  7. 제1항에 있어서,
    상기 프레임은 헤더, 데이터 및 테일로 구성되고,
    상기 데이터는 COBS(Consistent Overhead Byte Stuffing), 비트 스터핑(Bit stuffing) 및 바이트 스터핑(Byte stuffing) 중 어느 하나로 스터핑 처리되는 통신 네트워크 시스템.
  8. 제7항에 있어서,
    상기 프레임 처리부는 스터핑 처리된 데이터를 디스터핑(Destuffing)하는 디코더와, 소정의 처리가 완료된 데이터를 다시 스터핑 처리하는 인코더를 포함하는 통신 네트워크 시스템.
  9. 제1항에 있어서,
    상기 포워드 스위치는 상기 전달용 선입선출기 및 상기 전송용 선입선출기로 각각 전달된 프레임이 동일한 우선순위를 가지는 경우, 상기 전달용 선입선출기에 전달된 프레임을 우선 전송하는 통신 네트워크 시스템.
  10. 제1항에 있어서,
    상기 복수의 네트워크 노드는 이더넷 기반의 통신 네트워크를 구성하도록 상호 연결되는 통신 네트워크 시스템.
KR1020120087539A 2012-08-10 2012-08-10 통신 네트워크 시스템 KR101400325B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120087539A KR101400325B1 (ko) 2012-08-10 2012-08-10 통신 네트워크 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120087539A KR101400325B1 (ko) 2012-08-10 2012-08-10 통신 네트워크 시스템

Publications (2)

Publication Number Publication Date
KR20140021305A KR20140021305A (ko) 2014-02-20
KR101400325B1 true KR101400325B1 (ko) 2014-05-28

Family

ID=50267829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120087539A KR101400325B1 (ko) 2012-08-10 2012-08-10 통신 네트워크 시스템

Country Status (1)

Country Link
KR (1) KR101400325B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101593218B1 (ko) 2014-09-22 2016-02-12 한국전기연구원 가변 데이터그램 기반 제어 프레임 전송 방법, 이를 위한 노드 및 제어 프레임 전송 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007174119A (ja) * 2005-12-20 2007-07-05 Mitsubishi Electric Corp レイヤ2ネットワーク
JP2010504011A (ja) 2006-11-27 2010-02-04 ベックホフ オートメーション ゲーエムベーハー マスター/スレーブ構造を有する通信システム
JP2010510741A (ja) 2006-11-27 2010-04-02 ベックホフ オートメーション ゲーエムベーハー マスタ/スレーブ構造を有する通信システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007174119A (ja) * 2005-12-20 2007-07-05 Mitsubishi Electric Corp レイヤ2ネットワーク
JP2010504011A (ja) 2006-11-27 2010-02-04 ベックホフ オートメーション ゲーエムベーハー マスター/スレーブ構造を有する通信システム
JP2010510741A (ja) 2006-11-27 2010-04-02 ベックホフ オートメーション ゲーエムベーハー マスタ/スレーブ構造を有する通信システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
카달로그 *
카달로그*

Also Published As

Publication number Publication date
KR20140021305A (ko) 2014-02-20

Similar Documents

Publication Publication Date Title
KR100839881B1 (ko) 패킷 전송방법 및 패킷 전송장치
US20210234724A1 (en) Electronic control unit, frame generating method, and non-transitory computer-readable recording medium storing a program
CN110870285B (zh) 在具有部分实时需求的数据网络中高性能数据传输的方法和执行该方法的装置
JP5183922B2 (ja) 可変長データパケットの異種ネットワークスイッチングシステム及びその方法、並びにシグナルリングインターフェースを用いたアドレステーブル構成方法
JP2007174053A (ja) 通信メッセージ変換装置及び通信メッセージ変換方法
JP3551894B2 (ja) 多重化送受信装置
CN102833061A (zh) 基于无缝冗余环网的提高时钟精度的方法及节点
KR20010050628A (ko) 동기 패킷 전송 방법, 동전송을 실현하는 제어 프로그램을기록한 컴퓨터 판독 가능한 기록 매체, 브릿지 및 패킷전송 제어 대규모 집적 회로
KR20190084315A (ko) 네트워크 장치 및 네트워크 장치의 전송 선택 방법
JP2006180510A (ja) 短いデータ電文による伝送を制御する方法
CN110875796A (zh) 物理层端口通道化的方法和装置
US20120076139A1 (en) Node, switch, and system
CA2759440A1 (en) Method and system for synchronizing a network using existing network cables
TWI756666B (zh) 在封包交換網路中藉由通訊實體之電腦手段實施之方法、及其電腦程式及電腦可讀取之非暫時性記錄媒體、以及封包交換網路之通訊實體
CN113196709B (zh) 数据传输方法及自动化通信网络
KR20170087633A (ko) 네트워크에서 우선순위에 기초한 데이터의 전송 방법
Scharbarg et al. CAN-Ethernet architectures for real-time applications
KR101400325B1 (ko) 통신 네트워크 시스템
JP2003518874A (ja) データ通信
CN109818704A (zh) 数据传输方法和设备
KR20060113834A (ko) 레지덴셜 이더넷에서 수퍼 프레임의 시작에 대한 주기적동기 방법
JP4994280B2 (ja) ルート変更型ネットワーク装置及びシステム
JP2021534672A (ja) フレームシールドユニット、シリアルバスシステムの加入局、およびシリアルバスシステムにおける通信方法
EP3477896B1 (en) Efficient scheduling telecommunication scheme using a first cyclic ethernet protocol and a second cyclic ethernet protocol
US8824333B2 (en) Method and apparatus for full duplex serial shifting mode and switch mode data transmission

Legal Events

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

Payment date: 20190502

Year of fee payment: 6