KR102208856B1 - Apparatus for controlling communication and method thereof - Google Patents

Apparatus for controlling communication and method thereof Download PDF

Info

Publication number
KR102208856B1
KR102208856B1 KR1020190137438A KR20190137438A KR102208856B1 KR 102208856 B1 KR102208856 B1 KR 102208856B1 KR 1020190137438 A KR1020190137438 A KR 1020190137438A KR 20190137438 A KR20190137438 A KR 20190137438A KR 102208856 B1 KR102208856 B1 KR 102208856B1
Authority
KR
South Korea
Prior art keywords
size
congestion window
threshold value
start threshold
communication control
Prior art date
Application number
KR1020190137438A
Other languages
Korean (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 KR1020190137438A priority Critical patent/KR102208856B1/en
Application granted granted Critical
Publication of KR102208856B1 publication Critical patent/KR102208856B1/en

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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]

Abstract

The present invention relates to a communication control device and a communication control method. The communication control device includes: a communication unit which transmits data and receives a retransmission response signal depending on whether there is a transmission error in the transmitted data; and a processor which adjusts the size of a congestion window, wherein the size of the congestion window is reduced to a threshold value when the number of receptions of the retransmission response signal is greater than or equal to a predefined number. The minimum value of the threshold value may include n multiples of the maximum segment size (n is a natural number). The present invention can improve network security by adjusting a slow start threshold.

Description

통신 제어 장치 및 통신 제어 방법{APPARATUS FOR CONTROLLING COMMUNICATION AND METHOD THEREOF}Communication control device and communication control method {APPARATUS FOR CONTROLLING COMMUNICATION AND METHOD THEREOF}

본 발명은 통신 제어 장치 및 방법에 관한 것이다.The present invention relates to a communication control apparatus and method.

전기 자동차는 외부로부터 공급되거나 또는 자체 발전시켜 획득한 전기 에너지를 기계 에너지로 변환시킴으로써 차륜의 회전에 필요한 동력을 얻어 주행하는 차량을 의미한다. 이와 같은 전기 자동차로는, 예를 들어, 통상적인 전기 자동차(EV, Electric Vehicle)나, 하이브리드 전기 자동차(HEV, Hybrid Electric Vehicle)나, 플러그-인 하이브리드 전기 자동차(PHEV, Plug-in Hybrid Electric Vehicle) 등이 있다.An electric vehicle refers to a vehicle that is driven by obtaining power required for rotation of a wheel by converting electrical energy obtained from external or self-generating into mechanical energy. Such an electric vehicle is, for example, a conventional electric vehicle (EV, Electric Vehicle), a hybrid electric vehicle (HEV, Hybrid Electric Vehicle), or a plug-in hybrid electric vehicle (PHEV, Plug-in Hybrid Electric Vehicle). ), etc.

전기 자동차의 보급에 따라 전기 자동차의 주행에 필요한 전력의 공급을 위해서 전기 자동차 충전기 역시 점차적으로 보급되고 있다. 최근에는 전기 자동차 충전기를 통하여, 전기 자동차와 그리드(Grid) 사이를 연결하고, 이들 사이의 네트워크를 기반으로 상호 전력을 송수신하거나 및/또는 상호 데이터를 송수신하기 위한 기술이 개발되고 있다. With the spread of electric vehicles, electric vehicle chargers are also gradually spreading to supply electric power required for driving of electric vehicles. Recently, a technology for connecting an electric vehicle and a grid through an electric vehicle charger and transmitting and receiving mutual power and/or transmitting and receiving mutual data based on a network therebetween has been developed.

전기 자동차와 그리드 간의 전기적 연결에서도 보안 문제는 중요하게 다루어진다. 예를 들어, 전기 자동차-그리드 네트워크(V2G network) 환경에서 전기 자동차가 소정의 프로토콜(예를 들어, 전송 제어 프로토콜(TCP: Transmission Control Protocol) 또는 사용자 데이터그램 프로토콜(UDP: User Datagram Protocol) 등)을 이용하여 그리드와 통신을 수행하는 경우, 이들 사이의 통신은 이들 프로토콜의 보안 취약점을 이용한 공격에 의해 중단될 수도 있다. 이는 막대한 경제학적 손실을 야기하게 될 수도 있다. 구체적으로 예를 들어, 전기 자동차는 충전 케이블을 통해 충전을 수행함과 동시에 데이터 통신을 수행하면서 충전 요금을 결제하도록 설계될 수도 있다. 이 경우, 만약 요금 처리를 위한 데이터 통신 과정에 있어서 보안 문제가 발생하게 된다면, 결제 과정에 있어서 오류가 발생될 수 있으며, 이는 경제적 손실을 유발하게 된다. 또한, 보안 취약점에 따른 통신의 불안정성은, 전기 자동차 및 그리드 사이의 통신에 있어서 원하는 수준의 스루풋(throughput)을 보장하지 못하게 될 수도 있다.Even in the electrical connection between the electric vehicle and the grid, security issues are considered important. For example, in an electric vehicle-grid network (V2G network) environment, an electric vehicle is a predetermined protocol (e.g., Transmission Control Protocol (TCP) or User Datagram Protocol (UDP)) When communication is performed with the grid by using, communication between them may be interrupted by an attack using the security vulnerability of these protocols. This can lead to enormous economic losses. Specifically, for example, the electric vehicle may be designed to perform data communication while charging through a charging cable and to pay a charging fee. In this case, if a security problem occurs in the data communication process for fee processing, an error may occur in the payment process, which causes an economic loss. In addition, instability of communication due to a security vulnerability may not guarantee a desired level of throughput in communication between the electric vehicle and the grid.

대한민국 공개특허 제2009-0003848호 (2009.01.12. 공개)Republic of Korea Patent Publication No. 2009-0003848 (published on January 12, 2009) 대한민국 공개특허 제2019-0096348호 (2019.08.19. 공개)Republic of Korea Patent Publication No. 2019-0096348 (published on August 19, 2019) 대한민국 공개특허 제2017-0076759호 (2017.07.04. 공개)Republic of Korea Patent Publication No. 2017-0076759 (published on July 4, 2017)

저속 시작 임계값(ssthresh: slow start threshold)을 조절함으로써, 네트워크의 보안성을 향상시킬 수 있는 통신 제어 장치 및 방법을 제공하는 것을 해결하고자 하는 과제로 한다.It is an object to be solved to provide a communication control apparatus and method capable of improving the security of a network by adjusting a slow start threshold (ssthresh).

차량 및 그리드 간의 네트워크(V2G network) 환경 하에서 사용자 데이터그램 프로토콜 플러딩 공격(UDP flooding attack)이나 전송 제어 프로토콜 공정성 공격(TCP fairness attack) 등과 같은 공격을 효과적으로 방어할 수 있는 통신 제어 장치 및 방법을 제공하는 것을 또 다른 해결하고자 하는 과제로 한다.Provides a communication control device and method that can effectively defend against attacks such as user datagram protocol flooding attack or TCP fairness attack under the network between vehicle and grid (V2G network). This is another task to be solved.

상술한 과제를 해결하기 위하여 통신 제어 장치 및 방법이 제공된다.A communication control apparatus and method are provided to solve the above-described problems.

통신 제어 장치는, 데이터를 전송하고, 전송 데이터의 전송 오류 여부에 따라 재전송 응답 신호를 수신하는 통신부 및 혼잡 윈도우의 크기를 조절하되, 상기 재전송 응답 신호의 수신 횟수가 미리 정의된 횟수 이상이면, 상기 혼잡 윈도우의 크기를 임계값으로 축소시키는 프로세서를 포함하되, 상기 임계값의 최소값은 최대 세그먼트 크기의 n배수(n은 자연수)를 포함할 수 있다.The communication control device transmits data and adjusts the size of the communication unit and the congestion window for receiving the retransmission response signal according to whether or not there is a transmission error of the transmitted data, but if the number of times of reception of the retransmission response signal is more than a predefined number, the A processor for reducing the size of the congestion window to a threshold value, wherein the minimum value of the threshold value may include n multiples of the maximum segment size (n is a natural number).

통신 제어 방법은, 데이터를 전송하는 단계, 전송 데이터의 전송 오류 여부에 따라 재전송 응답 신호를 수신하는 단계 및 혼잡 윈도우의 크기를 조절하되, 상기 재전송 응답 신호의 수신 횟수가 미리 정의된 횟수 이상이면, 상기 혼잡 윈도우의 크기를 임계값으로 축소시키는 단계를 포함하되, 상기 임계값의 최소값은 최대 세그먼트 크기의 n배수(n은 자연수)를 포함할 수 있다.The communication control method includes transmitting data, receiving a retransmission response signal according to whether or not there is a transmission error in transmission data, and adjusting the size of a congestion window. And reducing the size of the congestion window to a threshold value, wherein the minimum value of the threshold value may include an n multiple of the maximum segment size (n is a natural number).

상술한 통신 제어 장치 및 방법에 의하면, 저속 시작 임계값을 적절하게 조절 및 제어함으로써, 네트워크의 보안성을 향상시킬 수 있는 효과를 얻을 수 있다.According to the above-described communication control apparatus and method, by appropriately adjusting and controlling the low-speed start threshold, it is possible to obtain an effect of improving the security of the network.

또한, 차량 및 그리드 간의 네트워크 환경 하에서 사용자 데이터그램 프로토콜 플러딩 공격이나 전송 제어 프로토콜 공정성 공격 등을 효과적으로 방어할 수 있게 되고, 이에 따라 네트워크의 보안성이 개선되는 효과를 얻을 수도 있다.In addition, it is possible to effectively defend against a user datagram protocol flooding attack or a transmission control protocol fairness attack under a network environment between the vehicle and the grid, thereby improving the security of the network.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 전기 차량의 충전을 위한 시스템의 일례를 도시한 도면이다.
도 2는 통신 제어 장치의 일 실시예에 대한 블록도이다.
도 3은 통신 제어 장치의 동작에 따른 혼잡 윈도우의 시간적 변화의 일례를 도시한 도면이다.
도 4는 통신 제어 장치의 동작을 설명하기 위한 코드의 일례를 도시한 도면이다.
도 5는 종래의 혼잡 윈도우의 시간적 변화의 일례를 도시한 도면이다.
도 6은 사용자 데이터그램 프로토콜 플러딩 공격에 대한 통신 제어 장치의 효과를 설명하기 위한 그래프이다.
도 7은 전송 제어 프로토콜 공정성 공격에 대한 통신 제어 장치의 효과를 설명하기 위한 그래프이다.
도 8은 통신 제어 방법의 일 실시예에 대한 흐름도이다.
A detailed description of each drawing is provided in order to more fully understand the drawings cited in the detailed description of the present invention.
1 is a diagram showing an example of a system for charging an electric vehicle.
2 is a block diagram of an embodiment of a communication control device.
3 is a diagram illustrating an example of a temporal change of a congestion window according to an operation of a communication control device.
4 is a diagram showing an example of a code for explaining the operation of the communication control device.
5 is a diagram showing an example of a temporal change of a conventional congestion window.
6 is a graph for explaining the effect of a communication control device on a user datagram protocol flooding attack.
7 is a graph for explaining the effect of a communication control device on a transmission control protocol fairness attack.
8 is a flowchart of an embodiment of a communication control method.

