KR102012419B1 - 통신장치 및 그의 패킷 수신방법 - Google Patents

통신장치 및 그의 패킷 수신방법 Download PDF

Info

Publication number
KR102012419B1
KR102012419B1 KR1020180028948A KR20180028948A KR102012419B1 KR 102012419 B1 KR102012419 B1 KR 102012419B1 KR 1020180028948 A KR1020180028948 A KR 1020180028948A KR 20180028948 A KR20180028948 A KR 20180028948A KR 102012419 B1 KR102012419 B1 KR 102012419B1
Authority
KR
South Korea
Prior art keywords
packet
reception
drop
processing
command
Prior art date
Application number
KR1020180028948A
Other languages
English (en)
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 KR1020180028948A priority Critical patent/KR102012419B1/ko
Application granted granted Critical
Publication of KR102012419B1 publication Critical patent/KR102012419B1/ko

Links

Images

Classifications

    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1614Details of the supervisory signal using bitmaps
    • 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/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow

Landscapes

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

Abstract

본 발명은 소정의 통신선로를 통해 상호 연결되고 소정의 통신 프로토콜에 따른 패킷을 이용하여 데이터를 송수신하는 복수의 통신장치 중 어느 하나의 통신장치에 있어서, 상기 통신선로와의 통신 처리를 실시하는 통신처리부, 상기 통신처리부를 통해 전달되는 패킷을 보유하는 수신버퍼부, 소정의 단위기간 동안 상기 수신버퍼부에 보유되는 패킷에 대응한 패킷수신량을 검출하고, 상기 단위기간에 대응한 임계수신량 및 상기 패킷수신량에 기초하여 상기 수신버퍼부의 각 패킷의 처리에 대한 지령을 도출하는 수신지령부, 및 상기 지령에 기초하여 상기 수신버퍼부의 각 패킷에 대한 처리를 실시하는 연산처리부를 포함하는 통신장치를 제공한다.

Description

