KR101593504B1 - A datalink layer Reception Protocol for long range underwater networks - Google Patents
A datalink layer Reception Protocol for long range underwater networks Download PDFInfo
- Publication number
- KR101593504B1 KR101593504B1 KR1020150107519A KR20150107519A KR101593504B1 KR 101593504 B1 KR101593504 B1 KR 101593504B1 KR 1020150107519 A KR1020150107519 A KR 1020150107519A KR 20150107519 A KR20150107519 A KR 20150107519A KR 101593504 B1 KR101593504 B1 KR 101593504B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- beacon
- received
- time
- response
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0641—Change of the master or reference, e.g. take-over or failure of the master
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0652—Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
- H04J3/0655—Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP] using timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/16—Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
- H04J3/1605—Fixed allocated frame structures
- H04J3/1611—Synchronous digital hierarchy [SDH] or SONET
- H04J3/1617—Synchronous digital hierarchy [SDH] or SONET carrying packets or ATM cells
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/16—Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
- H04J3/1694—Allocation of channels in TDM/TDMA networks, e.g. distributed multiplexers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
본 발명은 수중 데이터 링크 수신 프로토콜에 관한 것으로, 특히 모선과 클러스터 헤더가 패킷 트레인 형식의 신호로 서로 송수신하여 통신 효율을 높이고, 수중의 열악한 통신 환경에 효율적으로 동작하도록 매체접속제어, 시간 동기, 라우팅 등의 다양한 알고리즘에 공통적으로 적용할 수 있는 패킷 트레인 수신 알고리즘을 이용한 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 에 관한 것이다.The present invention relates to an underwater data link reception protocol, and more particularly, to a system and method for performing a medium access control, a time synchronization, and a routing, in order to efficiently perform communication in a poor communication environment underwater by transmitting and receiving a bus- The present invention relates to a data link layer reception protocol for an underwater long distance network using a packet train reception algorithm that can be commonly applied to various algorithms.
오늘날은 광대한 해양이 지니고 있는 자원, 에너지, 공간을 활용하는 것이 인류에게 꼭 필요한 일이라는 인식이 확대되고 있다.Today, there is growing recognition that the utilization of resources, energy and space possessed by the vast ocean is indispensable to mankind.
수중에도 다양한 노드(node)들이 존재할 수 있다. 본 명세서에서, 노드란 통신 가능한 물체를 의미한다. 이러한 노드는 AUV(Automatic Underwater Vehicle), 잠수함, 다이버와 같은 이동 가능한 대상에 구현될 수도 있고 고정적인 대상에 구현될 수도 있다.Various nodes may exist in the water. In this specification, a node means a communicable object. These nodes may be implemented in a mobile object such as an Automatic Underwater Vehicle (AUV), a submarine, a diver, or a fixed object.
수중 환경은 지상 환경에 비해 통신 환경이 매우 척박하다. 신호의 전송속도는 매우 느리며, 사용 가능한 채널의 개수도 매우 한정적이고 사용 가능한 대역폭도 매우 좁다. 이러한 척박한 수중 환경에도 불구하고, 다양한 형태의 수중 통신에 대한 요구는 급증하고 있는 실정이다.The underwater environment is very harsh in communication environment compared to the ground environment. The signal transmission rate is very slow, the number of usable channels is very limited, and the usable bandwidth is very narrow. Despite this barren underwater environment, the demand for various forms of underwater communication is increasing rapidly.
본 발명과 관련된 선행기술문헌으로는 대한민국 등록특허 제10-1090402호가 있으며, 상기 선행기술문헌에는 수면에 위치하는 중간 기지국들이 수중 노드들로부터 전송되는 데이터를 시간을 분할하여 할당받은 시간 동안 육상 기지국에 전송하는 접속 방식인 TDMA1과, 수중 노드들이 시간을 분할하여 할당받은 시간 동안 자신을 제어하는 육상 기지국에 데이터를 전송하는 접속 방식인 TDMA2로 구성되어, 수중 노드들의 이동성을 파악하고 중간 기지국들이 서로 공유함으로써 TDMA가 가지고 있는 이동성의 제약을 극복하는 한편 유휴한(ilde) 타임 슬롯의 개수를 줄여 채널 이용률을 높이는 것을 특징으로 하는, 수중 음향 네트워크를 위한 계층적 시간 분할 다중접속 방법을 제안하고 있다.The prior art document related to the present invention is Korean Patent Registration No. 10-1090402. In the prior art document, the intermediate base stations located on the surface of the water are divided into the data transmitted from the underwater nodes, TDMA1, which is an access method for transmitting data, and TDMA2, which is an access method for transmitting data to a terrestrial base station that controls itself during a time period in which underwater nodes divide and allocate time, Thereby improving the channel utilization rate by reducing the number of idle time slots, while overcoming the limitation of mobility that the TDMA has. The present invention proposes a hierarchical time division multiple access method for an underwater acoustic network.
그러나 수중 장거리 네트워크의 특징을 고려한다면 선행기술문헌은 데이터의 포화상태로 인한 수율이 저하된다는 문제점을 여전히 극복하지 못하고 있다.However, considering the characteristics of the underwater long distance network, the prior art document still fails to overcome the problem that the yield due to saturation of data is lowered.
또한, 선행문헌은 수중 환경에서는 긴 전파지연 시간으로 인해 수중 노드들이 데이터를 동시에 수신하는 경우 충돌이 발생하여 데이터의 손실이 발생하거나 훼손된다는 문제점 또한 여전히 극복하지 못하고 있다.In addition, the prior art still does not overcome the problem of data loss or corruption due to collision when underwater nodes receive data simultaneously due to long propagation delay time in underwater environment.
본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서 수중의 열악한 통신 환경에 효율적으로 동작하도록 매체접속제어, 시간 동기, 라우팅 등의 다양한 알고리즘에 공통적으로 적용할 수 있는 패킷 트레인 수신 알고리즘, 중앙 제어 노드의 수신 프로토콜, 일반 노드의 수신 프로토콜, 공통 패킷 트레인 수신 알고리즘을 포함하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made to solve the problems of the prior art as described above, and it is an object of the present invention to provide a packet train receiving method, a packet train receiving method, A data link layer reception protocol for an underwater long distance network including an algorithm, a reception protocol of a central control node, a reception protocol of a general node, and a common packet train reception algorithm.
이를 위해 본 발명에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜은 (A) 모선이 초기 통신경로를 설정하는 초기 스테이지; (B) 상기 통신경로를 통해 상기 모선과 다수의 클러스터 헤드가 통신을 수행하는 정상 스테이지; 및 (C) 상기 모선과 상기 다수의 클러스터 헤드가 통신을 종료하는 종료 스테이지를 포함하며, 상기 통신은 시간분할다중접속(TDMA) 방식으로 패킷을 일괄전송하기 위한 패킷 트레인 형식의 패킷을 송수신하고, 상기 패킷 트레인 형식의 패킷 수신은 (D) 패킷 트레인 리드 알고리즘에 의해 큐로부터 패킷을 수신하여 수신된 패킷의 에러가 있는지 여부에 따라 헤더 및 RX 상태 테이블을 체크하고, 중복 여부에 따라 상기 수신된 패킷의 수 및 패킷 로스의 회수를 초기화하며, 중간에 새로운 시작 패킷이 수신되었는지 여부에 따라 상기 수신된 패킷의 수가 조각된 패킷의 총 개수인지 여부를 판단하는 단계; 및 (E) 상기 패킷 트레인 리드 알고리즘으로 생성된 패킷 트레인을 수신하여 응답 신호가 비콘 신호의 Seq 값과 동일한지 여부 및 업링크 데이터인지 여부에 따라 상기 RX 상태 테이블 업데이트의 여부 및 상위 계층으로의 전송 여부가 결정되는 단계;를 포함한다.To this end, a data link layer reception protocol for an underwater long distance network according to the present invention comprises: (A) an initial stage in which a bus line sets an initial communication path; (B) a normal stage in which the bus bar and the plurality of cluster heads communicate through the communication path; And (C) an end stage in which the bus and the plurality of cluster heads terminate communication, wherein the communication transmits and receives packets in a packet train format for collectively transmitting packets in a time division multiple access (TDMA) manner, (D) Receiving a packet from the queue by the packet train read algorithm, checking the header and the RX state table according to whether there is an error in the received packet, and if the received packet And determining whether the number of received packets is the total number of fragmented packets according to whether a new start packet has been received in the middle or not. And (E) receiving the packet train generated by the packet train read algorithm and determining whether the RX state table is updated and whether the response signal is the same as the Seq value of the beacon signal and whether it is the uplink data, And a step of determining whether or not it is determined.
또한, 본 발명에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜은 (A) 클러스터 헤드가 제1 초기 비콘신호를 수신받아 상기 제1 초기 비콘신호에 대응하는 제1 초기 응답신호를 송신하고, 제2 초기 비콘신호를 송신하여 상기 제2 초기 비콘신호에 대응하는 제2 초기 응답신호를 수신받아 경로를 설정하는 초기 스테이지; (B) 상기 클러스터 헤드가 제1 정상 비콘신호를 수신받아 상기 제1 정상 비콘신호에 대응하는 제1 정상 응답신호를 송신하고, 상기 제2 정상 비콘신호를 송신하여 상기 제2 정상 비콘신호에 대응하는 제2 정상 응답신호를 수신받는 정상 스테이지; 및 (C) 상기 클러스터 헤드가 제1 종료 비콘신호를 수신받아 상기 제1 종료 비콘신호에 대응하는 제1 종료 응답신호를 송신하고, 상기 제2 종료 비콘신호를 송신하여 상기 제2 종료 비콘신호에 대응하는 제2 종료 응답신호를 수신받는 종료 스테이지를 포함하되, 상기 제1 초기 응답신호는 상기 제2 초기 응답신호의 정보를 포함하고, 상기 제1 정상 응답신호는 상기 제1 정상 응답신호의 정보를 포함하며, 상기 제1 종료응답신호는 상기 제2 종료 응답신호의 정보를 포함하고, 상기 신호들의 송수신은 시간분할다중접속(TDMA) 방식으로 패킷을 일괄전송하기 위한 패킷 트레인 형식의 패킷을 송수신하며, 상기 패킷 트레인 형식의 패킷 수신은 (D) 패킷 트레인 리드 알고리즘에 의해 큐로부터 패킷을 수신하여 수신된 패킷의 에러가 있는지 여부에 따라 헤더 및 RX 상태 테이블을 체크하고, 중복 여부에 따라 수신된 패킷의 수 및 패킷 로스의 회수를 초기화하며, 중간에 새로운 시작 패킷이 수신되었는지 여부에 따라 상기 수신된 패킷의 수가 조각된 패킷의 총 개수인지 여부를 판단하는 단계; 및 (E) 상기 패킷 트레인 리드 알고리즘으로 생성된 패킷 트레인을 수신하여 비콘 신호의 종류 또는 다운링크 데이터 여부에 따라 시간을 동기화 또는 타이머를 셋업시키며, 브로드캐스트 모드인지 여부에 따라 최종 홉인지 여부인지 여부를 판단하여 응답 신호를 생성하거나, 비콘 신호 또는 다운링크 데이터를 수정한 후에 패킷을 상위 계층으로 전송하거나, 상기 클러스터 헤드의 주소의 종류에 따라 상기 다운링크 데이터, 업링크 데이터 또는 상기 응답 신호를 수정한 후에 패킷을 상위 계층으로 전송 또는 드롭하는 단계;를 포함한다.Also, the data link layer reception protocol for underwater long distance network according to the present invention is characterized in that (A) the cluster head receives the first initial beacon signal and transmits a first initial response signal corresponding to the first initial beacon signal, 2) an initial stage for transmitting an initial beacon signal to receive a second initial response signal corresponding to the second initial beacon signal and setting a path; (B) the cluster head receives a first normal beacon signal and transmits a first normal response signal corresponding to the first normal beacon signal, and transmits the second normal beacon signal to correspond to the second normal beacon signal A normal stage receiving a second normal response signal; And (C) the cluster head receives a first end beacon signal and transmits a first end response signal corresponding to the first end beacon signal and transmits the second end beacon signal to the second end beacon signal Wherein the first initial response signal includes information of the second initial response signal and the first normal response signal includes information of the first normal response signal, Wherein the first end acknowledgment signal includes information of the second end acknowledgment signal, and the transmission and reception of the signals include transmission and reception of a packet in a packet train format for collectively transmitting packets in a time division multiple access (TDMA) (D) receiving the packet from the queue by the packet train read algorithm, and determining whether or not there is an error in the received packet, The state table is checked, and the number of received packets and the number of packet losses are initialized in accordance with whether or not the received packets are duplicated, and whether or not the number of received packets is the total number of fragmented packets ; And (E) receiving the packet train generated by the packet train read algorithm and synchronizing the time or setting up a timer according to whether the beacon signal is downlink data or the type of the beacon signal, and whether or not the packet train is the last hop And transmits the packet to the upper layer after correcting the beacon signal or the downlink data or corrects the downlink data, the uplink data or the response signal according to the type of the address of the cluster head And then transmitting or dropping the packet to an upper layer.
본 발명의 특징 및 이점들은 첨부도면에 의거한 다음의 상세한 설명으로 더욱 명백해질 것이다.The features and advantages of the present invention will become more apparent from the following detailed description based on the accompanying drawings.
이에 앞서 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이고 사전적인 의미로 해석되어서는 아니되며, 발명자가 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 윈칙에 입각하여 본 발명의 기술적 사상에 부합되는 의미와 개념으로 해석되어야만 한다.Prior to that, terms and words used in the present specification and claims should not be construed in a conventional and dictionary sense, and the inventor may properly define the concept of the term in order to best explain its invention It should be construed in accordance with the meaning and concept consistent with the technical idea of the present invention.
본 발명의 다양한 실시 예에 따르면, 수중 장거리 네트워크에서 패킷 트레인 형태의 송수신 시 메시지 오버헤드 감소와 전체적인 네트워크 프로토콜의 수신 알고리즘 복잡도를 낮춰 열악한 수중 네트워크 통신 시스템의 성능을 향상시킬 수 있다.According to various embodiments of the present invention, it is possible to improve the performance of a poor underwater network communication system by reducing the message overhead in transmission and reception of a packet train type in a long distance underwater network and reducing the complexity of the reception algorithm of the entire network protocol.
따라서, 본 발명의 다양한 실시 예에 따르면, 궁극적으로 수중 네트워크를 효율적으로 구성하여 해양탐사 및 자원채취를 원활하게 하여 국익을 증대시키는 효과가 있다.Therefore, according to the various embodiments of the present invention, ultimately, an underwater network can be efficiently configured to facilitate marine exploration and resource harvesting, thereby enhancing the national interest.
도 1은 본 발명의 실시 예에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 의 개념을 보여주기 위한 예시도.
도 2는 본 발명의 실시 예에 따르는 모선(CS, Command Ship) 데이터링크 프로토콜의 초기화 스테이지(S110)를 상세하게 보여주기 위한 순서도.
도 3은 본 발명의 실시예에 따르는 TX I_BEACON의 패킷의 일례를 보여주는 예시도.
도 4는 본 발명의 실시 예에 따르는 모선(CS, Command Ship) 데이터링크 프로토콜의 정상 스테이지(S120)를 상세하게 보여주기 위한 순서도.
도 5는 본 발명의 실시예에 따르는 N_BEACON의 패킷의 일 예를 보여주는 예시도.
도 6은 본 발명의 실시 예에 따르는 모선(CS, Command Ship) 데이터링크 프로토콜의 종료 스테이지(S130)를 상세하게 보여주기 위한 순서도.
도 7은 본 발명의 실시 예에 따르는 T_BEACON 용 패킷의 구조를 보여주는 예시도.
도 8은 본 발명의 실시 예에 따르는 모선(CS, Command Ship) 데이터링크 프로토콜의 패킷 트레인 리드(Read) 알고리즘을 상세하게 보여주기 위한 순서도.
도 9는 본 발명의 실시 예에 따르는 모선(CS, Command Ship) 데이터링크 프로토콜의 패킷 처리 알고리즘을 상세하게 보여주기 위한 순서도.
도 10은 본 발명의 실시 예에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 중 클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜의 초기화 스테이지(S210)를 보여주는 순서도.
도 11은 본 발명의 실시 예에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 중 클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜의 정상 스테이지(S230)를 보여주는 순서도.
도 12는 본 발명의 실시 예에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 중 클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜의 종료 스테이지(S250)를 보여주는 순서도.
도 13은 본 발명의 실시 예에 따르는 클러스터 헤드 데이터링크 프로토콜의 패킷 처리 알고리즘을 상세하게 보여주기 위한 순서도이다.1 is an exemplary diagram illustrating a concept of a data link layer reception protocol for an underwater long distance network according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating in detail an initialization stage (S110) of a bus (CS) data link protocol according to an embodiment of the present invention;
3 is an exemplary diagram showing an example of a packet of TX I_BEACON according to an embodiment of the present invention;
FIG. 4 is a flowchart for showing in detail a normal stage S120 of a CS (Command Ship) data link protocol according to an embodiment of the present invention.
5 is an exemplary diagram showing an example of a packet of N_BEACON according to an embodiment of the present invention;
FIG. 6 is a flowchart for illustrating in detail the end stage (S130) of a bus (CS, Command Ship) data link protocol according to an embodiment of the present invention;
FIG. 7 is an exemplary diagram showing a structure of a packet for T_BEACON according to an embodiment of the present invention; FIG.
FIG. 8 is a flowchart illustrating a packet train read algorithm of a CS (Command Ship) data link protocol according to an embodiment of the present invention in detail. FIG.
9 is a flowchart illustrating a packet processing algorithm of a CS (Command Ship) data link protocol according to an embodiment of the present invention in detail.
FIG. 10 is a flowchart showing an initialization stage (S210) of a data link protocol of a cluster head (CH) among a data link layer reception protocol for an underwater long distance network according to an embodiment of the present invention;
11 is a flowchart showing a normal stage S230 of a data link protocol of a cluster head (CH, Cluster Head) among data link layer reception protocols for an underwater long distance network according to an embodiment of the present invention.
FIG. 12 is a flowchart showing an end stage (S250) of a data link protocol of a cluster head (CH) among a data link layer reception protocol for an underwater long distance network according to an embodiment of the present invention;
13 is a flowchart illustrating a packet processing algorithm of the cluster head data link protocol in detail according to an embodiment of the present invention.
본 발명의 목적, 특정한 장점들 및 신규한 특징들은 첨부된 도면들과 연관되어지는 이하의 상세한 설명과 바람직한 실시 예들로부터 더욱 명백해질 것이다. 본 명세서에서 각 도면의 구성요소들에 참조번호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다. 또한, "제1", "제2", 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 상기 용어들에 의해 제한되는 것은 아니다.BRIEF DESCRIPTION OF THE DRAWINGS The objectives, specific advantages, and novel features of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: FIG. It should be noted that, in the present specification, the reference numerals are added to the constituent elements of the drawings, and the same constituent elements are assigned the same number as much as possible even if they are displayed on different drawings. Also, the terms "first "," second ", and the like are used to distinguish one element from another element, and the element is not limited thereto.
또한, 이하에서 사용되는 단수 형태들은 문구들이 이와 명백히 반대의 의미를 나타내지 않는 한 복수 형태들도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.Also, the singular forms as used below include plural forms unless the phrases expressly have the opposite meaning. Throughout the specification, when an element is referred to as "including" an element, it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.
도 1 내지 도 13의 동일 부재에 대해서는 동일한 도면 번호를 기재하였다.The same reference numerals are given to the same members in Figs. 1 to 13.
본 발명의 기본 원리는 모선과 클러스터 헤드가 송수신하는 신호의 패킷을 일괄전송에 용이한 패킷 트레인 형태로 생성하고, 신호의 송수신이 비활성되는 시간을 슬립모드로 설정하는 것이다.The basic principle of the present invention is to generate a packet of a signal transmitted and received by a bus and a cluster head in a form of a packet train that is easy to collectively transmit, and to set a time when a transmission and reception of a signal is inactive to a sleep mode.
먼저, 본 발명의 실시 예에서 사용하는 클러스터 헤드(CH, Cluster Head)는 모선(CS, Command Ship)과 상대적인 개념으로서, 수중을 이동하는 이동노드를 의미한다.First, the cluster head (CH, Cluster Head) used in the embodiment of the present invention refers to a mobile node moving in the water as a concept relative to a CS (Command Ship).
아울러, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우 그 상세한 설명은 생략한다.In the following description of the present invention, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.
본 발명을 상세하게 설명하기에 앞서 본 발명을 설명하기 위하여 기재한 파라미터들을 다음의 [표 1] 파라미터 정의 1 내지 [표 2] 파라미터 정의 2와 같이 정의하기로 한다.Before describing the present invention in detail, the parameters described for explaining the present invention will be defined as the following [Table 1]
( )Number of CH per hop
( )
( )hop , Sub hop Number of CHs in
( )
또한, 본 발명을 상세하게 설명하기에 앞서 본 발명을 설명하기 위하여 기재한 테이블(table)들의 업데이트 내용들을 다음의 [표 3] 테이블의 업데이트 내용과 같이 정의하기로 한다.Before describing the present invention in detail, the updated contents of the tables described for explaining the present invention will be defined as the update contents of the following table.
한편, 본 발명을 설명하기에 앞서 본 발명을 상세하게 설명하기에 앞서 본 발명을 설명하기 위하여 사용되는 약어 중, I는 초기 스테이지(Initialization stage)에서 송수신되는 신호라는 의미로 기재하였고 Initialization의 약어이다. 그리고 N은 정상 스테이지(Normal operation stage)에서 송수신되는 신호라는 의미로 기재하였고 Normal의 약어이다. 또한, T는 종료 스테이지(Terminal stage)에서 송수신되는 신호라는 의미로 기재하였고 Terminal의 약어이다.Before describing the present invention in detail, before describing the present invention in detail, among the abbreviations used for explaining the present invention, I is an initialization stage and is an abbreviation of Initialization . And N is an abbreviation of Normal, which means a signal transmitted and received in a normal operation stage. Also, T is an abbreviation of Terminal, which means a signal transmitted and received at a terminal stage.
그리고 BEACON 또는 비콘은 비콘신호와 동일한 의미이며, RESPONSE 또는 응답도 응답신호와 동일한 의미이다.And BEACON or beacon is synonymous with beacon signal, and RESPONSE or response is synonymous with response signal.
마지막으로 Tx는 송신의 의미로 사용하였고 Rx는 수신의 의미로 사용하였다.Finally, Tx is used as the meaning of transmission and Rx is used as the meaning of reception.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시형태를 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시 예에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 의 개념을 보여주기 위한 예시도이다.1 is an exemplary diagram illustrating a concept of a data link layer reception protocol for an underwater long distance network according to an embodiment of the present invention.
도 1을 참조하여 본 발명의 실시 예에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 의 개념을 설명하면 다음과 같다.The concept of a data link layer reception protocol for an underwater long distance network according to an embodiment of the present invention will be described with reference to FIG.
본 발명의 실시예에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 의 개념을 간략히 설명한다.The concept of a data link layer reception protocol for an underwater long distance network according to an embodiment of the present invention will be briefly described.
우선 본 발명의 실시 예에 따르는 모선과 클러스터 헤드의 MAC(Media Access Control)은 초기화 스테이지, 정상 스테이지, 종료 스테이지 이렇게 3개의 스테이지로 구분된다.First, the MAC (Media Access Control) of the bus and the cluster head according to the embodiment of the present invention is divided into three stages as an initialization stage, a normal stage, and a final stage.
여기서, 모든 모선(CS, Command Ship)은 자신의 위치를 알 수 있고, 클러스터 헤더(CH, Cluster Head)는 모선(CS)의 위치를 알 수 있다고 가정한다.Here, it is assumed that all bus lines (CS, Command Ship) can know their positions and cluster head (CH, Cluster Head) can know the position of bus line (CS).
특히 모선(CS)은 네트워크의 중심에 위치하며 위치의 이동이 거의 없다.In particular, the bus (CS) is located at the center of the network and has little movement.
그리고 모선(CS)과 클러스터 헤더(CH)는 최대 멀티 홉(m)을 알고 있다고 가정한다.It is assumed that the bus line (CS) and the cluster header (CH) know the maximum multi-hop (m).
이때 모선(CS)은 통신 반경(30km, 1hop) 내에서 장거리 제어를 하고, 모선(CS)의 통신 범위 이외의 선단에서는 장거리 중계 통신(multi-hop)을 통하여 클러스터 헤더(CH)를 제어한다.At this time, the bus line CS controls the long distance within the communication radius (30 km, 1hop), and controls the cluster header CH through the long-distance relay communication (multi-hop) at the ends other than the communication range of the bus line CS.
본 발명은 모선(CS)과 클러스터 헤더(CH) 사이에서 수행되는 통신을 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 을 이용하여 수행한다.The present invention performs communication between the bus (CS) and the cluster header (CH) using a data link layer reception protocol for underwater long distance networks.
특히, 모선(CS)과 클러스터 헤드(CH)는 송수신 데이터의 패킷을 단편화(fragmentation)하고, 이를 다시 패킷 트레인(packet train) 방식으로 구성하여 일괄적으로 송수신하는 프로토콜이다.Particularly, the bus line CS and the cluster head CH are a protocol for fragmenting packets of transmission / reception data and configuring the packets in a packet train manner and transmitting / receiving them collectively.
본 발명의 실시 예에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 은 전파지연을 이용하기 때문에 클러스터 헤더(CH)이 동시에 수신 충돌없이 전송을 수행할 수 있다.Since the data link layer reception protocol for the underwater long distance network according to the embodiment of the present invention uses the propagation delay, the cluster header CH can simultaneously transmit without collision.
한편, 통신이 비활성화되는 대기시간 동안 슬립 모드(sleep mode)로 설정하고, 통신이 활성화되는 통신시간 동안에는 웨이크 모드(wake mode)로 설정함으로써 통신의 지속성을 향상시켰다.On the other hand, the sleep mode is set during a waiting time when communication is inactivated, and the wake mode is set during a communication time when communication is activated.
본 발명에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 은 전체 네트워크를 제어하고 상황에 따르는 단계 전환을 위한 모선(CS, Command Ship)의 데이터링크 프로토콜과 수신 비콘(X_BEACON)에 따른 처리 프로토콜인 클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜로 구분된다.The data link layer reception protocol for the underwater long distance network according to the present invention includes a data link protocol of a CS (Command Ship) for controlling an entire network and a step change according to a situation, and a processing protocol based on a reception beacon (X_BEACON) And the data link protocol of the head (CH, Cluster Head).
특히, 모선(CS)과 클러스터 헤드(CH)의 데이터링크 프로토콜은 네트워크를 초기화하고 네트워크 경로를 재구성하는 초기 스테이지(Initialization stage), 초기 스테이지 이후, 모선(CS)이 클러스터 헤드(CH)들의 생존을 확인하고 제어하기 위해 데이터를 송수신하는 정상 스테이지(Normal operation stage) 및 모든 통신을 종료하고 모선(CS)이 클러스터 헤드(CH)들을 복귀시키는 종료 스테이지(Terminal stage) 이렇게 각각 3개의 스테이지로 구분된다.Particularly, the data link protocol of the bus CS and the cluster head CH is an initialization stage in which the bus CS initializes the network and reconfigures the network path after the initial stage, And a terminal stage for terminating all communications and returning the cluster heads (CH) to the cluster heads (CHs), are divided into three stages, respectively.
모선(CS, Command Ship)의 데이터링크 프로토콜The data link protocol of the bus (CS, Command Ship)
우선, 모선의 초기화 스테이지에서는 파라미터를 설정하고, 비콘을 송신하여 응답을 수신한 후 경로를 설정한다. 여기서 모선의 비콘 송신시 시작지점과 오프셋이 설정되고 응답은 기 설정된 시간동안 대기하여 수신한다. 그리고 경로설정이 완료되면 그 여부를 확인한다.First, in the initialization stage of the bus, parameters are set, a beacon is transmitted, a response is received, and a path is set. Here, the starting point and the offset are set when the beacon of the bus is transmitted, and the response is received by waiting for a preset time. When the route setting is completed, confirm whether or not the route setting is completed.
본 발명에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 중 전체 네트워크를 제어하고 상황에 따르는 단계 전환을 위한 모선(CS, Command Ship)의 초기화 스테이지에 대해 상세하기로 한다.The initialization stage of the CS (Command Ship) for controlling the entire network among the data link layer reception protocols for the underwater long distance network according to the present invention and for changing the step according to the situation will be described in detail.
모선(CS, Command Ship) 데이터링크 프로토콜의 초기 CS (Command Ship) Data link protocol initial 스테이지stage
도 2는 본 발명의 실시 예에 따르는 모선(CS, Command Ship) 데이터링크 프로토콜의 초기화 스테이지(S110)를 상세하게 보여주기 위한 순서도이다.2 is a flowchart illustrating in detail an initialization stage (S110) of a bus (CS, Command Ship) data link protocol according to an embodiment of the present invention.
도 2를 참조하면 본 발명의 실시 예에 따르는 모선(CS, Command Ship) 데이터링크 프로토콜의 초기화 스테이지(S110)는 모선이 초기 비콘신호를 송신하는 단계(S111), 초기 비콘신호에 대응하는 다수의 클러스터 헤드의 초기 응답신호를 모선이 수신하는 단계(S112), (b) 단계에서 초기 응답신호를 대기하기 위하여 설정된 시간이 만료되었는지 판단하는 단계(S113), (c) 단계에서, 설정된 시간이 만료되면 다수의 클러스터 헤드의 초기 응답신호가 모두 수신되었는지 판단하는 단계(S114) 및 (d) 단계에서, 초기 응답신호가 모두 수신되는 경우 모선과 다수의 클러스터 헤드와의 통신경로를 설정하는 단계(S115)를 포함한다.Referring to FIG. 2, an initialization stage S110 of a CS (Command Ship) data link protocol according to an embodiment of the present invention includes a step S111 in which a bus transmits an initial beacon signal, (B) determining whether the set time for waiting for the initial response signal has expired in step S113; (c) in step (c), if the set time has expired A step S114 of determining whether all the initial response signals of the plurality of cluster heads have been received, and a step S115 of setting a communication path between the bus and the plurality of cluster heads when all the initial response signals are received in step (d) ).
도 2와 같이 구성된 본 발명의 실시 예에 따르는 모선(CS, Command Ship) 데이터링크 프로토콜의 초기화 단계(S110)을 상세히 설명하면 다음과 같다.The initialization step (S110) of the bus (CS, Command Ship) data link protocol according to the embodiment of the present invention configured as shown in FIG. 2 will be described in detail as follows.
우선 모선은 TX I_BEACON 경로(phase)(경로)를 통해 I_BEACON을 전송한다(S111).First, the bus transmits I_BEACON through a TX I_BEACON path (S111).
I_BEACON은 다음과 같은 절차에 따라 생성된다.I_BEACON is generated according to the following procedure.
모선의 I_BEACON 생성방법How to create I_BEACON for bus
1. 우선 I_BEACON의 패킷 헤더 값을 다음과 같은 수순으로 결정한다.1. First, the packet header value of I_BEACON is determined by the following procedure.
a. 패킷 헤더 값을 결정하기 위해서 BEACON과 RESPONSE의 타임옵셋(BEACON and RESPONSE time offset (TO))을 설정하는데 이 경우 타임옵셋은 필요한 위치 정보, 최대 페이로드 길이를 고려하여 설정한다.a. In order to determine the packet header value, a time offset (BEACON and RESPONSE time offset (TO)) of BEACON and RESPONSE is set. In this case, the time offset is set in consideration of necessary position information and maximum payload length.
b. 이 후, CS BEACON start time, CH BEACON start time, CH RESPONSE start time을 결정한다.b. Thereafter, the CS BEACON start time, the CH BEACON start time, and the CH RESPONSE start time are determined.
c. 다음으로, Route start time, Route period 결정한다.c. Next, the route start time and the route period are determined.
d. 마지막으로 Seq 값과 P 값을 순차적으로 설정한다.d. Finally, set Seq and P values sequentially.
2. 이와 같은 절차로 패킷 헤더 값이 결정되면 I_BEACON 패킷 트레인을 구성한다.2. If the packet header value is determined by this procedure, I_BEACON packet train is configured.
a. P > PMAC 라면 패킷을 단편화(fragmentation)를 수행한 후, LEN을 설정한다.a. If P> P MAC, the packet is fragmented and then LEN is set.
b. 여기서 LEN은 [수학식 1] 및 [수학식 2]를 이용하여 결정된다.b. Where LEN is determined using Equation (1) and Equation (2).
c. 이후, 단편화된 패킷에 FN, Csum, TS를 설정한다.c. Then, FN, C sum , and TS are set in the fragmented packet.
d. P ≤ PMAC 라면 패킷을 단편화를 수행하지 않고 LEN =1, FN=1로 설정한다. 단 패킷에 Csum과 TS 값은 설정한다.d. If P ≤ P MAC, the packet is not fragmented and LEN = 1 and FN = 1 are set. However, C sum and TS value are set in the packet.
e. 이와 같이 생성된 TX I_BEACON의 패킷은 다음의 도 3과 같이 헤더와 페이로드로 구성된다. e. The generated TX I_BEACON packet is composed of a header and a payload as shown in FIG.
도 3은 본 발명의 실시예에 따르는 TX I_BEACON용 패킷 구조의 일 예를 보여주는 예시도이다.3 is an exemplary diagram illustrating an example of a packet structure for TX I_BEACON according to an embodiment of the present invention.
도 3을 참조하면, 헤더의 CN은 1(I_BEACON)이고, Seq는 start시 0으로 설정됨으로, Seq=0으로 설정한다. 다음의 TX I_BEACON은 Seq=1이다, 그리고 hi 와 i는 0으로 설정된다. 한편, 페이로드에는 I_BEACON start time, BEACON time offset, I_RESPONSE start time, RESPONSE time offset, Route start time, Route period 정보가 순차적으로 생성된다.Referring to FIG. 3, CN of the header is 1 (I_BEACON), Seq is set to 0 at start, and Seq = 0 is set. The next TX I_BEACON is Seq = 1, and h i and i are set to zero. On the other hand, I_BEACON start time, BEACON time offset, I_RESPONSE start time, RESPONSE time offset, Route start time and Route period information are sequentially generated in the payload.
f. 이와 같이 I_BEACON용 패킷이 생성되면, t0 시간에 I_BEACON을 1 홉부터 m 홉까지 다운링크로 브로드캐스팅한다. f. When a packet for I_BEACON is generated in this way, I_BEACON is broadcasted downlink from 1 hop to m-hop at time t 0 .
g. 이후, CS IB_table을 업데이트한다. 이때 업데이트하는 항목으로는 t0, tIB, tIR, TB(h, k, j), TR(h, k, j), TCS, trout, Troute, Seq 값이다.g. Thereafter, the CS IB_table is updated. In this case, the update items are t 0 , t IB , t IR , T B (h, k, j), T R (h, k, j), T CS , t rout , T route , Seq.
h. 마지막으로 TCS까지의 타이머를 설정함으로써 단계 S111을 종료한다.h. Finally, a timer up to T CS is set to end the step S111.
단계 S111이 종료되면, RX I_RESPONSE 경로(phase)를 통해 I_RESPONSE를 수신하여 처리한다(S112). 여기서 수신된 I_RESPONSE에 대한 모선의 처리 방법에 대해서 상술하면 다음과 같다.Upon completion of step S111, I_RESPONSE is received and processed through the RX I_RESPONSE path (S112). Hereinafter, the processing method of the bus line for the received I_RESPONSE will be described in detail as follows.
모선의 I_RESPONSE 처리방법How to handle bus I_RESPONSE
1. 우선 수신된 패킷의 헤더를 확인하여 Csum 값에 에러 발생여부를 확인한다. 에러가 발생했다면 수신된 패킷을 드랍(drop)하고, 에러가 발생하지 않았다면 tc 값을 확인한다.1. First check the header of the received packet and check whether there is an error in the C sum value. If an error occurs, drop the received packet and if no error occurs, t c Check the value.
2. tC > t0 + TCS라면 수신된 패킷을 드랍하고, 그렇지 않다면 hi 값을 확인한다.2. Drop the received packet if t C > t 0 + T CS , otherwise check h i value.
3. 이때 홉 번호 hi가 모선의 홉 번호보다 낮다면 패킷을 드랍하고, 그렇지 않다면 i 값을 확인한다.3. Drop the packet if the hop number h i is lower than the hop number of the bus, otherwise check i.
4. 여기서 i 값이 수신되지 않은 클러스터 헤드의 노드 식별번호로 확인되면 새로운 클러스터 헤드의 정보가 수신된 것으로 판단한다.4. If it is confirmed with the node identification number of the cluster head that the i value is not received, it is determined that the information of the new cluster head is received.
5. 이에 따라 수신된 패킷을 저장하고, CS IR_table을 업데이트한다. 그러나 i 값이 이미 수신된 클러스터 헤드의 정보로 판단되면 FN 값을 확인한다.5. Save the received packet and update the CS IR_table accordingly. However, if the i value is determined to be the information of the cluster head that has already been received, the FN value is confirmed.
6. FN 값이 LEN 값과 동일하다면 페이로드를 분석하고, 전달할 클러스터 헤드들의 hi, i, Posi 정보를 획득하고, CS IR_table을 업데이트하면서 단계 S112를 종료한다.6. If the FN value is equal to the LEN value, the payload is analyzed, h i , i, Pos i information of the cluster heads to be delivered are obtained, and step S 112 ends while updating the CS IR_table.
여기서 FN 값과 LEN 값이 동일하지 않다면, 패킷 버퍼에 저장하고 CS IR_table을 업데이트한다.If the FN and LEN values are not the same, store them in the packet buffer and update the CS IR_table.
CS IR_table의 업데이트 항목으로는 NRES, FN, LEN, hi, i, Posi 이다.The update items of the CS IR_table are N RES , FN, LEN, h i , i, and Pos i .
다음 단계로는 설정된 타이머의 설정 시간이 만료되었는지 판단한다(S113).In the next step, it is determined whether the set time of the set timer has expired (S113).
만료되지 않았다면 만료될 때까지 단계 S112로 회귀하여 절차를 반복수행하고, 타이머의 설정 시간이 만료되었다면, 모든 클러스터 헤드가 응답하였는지 확인하기 위하여 다음 단계 S114로 진행한다.If the time has not expired, the procedure returns to step S112 until the expiration date is reached, and if the set time of the timer expires, the flow advances to step S114 to check whether all cluster heads have responded.
여기서 타이머의 시간을 설정하는 이유는 전파지연시간을 고려하기 위함이다.The reason for setting the time of the timer is to consider the propagation delay time.
타이머의 설정 시간이 만료되었다면, 단계 S114에서는 모든 클러스터 헤드들이 응답하였는지 여부를 판단한다(S114).If the set time of the timer has expired, it is determined in step S114 whether all cluster heads have responded (S114).
모든 클러스터 헤드들이 응답하지 않았다면, 단계 S111로 회귀하여 처음부터 다시 단계들을 진행한다.If all of the cluster heads have not responded, the flow returns to step S111 to proceed from the beginning again.
모든 클러스터 헤드들이 응답하였다면 다음단계인 경로설정 페이즈(Route determination phase)로 진행한다(S115). 여기서 경로설정 페이즈는 모선과 클러스터 헤드의 통신경로를 설정하는 단계이다.If all the cluster heads have responded, the flow advances to the next step, the Route Determination Phase (S115). Here, the path setting phase is a step of setting a communication path between the bus and the cluster head.
모선의 통신 반경 내의 클러스터 헤드들과의 경로가 설정되면(S115) 모든 경로가 설정되었는지 판단하여(S116), 경료설정이 완료되지 않았다고 판단되면 단계 S111로 회귀하여 절차를 반복수행하고, 경로설정이 완료되었다면 정상 스테이지(Normal operation stage)(120)로 이동한다.If it is determined in step S116 that all paths have been set in step S115, the process returns to step S111 to repeat the procedure. If it is determined that the path setting is not completed If it is completed, it moves to the normal operation stage 120.
모선(CS, Command Ship) 데이터링크 프로토콜의 정상 Normal (CS, Command Ship) data link protocol normal 스테이지stage
우선 모선의 정상 스테이지에서는 비콘을 송신하고 그에 대응하는 응답을 수신하는데 이는 클러스터 헤드의 생존여부를 확인하기 위함이다.First, at the normal stage of the bus, a beacon is transmitted and a corresponding response is received. This is to check whether the cluster head is alive or not.
도 4는 본 발명의 실시 예에 따르는 모선(CS, Command Ship) 데이터링크 프로토콜의 정상 스테이지(S120)를 상세하게 보여주기 위한 순서도이다.4 is a flowchart illustrating in detail a normal stage S120 of a CS (Command Ship) data link protocol according to an embodiment of the present invention.
도 4를 참조하면 본 발명의 실시 예에 따르는 모선(CS, Command Ship) 데이터링크 프로토콜의 정상 스테이지(S120)는 모선이 다수의 클러스터 헤드로 정상 비콘신호를 송신하는 단계(S121), 모선이 정상 비콘신호에 대응하는 다수의 클러스터 헤드의 정상 응답신호를 수신하는 단계(S122), (b) 단계에서 정상 응답신호를 대기하기 위하여 설정된 시간이 만료되었는지 판단하는 단계(S123), 및 (c) 단계에서 설정된 시간이 만료하는 경우, 응답신호의 응답 실패 횟수가 기 설정된 응답 실패 제한 횟수를 초과하는지 판단하는 단계(S124)를 포함한다.Referring to FIG. 4, a normal stage S120 of a CS (Command Ship) data link protocol according to an embodiment of the present invention includes a step S121 in which a bus transmits a normal beacon signal to a plurality of cluster heads, A step S122 of receiving a normal response signal of a plurality of cluster heads corresponding to a beacon signal, a step S123 of determining whether a set time for waiting for a normal response signal has expired in a step S123, and a step (S124) if the number of times the response time of the response signal is exceeded exceeds the predetermined number of response failure times.
도 4와 같이 구성된 본 발명의 실시 예에 따르는 정상 스테이지(120)를 상세하게 설명하면 다음과 같다.The normal stage 120 according to the embodiment of the present invention constructed as shown in FIG. 4 will now be described in detail.
우선 TX N_BEACON 경로(phase)를 통해 N_BEACON을 전송한다(S121).First, N_BEACON is transmitted through the TX N_BEACON phase (S121).
N_BEACON은 다음과 같은 절차에 따라 생성된다.N_BEACON is generated according to the following procedure.
모선의 N_BEACON 생성방법How to create bus N_BEACON
1. 우선, 시간 파라미터를 결정하기 위해 다음의 절차를 수행한다.1. First, perform the following procedure to determine the time parameter.
a. 우선 CS BEACON start time, BEACON start time, 및 RESPONSE start time을 결정한다.a. First, the CS BEACON start time, the BEACON start time, and the RESPONSE start time are determined.
b. 이후, Seq 값과 P 값을 순차적으로 결정한다.b. Then, the Seq value and the P value are sequentially determined.
2. 이와 같이 시간 파라미터가 결정되고 나면, N_BEACON을 패킷 트레인으로 구성한다. 여기서 패킷 트레인의 구성함에 있어 패킷을 단편화(fragmentation)하는 방법에 대해서는 상술한 모선의 I_BEACON 생성방법의 2의 a 내지 d에서 자세하게 설명하였으므로 그 상세는 생략하기로 한다.2. Once the time parameters are determined in this way, configure N_BEACON as a packet train. Here, the method of fragmenting a packet in the construction of the packet train has been described in detail in 2 a to 2 d of the I_BEACON generation method of the bus described above, and the details thereof will be omitted.
3. 이와 같이 설정된 N_BEACON의 패킷은 다음의 도 5와 같이 헤더와 페이로드로 구성된다.3. The packet of N_BEACON set as described above is composed of a header and a payload as shown in FIG.
도 5는 본 발명의 실시예에 따르는 N_BEACON의 패킷의 일례를 보여주는 예시도이다.5 is an exemplary diagram showing an example of a packet of N_BEACON according to an embodiment of the present invention.
도 5를 참조하면, 헤더의 CN은 5(N_BEACON)이고, Seq, hi, i, FN, LEN, Csum, TS가 순차적으로 설정되면, 페이로드에는 N_BEACON start time, tNB, 과 N_RESPONSE start time, tNR이 설정된다.5, the header the CN 5 (N_BEACON) and, Seq, h i, i, FN, LEN, Csum, when the TS is set in sequence, payload N_BEACON start time, t NB, and N_RESPONSE start time , t NR are set.
4. 이와 같이 N_BEACON이 생성되면, t0에 N_BEACON을 1홉부터 m홉까지 다운링크로 브로드캐스팅한다.4. When N_BEACON is generated in this way, N_BEACON is broadcasted downlink from 1 hop to m-hop at t 0 .
5. 이 후, CS NB_table 업데이트하는데 그 항목으로는 t0, tNB, tNR, TCS, Seq 값이다.5. Thereafter, CS NB_table is updated with the items t 0 , t NB , t NR , T CS , Seq value.
6. 마지막으로 TCS까지의 타이머를 설정함으로써 단계 S121을 종료한다.6. Finally, step S121 is ended by setting a timer up to T CS .
단계 S121이 종료되면, RX N_RESPONSE 경로(phase)를 통해 N_RESPONSE를 수신하여 처리한다(S122). 여기서 수신된 RX N_RESPONSE에 대한 처리 방법에 대해서 상술하면 다음과 같다.Upon completion of step S121, N_RESPONSE is received and processed through the RX N_RESPONSE phase (S122). The processing method for RX N_RESPONSE received here will be described in detail as follows.
모선의 N_RESPONSE 처리방법How to handle bus N_RESPONSE
1. Csum 값을 확인하여 에러 발생여부를 확인한다. 에러가 발생했다면 수신된 패킷을 드랍(drop)하고, 에러가 발생하지 않았다면 tc값을 확인한다.1. Check the C sum value to check whether an error has occurred. Drop the received packet if an error occurred, and check the value of t c if no error occurred.
2. tC > t0 + TCS라면 수신된 패킷을 드랍하고, 그렇지 않다면 SR 값을 확인한다.2. Drop the received packet if t C > t 0 + T CS , otherwise check SR value.
3. SR 값이 존재하지 않는 경우 드랍하고, 그렇지 않다면 FN 값을 확인한다.3. Drop the SR value if it does not exist, otherwise check the FN value.
4. FN 값과 LEN 값이 동일하다면 페이로드를 분석하여 전달할 클러스터 헤드들의 hi, i, Posi, DATAi 값 정보를 획득하고, CS NR_table을 업데이트하면서 단계 S122를 종료한다. 4. If the FN and LEN values are the same, analyze the payload to obtain h i , i, Pos i , and DATA i value information of the cluster heads to be delivered, and end step S 122 while updating CS NR_table.
여기서, FN 값과 LEN 값이 동일하지 않다면, 패킷 버퍼에 저장하고 CS NR_table을 업데이트한다.Here, if the FN value and the LEN value are not the same, the packet buffer is stored and the CS NR_table is updated.
여기서 FN 값과 LEN 값이 동일하지 않다면 패킷을 드랍한다.If the FN and LEN values are not the same, drop the packet.
CS NR_table의 업데이트 항목으로는 NRES, FN, LEN, hi, i, Posi, DATAi 이다.Update items of CS NR_table include N RES , FN, LEN, h i , i, Pos i , DATA i .
다음 단계로는 설정된 타이머의 설정 시간이 만료되었는지 판단한다(S123)In the next step, it is determined whether the set time of the set timer has expired (S123)
만료되지 않았다면 만료될 때까지 단계 S122를 반복수행하고, 타이머의 설정 시간이 만료되었다면 NFRES 값을 확인한다(S124).If it has not expired, step S122 is repeated until it expires, and if the set time of the timer expires, the NF RES (S124).
NFRES 값이 NFdefault 값보다 크다면 단계 S111로 회귀하여 절차를 반복하고, 크지 않다면 종료 스테이지(Terminal stage)로 진행할지 여부를 판단한다(S125).NF RES The value is NF default The process returns to step S111 to repeat the procedure, and if not, it is determined whether to proceed to the terminal stage (S125).
여기서 종료 스테이지로 진행하지 않기로 판단하였다면, 단계 S121부터 상술한 절차를 반복수행한다.If it is determined not to proceed to the end stage, the procedure described above is repeated from step S121.
모선(CS, Command Ship) 데이터링크 프로토콜의 종료 End of bus (CS, Command Ship) data link protocol 스테이지stage
우선, 모선의 종료 스테이지에서는 비콘을 송신하고 응답을 수신하는데 이는 종료와 통신 완료의 여부를 확인하기 위함이다.First, at the end stage of the bus, a beacon is transmitted and a response is received in order to check whether the communication is completed or not.
도 6은 본 발명의 실시 예에 따르는 모선(CS, Command Ship) 데이터링크 프로토콜의 종료 스테이지(S130)를 상세하게 보여주기 위한 순서도이다.6 is a flowchart illustrating in detail the end stage (S130) of a bus (CS, Command Ship) data link protocol according to an embodiment of the present invention.
도 6을 참조하면 본 발명의 실시 예에 따르는 종료 스테이지(S130)는 모선이 종료 비콘신호를 다수의 클러스터 헤드로 송신하는 단계(S131), 모선이 종료 비콘신호에 대응하는 다수의 클러스터 헤드의 종료 응답신호를 수신하는 단계(S132), (b) 단계에서 정상 응답신호를 대기하기 위하여 설정된 시간이 만료되었는지 판단하는 단계(S133), 및 (c) 단계에서 설정된 시간이 만료하는 경우, 응답신호가 모두 모선으로 수신되었는지 판단하는 단계(S134)를 포함한다.6, the end stage S130 according to an embodiment of the present invention includes a step S131 of sending a bus end beacon signal to a plurality of cluster heads (S131), an end of a plurality of cluster heads corresponding to the end beacon signal (S133) of determining whether the set time has elapsed to wait for the normal response signal in step (b), and when the set time has expired in step (c), the response signal is received (S134) whether all of them have been received on the bus line.
도 6을 참조하여 본 발명의 실시 예에 따르는 종료 스테이지(S130)를 자세하게 설명하면 다음과 같다.The ending stage S130 according to the embodiment of the present invention will be described in detail with reference to FIG.
우선 모선은 TX T_BEACON 경로(phase)를 통해 T_BEACON을 전송한다(S131).First, the bus transmits T_BEACON through the TX T_BEACON phase (S131).
T_BEACON은 다음과 같은 절차에 따라 생성된다.T_BEACON is generated according to the following procedure.
T_BEACON 생성방법How to create T_BEACON
1. 우선 시간 파리미터를 결정하기 위해 다음의 절차를 수행한다.1. Perform the following procedure to determine the priority time parameter.
a. 우선 CS BEACON start time, BEACON start time, 및 RESPONSE start time을 결정한다.a. First, the CS BEACON start time, the BEACON start time, and the RESPONSE start time are determined.
b. 이후, Seq 값과 P 값을 순차적으로 결정한다.b. Then, the Seq value and the P value are sequentially determined.
2. 이와 같이 시간 파라미터가 결정되고 나면, T_BEACON을 패킷 트레인으로 구성한다. 여기서 패킷 트레인의 구성함에 있어 패킷을 단편화(fragmentation)하는 방법에 대해서는 상술한 모선의 I_BEACON 생성방법의 2의 a 내지 d에서 자세하게 설명하였으므로 그 상세는 생략하기로 한다.2. Once the time parameters are determined in this way, T_BEACON is configured as a packet train. Here, the method of fragmenting a packet in the construction of the packet train has been described in detail in 2 a to 2 d of the I_BEACON generation method of the bus described above, and the details thereof will be omitted.
3. 이와 같이 설정된 T_BEACON의 패킷은 다음의 도 7과 같이 헤더와 페이로드로 구성된다.3. The T_BEACON packet thus configured is composed of a header and a payload as shown in FIG.
도 7은 본 발명의 실시 예에 따르는 T_BEACON 용 패킷의 구조를 보여주는 예시도이다.7 is an exemplary diagram illustrating a structure of a packet for T_BEACON according to an embodiment of the present invention.
도 7을 참조하면, 헤더의 CN은 7(T_BEACON)이고, Seq, hi, i, FN, LEN, Csum, TS가 순차적으로 설정되면, 페이로드에는 T_BEACON start time, tTB와 T_RESPONSE start time, tTR이 설정된다.7, the header, the CN 7 (T_BEACON) and, Seq, h i, i, FN, LEN, C sum, when the TS is set in sequence, payload T_BEACON start time, t TB and T_RESPONSE start time , t TR are set.
4. 이와 같이 T_BEACON이 생성되면, t0에 T_BEACON을 1홉부터 m홉까지 다운링크로 브로드캐스팅한다.4. When T_BEACON is generated as described above, T_BEACON is broadcasted downlink from one hop to m-hop at t 0 .
5. 이 후, CS TB_table 업데이트하는데 그 항목으로는 t0, tTB, tTR, TCS, Seq 값이다.5. After this, CS TB_table is updated as t 0 , t TB , t TR , T CS , Seq value.
6. 마지막으로 TCS까지의 타이머를 설정함으로써 단계 S131을 종료한다.6. Finally, step S131 is ended by setting a timer up to T CS .
단계 S131이 종료되면, RX T_RESPONSE 경로(phase)를 통해 RX T_RESPONSE를 수신하여 처리한다(S132). 여기서 수신된 RX T_RESPONSE에 대한 처리 방법에 대해서 상술하면 다음과 같다.Upon completion of step S131, RX T_RESPONSE is received and processed through the RX T_RESPONSE path (S132). Hereinafter, a processing method for the received RX T_RESPONSE will be described in detail.
모선 bus RXRX T_RESPONSE를 처리하는 방법 How to handle T_RESPONSE
1. Csum 값을 확인하여 에러 발생여부를 확인한다. 에러가 발생했다면 수신된 패킷을 드랍(drop)하고, 에러가 발생하지 않았다면 tc값을 확인한다.1. Check the C sum value to check whether an error has occurred. Drop the received packet if an error occurred, and check the value of t c if no error occurred.
2. tC > t0 + TCS라면 수신된 패킷을 드랍하고, 그렇지 않다면 SR 값을 확인한다.2. Drop the received packet if t C > t 0 + T CS , otherwise check SR value.
3. SR 값이 존재하지 않는 경우 드랍하고, 그렇지 않다면 FN 값을 확인한다.3. Drop the SR value if it does not exist, otherwise check the FN value.
4. FN 값과 LEN 값이 동일하거나 동일하지 않거나 패킷 버퍼에 저장하고 CS TR_table을 업데이트하면서 단계 S122를 종료한다.4. Step S122 ends with updating the CS TR_table if the FN value and the LEN value are not equal or the same or are stored in the packet buffer.
이때 업데이트되는 CS TR_table의 항목으로는 FN, LEN, hi, i 이다.The items of CS TR_table that are updated at this time are FN, LEN, h i , i.
다음 단계로는 설정된 타이머의 설정 시간이 만료되었는지 판단한다(S133)In the next step, it is determined whether the set time of the set timer has expired (S133)
만료되지 않았다면 만료될 때까지 단계 S132를 반복수행하고, 타이머의 설정 시간이 만료되었다면 모든 클러스터 헤드들이 응답하였는지 판단한다(S134).If it has not expired, step S132 is repeated until it expires. If the set time of the timer expires, it is determined whether all cluster heads have responded (S134).
모든 클러스터 헤드들이 응답하였다면 종료 스테이지를 종료하고, 응답하지 않았다면 단계 S131로 회귀하여 상술한 절차를 반복수행한다.If all the cluster heads have responded, the end stage is terminated. If not, the procedure returns to step S131 and the above-described procedure is repeated.
모선(CS, Command Ship) 데이터링크 프로토콜의 패킷 트레인 리드(Read) 알고리즘 Packet train read algorithm for data link protocol (CS, Command Ship)
도 8은 본 발명의 실시 예에 따르는 모선(CS, Command Ship) 데이터링크 프로토콜의 패킷 트레인 리드(Read) 알고리즘을 상세하게 보여주기 위한 순서도이다.FIG. 8 is a flowchart illustrating in detail a packet train read algorithm of a CS (Command Ship) data link protocol according to an embodiment of the present invention.
패킷 트레인 리드(Read) 알고리즘은 수신 모드로 하나의 패킷 트레인(packet train)을 물리계층의 큐로부터 읽어오는 알고리즘으로써 데이터링크 프로토콜의 초기화 스테이지(S110), 정상 스테이지(S120) 및 종료 스테이지(S130)에서 공통적으로 사용된다.The packet train read algorithm is an algorithm for reading one packet train from a queue of the physical layer in a reception mode and for initiating the initialization stage S110, the normal stage S120 and the end stage S130 of the data link protocol, .
이 경우, 패킷 트레인의 모드 패킷이 수신되거나, 물리계층으로부터 얻어오는 패킷 로스(packet loss) 정보를 이용하여 일부만 수신되어도 처리가 된다.In this case, even if a mode packet of the packet train is received or a part of the packet train is received using the packet loss information obtained from the physical layer, the process is performed.
기본적으로 하나의 패킷 트레인을 읽을 때까지 수행하나, 큐(Que)를 체크하여(S141) 큐가 연속적으로 계속 비어 있는지 여부를 판단한다(S142).Basically, it is performed until one packet train is read, but the queue (Que) is checked (S141) and it is determined whether or not the queue is continuously empty (S142).
큐가 연속적으로 비어 있는 경우, EQ를 '1' 증가시켜(S143) EQ가 EQmax 미만인지 판단하여(S144) 미만인 경우 단계(S141)로 회귀하고, 이 되면 알고리즘이 종료된다.If the queue is consecutively empty, the EQ is incremented by '1' (S143). If the EQ is less than EQmax (S144), the process returns to step S141, The algorithm terminates.
단계(S142)에서 큐가 차 있는 경우, EQ를 '0'으로 초기화하고(S145), 큐로부터 패킷을 수신하여 BUF에 임시 저장한 후(S146), 수신된 패킷의 에러가 있는지 여부를 판단한다(S147).If there is a queue in step S142, the EQ is initialized to '0' (S145), the packet is received from the queue and temporarily stored in the BUF (S146), and it is determined whether there is an error in the received packet (S147).
에러가 있는 경우, BUF를 삭제하고(S151) 단계(S141)로 회귀하고, 에러가 없는 경우, 헤더 및 RX 상태 테이블을 체크한다(S148).If there is an error, the BUF is deleted (S151), and the flow returns to step S141. If there is no error, the header and the RX state table are checked (S148).
즉, RX 상태 테이블의 및 수신 시간 업데이트 정보, 패킷의 임시 저장 메모리 주소, 당 I_BEACON 또는 T_BEACON에 대한 CH별 응답 유무, 당 CH별 업링크 데이터(Upload Data) 송신 유무 등을 체크하고, 소정의 수신 시간 이후, 업데이트 정보를 삭제한다.That is, the RX state table And receive time update information, a temporary storage memory address of the packet, Whether there is a response by CH per I_BEACON or T_BEACON, Whether there is transmission of upload data for each channel, and deletes the update information after a predetermined reception time.
시작 헤더가 이 되는지 여부를 판단하여(S149), 이 아닌 경우, 즉 중간에 새로운 시작 패킷이 수신된 경우에는 BUF를 삭제하고(S151) 단계(S141)로 회귀하고, 인 경우 중복 여부를 판단한다(S150).Start header (Step S149) If a new start packet is received in the middle, the BUF is deleted (S151), and the flow returns to step S141, , It is determined whether or not they are duplicated (S150).
즉, 브로드캐스트(Broadcast) 트래픽(I_BEACON, T_BEACON, DD_broadcast)의 경우 정보 등이 동일한 패킷 트레인은 중복이 되고, 유니캐스트(Unicast) 트래픽(IR, TR, UD, DD_unicast)의 경우 정보 등이 동일한 패킷 트레인은 중복이 된다.That is, in the case of broadcast (I_BEACON, T_BEACON, DD_broadcast) Packet train having the same information is duplicated, and in case of unicast traffic (IR, TR, UD, DD_unicast) Packet trains having the same information are duplicated.
단계(S)에서 중복인 경우 BUF를 삭제하고(S151) 단계(S141)로 회귀하며, 중복이 아닌 경우 패킷 트레인에서 수신한 패킷의 수()를 '1'로 초기화하고, 패킷 트레인에서 발생한 패킷 로스의 회수()를 '0'으로 초기화한다(S152).In step S, the BUF is deleted (S151), and the flow returns to step S141. If not, the number of packets received in the packet train ( ) Is initialized to '1', and the number of packet losses generated in the packet train ) To '0' (S152).
패킷 트레인에서 수신한 패킷의 수()가 조각된 패킷의 총 개수()인지 여부를 판단하여(S153), 조각된 패킷의 총 개수()인 경우 동작을 종료하고, 조각된 패킷의 총 개수()가 아닌 경우 큐를 체크하여(S154) 패킷 로스가 있는지 여부를 판단한다(S156).Number of packets received on the packet train ( ) Is the total number of fragmented packets ( ) (S153), and determines whether the total number of the fragmented packets ( ), The operation is terminated and the total number of fragmented packets ( , The queue is checked (S154) and it is determined whether there is a packet loss (S156).
패킷 로스가 있는 경우, 패킷 트레인에서 수신한 패킷의 수() 및 패킷 로스의 회수()를 '1' 증가시켜(S157, S158) 패킷 트레인에서 수신한 패킷의 수()가 조각된 패킷의 총 개수()인지 여부를 판단한다(S153).If there is a packet loss, the number of packets received in the packet train ( ) And the number of packet losses ( ) Is increased by '1' (S157 and S158), and the number of packets received in the packet train ( ) Is the total number of fragmented packets ( ) (S153).
패킷 로스가 없는 경우, 큐(Que)로부터 패킷을 읽어 BUF에 임시 저장한 후(S156), 패킷의 에러가 있는지 여부를 판단한다(S161).If there is no packet loss, the packet is read from the queue (Que) and temporarily stored in the BUF (S156), and it is determined whether there is an error in the packet (S161).
패킷의 에러가 있는 경우, BUF로부터 현재 패킷을 삭제한 후에(S162) 패킷 트레인에서 수신한 패킷의 수() 및 패킷 로스의 회수()를 '1' 증가시킨 후에(S157, S158) 단계(S153) 이후의 동작을 수행하고, 에러가 없는 경우 헤더 및 RX 상태 테이블을 체크한다(S163).If there is an error in the packet, after deleting the current packet from the BUF (S162), the number of packets received in the packet train ) And the number of packet losses ( (S157, S158) after the step S153, and if there is no error, the header and the RX state table are checked (S163).
시작 헤더가 이 되는지 여부를 판단하여(S164), 이 아닌 경우에는 현재 패킷을 BUF에 저장하고(S165), 패킷 로스의 회수()를 '1' 증가시킨 후에(S158) 단계(S153) 이후의 동작을 수행하고, 인 경우 BUF의 삭제 및 현재 패킷의 BUF 저장한 후(S166) 단계(S150) 이후의 동작을 수행한다.Start header (Step S164) , The current packet is stored in the BUF (S165), and the number of times of packet loss ( ) Is incremented by '1' (S158), the operation after step S153 is performed, , The BUF is deleted and the BUF of the current packet is stored (S166), and the operation after step S150 is performed.
모선(CS, Command Ship) 데이터링크 프로토콜의 패킷 처리 알고리즘Packet Processing Algorithm for Bus Link (CS, Command Ship) Data Link Protocol
도 9는 본 발명의 실시 예에 따르는 모선(CS, Command Ship) 데이터링크 프로토콜의 패킷 처리 알고리즘을 상세하게 보여주기 위한 순서도이다.9 is a flowchart illustrating a packet processing algorithm of a CS (Command Ship) data link protocol according to an embodiment of the present invention in detail.
모선 패킷 처리 알고리즘은 패킷 트레인 리드 알고리즘(Packet Train Read Algorithm, PTRA)으로부터 수신된 패킷 트레인을 분석해서 케이스별로 처리하는 알고리즘으로써 모선 데이터링크 프로토콜의 초기화 스테이지(S110), 정상 스테이지(S120) 및 종료 스테이지(S130)에서 공통적으로 사용된다.The bus line packet processing algorithm is an algorithm for analyzing a packet train received from a packet train read algorithm (PTRA) and processing it on a case-by-case basis. The algorithm includes an initialization stage S110, a normal stage S120, (S130).
이 알고리즘 역시 패킷 트레인의 모드 패킷이 수신되거나, 일부만 수신되어도 처리가 된다.This algorithm is also processed when a mode packet of a packet train is received or only a part of it is received.
먼저, 패킷 트레인 리드 알고리즘(PTRA)으로부터 패킷 트레인을 수신하여(S171) I_BEACON 또는 T_BEACON인지 여부를 판단한다(S172).First, the packet train is received from the packet train read algorithm (PTRA) (S171), and it is determined whether it is I_BEACON or T_BEACON (S172).
I_BEACON 또는 T_BEACON인 경우 BUF를 삭제하고(S173) 타이머가 종료했는지 여부를 판단하고(S180), I_BEACON 또는 T_BEACON이 아닌 경우 I_RESPONSE 또는 T_RESPONSE 인지 여부를 판단한다(S174).If it is I_BEACON or T_BEACON, the BUF is deleted (S173), and it is determined whether the timer is terminated (S180). If the timer is not I_BEACON or T_BEACON, it is determined whether it is I_RESPONSE or T_RESPONSE (S174).
단계(S180)에서 타이머가 종료한 경우에는 동작을 종료하고, 타이머가 종료하지 않은 경우에는 단계(S171)로 회귀한다.If the timer ends in step S180, the operation is terminated. If the timer has not ended, the flow returns to step S171.
단계(S174)에서 I_RESPONSE 또는 T_RESPONSE인 경우에는 송신한 I_BEACON 또는 T_BEACON과 Seq 값의 동일 여부를 판단하여(S175) 동일한 경우 RX 상태 테이블을 업데이트하고(S176), 동일하지 않은 경우 BUF를 삭제하고(S173) 단계(S180) 이후의 동작을 수행한다.If I_RESPONSE or T_RESPONSE in step S174, it is determined whether the transmitted I_BEACON or T_BEACON is the same as the Seq value in step S175. If they are the same, the RX state table is updated in step S176. If they are not the same, the BUF is deleted in step S173 ) The operation after step S180 is performed.
단계(S174)에서 I_RESPONSE 또는 T_RESPONSE가 아닌 경우에는 업링크 데이터인지 여부를 판단한다(S177).If it is not I_RESPONSE or T_RESPONSE in step S174, it is determined whether it is uplink data (S177).
업링크 데이터인 경우 RX 상태 테이블을 업데이트한 후 패킷을 상위 계층인 QTX _DL_ UL 로 전송하고(S178), 업링크 데이터가 아닌 경우 BUF를 삭제하고(S179) 단계(S180) 이후의 동작을 수행한다.In the case of the uplink data, the RX state table is updated and the packet is transmitted to the upper layer Q TX _DL_ UL ( S 178 ). If the uplink data is not uplink data, the BUF is deleted (S 179) do.
클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜The data link protocol of the cluster head (CH, Cluster Head)
다음으로는, 우선, 본 발명에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 중 모선(CS, Command Ship)으로부터 수신된 BEACON(X_BEACON)에 따른 신호처리를 수행하는 클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜에 대해 상세하기로 한다.Next, a cluster head (CH) for performing signal processing according to BEACON (X_BEACON) received from a command ship (CS) among data link layer reception protocols for underwater long distance networks according to the present invention, The data link protocol of the present invention will be described in detail.
클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜의 초기화 Initialization of the data link protocol of the cluster head (CH, Cluster Head) 스테이지stage
클러스터 헤드의 초기화 스테이지에서는 비콘을 전달하고 응답을 송신하며 경로를 설정한다. 여기서 클러스터 헤드의 비콘 전달시 시간 동기화가 수행되며, 응답 송신시 생존 및 위치 정보가 포함된다.In the cluster head initialization stage, a beacon is transmitted, a response is transmitted, and a path is set. Here, time synchronization is performed when the beacon of the cluster head is transmitted, and the survival and location information is included in the response transmission.
도 10은 본 발명의 실시 예에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 중 클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜의 초기화 스테이지(S210)를 보여주는 순서도이다.10 is a flowchart showing an initialization stage (S210) of a data link protocol of a cluster head (CH) among a data link layer reception protocol for an underwater long distance network according to an embodiment of the present invention.
도 10을 참조하면 본 발명의 실시 예에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 중 클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜의 초기화 스테이지(S210)는 클러스터 헤드가 제1 초기 비콘신호를 수신하는 단계(S211), 제1 초기 비콘신호의 카운트가 한번에 보낼 수 있는 최대의 패킷 총 개수와 같은지 비교하여 같은 경우(S212), 타임 파라미터와 시간동기를 수행하는 단계(S213), 현재시간이 초기 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간을 초과하지 않는 경우(S214), 제2 초기 비콘신호를 송신하고 기 설정된 시간동안 슬립모드(Sleep Mode)가 설정되는 단계(S215), 현재시간이 초기 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간 미만인 경우(S216), 제2 초기 응답신호를 수신하는 단계(S217), 현재시간이 초기 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간과 같은 경우(S218), 제1 초기 비콘신호에 대응하는 제1 초기 응답신호를 송신하는 단계(S219), 기 설정된 시간동안 제1 초기 비콘신호가 수신되는지 판단하는(S220) 단계, 및 기 설정된 시간동안 제1 초기 비콘신호가 미수신되는 경우(S220), 경로를 설정하는 단계(S222)를 포함한다.Referring to FIG. 10, an initialization stage (S210) of a data link protocol of a cluster head (CH, Cluster Head) among data link layer reception protocols for an underwater long distance network according to an embodiment of the present invention includes: (S212), comparing the first initial beacon signal with the maximum number of packets that can be sent at one time (S212), performing time synchronization with the time parameter (S213), comparing the current time If the initial beacon transmission start time does not exceed the sum of the hop h and the beacon time offset of j in the sub hop k in step S214, the second initial beacon signal is transmitted and the sleep mode (S215). If the current time is less than the sum of the transmission start time of the initial beacon, the hop h, and the beacon time offset of j in the sub hop k (S216), the second initial response (S217). If the current time is equal to the sum of the transmission start time of the initial beacon, the hop h, and the beacon time offset of j in sub-hop k (S218) (S220) of determining whether a first initial beacon signal is received for a predetermined period of time (S220), and when a first initial beacon signal is not received (S220) And setting a path (S222).
여기서 제2 초기 비콘신호는 제1 초기 비콘신호를 신호처리하여 생성되고, 제2 초기 응답신호는 제1 초기 응답신호를 신호처리하여 생성된다. 따라서 I_BEACON이 제1 초기 비콘신호라면, 신호처리하여 생성된 I_BEACON은 제2 초기 비콘신호이고, I_RESPONSE가 제1 초기 응답신호라면 신호처리하여 생성된 I_RESPONSE는 제2 초기 응답신호가 된다.Wherein the second initial beacon signal is generated by signal processing the first initial beacon signal and the second initial response signal is generated by signal processing the first initial response signal. Therefore, if I_BEACON is the first initial beacon signal, I_BEACON generated by signal processing is the second initial beacon signal, and if I_RESPONSE is the first initial response signal, I_RESPONSE generated by signal processing becomes the second initial response signal.
여기서 신호처리 절차에 대해서는 후술하기로 한다.Here, the signal processing procedure will be described later.
우선 클러스터 헤드는 RX I_BEACON 경로(phase)를 통해 I_BEACON을 수신한다(S211).First, the cluster head receives I_BEACON through the RX I_BEACON path (S211).
수신된 I_BEACON은 다음과 같은 절차에 따라 처리된다.The received I_BEACON is processed according to the following procedure.
클러스터 헤드의 Cluster head RXRX I_BEACON 처리방법 How to handle I_BEACON
1. 우선 수신된 I_BEACON의 헤더를 확인하여 다음의 수순으로 처리된다.1. First, the header of the received I_BEACON is checked and processed in the following procedure.
a. Csum 값을 확인하여 에러(err) 발생여부를 판단하여, 에러가 발생했다면, 수신된 패킷을 드랍(drop)한다.a. C sum And determines whether an error (err) has occurred. If an error has occurred, the received packet is dropped.
b. Csum 값에 에러가 발생하지 않았다면 Seq 값을 확인하는데, Seq 값이 동일하지 않다면, 이전의 Seq 값을 가지는 패킷들을 폐기하고, count=1로 패킷 버퍼에 저장한다. 그리고 시간동기(Time synchronization phase)를 수행한다. 시간동기(Time synchronization phase)는 BEACON에서 수신한 정보를 이용하여 수정된 시간정보를 제공하는 것이다. 구체적으로 입력되는 정보로는 Seq, i, hi, FN, LEN, TS이다. 여기서 TS는 시간 정보로서 모선 또는 클러스터 헤드가 BEACON 패킷을 보낸 시간을 의미한다. 이와 같은 정보가 입력되면 수정된 시간정보가 출력된다.b. C sum If there is no error in the value, check the value of Seq. If the value of Seq is not the same, discard the packet with the previous Seq value and store it in the packet buffer with count = 1. And performs a time synchronization phase. Time synchronization phase is to provide modified time information using information received from BEACON. As information that is specifically input is Seq, i, h i, FN , LEN, TS. In this case, TS is the time information, which means that the bus or cluster head sends BEACON packets. When such information is input, corrected time information is output.
2. Seq 값이 동일하지 않다면, 수신된 패킷의 hi가 클러스터 헤드 자신의 hi보다 높은지 판단하고 높다면 수신된 패킷을 드랍한다.2. Seq value not equal, a drop in the received packet is determined h i h i is higher than their cluster head and high surface received packet.
3. 높지 않다면, TS를 업데이트한다. 여기서 TS 업데이트는 hi가 클러스터 헤드 자신의 hi보다 낮은 TS 값만을 저장하는 것이다.3. If not, update the TS. Where TS update, h i is to store only the TS value lower than their cluster head h i.
4. FN 값이 존재하는지 확인하여, 존재하면 수신된 패킷을 드랍한다.4. Check if the FN value exists and drop the received packet if it exists.
5. FN 값이 존재하지 않는다면 패킷 카운트를 1 증가시키고, 패킷 버퍼에 저장하며, 클러스터 헤드 CH IB_table 을 업데이트한다.5. If the FN value is not present, increment the packet count by one, store it in the packet buffer, and update the cluster head CH IB_table.
6. 여기서 CH IB_table 정보는 Seq, i, FN, LEN, TS, 카운트(count) 정보이다.6. Here, the CH IB_table information is Seq, i, FN, LEN, TS, and count information.
상술한 바와 같이 단계 S211이 수행되면, count와 LEN이 동일한지의 여부를 판단하는 단계가 이어진다(S212)When step S211 is performed as described above, it is determined whether count and LEN are the same (S212)
이때 count = LEN이라면 타임 파라미터(Time Parameter)를 획득하고, 시간 동기를 수행하며, CH IB_table을 업데이트한다(S213).At this time, if count = LEN, a time parameter is acquired, time synchronization is performed, and CH IB_table is updated (S213).
여기서 CH IB_table의 업데이트 항목은 Seq, i, hi, FN, LEN, TS, count, tIB , tIR , TB(h, k, j), troute, Troute이다The updates of CH IB_table is Seq, i, h i, FN , LEN, TS, count, t IB, t IR, T B (h, k, j), t route, T route
한편, count LEN면 단계 S211로 회귀한다.On the other hand, the count LEN step returns to step S211.
다음은 tC > tIB + TB(h, k, j)인지 판단하여(S214) 그렇다면 단계 S211로 회귀한다.Next, it is determined whether t C > t IB + T B (h, k, j) (S214), and the flow returns to step S211.
한편 tC > tIB + TB(h, k, j)이 아니라면, TX I_BEACON 경로(phase)를 통해 다음과 같이 처리된 I_BEACON을 전송한다(S215).On the other hand, if t C > t IB + T B (h, k, j), I_BEACON processed in the TX I_BEACON phase is transmitted (S215).
클러스터 헤드의 TX I_BEACON을 처리방법How to handle TX I_BEACON of cluster head
1. 다음의 수순으로 수신된 I_BEACON 정보를 이용하여 헤더를 설정한 후, 페이로드를 설정한다.1. The header is set using the received I_BEACON information in the following procedure, and the payload is set.
a. 수신된 패킷과 동일하게 설정되는 정보는 CN, Seq, FN, LEN이고, hi i, Csum, TS는 클러스터 헤드 자신의 정보로 변경한다.a. The information set to be the same as the received packet is CN, Seq, FN, and LEN, and h i i, C sum and TS are changed to the information of the cluster head itself.
b. 페이로드는 동일하게 설정한다.b. Set the payload to be the same.
2. 이후 CH IB_table 업데이트한다. 이때, 업데이트 항목으로는 tIB, tIR, TB(h, k, j), TR(h, k, j), troute, Troute이다.2. Update CH IB_table afterwards. At this time, t IB , t IR , Is T B (h, k, j ), T R (h, k, j), t route, T route.
3. 업데이트가 종료되면, tIB + TB(h, k, j) 시간까지 TX I_BEACON을 브로드캐스팅한다.3. When the update is finished, t IB + Broadcast TX I_BEACON until T B (h, k, j).
4. 마지막으로, tIR 시간까지 슬립모드나 절전모드로 전환하여 전원의 소모를 방지한다.4. Finally, by switching to sleep mode or power saving mode until t IR time, power consumption is prevented.
다음은 tC < tIR + TR(h, k, j)인지 판단하여(S215) 그렇다면 RX I_RESPONSE 경로(phase)를 통해 I_RESPONSE를 수신하고 기 설정된 시간동안 슬립모드(Sleep Mode)가 설정된다(S217).Next, it is determined whether t C <t IR + T R (h, k, j) (S215). If so, I_RESPONSE is received through the RX I_RESPONSE path and a sleep mode is set for a predetermined time S217).
즉, 슬립모드는 tIB + TB(h, k, j) 시간까지 TX I_BEACON을 브로드캐스팅한 후, tIR 시간까지 설정된다.That is, the sleep mode is t IB + After the TX I_BEACON is broadcast until T B (h, k, j), it is set until t IR time.
수신된 RX I_RESPONSE는 다음과 같이 처리된다.The received RX I_RESPONSE is processed as follows.
클러스터 헤드의 Cluster head RXRX I_ RESPONSE 처리방법 I_ RESPONSE processing method
1. 우선 수신된 I_RESPONSE의 패킷 헤드는 다음의 수순으로 처리한다.1. The head packet of the I _RESPONSE received first is treated in the following procedure.
a. Csum 값을 확인하여 에러 발생여부를 확인한다. 에러가 발생했다면 수신된 패킷을 드랍(drop)하고, 에러가 발생하지 않았다면 tc 값을 확인한다.a. Check the C sum value to check whether an error has occurred. If an error occurs, drop the received packet and if no error occurs, t c Check the value.
b. tC > tIR + TR(h, k, j)라면 패킷을 드랍하고, tC > tIR + TR(h, k, j)가 아니라면 RESPONSE time offset 값을 확인한다.b. If t C > t IR + T R (h, k, j), the packet is dropped. If t C > t IR + T R (h, k, j), the RESPONSE time offset value is checked.
c. RESPONSE time offset 값이 없다면 패킷을 드랍하고, 있다면 hi 값을 확인한다.c. If there is no RESPONSE time offset value, drop the packet and check the value of h i if it is.
d. hi가 현재 패킷을 수신받은 클러스터 헤드의 hi보다 낮다면 패킷을 폐기하고, 그렇지 않다면 i 값을 확인한다. d. If h i is lower than h i of the cluster head that received the current packet, discard the packet, otherwise check i.
e. i 값을 확인한 결과 새로운 클러스터 헤드라고 판단하면 패킷 버퍼에 저장하고, CH IR_table을 업데이트한다. i 값을 확인한 결과 새로운 클러스터 헤드가 아니라고 판단하면 FN 값을 확인한다.e. As a result of checking the i value, if it is judged that it is a new cluster head, it is stored in the packet buffer and CH IR_table is updated. If it is determined that the cluster head is not a new cluster head after confirming the i value, the FN value is confirmed.
f. FN = LEN 이라면, 페이로드를 분석하여 전달할 클러스터 헤드의 hi, i, Posi 정보를 획득하여 CH IR_table을 업데이트한다.f. If FN = LEN, the CH IR_table is updated by acquiring the h i , i, and Pos i information of the cluster head to analyze and transfer the payload.
g. FN LEN 이라면, 패킷 버퍼에 저장하고, CH IR_table을 업데이트한다.g. If FN LEN, store it in the packet buffer and update CH IR_table.
h. 여기서 업데이트되는 항목으로는 FN, LEN, hi, i, Posi 값이다.h. The items to be updated here are FN, LEN, h i , i, Pos i .
한편, tC = tIR + TR(h, k, j)인지 판단한다(S218)On the other hand, it is determined whether t C = t IR + T R (h, k, j) (S 218)
tC = tIR + TR(h, k, j)라면 TX I_RESPONSE 경로(phase)를 통해 I_RESPONSE를 송신한다(S219). 다음은 클러스터 헤드에서 송신하는 I_RESPONSE의 생성에 대하여 설명한다.If t C = t IR + T R (h, k, j), I_RESPONSE is transmitted through the TX I_RESPONSE phase (S219). The following describes the generation of I_RESPONSE to be transmitted by the cluster head.
클러스터 헤드의 TX I_RESPONSE 생성방법How to Create TX I_RESPONSE on Cluster Head
1. 우선 다음의 수순으로 헤더 및 페이로드를 설정한다.1. First, the header and payload are set in the following procedure.
a. 헤더의 CN은 2로 설정하고, Seq는 수신한 I_BEACON 값과 동일하게 설정한다. 한편 hi, i, FN, LEN, Csum 값은 자신의 번호로 변경한다.a. CN of the header is set to 2, and Seq is set to be equal to the received I_BEACON value. On the other hand, h i , i, FN, LEN, and C sum values are changed to their own numbers.
b. 페이로드는 수신된 I_RESPONSE에서 업데이트된 hi, i, Posi정보와 자신의 위치정보를 포함한다. 이와 같이 구성된 I_RESPONSE의 패킷은 도 12에 예시하였다. 도 12는 클러스터 헤드에 의해 생성된 I_RESPONSE의 패킷구조를 보여주는 예시도이다.b. The payload contains updated h i , i, Pos i information and its own location information in the received I_RESPONSE. The packet of the thus configured I_RESPONSE is illustrated in FIG. 12 is an exemplary diagram showing a packet structure of I_RESPONSE generated by a cluster head.
2. 이와 같이 패킷이 생성되면, tIR + TR(h,k,j) 시간에 I_RESPONSE를 브로드캐스팅한다. 2. When a packet is generated in this way, broadcast I_RESPONSE at time t IR + T R (h, k, j).
3. 브로드캐스팅을 종료하면 수신된 I_RESPONSE를 제거한다. 3. When broadcasting ends, remove the received I_RESPONSE.
4. 이후 troute - tIR - TR(h,k,j) 시간에 타이머를 설정한다.4. Then t route - t IR - T Set the timer at R (h, k, j) time.
이와 같이 단계 S218가 종료되면 기 설정된 시간의 만료 여부를 확인한다(S220). 이때 타이머의 시간이 만료될 때까지 단계 S211까지 회귀하여 상술한 절차를 반복수행한다.When the step S218 is finished, it is checked whether the predetermined time has expired (S220). At this time, the procedure returns to step S211 until the time of the timer expires, and the above procedure is repeated.
기 설정된 시간이 만료되면 I_BEACON의 수신여부를 확인하여(S221) 수신이 된 경우에는 단계 S211로 회귀하여 다시 상술한 절차를 수행하고, 수신이 확인되지 않는 경우에는 경로를 설정한다(Route determination phase)(S222).If it is determined that the I_BEACON has been received (S221), the flow returns to step S211 to perform the above-described procedure. If the reception is not confirmed, a route is determined (Route Determination Phase) (S222).
클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜의 정상 Normal of data link protocol of cluster head (CH, Cluster Head) 스테이지stage
클러스터 헤드의 정상 스테이지에서는 비콘을 전달하고 응답을 송신하는데 이는 자신의 생존 정보를 모선으로 제공하기 위함이다.In the normal stage of the cluster head, the beacon is transmitted and the response is transmitted in order to provide its survival information as a bus.
특히 비콘의 전달하기 이전에 시간동기가 수행된다.In particular, time synchronization is performed before the transmission of the beacon.
도 11은 본 발명의 실시 예에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 중 클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜의 정상 스테이지(S230)를 보여주는 순서도이다.11 is a flowchart showing a normal stage S230 of a data link protocol of a cluster head (CH, Cluster Head) among data link layer reception protocols for an underwater long distance network according to an embodiment of the present invention.
도 11을 참조하면 본 발명의 실시 예에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 중 클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜의 정상 스테이지(S230)는 제1 정상 비콘신호를 수신하는 단계(231), 제1 정상 비콘신호의 카운트가 한번에 보낼 수 있는 최대의 패킷 총 개수와 같은지 비교하여 같은 경우(S232), 타임 파라미터와 시간동기를 수행하는 단계(S233), 현재시간이 정상 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간 미만인 경우(S234), 제2 정상 비콘신호를 송신하고 기 설정된 시간동안 슬립모드(Sleep Mode)가 설정되는 단계(S235), 현재시간이 정상 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간 미만인 경우(S236), 제2 정상 응답신호를 수신하는 단계(S237), 및 현재시간이 정상 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간과 같은 경우, 제1 정상 비콘신호에 대응하는 제1 정상 응답신호를 송신하는 단계(S238)를 포함한다.11, the normal stage S230 of the data link protocol of the cluster head (CH, Cluster Head) among the data link layer reception protocols for the underwater long distance network according to the embodiment of the present invention receives the first stationary beacon signal In step 231, it is determined whether or not the first normal beacon signal is the same as the maximum number of packets that can be sent at one time (S232) (Step S234), a second normal beacon signal is transmitted and a sleep mode is set for a predetermined time (step S234) S235), a step S237 of receiving a second normal response signal if the current time is less than the sum of the transmission start time of the normal beacon and the beacon time offset of j in the hop h and sub hop k (S236), and When the current time is equal to the sum of the transmission start time of the normal beacon and the beacon time offset of j in the hop h and the sub hop k, the first normal response signal corresponding to the first normal beacon signal is transmitted (S238) .
여기서 제2 정상 비콘신호는 제1 정상 비콘신호를 신호처리하여 생성되고, 제2 정상 응답신호는 제1 정상 응답신호를 신호처리하여 생성된다. 따라서 N_BEACON이 제1 정상 비콘신호라면, 신호처리하여 생성된 N_BEACON은 제2 정상 비콘신호이고, N_RESPONSE가 제1 정상 응답신호라면 신호처리하여 생성된 N_RESPONSE는 제2 정상 응답신호가 된다.Here, the second normal beacon signal is generated by signal processing the first normal beacon signal, and the second normal response signal is generated by signal processing the first normal response signal. Therefore, if N_BEACON is the first normal beacon signal, N_BEACON generated by signal processing is the second normal beacon signal, and if N_RESPONSE is the first normal response signal, N_RESPONSE generated by signal processing becomes the second normal response signal.
여기서 신호처리 절차에 대해서는 후술하기로 한다.Here, the signal processing procedure will be described later.
우선, RX N_BEACON 경로(phase)를 통해 N_BEACON을 수신한다(S231).First, N_BEACON is received through the RX N_BEACON phase (S231).
수신된 N_BEACON은 헤더를 확인하여 다음과 같이 처리한다.The received N_BEACON checks the header and processes it as follows.
클러스터 헤드의 Cluster head RXRX N_BEACON 처리방법 How to handle N_BEACON
1. 우선, Csum 값을 확인하여 에러 발생여부를 확인한다.1. First check the C sum value to check whether an error has occurred.
a. 에러가 발생하면, 패킷을 드랍하고, 에러가 발생하지 않으면 Seq 값을 확인한다.a. If an error occurs, drop the packet. If no error occurs, check the Seq value.
b. Seq 값이 동일하다면, hi 값을 확인한다. Seq 값이 동일하지 않다면, 이전 Seq 값을 가지는 패킷들을 폐기하고, 카운트(count)를 1 증가시켜 패킷 버퍼에 저장한다. 이 후, CH NB_table 업데이트하고, 시간동기(Time synchronization phase)를 수행한다. 시간동기는 상술하였으므로 그 상세는 생략하기로 한다.b. If the Seq values are the same, check the hi value. If the Seq values are not the same, discard packets having the previous Seq value, increment the count by 1, and store the packets in the packet buffer. Thereafter, CH NB_table is updated and a time synchronization phase is performed. Since the time synchronization has been described above, the details thereof will be omitted.
c. 홉 번호 hi가 클러스터 헤드 자신의 홉 번호 보다 높다면, 패킷을 드랍하고, 낮다면 TS를 업데이트한다. 즉, 홉 번호가 자신 보다 낮은 TS 값들만 저장하는 업데이트를 수행한다. 이후, FN 값을 확인한다.c. If the hop number h i is higher than the hop count of the cluster head itself, the packet is dropped, and if the hop number h i is lower, the TS is updated. That is, the hop number is updated to store only TS values lower than the hop number. Thereafter, the FN value is confirmed.
d. SR이 존재하는지 판단하여 존재하면, FN 값을 확인하고, SR이 존재하지 않는다면 패킷을 드랍한다.d. If there is an SR, it checks the FN value, and if there is no SR, drops the packet.
e. FN 값이 존재하면, FN 값을 확인하고, 그렇지 않다면 패킷 카운트를 1 증가시켜서 패킷을 저장하고, CH NB_table 업데이트한다.e. If the FN value is present, check the FN value, otherwise increase the packet count by 1 to save the packet and update the CH NB_table.
여기서 CH NB_table 업데이트 항목은 Seq, i, hi, FN, LEN, TS, count 이다.The CH NB_table updates is Seq, i, h i, FN , LEN, TS, count.
이와 같이 단계 S231을 수행한 후, count = LEN 인지 판단한다(S232).After step S231 is performed, it is determined whether count = LEN (S232).
한편, count = LEN 이라면, 시간 파라미터(timing parameter) 획득하고, 시간동기를 수행한 후(S233), CH NB_table을 업데이트한다(S233). 여기서 업데이트 항목으로는 Seq, i, hi, FN, LEN, TS, count, tNB, tNR이다. On the other hand, if count = LEN, a timing parameter is acquired, time synchronization is performed (S233), and the CH NB_table is updated (S233). The updated item is Seq, i, h i, FN , LEN, TS, count, t NB, t NR.
count LEN 이라면 단계 S221로 회귀하여 상술한 절차를 반복수행한다.If the count is LEN, the process returns to step S221 to repeat the above-described procedure.
다음 수순으로는, tc > tNB + TB(h,k,j) 인지 판단한다(S234).It is determined that the following procedure is a, t c> t NB + T B (h, k, j) (S234).
tc > tNB + TB(h,k,j)이라면 단계 S231로 회귀하여 상술한 절차를 반복수행한다.t c > NB + T B (h, k, j), the process returns to step S231 and the above procedure is repeated.
tc > tNB + TB(h,k,j)이 아니라면, TX N_BEACON 경로(phase)를 통해 다음의 절차로 처리생성된 N_BEACON을 전송한다(S235).If it is not t C > t NB + T B (h, k, j), N_BEACON processed by the following procedure is transmitted via TX N_BEACON phase (S235).
TX N_BEACON 경로(phase)를 통해 전송하는 N_BEACON의 생성방법에 대해 설명하면 다음과 같다.TX N_BEACON The generation method of N_BEACON transmitted through the phase will be described as follows.
클러스터 헤드의 TX N_BEACON 생성방법How to create TX N_BEACON for cluster head
1. 우선, 수신된 N_BEACON 정보를 이용하여 헤더를 설정한다.1. First, the header is set using the received N_BEACON information.
a. 헤더는 수신된 N_BEACON 정보의 CN, Seq, FN, LEN는 동일하게 설정하고, hi 는 클러스터 헤드 자신의 hi 로, i도 자신의 i로 변경하고, Csum, TS도 변경하여 설정한다.a. Header is set by CN, Seq, FN, LEN of the received N_BEACON information is set equal to and, h i is a his h i cluster head, i also changes to their i and, C sum, TS also changes.
b. 이후 페이로드는 헤더는 수신된 N_BEACON 정보와 동일하게 설정한다.b. The payload then sets the header to be the same as the received N_BEACON information.
2. 이와 같이 헤더와 페이로드가 설정되고 나면 CH NB_table 업데이트한다. 이때 업데이트 항목으로는 tNB와 tNR이다.2. Once the header and payload are set like this, CH NB_table is updated. The update items are t NB and t NR .
3. 이후, tNB + TB(h, k, j) 시간에 N_BEACON 브로드캐스팅한다.3. Then broadcast N_BEACON at time t NB + T B (h, k, j).
4. 마지막으로 tNR 시간까지 슬립모드 또는 휴면모드로 전환한다. 4. Finally, switch to sleep mode or sleep mode until t NR .
즉, 슬립모드는 tNB + TB(h, k, j) 시간에 N_BEACON 브로드캐스팅한 후 tNR 시간까지 설정된다.That is, the sleep mode is set up to the time t NR after broadcasting N_BEACON at time t NB + T B (h, k, j).
단계 S235 이 종료되면, tC < tNR + TR(h,k,j) 인지 판단한다(S236).When step S235 ends, t C <t NR + T R (h, k, j) (S236).
tC < tNR + TR(h,k,j)이라면, RX N_RESPONSE 경로(phase)를 통해 N_RESPONSE를 수신한다(S237). 여기서 수신된 N_RESPONSE는 다음과 같이 처리된다.t C If it is & lt ; t NR + T R (h, k, j), N_RESPONSE is received through the RX N_RESPONSE phase (S237). The received N_RESPONSE is processed as follows.
클러스터 헤드의 Cluster head RXRX N_RESPONSE 처리방법 How to handle N_RESPONSE
RX N_RESPONSE 경로(phase)를 통해 N_RESPONSE를 수신하는 절차는 다음과 같다. The procedure for receiving N_RESPONSE over the RX N_RESPONSE phase is as follows.
1. 우선, 수신된 N_RESPONSE의 헤더를 확인하여 다음과 같이 처리한다.1. First, the header of the received N_RESPONSE is checked and processed as follows.
a. Csum 값을 확인하여 에러가 발생하면 패킷을 드랍하고, 그렇지 않다면, tc 값을 확인한다.a. Check C sum value, drop packet if error occurs, otherwise t c Check the value.
b. tc > tNR + TR(h, k, j)라면 패킷을 드랍하고, SR값을 확인한다.b. If t c > t NR + T R (h, k, j), drop the packet and check the SR value.
SR값이 존재한다면 FN 값을 확인하고, SR값이 존재하지 않는다면 패킷을 드랍한다.If there is an SR value, the FN value is checked. If the SR value does not exist, the packet is dropped.
c. 이후 FN 값이 LEN 값과 동일한지 확인하여, 동일하다면 페이로드를 분석하여 전달할 CH들의 hi, i, Posi, DATAi 값을 획득한 후 CH NR_table을 업데이트한다.c. If the FN value is equal to the LEN value, the payload is analyzed to acquire the value of h i , i, Pos i , and DATA i of the CHs to be transmitted, and then the CH NR_table is updated.
d. 한편 FN 값이 LEN 값과 동일하지 않다면, 패킷 버퍼 저장, CH NR_table 업데이트한다.d. On the other hand, if the FN value is not equal to the LEN value, the packet buffer is stored and CH NR_table is updated.
e. 이때, CH NR_table 업데이트 항목으로는 FN, LEN, hi, i, Posi, DATAi이다.e. At this time, the update items of CH NR_table are FN, LEN, h i , i, Pos i , and DATA i .
단계 S224가 수행되면, tc = tNR + TR(h, k, j)인지 판단한다(S238)If it is determined that the step S224 is carried out, t c = t NR + T R (h, k, j) (S238)
tc = tNR + TR(h, k, j)라면, TX N_RESPONSE 경로(phase)를 통해 N_RESPONSE를 송신한다(S239).If t c = t NR + T R (h, k, j), then N_RESPONSE is transmitted via TX N_RESPONSE phase (S239).
TX N_RESPONSE 경로(phase)를 통해 전송되는 N_RESPONSE를 생성하는 절차는 다음과 같다. The procedure for generating N_RESPONSE sent over the TX N_RESPONSE phase is as follows.
클러스터 헤드의 TX N_RESPONSE 생성방법How to generate TX N_RESPONSE for cluster head
1. 우선, 헤더 및 페이로드 설정한다.1. First, set the header and payload.
a. 헤더는 상술한 I_BEACON과 동일한 방법으로 설정한다.a. The header is set in the same manner as I_BEACON described above.
b. 페이로드는 수신된 N_RESPONSE에서 업데이트된 hi, i, Posi 정보와 자신의 위치정보를 포함한다.b. The payload contains updated h i , i, Pos i information and its own location information in the received N_RESPONSE.
c. 이와 같이 구성된 N_RESPONSE 패킷은 헤더를 구성하는 CN은 6(N_RESPONSE), Seq, hi, i, FN, LEN, Csum으로 구성되고, 그 하위에 자신의 위치 정보인 Posi, 페이로드의 클러스터 헤드(CH)들의 정보인 i, Posi, DATAi들이 구성된다.c. Thus configured N_RESPONSE packet CN constituting the header 6 (N_RESPONSE), cluster head in Seq, h i, i, FN , LEN, the Pos i, the payload consists of a C sum, its location information in the sub- I, Pos i , and DATA i , which are information of the channels CH.
d. 이 후, tNR + TR(h, k, j) 시간에 N_RESPONSE 브로드캐스팅한 후, 수신한 N_RESPONSE 제거한다.d. Thereafter, N_RESPONSE is broadcasted at time t NR + T R (h, k, j), and then the received N_RESPONSE is removed.
한편, tc tNR + TR(h, k, j) 이라면 단계 S231로 회귀한다.On the other hand, if t c t NR + T R ( h, k, j) and returns to step S231.
클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜의 종료 Termination of the data link protocol of the cluster head (CH, Cluster Head) 스테이지stage
클러스터 헤드의 종료 스테이지에서는 비콘을 전달하고 응답을 송신함으로써 모선과의 통신을 종료한다.At the end stage of the cluster head, communication with the bus is terminated by transmitting a beacon and sending a response.
도 12는 본 발명의 실시 예에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 중 클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜의 종료 스테이지(S250)를 보여주는 순서도이다.12 is a flowchart showing an end stage (S250) of a data link protocol of a cluster head (CH) among a data link layer reception protocol for an underwater long distance network according to an embodiment of the present invention.
도 12를 참조하면, 본 발명의 실시 예에 따르는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜 중 클러스터 헤드(CH, Cluster Head)의 데이터링크 프로토콜의 종료 스테이지(S250)는 제1 종료 비콘신호를 수신하는 단계(S251), 제1 종료 비콘신호의 카운트가 한번에 보낼 수 있는 최대의 패킷 총 개수와 같은지 비교하여 같은 경우(S252), 타임 파라미터와 시간동기를 수행하는 단계(S253), 현재시간이 종료 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간 미만인 경우(S254), 제2 종료 비콘신호를 송신하고 기 설정된 시간동안 슬립모드(Sleep Mode)가 설정되는 단계(S255), 현재시간이 종료 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간 미만인 경우(S256), 제2 종료 응답신호를 수신하는 단계(S257), 및 현재시간이 종료 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간과 같은 경우(S258), 제1 종료 비콘신호에 대응하는 제1 종료 응답신호를 송신하는 단계(S259)를 포함한다.Referring to FIG. 12, the end stage (S250) of the data link protocol of the cluster head (CH) among the data link layer reception protocols for the underwater long distance network according to the embodiment of the present invention receives the first end beacon signal (Step S251). If it is determined that the first end beacon signal is equal to the maximum number of packets that can be transmitted at one time (S252), the step S253 performs time synchronization with the time parameter (S253) If it is less than the sum of the transmission start time of the beacon, the hop h, and the beacon time offset of j in the sub hop k (S254), a second end beacon signal is transmitted and a sleep mode is set for a preset time (S255). If the current time is less than the sum of the transmission start time of the end beacon, the hop h, and the beacon time offset of j in the sub hop k (S256), a step S257 of receiving the second end response signal, If the current time is equal to the sum of the transmission start time of the end beacon, the hop h, and the beacon time offset of j in the sub hop k (S258), transmitting the first end response signal corresponding to the first end beacon signal (S259).
여기서 제2 종료 비콘신호는 제1 종료 비콘신호를 신호처리하여 생성되고, 제2 종료 응답신호는 제1 종료 응답신호를 신호처리하여 생성된다. 따라서 N_BEACON이 제1 종료 비콘신호라면, 신호처리하여 생성된 N_BEACON은 제2 종료 비콘신호이고, N_RESPONSE가 제1 종료 응답신호라면 신호처리하여 생성된 N_RESPONSE는 제2 종료 응답신호가 된다.Wherein the second end beacon signal is generated by signal processing the first end beacon signal and the second end response signal is generated by signal processing the first end response signal. Therefore, if N_BEACON is the first end beacon signal, N_BEACON generated by signal processing is the second end beacon signal, and if N_RESPONSE is the first end response signal, N_RESPONSE generated by signal processing becomes the second end response signal.
여기서 신호처리 절차에 대해서는 후술하기로 한다.Here, the signal processing procedure will be described later.
우선 RX T_BEACON 경로(phase)를 통해 T_BEACON을 수신한다(S251).First, T_BEACON is received through the RX T_BEACON phase (S251).
수신된 T_BEACON은 헤더를 확인하여 다음과 같이 절차로 처리된다.The received T_BEACON is processed in the following procedure by checking the header.
클러스터 헤드의 Cluster head RXRX T_BEACON 처리방법 T_BEACON processing method
1. 우선 헤더의 Csum값을 확인하여 에러 발생했는지 확인한다.1. First check the C sum value of the header to see if an error occurred.
a. 에러가 발생하면 패킷을 드랍하고, 그렇지 않다면 Seq값을 확인한다.a. Drop the packet if an error occurs, otherwise check Seq value.
b. Seq값이 동일하다면 hi 값을 확인하고, 그렇지 않다면 Seq값을 가지는 패킷들을 폐기한 후, 카운트는 1로 패킷 버퍼에 저장한다. 이후 CH TB_table 업데이트하고, 시간동기(Time synchronization phase)를 수행한다. 시간동기는 상술하였으므로 그 상세는 생략하기로 한다.b. If the Seq value is the same, check the value of h i , otherwise discard packets with Seq value and store the count in the packet buffer as 1. Then, the CH TB_table is updated and a time synchronization phase is performed. Since the time synchronization has been described above, the details thereof will be omitted.
c. 다음으로 홉 번호 hi가 현재 클러스터 헤드의 홉 번호 hi 보다 높다면 패킷을 드랍하고, 낮다면 TS를 업데이트한다. 즉, 홉 번호가 자신 보다 낮은 TS 값들만 저장하는 업데이트를 수행한다. 이후, FN 값을 확인한다.c. Next, if the hop number h i is higher than the hop number h i of the current cluster head, the packet is dropped. If the hop number h i is lower, the TS is updated. That is, the hop number is updated to store only TS values lower than the hop number. Thereafter, the FN value is confirmed.
d. 이후, SR 값의 존재를 확인하여 SR 값이 존재한다면 FN 값을 확인한다. SR 값이 존재하지 않는다면 패킷은 드랍한다.d. Then, the presence of the SR value is confirmed, and if the SR value exists, the FN value is confirmed. If the SR value does not exist, the packet drops.
e. FN 값이 존재한다면 FN 값을 확인하고, FN 값이 존재하지 않는다면 카운트를 1 증가시켜 패킷을 저장하고 CH TB_table 업데이트한다.e. If the FN value is present, the FN value is checked. If the FN value does not exist, the count is incremented by 1 to store the packet and update the CH TB_table.
여기서 CH TB_table의 업데이트 항목으로는 Seq, i, hi, FN, LEN, TS, count 값이다.Wherein the update of the entry is a value CH TB_table Seq, i, h i, FN , LEN, TS, count.
단계 S251을 수행한 후, count = LEN이라면(S252) 시간 파라미터(timing parameter)를 획득하고, 시간동기(Time synchronization phase)를 수행하며, CH TB_table을 업데이트한다(S253).After performing step S251, if count = LEN (S252), a timing parameter is obtained, a time synchronization phase is performed, and a CH TB_table is updated (S253).
CH TB_table의 업데이트 항목으로는 Seq, i, hi, FN, LEN, TS, count, tTB, tTR이다.The update items of the CH TB_table are Seq, i, h i , FN, LEN, TS, count, t TB , and t TR .
count LEN 이라면 단계 S221로 회귀하여 상술한 절차를 반복수행한다.If the count is LEN, the process returns to step S221 to repeat the above-described procedure.
다음 절차로, tc > tTB + TB(h,k,j) 인지 판단한다(S254).Determines whether the next procedure, t c> t TB + T B (h, k, j) (S254).
tc > tTB + TB(h,k,j) 라면, 단계 S221로 회귀하여 상술한 절차를 반복수행한다.If t c > t TB + T B (h, k, j), the procedure returns to step S221 and the above procedure is repeated.
tc > tTB + TB(h,k,j)가 아니라면, TX T_BEACON 경로(phase)를 통해 T_BEACON을 전송한다(S255).If t c > t TB + T B (h, k, j), T_BEACON is transmitted via the TX T_BEACON path (S 255).
TX N_BEACON 경로(phase)를 통해 전송하는 T_BEACON을 생성하는 절차에 대해 설명하면 다음과 같다.A procedure for generating T_BEACON to be transmitted via TX N_BEACON phase will be described as follows.
클러스터 헤드의 TX T_BEACON 생성방법How to Create TX T_BEACON for Cluster Head
1. 우선, 수신된 T_BEACON 정보를 이용하여 헤더를 설정한다.1. First, a header is set using the received T_BEACON information.
a. 헤더는 수신된 T_BEACON 정보의 CN, Seq, FN, LEN는 동일하게 설정하고, hi 는 자신의 hi 로, i도 자신의 i로 변경하고, Csum, TS도 변경하여 설정한다.a. The header sets CN, Seq, FN, and LEN of the received T_BEACON information to the same, h i changes its own h i , i changes its own i, and C sum and TS change.
b. 이후 페이로드의 설정은 헤더는 수신된 T_BEACON 정보와 동일하게 설정한다.b. Then, the setting of the payload sets the header to be equal to the received T_BEACON information.
2. 이와 같이 헤더와 페이로드가 설정되고 나면 CH TB_table 업데이트한다. 이때 업데이트 항목으로는 tTB와 tTR이다.2. Once the header and payload are set in this manner, CH TB_table is updated. At this time, t TB and t TR are update items.
3. 이후, tTB + TB(h, k, j) 시간에 T_BEACON 브로드캐스팅한다.3. Then broadcast T_BEACON at time t TB + T B (h, k, j).
마지막으로 tTR 시간까지 슬립모드 또는 휴면모드로 전환한다.Finally, it switches to sleep mode or sleep mode until t TR time.
즉, 슬립모드는 tTB + TB(h, k, j) 시간에 T_BEACON 브로드캐스팅한 후 tTR 시간까지 설정된다.That is, the sleep mode is set to t TR after broadcasting T_BEACON at time t TB + T B (h, k, j).
단계 S255 이 종료되면, tC < tNR + TR(h,k,j) 인지 판단한다(S256).When step S255 ends, t C <t NR + T R (h, k, j) (S256).
tC < tNR + TR(h,k,j)이라면, RX T_RESPONSE 경로(phase)를 통해 T_RESPONSE를 수신한다(S257).t C If it is & lt ; t NR + T R (h, k, j), T_RESPONSE is received via the RX T_RESPONSE phase (S257).
RX T_RESPONSE 경로(phase)를 통해 T_RESPONSE를 수신하는 절차는 다음과 같다.The procedure for receiving T_RESPONSE through the RX T_RESPONSE phase is as follows.
클러스터 헤드의 Cluster head RXRX T_RESPONSE 생성방법 How to create T_RESPONSE
1. 우선, 수신된 T_RESPONSE의 헤더를 확인하여 다음과 같이 처리한다.1. First, the header of the received T_RESPONSE is checked and processed as follows.
a. Csum 값을 확인하여 에러가 발생하면 패킷을 드랍하고, 그렇지 않다면, tc 값을 확인한다.a. Check C sum value, drop packet if error occurs, otherwise check t c value.
b. tc > tTR + TR(h, k, j)라면 패킷을 드랍하고, SR값을 확인한다.b. If t c > t TR + T R (h, k, j), drop the packet and check the SR value.
SR값이 존재한다면 FN 값을 확인하고, SR값이 존재하지 않는다면 패킷을 드랍한다.If there is an SR value, the FN value is checked. If the SR value does not exist, the packet is dropped.
c. 이후 FN 값이 LEN 값과 동일여부에 상관없이 패킷 버퍼에 저장하고 CH TR_table을 업데이트한다. c. After that, the FN value is stored in the packet buffer regardless of whether it is equal to the LEN value, and the CH TR_table is updated.
d. 이때, CH TR_table 업데이트 항목으로는 FN, LEN, hi, i 이다.d. At this time, CH TR_table update items are FN, LEN, h i , i.
단계 S234 이 종료되면, tC = tNR + TR(h,k,j) 인지 판단한다(S258).When step S234 ends, t C = t NR + T R (h, k, j) (S258).
tC = tNR + TR(h,k,j)이라면, TX T_RESPONSE 경로(phase)를 통해 T_RESPONSE를 송신한다(259).t C = t NR + T R (h, k, j), then T_RESPONSE is transmitted via the TX T_RESPONSE phase (259).
TX T_RESPONSE 경로(phase)를 통해 전송하는 T_RESPONSE를 생성하는 절차는 다음과 같다.The procedure for generating T_RESPONSE to transmit via TX T_RESPONSE phase is as follows.
클러스터 헤드의 TX T_RESPONSE 생성방법How to generate TX T_RESPONSE for cluster head
1. 우선, 헤더를 설정한다.1. First, set the header.
a. 헤더는 상술한 I_BEACON과 동일한 방법으로 설정한다.a. The header is set in the same manner as I_BEACON described above.
b. 이 후, tTR + TR(h, k, j) 시간에서 T_RESPONSE 브로드캐스팅한 후, 수신한 T_RESPONSE 제거한다.b. Thereafter, T_RESPONSE is broadcasted at time t TR + T R (h, k, j), and then T_RESPONSE is removed.
클러스터 헤드(CH, Cluster Head) 데이터링크 프로토콜의 패킷 처리 알고리즘Packet processing algorithm of cluster head (CH, Cluster Head) data link protocol
도 13은 본 발명의 실시 예에 따르는 클러스터 헤드 데이터링크 프로토콜의 패킷 처리 알고리즘을 상세하게 보여주기 위한 순서도이다.13 is a flowchart illustrating a packet processing algorithm of the cluster head data link protocol in detail according to an embodiment of the present invention.
클러스터 헤드 패킷 처리 알고리즘은 패킷 트레인 리드 알고리즘(Packet Train Read Algorithm, PTRA)으로부터 수신된 패킷 트레인을 분석해서 케이스별로 처리하는 알고리즘으로써 클러스터 헤드 데이터링크 프로토콜의 초기화 스테이지(S210), 정상 스테이지(S230) 및 종료 스테이지(S250)에서 공통적으로 사용된다.The cluster head packet processing algorithm is an algorithm for analyzing a packet train received from a packet train read algorithm (PTRA) and processing it on a case-by-case basis. The cluster head packet processing algorithm includes an initialization stage S210, a steady stage S230, And is commonly used in the end stage (S250).
이 알고리즘 역시 패킷 트레인의 모드 패킷이 수신되거나, 일부만 수신되어도 처리가 된다.This algorithm is also processed when a mode packet of a packet train is received or only a part of it is received.
먼저, 패킷 트레인 리드 알고리즘(PTRA)으로부터 패킷 트레인을 수신하여(S171) I_BEACON인지 여부를 판단한다(S181).First, the packet train is received from the packet train read algorithm (PTRA) (S171) and it is determined whether it is I_BEACON (S181).
I_BEACON인 경우, 타임옵셋(time offset, TO)을 설정한 후 시간을 동기화시키고(S182), I_BEACON이 아닌 경우 T_BEACON인지 여부를 판단한다(S183).If I_BEACON is set, the time offset (TO) is set and the time is synchronized (S182). If it is not I_BEACON, it is determined whether it is T_BEACON (S183).
T_BEACON인 경우, 타이머를 셋업한 후에(S184) 최종 홉(hop)지 여부를 판단하고(S185), T_BEACON이 아닌 경우 다운링크 데이터인지 여부를 판단한다(S188).If T_BEACON is set, a timer is set up (S184) to determine whether or not a final hop is provided (S185), and if it is not T_BEACON, it is determined whether or not it is downlink data (S188).
단계(S185)에서 최종 홉인 경우 I_RESPONSE 또는 T_RESPONSE를 생성한 후에 패킷을 상위 계층인 QTX _DL_ PL로 전송하고(S186), 최종 홉이 아닌 경우 I_BEACON 또는 T_BEACON의 헤더와 페이로드를 수정한 후에 패킷을 상위 계층인 QTX _DL_ PL로 전송한다(S187).Step (S185) to end-hop case the packet after transmitting the packet after creating the I_RESPONSE or T_RESPONSE to Q TX _DL_ PL of the upper layer, and (S186), if it is not the last hop to modify the header and payload of I_BEACON or T_BEACON in and it transmits it to the Q TX _DL_ PL of the upper layer (S187).
단계(S188)에서 다운링크 데이터인 경우 시간을 동기화시키고(S189), 다운링크 데이터가 아닌 경우 라우트 테이블을 참고하여 전달해야 하는 다음 홉 CH의 주소(NH)인지 여부를 판단한다(S190).In step S188, the time is synchronized with the downlink data in step S189. If the downlink data is not downlink data, it is determined in step S190 whether the address is the address NH of the next hop channel to be transmitted with reference to the route table.
단계(S189) 후에 브로드캐스트 모드인지 여부를 판단하여(S193), 브로드캐스트 모드인 경우 최종 홉(hop)인지 여부를 판단하고(S194), 브로드캐스트 모드가 아닌 경우 다운링크 라우트 테이블을 이용하여 자신이 CS가 전송하는 유니캐스트 데이터 패킷을 위한 CH의 주소(TH)인지 여부를 판단한다(S196).If it is determined that the broadcast mode is not the broadcast mode, it is determined whether it is the last hop in the broadcast mode (S194). If the broadcast mode is not the broadcast mode, It is determined whether the CS is the address (TH) of the CH for the unicast data packet to be transmitted (S196).
단계(S194)에서 최종 홉인 경우 패킷을 상위 계층인 QTX _DL_UL로 전송하고(S195), 최종 홉이 아닌 경우 다운링크 데이터를 수정한 후에 패킷을 상위 계층인 QTX _DL_ PL로 전송한다(S198).Transmits a case the final hop packet in step (S194) to the Q TX _DL_UL the higher layer and sends it to the (S195), Q TX _DL_ PL packet after modifying the downlink data of the upper layer if it is not the last hop (S198) .
단계(S196)에서 CS가 전송하는 유니캐스트 데이터 패킷을 위한 CH의 주소(TH)인 경우 패킷을 상위 계층인 QTX _DL_UL로 전송하고(S199), CS가 전송하는 유니캐스트 데이터 패킷을 위한 CH의 주소(TH)가 아닌 경우 다운링크 라우트 테이블을 이용하여 자신이 라우트 테이블을 참고하여 전달해야 하는 다음 홉 CH의 주소(NH)인지 여부를 판단한다(S197).If it is the address (TH) of the CH for the unicast data packet transmitted by the CS in step S196, the packet is transmitted to the upper layer Q TX _DL_UL (S199), and the CH for the unicast data packet transmitted by the CS If it is not the address (TH), it determines whether it is the address (NH) of the next hop channel to be transmitted with reference to the route table by using the downlink route table (S197).
라우트 테이블을 참고하여 전달해야 하는 다음 홉 CH의 주소(NH)인 경우 수신한 다운링크 데이터를 수정한 후에 패킷을 상위 계층인 QTX _DL_ PL로 전송하고(S198), 다음 홉 CH의 주소(NH)가 아닌 경우 패킷을 드롭한다(S192).If the address (NH) of the next hop CH to be passed by reference to the routing table, sending the packet after modifying the downlink data received by the Q TX _DL_ PL of the upper layer, and (S198), address (NH next hop CH ), The packet is dropped (S192).
단계(S190)에서 라우트 테이블을 참고하여 전달해야 하는 다음 홉 CH의 주소(NH)인 경우 I_RESPONSE, T_RESPONSE 또는 업링크 데이터를 수정한 후에 패킷을 상위 계층인 QTX _DL_ PL로 전송하고(S191), 다음 홉 CH의 주소(NH)가 아닌 경우 패킷을 드롭한다(S192).Step if (S190) the address (NH) of the next hop CH in that must be passed by referring to the route table I_RESPONSE, T_RESPONSE or transmits a packet after modifying the uplink data to the Q TX _DL_ PL of the upper layer (S191), If it is not the address (NH) of the next hop CH, the packet is dropped (S192).
이와 같이 본 발명의 실시 예와 같이 구성됨으로써 모선과 다수의 클러스터 헤드들간의 통신효율을 향상시킬 수 있을뿐 아니라, 수중 장거리 네트워크에서 패킷 트레인 형태의 송수신시 메시지 오버헤드를 감소시키고 전체적인 네트워크 프로토콜의 수신 알고리즘 복잡도를 낮춰 열악한 수중 네트워크 통신 시스템의 성능을 향상시킬 수 있다.In addition to improving the communication efficiency between the bus and the plurality of cluster heads, it is possible to reduce the message overhead in transmitting and receiving packet trains in the underwater long distance network, It is possible to improve the performance of a poor underwater network communication system by lowering the algorithm complexity.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be construed as limiting the scope of the invention as defined by the appended claims. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention.
CS: 모선 CH: 클러스터 헤드CS: bus CH: cluster head
Claims (17)
(B) 상기 통신경로를 통해 상기 모선과 다수의 클러스터 헤드가 통신을 수행하는 정상 스테이지; 및
(C) 상기 모선과 상기 다수의 클러스터 헤드가 통신을 종료하는 종료 스테이지를 포함하며,
상기 통신은 시간분할다중접속(TDMA) 방식으로 패킷을 일괄전송하기 위한 패킷 트레인 형식의 패킷을 송수신하고,
상기 패킷 트레인 형식의 패킷 수신은
(D) 패킷 트레인 리드 알고리즘에 의해 큐로부터 패킷을 수신하여 수신된 패킷의 에러가 있는지 여부에 따라 헤더 및 RX 상태 테이블을 체크하고, 중복 여부에 따라 상기 수신된 패킷의 수 및 패킷 로스의 회수를 초기화하며, 중간에 새로운 시작 패킷이 수신되었는지 여부에 따라 상기 수신된 패킷의 수가 조각된 패킷의 총 개수인지 여부를 판단하는 단계; 및
(E) 상기 패킷 트레인 리드 알고리즘으로 생성된 패킷 트레인을 수신하여 응답 신호가 비콘 신호의 Seq 값과 동일한지 여부 및 업링크 데이터인지 여부에 따라 상기 RX 상태 테이블 업데이트의 여부 및 상위 계층으로의 전송 여부가 결정되는 단계;를 포함하는
것을 특징으로 하는
수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
(A) an initial stage in which a bus line establishes an initial communication path;
(B) a normal stage in which the bus bar and the plurality of cluster heads communicate through the communication path; And
(C) an end stage in which the bus and the plurality of cluster heads terminate communication,
The communication includes transmitting and receiving a packet in a packet train format for collectively transmitting packets in a time division multiple access (TDMA)
The packet train type packet reception
(D) Receiving the packet from the queue by the packet train read algorithm, checking the header and RX state table according to whether or not there is an error in the received packet, and checking the number of received packets and the number of packet losses Determining whether the number of received packets is the total number of the fragmented packets according to whether a new start packet is received in the middle; And
(E) receiving the packet train generated by the packet train read algorithm and determining whether the RX state table is updated and whether the response signal is transmitted to an upper layer according to whether the response signal is equal to the Seq value of the beacon signal or not, Wherein the step < RTI ID = 0.0 >
Characterized by
A method of communication using a data link layer reception protocol for underwater long distance networks.
(a) 상기 모선이 초기 비콘신호를 송신하는 단계;
(b) 상기 초기 비콘신호에 대응하는 상기 다수의 클러스터 헤드의 초기 응답신호를 모선이 수신하는 단계;
(c) 상기 초기 응답신호의 기 설정된 수신대기 시간이 만료하였는지 판단하는 단계;
(d) 상기 (c) 단계에서, 상기 수신대기 시간이 만료되면, 상기 다수의 클러스터 헤드의 상기 초기 응답신호가 모두 수신되었는지 판단하는 단계; 및
(e) 상기 (d) 단계에서, 상기 초기 응답신호가 모두 수신되었다면 상기 모선과 상기 다수의 클러스터 헤드와의 통신경로를 설정하는 단계
를 포함하는 것을 특징으로 하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
2. The method of claim 1, wherein step (A)
(a) transmitting the initial beacon signal by the bus;
(b) receiving an initial response signal of the plurality of cluster heads corresponding to the initial beacon signal;
(c) determining whether a predetermined reception waiting time of the initial response signal has expired;
(d) determining whether all of the initial response signals of the plurality of cluster heads have been received when the reception wait time has expired in step (c); And
(e) if the initial response signal is received in step (d), setting a communication path between the busbars and the plurality of cluster heads
And a data link layer receiving protocol for a long-distance underwater network.
(a) 상기 모선이 상기 다수의 클러스터 헤드로 정상 비콘신호를 송신하는 단계;
(b) 상기 정상 비콘신호에 대응하는 상기 다수의 클러스터 헤드의 정상 응답신호를 상기 모선이 수신하는 단계;
(c) 상기 정상 응답신호의 기 설정된 수신대기 시간이 만료되었는지 판단하는 단계; 및
(d) 상기 (c) 단계에서 상기 수신대기 시간이 만료한 경우, 상기 응답신호의 응답 실패 횟수가 기 설정된 응답 실패 제한 횟수를 초과하는지 판단하는 단계
를 포함하는 것을 특징으로 하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
The method of claim 1, wherein (B)
(a) sending a normal beacon signal to the plurality of cluster heads via the bus;
(b) receiving a normal response signal of the plurality of cluster heads corresponding to the normal beacon signal;
(c) determining whether the predetermined reception waiting time of the normal response signal has expired; And
(d) judging whether the number of times the response signal has failed to respond exceeds the predetermined number of response failure limits, when the reception waiting time has expired in the step (c)
And a data link layer receiving protocol for a long-distance underwater network.
(a) 상기 모선이 종료 비콘신호를 상기 다수의 클러스터 헤드로 송신하는 단계;
(b) 상기 종료 비콘신호에 대응하는 상기 다수의 클러스터 헤드의 종료 응답신호를 상기 모선이 수신하는 단계;
(c) 상기 (b) 단계에서 상기 정상 응답신호의 기 설정된 수신대기 시간이 만료되었는지 판단하는 단계; 및
(d) 상기 (c) 단계에서 상기 수신대기 시간이 만료되는 경우, 상기 응답신호가 모두 상기 모선으로 수신되었는지 판단하는 단계
를 포함하는 것을 특징으로 하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
The method of claim 1, wherein the step (C)
(a) transmitting the end beacon signal to the plurality of cluster heads via the bus;
(b) receiving, by the bus, an end response signal of the plurality of cluster heads corresponding to the end beacon signal;
(c) determining whether the predetermined waiting time of the normal response signal has expired in the step (b); And
(d) determining whether all of the response signals have been received on the bus line when the reception waiting time has expired in the step (c)
And a data link layer receiving protocol for a long-distance underwater network.
(a) 상기 큐가 비어 있는지 여부를 체크하여 연속적으로 비어 있는 경우 EQ가 EQmax 미만이지 판단하고, 상기 큐가 차 있는 경우 상기 EQ를 초기화하고, 상기 큐로부터 패킷을 읽어 BUF에 임시 저장하는 단계;
(b) 상기 수신된 패킷의 에러가 있는지 여부에 따라 상기 헤더 및 상기 RX 상태 테이블을 체크하여 중간에 새로운 시작 패킷이 수신되었는지 여부를 판단하고, 중간에 새로운 시작 패킷이 수신된 것이 아닌 경우 상기 중복 여부에 따라 상기 수신된 패킷의 수 및 상기 패킷 로스의 회수를 초기화하는 단계; 및
(c) 상기 수신된 패킷의 수가 상기 조각된 패킷의 총 개수인지 여부 및 상기 패킷 로스의 여부에 따라 상기 수신된 패킷의 에러가 있는지 여부를 판단하고, 상기 수신된 패킷의 에러 유무에 따라 상기 헤더 및 상기 RX 상태 테이블을 체크하며, 중간에 새로운 시작 패킷이 수신되었는지 여부에 따라 상기 중복 여부를 판단하거나, 상기 수신된 패킷의 수가 상기 조각된 패킷의 총 개수인지 여부를 판단하는 단계;
를 포함하는 것을 특징으로 하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
The method of claim 1, wherein step (D)
(a) checking whether the queue is empty, determining whether the EQ is less than the EQmax when the queue is continuously empty, initializing the EQ if the queue is empty, reading the packet from the queue, and temporarily storing the packet in the BUF;
(b) checking the header and the RX state table according to whether or not there is an error in the received packet to determine whether a new start packet has been received in the middle, and if a new start packet has not been received in the middle, Initializing the number of received packets and the number of packet losses according to whether or not the received packet is lost; And
(c) determining whether or not there is an error in the received packet according to whether the number of the received packets is the total number of the fragmented packets and whether the packet is lost, And checking the RX state table to determine whether the new start packet is received in the middle or whether the number of received packets is the total number of the fragmented packets.
And a data link layer receiving protocol for a long-distance underwater network.
(a-1) 상기 큐를 체크하여 상기 큐가 연속적으로 비어 있는지 여부를 판단하는 단계;
(a-2) 상기 큐가 연속적으로 비어 있는 경우, 상기 EQ를 '1' 증가시켜 상기 EQ가 상기 EQmax 미만이지 판단하는 단계;
(a-3) 상기 EQ가 상기 EQmax 미만인 경우 상기 단계(a-1)로 회귀하는 단계; 및
(a-4) 상기 단계(a-1)에서 상기 큐가 차 있는 경우, 상기 EQ를 '0'으로 초기화하고, 상기 큐로부터 패킷을 수신하여 상기 BUF에 임시 저장하는 단계;
를 포함하는 것을 특징으로 하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
6. The method of claim 5, wherein step (a)
(a-1) checking the queue to determine whether the queue is continuously empty;
(a-2) if the queue is consecutively empty, incrementing the EQ by '1' to determine whether the EQ is less than the EQmax;
(a-3) returning to the step (a-1) when the EQ is less than the EQmax; And
(a-4) initializing the EQ to '0' if the queue is different in step (a-1), receiving a packet from the queue, and temporarily storing the packet in the BUF;
And a data link layer receiving protocol for a long-distance underwater network.
(b-1) 상기 수신된 패킷의 에러가 있는지 여부를 판단하여 에러가 있는 경우 상기 BUF를 삭제하고 상기 단계(a-1)로 회귀하고, 에러가 없는 경우 상기 헤더 및 상기 RX 상태 테이블을 체크하는 단계;
(b-2) 중간에 새로운 시작 패킷이 수신되었는지 여부를 판단하여, 중간에 새로운 시작 패킷이 수신된 경우에는 상기 BUF를 삭제하고 상기 단계(a-1)로 회귀하고, 중간에 새로운 시작 패킷이 수신된 것이 아닌 경우 상기 중복 여부를 판단하는 단계;
(b-3) 중복인 경우 상기 BUF를 삭제하고 상기 단계(a-1)로 회귀하며, 중복이 아닌 경우 상기 수신된 패킷의 수를 '1'로 초기화하고, 패킷 트레인에서 발생한 상기 패킷 로스의 회수를 '0'으로 초기화하는 단계;
을 포함하는 것을 특징으로 하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
7. The method of claim 6, wherein step (b)
(b-1) determines whether or not there is an error in the received packet, and if there is an error, deletes the BUF and returns to step (a-1). If there is no error, the header and the RX state table are checked ;
(b-2). If a new start packet is received in the middle, it deletes the BUF and returns to the step (a-1). In the middle, a new start packet is received Determining whether the data is duplicated if the data is not received;
(b-3), the BUF is deleted and the flow returns to the step (a-1). If the packet is not duplicated, the number of received packets is initialized to '1' Initializing the number of times to '0';
And a data link layer receiving protocol for a long-distance underwater network.
(c-1) 상기 수신된 패킷의 수가 상기 조각된 패킷의 총 개수인지 여부를 판단하는 단계;
(c-2) 상기 조각된 패킷의 총 개수가 아닌 경우 상기 큐를 체크하여 상기 패킷 로스가 있는지 여부를 판단하는 단계;
(c-3) 상기 패킷 로스가 있는 경우 상기 수신된 패킷의 수 및 상기 패킷 로스의 회수를 '1' 증가시켜 상기 수신된 패킷의 수가 상기 조각된 패킷의 총 개수인지 여부를 판단하는 단계;
(c-4) 상기 패킷 로스가 없는 경우, 상기 큐로부터 패킷을 수신하여 상기 BUF에 임시 저장한 후, 상기 수신된 패킷의 에러가 있는지 여부를 판단하는 단계;
(c-5) 상기 수신된 패킷의 에러가 없는 경우 상기 헤더 및 상기 RX 상태 테이블을 체크하는 단계;
(c-6) 중간에 새로운 시작 패킷이 수신되었는지 여부에 따라 현재 패킷을 상기 BUF에 저장한 후 중복 여부를 판단하고 상기 단계(b-3)로 회귀하거나, 상기 BUF의 삭제 및 현재 패킷의 상기 BUF에 저장한 후 상기 단계(c-1)로 회귀하는 단계;
를 포함하는 것을 특징으로 하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
8. The method of claim 7, wherein step (c)
(c-1) determining whether the number of received packets is the total number of the fragmented packets;
(c-2) checking the queue to determine whether the packet loss is present if the total number of the fragmented packets is not equal to the total number of the fragmented packets;
(c-3) if the packet loss is present, incrementing the number of received packets and the number of packet losses by '1' to determine whether the number of received packets is the total number of the fragmented packets;
(c-4) if there is no packet loss, receiving a packet from the queue and temporarily storing the packet in the BUF, and then determining whether there is an error in the received packet;
(c-5) checking the header and the RX state table when there is no error in the received packet;
(b-3) after determining whether the current packet is stored in the BUF according to whether a new start packet is received in the middle of step (c-6) (C-1) after being stored in the BUF;
And a data link layer receiving protocol for a long-distance underwater network.
(e-1) 상기 패킷 트레인을 수신하여 상기 비콘 신호인 I_BEACON 또는 T_BEACON인지 여부를 판단하는 단계;
(e-2) 상기 I_BEACON 또는 상기 T_BEACON인 경우 상기 BUF를 삭제하고 타이머가 종료했는지 여부를 판단하고, 상기 I_BEACON 또는 상기 T_BEACON이 아닌 경우 상기 응답 신호인 I_RESPONSE 또는 T_RESPONSE 인지 여부를 판단하는 단계;
(e-3) 상기 타이머가 종료한 경우에는 동작을 종료하고, 상기 타이머가 종료하지 않은 경우에는 상기 단계(e-1)로 회귀하는 단계;
(e-4) 상기 I_RESPONSE 또는 상기 T_RESPONSE인 경우 송신한 상기 I_BEACON 또는 상기 T_BEACON과 상기 Seq 값의 동일 여부를 판단하여 동일한 경우 상기 RX 상태 테이블을 업데이트하고, 동일하지 않은 경우 상기 BUF를 삭제하고 상기 단계(e-3)로 회귀하는 단계; 및
(e-5) 상기 I_RESPONSE 또는 상기 T_RESPONSE가 아닌 경우 업링크 데이터인지 여부를 판단하여 상기 업링크 데이터인 경우 상기 RX 상태 테이블을 업데이트한 후 패킷을 상기 상위 계층으로 전송하고, 상기 업링크 데이터가 아닌 경우 상기 BUF를 삭제하고 상기 단계(e-3)로 회귀하는 단계;
를 포함하는 것을 특징으로 하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
6. The method of claim 5, wherein step (E)
(e-1) receiving the packet train and determining whether the beacon signal is I_BEACON or T_BEACON;
(e-2) if it is I_BEACON or T_BEACON, deleting the BUF and determining whether the timer has expired; determining whether the response signal is I_RESPONSE or T_RESPONSE when the timer is not I_BEACON or T_BEACON;
(e-3) terminating the operation when the timer ends, and returning to the step (e-1) if the timer is not finished;
(e-4) whether the I_BEACON or the T_BEACON transmitted in the case of the I_RESPONSE or the T_RESPONSE is the same as the Seq value; updating the RX state table if it is the same, deleting the BUF if not (e-3); And
(e-5) determining whether the uplink data is not the I_RESPONSE or the T_RESPONSE, updating the RX state table in case of the uplink data, and transmitting the packet to the upper layer, Deleting the BUF and returning to step (e-3);
And a data link layer receiving protocol for a long-distance underwater network.
(B) 상기 클러스터 헤드가 제1 정상 비콘신호를 수신받아 상기 제1 정상 비콘신호에 대응하는 제1 정상 응답신호를 송신하고, 제2 정상 비콘신호를 송신하여 상기 제2 정상 비콘신호에 대응하는 제2 정상 응답신호를 수신받는 정상 스테이지; 및
(C) 상기 클러스터 헤드가 제1 종료 비콘신호를 수신받아 상기 제1 종료 비콘신호에 대응하는 제1 종료 응답신호를 송신하고, 제2 종료 비콘신호를 송신하여 상기 제2 종료 비콘신호에 대응하는 제2 종료 응답신호를 수신받는 종료 스테이지를 포함하되,
상기 제1 초기 응답신호는 상기 제2 초기 응답신호의 정보를 포함하고, 상기 제1 정상 응답신호는 상기 제1 정상 응답신호의 정보를 포함하며, 상기 제1 종료응답신호는 상기 제2 종료 응답신호의 정보를 포함하고,
상기 신호들의 송수신은 시간분할다중접속(TDMA) 방식으로 패킷을 일괄전송하기 위한 패킷 트레인 형식의 패킷을 송수신하며,
상기 패킷 트레인 형식의 패킷 수신은
(D) 패킷 트레인 리드 알고리즘에 의해 큐로부터 패킷을 수신하여 수신된 패킷의 에러가 있는지 여부에 따라 헤더 및 RX 상태 테이블을 체크하고, 중복 여부에 따라 수신된 패킷의 수 및 패킷 로스의 회수를 초기화하며, 중간에 새로운 시작 패킷이 수신되었는지 여부에 따라 상기 수신된 패킷의 수가 조각된 패킷의 총 개수인지 여부를 판단하는 단계; 및
(E) 상기 패킷 트레인 리드 알고리즘으로 생성된 패킷 트레인을 수신하여 비콘 신호의 종류 또는 다운링크 데이터 여부에 따라 시간을 동기화 또는 타이머를 셋업시키며, 브로드캐스트 모드인지 여부에 따라 최종 홉인지 여부인지 여부를 판단하여 응답 신호를 생성하거나, 비콘 신호 또는 다운링크 데이터를 수정한 후에 패킷을 상위 계층으로 전송하거나, 상기 클러스터 헤드의 주소의 종류에 따라 상기 다운링크 데이터, 업링크 데이터 또는 상기 응답 신호를 수정한 후에 패킷을 상위 계층으로 전송 또는 드롭하는 단계;
를 포함하는 것을 특징으로 하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
(A) a cluster head receives a first initial beacon signal, transmits a first initial response signal corresponding to the first initial beacon signal, and transmits a second initial beacon signal to generate a second initial beacon signal corresponding to the second initial beacon signal 2 an initial stage for receiving an initial response signal and setting a path;
(B) the cluster head receives a first steady beacon signal, transmits a first steady beacon signal corresponding to the first steady beacon signal, and transmits a second steady beacon signal to generate a second steady beacon signal corresponding to the second steady beacon signal A normal stage receiving a second normal response signal; And
(C) the cluster head receives a first end beacon signal and transmits a first end response signal corresponding to the first end beacon signal, and transmits a second end beacon signal to generate a second end beacon signal corresponding to the second end beacon signal And an end stage for receiving a second end response signal,
Wherein the first initial response signal includes information of the second initial response signal, the first normal response signal includes information of the first normal response signal, and the first end response signal includes information of the second end response Information of the signal,
The transmission and reception of the signals transmit and receive packets in a packet train format for collectively transmitting packets in a time division multiple access (TDMA)
The packet train type packet reception
(D) Receives a packet from a queue by a packet train read algorithm, checks the header and RX state table according to whether there is an error in the received packet, and initializes the number of received packets and the number of packet losses according to the redundancy Determining whether the number of received packets is the total number of the fragmented packets according to whether a new start packet is received in the middle; And
(E) receiving a packet train generated by the packet train read algorithm to synchronize time or set up a timer according to whether a beacon signal is downlink data or a type of a beacon signal, and whether or not the packet is a final hop And transmits the packet to the upper layer after modifying the beacon signal or the downlink data, or modifies the downlink data, the uplink data or the response signal according to the type of the address of the cluster head Transmitting or dropping the packet to an upper layer;
And a data link layer receiving protocol for a long-distance underwater network.
(a) 상기 클러스터 헤드가 제1 초기 비콘신호를 수신하는 단계;
(b) 상기 제1 초기 비콘신호의 카운트가 한번에 보낼 수 있는 최대의 패킷 총 개수와 같은지 비교하여 같은 경우, 타임 파라미터와 시간동기를 수행하는 단계;
(c) 현재시간이 초기 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간을 초과하지 않는 경우, 상기 제2 초기 비콘신호를 송신하고 기 설정된 시간동안 슬립모드(Sleep Mode)가 설정되는 단계;
(d) 현재시간이 초기 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간 미만인 경우, 상기 제2 초기 응답신호를 수신하는 단계;
(e) 현재시간이 초기 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간과 같은 경우, 상기 제1 초기 비콘신호에 대응하는 제1 초기 응답신호를 송신하는 단계;
(f) 기 설정된 시간동안 상기 제1 초기 비콘신호가 수신되는지 판단하는 단계; 및
(g) 상기 기 설정된 시간동안 상기 제1 초기 비콘신호가 미수신되는 경우, 경로를 설정하는 단계
를 포함하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
11. The method of claim 10, wherein step (A)
(a) the cluster head receiving a first initial beacon signal;
(b) performing time synchronization with a time parameter if the first initial beacon signal count is equal to the maximum number of packets that can be sent at one time and is the same;
(c) if the current time does not exceed the transmission start time of the initial beacon and the sum of the hop h and the beacon time offset of j in the sub hop k, the second initial beacon signal is transmitted and the sleep mode (Sleep Mode) is set;
(d) receiving the second initial response signal if the current time is less than the sum of the transmission start time of the initial beacon and the beacon time offset of j in hop h and sub hop k;
(e) transmitting a first initial response signal corresponding to the first initial beacon signal if the current time is equal to the sum of the transmission start time of the initial beacon and the beacon time offset of j in the hop h and sub hop k step;
(f) determining whether the first initial beacon signal is received for a predetermined time; And
(g) setting the path if the first initial beacon signal is not received for the preset time period
And a data link layer receiving protocol for a long-distance underwater network.
(a) 제1 정상 비콘신호를 수신하는 단계;
(b) 상기 제1 정상 비콘신호의 카운트가 한번에 보낼 수 있는 최대의 패킷 총 개수와 같은지 비교하여 같은 경우, 타임 파라미터와 시간동기를 수행하는 단계;
(c) 현재시간이 정상 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간 미만인 경우, 상기 제2 정상 비콘신호를 송신하고 기 설정된 시간동안 슬립모드(Sleep Mode)가 설정되는 단계;
(d) 현재시간이 정상 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간 미만인 경우, 상기 제2 정상 응답신호를 수신하는 단계; 및
(e) 현재시간이 정상 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간과 같은 경우, 상기 제1 정상 비콘신호에 대응하는 제1 정상 응답신호를 송신하는 단계
를 포함하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
11. The method of claim 10, wherein step (B)
(a) receiving a first steady beacon signal;
(b) performing time synchronization with a time parameter if the first normal beacon signal count is equal to a maximum number of packets that can be sent at one time;
(c) if the current time is less than the sum of the transmission start time of the normal beacon and the beacon time offset of j in the hop h and the sub hop k, the mobile station transmits the second normal beacon signal and transmits a sleep mode );
(d) receiving the second normal response signal if the current time is less than the sum of the transmission start time of the normal beacon and the beacon time offset of j in the hop h and sub hop k; And
(e) when the current time is equal to the sum of the transmission start time of the normal beacon and the beacon time offset of j in the hop h and sub hop k, the first normal response signal corresponding to the first normal beacon signal is transmitted step
And a data link layer receiving protocol for a long-distance underwater network.
(a) 제1 종료 비콘신호를 수신하는 단계;
(b) 상기 제1 종료 비콘신호의 카운트가 한번에 보낼 수 있는 최대의 패킷 총 개수와 같은지 비교하여 같은 경우, 타임 파라미터와 시간동기를 수행하는 단계;
(c) 현재시간이 종료 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간 미만인 경우, 상기 제2 종료 비콘신호를 송신하고 기 설정된 시간동안 슬립모드(Sleep Mode)가 설정되는 단계;
(d) 현재시간이 종료 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간 미만인 경우, 상기 제2 종료 응답신호를 수신하는 단계; 및
(e) 현재시간이 종료 비콘의 송신 시작시간과 홉 h, 서브 홉 k에 있는 j의 비콘 타임옵셋을 합한 시간과 같은 경우, 상기 제1 종료 비콘신호에 대응하는 제1 종료 응답신호를 송신하는 단계
를 포함하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
11. The method of claim 10, wherein step (C)
(a) receiving a first end beacon signal;
(b) performing time synchronization with a time parameter if the first end beacon signal is the same as the maximum number of packets that can be sent at one time;
(c) if the current time is less than the sum of the transmission start time of the end beacon and the beacon time offset of j in the hop h and sub hop k, the second end beacon signal is transmitted and the sleep mode );
(d) if the current time is less than the sum of the transmission start time of the end beacon and the beacon time offset of j in the hop h, sub hop k, receiving the second end acknowledgment signal; And
(e) when the current time is equal to the sum of the transmission start time of the end beacon and the beacon time offset of j in the hop h and the sub hop k, the first end response signal corresponding to the first end beacon signal is transmitted step
And a data link layer receiving protocol for a long-distance underwater network.
(e-1) 상기 패킷 트레인을 수신하여 상기 비콘 신호 중 I_BEACON인지 여부를 판단하는 단계;
(e-2) 상기 I_BEACON인 경우 타임옵셋을 설정한 후 시간을 동기화시키고, 상기 I_BEACON이 아닌 경우 상기 비콘 신호 중 T_BEACON인지 여부를 판단하는 단계;
(e-3) 상기 T_BEACON인 경우 상기 타이머를 셋업한 후에 최종 홉인지 여부를 판단하고, 상기 T_BEACON이 아닌 경우 상기 다운링크 데이터인지 여부를 판단하는 단계; 및
(e-4) 최종 홉인 경우 상기 응답 신호인 I_RESPONSE 또는 T_RESPONSE를 생성한 후에 패킷을 상기 상위 계층으로 전송하고, 최종 홉이 아닌 경우 상기 I_BEACON 또는 상기 T_BEACON의 헤더와 페이로드를 수정하고 패킷을 상기 상위 계층으로 전송하는 단계;
를 포함하는 것을 특징으로 하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
11. The method of claim 10, wherein step (E)
(e-1) receiving the packet train and determining whether the beacon signal is I_BEACON;
(e-2) synchronizing time after setting a time offset in case of I_BEACON, and determining whether T_BEACON of the beacon signal is not I_BEACON;
(e-3) if it is T_BEACON, determining whether it is the last hop after setting up the timer; determining whether the downlink data is not T_BEACON; And
(e-4) if it is the last hop, it transmits the packet to the upper layer after generating the response signal I_RESPONSE or T_RESPONSE, and if it is not the last hop, modifies the header and payload of the I_BEACON or the T_BEACON, Layer;
And a data link layer receiving protocol for a long-distance underwater network.
(e-5) 상기 (e-3) 단계에서 상기 다운링크 데이터인 경우 시간을 동기화시키고, 상기 브로드캐스트 모드인지 여부를 판단하여 상기 브로드캐스트 모드인 경우 최종 홉인지 여부를 판단하는 단계;
(e-6) 최종 홉인 경우 패킷을 상기 상위 계층으로 전송하고, 최종 홉이 아닌 경우 상기 다운링크 데이터를 수정한 후에 패킷을 상기 상위 계층으로 전송하는 단계;
를 더 포함하는 것을 특징으로 하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
15. The method of claim 14, wherein step (E)
(e-5) synchronizing time in the case of the downlink data in step (e-3), determining whether it is the broadcast mode, and determining whether it is the last hop in the broadcast mode;
(e-6) transmitting a packet to the upper layer when the packet is the last hop, and transmitting the packet to the upper layer after correcting the downlink data if the packet is not the last hop;
Further comprising a data link layer receiving protocol for the underwater long distance network.
(e-7) 상기 브로드캐스트 모드가 아닌 경우 다운링크 라우트 테이블을 이용하여 모선이 전송하는 유니캐스트 데이터 패킷을 위한 상기 클러스터 헤드의 주소(TH)인지 여부를 판단하는 단계;
(e-8) 상기 클러스터 헤드의 주소(TH)인 경우 패킷을 상기 상위 계층으로 전송하고, 상기 클러스터 헤드의 주소(TH)가 아닌 경우 상기 다운링크 라우트 테이블을 이용하여 라우트 테이블을 참고하여 전달해야 하는 다음 홉 클러스터 헤드의 주소(NH)인지 여부를 판단하는 단계;
(e-9) 상기 다음 홉 클러스터 헤드의 주소(NH)인 경우 수신한 상기 다운링크 데이터를 수정한 후에 패킷을 상기 상위 계층으로 전송하고, 상기 다음 홉 클러스터 헤드의 주소(NH)가 아닌 경우 패킷을 드롭하는 단계;
를 더 포함하는 것을 특징으로 하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
16. The method of claim 15, wherein step (E)
(e-7) determining whether the address is the address (TH) of the cluster head for the unicast data packet transmitted by the bus using the downlink route table if the broadcast mode is not the broadcast mode;
(e-8) transmits the packet to the upper layer when the address is the address (TH) of the cluster head, and if the address is not the address (TH) of the cluster head, refers to the route table using the downlink route table (NH) of the next hop cluster head;
(e-9) transmits the packet to the upper layer after correcting the received downlink data if the address is the address (NH) of the next hop cluster head, and if the address is not the address (NH) ;
Further comprising a data link layer receiving protocol for the underwater long distance network.
(e-10) 상기 다운링크 데이터가 아닌 경우 상기 다음 홉 클러스터 헤드의 주소(NH)인지 여부를 판단하는 단계;
(e-11) 상기 다음 홉 클러스터 헤드의 주소(NH)인 경우 상기 I_RESPONSE, 상기 T_RESPONSE 또는 상기 업링크 데이터를 수정한 후에 패킷을 상기 상위 계층으로 전송하고, 상기 다음 홉 클러스터 헤드의 주소(NH)가 아닌 경우 패킷을 드롭하는 단계;
를 더 포함하는 것을 특징으로 하는 수중 장거리 네트워크를 위한 데이터링크 계층 수신 프로토콜을 이용한 통신 방법.
17. The method of claim 16, wherein step (E)
(e-10) determining whether the downlink data is the address (NH) of the next hop cluster head if the downlink data is not the downlink data;
(NH) of the next hop cluster head, and transmits the packet to the upper layer after modifying the I_RESPONSE, the T_RESPONSE or the uplink data, If not, dropping the packet;
Further comprising a data link layer receiving protocol for the underwater long distance network.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150107519A KR101593504B1 (en) | 2015-07-29 | 2015-07-29 | A datalink layer Reception Protocol for long range underwater networks |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150107519A KR101593504B1 (en) | 2015-07-29 | 2015-07-29 | A datalink layer Reception Protocol for long range underwater networks |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101593504B1 true KR101593504B1 (en) | 2016-02-19 |
Family
ID=55448830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150107519A KR101593504B1 (en) | 2015-07-29 | 2015-07-29 | A datalink layer Reception Protocol for long range underwater networks |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101593504B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987886A (en) * | 2022-12-22 | 2023-04-18 | 厦门大学 | Underwater acoustic network Q learning routing method based on meta-learning parameter optimization |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000016812A (en) * | 1996-06-21 | 2000-03-25 | 포만 제프리 엘 | Adaptive packet training |
KR101090402B1 (en) | 2009-08-11 | 2011-12-06 | 한국해양연구원 | Hierarchical Time Division Multiple AccessHTDMA MAC Protocol for Clustered Underwater Acoustic Network |
KR101137164B1 (en) * | 2003-03-03 | 2012-04-23 | 마이크로소프트 코포레이션 | Controlling admission of data streams onto a network based on end-to-end measurements |
KR101360794B1 (en) * | 2013-06-28 | 2014-02-12 | 한국해양과학기술원 | Time division multiple access control for long range underwater networks |
-
2015
- 2015-07-29 KR KR1020150107519A patent/KR101593504B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000016812A (en) * | 1996-06-21 | 2000-03-25 | 포만 제프리 엘 | Adaptive packet training |
KR101137164B1 (en) * | 2003-03-03 | 2012-04-23 | 마이크로소프트 코포레이션 | Controlling admission of data streams onto a network based on end-to-end measurements |
KR101090402B1 (en) | 2009-08-11 | 2011-12-06 | 한국해양연구원 | Hierarchical Time Division Multiple AccessHTDMA MAC Protocol for Clustered Underwater Acoustic Network |
KR101360794B1 (en) * | 2013-06-28 | 2014-02-12 | 한국해양과학기술원 | Time division multiple access control for long range underwater networks |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115987886A (en) * | 2022-12-22 | 2023-04-18 | 厦门大学 | Underwater acoustic network Q learning routing method based on meta-learning parameter optimization |
CN115987886B (en) * | 2022-12-22 | 2024-06-04 | 厦门大学 | Underwater acoustic network Q learning routing method based on meta learning parameter optimization |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6801512B1 (en) | Method and apparatus for providing a distributed architecture digital wireless communication system | |
JP4058450B2 (en) | Wireless packet communication method and wireless packet communication device | |
US7995524B2 (en) | Wireless communication system and method | |
CN101827451B (en) | Network access method of relaying node and device | |
US20020085531A1 (en) | Wireless network with a selection of transport format combinations | |
KR101593504B1 (en) | A datalink layer Reception Protocol for long range underwater networks | |
CN111641990A (en) | Underwater acoustic sensor network transmission method with high data packet delivery rate and energy efficiency | |
KR20070048438A (en) | Apparatus and method for automatic request for multihop system in broadband wireless access communication network | |
CN102404078B (en) | Method for realizing network encoding in LTE-A (Long Term Evolution-Advanced) | |
KR101360794B1 (en) | Time division multiple access control for long range underwater networks | |
EP3876455B1 (en) | Relays in structured ad hoc networks | |
CN102195763B (en) | Method for realizing MAC (Media Access Control) protocol under long delay condition of underwater sound sensor network | |
JP5394419B2 (en) | Wireless communication system and relay station | |
CN110381561B (en) | Safe transmission method based on energy efficiency in cache-assisted multi-relay transmission system | |
JP2023545602A (en) | Control of concurrent use of radio links in Integrated Access Backhauled | |
CN109348492B (en) | MAC layer transmission protocol design method with limited control overhead | |
CN102045102B (en) | Method and system for transmitting information by using rate-free code as well as relay station | |
CN113766602A (en) | Networking method of wireless network and wireless network structure | |
Bao et al. | Multi-connectivity using erasure code for reliable transmission in millimeter wave communications | |
CN114598398B (en) | Underwater acoustic network data transmission method based on self-adaptive retransmission | |
CN115811773A (en) | High-reliability data transmission method of wireless ad hoc network | |
CN108668383B (en) | Topology control method for wireless sensor network data distribution based on constructive interference | |
CN103986563A (en) | Data transmission method of multi-packet feedback opportunistic route based on ETX value under Rayleigh channels | |
CN118432712A (en) | Ultraviolet light communication cooperation networking method and system | |
CN118714584A (en) | Virtual backbone network optimization method of flight ad hoc network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190102 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20200102 Year of fee payment: 5 |