이하 명세서 전체에서 동일 참조 부호는 특별한 사정이 없는 한 동일 구성요소를 지칭한다. 이하에서 사용되는 '부'가 부가된 용어는, 소프트웨어 또는 하드웨어로 구현될 수 있으며, 실시예에 따라 하나의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 복수의 '부'가 하나의 물리적 또는 논리적 부품으로 구현되거나, 하나의 '부'가 복수의 물리적 또는 논리적 부품들로 구현되는 것도 가능하다.In the following specification, the same reference numerals refer to the same elements unless otherwise specified. The term "unit" used below may be implemented in software or hardware, and according to an embodiment, one "unit" is implemented as one physical or logical part, or a plurality of "units" It may be implemented as a physical or logical part, or one'unit' may be implemented as a plurality of physical or logical parts.

명세서 전체에서 어떤 부분이 다른 부분과 '연결되어 있다'고 할 때, 이는 어떤 부분과 다른 부분에 따라서 물리적 연결을 의미할 수도 있고, 또는 전기적으로 연결된 것을 의미할 수도 있다. 또한, 어떤 부분이 다른 부분을 '포함한다'고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 부분 이외의 또 다른 부분을 제외하는 것이 아니며, 설계자의 선택에 따라서 또 다른 부분을 더 포함할 수 있음을 의미한다.When it is said that a part is'connected' to another part throughout the specification, it may mean physical connection or electrical connection depending on the part and other part. In addition, when a part is said to'include' another part, it does not exclude another part other than the other part unless specifically stated to the contrary, and may further include another part at the designer's choice. Means there is.

'제1' 이나 '제2' 등의 용어는 하나의 부분을 다른 부분으로부터 구별하기 위해 사용되는 것으로, 특별한 기재가 없는 이상 이들이 순차적인 표현을 의미하는 것은 아니다. 또한 단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함할 수 있다.Terms such as'first' or'second' are used to distinguish one part from another, and unless otherwise specified, they do not mean sequential expressions. In addition, expressions in the singular may include plural expressions unless there is clearly an exception in the context.

이하 도 1 내지 도 5를 참조하여 통신 제어 장치의 일 실시예에 대해서 설명하도록 한다.Hereinafter, an embodiment of a communication control device will be described with reference to FIGS. 1 to 5.

도 1은 전기 차량의 충전을 위한 시스템의 일례를 도시한 도면이다.1 is a diagram showing an example of a system for charging an electric vehicle.

도 1에 도시된 바에 의하면, 전기 차량의 충전을 위한 시스템(1)은 하나 또는 둘 이상의 전기 자동차(10-1 내지 10-5)를 포함할 수 있다. 전기 자동차(10-1 내지 10-5)는, 통상적인 전기 자동차(EV), 하이브리드 전기 자동차, 플러그인 하이브리드 전기 자동차 및/또는 수료연료전지차(FCEV) 등을 포함 가능하나, 이에 한정되는 것은 아니다. 각각의 전기 자동차(10-1 내지 10-5)는, 외부의 장치, 일례로 공급 장치 통신 제어기(31, 32) 등과의 통신을 제어하기 위하여 전기적 차량 통신 제어기(EVCC: Electric Vehicle Communication Controller)를 구비하고 있을 수도 있다.As shown in FIG. 1, a system 1 for charging an electric vehicle may include one or more electric vehicles 10-1 to 10-5. The electric vehicles 10-1 to 10-5 may include a conventional electric vehicle (EV), a hybrid electric vehicle, a plug-in hybrid electric vehicle, and/or a fuel cell vehicle (FCEV), but are not limited thereto. Each of the electric vehicles 10-1 to 10-5 uses an electric vehicle communication controller (EVCC) to control communication with external devices, for example, supply device communication controllers 31 and 32. You may have it.

하나 이상의 전기 자동차(10-1 내지 10-5)는, 각각 하나 이상의 전기 자동차 충전기(20-1 내지 20-5)에 연결될 수 있다. 각각의 충전기(20-1 내지 20-5)는 적어도 하나의 공급 장치 통신 제어기(31, 32, SECC: Supply Equipment Communication Controller)에 연결될 수 있다. 전기 자동차(10-1 내지 10-5)와 충전기(20-1 내지 20-5) 사이 및/또는 충전기(20-1 내지 20-5)와 공급 장치 통신 제어기(31, 32) 사이는, 전력선 통신(PLC: Power Line Connection)을 이용하여 연결된 것일 수 있다. 즉, 자동차(10-1 내지 10-5), 충전기(20-1 내지 20-5) 및 공급 장치 통신 제어기(31, 32) 중 적어도 하나는, 전력의 전달과 더불어 데이터의 송수신도 가능하게 마련될 수 있다.One or more electric vehicles 10-1 to 10-5 may be connected to one or more electric vehicle chargers 20-1 to 20-5, respectively. Each of the chargers 20-1 to 20-5 may be connected to at least one supply equipment communication controller 31, 32 (SECC: Supply Equipment Communication Controller). Between electric vehicles 10-1 to 10-5 and chargers 20-1 to 20-5 and/or between chargers 20-1 to 20-5 and supply device communication controllers 31 and 32, a power line It may be connected using communication (PLC: Power Line Connection). That is, at least one of the automobiles 10-1 to 10-5, the chargers 20-1 to 20-5, and the supply device communication controllers 31 and 32 enables transmission and reception of data as well as transmission of power. Can be.

공급 장치 통신 제어기(31, 32)는, 충전 서비스를 제공하는 측에서 통신을 제어하기 위한 장치로, 적어도 하나의 공급 장치 통신 제어기(31, 32)에는 하나 또는 다수의 충전기(20-1 내지 20-5)가 연결될 수 있다. 공급 장치 통신 제어기(31, 32)는 서비스 제공 장치(40)에 통신 가능하게 연결될 수 있다.The supply device communication controller (31, 32) is a device for controlling communication at a side providing a charging service, and at least one supply device communication controller (31, 32) includes one or a plurality of chargers (20-1 to 20). -5) can be connected. The supply device communication controllers 31 and 32 may be communicatively connected to the service providing device 40.

서비스 제공 장치(40)는 결제 등과 같은 각종 서비스를 제공하기 위해 마련된 컴퓨팅 장치를 포함할 수 있으며, 예를 들어, 서버 장치를 포함할 수 있다.The service providing device 40 may include a computing device provided to provide various services such as payment, and may include, for example, a server device.

상술한 전기 자동차(10-1 내지 10-5), 충전기(20-1 내지 20-5), 공급 장치 통신 제어기(31, 32) 및 서비스 제공 장치(40) 중 적어도 둘은, 일 실시예에 의하면, 소정의 규약들을 이용하여 데이터를 송수신할 수 있다. 예를 들어, 이들 장치(10-1 내지 40)는 인터넷 프로토콜 버전6(IPv6), 전송 제어 프로토콜(TCP) 또는 사용자 데이터그램 프로토콜(UDP) 등을 이용하여 통신을 수행할 수도 있다. 또한, 필요에 따라, 이들 장치(10-1 내지 40)는 전송 계층 보안(TLS: Transport Layer Security) 및/또는 확장성 생성 언어(XML, eXtensible Markup Language) 등을 더 이용하여 통신을 수행하는 것도 가능하다.At least two of the above-described electric vehicles 10-1 to 10-5, chargers 20-1 to 20-5, supply device communication controllers 31 and 32, and service providing device 40, in one embodiment According to this, data can be transmitted/received using predetermined rules. For example, these devices 10-1 to 40 may perform communication using Internet Protocol Version 6 (IPv6), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), or the like. In addition, if necessary, these devices 10-1 to 40 may perform communication further using transport layer security (TLS) and/or extensible markup language (XML). It is possible.

도 2는 통신 제어 장치의 일 실시예에 대한 블록도이다.2 is a block diagram of an embodiment of a communication control device.

도 2에 도시된 통신 제어 장치(100)는 장치(100)와 외부 간의 통신을 제어할 수 있는 장치로, 예를 들어, 상술한 전송 제어 프로토콜을 기반으로 하는 통신을 제어할 수 있는 장치를 의미한다. 통신 제어 장치(100)는, 예를 들어, 도 1의 전기 자동차(10-1 내지 10-5), 충전기(20-1 내지 20-5), 공급 장치 통신 제어기(31, 32) 및 서비스 제공 장치(40) 중 적어도 하나를 포함할 수도 있고, 및/또는 이들 장치(10-1 내지 40) 중 적어도 하나에 설치되고 통신 수행이 가능하도록 제작된 전자 장치나 모듈 등을 포함할 수도 있다. 예를 들어, 통신 제어 장치(100)는 전기 자동차(10-1 내지 10-5) 내에 별도로 장착 가능하고 전기 자동차(10-1 내지 10-5)와는 물리적으로 분리된 통신 장비를 포함할 수도 있으며, 보다 구체적으로 예를 들어, 전기적 차량 통신 제어기 등을 포함할 수도 있다. The communication control device 100 shown in FIG. 2 is a device capable of controlling communication between the device 100 and the outside, for example, means a device capable of controlling communication based on the above-described transmission control protocol. do. The communication control device 100 is, for example, an electric vehicle 10-1 to 10-5 of FIG. 1, a charger 20-1 to 20-5, a supply device communication controller 31, 32, and a service provision It may include at least one of the devices 40, and/or may include an electronic device or module installed in at least one of the devices 10-1 to 40 and manufactured to perform communication. For example, the communication control device 100 may be separately mounted in the electric vehicles 10-1 to 10-5 and may include communication equipment physically separated from the electric vehicles 10-1 to 10-5, , More specifically, for example, it may include an electric vehicle communication controller.

도 2에 도시된 바를 참조하면, 통신 제어 장치(100)는 통신부(110) 및 프로세서(120)를 포함할 수 있으며, 필요에 따라 저장부(130)를 더 포함할 수도 있다.Referring to FIG. 2, the communication control apparatus 100 may include a communication unit 110 and a processor 120, and may further include a storage unit 130 if necessary.

통신부(110)는 외부에 데이터를 송신하거나 및/또는 외부로부터 데이터를 수신할 수 있도록 마련되며, 예를 들어, 외부의 다른 수신 장치(190), 일례로 전기 자동차 충전기(20-1 내지 20-5)로 신호(90, 이하 전송 신호)를 전달하고, 수신 장치(190)로부터 전송 데이터(90)에 대응하는 응답 신호(91, ACK 신호)를 수신하도록 마련된 것일 수 있다. 통신부(110)는, 유선 네트워크 및/또는 무선 네트워크를 통해 통신을 수행할 수도 있으며, 예를 들어, 전력선 통신을 이용하여 통신을 수행할 수도 있다.The communication unit 110 is provided to transmit data to the outside and/or to receive data from the outside, for example, another external receiving device 190, for example, electric vehicle chargers 20-1 to 20- 5) may be provided to transmit a signal 90 (hereinafter, a transmission signal), and to receive a response signal 91 (ACK signal) corresponding to the transmission data 90 from the reception device 190. The communication unit 110 may perform communication through a wired network and/or a wireless network, and may perform communication using, for example, power line communication.

프로세서(120)는 통신부(110)를 제어하여 전송 데이터(90)를 전송하도록 하거나, 및/또는 전송 데이터(90)의 송신에 대응하여 통신부(110)가 수신한 응답 신호(91)에 따라 혼잡 제어(Congestion control)를 수행할 수도 있다. 일 실시예에 의하면, 프로세서(120)는 혼잡 제어를 위하여 응답 확인부(121), 재전송 제어부(123), 임계값 설정부(125) 및 혼잡 윈도우 처리부(127)를 포함할 수도 있다. 이들에 대해선 후술한다.The processor 120 controls the communication unit 110 to transmit the transmission data 90, and/or congestion according to the response signal 91 received by the communication unit 110 in response to transmission of the transmission data 90 Congestion control can also be performed. According to an embodiment, the processor 120 may include a response check unit 121, a retransmission control unit 123, a threshold value setting unit 125, and a congestion window processing unit 127 for congestion control. These will be described later.

프로세서(120)는, 저장부(130)에 저장된 애플리케이션을 구동시켜, 미리 정의된 연산, 판단, 처리 및/또는 제어 동작 등을 수행할 수도 있다. 여기서, 저장부(130)에 저장된 애플리케이션은, 설계자에 의해 직접 작성되어 저장부(120)에 저장된 것일 수도 있고, 또는 유선 또는 무선 통신 네트워크를 이용하여 획득된 것일 수도 있다. 실시예에 따라서, 프로세서(120)는 통신의 수행을 위해 특별히 설계된 전자 장치(일례로 특별히 설계된 모뎀 칩 등)일 수도 있고, 및/또는 연산 및 제어의 수행/처리가 가능한 통상적인 전자 장치일 수도 있다. 후자의 경우, 프로세서(120)는 애플리케이션 프로세서(AP, Application Processor), 중앙 처리 장치(CPU, Central Processing Unit), 전자 제어 유닛(ECU, Electronic Controlling Unit), 마이크로 컨트롤러 유닛(MCU, Micro Controller Unit), 마이컴(Micom, Micro Processor), 모뎀 칩 및/또는 각종 연산 처리 및 제어 신호의 생성이 가능한 다른 전자 장치 등을 포함할 수도 있다. 이들 장치는 예를 들어 하나 또는 둘 이상의 반도체 칩 및 관련 부품을 이용하여 구현 가능하다.The processor 120 may drive an application stored in the storage unit 130 to perform a predefined operation, determination, processing, and/or control operation. Here, the application stored in the storage unit 130 may be directly created by a designer and stored in the storage unit 120, or may be obtained using a wired or wireless communication network. Depending on the embodiment, the processor 120 may be an electronic device specially designed for performing communication (for example, a specially designed modem chip, etc.), and/or may be a general electronic device capable of performing/processing calculation and control. have. In the latter case, the processor 120 is an application processor (AP), a central processing unit (CPU), an electronic control unit (ECU), a microcontroller unit (MCU). , A Micom (Micro Processor), a modem chip, and/or other electronic devices capable of processing various operations and generating a control signal may be included. These devices can be implemented using, for example, one or more semiconductor chips and related components.

저장부(130)는 통신 제어 장치(100)의 동작에 필요한 적어도 하나의 데이터를 저장할 수 있으며, 예를 들어, 임계값 설정부(125)에 의해 설정된 저속 시작 임계값이나 혼잡 윈도우(congestion window)의 크기 등을 일시적 또는 비일시적으로 저장할 수 있다. 저장부(130)는, 예를 들어, 주기억장치 및 보조기억장치 중 적어도 하나를 포함할 수 있으며, 이들 주기억장치 또는 보조기억장치 등은 반도체 칩이나 자기디스크 등을 이용하여 구현될 수 있다.The storage unit 130 may store at least one data necessary for the operation of the communication control device 100, for example, a low-speed start threshold or a congestion window set by the threshold value setting unit 125 It is possible to temporarily or non-temporarily store the size of. The storage unit 130 may include, for example, at least one of a main memory device and an auxiliary memory device, and these main memory devices or auxiliary memory devices may be implemented using a semiconductor chip or a magnetic disk.

이하 프로세서(120)의 동작에 대해 보다 구체적으로 설명하도록 한다.Hereinafter, the operation of the processor 120 will be described in more detail.

도 3은 통신 제어 장치의 동작에 따른 혼잡 윈도우의 시간적 변화의 일례를 도시한 도면이다.3 is a diagram illustrating an example of a temporal change of a congestion window according to an operation of a communication control device.

통신 제어 장치(100), 일례로 차량(10-1 내지 10-5)이나 공급 장치 통신 제어기(31, 32) 등이 외부의 수신 장치(190), 일례로 공급 장치 통신 제어기(31, 32)나 차량(10-1 내지 10-5) 등과 통신을 수행하는 경우, 통신 제어 장치(100)는 수신 장치(190)로 전송 데이터(90)를 전송하되, 전송 데이터(90)를 송신 가능한 크기의 세그먼트로 전송할 수 있다. 예를 들어, 전송 데이터(90)는 최대 세그먼트 크기(MSS: Maximum Segment Size)로 분할된 후 순차적으로 또는 비순차적으로 수신 장치(190)로 전송될 수 있다. 통신 제어 장치(100)는 수신 장치(190)로 전송 데이터(90)를 전송한 후, 수신 장치(190)로부터 응답 신호(91)를 대기한다. 수신 장치(190)는 전송 데이터(90), 구체적으로는 전송 데이터(90)를 분할한 각각의 세그먼트를 수신하고, 전송 데이터(90), 구체적으로는 각각의 세그먼트에 대응하는 응답 신호(91)를 생성할 수 있다. 생성된 응답 신호(91)는 통신 제어 장치(100)로 전달된다. A communication control device 100, for example a vehicle 10-1 to 10-5 or a supply device communication controller 31, 32, etc., is an external receiving device 190, for example a supply device communication controller 31, 32 B When communicating with the vehicle (10-1 to 10-5), the communication control device 100 transmits the transmission data 90 to the reception device 190, but transmits the transmission data 90 Can be transmitted in segments. For example, the transmission data 90 may be divided into a maximum segment size (MSS) and then sequentially or non-sequentially transmitted to the receiving device 190. The communication control device 100 transmits the transmission data 90 to the reception device 190 and then waits for a response signal 91 from the reception device 190. The reception device 190 receives the transmission data 90, specifically, each segment obtained by dividing the transmission data 90, and the transmission data 90, specifically, a response signal 91 corresponding to each segment. Can be created. The generated response signal 91 is transmitted to the communication control device 100.

도 2에 도시된 바를 참조하면, 응답 확인부(121)는 전송된 세그먼트에 대응하여 수신 장치(190)로부터 응답 신호(91)의 수신 여부를 확인하거나 응답 신호(91)의 수신 횟수를 계수할 수 있다. 응답 신호(91)는 전송 데이터(91) 또는 이를 분할한 세그먼트의 수신을 확인하기 위해 수신 장치(190)로부터 통신 제어 장치(100)로 전달되는 신호를 포함할 수 있다. 또한, 응답 확인부(121)는 재전송 응답 신호(92, Duplicate ACK)의 수신 여부를 확인하거나 또는 재전송 응답 신호(92)의 수신 횟수를 계수할 수도 있다. 재전송 응답 신호(92)는, 세그먼트의 재전송 요청에 관한 신호로, 수신 장치(190)가 일부의 세그먼트를 수신하지 못하였거나 세그먼트의 순서가 잘못된 경우에 수신 장치(190)에 의해 통신 제어 장치(100)로 전송될 수 있다. 즉, 전송 데이터의 전송에 오류가 발생된 경우에 통신 제어 장치(100)로 전송되는 신호를 의미한다. 응답 확인부(121)는, 미리 정의된 개수(예를 들어, 3개 등)의 재전송 응답 신호(92)가 수신되었다고 판단되면, 판단 결과를 재전송 제어부(125)로 전송할 수 있다. 이 경우, 재전송 제어부(125)는, 통신부(110)가 재전송 응답 신호(92)에 대응하는 세그먼트를 다른 판단 없이 즉각 다시 전송하도록 제어할 수도 있다(고속 재전송, Fast Retransmit). 또한, 응답 확인부(121)는 재전송 응답 신호(92)의 수신에 따른 판단 결과를 혼잡 윈도우 처리부(123)로 전송할 수도 있다. 혼잡 윈도우 처리부(123)는, 재전송 응답 신호(92)를 기반으로, 혼잡 윈도우의 크기(cwnd)를 조절할 수 있다. Referring to FIG. 2, the response check unit 121 may check whether the response signal 91 is received from the receiving device 190 or count the number of times the response signal 91 is received in response to the transmitted segment. I can. The response signal 91 may include a signal transmitted from the reception device 190 to the communication control device 100 to confirm reception of the transmission data 91 or a segment divided therefrom. In addition, the response confirmation unit 121 may check whether the retransmission response signal 92 (Duplicate ACK) is received, or may count the number of times the retransmission response signal 92 is received. The retransmission response signal 92 is a signal related to a request for retransmission of a segment, and when the reception device 190 fails to receive some segments or the order of the segments is incorrect, the communication control device 100 ) Can be transmitted. That is, it means a signal transmitted to the communication control device 100 when an error occurs in transmission of transmission data. When it is determined that the retransmission response signals 92 of a predefined number (eg, three, etc.) have been received, the response confirmation unit 121 may transmit the determination result to the retransmission control unit 125. In this case, the retransmission control unit 125 may control the communication unit 110 to immediately retransmit the segment corresponding to the retransmission response signal 92 without any other determination (fast retransmission, Fast Retransmit). In addition, the response verification unit 121 may transmit a determination result according to reception of the retransmission response signal 92 to the congestion window processing unit 123. The congestion window processing unit 123 may adjust the size (cwnd) of the congestion window based on the retransmission response signal 92.

혼잡 윈도우 처리부(123)는, 도 3에 도시된 바와 같이, 혼잡 윈도우의 크기(cwnd)를 조절할 수 있다. 구체적으로 예를 들어, 혼잡 윈도우 처리부(123)는, 제1 기간(p1, 초기 기간)에는 혼잡 윈도우의 크기(cwnd)를 시간의 흐름에 따라 증가시키되, 초기 값에서부터 임계값 설정부(127)에 의해 미리 설정된 제1 저속 시작 임계값(ssthresh1)까지 증가시킬 수 있다(저속 시작, slow start). 이 경우, 혼잡 윈도우의 크기(cwnd)는 급격하게 증가될 수 있으며, 예를 들어 지수적으로 증가될 수 있다. 만약 혼잡 윈도우의 크기가 최초의 저속 시작 임계값, 즉 제1 저속 시작 임계값(ssthresh1)에 도달하면, 혼잡 윈도우 처리부(123)는 네트워크 상에 혼잡이 발생된 것으로 판단하고, 혼잡 윈도우의 크기(cwnd)를 상대적으로 완만하게 증가시켜 혼잡 회피 동작(congestion avoidance)을 수행할 수 있다(p2). 예를 들어, 혼잡 윈도우 처리부(123)는 혼잡 윈도우의 크기(cwnd)를 선형적으로 증가시킬 수 있으며, 보다 구체적으로 예를 들어, 혼잡 윈도우의 크기(cwnd)를 1씩 증가시킬 수 있다. 여기서, 제1 저속 시작 임계값(ssthresh1)은 임계값 설정부(127)에 의해 설정된 것일 수도 있다.The congestion window processing unit 123 may adjust the size (cwnd) of the congestion window, as shown in FIG. 3. Specifically, for example, the congestion window processing unit 123 increases the size (cwnd) of the congestion window over time in the first period (p1, initial period), but the threshold value setting unit 127 from the initial value It can be increased up to the first low speed start threshold ssthresh1 set in advance (slow start, slow start). In this case, the size (cwnd) of the congestion window may increase rapidly, for example, may increase exponentially. If the size of the congestion window reaches the first slow start threshold, that is, the first slow start threshold ssthresh1, the congestion window processing unit 123 determines that congestion has occurred on the network, and the size of the congestion window ( cwnd) can be increased relatively gently to perform congestion avoidance (p2). For example, the congestion window processing unit 123 may linearly increase the size cwnd of the congestion window, and more specifically, for example, may increase the size cwnd of the congestion window by one. Here, the first slow start threshold value ssthresh1 may be set by the threshold value setting unit 127.

만약 재전송 응답 신호(92)가 미리 정의된 횟수(예를 들어, 3회)로 또는 그 이상으로 수신되면, 혼잡 윈도우 처리부(123)는 혼잡 윈도우의 크기(cwnd)를 제2 저속 시작 임계값(ssthresh2)에 대응하는 사이즈로 축소시킬 수 있다. 이 경우, 혼잡 윈도우의 크기(cwnd)는 제2 저속 시작 임계값(ssthresh2)과 동일할 수도 있고, 또는 상이할 수도 있다. 예를 들어, 혼잡 윈도우의 크기(cwnd)는 제2 저속 시작 임계값(ssthresh2)에 3을 부가한 값으로 설정될 수도 있다. 제2 저속 시작 임계값(ssthresh2)은 임계값 설정부(127)에 의해 설정된 것일 수 있다. 이 경우, 제2 저속 시작 임계값(ssthresh2)은 미리 정의된 값보다 큰 값으로 정의될 수 있으며, 여기서 미리 정의된 값은 예를 들어, 최대 세그먼트 크기의 일정한 배수일 수 있다. 보다 구체적으로 예를 들어, 최대 세그먼트 크기의 10배로 정의될 수도 있다.If the retransmission response signal 92 is received at a predetermined number of times (eg, 3 times) or more, the congestion window processing unit 123 sets the size of the congestion window (cwnd) to a second slow start threshold ( It can be reduced to a size corresponding to ssthresh2). In this case, the size (cwnd) of the congestion window may be the same as or different from the second slow start threshold value (ssthresh2). For example, the size cwnd of the congestion window may be set to a value obtained by adding 3 to the second slow start threshold value ssthresh2. The second slow start threshold value ssthresh2 may be set by the threshold value setting unit 127. In this case, the second slow start threshold value ssthresh2 may be defined as a value greater than a predefined value, where the predefined value may be, for example, a constant multiple of the maximum segment size. More specifically, for example, it may be defined as 10 times the maximum segment size.

혼잡 윈도우의 크기(cwnd)가 축소된 후, 혼잡 윈도우 처리부(123)는 제2 기간(p2)에서와 동일하거나 이와 유사한 방법으로 제3 기간(p3)동안 혼잡 윈도우의 크기(cwnd)를 제2 저속 시작 임계값(ssthresh2)에서부터 증가시킬 수 있다. 이 경우, 혼잡 윈도우의 크기(cwnd) 증가는 상대적으로 완만하게 수행될 수 있다. 구체적으로 예를 들어, 혼잡 윈도우의 크기(cwnd)는 1씩 증가될 수도 있다. 이에 따라 혼잡 윈도우 처리부(123)는, 제1 기간(p1)에서 수행되었던 저속 시작(slow start)을 다시 수행하지는 않고, 혼잡 회피 동작만을 수행하게 된다(고속 복원, Fast Recovery). 다시 미리 정의된 횟수(예를 들어, 3회) 또는 그 이상으로 재전송 응답 신호(92)가 수신되면, 혼잡 윈도우 처리부(123)는, 상술한 바와 동일하게, 임계값 설정부(127)에 의해 설정된 제3 저속 시작 임계값(ssthresh3)까지 혼잡 윈도우의 크기(cwnd)를 축소시킨 후, 상대적으로 완만하게 혼잡 윈도우의 크기(cwnd)를 증가시킬 수 있다. 여기서, 제3 저속 시작 임계값(ssthresh3)은, 예를 들어, 최대 세그먼트 크기의 일정한 배수로 정의된 것일 수 있으며, 보다 구체적으로 예를 들어 최대 세그먼트 크기의 10배로 정의될 수도 있다.After the size of the congestion window (cwnd) is reduced, the congestion window processing unit 123 determines the size of the congestion window (cwnd) for the third period (p3) in the same or similar method as in the second period (p2). It can be increased from the slow start threshold (ssthresh2). In this case, an increase in the size (cwnd) of the congestion window may be performed relatively gently. Specifically, for example, the size (cwnd) of the congestion window may be increased by one. Accordingly, the congestion window processing unit 123 does not perform the slow start performed in the first period p1 again, but only performs a congestion avoidance operation (fast recovery). When the retransmission response signal 92 is received again a predefined number of times (for example, three times) or more, the congestion window processing unit 123 uses the threshold value setting unit 127 as described above. After reducing the size of the congestion window cwnd up to the set third low speed start threshold value ssthresh3, the size of the congestion window cwnd may be increased relatively gently. Here, the third slow start threshold value ssthresh3 may be defined as, for example, a constant multiple of the maximum segment size, and more specifically, may be defined as 10 times the maximum segment size.

또 다시 재전송 응답 신호(92)가 미리 정의된 횟수(일례로 3회) 또는 이를 초과하는 횟수만큼 재수신되면, 혼잡 윈도우 처리부(123)는 제4 저속 시작 임계값(ssthresh4)까지 혼잡 윈도우의 크기(cwnd)를 축소시킬 수 있다. 여기서, 제4 저속 시작 임계값(ssthresh4) 역시 임계값 설정부(127)에 의해 설정된 것일 수 있다. 제3 기간(p3)의 경우와 동일하게 제4 기간(p4)에서도 혼잡 윈도우의 크기(cwnd)를 상대적으로 완만하게 증가시킬 수 있다. 일 실시예에 의하면 제4 저속 시작 임계값(ssthresh4)도 제3 저속 시작 임계값(ssthresh3)과 동일하게 최대 세그먼트 크기의 일정한 배수로 정의된 것일 수 있으며, 구체적으로 예를 들어 최대 세그먼트 크기의 10배로 정의될 수도 있다. 만약 제3 저속 시작 임계값(ssthresh3)이 최대 세그먼트 크기의 10배로 정의된 경우, 제4 저속 시작 임계값(ssthresh4)은 제3 저속 시작 임계값(ssthresh3)과 동일하거나 대략 근사할 수 있다. 따라서, 도 3에 도시된 바와 같이 제4 기간(p4)의 혼잡 윈도우의 크기(cwnd)는 제3 기간(p3)의 혼잡 윈도우의 크기(cwnd)와 대략 동일하게 설정되게 된다. 제4 기간(p4) 이후의 다른 기간(p5 등)에서의 저속 시작 임계값(미도시)도 상술한 제3 저속 시작 임계값(ssthresh3) 및/또는 제4 저속 시작 임계값(ssthresh4)과 동일하거나 거의 근사하게 설정될 수 있다. 이에 따라 혼잡 윈도우의 크기(cwnd)는 대략 일정한 값, 예를 들어 제3 저속 시작 임계값(ssthresh3) 및/또는 제4 저속 시작 임계값(ssthresh4)보다 거의 작아지지 않는다. 다시 말해서, 제3 저속 시작 임계값(ssthresh3) 및/또는 제4 저속 시작 임계값(ssthresh4)과 동일하거나 또는 이에 근사한 값이 혼잡 윈도우의 크기(cwnd)의 최소값으로 설정되게 된다. 도 3에서는 제3 저속 시작 임계값(ssthresh3) 및 제4 저속 시작 임계값(ssthresh4)이 동일하거나 근사한 일례를 도시하였으나, 서로 동일하거나 근사한 저속 시작 임계값(ssthresh1 내지 ssthresh4)은 이에 한정되는 것은 아니다. 예를 들어, 제i 저속 시작 임계값(ssthresh_i)과 제(i+1) 저속 시작 임계값(ssthresh_(i+1))이 서로 동일할 수 있으며, 여기서 i는 1을 초과하는 자연수를 포함할 수 있다. 예를 들어, 일 실시예에 의하면, 제2 저속 시작 임계값(ssthresh2) 및 제3 저속 시작 임계값(ssthresh3)이 서로 동일하거나 근사한 것도 가능하다(i=2). 다른 실시예에 의하면, 제4 저속 시작 임계값(ssthresh4) 및 제5 저속 시작 임계값(ssthresh4)이 동일한 것도 가능하다(i=4). 이 경우, 제3 저속 시작 임계값(ssthresh3) 및 제4 저속 시작 임계값(ssthresh4)은 서로 상이할 수도 있다.In addition, when the retransmission response signal 92 is re-received for a predetermined number of times (for example, 3 times) or a number exceeding this, the congestion window processing unit 123 determines the size of the congestion window up to the fourth slow start threshold value (ssthresh4). (cwnd) can be reduced. Here, the fourth slow start threshold value ssthresh4 may also be set by the threshold value setting unit 127. As in the case of the third period p3, the size cwnd of the congestion window may be relatively gradually increased in the fourth period p4 as well. According to an embodiment, the fourth slow start threshold value ssthresh4 may be defined as a constant multiple of the maximum segment size in the same manner as the third slow start threshold value ssthresh3, and specifically, for example, 10 times the maximum segment size. It can also be defined. If the third slow start threshold value ssthresh3 is defined as 10 times the maximum segment size, the fourth slow start threshold value ssthresh4 may be the same as or approximately approximate to the third slow start threshold value ssthresh3. Accordingly, as shown in FIG. 3, the size cwnd of the congestion window in the fourth period p4 is set to be substantially the same as the size cwnd of the congestion window in the third period p3. The slow start threshold (not shown) in other periods (p5, etc.) after the fourth period (p4) is also the same as the third slow start threshold (ssthresh3) and/or the fourth slow start threshold (ssthresh4) described above. Or it can be set to almost nicely. Accordingly, the size of the congestion window (cwnd) is almost not less than a constant value, for example, the third slow start threshold value ssthresh3 and/or the fourth slow start threshold value ssthresh4. In other words, a value equal to or close to the third slow start threshold value ssthresh3 and/or the fourth slow start threshold value ssthresh4 is set as the minimum value of the size of the congestion window cwnd. 3 illustrates an example in which the third slow start threshold value ssthresh3 and the fourth slow start threshold value ssthresh4 are the same or approximate, but the slow start threshold values ssthresh1 to ssthresh4 that are the same or approximate are not limited thereto. . For example, the i-th slow start threshold value (ssthresh_i) and the (i+1)th slow start threshold value (ssthresh_(i+1)) may be the same, where i may include a natural number greater than 1. I can. For example, according to an embodiment, the second slow start threshold value ssthresh2 and the third slow start threshold value ssthresh3 may be equal to or approximate to each other (i=2). According to another embodiment, it is also possible that the fourth slow start threshold value ssthresh4 and the fifth slow start threshold value ssthresh4 are the same (i=4). In this case, the third slow start threshold value ssthresh3 and the fourth slow start threshold value ssthresh4 may be different from each other.

만약 상술한 과정 중에서 전송된 전송 데이터(90)에 대응하는 응답 신호(91)가 모두 수신되었다면, 혼잡 윈도우 처리부(123)는 혼잡 윈도우의 크기(cwnd)를 응답 신호(91)가 모두 수신된 시점에서의 저속 시작 임계 값(ssthresh1 내지 ssthresh4)으로 설정하고 상술한 고속 복원 동작을 종료한다. 필요에 따라, 혼잡 윈도우 처리부(123)는 저속 시작 및 혼잡 회피 동작을 순차적으로 더 수행할 수도 있다.If all the response signals 91 corresponding to the transmitted transmission data 90 are received during the above-described process, the congestion window processing unit 123 determines the size of the congestion window cwnd at the time when the response signals 91 are all received. Is set to the low-speed start threshold values (ssthresh1 to ssthresh4) and ends the above-described high-speed restoration operation. If necessary, the congestion window processing unit 123 may further sequentially perform slow start and congestion avoidance operations.

일 실시예에 따르면, 재전송 제어부(125)는 미리 정의된 횟수(일례로 3회)의 재전송 응답 신호(92)가 수신된 경우에는, 전송 과정에서 손실(loss)이 발생한 것으로 판단하고, 통신부(110)를 제어하여 전송 데이터(90)가 수신 장치(190)로 다시 전송되도록 할 수 있다. 이 경우, 재전송 제어부(125)는 수신 장치(190)로 재전송 응답 신호(92)에 대응하는 세그먼트가 다시 전송되도록 할 수도 있다(고속 재전송). 재전송이 개시되면, 재전송 제어부(125)는 재전송 개시에 대한 정보를 임계값 처리부(127)로 전달할 수 있으며, 임계값 처리부(127)는 이에 응하여 저속 시작 임계값(ssthresh1 내지 ssthresh4)을 정의할 수 있다.According to an embodiment, when the retransmission response signal 92 is received for a predefined number of times (for example, 3 times), the retransmission control unit 125 determines that loss has occurred in the transmission process, and the communication unit ( By controlling 110), the transmission data 90 may be transmitted back to the receiving device 190. In this case, the retransmission control unit 125 may cause the segment corresponding to the retransmission response signal 92 to be retransmitted to the receiving device 190 (high-speed retransmission). When retransmission is initiated, the retransmission control unit 125 may transmit information on the retransmission start to the threshold value processing unit 127, and the threshold value processing unit 127 may define a low speed start threshold (ssthresh1 to ssthresh4) in response thereto. have.

임계값 처리부(127)는 저속 시작 임계값(ssthresh1 내지 ssthresh4)을 결정할 수 있다. 일 실시예에 의하면, 임계값 처리부(127)는 임계값을 미리 정의된 값보다 크거나 동일하게 결정할 수 있다. 즉, 임계값 처리부(127)는 임계값의 최소 값이 미리 정의된 값과 동일하도록 임계값을 결정할 수 있다. 구체적으로 예를 들어, 임계값 처리부(127)는 플라이트 크기(flight size)의 절반(flightsize/2) 및 최대 세그먼트 크기의 n배수 중에서 더 큰 값을 임계값으로 정의할 수 있다. 여기서 n은 1보다 큰 정수로, 예를 들어, 10 등을 포함할 수 있다. 또한, 플라이트의 크기는, 수신 장치(190)로 전송되었으나 대응하는 응답 신호를 수신하지 못한 전송 데이터(91) 또는 이에 포함된 세그먼트의 크기를 의미할 수 있다. 임계값 처리부(127)가 상술한 바와 같이 저속 시작 임계값(ssthresh1 내지 ssthresh4)을 결정함에 따라서, 저속 시작 임계값(ssthresh1 내지 ssthresh4)은 최대 세그먼트 크기의 n배수보다 더 작은 값으로는 정의되지 않는다. 즉, 저속 시작 임계값(ssthresh1 내지 ssthresh4)의 최소 값은 n*최대 세그먼트 크기로 주어지게 된다. 임계값 처리부(127)가 결정한 저속 시작 임계값(ssthresh1 내지 ssthresh4)은 혼잡 윈도우 처리부(123)의 동작에 따라서 혼잡 윈도우 처리부(123)에 전달되고, 혼잡 윈도우 처리부(123)는 상술한 바와 같이 저속 시작 임계값(ssthresh1 내지 ssthresh4)을 기반으로 혼잡 윈도우의 크기(cwnd)를 조절할 수 있다.The threshold value processor 127 may determine the low speed start threshold values ssthresh1 to ssthresh4. According to an embodiment, the threshold value processor 127 may determine the threshold value equal to or greater than a predefined value. That is, the threshold value processing unit 127 may determine the threshold value such that the minimum value of the threshold value is equal to a predefined value. Specifically, for example, the threshold value processing unit 127 may define a larger value among half the flight size (flightsize/2) and n multiples of the maximum segment size as the threshold value. Here, n is an integer greater than 1, and may include, for example, 10. In addition, the size of the flight may mean the size of the transmission data 91 transmitted to the receiving device 190 but not receiving a corresponding response signal or a segment included therein. As the threshold value processing unit 127 determines the low speed start threshold values ssthresh1 to ssthresh4 as described above, the low speed start threshold values ssthresh1 to ssthresh4 are not defined as a value smaller than n times the maximum segment size. . That is, the minimum value of the slow start threshold values ssthresh1 to ssthresh4 is given by n*maximum segment size. The low-speed start threshold values ssthresh1 to ssthresh4 determined by the threshold value processing unit 127 are transmitted to the congested window processing unit 123 according to the operation of the congested window processing unit 123, and the congested window processing unit 123 is The size of the congestion window (cwnd) may be adjusted based on the start threshold values (ssthresh1 to ssthresh4).

도 4는 통신 제어 장치의 동작을 설명하기 위한 코드의 일례를 도시한 도면으로, 도 3에 도시된 통신 제어 장치(100)의 동작을 프로그램 코드 형태로 표시한 것이다.FIG. 4 is a diagram showing an example of a code for explaining the operation of the communication control device, in which the operation of the communication control device 100 shown in FIG. 3 is displayed in the form of a program code.

도 4에 도시된 바에 의하면, 먼저 소정의 횟수로 또는 그 이상으로 재전송 응답 신호(92)가 수신되어 고속 재전송이 개시되면(제1 라인), 저속 시작 임계값(ssthresh)은 플라이트 크기(flight size)의 절반 값(flightsize/2) 및 최대 세그먼트 크기의 n배(도 4에서는 10배)인 값 중에서 가장 큰 값으로 설정된다(제2 라인). 이와 같은 설정에 따라서 도 3의 제4 기간(p4) 및 제5 기간(p5)에 도시된 바와 같이, 혼잡 윈도우의 크기(cwnd)는 일정한 값(ssthresh3 또는 ssthresh4) 이하로는 설정되지 않게 된다.As shown in FIG. 4, when the retransmission response signal 92 is first received a predetermined number of times or more and high-speed retransmission is started (first line), the low-speed start threshold ssthresh is the flight size. ) Is set to the largest value (flightsize/2) and n times (10 times in FIG. 4) of the maximum segment size (second line). According to this setting, as shown in the fourth period p4 and the fifth period p5 of FIG. 3, the size of the congestion window cwnd is not set to be less than a certain value (ssthresh3 or ssthresh4).

순차적으로 혼잡 윈도우의 크기(cwnd)는 설정된 저속 시작 임계값(ssthresh)에 따라 설정된다(제3 라인). 예를 들어, 혼잡 윈도우 크기(cwnd)는 저속 시작 임계값(ssthresh)에 3을 더한 값으로 설정될 수 있다. 순차적으로 혼잡 윈도우 크기(cwnd)는 증가될 수 있으며, 예를 들어 1씩 증가될 수 있다(제4 라인). 제3 라인 및 제4 라인의 혼잡 윈도우 크기(cwnd)의 설정 값 및 증가 폭은 예시적인 것으로 혼잡 윈도우 크기(cwnd)는 이외에도 다양한 방법으로 설정되거나 증가될 수 있다.The size of the congestion window (cwnd) is sequentially set according to the set slow start threshold value (ssthresh) (third line). For example, the congestion window size cwnd may be set to a value obtained by adding 3 to the slow start threshold value ssthresh. Sequentially, the congestion window size cwnd may be increased, for example, may be increased by 1 (the fourth line). The set value and increase width of the congestion window size cwnd of the third line and the fourth line are exemplary, and the congestion window size cwnd may be set or increased in various ways.

만약 부분적으로 응답 신호(91, ACK)가 수신된 경우라면(제5 라인), 고속 복원은 지속적으로 수행될 수 있고(제6 라인), 순차적으로 또는 임의적 순서로 손실된 전송 데이터(90, 패킷의 형태로 전송될 수 있다. 또한 세그먼트를 포함할 수도 있다)가 수신 장치(190)로 재전송될 수 있다(제7 라인). 반대로 모든 응답 신호(91, ACK)가 수신된 경우라면(제8 라인), 혼잡 윈도우의 크기(cwnd)는 저속 시작 임계값(ssthresh)으로 설정될 수 있고(제9 라인), 고속 복원은 종료될 수 있다. 순차적으로, 저속 시작 및 회피 동작이 다시 수행될 수 있다(제10 및 제11 라인).If the response signal 91, ACK is partially received (line 5), high-speed restoration can be continuously performed (line 6), and the transmitted data 90, which are lost sequentially or in random order It may be transmitted in the form of. It may also include a segment) may be retransmitted to the receiving device 190 (seventh line). Conversely, if all response signals 91, ACK are received (line 8), the size of the congestion window (cwnd) can be set to a slow start threshold value (ssthresh) (line 9), and fast recovery ends. Can be. Sequentially, the slow start and avoid operation may be performed again (the tenth and eleventh lines).