통신장치 및 그의 패킷 수신방법{COMMUNICATION DEVICE AND METHOD FOR RECEIVING PACKET OF THE SAME}
본 발명은 소정의 통신선로를 통해 상호 연결되고 소정의 통신 프로토콜에 따른 패킷을 이용하여 데이터를 송수신하는 복수의 통신장치 중 어느 하나의 통신장치 및 그의 패킷 수신방법에 관한 것이다.
최근 산업 자동화 설비를 구현함에 있어서, 각 공정을 수행하는 제어대상기기들을 공정의 순서에 따라 순차적으로 연결하기 위한 릴레이 및 카운터 등은 PLC(Programmable Logic Controller) 시스템으로 대체되고 있다.
PLC시스템은 사용자에 의해 설정된 공정 순서에 따라 제어대상기기들의 순차 구동을 제어하는 장비이다. 이러한 PLC 시스템을 이용하여 자동화 설비를 구현하면, 공정의 순서 변경, 추가 및 삭제가 용이해질 수 있는 장점이 있다.
일반적인 PLC시스템은 중앙제어 및 감시를 위한 적어도 하나의 마스터장치 및 마스터장치와 원격지의 설비 사이에 배치되는 둘 이상의 슬레이브장치로 이루어질 수 있다. 여기서, 마스터장치 및 둘 이상의 슬레이브장치 각각은 소정의 산업용 이더넷 통신프로토콜(Real-time Automation Protocols for Industrial Ethernet; RAPIEnet)에 따른 패킷을 이용하여 상호 간에 데이터를 송수신하는 통신장치이다.
그런데, 각 통신장치에 있어서, 소정 기간 동안 연산 처리 가능한 정도의 임계량보다 많은 패킷이 수신되는 경우, 과도한 양의 패킷을 수신처리하기 의한 과부하로 인해, 다른 연산처리까지 지연 또는 불능 될 수 있는 문제점이 있다. 그로 인해, 통신장치가 비정상적으로 운용될 수 있으므로, 통신장치에 대한 신뢰도가 향상되는 데에 한계가 있는 문제점이 있다.
본 발명은 과도한 양의 패킷이 수신되는 경우의 과부하를 방지할 수 있는 통신장치 및 그의 패킷 수신방법을 제공하기 위한 것이다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
이와 같은 과제를 해결하기 위하여, 본 발명의 일 예시는 소정의 통신선로를 통해 상호 연결되고 소정의 통신 프로토콜에 따른 패킷을 이용하여 데이터를 송수신하는 복수의 통신장치 중 어느 하나의 통신장치에 있어서, 상기 통신선로와의 통신 처리를 실시하는 통신처리부, 상기 통신처리부를 통해 전달되는 패킷을 보유하는 수신버퍼부, 소정의 단위기간 동안 상기 수신버퍼부에 보유되는 패킷에 대응한 패킷수신량을 검출하고, 상기 단위기간에 대응한 임계수신량 및 상기 패킷수신량에 기초하여 상기 수신버퍼부의 각 패킷의 처리에 대한 지령을 도출하는 수신지령부, 및 상기 지령에 기초하여 상기 수신버퍼부의 각 패킷에 대한 처리를 실시하는 연산처리부를 포함하는 통신장치를 제공한다.
상기 수신지령부는 상기 패킷수신량이 상기 임계수신량보다 크면, 상기 임계수신량 및 상기 패킷수신량에 기초하여 수신초과율을 검출하고, 상기 수신초과율의 서로 다른 범위에 대응한 둘 이상의 패킷드랍마스크를 포함하는 마스크테이블에 기초하여 상기 검출된 수신초과율에 대응하는 패킷드랍마스크를 선택하며, 상기 선택된 패킷드랍마스크에 기초하여 상기 지령을 도출한다.
상기 각 패킷드랍마스크는 복수의 비트정보로 이루어진 비트맵데이터를 포함하고, 상기 각 비트정보는 상기 패킷의 수신처리에 대응하는 수신지령과 상기 패킷의 드랍처리에 대응하는 드랍지령 중 어느 하나로 표기된다.
상기 수신처리부는 상기 선택된 패킷드랍마스크에 포함된 복수의 비트정보 중 소정의 비트순번에 대응하는 비트정보를 선택하고, 상기 연산처리부에 상기 선택된 비트정보를 전달한다.
상기 연산처리부는 상기 수신버퍼부의 패킷들 중 소정의 처리순번에 대응하는 처리대상패킷을 선택하고, 상기 비트정보가 상기 수신지령이면 상기 처리대상패킷의 수신처리 또는 상기 수신처리된 처리대상패킷에 대응하는 연산처리를 실시하고, 상기 비트정보가 상기 드랍지령이면 상기 처리대상패킷의 드랍처리를 실시한다.
본 발명의 다른 일 예시는 소정의 통신선로를 통해 상호 연결되고 소정의 통신 프로토콜에 따른 패킷을 이용하여 데이터를 송수신하는 복수의 통신장치 중 어느 하나의 통신장치가 상기 패킷을 수신하는 방법에 있어서, 소정의 단위기간 동안 상기 통신선로를 통해 전달되는 패킷에 대응하는 패킷수신량을 검출하는 단계, 상기 패킷수신량이 상기 단위기간에 대응한 임계수신량보다 크면, 상기 임계수신량 및 상기 패킷수신량에 기초하여 수신초과율을 도출하는 단계, 상기 수신초과율의 서로 다른 범위에 대응한 둘 이상의 패킷드랍마스크를 포함하는 마스크테이블에 기초하여 상기 도출된 수신초과율에 대응하는 패킷드랍마스크를 선택하는 단계, 및 상기 선택된 패킷드랍마스크에 기초하여 각 패킷의 수신 처리를 실시하는 단계를 포함하는 패킷 수신방법을 제공한다.
상기 선택된 패킷드랍마스크에 기초하여 각 패킷의 수신 처리를 실시하는 단계는, 상기 선택된 패킷드랍마스크에 포함되는 복수의 비트정보 중 소정의 비트순번에 대응하는 비트정보를 선택하는 단계, 상기 통신선로를 통해 전달된 패킷들 중 소정의 패킷순번에 대응하는 처리대상패킷을 선택하는 단계, 상기 선택된 비트정보가 상기 수신지령이면 상기 처리대상패킷에 대응하는 수신처리 또는 연산처리를 실시하는 단계, 및 상기 선택된 비트정보가 상기 드랍지령이면 상기 처리대상패킷의 드랍처리를 실시하는 단계를 포함한다.
상기 수신초과율의 각 범위에 대응한 상기 각 패킷드랍마스크의 상기 복수의 비트정보 중 상기 드랍지령로 표기된 비트정보의 비율은 상기 수신초과율의 각 범위 중 최소값에 대응한다.
상기 수신초과율의 각 범위를 나누는 분할폭은 소정의 오차계수에 대응한다.
전술한 바와 같이, 통신장치는 소정의 단위기간 동안 통신선로를 통해 전달되는 패킷에 대응한 패킷수신량과 단위기간에 대응한 임계수신량에 기초하여 각 패킷의 처리에 대한 지령을 도출하는 수신지령부, 및 지령에 기초하여 각 패킷에 대한 처리를 실시하는 연산처리부를 포함한다.
이와 같이, 패킷수신량과 임계수신량에 기초하여 각 패킷에 대한 수신처리 또는 드랍처리를 실시한다. 이로써, 임계수신량에 대한 소정의 오차범위 이내의 패킷에 대한 수신처리만을 실시할 수 있다.
즉, 통신선로를 통해 과도한 양의 패킷이 전달되더라도, 전달된 패킷들 중 일부를 드랍처리함으로써, 과도한 양의 패킷을 수신처리하기 위한 과부하가 미연에 방지될 수 있다. 이에, 통신장치의 비정상적인 운용이 방지될 수 있고, 그로 인해, 통신장치에 대한 신뢰도가 향상될 수 있다. 특히, 임베디드 환경과 같이 하드웨어 리소스가 적은 경우에도 과도한 양의 패킷을 수신함에 따른 하드웨어의 과부하 및 프로세스의 비정상적인 동작을 방지할 수 있다.
또한, 수신지령부는 패킷수신량과 임계수신량에 기초하여 수신초과율을 검출하고, 수신초과율의 서로 다른 범위에 대응한 둘 이상의 패킷드랍마스크를 포함하는 마스크테이블에 기초하여 검출된 수신초과율에 대응하는 패킷드랍마스크를 선택한다. 패킷드랍마스크는 패킷의 수신처리에 대응하는 수신지령과 패킷의 드랍처리에 대응하는 드랍지령 중 어느 하나로 각각 표기되는 복수의 비트정보를 포함한다.
이와 같이, 수신지령부는 수신초과율의 각 범위에 대응하고 수신지령과 드랍지령의 조합으로 표기되는 비트맵데이터로 이루어진 패킷드랍마스크를 이용하여, 각 패킷의 처리에 대응한 수신지령 또는 드랍지령을 도출한다. 즉, 수신초과율의 각 범위에 대응한 패킷드랍마스크에 기초하여 전달된 패킷들 중 일부를 드랍처리한다. 이에 따라, 패킷의 드랍처리가 무작위로 실시되는 것이 방지될 수 있으므로, 통신장치의 송수신 데이터에 대한 신뢰도가 크게 저하되는 것이 방지될 수 있다.
도 1은 본 발명의 일 실시예에 따른 복수의 통신장치를 포함하는 시스템의 일 예시를 나타낸 도면이다.
도 2는 도 1에 도시된 복수의 통신장치 중 어느 하나의 통신장치를 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 통신장치의 패킷 수신방법을 나타낸 도면이다.
도 4는 통신처리부를 통해 전달된 패킷들이 수신버퍼부에 보유되는 과정을 나타낸 도면이다.
도 5 및 도 6은 수신초과율이 40%~49%의 범위인 경우에 대응한 패킷드랍마스크에 기초하여, 수신버퍼부의 패킷들 중 40%가 드랍처리되는 일 예시를 나타낸 도면이다.
도 7은 수신초과율이 70%~79%의 범위인 경우에 대응한 패킷드랍마스크에 기초하여, 수신버퍼부의 패킷들 중 70%가 드랍처리되는 일 예시를 나타낸 도면이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용된다.
먼저, 도 1 및 도 2를 참조하여, 본 발명의 일 실시예에 따른 시스템 및 그에 구비되는 통신장치에 대해 설명한다.
도 1은 본 발명의 일 실시예에 따른 복수의 통신장치를 포함하는 시스템의 일 예시를 나타낸 도면이다. 도 2는 도 1에 도시된 복수의 통신장치 중 어느 하나의 통신장치를 나타낸 도면이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 시스템(10)은 소정의 통신선로(11)를 통해 상호 연결되는 복수의 통신장치(CD_1, CD_2, CD_3, CD_k, CD_k+1, CD_n-1, CD_n, CD; Communication Device)(k는 3 초과, n-1 미만의 자연수, n은 k+2초과의 자연수)를 포함한다.
여기서, 복수의 통신장치(CD_1, CD_2, CD_3, CD_k, CD_k+1, CD_n-1, CD_n)는 통신선로(11)에 의해 데이지체인방식으로 상호 직렬 연결될 수 있다. 일 예로, 통신선로(11)에 의한 네트워크는 링 형태 또는 라인 형태 중 어느 하나일 수 있다.
도 1에 상세히 도시되지 않았으나, 복수의 통신장치(CD_1, CD_2, CD_3, CD_k, CD_k+1, CD_n-1, CD_n) 중 어느 하나는 통신선로(11)에 의한 네트워크를 통한 데이터 송수신을 제어하는 마스터장치(미도시)이고, 다른 나머지는 마스터장치의 제어에 기초하여 데이터 송수신을 실시하는 슬레이브장치(미도시)일 수 있다.
예시적으로, 시스템(10)이 자동화 설비를 위한 PLC 시스템인 경우, 마스터장치(미도시)은 제어대상기기들의 구동 제어 및 감시를 위한 연산을 실행하는 메인모듈을 포함할 수 있다. 그리고, 각 슬레이브장치는 제어대상기기이거나, 또는 적어도 하나의 제어대상기기와 메인모듈 사이에 배치되는 증설모듈을 포함할 수 있다.
복수의 통신장치(CD_1, CD_2, CD_3, CD_k, CD_k+1, CD_n-1, CD_n)는 데이터 송수신을 위한 소정의 통신 프로토콜을 공유한다. 예시적으로, 통신 프로토콜은 RAPIEnet 네트워크에 대응하는 것일 수 있다. 일 예로, 소정의 통신 프로토콜은 IEC 61158 type21 및 IEC 62439-7중 적어도 하나일 수 있다.
각 통신장치(CD_1, CD_2, CD_3, CD_k, CD_k+1, CD_n-1, CD_n)는 통신선로(11)에 연결되는 제 1 및 제 2 포트(P1, P2)를 포함한다.
도 2에 도시된 바와 같이, 각 통신장치(CD)는 제 1 및 제 2 포트(P1, P2)에 연결되는 통신처리부(110), 통신처리부(110)를 통해 전달되는 패킷을 보유하는 수신버퍼부(120), 수신버퍼부(120)에 보유된 각 패킷의 수신 처리에 대한 지령을 도출하는 수신지령부(130) 및 지령에 기초하여 수신버퍼부(120)의 각 패킷에 대한 처리를 실시하는 연산처리부(140)를 포함한다. 그리고, 각 통신장치(CD)는 연산처리부(140)에 의한 데이터를 보유하는 메모리부(150)를 더 포함할 수 있다.
통신처리부(110)는 통신선로(도 1의 11)와의 통신 처리를 실시한다.
구체적으로, 통신처리부(110)는 통신선로(11)에 연결된 제 1 및 제 2 포트(P1, P2) 중 어느 하나를 통해 수신대상 데이터를 포함한 패킷을 수신하고, 다른 나머지 하나를 통해 송신대상 데이터를 포함한 패킷을 송신한다.
통신처리부(110)는 통신선로(11)를 통해 전달된 패킷 중 통신장치(CD)를 수신지로 지정한 패킷을 선별할 수 있다. 그리고, 선별한 패킷을 수신버퍼부(120)로 전달한다.
수신버퍼부(120)는 통신처리부(110)를 통해 전달되는 패킷을 보유한다. 예시적으로, 수신버퍼부(120)는 패킷들에 대응한 레지스터들을 포함할 수 있다. 그리고, 수신버퍼부(120)는 패킷을 보유하는 레지스터들의 종단 주소값에 대응한 패킷량 레지스터를 더 포함할 수 있다.
수신지령부(130)는 소정의 단위기간 동안 수신버퍼부(120)에 보유되는 패킷에 대응한 패킷수신량과 단위기간에 대응한 임계수신량에 기초하여 수신버퍼부(120)에 보유된 각 패킷의 처리에 대한 지령을 도출한다. 여기서, 임계수신량은 통신장치(CD)의 연산처리부(140)가 단위기간 동안 연산 처리 가능한 정도의 패킷량에 대응한다. 예시적으로, 임계수신량은 연산처리부(140)의 연산속도에 기초하여 시스템 관리자의 임의로 설정될 수 있다.
구체적으로, 수신지령부(130)는 수신버퍼부(120)의 패킷량 레지스터에 기초하여 패킷수신량을 검출한다.
패킷수신량이 임계수신량보다 크면, 수신지령부(130)는 임계수신량 및 패킷수신량에 기초하여 수신초과율을 검출한다. 여기서, 수신지령부(130)는 임계수신량과 패킷수신량 간의 차이에 대응하는 수신초과량을 도출하고, 수신초과량과 임계수신량 간의 비율에 대응하는 수신초과율을 검출한다.
수신지령부(130)는 수신초과율의 서로 다른 범위에 대응한 둘 이상의 패킷드랍마스크를 포함하는 마스크테이블에 기초하여 검출된 수신초과율에 대응하는 패킷드랍마스크를 선택한다. 여기서, 각 패킷드랍마스크는 복수의 비트정보를 포함하는 비트맵데이터로 이루어질 수 있다. 그리고, 각 비트정보는 패킷의 수신처리에 대응하는 수신지령과 패킷의 드랍처리에 대응하는 드랍지령 중 어느 하나로 표기될 수 있다. 일 예로, 수신지령의 비트정보는 1로 표기될 수 있고, 드랍지령의 비트정보는 0으로 표기될 수 있다. 다만, 이는 단지 예시일 뿐이며, 시스템 관리자에 의해 변경 가능하다. 패킷드랍마스크에 대해서는 이하의 표 1 및 표 2에 나타낸 예시를 이용하여 더욱 상세히 설명하기로 한다.
수신지령부(130)는 선택된 패킷드랍마스크에 포함된 복수의 비트정보 중 소정의 비트순번에 대응하는 비트정보를 선택하고, 연산처리부(140)에 선택된 비트정보를 전달한다.
연산처리부(140)는 수신버퍼부(120)에 보유된 패킷들 중 소정의 패킷순번에 대응하는 처리대상패킷을 선택하고, 수신지령부(130)로부터 전달된 비트정보의 지령에 기초하여 처리대상패킷에 대한 처리를 실시한다.
즉, 수신지령부(130)로부터 전달된 비트정보가 수신지령이면, 연산처리부(140)는 처리대상패킷의 수신처리 또는 수신처리된 처리대상패킷에 대응한 연산처리를 실시한다.
또는, 수신지령부(130)로부터 전달된 비트정보가 드랍지령이면, 연산처리부(140)는 처리대상패킷의 드랍처리를 실시한다. 즉, 연산처리부(140)는 드랍지령에 기초하여 처리대상패킷에 대한 수신처리 및 연산처리를 포기한다.
메모리부(150)는 연산처리부(140)에 의해 수신처리된 패킷의 데이터 또는 연산처리된 패킷의 데이터를 보유할 수 있다.
다음, 도 3 내지 도 7을 참조하여, 본 발명의 일 실시예에 따른 통신장치(CD)의 패킷 수신방법에 대해 설명한다.
도 3은 본 발명의 일 실시예에 따른 통신장치의 패킷 수신방법을 나타낸 도면이다. 도 4는 통신처리부를 통해 전달된 패킷들이 수신버퍼부에 보유되는 과정을 나타낸 도면이다. 도 5 및 도 6은 수신초과율이 40%~49%의 범위인 경우에 대응한 패킷드랍마스크에 기초하여, 수신버퍼부의 패킷들 중 40%가 드랍처리되는 일 예시를 나타낸 도면이다. 도 7은 수신초과율이 70%~79%의 범위인 경우에 대응한 패킷드랍마스크에 기초하여, 수신버퍼부의 패킷들 중 70%가 드랍처리되는 일 예시를 나타낸 도면이다.
도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 패킷 수신방법은 소정의 단위기간 동안 통신선로를 통해 수신버퍼부로 전달되는 패킷에 대응한 패킷수신량을 검출하는 단계 (S11), 패킷수신량이 임계수신량보다 크면 (S12), 패킷수신량 및 임계수신량에 기초하여 수신초과율을 도출하는 단계 (S13), 수신초과율의 서로 다른 범위에 대응한 둘 이상의 패킷드랍마스크를 포함하는 마스크테이블에 기초하여 도출된 수신초과율에 대응하는 패킷드랍마스크를 선택하는 단계(S14), 및 선택된 패킷드랍마스크에 기초하여 각 패킷에 대한 처리를 실시하는 단계 (S20)를 포함한다.
마스크테이블에 기초하여 도출된 수신초과율에 대응하는 패킷드랍마스크를 선택하는 단계(S14)에서, 패킷드랍마스크는 복수의 비트정보를 포함하는 비트맵데이터로 이루어진다. 각 비트정보는 패킷의 수신처리에 대응하는 수신지령과 패킷의 드랍처리에 대응하는 드랍지령 중 어느 하나로 표기될 수 있다. 일 예로, 수신지령의 비트정보는 1로 표기될 수 있고, 드랍지령의 비트정보는 0으로 표기될 수 있다.
선택된 패킷드랍마스크에 기초하여 각 패킷에 대한 처리를 실시하는 단계 (S20)는 선택된 패킷드랍마스크에 포함되는 복수의 비트정보 중 소정의 비트순번(BN; Bit Number)에 대응하는 비트정보를 선택하는 단계(S22), 통신선로(11)를 통해 전달되고 수신버퍼부(120)에 보유된 패킷들 중 소정의 패킷순번(PN; Packet Number)에 대응하는 처리대상패킷을 선택하는 단계(S23), 비트정보가 수신지령이면 (S24), 처리대상패킷에 대한 수신처리 또는 연산처리를 실시하는 단계 (S25) 및 비트정보가 드랍지령이면 (S24), 처리대상패킷에 대한 드랍처리를 실시하는 단계 (S26)를 포함한다.
그리고, 선택된 패킷드랍마스크에 기초하여 각 패킷에 대한 처리를 실시하는 단계 (S20)는 비트순번(BN)에 대응한 비트정보를 선택하는 단계 (S22) 이전에 비트순번(BN)을 초기화하는 단계 (S21)를 더 포함할 수 있다.
또한, 선택된 패킷드랍마스크에 기초하여 각 패킷에 대한 처리를 실시하는 단계 (S20)는 처리대상패킷에 대한 수신처리를 실시하는 단계 (S25) 및 처리대상패킷에 대한 드랍처리를 실시하는 단계 (S26) 이후에, 패킷순번(PN)을 카운팅하는 단계 (S27)와, 카운팅된 비트순번(BN)이 최종비트순번(BN_max)이 아니면 (S28), 비트순번(BN)을 카운팅하는 단계 (S29)와, 카운팅된 비트순번(BN)이 최종비트순번(BN_max)이면 (S28), 비트순번(BN)을 초기화하는 단계 (S21)를 더 포함할 수 있다.
더불어, 패킷 수신방법은 패킷수신량이 임계수신량 이하이면 (S12) 각 패킷에 대한 수신 처리를 실시하는 단계(S23)를 더 포함한다.
도 4에 도시된 바와 같이, 통신선로(11) 및 통신처리부(110)를 통해 전달된 패킷들(Packet)은 수신버퍼부(120)의 레지스터(R#i, R#i+1, R#i+2, R#i+3, R#i+4, R#i+5, R#i+6, R#i+7, R#i+8, R#i+9, R#i+10, R#i+11, R#i+12, R#i+13, R#i+14; 이하 "R (Register)"로 통칭함) 중 일부(R#i, R#i+1, R#i+2, R#i+3, R#i+4, R#i+5, R#i+6, R#i+7, R#i+8, R#i+9, R#i+10, R#i+11)에 보유된다. 이때, 각 패킷(Packet)은 전달 순서에 따라 순차적으로 수신버퍼부(120)의 레지스터(R)에 입력될 수 있다.
수신버퍼부(120)의 패킷량 레지스터(R_AP; Register storing Amount of Packet)는 패킷들을 보유하는 일부 레지스터(R#i, R#i+1, R#i+2, R#i+3, R#i+4, R#i+5, R#i+6, R#i+7, R#i+8, R#i+9, R#i+10, R#i+11) 중 종단 주소값(TR; Terminal Register)을 보유한다. 도 4의 예시에 따르면, 종단 주소값(TR)은 R#i+11이다.
패킷량 레지스터(R_AP)는 단위기간 별로 그에 보유된 종단 주소값(TR)을 갱신할 수 있다.
수신처리부(130)는 수신버퍼부(120)의 패킷량 레지스터(R_AP)에 보유된 종단 주소값(TR)에 기초하여, 단위기간에 대응한 패킷수신량을 검출한다. (S11) 예시적으로, 단위기간은 1초(sec)일 수 있다.
여기서, 수신처리부(130)는 패킷량 레지스터(R_AP)로부터 이전에 호출한 종단 주소값(TR)과 이번에 호출한 종단 주소값(TR) 간의 차이에 기초하여, 패킷수신량을 검출할 수 있다.
검출된 패킷수신량이 기 설정된 임계수신량보다 크면 (S12), 수신처리부(130)는 패킷수신량과 임계수신량에 기초하여 수신초과율을 도출한다. (S13)
일 예로, 수신초과율은 아래의 수학식 1과 같이 도출될 수 있다.
Figure 112018024901919-pat00001
이어서, 수신처리부(130)는 마스크테이블에 기초하여 도출된 수신초과율에 대응하는 패킷드랍마스크를 선택한다. (S14)
마스크테이블은 수신초과율의 서로 다른 범위에 대응한 둘 이상의 패킷드랍마스크를 포함한다. 여기서, 패킷드랍마스크는 복수의 비트정보로 이루어진 비트맵데이터를 포함하며, 패킷드랍마스크의 각 비트정보는 수신지령 및 드랍지령 중 어느 하나로 표기된다. 일 예로, 수신지령은 1로 표기되고, 드랍지령은 0으로 표기될 수 있다.
수신초과율의 각 범위에 대응한 각 패킷드랍마스크의 복수의 비트정보 중 드랍지령으로 표기된 비트정보의 비율은 수신초과율의 각 범위 중 최소값에 대응한다. 이에 따라, 수신초과율의 각 범위를 나누는 분할폭은 소정의 오차계수에 대응한다.
아래의 표 1은 오차계수가 10%인 경우의 마스크테이블에 대한 일 예시이다.
수신초과율의 범위 패킷드랍마스크
0%~9% 11 1111 1111
10%~19% 01 1111 1111
20%~29% 01 1110 1111
30%~39% 01 1011 0111
40%~49% 01 0110 1011
50%~59% 01 0101 0101
60%~69% 01 0101 0100
70%~79% 01 0100 0100
80%~89% 00 0100 0100
90%~100% 00 0010 0000
표 1과 같이, 오차계수가 10%인 경우, 수신초과율(0~100%)의 각 범위는 10%의 분할폭으로 나누어지므로, 마스크테이블은 10개의 패킷드랍마스크를 포함한다. 이 경우, 10개의 패킷드랍마스크에 있어서, 각 패킷드랍마스크에 포함된 복수의 비트정보 중 드랍지령으로 표기된 비트정보의 비율 또한 오차계수(즉, 10% = 1/10) 단위로 가변한다. 이를 위해, 각 패킷드랍마스크의 비트맵데이터는 10개의 비트정보로 이루어질 수 있다.
아래의 표 2는 오차계수가 5%인 경우의 마스크테이블에 대한 일 예시이다.
수신초과율의 범위 패킷드랍마스크
0%~4% 1111 1111 1111 1111 1111
5%~9% 0111 1111 1111 1111 1111
10%~14% 0111 1111 1101 1111 1111
15%~19% 0111 1110 1111 1011 1111
20%~24% 0111 1011 1101 1110 1111
25%~29% 0111 0111 0111 0111 0111
30%~34% 0110 1101 1101 1011 0111
35%~39% 0110 1101 1101 1011 0110
40%~44% 0101 1010 1101 0110 1011
45%~49% 0101 1010 1101 0110 0101
50%~54% 0101 0101 0101 0101 0101
55%~59% 0101 0101 0101 0101 0100
60%~64% 0101 0101 0001 0101 0100
65%~69% 0101 0101 0001 0100 0100
70%~74% 0101 0001 0001 0100 0100
75%~79% 0101 0001 0000 0100 0100
80%~84% 0001 0001 0000 0100 0100
85%~89% 0001 0000 0100 0000 1000
90%~94% 0000 1000 0000 0010 0000
95%~100% 0000 0000 0010 0000 0000
표 2와 같이, 오차계수가 5%인 경우, 수신초과율(0~100%)의 각 범위는 5%의 분할폭으로 나누어지므로, 마스크테이블은 20개의 패킷드랍마스크를 포함한다. 이 경우, 20개의 패킷드랍마스크에 있어서, 각 패킷드랍마스크에 포함된 복수의 비트정보 중 드랍지령으로 표기된 비트정보의 비율 또한 오차계수(즉, 5% = 1/20) 단위로 가변한다. 이를 위해, 각 패킷드랍마스크의 비트맵데이터는 20개의 비트정보로 이루어질 수 있다.
달리 설명하면, 아래의 수학식 2와 같이, 패킷드랍마스크의 개수 및 비트맵데이터에 포함된 비트정보의 개수는 상호 동일하며, 오차계수의 역수로 산출된다.
Figure 112018024901919-pat00002
도 5 및 도 6에 도시된 바와 같이, 수신초과율이 40~49%의 범위에 해당되는 경우, 수신처리부(130)는 표 1의 마스크테이블에서 40~49%의 수신초과율에 대응한 패킷드랍마스크(DM; 01 0110 1011)(DM; packet Drop Mask)를 선택할 수 있다. (S14)
그리고, 수신처리부(130)는 선택된 패킷드랍마스크(DM)에 포함된 복수의 비트정보(BI #0, BI #1, BI #2, BI #3, BI #4, BI #5, BI #6, BI #7, BI #8, BI #9)(BI; Bit Information) 중 소정의 비트순번(BN)에 대응하는 비트정보(BI)를 선택한다. (S22) 여기서, 비트순번(BN)은 초기화된 상태(S21) 및 이전 비트순번을 기준으로 카운팅된 상태(S29) 중 어느 하나일 수 있다.
수신처리부(130)는 선택된 비트정보(BN; BI #0)를 연산처리부(140)로 전달한다.
연산처리부(140)는 수신버퍼부(120)의 일부 레지스터(R#i, R#i+1, R#i+2, R#i+3, R#i+4, R#i+5, R#i+6, R#i+7, R#i+8, R#i+9) 중 소정의 패킷순번(PN)에 대응한 레지스터(R#i)의 패킷(Packet)을 처리대상패킷으로 선택한다. (S23)
연산처리부(140)는 선택된 비트정보(BN; BI #0)에 기초하여 처리대상패킷(PN; R#i)에 대한 처리를 실시한다. (S24, S25, S26)
즉, 도 5의 도시와 같이, 선택된 비트정보(BN; BI #0)가 드랍지령(0)이면 (S24), 연산처리부(140)는 드랍지령(0)의 비트정보에 기초하여 처리대상패킷(PN; R#i)에 대한 드랍처리를 실시한다. (S26)
반면, 도 6의 도시와 같이, 선택된 비트정보(BN; BI #1)가 수신지령(1)이면 (S24), 연산처리부(140)는 수신지령(1)의 비트정보에 기초하여 처리대상패킷(PN; R#i+1)에 대한 수신처리 또는 연산처리를 실시한다. (S25)
이와 같은 과정으로, 40~49%의 수신초과율에 대응한 패킷드랍마스크(DM; 01 0110 1011)에 따라, 연산처리부(140)는 수신버퍼부(120)에 보유된 10개의 패킷(R#i, R#i+1, R#i+2, R#i+3, R#i+4, R#i+5, R#i+6, R#i+7, R#i+8, R#i+9) 중 4개의 패킷(R#i, R#i+2, R#i+5, R#i+7)에 대해 드랍처리를 실시하고, 나머지 6개의 패킷(R#i+1, R#i+3, R#i+4, R#i+6, R#i+8, R#i+9)할 수 있다.
또는, 도 7에 도시된 바와 같이, 수신초과율이 70~79%의 범위에 해당되는 경우, 수신처리부(130)는 표 1의 마스크테이블에서 70~79%의 수신초과율에 대응한 패킷드랍마스크(DM; 01 0100 0100)(DM; packet Drop Mask)를 선택할 수 있다.
이에 따라, 연산처리부(140)는 수신버퍼부(120)에 보유된 10개의 패킷(R#i, R#i+1, R#i+2, R#i+3, R#i+4, R#i+5, R#i+6, R#i+7, R#i+8, R#i+9) 중 7개의 패킷(R#i, R#i+2, R#i+4, R#i+5, R#i+6, R#i+8, R#i+9)에 대해 드랍처리를 실시하고, 나머지 3개의 패킷(R#i+1, R#i+3, R#i+7)에 대해 수신처리를 실시할 수 있다.
이상과 같이, 본 발명의 일 실시예에 따르면, 어느 하나의 통신장치(CD)에 통신선로를 통해 과도한 양의 패킷이 전달되더라도, 전달된 패킷들 중 임계수신량보다 초과되는 일부를 드랍처리할 수 있다. 이로써, 과도한 양의 패킷을 수신처리하기 위한 과부하가 방지될 수 있고, 그로 인해 통신장치의 비정상적인 운용이 방지될 수 있다. 이에 따라, 통신장치에 대한 신뢰도가 향상될 수 있다.
더불어, 기 설정된 마스크테이블에 기초하여 드랍 처리할 패킷을 선택함에 따라, 통신장치의 송수신 데이터에 대한 신뢰도가 크게 저하되는 것이 방지될 수 있다.
전술한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
10: 시스템 11: 통신선로
CD: 통신장치
P1, P2: 제 1 및 제 2 포트
BN: 비트순번 PN: 패킷순번
R: 레지스터 120: 수신버퍼부
R_AP: 패킷량 레지스터 TR: 종단 주소값
BI: 비트정보 DM: 패킷드랍마스크

Claims (10)

  1. 소정의 통신선로를 통해 상호 연결되고 소정의 통신 프로토콜에 따른 패킷을 이용하여 데이터를 송수신하는 복수의 통신장치 중 어느 하나의 통신장치에 있어서,
    상기 통신선로와의 통신 처리를 실시하는 통신처리부;
    상기 통신처리부를 통해 전달되는 패킷을 보유하는 수신버퍼부;
    소정의 단위기간 동안 상기 수신버퍼부에 보유되는 패킷에 대응한 패킷수신량을 검출하고, 상기 패킷수신량이 상기 단위기간에 대응한 임계수신량보다 크면 상기 임계수신량 및 상기 패킷수신량에 기초하여 수신초과율을 검출하며, 상기 수신초과율의 서로 다른 범위에 대응한 둘 이상의 패킷드랍마스크를 포함하는 마스크테이블에 기초하여 상기 검출된 수신초과율에 대응하는 패킷드랍마스크를 선택하고, 상기 선택된 패킷드랍마스크에 기초하여 상기 수신버퍼부의 각 패킷의 처리에 대한 지령을 도출하는 수신지령부; 및
    상기 지령에 기초하여 상기 수신버퍼부의 각 패킷에 대한 처리를 실시하는 연산처리부를 포함하고,
    상기 각 패킷드랍마스크는 복수의 비트정보로 이루어진 비트맵데이터를 포함하고,
    상기 각 비트정보는 상기 패킷의 수신처리에 대응하는 수신지령과 상기 패킷의 드랍처리에 대응하는 드랍지령 중 어느 하나로 표기되는 통신장치.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 수신지령부는
    상기 선택된 패킷드랍마스크에 포함된 복수의 비트정보 중 소정의 비트순번에 대응하는 비트정보를 선택하고,
    상기 연산처리부에 상기 선택된 비트정보를 전달하는 통신장치.
  5. 제 4 항에 있어서,
    상기 연산처리부는
    상기 수신버퍼부의 패킷들 중 소정의 처리순번에 대응하는 처리대상패킷을 선택하고,
    상기 비트정보가 상기 수신지령이면 상기 처리대상패킷의 수신처리 또는 상기 수신처리된 처리대상패킷에 대응하는 연산처리를 실시하고,
    상기 비트정보가 상기 드랍지령이면 상기 처리대상패킷의 드랍처리를 실시하는 통신장치.
  6. 소정의 통신선로를 통해 상호 연결되고 소정의 통신 프로토콜에 따른 패킷을 이용하여 데이터를 송수신하는 복수의 통신장치 중 어느 하나의 통신장치가 상기 패킷을 수신하는 방법에 있어서,
    소정의 단위기간 동안 상기 통신선로를 통해 전달되는 패킷에 대응하는 패킷수신량을 검출하는 단계;
    상기 패킷수신량이 상기 단위기간에 대응한 임계수신량보다 크면, 상기 임계수신량 및 상기 패킷수신량에 기초하여 수신초과율을 도출하는 단계;
    상기 수신초과율의 서로 다른 범위에 대응한 둘 이상의 패킷드랍마스크를 포함하는 마스크테이블에 기초하여 상기 도출된 수신초과율에 대응하는 패킷드랍마스크를 선택하는 단계; 및
    상기 선택된 패킷드랍마스크에 기초하여 각 패킷의 수신 처리를 실시하는 단계를 포함하고,
    상기 각 패킷드랍마스크는 복수의 비트정보로 이루어진 비트맵데이터를 포함하고,
    상기 각 비트정보는 상기 패킷의 수신처리에 대응하는 수신지령과 상기 패킷의 드랍처리에 대응하는 드랍지령 중 어느 하나로 표기되는 패킷 수신방법.
  7. 삭제
  8. 제 6 항에 있어서,
    상기 선택된 패킷드랍마스크에 기초하여 각 패킷의 수신 처리를 실시하는 단계는,
    상기 선택된 패킷드랍마스크에 포함되는 복수의 비트정보 중 소정의 비트순번에 대응하는 비트정보를 선택하는 단계;
    상기 통신선로를 통해 전달된 패킷들 중 소정의 패킷순번에 대응하는 처리대상패킷을 선택하는 단계;
    상기 선택된 비트정보가 상기 수신지령이면 상기 처리대상패킷에 대응하는 수신처리 또는 연산처리를 실시하는 단계; 및
    상기 선택된 비트정보가 상기 드랍지령이면 상기 처리대상패킷의 드랍처리를 실시하는 단계를 포함하는 패킷 수신방법.
  9. 제 6 항에 있어서,
    상기 수신초과율의 각 범위에 대응한 상기 각 패킷드랍마스크의 상기 복수의 비트정보 중 상기 드랍지령로 표기된 비트정보의 비율은 상기 수신초과율의 각 범위 중 최소값에 대응하는 패킷 수신방법.
  10. 제 6 항에 있어서,
    상기 수신초과율의 각 범위를 나누는 분할폭은 소정의 오차계수에 대응하는 패킷 수신방법.
KR1020180028948A 2018-03-13 2018-03-13 통신장치 및 그의 패킷 수신방법 KR102012419B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180028948A KR102012419B1 (ko) 2018-03-13 2018-03-13 통신장치 및 그의 패킷 수신방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180028948A KR102012419B1 (ko) 2018-03-13 2018-03-13 통신장치 및 그의 패킷 수신방법

Publications (1)

Publication Number Publication Date
KR102012419B1 true KR102012419B1 (ko) 2019-08-20

Family

ID=67807612

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180028948A KR102012419B1 (ko) 2018-03-13 2018-03-13 통신장치 및 그의 패킷 수신방법

Country Status (1)

Country Link
KR (1) KR102012419B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050035925A (ko) * 2003-10-13 2005-04-20 삼성전자주식회사 이동 애드 혹 네트워크에서의 브로드캐스트 데이터 처리방법
KR20070061143A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 패킷 교환 시스템에서 라인카드의 입출력 패킷 제어 장치및 그 방법
KR20130116407A (ko) * 2012-03-12 2013-10-24 엘에스산전 주식회사 이중화 통신선로의 중복 데이타 처리장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050035925A (ko) * 2003-10-13 2005-04-20 삼성전자주식회사 이동 애드 혹 네트워크에서의 브로드캐스트 데이터 처리방법
KR20070061143A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 패킷 교환 시스템에서 라인카드의 입출력 패킷 제어 장치및 그 방법
KR20130116407A (ko) * 2012-03-12 2013-10-24 엘에스산전 주식회사 이중화 통신선로의 중복 데이타 처리장치 및 방법

Similar Documents

Publication Publication Date Title
US8913618B2 (en) Reordering packets
US3680053A (en) Data transmission systems
EP3076580B1 (en) Method and apparatus for scrambling a high speed data transmission
US5777987A (en) Method and apparatus for using multiple FIFOs to improve flow control and routing in a communications receiver
US6240140B1 (en) Channel aggregation having low latency and overhead
US10193705B2 (en) Method, communication network, and control unit for the cyclical transmission of data
CN102484606B (zh) 通信系统及通信装置状态判定方法
JP2008545356A5 (ko)
WO2015163092A1 (ja) 監視制御システム、監視制御装置、およびコントローラ装置
EP3026556A1 (en) Event generation management for an industrial controller
US20130003754A1 (en) Automation System
CN104065569A (zh) 信息处理系统和设备及其控制方法以及数据传输设备
US7428250B2 (en) System and associated method for receiving data telegrams in communication systems having redundant network paths
KR102012419B1 (ko) 통신장치 및 그의 패킷 수신방법
CN110677358A (zh) 一种报文处理方法及一种网络设备
EP1430653B1 (en) Serial communication device with dynamic filter allocation
KR101627081B1 (ko) 프로그래머블 로직 컨트롤러
CN100479450C (zh) 用于减少对存储器的访问的方法和系统
CN115941451B (zh) 工业控制网络中冗余切换的方法、设备和存储介质
JP6334272B2 (ja) 分散型制御装置
US10938502B2 (en) Method and system for accurate IPG compensation of USXGMII multi-channel
CN110737627B (zh) 一种数据处理方法、装置及存储介质
CN107359961A (zh) 从装置控制方法
CN114531943A (zh) 数据传输方法、分段报文和自动化通信网络
JP2001008366A (ja) 監視制御システム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant