KR102435334B1 - Adaptive Bidirectional Forwarding Detection protocol and equipment for maximizing service availability in network system - Google Patents

Adaptive Bidirectional Forwarding Detection protocol and equipment for maximizing service availability in network system Download PDF

Info

Publication number
KR102435334B1
KR102435334B1 KR1020150064073A KR20150064073A KR102435334B1 KR 102435334 B1 KR102435334 B1 KR 102435334B1 KR 1020150064073 A KR1020150064073 A KR 1020150064073A KR 20150064073 A KR20150064073 A KR 20150064073A KR 102435334 B1 KR102435334 B1 KR 102435334B1
Authority
KR
South Korea
Prior art keywords
transmission period
session
echo packets
node
bfd
Prior art date
Application number
KR1020150064073A
Other languages
Korean (ko)
Other versions
KR20160131532A (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 KR1020150064073A priority Critical patent/KR102435334B1/en
Publication of KR20160131532A publication Critical patent/KR20160131532A/en
Application granted granted Critical
Publication of KR102435334B1 publication Critical patent/KR102435334B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 BFD 시스템의 제1장치가 제어 메시지를 전송하는 방법은, 서로 다른 전송 주기(timer)를 갖는 에코 메시지들의 집합을 제2장치에 순차적으로(sequentially) 전송하는 단계, 상기 전송된 에코 메시지들의 집합의 루프백 결과에 기초하여 제어 메시지의 전송 주기를 결정하는 단계 및 상기 결정된 전송 주기에 따라 상기 제어 메시지를 상기 제2장치에 전송하는 단계를 포함하여, BFD 프로토콜을 최적화하여 네트워크의 사용자의 가용성을 높일 수 있다.A method for transmitting a control message by a first device of a BFD system according to an embodiment of the present invention includes: sequentially transmitting a set of echo messages having different transmission periods to a second device; optimizing the BFD protocol, including determining a transmission period of a control message based on a loopback result of the set of transmitted echo messages and transmitting the control message to the second device according to the determined transmission period It can increase the availability of users of the network.

Description

네트워크 시스템의 서비스 가용성을 최대로 보장하기 위한 적응형 BFD 프로토콜과 그 장치{Adaptive Bidirectional Forwarding Detection protocol and equipment for maximizing service availability in network system}Adaptive Bidirectional Forwarding Detection protocol and equipment for maximizing service availability in network system

본 발명은 네트워크 시스템에서 장애가 발생하였을 경우에 최대한 빠른 시간 내에 장애를 복구하여 사용자가 끊김 없는 서비스(seamless service)를 제공받을 수 있도록 하는 방법과 장치에 대한 것으로서, 구체적으로는 네트워크 시스템의 서비스 가용성을 최대로 보장하기 위한 적응형 BFD(Bidirectional Forwarding Detection) 프로토콜 및 장치에 관한 것이다.The present invention relates to a method and apparatus for recovering a failure within the shortest possible time when a failure occurs in a network system so that a user can be provided with a seamless service. Specifically, the service availability of the network system is improved. It relates to an adaptive BFD (Bidirectional Forwarding Detection) protocol and apparatus for maximally guaranteeing.

일반적으로 네트워크 시스템에서의 장애(failure)는 노드 장애(Node failure)와 네트워크 장애(Network failure)로 구분될 수 있다. Node failure는 특정한 노드 시스템의 내부 네트워크 자원 및 환경을 고려하여 탐지되며, 구체적으로는 각 장비의 평균적인 부하 및 사용률 또는 BFD가 동작하는 link의 bandwidth를 고려할 수 있다.Network failure는 시스템 외부 네트워크 자원 및 외부 congestion 상황을 고려하여 탐지된다.In general, a failure in a network system can be divided into a node failure and a network failure. Node failure is detected by considering the internal network resources and environment of a specific node system, and specifically, the average load and usage rate of each device or the bandwidth of the link in which the BFD operates. It is detected considering the external congestion situation.

네트워크 시스템을 운용하는 경우에 가장 핵심적인 이슈 중의 하나는 여러 가지 원인으로 장애가 발생하였을 경우에, 이를 최대한 빠른 시간 내에 감지하여 장애를 해결하는 것이고, 이와 관련하여 사업자간 혹은 사업자와 사용자간의 다양한 SLA(Service Level Agreement)의 관리가 더욱 더 중요해지고 있다.One of the most important issues in operating a network system is to detect and resolve failures as quickly as possible when failures occur due to various causes. Service Level Agreement) management is becoming more and more important.

최근 들어서는 장애 발생시에, 빠른 시간 내의 서비스 복구와 관련하여, 네트워크 사용자 입장에서 장애 발생 사실을 인지하지 못할 정도로 빠른 시간 내에 장애를 복구하는, 즉 끊김 없는(seamless) 서비스를 제공하는 다양한 기술이 제시되고 있다. 그 중에서 IETF(Internet Engineering Task Force)에서 표준화한 BFD Protocol이 장애 감지 프로토콜로서 주목받고 있다. BFD Protocol에 의해 상기 node failure 및 network failure를 빠르게 탐지할 수 있다. In recent years, in relation to service recovery within a short time in the event of a failure, various technologies have been proposed that provide a seamless service, that is, recover from a failure in such a short time that the network user does not recognize the fact that the failure has occurred. have. Among them, the BFD Protocol standardized by the Internet Engineering Task Force (IETF) is attracting attention as a failure detection protocol. The node failure and network failure can be quickly detected by the BFD Protocol.

본 발명은 BFD 프로토콜을 최적화하여 네트워크의 사용자의 가용성을 높이는 방법을 제시한다.The present invention proposes a method for increasing the availability of users of a network by optimizing the BFD protocol.

본 발명의 일 실시예에 따른 BFD 시스템의 제1장치가 제어 메시지를 전송하는 방법은, 서로 다른 전송 주기(timer)를 갖는 에코 메시지들의 집합을 제2장치에 순차적으로(sequentially) 전송하는 단계, 상기 전송된 에코 메시지들의 집합의 루프백 결과에 기초하여 제어 메시지의 전송 주기를 결정하는 단계 및 상기 결정된 전송 주기에 따라 상기 제어 메시지를 상기 제2장치에 전송하는 단계를 포함하는 것을 특징으로 한다.A method for transmitting a control message by a first device of a BFD system according to an embodiment of the present invention includes: sequentially transmitting a set of echo messages having different transmission periods to a second device; and determining a transmission period of a control message based on a loopback result of the set of transmitted echo messages, and transmitting the control message to the second device according to the determined transmission period.

본 발명의 일 실시예에 따른 BFD 장치는, 서로 다른 전송 주기(timer)를 갖는 에코 메시지들의 집합을 제2장치에 순차적으로(sequentially) 전송하고, 전송 주기에 따라 상기 제어 메시지를 상기 제2장치에 전송하는 통신부 및 상기 전송된 에코 메시지들의 집합의 루프백 결과에 기초하여 제어 메시지의 상기 전송 주기를 결정하는 제어부를 포함하는 것을 특징으로 한다.The BFD device according to an embodiment of the present invention sequentially transmits a set of echo messages having different transmission periods to a second device, and transmits the control message to the second device according to the transmission period. and a communication unit for transmitting to the , and a control unit for determining the transmission period of the control message based on a loopback result of the set of the transmitted echo messages.

BFD 운영시에, 실시간으로 변화하는 네트워크 혼잡(congestion)을 동적으로 반영한 타이머(timer)를 설정하여 장애 발생 시 발생하는 트래픽 손실(traffic loss)를 최소화할 수 있다. 이에 따라, BFD 자체가 지속적이고 반복적으로 네트워크 환경에 적응하도록 하여 사용자가 경험하는 서비스 가용성을 높인다. 네트워크 관리자에 의한 복잡한 트래픽 설계(traffic engineering)나 trial and error 방법을 통한 노력이나 시행착오를 줄이면서, 네트워크 환경에 따라 적절한 제어 패킷(control packet)의 전송 타이머(tx timer)를 결정할 수 있도록 한다.During BFD operation, it is possible to minimize traffic loss that occurs when a failure occurs by setting a timer that dynamically reflects network congestion that changes in real time. Accordingly, the BFD itself continuously and repeatedly adapts to the network environment, thereby increasing the service availability experienced by users. It is possible to determine an appropriate control packet transmission timer (tx timer) according to a network environment while reducing effort or trial and error through complicated traffic engineering or trial and error methods by a network administrator.

도 1은 BFD를 운영하는 이동통신 망의 토폴로지를 나타낸 것이다.
도 2는 BFD가 운영되는 일반적인 시나리오를 나타낸 것이다.
도 3은 RFC 5880에 정의되어 있는 BFD Control PDU(Protocol Data Unit) 포맷(301) 및 BFD Echo PDU 포맷(304)이다.
도 4는 RFC 5880에 정의되어 있는 BFD 메시지 흐름(Message flow)에 대한 과정이다.
도 5a, 5b, 5c 및 5d는 BFD 프로토콜 운영시 각 모듈의 동작 절차이다.
도 6은 적응적 타이머를 적용한 BFD의 전체적인 동작 흐름을 나타낸 것이다.
도 7은 적응적 BFD Protocol의 전체적인 message flow를 나타낸 것이다.
도 8은 타이머의 값이 전송 손실, 장애 복구 시간, 서비스 가용성에 미치는 영향을 나타내는 그래프들이다.
도 9는 timer adaptation 과정에서 BFD Echo Packet의 timer의 값을 조정하는 것을 나타낸다.
도 10은 전송량(throughput)을 기준으로 Timer adaptation 동작을 수행하는 예시를 나타낸 것이다.
도 11은 본 발명의 시스템이 포함하는 모듈들의 일 실시예를 나타낸다.
도 12a, 12b, 12c 및 12d는 본 발명에 따른 BFD Protocol의 내부 동작 과정을 Flow Chart로 나타낸 것이다.
도 13은 BFD 시스템의 장치가 제어 메시지를 전송하는 방법을 나타낸다.
도 14는 BFD 장치의 구성을 나타낸다.
1 shows a topology of a mobile communication network operating BFD.
2 shows a general scenario in which BFD is operated.
3 is a BFD Control Protocol Data Unit (PDU) format 301 and a BFD Echo PDU format 304 defined in RFC 5880.
4 is a process for a BFD message flow defined in RFC 5880 (Message flow).
5a, 5b, 5c and 5d are operation procedures of each module when operating the BFD protocol.
6 shows the overall operation flow of the BFD to which the adaptive timer is applied.
7 shows the overall message flow of the adaptive BFD protocol.
8 is a graph showing the effect of a timer value on transmission loss, failure recovery time, and service availability.
9 shows adjustment of a timer value of a BFD echo packet in a timer adaptation process.
10 illustrates an example of performing a timer adaptation operation based on throughput.
11 shows an embodiment of the modules included in the system of the present invention.
12a, 12b, 12c and 12d are flow charts showing the internal operation process of the BFD Protocol according to the present invention.
13 shows a method for a device of a BFD system to transmit a control message.
14 shows the configuration of a BFD device.

본 명세서 및 청구범위에 있어서 "포함하는"은 다른 요소들 또는 동작들을 배제한다는 의미가 아니다. 본 명세서 및 청구범위에 있어서 단수 명사는 달리 특별히 언급되지 않는다면 복수 명사를 포함할 수 있다. 예컨대 "패킷"은 하나의 패킷을 가리킬 수도 있고 2 이상의 패킷을 포함할 수도 있다. 또한 "메시지"는 하나의 메시지를 가리킬 수도 있고 2 이상의 메시지를 포함할 수도 있다. 본 명세서 및 청구범위에 있어서 구성요소에 대한 접미사 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 본 명세서 및 청구범위에 있어서 "제1, 제2, 제3"는 유사한 요소들을 구별하기 위해 사용되었으며, 반드시 순차적 또는 연대순으로 기술하기 위해 사용된 것은 아니다.In this specification and claims, “comprising” does not mean excluding other elements or acts. In this specification and claims, singular nouns may include plural nouns unless specifically stated otherwise. For example, "packet" may refer to one packet or may include two or more packets. Also, "message" may refer to one message or may include two or more messages. In the present specification and claims, the suffix “part” for a component is given or mixed in consideration of only the ease of writing the specification, and does not have a meaning or role distinct from each other by itself. In this specification and claims, "first, second, and third" are used to distinguish similar elements, and are not necessarily used to describe sequentially or chronologically.

본 명세서 및 청구범위에 있어서 "패킷", "트래픽", "메시지"는 서로 혼용될 수 있다. 본 명세서 및 청구범위에 있어서 "패킷 손실", "트래픽 손실", "전송 손실"은 서로 혼용될 수 있다. 본 명세서 및 청구범위에 있어서 "타이머", "간격(interval)", "주기(cycle or period)"는 서로 혼용될 수 있다. 패킷 또는 메시지가 전송 주기를 가지는 경우, 상기 패킷 또는 메시지는 2이상의 패킷 또는 메시지를 포함한다. 본 명세서 및 청구범위에 있어서 "링크(link)"와 "세션(session)"은 서로 혼용될 수 있다. 본 명세서 및 청구범위에 있어서 "패킷"을 전송하거나 수신하는 각각의 주체는 "피어(peer)", "장치(device)", "시스템" 등으로 표현될 수 있다.In this specification and claims, "packet", "traffic", and "message" may be used interchangeably. In this specification and claims, "packet loss", "traffic loss", and "transmission loss" may be used interchangeably. In this specification and claims, "timer", "interval", and "cycle or period" may be used interchangeably. When a packet or message has a transmission period, the packet or message includes two or more packets or messages. In this specification and claims, "link" and "session" may be used interchangeably. In the present specification and claims, each subject that transmits or receives a “packet” may be expressed as a “peer”, “device”, “system”, and the like.

이하, 본 발명의 다양한 실시예를 첨부한 도면을 참조하여 설명한다. 하기의 설명에서는 본 발명의 실시예에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 간략화되거나 생략된다. 여기서 본 발명의 특징이 상술한 예시들로 한정되는 것은 아니며, 이하에서 설명하는 각 구성들의 형태 변경이나, 추가적인 기능들까지도 포함할 수 있다. 도면들에서, 일부 요소들의 크기는 예시를 위해 확대될 수 있으며, 크기에 비례하여 도시한 것이 아니다. Hereinafter, various embodiments of the present invention will be described with reference to the accompanying drawings. In the following description, only the parts necessary for understanding the operation according to the embodiment of the present invention are described, and the description of other parts is simplified or omitted so as not to obscure the gist of the present invention. Here, the features of the present invention are not limited to the above-described examples, and may include a change in the shape of each configuration described below or even additional functions. In the drawings, the sizes of some elements may be enlarged for illustration, and are not drawn to scale.

도 1은 BFD를 운영하는 이동통신 망의 토폴로지를 나타낸 것이다. 1 shows a topology of a mobile communication network operating BFD.

Switch-1(110)과 Router D(130) 사이의 링크(link)에 장애(failure)가 발생하면(101), Router B(120) 및 Router D(130)는 BFD Protocol을 이용하여 Router B(120)와 Router D(130) 사이의 세션 다운(session down)을 감지한다(102). 그러면 Router B(120) 및 Router D(130)는 각각 failure에 대해 client에 failure notification을 전달하고(103), down된 session에 대한 client의 이웃 정보(neighbor information)를 삭제하며(104), 최종적으로 제2 경로(secondary path)로의 traffic repairing을 수행한다.(105) When a failure occurs in the link between the Switch-1 110 and the Router D 130 (101), the Router B 120 and the Router D 130 use the BFD Protocol to the Router B ( 120) and the Router D 130 detects a session down (session down) (102). Then, Router B 120 and Router D 130 deliver a failure notification to the client for each failure (103), delete neighbor information of the client for the down session (104), and finally Traffic repairing to a secondary path is performed (105).

도 2는 BFD가 운영되는 일반적인 시나리오를 나타낸 것이다. 2 shows a general scenario in which BFD is operated.

BFD Protocol의 운영을 위해 R1(210)과 R2(220) 사이에서 세션 설정(Session Establishment), 타이머 교섭(Timer Negotiation), 장애 검출(Fault Detection) 과정이 수행된다(201). 제1 경로(Primary path)에서의 traffic forwarding(202) 중에 Traffic loss가 감지되면 Failure repairing 과정을 통하여Secondary path로의 traffic forwarding(203)을 수행한다.For the operation of the BFD Protocol, session establishment, timer negotiation, and fault detection are performed between R1 (210) and R2 (220) (201). When traffic loss is detected during traffic forwarding 202 in the primary path, traffic forwarding 203 to the secondary path is performed through a failure repairing process.

도 3은 RFC 5880에 정의되어 있는 BFD Control PDU(Protocol Data Unit) 포맷(301) 및 BFD Echo PDU 포맷(304)이다. 3 is a BFD Control Protocol Data Unit (PDU) format 301 and a BFD Echo PDU format 304 defined in RFC 5880.

BFD Control PDU(301)는 기본 field(Version, Discriminator 등), Desired Min TX Interval(302), Required Min RX Interval(303) 등의 상위 영역과 UDP 영역(Destination Port: 3784)을 포함한다. BFD Echo PDU(304)는 기본 field, Required Min Echo RX Interval(305), Required Min RX Interval(303) 등의 상위 영역과 UDP 영역(Destination Port: 3785)을 포함한다. BFD Control PDU(301)는 단일 방향(uni-directional)의 특성을 가지며 BFD Echo PDU(304)는 쌍방향(bi-directional)의 특성을 가진다. The BFD Control PDU 301 includes a basic field (Version, Discriminator, etc.), an upper area such as a Desired Min TX Interval 302 and a Required Min RX Interval 303, and a UDP field (Destination Port: 3784). The BFD Echo PDU 304 includes a basic field, a Required Min Echo RX Interval 305, an upper field such as a Required Min RX Interval 303, and a UDP field (Destination Port: 3785). The BFD Control PDU 301 has a uni-directional characteristic and the BFD Echo PDU 304 has a bi-directional characteristic.

도 4는 RFC 5880에 정의되어 있는 BFD 메시지 흐름(Message flow)에 대한 과정이다.4 is a process for a BFD message flow defined in RFC 5880 (Message flow).

도 4에서는 로컬 시스템(Local system)과 원격 시스템(Remote system)간에 Session Establishment, Timer Negotiation 및 Fault Detection을 수행하기 위한 메시지 흐름을 나타낸다. Session Establishment(401) 단계에서는, BFD Control 패킷의 3단계 약수(three-way handshake) 방식을 이용하여 BFD session을 생성한다. 도 4에 나타난 바와 같이, BFD Control 패킷이 전송됨에 따라 세션 상태(session state)가 Down, Init, Up으로 순차적으로 변한다. 4 shows a message flow for performing Session Establishment, Timer Negotiation, and Fault Detection between a local system and a remote system. In the Session Establishment 401 step, a BFD session is created using a three-way handshake method of the BFD Control packet. As shown in FIG. 4 , as the BFD Control packet is transmitted, the session state sequentially changes to Down, Init, and Up.

Timer Negotiation(402) 단계에서는, Poll sequence을 이용하여 BFD session의 timer 주기를 결정한다. 상기 Poll sequence는 Poll bit를 수반한 BFD Control 패킷(BFD Control packet with Poll bit)의 전송(수신) 및 Final bit를 수반한 BFD Control 패킷(BFD Control packet with Final bit)의 수신(전송)을 포함한다. 도 4에서 Remote system은 Desired Min Tx Interval(100ms) 및 Required Min Rx Interval(100ms)을 BFD Control packet with Poll bit 를 통해 Local System에 전송한다. Remote system의 Tx interval은 Local sytem의 Rx interval에 대응(correspond)되고, Remote system의 Rx interval은 Local sytem의 Tx interval에 대응된다. Tx interval 및 Rx interval은 2개의 system을 서로 연결하는 각각의 세션에 대응되는 값들이다. In the Timer Negotiation 402 step, the timer period of the BFD session is determined using a poll sequence. The Poll sequence includes transmission (reception) of a BFD Control packet with Poll bit and reception (transmission) of a BFD Control packet with Final bit. . In FIG. 4 , the remote system transmits a Desired Min Tx Interval (100 ms) and a Required Min Rx Interval (100 ms) to the Local System through a BFD Control packet with Poll bit. The Tx interval of the remote system corresponds to the Rx interval of the local system, and the Rx interval of the remote system corresponds to the Tx interval of the local system. Tx interval and Rx interval are values corresponding to each session connecting two systems to each other.

Local System은, BFD Control packet with Poll bit를 통해 획득한 Remote system의 Desired Min Tx Interval(100ms) 및 Required Min Rx Interval(100ms)을 Local System의 Required Min Rx Interval(150ms) 및 Desired Min Tx Interval(150ms)과 각각 비교함에 의해, Local system의 Negotiated Min Rx Interval 및 Negotiated Min Tx Interval을 정할 수 있다. 상기 Negotiated Min Rx Interval은, 예를 들어, Remote system의 Desired Min Tx Interval(100ms)과 Local system의 Required Min Rx Interval(150ms) 중에서 큰 값인 150ms로 정해질 수 있다. 상기 Negotiated Min Tx Interval은, 예를 들어, Remote system의 Required Min Rx Interval(100ms)과 Local system의 Desired Min Tx Interval(150ms) 중에서 큰 값인 150ms로 정해질 수 있다. Local System이 상기 Negotiated Min Tx Interval(150ms) 을 BFD Control packet with Final bit 를 통해 Remote System에 전송하면, Remote System이 Local System의 Negotiated Min Tx Interval을 Remote System의 Negotiated Min Rx Interval로 정할 수 있다. Local System이 상기 Negotiated Min Rx Interval(150ms) 을 BFD Control packet with Final bit 를 통해 Remote System에 전송하면, Remote System이 Local System의 Negotiated Min Rx Interval을 Remote System의 Negotiated Min Tx Interval로 정할 수 있다. 도 4와 달리 Local System이 BFD Control packet with Poll bit를 Remote System에 전송한 경우에는, Remote System이 Negotiated Min Tx Interval 및 Negotiated Min Rx Interval을 정하고, BFD Control packet with Final bit를 Local System에 전송한다.The Local System sets the Desired Min Tx Interval (100ms) and Required Min Rx Interval (100ms) of the Remote system obtained through the BFD Control packet with Poll bit to the Required Min Rx Interval (150ms) and Desired Min Tx Interval (150ms) of the Local System. ) and the Negotiated Min Rx Interval and Negotiated Min Tx Interval of the local system can be determined. The Negotiated Min Rx Interval may be, for example, 150 ms, which is a larger value among a Desired Min Tx Interval (100 ms) of a remote system and a Required Min Rx Interval (150 ms) of a local system. The Negotiated Min Tx Interval may be, for example, 150 ms, which is a larger value among Required Min Rx Interval (100 ms) of the remote system and Desired Min Tx Interval (150 ms) of the local system. When the Local System transmits the Negotiated Min Tx Interval (150 ms) to the Remote System through the BFD Control packet with Final bit, the Remote System may determine the Negotiated Min Tx Interval of the Local System as the Negotiated Min Rx Interval of the Remote System. When the Local System transmits the Negotiated Min Rx Interval (150 ms) to the Remote System through the BFD Control packet with Final bit, the Remote System may determine the Negotiated Min Rx Interval of the Local System as the Negotiated Min Tx Interval of the Remote System. Unlike FIG. 4 , when the Local System transmits the BFD Control packet with Poll bit to the Remote System, the Remote System determines the Negotiated Min Tx Interval and the Negotiated Min Rx Interval, and transmits the BFD Control packet with Final bit to the Local System.

Fault Detection(403) 단계에서는 상기 결정된 Interval를 바탕으로 주기적으로 BFD session에 대한 상태를 확인함으로써 fault detection을 수행한다. 도 4에서 Local system 및 Remote system은, Timer Negotiation 단계에서 정해진 Negotiated Min Tx Interval을 이용하여 BFD Control 패킷을 전송한다. 도 4에서 Local system 및 Remote system은, peer system으로부터 수신한 BFD Control 패킷의 수신 간격과 Timer Negotiation 단계에서 정해진 Negotiated Min Rx Interval이 기준값 이하의 차이를 가지는지 판단함에 의해, BFD Control 패킷의 손실 발생 여부를 판단한다.In the Fault Detection (403) step, fault detection is performed by periodically checking the status of the BFD session based on the determined interval. In FIG. 4 , the local system and the remote system transmit the BFD Control packet using the Negotiated Min Tx Interval determined in the Timer Negotiation step. In FIG. 4 , the Local system and the Remote system determine whether the BFD Control packet reception interval and the Negotiated Min Rx Interval determined in the timer negotiation step have a difference of less than or equal to a reference value, whether or not BFD Control packet loss occurs to judge

도 5a, 5b, 5c 및 5d는 BFD 프로토콜 운영시 각 모듈의 동작 절차이다.5a, 5b, 5c and 5d are operation procedures of each module when operating the BFD protocol.

도 5a는 BFD- Session Management 모듈(501)의 동작을 나타낸다. BFD- Session Management 모듈(501)은 BFD의 session에 대한 생성/삭제/업데이트 및 timer를 포함하는 session parameter 관리를 수행한다. 예를 들어, BFD- Session Management 모듈(501)은 Session Configuration를 저장하고(505), Session Timer Configuration를 저장한다(506).5A shows the operation of the BFD-Session Management module 501 . The BFD-Session Management module 501 manages session parameters including creation/deletion/update and timer for the session of the BFD. For example, the BFD-Session Management module 501 stores the Session Configuration (505), and stores the Session Timer Configuration (506).

도 5b는 BFD-Tx 모듈(502)의 동작을 나타낸다. BFD-Tx 모듈(502)은 BFD Session 설정 정보를 바탕으로 peer system에 BFD control packet을 전송한다. 예를 들어, BFD-Tx 모듈(502)은 BFD- Session Management 모듈(501)에 의해 저장된 Session 설정 정보 및 Session 타이머 설정 정보를 읽고(507), 읽은 정보를 바탕으로 Session을 생성하고(508), 생성된 Session을 통해 BFD 패킷을 peer system에 전송한다(509). 상기 패킷의 전송은 전송할 패킷이 없거나 또는 세션 상태(session state)가 UP가 아닌 경우에 종료된다(510).5B shows the operation of the BFD-Tx module 502 . The BFD-Tx module 502 transmits a BFD control packet to the peer system based on the BFD session configuration information. For example, the BFD-Tx module 502 reads the session setting information and the session timer setting information stored by the BFD-Session Management module 501 (507), and creates a Session based on the read information (508), The BFD packet is transmitted to the peer system through the created Session (509). The transmission of the packet is terminated when there is no packet to be transmitted or when the session state is not UP ( 510 ).

도 5c는 BFD-Rx 모듈(503)의 동작을 나타낸다. BFD-Rx 모듈(503)은 수신한 packet의 타입에 따라서 session state를 확인하고 변경한다. 예를 들어, BFD-Rx 모듈(503)은 BFD 패킷을 수신하고(511), 수신한 BFD 패킷의 타입을 분류한다(512). BFD-Rx 모듈(503)은, 세션 상태를 체크하여(513) 세션 상태가 Down인지 판단한다(514). 일정 조건 하에서 BFD-Rx 모듈(503)은, 세션 상태가 Down이면 세션 상태를 Up으로 변경하고(515), 세션 상태가 Down이 아니면 Detection Timer를 clear한다(516).5C shows the operation of the BFD-Rx module 503 . The BFD-Rx module 503 checks and changes the session state according to the received packet type. For example, the BFD-Rx module 503 receives the BFD packet ( 511 ), and classifies the type of the received BFD packet ( 512 ). The BFD-Rx module 503 checks the session state (513) to determine whether the session state is Down (514). Under certain conditions, the BFD-Rx module 503 changes the session state to Up if the session state is Down (515), and clears the Detection Timer if the session state is not Down (516).

도 5d는 BFD- Event Management 모듈(504)의 동작을 나타낸다. BFD- Event Management 모듈(504)은 timer를 모니터링함으로써 fault에 대한 detection을 수행한다. 예를 들어, BFD- Event Management 모듈(504)은 타이머를 체크하여(517) 타이머가 만료되었다고 판단하면(518) 세션 상태를 Up에서 Down으로 변경한다(519).5D shows the operation of the BFD-Event Management module 504 . The BFD-Event Management module 504 performs fault detection by monitoring the timer. For example, the BFD-Event Management module 504 checks the timer (517) and when it is determined that the timer has expired (518) changes the session state from Up to Down (519).

BFD 프로토콜은 BFD control 메시지의 송수신을 통해 시스템 및 네트워크의 failure를 감지한다. BFD control 메시지의 전송 주기를 의미하는 BFD timer는 네트워크 운용자의 경험, 네트워크의 propagation delay, 각 장비의 평균적인 부하 및 사용률, 또는 각 장비의 성능 등을 바탕으로 default 값이 설정될 수 있다. 한번 설정된 BFD timer는 네트워크 망 내에서 실시간으로 변화하는 traffic 상황을 동적으로 반영하는 것이 어렵다. The BFD protocol detects system and network failures through transmission and reception of BFD control messages. The BFD timer, which means the transmission period of the BFD control message, may have a default value set based on the network operator's experience, network propagation delay, average load and usage rate of each device, or performance of each device. Once the BFD timer is set, it is difficult to dynamically reflect real-time traffic conditions within the network.

BFD packet의 tx 주기가 짧을 경우에는(BFD timer가 작은 값을 갖는 경우에는) 장애를 빨리 감지하여 서비스 가용성을 극대화 할 수 있다. 하지만, BFD packet 전송도 자원을 차지하므로 전체 전송량 증가로 인해 네트워크의 부하를 가중시키게 된다. 즉, 빠른 장애 탐지를 위해 인가된 BFD packet이 오히려 기존 네트워크 흐름에 영향을 주어 BFD가 잘못된 장애 탐지 동작을 수행할 수도 있다.When the tx period of the BFD packet is short (when the BFD timer has a small value), a failure can be detected quickly and service availability can be maximized. However, since BFD packet transmission also occupies resources, an increase in the total amount of transmission increases the load on the network. That is, the BFD packet applied for fast failure detection may rather affect the existing network flow, so that the BFD may perform an erroneous failure detection operation.

반대로, BFD packet의 tx 주기가 긴 경우에는(BFD timer가 큰 값을 갖는 경우에는) BFD packet의 전송량 감소에 의해 시스템 및 네트워크의 부하를 줄일 수 있지만, BFD가 장애를 감지하고 복구하는데 걸리는 시간이 늘어나게 된다. Conversely, when the tx period of the BFD packet is long (when the BFD timer has a large value), the load on the system and network can be reduced by reducing the transmission amount of the BFD packet, but the time it takes for the BFD to detect a failure and recover will increase

BFD session의 timer negotiation이 완료된 후, neighbor과의 통신이 fail되거나 특정 시점에 session flapping이 발생할 경우에, BFD 동작으로 인한 영향을 감소시키는 관점에서는 BFD의 timer값을 더 크게 변경하여야 한다. After the BFD session timer negotiation is completed, if communication with a neighbor fails or session flapping occurs at a specific point in time, the BFD timer value should be changed to a larger value from the viewpoint of reducing the effect caused by the BFD operation.

본 발명은 네트워크 장애가 발생하기 전에 타이머 적응(timer adaptation) 동작 수행을 통해 현재 네트워크 자원 및 traffic 상황을 고려한 timer를 획득하여 새로운 BFD protocol 동작을 적용하는 방법을 개시한다. 즉, 일회적으로 획득한 timer에 기반하여 동작하는 것이 아니라, 지속적으로 변화하는 network congestion에 대한 정보를 실시간으로 반영하여 현재 상태에 가장 적합한 timer로 BFD를 운영하는 방법을 제안한다. The present invention discloses a method of applying a new BFD protocol operation by acquiring a timer in consideration of current network resources and traffic conditions by performing a timer adaptation operation before a network failure occurs. In other words, we propose a method of operating BFD with the timer most suitable for the current state by reflecting the continuously changing network congestion information in real time, rather than operating based on a one-time acquired timer.

본 발명은 네트워크 장애가 발생한 후 대처하는 reactive한 방법이 아니라 사전에 proactive하게 최적화된 timer를 설정한다.The present invention is not a reactive method to respond after a network failure occurs, but proactively sets an optimized timer in advance.

도 6는 적응적 타이머를 적용한 BFD의 전체적인 동작 흐름을 나타낸 것이다.6 shows the overall operation flow of the BFD to which the adaptive timer is applied.

BFD Protocol의 운영을 위해 R1(610)과 R2(620) 사이에서 session establishment, timer adaptation, timer negotiation, fault detection 과정이 수행된다(601). 601 단계를 도 2의 201 단계와 비교하면 timer adaptation 과정이 추가된 것을 알 수 있다. timer adaptation 과정에 대해서는 후술하도록 한다.For operation of the BFD protocol, session establishment, timer adaptation, timer negotiation, and fault detection are performed between R1 610 and R2 620 (601). Comparing step 601 with step 201 of FIG. 2 , it can be seen that a timer adaptation process is added. The timer adaptation process will be described later.

601 단계의 message flow가 완료된 이후 R1과 R4 간에 전송되는 Primary Traffic은 BFD Protocol이 동작하고 있는 session 상에서 forwarding 된다(602).After the message flow of step 601 is completed, the primary traffic transmitted between R1 and R4 is forwarded on the session in which the BFD Protocol is operating (602).

R1과 R4 간에 전송되는 Primary Traffic에 대하여 traffic loss가 발생하면 BFD Protocol은 failure에 대한 notification 및 repairing을 수행한다(603). When traffic loss occurs for the primary traffic transmitted between R1 and R4, the BFD Protocol performs failure notification and repairing (603).

BFD Protocol에 의해 repairing된 후에 R1과 R4 간에 전송되는 Secondary traffic은 R2가 아니라 R3를 거치도록 path가 변경된다(604).Secondary traffic transmitted between R1 and R4 after being repaired by the BFD Protocol is changed to go through R3 instead of R2 (604).

도 7은 적응적 BFD Protocol의 전체적인 message flow를 나타낸 것이다.7 shows the overall message flow of the adaptive BFD protocol.

BFD의 각 peer(system)는 BFD Control packet의 3-handshake 방식을 이용하여 session을 생성하고 session의 상태를 'down → init → up'으로 변경하는 session establishment 과정을 수행한다(701).Each peer (system) of the BFD creates a session using the 3-handshake method of the BFD control packet and performs a session establishment process of changing the state of the session to 'down → init → up' (701).

BFD의 각 peer는 timer negotiation 수행 전에 최적의 timer를 결정하기 위해 remote system에서 loop-back되어 돌아오는 BFD Echo packet을 네트워크에 인가하여 loss 발생 유무에 따라서 현재 상태에서 가장 빠르게 fault를 detection할 수 있는 'Sweet Spot'(705) 지점을 찾아내는 timer adaptation 과정을 수행한다(702).Each peer of BFD applies the BFD echo packet loop-backed from the remote system to the network to determine the optimal timer before performing timer negotiation, and is the fastest way to detect faults in the current state depending on whether loss occurs or not. A timer adaptation process for finding a sweet spot' (705) point is performed (702).

timer adaptation 과정은, 미리 정해진 값을 갖는 Echo timer를 사용하여 BFD Echo packet을 Remote system에 전송하는 경우에 loop-back 되어 돌아오는 EFD Echo packet에 loss가 발생하였는지 판단하는 단계를 포함할 수 있다. 상기 EFD Echo packet이 Echo timer T1의 값을 갖는다는 것은 T1의 시간 간격으로 2이상의 EFD Echo message들을 전송하는 것을 의미한다. loss가 발생한 경우에는 Echo timer의 값을 크게 변경하여 BFD Echo packet을 다시 전송할 수 있다. 상기 loss가 발생하지 않은 경우에는 Echo timer의 값을 작게 변경하여 BFD Echo packet을 다시 전송할 수 있다. 이와 같이, Echo timer의 크기를 변경하면서 BFD Echo packet을 전송하는 것을 반복하는 도중에 미리 설정한 조건이 충족되면, 미리 설정한 조건이 충족되었을 때의 BFD Echo packet을 sweet spot으로 결정할 수 있고, 상기 sweet spot으로 결정된 BFD Echo packet의 Echo timer의 값을 최적의(Optimum) timer로 결정할 수 있다. 도 7에서는 5번째 전송된 session 5의 Echo timer의 값(350ms)가 Optimum timer로 결정된 것을 나타내고 있다(705). 상기 Optimum timer는 timer negotiation 과정에서 Local System의 Desired Min Tx interval로 사용된다.The timer adaptation process may include determining whether loss has occurred in the EFD echo packet returned by loop-back when the BFD echo packet is transmitted to the remote system using the echo timer having a predetermined value. When the EFD echo packet has a value of echo timer T1, it means that two or more EFD echo messages are transmitted at a time interval of T1. In case of loss, it is possible to retransmit the BFD echo packet by greatly changing the value of the echo timer. If the loss does not occur, the BFD echo packet may be retransmitted by changing the value of the echo timer small. In this way, if a preset condition is met while repeating transmission of the BFD echo packet while changing the size of the echo timer, the BFD echo packet when the preset condition is satisfied can be determined as a sweet spot, and the sweet spot The value of the echo timer of the BFD echo packet determined as the spot can be determined as the optimal timer. 7 shows that the value (350ms) of the echo timer of session 5 transmitted for the fifth time is determined as the optimal timer (705). The Optimum timer is used as the desired Min Tx interval of the local system in the timer negotiation process.

BFD의 각 peer는 timer adaptation 과정을 통해서 결정되어진 최적의 timer를 다른 peer에 알려 주기 위해 BFD poll sequence 절차를 이용하여 timer negotiation 과정을 수행한다(703). Timer negotiation 과정에서는, 도 4에서 설명한 것과 같이 BFD Control packet with Poll bit 및 BFD Control packet with Final bit이 송수신된다.Each peer of the BFD performs a timer negotiation process using the BFD poll sequence procedure to inform other peers of the optimal timer determined through the timer adaptation process (703). In the timer negotiation process, as described with reference to FIG. 4 , a BFD Control packet with Poll bit and a BFD Control packet with Final bit are transmitted and received.

BFD의 각 peer는 일정 시간동안 또는 사용자의 입력이 있을 때까지 상기 최적의 timer를 주기로 하여 BFD Control 패킷을 상기 timer negotiation 과정을 수행한 peer에 전송한다(704). traffic loss가 발생하면, BFD Protocol에 의해 repairing된 결과로 traffic의 흐름은 secondary traffic path의 방향으로 변경된다Each peer of the BFD transmits the BFD Control packet to the peer that has performed the timer negotiation process for a certain period of time or until there is a user's input with the optimal timer period (704). When traffic loss occurs, as a result of being repaired by the BFD Protocol, the flow of traffic is changed in the direction of the secondary traffic path.

도 8은 타이머의 값이 전송 손실, 장애 복구 시간, 서비스 가용성에 미치는 영향을 나타내는 그래프들이다.8 is a graph showing the effect of a timer value on transmission loss, failure recovery time, and service availability.

Tx Timer는, local system이 Fault Detection을 위한 BFD Control 패킷(BFD 패킷)을 remote system에 전송하는 주기를 의미한다. Tx Timer의 값이 작은 것은 BFD Control 패킷에 의한 시스템과 네트워크의 부하(load) 증가를 의미한다. BFD Control 패킷이 전송되는 주기가 일정 값보다 작아지면 BFD Control 패킷에 의한 전송 손실(801)이 발생하게 된다. 상기 전송 손실이 발생하기 시작하는 BFD Control 패킷의 전송 주기에 대응되는 Valid Tx Timer(804)는 현재 네트워크 자원 및 traffic 상황에 따라 달라진다.도 8에서 알 수 있듯이, 전송 손실(801)의 측면에서 보면 현재 Tx timer는 Valid Tx Timer(804)보다 큰 것이 바람직하다.이와 달리, 장애 복구 시간(Fail-over time)(802)의 측면에서는, 현재 Tx timer는 valid Tx Timer(804)보다 작은 것이 바람직하다. Tx timer가 작을수록 장애를 빨리 탐지할 수 있기 때문이다. 도 8은, 서비스 가용성(803)의 측면에서도, 현재 Tx timer는 valid Tx Timer(804)보다 작은 것이 바람직함을 나타내고 있다.Tx Timer means a period in which the local system transmits a BFD Control packet (BFD packet) for fault detection to the remote system. A small value of Tx Timer means an increase in system and network load by the BFD Control packet. When the period at which the BFD Control packet is transmitted is smaller than a predetermined value, a transmission loss 801 due to the BFD Control packet occurs. The Valid Tx Timer 804 corresponding to the transmission period of the BFD Control packet in which the transmission loss starts to occur varies depending on the current network resource and traffic conditions. The current Tx timer is preferably larger than the Valid Tx Timer 804 . On the other hand, in terms of a fail-over time 802 , the current Tx timer is preferably smaller than the valid Tx Timer 804 . . This is because the smaller the Tx timer, the faster the failure can be detected. 8 shows that the current Tx timer is preferably smaller than the valid Tx Timer 804 in terms of service availability 803 .

도 9는 timer adaptation 과정에서 BFD Echo Packet의 timer의 값을 조정하는 것을 나타낸다.9 shows adjustment of a timer value of a BFD echo packet in a timer adaptation process.

timer adaptation에는 2진 탐색(binary search)가 이용될 수 있으며, 도 9에서 이를 나타낸다. binary search에 따라, Loss가 발생하면 timer의 값을 늘려서 BFD Echo Packet을 전송하고, Loss가 발생하지 않으면 timer의 값을 줄여서 BFD Echo Packet을 전송한다. t1에서 Tx Timer를 50ms로 하여 Echo packet을 송신한 것의 루프백 결과에 따라 손실이 발생하였으므로, t2에서 Tx Timer를 100ms(50ms의 두배)로 하여 Echo packet을 송신하였다. t2에서 Tx Timer를 100ms로 하여 Echo packet을 송신한 것의 루프백 결과에 따라 손실이 발생하였으므로, t3에서 Tx Timer를 200ms(100ms의 두배)로 하여 Echo packet을 송신하였다. t3에서 Tx Timer를 200ms로 하여 Echo packet을 송신한 것의 루프백 결과에 따라 손실이 발생하지 않았으므로, t4에서는 Tx timer를 150ms(손실이 발생한 최근(most recent) Echo packet의 Tx timer와 손실이 발생하지 않은 최근 Echo packet의 Tx timer의 평균: (100+200)/2 )로 하여 Echo packet을 송신하였다. t4에서 Tx Timer를 150ms로 하여 Echo packet을 송신한 것의 루프백 결과에 따라 손실이 발생하였으므로, t5에서 Tx Timer를 175ms(손실이 발생한 최근 Echo packet의 Tx timer와 손실이 발생하지 않은 최근 Echo packet의 Tx timer의 평균: (150+200)/2)로 하여 Echo packet을 송신하였다. t5에서 Tx Timer를 175ms로 하여 Echo packet을 송신한 것의 루프백 결과에 따라 손실이 발생하지 않았으므로, t6에서 Tx Timer를 162.5ms(손실이 발생한 최근 Echo packet의 Tx timer와 손실이 발생하지 않은 최근 Echo packet의 Tx timer의 평균: (150+175)/2)로 하여 Echo packet을 송신하였다. t6에서 Tx Timer를 162.5ms로 하여 Echo packet을 송신한 것의 루프백 결과에 따라 손실이 발생하지 않았으므로, t7에서 Tx Timer를 156.25ms(손실이 발생한 최근 Echo packet의 Tx timer와 손실이 발생하지 않은 최근 Echo packet의 Tx timer의 평균: (150+162.5)/2)로 하여 Echo packet을 송신하였다. 도 9에서는 t7에서 전송한 echo packet의 Tx Timer가 적응 종료 조건(Adaptation Ending Condition)을 충족하다고 판단되어,상기 적응 종료 조건 충족시(t7)에 전송한 echo packet의 Tx Timer(156.25ms)가 최적의(Optimum) Tx timer로 결정되는 것을 나타내고 있다.A binary search may be used for timer adaptation, which is shown in FIG. 9 . According to binary search, if loss occurs, the timer value is increased and BFD echo packet is transmitted. If loss does not occur, the timer value is decreased and BFD echo packet is transmitted. At t1, a loss occurred according to the loopback result of transmitting the echo packet with the Tx Timer set to 50 ms. Therefore, the Echo packet was transmitted with the Tx Timer set to 100 ms (double of 50 ms) at t2. At t2, the loss occurred according to the loopback result of transmitting the echo packet with the Tx Timer set to 100 ms. Therefore, the Echo packet was transmitted with the Tx Timer set to 200 ms (double 100 ms) at t3. Since no loss occurred according to the loopback result of transmitting the echo packet with the Tx Timer set to 200 ms at t3, the Tx timer is set to 150 ms at t4 (the Tx timer of the most recent echo packet that has lost and no loss occurs). Echo packet is transmitted with average of Tx timer of the last echo packet that has not been reached: (100+200)/2 ). At t4, the loss occurred according to the loopback result of transmitting the echo packet with the Tx Timer set to 150 ms. Therefore, the Tx Timer was set to 175 ms at t5 (Tx timer of the most recent echo packet with loss and Tx of the most recent echo packet with no loss) Echo packet was transmitted with timer average: (150+200)/2). At t5, the Tx Timer was set to 175ms and no loss occurred according to the loopback result of transmitting the echo packet. Therefore, the Tx Timer was set to 162.5ms at t6 (Tx timer of the last echo packet with loss and the last echo without loss) Echo packet was transmitted with average of packet Tx timer: (150+175)/2). At t6, the Tx Timer was set to 162.5ms and no loss occurred according to the loopback result of transmitting the echo packet, so at t7, the Tx Timer was set to 156.25ms (Tx timer of the last echo packet with loss and the most recent Echo packet with no loss). Echo packet was transmitted with average of Tx timer of echo packet: (150+162.5)/2). In FIG. 9 , it is determined that the Tx Timer of the echo packet transmitted at t7 satisfies the adaptation end condition, and the Tx Timer (156.25 ms) of the echo packet transmitted at the time the adaptation end condition is satisfied (t7) is optimal. It indicates that it is determined by the Optimum Tx timer.

도 9에서는 최초로 손실이 발생하지 않는 echo packet을 전송할 때까지는 매 echo packet 전송시마다 echo packet의 Tx Timer가 2배씩 증가한다. 이는 기하급수적인 증가(exponential increase)로서 2배가 아닌 수(예를 들어 1.5배)만큼 증가하는 것으로 구현할 수도 있다. 또한, 기하급수적인 증가가 아니라 일정값(예를 들어 10ms)만큼 증가하는 것으로 구현할 수도 있다.In FIG. 9 , the Tx Timer of the echo packet is doubled for every echo packet transmission until the first lossless echo packet is transmitted. This is an exponential increase and can also be implemented by increasing by a number (for example, 1.5 times) that is not doubled. Also, it may be implemented as an increase by a certain value (eg, 10 ms) rather than an exponential increase.

도 9에서는 손실이 발생한 echo packet을 전송한 후에는 매 echo packet 전송시마다 echo packet의 Tx Timer가 손실이 발생한 최근 Echo packet의 Tx timer와 손실이 발생하지 않은 최근 Echo packet의 Tx timer의 평균값으로 정해진다. 도 9를 살펴보면, 손실이 발생한 최근 Echo packet의 Tx timer는 손실이 발생하지 않은 최근 Echo packet의 Tx timer보다 작은 값을 가짐을 알 수 있다. In FIG. 9, after transmitting an echo packet with a loss, the Tx timer of the echo packet is determined as the average value of the Tx timer of the most recent echo packet with loss and the Tx timer of the most recent echo packet with no loss for every echo packet transmission. . Referring to FIG. 9 , it can be seen that the Tx timer of the recent echo packet in which loss has occurred has a smaller value than the Tx timer of the recent echo packet in which loss has not occurred.

도 9와 달리 echo packet의 Tx timer를 정할 때 현재 링크 이용률(current link utilization)을 반영할 수 있다. link utilization은 0에서 1사이의 값을 가지며, 각각의 링크의 최대 용량(Capacity) 및 link utilization(util)의 관계를 아래의 수학식1에 나타내었다.Unlike FIG. 9 , current link utilization may be reflected when determining the Tx timer of the echo packet. Link utilization has a value between 0 and 1, and the relationship between the maximum capacity (Capacity) of each link and link utilization (util) is shown in Equation 1 below.

Figure 112015044066213-pat00001
Figure 112015044066213-pat00001

util이 일정값(예를 들어 75%) 이상이면 next Echo packet의 Tx timer를 구할 때 증가율은 줄이고 감소율은 늘릴 수 있다. 예를 들어 도 9에서 t2에서의 Tx timer를 정할 때 50ms의 두배가 아닌 1.6배에 해당하는 80ms로 정할 수 있다. 또는 t6에서의 Tx timer를 구할 때 손실이 발생한 최근 Echo packet의 Tx timer(150)에 큰 가중치를 두어 162.5ms보다 작은 값으로 Tx timer를 정할 수 있다. util이 일정값(예를 들어 50%) 이하이면 next Echo packet의 Tx timer를 구할 때 증가율은 늘리고 감소율은 줄일 수 있다. 예를 들어 도 9에서 t2에서의 Tx timer를 정할 때 50ms의 두배가 아닌 2.5배에 해당하는 125ms로 정할 수 있다. 또는 t6에서의 Tx timer를 구할 때 손실이 발생하지 않은 최근 Echo packet의 Tx timer(175ms)에 큰 가중치를 두어 162.5ms보다 큰 값으로 Tx timer를 정할 수 있다. util이 일정범위 내의 값을 가지면(예를 들어 50~75%사이) 도 9의 방법으로 next Echo packet의 Tx timer를 구할 수 있다.If util is greater than a certain value (eg 75%), the increase rate can be decreased and the decrease rate can be increased when obtaining the Tx timer of the next echo packet. For example, when determining the Tx timer at t2 in FIG. 9 , it may be set to 80 ms corresponding to 1.6 times, not double, 50 ms. Alternatively, when calculating the Tx timer at t6, the Tx timer may be set to a value smaller than 162.5 ms by giving a large weight to the Tx timer 150 of the last lost echo packet. If util is less than a certain value (eg 50%), the increase rate can be increased and the decrease rate can be decreased when obtaining the Tx timer of the next echo packet. For example, when determining the Tx timer at t2 in FIG. 9 , it may be set to 125 ms, which is 2.5 times the 50 ms, not twice the 50 ms. Alternatively, when calculating the Tx timer at t6, the Tx timer (175ms) of the most recent echo packet with no loss may be given a large weight, and the Tx timer may be set to a value greater than 162.5ms. When util has a value within a certain range (for example, between 50 and 75%), the Tx timer of the next echo packet can be obtained by the method of FIG. 9 .

상기 예에서는 세 구간으로 나누어 link utilization을 반영하는 것을 나타내었으며, 두 구간 또는 4이상의 구간으로 나누는 형태로도 구현가능하다. 구간을 나누지 않고 link utilization을 직접 Tx timer의 계산에 반영하는 형태로도 구현가능하다.In the above example, link utilization is reflected by dividing into three sections, and it can also be implemented in a form of dividing into two sections or four or more sections. It can also be implemented in the form of directly reflecting link utilization in the calculation of the Tx timer without dividing the section.

적응 종료 조건(Adaptation Ending Condition)은 다양하게 구현할 수 있다. 예를 들어, next echo packet의 Tx Timer를 구하는데 사용되는 손실이 발생한 최근 Echo packet의 Tx timer(A)와 손실이 발생하지 않은 최근 Echo packet의 Tx timer(B)간의 차이가 기준값(예를 들어 10ms)보다 작은 것이 상기 조건에 해당할 수 있다. 또는 손실이 발생한 Echo packet의 전송 횟수가 기준값(예를 들어 10회)보다 많은 것이 상기 조건에 해당할 수 있다. 또는 손실이 발생하지 않은 Echo packet의 전송 횟수가 기준값(예를 들어 5회)보다 많은 것이 상기 조건에 해당할 수 있다. 또는 최초 Echo packet 전송 후 일정 시간 경과가 상기 조건에 해당할 수 있다. 또는 손실이 발생하지 않은 최초의 Echo packet의 전송 후 일정 시간 경과가 상기 조건에 해당할 수 있다. 적응 종료 조건은 상기 기재한 예에 한정되는 것은 아니며, 상기 기재한 예 중에서 2이상을 혼합한 것이 적응 종료 조건에 해당할 수도 있다. 적응 종료 조건이 충족되면, 충족되는 시점에 전송된 Echo packet의 Tx Timer 또는 충족후에 최초로 전송된 Echo packet의 Tx Timer가 최적의 Timer로 정해질 수 있다.The adaptation ending condition may be implemented in various ways. For example, the difference between the Tx timer (A) of the most recent echo packet with no loss and the Tx timer (B) of the most recent echo packet without loss, which is used to find the Tx Timer of the next echo packet, is the reference value (e.g. 10 ms) may correspond to the above condition. Alternatively, the above condition may correspond to the fact that the number of transmission times of the lost Echo packet is greater than the reference value (eg, 10 times). Alternatively, the above condition may correspond to the number of times of transmission of an echo packet in which no loss has occurred is greater than a reference value (eg, 5 times). Alternatively, the lapse of a certain time after transmission of the first echo packet may correspond to the above condition. Alternatively, the lapse of a certain time after transmission of the first echo packet in which no loss occurs may correspond to the above condition. The adaptation termination condition is not limited to the above-described examples, and a mixture of two or more of the above-described examples may correspond to the adaptation termination condition. When the adaptation termination condition is satisfied, the Tx Timer of the echo packet transmitted at the time when the adaptation termination condition is satisfied or the Tx Timer of the first transmitted echo packet after the condition is satisfied may be determined as the optimal Timer.

도 10은 전송량(throughput)을 기준으로 timer adaptation 동작을 수행하는 예시를 나타낸 것이다.10 illustrates an example of performing timer adaptation operation based on throughput.

Throughput(TH)(1001)은 패킷(데이터)의 전송량을 나타내며, 대역폭(bandwidth,BW)과 혼용될 수 있다. TH는 Tx Timer(1002)의 역수에 비례하므로, Tx Timer를 정하기 위하여 실제 알고리즘 구현시에 TH를 이용할 수 있으며 도 10에서 TH를 이용한 timer adaptation을 나타내고 있다.Throughput (TH) 1001 indicates the amount of packet (data) transmission, and may be mixed with bandwidth (BW). Since TH is proportional to the reciprocal of the Tx Timer 1002, TH can be used when an actual algorithm is implemented to determine the Tx Timer, and timer adaptation using TH is shown in FIG. 10 .

BFD의 장치는 Tx Timer에 대응하는 TH를 정하기 위하여 초기값(initial TH value)을 적용하여 BFD Echo packet을 다른 장치에 전송한다. 상기 초기값은 Max BandWidth of link(1003)에 대응할 수 있다. Max BandWidth of link에 대응되는 timer는 해당 link에서 BFD Echo packet을 보낼 수 있는 가장 작은 주기(cycle)에 해당할 수 있다. BandWidth의 초기값이 일정값보다 작으면 timer adaptation에 따라 수렴하는 BandWidth는 실제 이용가능한(available) BandWidth보다 작게 되는 현상이 발생할 수 있다. Max BandWidth of Link을 초기값으로 하는 경우 상기 현상이 발생하는 확률을 줄일 수 있다.BFD는 loop-back되어 돌아온 Echo packet의 loss 유무에 따라서 timer adaptation 시 timer값을 변경한다. timer의 적응(adaptation)은 아래의 표에 나타나 있듯이 binary search 방식을 이용할 수 있다.The device of the BFD transmits the BFD echo packet to another device by applying an initial TH value to determine the TH corresponding to the Tx Timer. The initial value may correspond to Max BandWidth of link 1003 . The timer corresponding to the Max BandWidth of link may correspond to the smallest cycle in which the BFD echo packet can be transmitted in the corresponding link. If the initial value of BandWidth is smaller than a predetermined value, a phenomenon may occur that the converging BandWidth according to timer adaptation becomes smaller than an actual available BandWidth. If the Max BandWidth of Link is set to the initial value, the probability of the above phenomenon occurring can be reduced. The BFD changes the timer value during timer adaptation according to the loss of the echo packet returned after loop-back. For timer adaptation, binary search method can be used as shown in the table below.

Initial TH value = Max BW of Link (1)
Initial T = (MAX + MIN)/2, TH/2 (2)
(MAX = TH, MIN = 0)
Initial Tx timer = 1/T
Packet LOSS 발생 시, T = (MAX + MIN)/2, (0+TH/2)/2 (3)
(MAX = TH/2, MIN = 0)
Packet LOSS 미발생 시, T = (MAX + MIN)/2, (TH+TH/2)/2 (4)
(MAX = TH, MIN = TH/2)
Initial TH value = Max BW of Link (1)
Initial T = (MAX + MIN)/2, TH/2 (2)
(MAX = TH, MIN = 0)
Initial Tx timer = 1/T
When packet loss occurs, T = (MAX + MIN)/2, (0+TH/2)/2 (3)
(MAX = TH/2, MIN = 0)
When no packet loss occurs, T = (MAX + MIN)/2, (TH+TH/2)/2 (4)
(MAX = TH, MIN = TH/2)

표 1에 나와 있는 수식에 의해서 알 수 있듯이 timer adaptation은 Packet LOSS 유무에 따라서 수행된다.As can be seen from the equation shown in Table 1, timer adaptation is performed according to the presence or absence of Packet LOSS.

Timer adaptation 절차는 도 10의 1006와 같은 적응 종료 조건(adaptation ending condition)을 만족하면 종료하며, 종료된 시점의 Tx timer값이 최종 timer값으로 정해질 수 있다. adaptation ending condition은 도 10에 도시된 조건에 한정되는 것은 아니다. 예를 들어, 상기 초기값의 BFD Echo packet를 전송한 후 서로 다른 TH (timer) 값의 BFD Echo packet을 순차적으로 전송하는 과정에 패킷 손실이 발생하지 않는 TH 값의 BFD Echo packet이 미리 정해진 개수 이상인 경우 timer adaptation이 종료될 수 있다. 이 경우, 마지막에 전송된 BFD Echo packet이 가지는 타이머가 최종 timer값으로 정해질 수 있다.The timer adaptation procedure is terminated when an adaptation ending condition as shown in 1006 of FIG. 10 is satisfied, and the Tx timer value at the time of termination may be determined as the final timer value. The adaptation ending condition is not limited to the condition shown in FIG. 10 . For example, after transmitting the BFD echo packets of the initial value, the number of BFD echo packets having a TH value in which packet loss does not occur in the process of sequentially transmitting BFD echo packets having different TH (timer) values is equal to or greater than a predetermined number In this case, timer adaptation may be terminated. In this case, the timer of the last transmitted BFD echo packet may be determined as the final timer value.

도 11은 본 발명의 시스템이 포함하는 모듈들의 일 실시예를 나타낸다.11 shows an embodiment of the modules included in the system of the present invention.

본 발명의 동작과 관련된 configuration에는 Adaptation Timer configuration(1101), Session configuration(1102) 및 Session Timer configuration(1103)이 있다. BFD Session Management unit은 BFD Session Manager module(1104), Session Data module(1105), BFD Timer Manager module(1106), Timer Data module(1107), Timer Adapter module(1108) 및 BFD Fault Manager module(1114)를 포함한다. Forwarding Session (Tx) unit은 BFD PDU Generator(1109) 및 BFD Packet Sender(1110)를 포함한다. Forwarding Session (Rx) unit은 BFD Packet Receiver(1112) 및 Session Event Manager(1113)를 포함한다. Remote System의 Peer unit은 BFD Protocol Reply module(1111)을 포함한다. 도 11에 도시한 것은 본 발명의 동작과 관련된 실시예이며, 이와 다르게 구현할 수도 있다.Configurations related to the operation of the present invention include an Adaptation Timer configuration 1101 , a Session configuration 1102 , and a Session Timer configuration 1103 . BFD Session Management unit includes BFD Session Manager module(1104), Session Data module(1105), BFD Timer Manager module(1106), Timer Data module(1107), Timer Adapter module(1108) and BFD Fault Manager module(1114). include The Forwarding Session (Tx) unit includes a BFD PDU Generator (1109) and a BFD Packet Sender (1110). Forwarding Session (Rx) unit includes a BFD Packet Receiver (1112) and Session Event Manager (1113). The Peer unit of the Remote System includes a BFD Protocol Reply module 1111. 11 is an embodiment related to the operation of the present invention, and may be implemented differently.

도 12a, 12b, 12c, 12d는 본 발명에 따른 BFD Protocol의 내부 동작 과정을 Flow Chart로 나타낸 것이다.12a, 12b, 12c, and 12d are flow charts showing the internal operation process of the BFD Protocol according to the present invention.

도 5a 내지 5d와 비교하면 도 12a 내지 12d에서 색칠된 동작들이 추가되었음을 알 수 있다. BFD-Session Management(1201)는 초기에 내려온 session 설정 정보를 저장하고(1205), session의 timer 설정 정보를 저장하는(1206) 외에 adatation 관련 설정 정보를 저장한다(1207).BFD-Tx(1202)는 BFD-Session Manamgement(1201)로부터 받은 adaptation flag 정보를 확인한다(1208). adaptation flag가 enable되어 있을 경우, BFD-Tx(1202)는 adaptation timer 정보를 읽어오고(1215) Echo packet PDU를 생성하고(1216) BFD Echo packet을 peer system에 전송한다(1211). 상기 Echo packet의 전송은 전송할 패킷이 없거나 또는 세션 상태(session state)가 UP가 아닌 경우에 종료된다(1212). Echo packet은 BFD Echo Session을 통하여 전송되므로(1213), 1214단계로 진행한다.BFD-Tx(1202)는 adaptation 완료(completion) flag를 확인하여 adaptation이 종료되었는지 판단한다(1214). BFD-Tx(1202)는 adaptation이 종료된 경우 BFD Control session 정보 및 결정된 timer 정보를 읽고(1209), 읽은 session 정보 및 timer 정보를 바탕으로 session을 생성하여(1210) BFD Control packet을 전송하여(1211) BFD fault detection 동작을 수행하게 된다. 1208 단계에서 adaptation flag가 disable되어 있을 경우, adaptation 동작을 수행하지 않고 바로 BFD session 정보 및 timer 정보를 얻어와(1209) session을 생성하고(1210) BFD Control packet을 반복적으로 전송한다(1211). timer adaptation을 통해서 결정되어진 최적의 timer를 상호간에 알려주기 위해 BFD poll sequence 절차를 이용하여 timer negotiation 과정을 수행한다. BFD-Rx(1203)는 도 5C의 동작 외에, 수신한 packet이 BFD control Packet인지 판단한다(1219). BFD control Packet이 아니면, BFD-Rx(1203)는 수신한 echo packet에 대한 loss result를 분석하고(1224) Adaptation Timer를 저장한다(1225). BFD-Rx(1203)는 adaptation이 종료되면(1226) Adaptation complete Flags를 저장한다(1227).도 13은 BFD 시스템의 장치가 제어 메시지를 전송하는 방법을 나타낸다.1310 단계에서, BFD 시스템의 제1 장치는 서로 다른 전송 주기(timer)를 갖는 에코 메시지들의 집합을 제2장치에 순차적으로(sequentially) 전송한다. 예를 들어, 서로 다른 전송 주기를 갖는 에코 메시지들의 집합을 각각 미리 정해진 시간 간격동안 순차적으로 전송하는 것에 해당할 수 있다. 상기 제1 장치는 제1전송 주기를 가지는 에코 메시지들의 제1집합을 전송하고, 상기 에코 메시지들의 제1집합이 루프백되면 상기 에코 메시지들의 제1집합에 대한 전송 손실이 발생하였는지 판단하고, 제2전송 주기를 가지는 에코 메시지들의 제2집합을 전송할 수 있다. 상기 제1전송 주기는, 예를 들어, 상기 제1 장치와 상기 제2 장치 간의 링크에서 에코 메시지를 보낼 수 있는 가장 작은 주기에 해당할 수 있다. 상기 제2 전송 주기는, 상기 에코 메시지들의 제1집합에 대한 전송 손실이 발생하지 않았으면 상기 제1전송 주기보다 작은 값을 가지고, 상기 에코 메시지들의 제1집합에 대한 전송 손실이 발생하였으면 상기 제1전송 주기보다 큰 값을 가질 수 있다. 상기 제1장치는, 현재 링크 이용률을 고려하여 상기 제2전송 주기를 결정할 수 있다. 한편, 에코 메시지의 최초 전송 손실이 발생하지 않는 동안은, 에코 메시지들의 집합의 전송 주기가 기하급수적으로 증가할 수 있다.Comparing with FIGS. 5A to 5D, it can be seen that colored motions are added in FIGS. 12A to 12D. BFD-Session Management (1201) stores the session setting information that came down initially (1205), and stores adatation-related setting information in addition to storing the timer setting information of the session (1206) (1207). BFD-Tx (1202) Checks the adaptation flag information received from the BFD-Session Management (1201) (1208). When the adaptation flag is enabled, the BFD-Tx 1202 reads adaptation timer information (1215), generates an echo packet PDU (1216), and transmits the BFD echo packet to the peer system (1211). The transmission of the echo packet is terminated when there is no packet to be transmitted or when the session state is not UP ( 1212 ). Since the echo packet is transmitted through the BFD Echo Session (1213), it proceeds to step 1214. The BFD-Tx 1202 checks an adaptation completion flag to determine whether adaptation is finished (1214). When adaptation is finished, the BFD-Tx 1202 reads BFD Control session information and determined timer information (1209), creates a session based on the read session information and timer information (1210), and transmits a BFD Control packet (1211) ) BFD fault detection is performed. If the adaptation flag is disabled in step 1208, BFD session information and timer information are obtained without performing an adaptation operation (1209), a session is created (1210), and a BFD control packet is repeatedly transmitted (1211). In order to inform each other of the optimal timer determined through timer adaptation, the timer negotiation process is performed using the BFD poll sequence procedure. In addition to the operation of FIG. 5C , the BFD-Rx 1203 determines whether the received packet is a BFD control packet ( 1219 ). If it is not a BFD control packet, the BFD-Rx 1203 analyzes a loss result for the received echo packet (1224) and stores an adaptation timer (1225). When the adaptation is finished (1226), the BFD-Rx 1203 stores adaptation complete flags (1227). FIG. 13 shows a method for a device of the BFD system to transmit a control message. In step 1310, the first of the BFD system The device sequentially transmits a set of echo messages having different transmission timers to the second device. For example, it may correspond to sequentially transmitting a set of echo messages each having a different transmission period for a predetermined time interval. The first device transmits a first set of echo messages having a first transmission period, and when the first set of echo messages is looped back, it is determined whether transmission loss has occurred for the first set of echo messages, and a second A second set of echo messages having a transmission period may be transmitted. The first transmission period may correspond to, for example, the smallest period in which an echo message can be transmitted in a link between the first device and the second device. The second transmission period has a value smaller than the first transmission period if transmission loss for the first set of echo messages does not occur, and if transmission loss for the first set of echo messages occurs, the second transmission period It may have a value greater than one transmission period. The first device may determine the second transmission period in consideration of a current link utilization rate. Meanwhile, while the initial transmission loss of the echo message does not occur, the transmission period of the set of echo messages may increase exponentially.

1320 단계에서, 상기 제1 장치는 상기 전송된 에코 메시지들의 집합의 루프백 결과에 기초하여 제어 메시지의 전송 주기를 결정한다. 예를 들어, 상기 제1 장치는 미리 설정된 조건이 충족되는지 판단하고, 상기 미리 설정된 조건이 충족되면 충족되는 시점에 전송된 에코 메시지들의 집합의 전송 주기를 상기 제어 메시지의 전송 주기로 결정할 수 있다. 상기 제1 장치는 상기 미리 설정된 조건이 충족되지 않으면, 에코 메시지들의 집합의 순차적 전송을 중단할 수 있다.In step 1320, the first device determines a transmission period of a control message based on a loopback result of the set of transmitted echo messages. For example, the first device may determine whether a preset condition is satisfied, and when the preset condition is satisfied, a transmission period of a set of echo messages transmitted when the preset condition is satisfied may be determined as the transmission period of the control message. If the preset condition is not satisfied, the first device may stop sequential transmission of the set of echo messages.

상기 미리 설정된 조건은, 전송 손실이 발생한 최근 에코 메시지들의 집합의 전송 주기와 전송 손실이 발생하지 않은 최근 에코 메시지의 전송 주기 간의 차이가 미리 설정된 제1 기준값보다 작거나, 손실이 발생한 에코 메시지의 집합의 전송 횟수가 미리 설정된 제2 기준값보다 많거나, 손실이 발생하지 않은 에코 메시지의 집합의 전송 횟수가 미리 설정된 제3 기준값보다 많거나, 최초로 전송된 에코 메시지의 집합의 전송 시작 시점 또는 전송 종료 시점으로부터 미리 정해진 제1 시간이 경과하거나, 최초로 손실이 발생하지 않은 메시지의 집합의 전송 시작 시점 또는 전송 종료 시점으로부터 미리 정해진 제2 시간이 경과하거나, 사용자의 미리 정해진 입력을 감지하는 것 중의 하나에 해당할 수 있다.The preset condition is that a difference between a transmission period of a set of recent echo messages in which transmission loss occurs and a transmission period of a recent echo message in which transmission loss does not occur is less than a preset first reference value, or a set of echo messages in which transmission loss occurs. The number of transmissions is greater than the second preset reference value, or the number of transmissions of the set of echo messages in which no loss occurs is greater than the third reference value, or the transmission start time or transmission end time of the set of initially transmitted echo messages Corresponds to one of whether a first predetermined time has elapsed from, or a second predetermined time has elapsed from the transmission start time or transmission end time of the set of messages in which no loss has occurred for the first time, or a predetermined user input is detected. can do.

1330 단계에서, 상기 제1 장치는 상기 결정된 전송 주기에 따라 상기 제어 메시지를 상기 제2장치에 전송한다. 상기 제1 장치는, 상기 제어 메시지를 미리 정해진 제3시간 동안 상기 결정된 전송 주기에 따라 전송할 수 있다. 상기 제1 장치는, 상기 미리 정해진 제3시간이 경과하면, 에코 메시지들의 집합을 제2장치에 순차적으로 전송하고, 상기 전송된 에코 메시지들의 집합의 루프백 결과에 기초하여 제어 메시지의 전송 주기를 다시 결정하고, 상기 결정된 전송 주기에 따라 상기 제어 메시지를 상기 제2장치에 전송할 수 있다.In step 1330, the first device transmits the control message to the second device according to the determined transmission period. The first device may transmit the control message according to the determined transmission period for a third predetermined time period. When the third predetermined time has elapsed, the first device sequentially transmits a set of echo messages to the second device, and restarts the transmission period of the control message based on a loopback result of the set of transmitted echo messages. and transmits the control message to the second device according to the determined transmission period.

도 14는 BFD 장치의 구성을 나타낸다.14 shows the configuration of a BFD device.

도 14를 참조하면, BFD 시스템의 장치는 통신부(1410), 입력부(1420), 저장부(1430) 및 제어부(1440)의 구성을 포함할 수 있다.Referring to FIG. 14 , the device of the BFD system may include the configuration of a communication unit 1410 , an input unit 1420 , a storage unit 1430 , and a control unit 1440 .

통신부(610)는 BFD 장치(시스템 또는 peer)와 에코 메시지 또는 제어 메시지 등의 데이터를 송수신할 수 있다. 입력부(1420)는 상기 장치의 기능 제어 및 각종 기능들의 설정과 관련되어 사용자에 의해 입력되는 신호를 제어부(1440)로 전달한다. 입력부(1420)는 터치 스크린으로 형성되거나 일반적인 키패드로 형성될 수 있다. 저장부(1430)는 상기 장치가 수집한 정보 또는 사용자에 의해 입력된 정보를 기록할 수 있다. 저장부(1430)는 상기 장치에서 수행될 수 있는 기능에 해당하는 응용 프로그램과 단말기에서 기능이 수행되는 중에 발생되는 데이터 등을 저장할 수 있다. 저장부(1430)는 예를 들어 각 장치의 전송 주기, 적응 종료 조건 등의 정보를 저장할 수 있다. The communication unit 610 may transmit/receive data such as an echo message or a control message to and from the BFD device (system or peer). The input unit 1420 transmits a signal input by a user to the control unit 1440 in connection with function control of the device and setting of various functions. The input unit 1420 may be formed of a touch screen or a general keypad. The storage unit 1430 may record information collected by the device or information input by a user. The storage unit 1430 may store an application program corresponding to a function that can be performed in the device, data generated while a function is performed in the terminal, and the like. The storage unit 1430 may store, for example, information such as a transmission period of each device and an adaptation termination condition.

제어부(1440)는 상기 장치를 구성하는 부들의 전반적인 상태 및 동작을 제어한다. 제어부(1440)는 입력부(1420)를 통해 전달받은 사용자 입력에 대응되는 기능을 수행하도록 다른 부들을 제어할 수 있다. 제어부(1440)는 통신부(1410)를 통해 전달받은 정보를 저장부(1430)에 저장하도록 제어할 수 있다. 제어부(1440)는 본 발명에서 설명하고 있는 다양한 실시예를 수행하도록 다른 부들을 제어할 수 있다.The controller 1440 controls the overall state and operation of units constituting the device. The controller 1440 may control other units to perform a function corresponding to the user input received through the input unit 1420 . The control unit 1440 may control to store the information received through the communication unit 1410 in the storage unit 1430 . The controller 1440 may control other units to perform various embodiments described in the present invention.

도 14에서 통신부(1410), 입력부(1420), 저장부(1430) 및 제어부(1440)가 별도의 블록으로 구성되고, 각 블록이 상이한 기능을 수행하는 것으로 기술하였지만 이는 기술상의 편의를 위한 것일 뿐, 반드시 이와 같이 각 기능이 구분되어지는 것은 아니다. In FIG. 14 , the communication unit 1410 , the input unit 1420 , the storage unit 1430 , and the control unit 1440 are configured as separate blocks, and it has been described that each block performs different functions, but this is only for technical convenience. , each function is not necessarily separated in this way.

상술한 실시예들에서 모든 단계는 선택적으로 수행의 대상이 되거나 생략의 대상이 될 수 있다. 또한 각 실시예에서 단계들은 반드시 순서대로 일어날 필요는 없으며, 뒤바뀔 수 있다.In the above-described embodiments, all steps may be selectively performed or omitted. Also, the steps in each embodiment do not necessarily occur in order and may be reversed.

본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다.The embodiments of the present invention disclosed in the present specification and drawings are merely provided for specific examples in order to easily explain the technical contents of the present invention and help the understanding of the present invention, and are not intended to limit the scope of the present invention.

Claims (20)

통신 시스템에서 BFD(bidirectional forwarding detection)을 지원하는 제1 노드에 의해 수행되는 방법에 있어서,
전송 주기에 기반하여, 에코 패킷(echo packet)들을 상기 제1 노드와 제2 노드 사이의 세션을 통해 상기 제2 노드에게 전송하는 과정;
상기 에코 패킷들의 루프백(loop-back) 결과에 기반하여, 상기 전송 주기를 증가시켜 상기 에코 패킷들을 상기 세션을 통해 상기 제2 노드에게 전송하는 제1 동작 또는 상기 전송 주기를 감소시켜 상기 에코 패킷들을 상기 세션을 통해 상기 제2 노드에게 전송하는 제2 동작을 미리 설정된 종료 조건이 충족될 때까지 적어도 한번 수행하는 과정;
상기 미리 설정된 종료 조건이 충족될 때까지 상기 제1 동작 또는 상기 제2 동작이 적어도 한번 수행된 상기 전송 주기를 식별하는 과정; 및
상기 식별된 전송 주기에 기반하여, 상기 세션에 대한 장애 발생을 탐지하기 위해 상기 에코 패킷들을 상기 세션을 통해 상기 제2 노드에게 전송하는 과정을 포함하는 것을 특징으로 하는 방법.
A method performed by a first node supporting bidirectional forwarding detection (BFD) in a communication system, the method comprising:
transmitting echo packets to the second node through a session between the first node and the second node based on a transmission period;
Based on a loop-back result of the echo packets, a first operation of increasing the transmission period to transmit the echo packets to the second node through the session or decreasing the transmission period to transmit the echo packets performing a second operation of transmitting to the second node through the session at least once until a preset termination condition is satisfied;
identifying the transmission period in which the first operation or the second operation is performed at least once until the preset termination condition is satisfied; and
and transmitting the echo packets to the second node through the session to detect failure of the session based on the identified transmission period.
제1항에 있어서,
상기 제1 동작은 상기 에코 패킷들의 상기 루프백 결과에 기반하여, 손실이 발생한 것으로 식별되면 수행되고,
상기 제2 동작은 상기 에코 패킷들의 상기 루프백 결과에 기반하여, 상기 손실이 발생하지 않은 것으로 식별되면 수행되는 것을 특징으로 하는 방법.
According to claim 1,
The first operation is performed when it is identified that a loss has occurred based on the loopback result of the echo packets,
The second operation is performed when it is determined that the loss has not occurred based on the loopback result of the echo packets.
제1항에 있어서,
최초로 전송된 상기 에코 패킷들의 상기 전송 주기는 상기 세션의 패킷 전송량에 기반하여 결정되는 것을 특징으로 하는 방법.
According to claim 1,
The transmission period of the initially transmitted echo packets is determined based on a packet transmission amount of the session.
제1항에 있어서,
상기 미리 설정된 종료 조건은, 손실이 발생한 최근의 제1 에코 패킷들의 제1 전송 주기와 상기 손실이 발생하지 않은 최근의 제2 에코 패킷들의 제2 전송 주기의 차이가 제1 임계 값 미만인 경우, 상기 손실이 발생한 에코 패킷들 집합의 개수가 제2 임계 값 이상인 경우, 상기 손실이 발생하지 않은 에코 패킷들 집합의 개수가 제3 임계 값 이상인 경우, 최초로 전송된 에코 패킷들의 전송 시작 시점 또는 전송 종료 시점으로부터 미리 정해진 제1 시간이 경과한 경우 또는 최초로 손실이 발생하지 않은 에코 패킷들의 전송 시작 시점 또는 전송 종료 시점으로부터 미리 정해진 제2 시간이 경과한 경우 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
According to claim 1,
The preset termination condition is, when a difference between a first transmission period of recent first echo packets in which loss has occurred and a second transmission period of recent second echo packets in which loss has not occurred is less than a first threshold, the When the number of the set of echo packets in which loss has occurred is equal to or greater than the second threshold, when the number of sets of echo packets in which no loss has occurred is equal to or greater than the third threshold, the transmission start time or the transmission end time of the initially transmitted echo packets and at least one of a case in which a first predetermined time has elapsed, or a case in which a second predetermined time has elapsed from a transmission start time or a transmission end time of the first lossless echo packets.
제1항에 있어서,
상기 제1 동작에 있어서, 상기 전송 주기가 증가되는 폭은 상기 세션의 이용률에 기반하여 결정되고,
상기 제2 동작에 있어서, 상기 전송 주기가 감소되는 폭은 상기 세션의 이용률에 기반하여 결정되는 것을 특징으로 하는 방법.
According to claim 1,
In the first operation, the width at which the transmission period is increased is determined based on the utilization rate of the session,
In the second operation, the width at which the transmission period is reduced is determined based on a utilization rate of the session.
제1항에 있어서,
상기 제1 동작에 있어서, 상기 전송 주기가 증가되는 폭은 손실이 발생한 최근의 제1 에코 패킷들의 제1 전송 주기와 상기 손실이 발생하지 않은 최근의 제2 에코 패킷들의 제2 전송 주기의 평균에 대응하고,
상기 제2 동작에 있어서, 상기 전송 주기가 감소되는 폭은 상기 제1 전송 주기와 상기 제2 전송 주기의 평균에 대응하는 것을 특징으로 하는 방법.
According to claim 1,
In the first operation, the width at which the transmission period is increased is an average of the first transmission period of the most recent first echo packets in which the loss has occurred and the second transmission period of the recent second echo packets in which the loss does not occur. respond,
In the second operation, the width at which the transmission period is reduced corresponds to an average of the first transmission period and the second transmission period.
제1항에 있어서,
상기 식별된 전송 주기에 대한 정보를 상기 세션을 통해 상기 제2 노드에게 전송하는 과정을 더 포함하는 방법.
According to claim 1,
The method further comprising transmitting information on the identified transmission period to the second node through the session.
제1항에 있어서,
상기 제2 노드로부터, 상기 세션을 통해 상기 에코 패킷들을 수신하는 과정;
상기 에코 패킷들의 수신 간격이 협상된 최소 수신 간격보다 미리 정해진 임계 값 이상의 차이를 가지는 경우, 상기 세션의 장애 발생을 검출하는 과정을 더 포함하는 것을 특징으로 하는 방법.
According to claim 1,
receiving, from the second node, the echo packets through the session;
The method of claim 1, further comprising: detecting occurrence of a failure of the session when the reception interval of the echo packets has a difference greater than or equal to a predetermined threshold value from the negotiated minimum reception interval.
통신 시스템에서 BFD(bidirectional forwarding detection)을 지원하는 제1 노드에 있어서, 상기 제1 노드는,
송수신기; 및
프로세서를 포함하고, 상기 프로세서는,
전송 주기에 기반하여, 에코 패킷(echo packet)들을 상기 제1 노드와 제2 노드 사이의 세션을 통해 상기 제2 노드에게 전송하고,
상기 에코 패킷들의 루프백(loop-back) 결과에 기반하여, 상기 전송 주기를 증가시켜 상기 에코 패킷들을 상기 세션을 통해 상기 제2 노드에게 전송하는 제1 동작 또는 상기 전송 주기를 감소시켜 상기 에코 패킷들을 상기 세션을 통해 상기 제2 노드에게 전송하는 제2 동작을 미리 설정된 종료 조건이 충족될 때까지 적어도 한번 수행하고,
상기 미리 설정된 종료 조건이 충족될 때까지 상기 제1 동작 또는 상기 제2 동작이 적어도 한번 수행된 상기 전송 주기를 식별하고,
상기 식별된 전송 주기에 기반하여, 상기 세션에 대한 장애 발생을 탐지하기 위해 상기 에코 패킷들을 사이 세션을 통해 상기 제2 노드에게 전송하도록 구성되는 것을 특징으로 하는 제1 노드.
In a first node supporting bidirectional forwarding detection (BFD) in a communication system, the first node comprises:
transceiver; and
A processor comprising:
Transmitting echo packets to the second node through a session between the first node and the second node based on a transmission period,
Based on a loop-back result of the echo packets, a first operation of increasing the transmission period to transmit the echo packets to the second node through the session or decreasing the transmission period to transmit the echo packets performing a second operation of transmitting to the second node through the session at least once until a preset termination condition is satisfied;
Identifies the transmission period in which the first operation or the second operation is performed at least once until the preset termination condition is satisfied;
and transmit the echo packets to the second node through the inter-session to detect occurrence of a failure for the session based on the identified transmission period.
제9항에 있어서,
상기 제1 동작은 상기 에코 패킷들의 상기 루프백 결과에 기반하여, 손실이 발생한 것으로 식별되면 수행되고,
상기 제2 동작은 상기 에코 패킷들의 상기 루프백 결과에 기반하여, 상기 손실이 발생하지 않은 것으로 식별되면 수행되는 것을 특징으로 하는 제1 노드.
10. The method of claim 9,
The first operation is performed when it is identified that a loss has occurred based on the loopback result of the echo packets,
The second operation is performed when it is determined that the loss has not occurred based on the loopback result of the echo packets.
제9항에 있어서,
최초로 전송된 상기 에코 패킷들의 상기 전송 주기는 상기 세션의 패킷 전송량에 기반하여 결정되는 것을 특징으로 하는 제1 노드.
10. The method of claim 9,
The first node, characterized in that the transmission period of the initially transmitted echo packets is determined based on a packet transmission amount of the session.
제9항에 있어서,
상기 미리 설정된 종료 조건은, 손실이 발생한 최근의 제1 에코 패킷들의 제1 전송 주기와 상기 손실이 발생하지 않은 최근의 제2 에코 패킷들의 제2 전송 주기의 차이가 제1 임계 값 미만인 경우, 상기 손실이 발생한 에코 패킷들 집합의 개수가 제2 임계 값 이상인 경우, 상기 손실이 발생하지 않은 에코 패킷들 집합의 개수가 제3 임계 값 이상인 경우, 최초로 전송된 에코 패킷들의 전송 시작 시점 또는 전송 종료 시점으로부터 미리 정해진 제1 시간이 경과한 경우 또는 최초로 손실이 발생하지 않은 에코 패킷들의 전송 시작 시점 또는 전송 종료 시점으로부터 미리 정해진 제2 시간이 경과한 경우 중 적어도 하나를 포함하는 것을 특징으로 하는 제1 노드.
10. The method of claim 9,
The preset termination condition is, when a difference between a first transmission period of recent first echo packets in which loss has occurred and a second transmission period of recent second echo packets in which loss has not occurred is less than a first threshold, the When the number of the set of echo packets in which loss has occurred is equal to or greater than the second threshold, when the number of sets of echo packets in which no loss has occurred is equal to or greater than the third threshold, the transmission start time or the transmission end time of the initially transmitted echo packets The first node, characterized in that it includes at least one of a case in which a first predetermined time has elapsed, or a case in which a second predetermined time has elapsed from a transmission start time or a transmission end time of the first lossless echo packets. .
제9항에 있어서,
상기 제1 동작에 있어서, 상기 전송 주기가 증가되는 폭은 상기 세션의 이용률에 기반하여 결정되고,
상기 제2 동작에 있어서, 상기 전송 주기가 감소되는 폭은 상기 세션의 이용률에 기반하여 결정되는 것을 특징으로 하는 제1 노드.
10. The method of claim 9,
In the first operation, the width at which the transmission period is increased is determined based on the utilization rate of the session,
In the second operation, a width at which the transmission period is reduced is determined based on a utilization rate of the session.
제9항에 있어서,
상기 제1 동작에 있어서, 상기 전송 주기가 증가되는 폭은 손실이 발생한 최근의 제1 에코 패킷들의 제1 전송 주기와 상기 손실이 발생하지 않은 최근의 제2 에코 패킷들의 제2 전송 주기의 평균에 대응하고,
상기 제2 동작에 있어서, 상기 전송 주기가 감소되는 폭은 상기 제1 전송 주기와 상기 제2 전송 주기의 평균에 대응하는 것을 특징으로 하는 제1 노드.
10. The method of claim 9,
In the first operation, the width at which the transmission period is increased is an average of the first transmission period of the most recent first echo packets in which the loss has occurred and the second transmission period of the recent second echo packets in which the loss does not occur. respond,
In the second operation, the width at which the transmission period is reduced corresponds to an average of the first transmission period and the second transmission period.
제9항에 있어서, 상기 프로세서는,
상기 식별된 전송 주기에 대한 정보를 상기 세션을 통해 상기 제2 노드에게 전송하도록 더 구성되는 것을 특징으로 하는 제 1노드.
10. The method of claim 9, wherein the processor,
The first node, characterized in that the first node is further configured to transmit information on the identified transmission period to the second node through the session.
제9항에 있어서, 상기 프로세서는,
상기 제2 노드로부터, 상기 세션을 통해 상기 에코 패킷들을 수신하고,
상기 에코 패킷들의 수신 간격이 협상된 최소 수신 간격보다 미리 정해진 임계 값 이상의 차이를 가지는 경우, 상기 세션의 장애 발생을 검출하도록 더 구성되는 것을 특징으로 하는 제1 노드.
10. The method of claim 9, wherein the processor,
receive, from the second node, the echo packets through the session;
and detect occurrence of a failure of the session when the reception interval of the echo packets has a difference greater than or equal to a predetermined threshold value than the negotiated minimum reception interval.
삭제delete 삭제delete 삭제delete 삭제delete
KR1020150064073A 2015-05-07 2015-05-07 Adaptive Bidirectional Forwarding Detection protocol and equipment for maximizing service availability in network system KR102435334B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150064073A KR102435334B1 (en) 2015-05-07 2015-05-07 Adaptive Bidirectional Forwarding Detection protocol and equipment for maximizing service availability in network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150064073A KR102435334B1 (en) 2015-05-07 2015-05-07 Adaptive Bidirectional Forwarding Detection protocol and equipment for maximizing service availability in network system

Publications (2)

Publication Number Publication Date
KR20160131532A KR20160131532A (en) 2016-11-16
KR102435334B1 true KR102435334B1 (en) 2022-08-23

Family

ID=57541116

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150064073A KR102435334B1 (en) 2015-05-07 2015-05-07 Adaptive Bidirectional Forwarding Detection protocol and equipment for maximizing service availability in network system

Country Status (1)

Country Link
KR (1) KR102435334B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101962346B1 (en) * 2017-06-14 2019-03-27 고려대학교 산학협력단 Method for measuring path latency based on sdn
CN109743746A (en) * 2018-12-07 2019-05-10 盛科网络(苏州)有限公司 A kind of two-way converting detection BFD parameter consultation method, device and chip
CN112585920B (en) * 2019-02-22 2023-02-28 中兴通讯股份有限公司 Performance measurement using extended bidirectional forwarding control packets
US11646956B2 (en) * 2019-07-24 2023-05-09 Cisco Technology, Inc. Systems and methods for providing bidirectional forwarding detection with performance routing measurements

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110066735A1 (en) 2006-09-29 2011-03-17 Juniper Networks, Inc. Systems and methods for ip session keepalive using bfd protocols
US20120106359A1 (en) 2009-03-25 2012-05-03 Juniper Networks, Inc. Health probing detection and enhancement for traffic engineering label switched paths
JP2016048850A (en) 2014-08-27 2016-04-07 富士通株式会社 Packet transfer device, packet transfer system and packet transfer method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0302117D0 (en) * 2003-01-30 2003-03-05 Ibm Preemptive retransmission of buffered data in a network
KR101591102B1 (en) * 2010-01-07 2016-02-02 삼성전자주식회사 Method for router of virtual router redundancy protocol and communication system therefor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110066735A1 (en) 2006-09-29 2011-03-17 Juniper Networks, Inc. Systems and methods for ip session keepalive using bfd protocols
US20120106359A1 (en) 2009-03-25 2012-05-03 Juniper Networks, Inc. Health probing detection and enhancement for traffic engineering label switched paths
JP2016048850A (en) 2014-08-27 2016-04-07 富士通株式会社 Packet transfer device, packet transfer system and packet transfer method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Internet Engineering Task Force (IETF) Request for Comments: 5880 Category: Standards Track ISSN: 2070-1721 ; Bidirectional Forwarding Detection (BFD)
Internet Engineering Task Force (IETF) Request for Comments: 7419 Updates: 5880 Category: Informational ISSN: 2070-1721; Common Interval Support in Bidirectional Forwarding Detection
Y. Tsegaye and T. Geberehana, "OSPF convergence times", Master's thesis, Chalmers University of Technology, Gotborg, Sweden(2013.) 1부.*

Also Published As

Publication number Publication date
KR20160131532A (en) 2016-11-16

Similar Documents

Publication Publication Date Title
JP6319608B2 (en) Transmission control method, apparatus and system
RU2667508C2 (en) Method and device for processing radio link failure
US9832681B2 (en) Higher layer compression with lower layer signaling
CN102624584B (en) Chain circuit detecting method and device
CN106817264B (en) Method, device and system for detecting link fault
CN107070689B (en) Method and apparatus for reducing false alarms when using network keep-alive messages
KR102435334B1 (en) Adaptive Bidirectional Forwarding Detection protocol and equipment for maximizing service availability in network system
US10819623B2 (en) Method and device for transmitting data
CN103916275A (en) BFD detection device and method
CN102075390B (en) Transmission state detection method and related device thereof
US10594844B2 (en) Method and system for wireless network bilateral accelerated transmission
CN112436924B (en) Data transmission method and electronic equipment
CN113411260A (en) Method and device for sending data message in IPv6 network
CN103188716A (en) Location method and device for failures of reliable user datagram protocol (RUDP) link
CN102711159A (en) Method and system for processing lost node based on ZigBee protocol
CN107948000A (en) A kind of switching method of primary channel, apparatus and system
JP2015198423A (en) Communication terminal and packet communication method
CN102281194A (en) Message transmission method and network equipment
CN110808917A (en) Multilink aggregation data retransmission method and transmitting equipment
JP6200870B2 (en) Data transfer control device, method and program
WO2015194134A1 (en) Communications state estimation device, communications state estimation method, and storage medium that stores communications state estimation program
US20140369189A1 (en) Method of controlling packet transmission in network system and network system transmitting packet using pseudo-tcp agent
JP2016220131A (en) Ring network relay device, ring network system and ring network relay method
CN114205405B (en) BFD message sending method and device, electronic equipment and storage medium
JP2008199431A (en) Communication device

Legal Events

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