상술한 프로그램 코드는 저장부(130)에 일시적 또는 비일시적으로 저장될 수 있으며, 프로세서(120)의 호출에 따라 구동될 수 있다. 또한, 상술한 프로그램 코드는 통신 제어 장치(100)에 장착 가능한 외부의 저장 매체(예를 들어, 콤팩트 디스크, 외장 하드디스크 또는 외장 메모리 장치 등)에 저장될 수도 있고, 통신 제어 장치(100)와 연결되고 별도로 마련된 하드웨어 장치(예를 들어, 네트워크 접속 서버(NAS: Network Access Server)나 데스크톱 컴퓨터 등)에 저장될 수도 있다.The above-described program code may be temporarily or non-temporarily stored in the storage unit 130 and may be driven according to a call from the processor 120. In addition, the above-described program code may be stored in an external storage medium (eg, a compact disk, an external hard disk, or an external memory device) mountable to the communication control device 100, and the communication control device 100 and It may be connected and stored in a separate hardware device (eg, a network access server (NAS) or a desktop computer).

이하 도 5 내지 도 7을 참조하여, 도 1 내지 도 4에 따른 통신 제어 장치(100)와 종래의 장치를 상호 비교하도록 한다.Hereinafter, with reference to FIGS. 5 to 7, the communication control apparatus 100 according to FIGS. 1 to 4 and the conventional apparatus are compared with each other.

도 5는 종래의 혼잡 윈도우의 시간적 변화의 일례를 도시한 도면이다.5 is a diagram showing an example of a temporal change of a conventional congestion window.

종래에는 도 5에 도시된 바와 같이 저속 시작 임계값(ssthresh11 내지 ssthresh14)은 3회의 재전송 응답 신호(92)가 수신될 때마다 계속해서 감소하였다. 다시 말해서, 제14 저속 시작 임계값(ssthresh14)의 크기는 제13 저속 시작 임계값(ssthresh13)보다 더 작게(예를 들어, 절반 정도의 크기로) 설정되었고, 동일하게 제15 저속 시작 임계값(미도시) 역시 제14 저속 시작 임계값(ssthresh14)보다 더 작게 설정되었다. 이에 따라 혼잡 윈도우의 크기(cwnd)는, 제11 기간 내지 제13 기간(p11 내지 p13) 이후의 기간, 즉 제14 기간(p14) 및 제15 기간(p15)에서도 지속적으로 감소하였다. 이와 같은 혼잡 윈도우의 크기(cwnd)의 지속적 감소는 사용자 데이터그램 프로토콜 플러딩 공격이나 전송 제어 프로토콜 공정성 공격 등과 같은 공격에 취약점을 보일 수 밖에 없다.Conventionally, as shown in FIG. 5, the low-speed start thresholds ssthresh11 to ssthresh14 continue to decrease every time three retransmission response signals 92 are received. In other words, the size of the 14th slow start threshold value ssthresh14 was set to be smaller than the 13th slow start threshold value ssthresh13 (for example, about half the size), and the 15th slow start threshold value ( Not shown) is also set smaller than the 14th slow start threshold (ssthresh14). Accordingly, the size of the congestion window (cwnd) is continuously decreased even in the periods after the 11th to 13th periods (p11 to p13), that is, the 14th period (p14) and the 15th period (p15). Such a continuous decrease in the size of the congestion window (cwnd) inevitably poses a vulnerability to attacks such as user datagram protocol flooding attacks and transmission control protocol fairness attacks.

도 6은 사용자 데이터그램 프로토콜 플러딩 공격에 대한 통신 제어 장치의 효과를 설명하기 위한 그래프이다. 도 6에서 x축은 사용자 데이터그램 프로토콜의 데이터율(Mbps)이고, y축은 스루풋(Mbps)이다. 적색은 종래 기술(NewReno)를 이용한 경우에서의 결과 값이고, 청색은 상술한 통신 제어 장치(100)를 이용한 경우에서의 결과 값이다. 도 6은, 충전소 당 20개의 전기 자동차(일례로 도 1의 10-1 내지 10-5 등)가 각각 충전기(20-1 내지 20-5 등)에 연결되어 있고, 최대 약 10 Mbps의 대역폭을 갖는 전력선 통신 링크를 이용하여 전기 자동차(10-1 내지 10-5 등) 및 충전기(20-1 내지 20-5 등)는 10 Mbps, 0.9ms의 대역폭으로 통신을 수행하고, 서비스 제공 장치(40) 및 공급 장치 통신 제어기(31, 32)는 500 Mbps, 10 ms의 큰 대역폭으로 통신을 수행할 수 있도록 설정한 상황 하에서, 20대의 전기 자동차 중 19대의 전기 자동차는 사용자 데이터그램 프로토콜로 통신을 수행하고, 나머지 1대의 전기 자동차는 종래의 기술을 기반으로 한 전송 제어 프로토콜 및 상술한 통신 제어 장치(100)를 기반으로 한 전송 제어 프로토콜 각각으로 통신을 수행하여 획득된 결과를 도시한 것이다.6 is a graph for explaining the effect of a communication control device on a user datagram protocol flooding attack. In FIG. 6, the x-axis is the data rate (Mbps) of the user datagram protocol, and the y-axis is the throughput (Mbps). Red is a result value in the case of using the prior art (NewReno), and blue is a result value in the case of using the communication control device 100 described above. 6, 20 electric vehicles per charging station (for example, 10-1 to 10-5 in FIG. 1) are connected to chargers (20-1 to 20-5, etc.), respectively, and a maximum bandwidth of about 10 Mbps. Electric vehicles (10-1 to 10-5, etc.) and chargers (20-1 to 20-5, etc.) communicate with a bandwidth of 10 Mbps and 0.9 ms using a power line communication link, and the service providing device 40 ) And supply device communication controllers (31, 32) are set to perform communication with a large bandwidth of 500 Mbps and 10 ms, 19 of 20 electric vehicles perform communication using the user datagram protocol. And, the remaining one electric vehicle shows a result obtained by performing communication with each of the transmission control protocol based on the conventional technology and the transmission control protocol based on the communication control device 100 described above.

구체적으로 도 6에 도시된 바를 참조하면, 사용자 데이터그램 프로토콜의 데이터율의 증가와 무관하게 항상 상술한 통신 제어 장치(100)를 이용한 경우에서의 스루풋이 종래 기술을 이용한 경우에서의 스루풋보다 훨씬 높음을 알 수 있다. 구체적으로 사용자 데이터그램 프로토콜의 데이터율이 2.5Mbps인 경우에는 상술한 통신 제어 장치(100)는 종래 기술에 비해 대략 2.5배 정도의 우수한 스루풋 성능을 발휘하였다. 또한, 평균 패킷 손실률이 5%인 환경에서 사용자 데이터그램 프로토콜의 데이터율이 가장 높은 경우, 즉 사용자 데이터그램 프로토콜의 데이터율이 12.5Mbps인 경우에는 상술한 통신 제어 장치(100)는 종래 기술에 비해 3.2~4배 정도의 우수한 스루풋 성능을 발휘하였다.Specifically, referring to FIG. 6, regardless of an increase in the data rate of the user datagram protocol, the throughput in the case of using the above-described communication control device 100 is always much higher than that in the case of using the prior art. Can be seen. Specifically, when the data rate of the user datagram protocol is 2.5 Mbps, the above-described communication control device 100 exhibited an excellent throughput performance of about 2.5 times that of the prior art. In addition, in an environment where the average packet loss rate is 5%, when the data rate of the user datagram protocol is the highest, that is, when the data rate of the user datagram protocol is 12.5 Mbps, the above-described communication control device 100 is It showed excellent throughput performance of about 3.2 to 4 times.

도 7은 전송 제어 프로토콜 공정성 공격에 대한 통신 제어 장치의 효과를 설명하기 위한 그래프이다. 도 7에서 x축은 평균 패킷 손실률(%)이고, y축은 스루풋(Mbps)이다. 적색은 종래 기술(NewReno)를 이용한 경우에서의 결과 값이고, 청색은 상술한 통신 제어 장치(100)를 이용한 경우에서의 결과 값이다. 도 7은 도 6과 동일한 상황 하에서 20대의 전기 자동차 중 19대의 전기 자동차는 종래의 어느 하나의 기술(Illinois 알고리즘) 기반의 혼잡 제어 알고리즘을 이용한 전송 제어 프로토콜을 통해 통신을 수행하도록 하고, 나머지 1대의 전기 자동차는 종래의 다른 기술(NewReno) 기반의 혼잡 제어 알고리즘을 이용한 전송 제어 프로토콜 및 상술한 통신 제어 장치(100)를 기반으로 한 전송 제어 프로토콜 각각을 통해 통신을 수행하도록 하여 획득된 결과를 도시한 것이다.7 is a graph for explaining the effect of a communication control device on a transmission control protocol fairness attack. In FIG. 7, the x-axis is the average packet loss rate (%), and the y-axis is the throughput (Mbps). Red is a result value in the case of using the prior art (NewReno), and blue is a result value in the case of using the communication control device 100 described above. 7 shows that 19 of the 20 electric vehicles perform communication through a transmission control protocol using a congestion control algorithm based on any one of the conventional technologies (Illinois algorithm) under the same situation as in FIG. 6, and the remaining one The electric vehicle shows the results obtained by performing communication through each of a transmission control protocol using a congestion control algorithm based on another conventional technology (NewReno) and a transmission control protocol based on the above-described communication control device 100. will be.

도 7에 도시된 바를 참조하면, 패킷 손실률이 0.25 내지 5%의 구간 모두에서 상술한 통신 제어 장치(100)를 기반으로 한 경우에 보다 우수한 스루풋 성능을 보임을 알 수 있다. 특히 패킷 손실률이 증가할수록 스루풋이 상대적으로 더욱 향상됨을 확인할 수 있다. 구체적으로 패킷 손실률이 5%인 경우에는, 종래의 다른 기술(NewReno)를 기반으로 한 경우보다 상술한 통신 제어 장치(100) 기반으로 한 경우에 대략 2.3배 정도 스루풋이 향상되었다.Referring to FIG. 7, it can be seen that the packet loss rate shows better throughput performance in all intervals of 0.25 to 5% based on the communication control apparatus 100 described above. In particular, it can be seen that as the packet loss rate increases, the throughput is relatively improved. Specifically, when the packet loss rate is 5%, throughput is improved by about 2.3 times when based on the communication control apparatus 100 described above than when based on another conventional technology (NewReno).

이와 같이 상술한 통신 제어 장치(100)는 종래의 다른 기술에 비해서 사용자 데이터그램 프로토콜 플러딩 공격이나 전송 제어 프로토콜 공정성 공격 등의 문제가 발생된 경우에도 높은 스루풋 성능을 보이게 되며, 이에 따라 상술한 공격 등에 따른 보안 문제를 해결할 수 있게 된다.As described above, the communication control device 100 exhibits high throughput performance even when a problem such as a user datagram protocol flooding attack or a transmission control protocol fairness attack occurs compared to other conventional technologies. Accordingly, the above-described attack, etc. It will be possible to solve the security problem that follows.

이하 도 8을 참조하여 통신 제어 방법의 일 실시예에 대해서 설명하도록 한다.Hereinafter, an embodiment of a communication control method will be described with reference to FIG. 8.

도 8은 통신 제어 방법의 일 실시예에 대한 흐름도이다.8 is a flowchart of an embodiment of a communication control method.

도 8에 도시된 바에 의하면, 먼저 전송 데이터가 수신 장치로 전송될 수 있다(300). 전송 데이터의 전송은 통신 제어 장치에 의해 수행될 수 있으며, 여기서 통신 제어 장치 및 수신 장치 중 적어도 하나는, 예를 들어, 전기 자동차, 전기 자동차가 연결 가능한 충전기, 공급 장치 통신 제어기 및 서비스 제공 장치 중 적어도 하나를 포함할 수 있다. 통신 제어 장치 및 수신 장치 각각은 유선 통신 네트워크 및 무선 통신 네트워크 중 적어도 하나를 기반으로 구현 가능하며, 이들 간의 통신은 소정의 통신 프로토콜, 예를 들어 전송 제어 프로토콜이나 사용자 데이터그램 프로토콜 등을 이용하여 수행될 수 있다.As shown in FIG. 8, first, transmission data may be transmitted to a receiving device (300). Transmission of the transmission data may be performed by the communication control device, wherein at least one of the communication control device and the receiving device is, for example, an electric vehicle, a charger to which an electric vehicle can be connected, a supply device communication controller, and a service providing device. It may include at least one. Each of the communication control device and the receiving device can be implemented based on at least one of a wired communication network and a wireless communication network, and communication between them is performed using a predetermined communication protocol, for example, a transmission control protocol or a user datagram protocol. Can be.

통신 제어 장치는 전송 데이터의 전송 이후에 혼잡 윈도우의 크기를 조절하되, 저속 시작을 통하여 혼잡 윈도우의 크기를 증가시킬 수 있다(302). 저속 시작 시에는 혼잡 윈도우의 크기는, 급격하게 증가 가능하며, 예를 들어, 지수적으로 증가될 수 있다.The communication control apparatus adjusts the size of the congestion window after transmission of the transmission data, but may increase the size of the congestion window through slow start (302). At a low speed start, the size of the congestion window can be rapidly increased, for example, can be increased exponentially.

혼잡 윈도우의 크기가 만약 미리 설정된 저속 시작 임계값(일례로 제1 저속 시작 임계값)에 도달하였는지 여부가 판단될 수 있다(304). 여기서 저속 시작 임계값은 플라이트 크기의 절반 및 최대 세그먼트 크기의 배수(예를 들어, 최대 세그먼트 크기의 10배) 중 큰 값으로 설정된 것일 수 있다. 만약 혼잡 윈도우의 크기가 저속 시작 임계값에 도달하지 못 했다면(304의 아니오, 다시 말해서, 혼잡 윈도우의 크기가 저속 시작 임계값보다 작다면), 저속 시작 동작이 계속해서 수행될 수 있다(302). 반대로 혼잡 윈도우의 크기가 저속 시작 임계값과 동일하거나 이를 초과함으로써 저속 시작 임계값에 도달하였다면(304의 예), 혼잡 회피 동작이 수행될 수 있다(306).It may be determined whether the size of the congestion window reaches a preset low-speed start threshold (for example, a first low-speed start threshold) (304). Here, the low-speed start threshold may be set to a larger value among half the flight size and a multiple of the maximum segment size (eg, 10 times the maximum segment size). If the size of the congestion window does not reach the low-speed start threshold (No of 304, that is, if the size of the congestion window is less than the low-speed start threshold), the low-speed start operation may be continuously performed (302). . Conversely, if the size of the congestion window is equal to or exceeds the low-speed start threshold value and thus reaches the low-speed start threshold value (example of 304), the congestion avoidance operation may be performed (306).

혼잡 회피 동작 하에서는 혼잡 윈도우의 크기는 상대적으로 완만하게 증가할 수 있다. 예를 들어, 혼잡 윈도우의 크기는 1만큼 증가할 수 있다.In the congestion avoidance operation, the size of the congestion window may increase relatively gently. For example, the size of the congestion window may increase by 1.

한편 데이터 전송 이후, 수신 장치는 전송 데이터, 일례로 패킷이나 세그먼트의 수신에 응하여 응답 신호 또는 재전송 응답 신호를 통신 제어 장치로 전송할 수 있다. 응답 신호는 수신 장치가 적절하게 전송 데이터를 수신한 경우에 통신 제어 장치로 전송하는 신호이고, 재전송 응답 신호는 수신 장치가 전송 데이터를 적절하게 수신하지 못한 경우에 전송하는 신호이다. 통신 장치는 재전송 응답 신호의 수신 계수를 계수하고(308), 만약 재전송 응답 신호의 수신 횟수가 미리 정의된 횟수(예를 들어, 3회)와 동일하거나 또는 이를 초과한다면(308의 예), 혼잡 윈도우의 크기를 조정할 수 있다(310). 예를 들어, 통신 제어 장치는 다른 저속 시작 임계값(일례로 반복 횟수에 따라서 제2 저속 시작 임계값 내지 제4 저속 시작 임계 값)에 따라서 혼잡 윈도우의 크기를 조절할 수도 있다. 이 경우, 혼잡 윈도우의 크기는 다른 저속 시작 임계값에 소정의 수(예를 들어, 3)을 더한 값으로 결정될 수도 있다. 반대로 재전송 응답 신호의 수신 횟수가 미리 정의된 횟수보다 작다면(308의 아니오), 상술한 혼잡 회피 동작을 계속 수행할 수 있다.Meanwhile, after data transmission, the receiving device may transmit a response signal or a retransmission response signal to the communication control device in response to reception of transmission data, for example, a packet or segment. The response signal is a signal transmitted to the communication control device when the reception device properly receives the transmission data, and the retransmission response signal is a signal transmitted when the reception device does not properly receive the transmission data. The communication device counts the reception coefficient of the retransmission response signal (308), and if the number of reception of the retransmission response signal is equal to or exceeds a predefined number (eg, 3 times) (example of 308), congestion The size of the window can be adjusted (310). For example, the communication control apparatus may adjust the size of the congestion window according to another low speed start threshold value (eg, a second low speed start threshold value to a fourth low speed start threshold value depending on the number of repetitions). In this case, the size of the congestion window may be determined as a value obtained by adding a predetermined number (eg, 3) to another slow start threshold. Conversely, if the number of times the retransmission response signal is received is less than the predefined number (No in 308), the above-described congestion avoidance operation may be continuously performed.

혼잡 회피 동작 내지 혼잡 윈도우의 크기 조정 과정(306 내지 310)은 반복 가능하다(312). 반복 과정(306 내지 312)에 있어서, 혼잡 윈도우의 최소 크기는 일정한 수준까지는 감소하다가 이후부터는 계속 유지되게 된다. 즉, 혼잡 윈도우의 최소 크기는, 저속 시작 임계값(예를 들어, 상술한 제3 저속 시작 임계값 또는 제4 저속 시작 임계값)보다 크게 설정되며, 예를 들어, 플라이트 크기의 절반 및 최대 세그먼트 크기의 n배수(예를 들어, 10배수) 중 큰 값보다 더 작아지지 않는다.The congestion avoidance operation or the process of adjusting the size of the congestion window (306 to 310) can be repeated (312). In the iterative process (306 to 312), the minimum size of the congestion window decreases to a certain level and is maintained thereafter. That is, the minimum size of the congestion window is set larger than the low speed start threshold (eg, the above-described third low speed start threshold or the fourth low speed start threshold), and, for example, half of the flight size and the maximum segment It is not smaller than the larger of the n multiples of size (eg, 10 times).

한편, 혼잡 회피 동작(306) 중에서 응답 신호가 모두 수신되면, 실시예에 따라서, 혼잡 윈도우의 크기는 저속 시작 임계값으로 정의되고, 저속 시작 동작(302)을 다시 수행하게 될 수도 있다.On the other hand, if all response signals are received during the congestion avoidance operation 306, the size of the congestion window is defined as a low-speed start threshold value, and the low-speed start operation 302 may be performed again according to an embodiment.

또한, 실시예에 따라, 전송 데이터의 전송 이후, 재전송 응답 신호를 수신하면, 통신 제어 장치는 재전송 응답 신호의 수신 여부 또는 수신된 재전송 응답 신호의 개수에 따라서 전송 데이터의 전부 또는 일부(예를 들어, 전송 실패된 세그먼트 등)를 다시 전송할 수도 있다. 예를 들어, 통신 제어 장치는 3개의 동일하거나 또는 상이한 재전송 응답 신호를 수신하면, 전송 데이터의 전부 또는 일부를 수신 장치로 다시 전송할 수도 있다.In addition, according to an embodiment, after transmission of the transmission data, when receiving a retransmission response signal, the communication control device may all or part of the transmission data (for example, depending on whether the retransmission response signal is received or the number of , Transmission failed segment, etc.) may be retransmitted. For example, upon receiving three identical or different retransmission response signals, the communication control device may transmit all or part of the transmitted data back to the receiving device.

상술한 실시예에 따른 통신 제어 방법은, 컴퓨터 장치에 의해 구동될 수 있는 프로그램의 형태로 구현될 수 있다. 여기서 프로그램은, 프로그램 명령, 데이터 파일 및 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 프로그램은 기계어 코드나 고급 언어 코드를 이용하여 설계 및 제작된 것일 수 있다. 프로그램은 상술한 통신 제어 방법을 구현하기 위하여 특별히 설계된 것일 수도 있고, 컴퓨터 소프트웨어 분야에서 통상의 기술자에게 기 공지되어 사용 가능한 각종 함수나 정의를 이용하여 구현된 것일 수도 있다. 여기서, 컴퓨터 장치는, 프로그램의 기능을 실현 가능하게 하는 프로세서나 메모리 등을 포함하여 구현된 것일 수 있으며, 필요에 따라 통신 장치를 더 포함할 수도 있다.The communication control method according to the above-described embodiment may be implemented in the form of a program that can be driven by a computer device. Here, the program may include a program command, a data file, a data structure, or the like alone or in combination. The program may be designed and produced using machine code or high-level language code. The program may be specially designed to implement the above-described communication control method, or may be implemented using various functions or definitions that are known and available to those skilled in the computer software field. Here, the computer device may be implemented by including a processor or a memory that enables the function of a program to be realized, and may further include a communication device if necessary.

상술한 통신 제어 방법을 구현하기 위한 프로그램은, 컴퓨터에 의해 판독 가능한 기록 매체에 기록될 수 있다. 컴퓨터에 의해 판독 가능한 기록 매체는, 예를 들어, 하드 디스크나 플로피 디스크와 같은 자기 디스크 저장 매체, 자기 테이프, 콤팩트 디스크나 디브이디와 같은 광 기록 매체, 플롭티컬 디스크와 같은 자기-광 기록 매체 및 롬, 램 또는 플래시 메모리 등과 같은 반도체 저장 장치 등 컴퓨터 등의 호출에 따라 실행되는 특정 프로그램을 저장 가능한 다양한 종류의 하드웨어 장치를 포함할 수 있다. The program for implementing the above-described communication control method can be recorded in a computer-readable recording medium. The computer-readable recording medium includes, for example, a magnetic disk storage medium such as a hard disk or a floppy disk, a magnetic tape, an optical recording medium such as a compact disk or a DVD, a magnetic-optical recording medium such as a floppy disk, and a ROM. , A semiconductor storage device such as RAM or flash memory, etc., may include various types of hardware devices capable of storing a specific program executed according to a call from a computer.

이상 통신 제어 장치 및 방법의 여러 실시예에 대해 설명하였으나, 통신 제어 장치 및 방법은 오직 상술한 실시예에 한정되는 것은 아니다. 해당 기술 분야에서 통상의 지식을 가진 자가 상술한 실시예를 기초로 수정 및 변형하여 구현 가능한 다양한 장치나 방법 역시 상술한 통신 제어 장치 및 방법의 일례가 될 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성 요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나 다른 구성 요소 또는 균등물에 의하여 대치되거나 또는 치환되더라도 상술한 통신 제어 장치 및 방법의 일 실시예가 될 수 있다.Although various embodiments of the communication control apparatus and method have been described above, the communication control apparatus and method are not limited to the above-described embodiments. Various devices or methods that can be implemented by modifying and modifying based on the above-described embodiment by a person of ordinary skill in the art may also be an example of the above-described communication control device and method. For example, the described techniques are performed in an order different from the described method, and/or components such as systems, structures, devices, circuits, etc. described are combined or combined in a form different from the described method, or other components or Even if it is replaced or substituted by an equivalent, it may be an embodiment of the above-described communication control apparatus and method.

100: 통신 제어 장치 110: 통신부
120: 프로세서 121: 응답 확인부
123: 혼잡 윈도우 처리부 125: 재전송 제어부
127: 임계값 설정부 130: 저장부
100: communication control device 110: communication unit
120: processor 121: response confirmation unit
123: congestion window processing unit 125: retransmission control unit
127: threshold value setting unit 130: storage unit

Claims (14)

데이터를 전송하고, 전송 데이터의 전송 오류 여부에 따라 재전송 응답 신호를 수신하는 통신부; 및
혼잡 윈도우의 크기를 조절하되, 상기 재전송 응답 신호의 수신 횟수가 미리 정의된 횟수 이상이면, 상기 혼잡 윈도우의 크기를 임계값으로 축소시키는 프로세서;를 포함하되,
상기 임계값의 최소값은 최대 세그먼트 크기의 n배수(n은 자연수)를 포함하고,
상기 프로세서는, 상기 혼잡 윈도우의 크기가 제i 저속 시작 임계값이면 상기 혼잡 윈도우의 크기를 선형적으로 증가시키고, 상기 재전송 응답 신호의 수신 횟수가 3회 이상이면, 선형적으로 증가되던 상기 혼잡 윈도우의 크기를 제(i+1) 저속 시작 임계값으로 감소시키고,
상기 제i 저속 시작 임계값 및 상기 제(i+1) 저속 시작 임계값은 서로 동일한,
통신 제어 장치.
A communication unit that transmits data and receives a retransmission response signal according to whether or not there is a transmission error of the transmission data; And
Including; a processor for adjusting the size of the congestion window, but reducing the size of the congestion window to a threshold value when the number of times of receiving the retransmission response signal is more than a predefined number,
The minimum value of the threshold value includes n times the maximum segment size (n is a natural number),
The processor linearly increases the size of the congestion window when the size of the congestion window is an i-th low speed start threshold value, and the congestion window linearly increases when the number of times of receiving the retransmission response signal is 3 or more Reduce the magnitude of (i+1) to the slow start threshold,
The i-th slow start threshold and the (i+1)th slow start threshold are the same as each other,
Communication control device.
제1항에 있어서,
상기 n배수는 10배수를 포함하는 통신 제어 장치.
The method of claim 1,
The communication control device, wherein the n multiple is a multiple of 10.
제1항에 있어서,
상기 임계값은, 플라이트 크기의 절반 및 상기 최대 세그먼트 크기의 n배수 중 더 큰 값으로 결정되는 통신 제어 장치.
The method of claim 1,
The threshold value is determined to be a larger value of half of the flight size and n multiples of the maximum segment size.
삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 프로세서는, 상기 혼잡 윈도우의 크기가 제1 저속 시작 임계값에 도달할 때까지 상기 혼잡 윈도우의 크기를 지수적으로 증가시키는 통신 제어 장치.
The method of claim 1,
The processor exponentially increases the size of the congestion window until the size of the congestion window reaches a first low speed start threshold.
데이터를 전송하는 단계;
전송 데이터의 전송 오류 여부에 따라 재전송 응답 신호를 수신하는 단계; 및
혼잡 윈도우의 크기를 조절하되, 상기 재전송 응답 신호의 수신 횟수가 미리 정의된 횟수 이상이면, 상기 혼잡 윈도우의 크기를 임계값으로 축소시키는 단계;를 포함하되,
상기 임계값의 최소값은 최대 세그먼트 크기의 n배수(n은 자연수)를 포함하고,
상기 혼잡 윈도우의 크기를 조절하는 단계는,
상기 혼잡 윈도우의 크기가 제i 저속 시작 임계값이면, 상기 혼잡 윈도우의 크기를 선형적으로 증가시키는 단계; 및
상기 재전송 응답 신호의 수신 횟수가 3회 이상이면, 선형적으로 증가되던 상기 혼잡 윈도우의 크기를 제(i+1) 저속 시작 임계값으로 감소시키는 단계를 포함하고,
상기 제i 저속 시작 임계값 및 상기 제(i+1) 저속 시작 임계값은 서로 동일한,
통신 제어 방법.
Transmitting data;
Receiving a retransmission response signal according to whether or not there is a transmission error of transmission data; And
Adjusting the size of the congestion window, but if the number of times of receiving the retransmission response signal is equal to or greater than a predefined number, reducing the size of the congestion window to a threshold value; Including,
The minimum value of the threshold value includes n times the maximum segment size (n is a natural number),
Adjusting the size of the congestion window,
If the size of the congestion window is an i-th slow start threshold, linearly increasing the size of the congestion window; And
If the number of times of reception of the retransmission response signal is 3 or more, reducing the size of the congestion window which has been linearly increased to a (i+1)th slow start threshold value,
The i-th slow start threshold and the (i+1)th slow start threshold are the same as each other,
Communication control method.
제8항에 있어서,
상기 n배수는 10배수를 포함하는 통신 제어 방법.
The method of claim 8,
The communication control method including the n multiples 10.
제8항에 있어서,
상기 임계값을 플라이트 크기의 절반 및 상기 최대 세그먼트 크기의 n배수 중 더 큰 값으로 결정하는 단계;를 더 포함하는 통신 제어 방법.
The method of claim 8,
Determining the threshold value as a larger value of half of the flight size and n multiples of the maximum segment size.
삭제delete 삭제delete 삭제delete 제8항에 있어서,
상기 혼잡 윈도우의 크기를 조절하는 단계는,
상기 혼잡 윈도우의 크기가 제1 저속 시작 임계값에 도달할 때까지 상기 혼잡 윈도우의 크기를 지수적으로 증가시키는 단계;를 포함하는 통신 제어 방법.
The method of claim 8,
Adjusting the size of the congestion window,
And exponentially increasing the size of the congestion window until the size of the congestion window reaches a first low speed start threshold.
KR1020190137438A 2019-10-31 2019-10-31 Apparatus for controlling communication and method thereof KR102208856B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190137438A KR102208856B1 (en) 2019-10-31 2019-10-31 Apparatus for controlling communication and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190137438A KR102208856B1 (en) 2019-10-31 2019-10-31 Apparatus for controlling communication and method thereof

Publications (1)

Publication Number Publication Date
KR102208856B1 true KR102208856B1 (en) 2021-01-27

Family

ID=74238695

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190137438A KR102208856B1 (en) 2019-10-31 2019-10-31 Apparatus for controlling communication and method thereof

Country Status (1)

Country Link
KR (1) KR102208856B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020093543A (en) * 2001-06-09 2002-12-16 주식회사 하이닉스반도체 Method for controling multi-packet loss
KR20090003848A (en) 2007-07-05 2009-01-12 에스케이 텔레콤주식회사 Method for congestion control in transport control protocol, and recorded medium for them
KR20170076759A (en) 2014-10-27 2017-07-04 베이징 후아시아추앙신 테크놀러지 리미티드 Optimization method and system based on throughput rate and packet loss control cwnd
KR20190048305A (en) * 2017-10-31 2019-05-09 한국전자통신연구원 Method for vehicle to vehicle multicast and message retransmission, and apparatus for the same
KR20190096348A (en) 2016-12-27 2019-08-19 넷플릭스, 인크. Packet Loss Tolerant Transmission Control Protocol Congestion Control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020093543A (en) * 2001-06-09 2002-12-16 주식회사 하이닉스반도체 Method for controling multi-packet loss
KR20090003848A (en) 2007-07-05 2009-01-12 에스케이 텔레콤주식회사 Method for congestion control in transport control protocol, and recorded medium for them
KR20170076759A (en) 2014-10-27 2017-07-04 베이징 후아시아추앙신 테크놀러지 리미티드 Optimization method and system based on throughput rate and packet loss control cwnd
KR20190096348A (en) 2016-12-27 2019-08-19 넷플릭스, 인크. Packet Loss Tolerant Transmission Control Protocol Congestion Control
KR20190048305A (en) * 2017-10-31 2019-05-09 한국전자통신연구원 Method for vehicle to vehicle multicast and message retransmission, and apparatus for the same

Similar Documents

Publication Publication Date Title
US11018798B2 (en) Auto-tuning reliability protocol in pub-sub RTPS systems
US10848268B2 (en) Forward packet recovery with constrained network overhead
CN110445722B (en) Congestion control method, device, equipment and storage medium
US9838318B2 (en) TCP congestion control for large latency networks
CN103986548A (en) Method for determining packet loss reasons and terminal
CN107342848A (en) A kind of adaptive code stream transmission method, device and equipment
CN110460412A (en) Method and RDMA network interface card for data transmission
CN104683259A (en) TCP congestion control method and device
CN109525376A (en) Fast retransmission method, apparatus and terminal device
CN102970118A (en) Transmission control protocol acknowledgement (TCP ACK) message processing method and device and wireless network equipment
CN105227484B (en) A kind of data transfer control method towards satellite network
KR102208856B1 (en) Apparatus for controlling communication and method thereof
CA2848459A1 (en) Method of controlling congestion for contention access network
US20130070781A1 (en) Probabilistic contention window management
US10200154B2 (en) System and method for early packet header verification
Mizutani et al. Network-supported TCP rate control for high-speed power line communications environments
CN110865965B (en) Method and device for realizing bidirectional data synchronization of flow table based on hardware
CN112188553B (en) Data transmission method and device of 5G system
CN104702531A (en) Network equipment congestion avoidance method and network equipment
EP3041285A1 (en) Data frame sending method and apparatus
WO2019015487A1 (en) Data retransmission method, rlc entity and mac entity
CN106341348B (en) A kind of flow control methods and access network elements towards TCP traffic
KR102096719B1 (en) Terminal device and Method for setting size of congestion window for controlling congestion in V2G network
WO2021152369A1 (en) Dynamic uplink end-to-end data transfer scheme with optimized memory path
EP4250677A1 (en) Network congestion management method and related apparatus

Legal Events

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