Devsign(Develop & design)

RMST(Reliable Multi-Segment Transport) 프로토콜은 upstream 방향의 전송에 대해 신뢰성을 보장하는 프로토콜이다.
이 기법은 End-to-End 데이터 패킷을 전송하는데 신뢰성을 제공하며 캐싱 및 복구를 위한 S-NACK기반 프로토콜이다.



RMST는 목적 노드까지의 경로가 설정되고 전송중인 노드를 캐싱모드인 경우와 비 캐싱모드인 경우로 나누고 캐싱모드가 재전송의 책임을 담당하도록 한다. 중간에 데이터의 불연속성이 발견되거나 손실이 발견되었을 경우 중간에 있는 수신자는 처음 Sender에게 재전송을 요구하는 것이 아닌 중간의 캐싱 노드에게 재전송을 요구함으로써 빠른 재전송이 이루어지도록 한다.
시퀀스의 빈곳이 발생하는 경우는 NACK 메시지를 통해 빈곳에 대한 패킷을 요구하는 방법으로 복구를 하고 시퀀스가 잘려나가는 경우(다음 단편을 받기 윙해 기다리는 타이머가 완료되었을 경우에 발생)는 전체패킷을 다시 재전송하는 방법을 취한다.

RMST의 문제점은
1. 전송순서가 보장되지 않는다.
따라서 실시간 전송을 보장하지 못한다.
2. 다른기법들에 비해 에너지 소비가 크다.
3. 어플리케이션 레벨에서는 신뢰성을 제공하지 못하는 특성이 있다.

'W.S.N' 카테고리의 다른 글

W.S.N의 혼잡제어 기법(1)-CODA  (0) 2016.02.15
W.S.N의 신뢰성 전송기법(3)-ESRT  (0) 2016.02.12
W.S.N의 신뢰성 전송기법(1)-PSFQ  (0) 2016.02.12
DTC, TSS 프로토콜  (0) 2016.02.12
W.S.N의 TCP방식 문제점  (0) 2016.02.12

일반적으로 센서노드에 장착된 소형 RF모듈은 약 30~50%에 이르는 높은 패킷 에러율을 갖는다. 이러한 이유로 네트워크의 반경이 넓어지면 패킷의 성공적인 전송률이 심각하게 낮아지고 낮은 패킷 전송률은 불필요한 통신 에너지 낭비가 된다.
따라서 네트워크의 유용성을 높이고 에너지 소모를 줄이기 위한 새로운 신뢰성 있는 전송 기법이 필요하다.

W.S.N의 신뢰성 전송기법을 따르는 프로토콜인 PSFQ, RMST, ESRT에 대해 알아보도록 하겠다.

PSFQ
Pump Slowly(느린 전송) Fetch Quickly(빠른 복구)
이 프로토콜은 신뢰성 있는 전송을 최우선으로 고려한다. PSFQ는 상당한 오버헤드가 존재하기 때문에 Upstream(센서->싱크)로의 전송이 아닌 Downstream(싱크->센서)에서 주로 사용하며 노드에 대한 제어나 관리를 목적으로 한다.


PSFQ는 위그림과 같은 원리로 패킷을 전송한다.
센더는 패킷을순서대로 보낸다. 위 그림처럼 2번 패킷이 NODE1-NODE2 사이에서 손실이되고 3번 패킷이 NODE2에 도착했을 경우 NODE2는 NODE1에게 NACK2(2번패킷이 손실됬다는 메시지)를 보내고 3번패킷을 저장해놓는다. NACK가 NODE1에 도착해서 NODE1에서 다시 패킷2번을 보내면 NODE2에서는 순서대로 2번패킷,3번패킷을 보낸다. 이러한 동작원리로 인해 손실 패킷 이후에 전송된 데이터가 중간 노드에서 전송되지 못하고 손실 패킷에 대한 복구가 완료될 때까지 전송이 지연(느린 전송)되지만 바로 앞노드에서 손실된 패킷을 바로 가져오기 때문에 빠른 복구를 할 수 있다.
하지만 이 방식은 중간 노드에서 손실된 패킷이 완전히 복구될 때까지 손실 패킷 이후 전송된 패킷을 버퍼에 저장하기 때문에 버퍼 오버플로우 발생가능성이 높다.

 



 


'W.S.N' 카테고리의 다른 글

W.S.N의 신뢰성 전송기법(3)-ESRT  (0) 2016.02.12
W.S.N의 신뢰성 전송기법(2)-RMST  (0) 2016.02.12
DTC, TSS 프로토콜  (0) 2016.02.12
W.S.N의 TCP방식 문제점  (0) 2016.02.12
W.S.N(Wireless Sensor Network)와 Internet 연결  (0) 2016.02.12

DTC, TSS 프로토콜

W.S.N2016. 2. 12. 18:27

DTC와 TSS는 센서네트워크의 전송 프로토콜이 응용분야의 특성에 따라 개별적으로 사용되고 기존의 인터넷과 센서 네트워크를 연결하고 특별한 중간 게이트웨이를 사용하는 것을 개선하기 위하여 인터넷에 사용되는 TCP와 호환이 가능한 트랜스포트 프로토콜을 개발하는 것을 목적으로 한다.
DTC와 TSS는 기존의 TCP 세그먼트를 그대로 사용하며 링크 에러율이 높은 무선 환경에서 TCP End-to-End 재전송의 문제점을 개선하기 위하여 중간노드에서 손실회복 및 재전송하는 방법을 제안하였다.

-DTC프로토콜

DTC는 각 센서노드가 최소 한 개의 메모리 공간이 있다고 가정하고 특정 공식에 따라 전송되는 패킷을 저장한다.
SACK(Selective-ACK)를 사용하여 패킷손실을 회복하고, 타이머를 사용하여 불필요한 재전송을 방지한다.

-DTC 포로토콜 공식
1.Cache가 비어있으면 segment 저장.
2.Cache가 차있다면, 특정 확률로 저장.
3.Link Lever Timer를 이용하여 패킷손실이 우려되면 Cache Lock.
4.저장된 Segment보다 큰 값의 ACK가 오면 Cache를 비움.



-TSS 프로토콜

센서노드의 메모리 공간이 DTC에 비해 여유가 있다고 가정하고 패킷을 순서대로 저장하고 전송한다.
다음 노드가 패킷을 전송하는것을 Overhearing 하여 전송된 패킷이 잘 전달되는지 예측하고 저장된 패킷을 메모리에서 삭제한다.
Small history list를 사용하여 이전에 ACK를 보낸 패킷이 재전송되어 오면 삭제한다.


-DTC, TSS 장단점

장점
End-to-end간의 패킷 재전송을 방지하여 생성되는 패킷 수를 줄인다.
단점
트리 토폴로지를 가진 센서네트워크에서는 각 센서 노드는 자신을 경유하는 모든 노드의 패킷을 저장해야 하므로 메모리 부족문제가 발생할 수 있다.






1. 연결설정 및 End-to-End 확인 응답

TCP의 연결설정은 짧은 데이터를 수집하는 W.S.N에서는 적합하지 않다.
TCP 프로토콜은 데이터 송수신 이전에 연결 설정과 연결 해제 과정을 거쳐야 한다.
End-to-end 확인응답과 재전송은 W.S.N에 적합하지 않다.
W.S.N의 경우 멀티 홉으로 설계되어있기 때문에 혼잡을 완화하거나 손실을 감지하는 시간이 오래 걸릴 뿐 아니라 패킷 손실이 있을 때 소스로 부터의 재전송은 많은 에너지를 소모하게 된다.

따라서 패킷 손실율이 높은 W.S.N환경에 적합하지 않다. 

 

2. Congestion Control 

W.S.N의 높은 패킷 에러율로 인해 TCP를 사용하면 패킷 손실을 Congestion으로 오인하여 송신측의 송신율을 감소시킨다.
따라서 실제 Congestion과 패킷 손실을 구분 할 수 있는 방안이 모색 되어야 하며 이를 통해 송신측의 송신율을 유지시켜야 한다.

 
3. Flow Control

TCP의 흐름제어는 윈도우 크기로 조절된다윈도우 크기는 목적지의 버퍼가 넘치는 것을 방지하는데 사용한다.
센서 노드들의 목적지인 싱크는 현재남아 있는 버퍼사이즈를 각 센서노드에게 전송한다.

 •싱크와 가까운 센서노드는 전송된 윈도우 사이즈에 맞추어 즉시 데이터를 전송할 수 잇지만 멀리 있는 센서노드는 그렇지 못하기 때문에 전송 순서를 계속 놓칠 수 있다. 


4. Header Overhead

TCP/IP 프로토콜은 작은 패킷에도 긴 오버헤드를 가진다센서네트워크의 작은 데이터 패킷을 위해 95%이상의 오버헤드가 붙는 것이다센서네트워크는 에너지 보전이 중요하기 때문에 불필요한 전송이나 과도한 패킷 헤더는 피해야 한다. 






5. Limited Nodes
센서노드는 일반적으로 메모리 사이즈와 처리 파워가 제한적이다.
센서네트워크를 위한 알고리즘은 위의 제한 사항을 고려해야만 한다. 



W.S.N(무선센서 네트워크)란 Sensor Node들과 Sink Node로 구성되며 사람들이 접근하기 어려운 장소의 환경 데이터들을 센싱하여 무선으로 전달해주는 네트워크다.

인터넷과 W.S.N의 연결방식은 크게 3가지가 있다.

첫번째로 프록시 구성방법이다.

W.S.N과 인터넷 사이에 특별한 대리 서버를 두고 네트워크를 연결하는 매우 단순하고 수월한 방식이다,

중간서버가 작동하는 두 가지 방법으로는 형식을 교체하여 보내주는 방법과 데이터를 저장하였다가 사용자의 요청에 따라 보내주는 방법이 있다.
첫 번째 방식에서 대리서버는 단순하게 센서네트워크부터 TCP/IP 네트워크상의 클라이언트까지 가는 데이터 형식을 교체한다. 
두 번째 방식으로 작동할 때,무선 센서네트워크에 연결된 센서는 평소에 주기적으로 데이터를 수집하고 수집된 정보를 대리서버의 데이터베이스에 저장해둔다.그리고 사용자는 필요할 경우에 데이터를 대리서버에게 요청하여 이용한다.

이 방식의 단점은 중간서버가 고장났을 경우 모든 통신이 중단된다는 점이다. 이를 위해서 백업 서버를 두는 해결책이 있지만 접근의 단순성을 감소시키는 문제가 있다.


두번째 방식은 DTN(Delay Tolerant Networks)이다.


DTN은 소프트웨어적으로 센서네트워크의 프로토콜과 기존망의 프로토콜을 연결해주는 계층을 만들어 다른 두 프로토콜 간에 통신이 가능하게 하는 일반적인 통신 구조를 제공한다.

Bundle 계층은 TCP/IP 프로토콜 위에서 동작하며 링크가 이용가능하지 않다면 저장소에 메시지를 저장하고 만약 필요하다면 메시지를 나눈다.

DTN의 게이트웨이에서는 각 네트워크의 환경 차이를 고려하여 전송지연시간, 데이터크기, 전송 속도 등을 조절하여 전송하는 Bundle 계층을 설계하여 사용한다.

일반적인 통신 구조를 제공하며 각 네트워크의 통신 환경에 맞는 프로토콜을 구축하여 사용 가능하다.
게이트웨이에서 전송되는 모든 데이터를 재처리해야 하기 때문에 많은 메모리용량, 전력, 높은 처리속도가 요구된다.


세번째 방식은 TCP/IP 연결이다.


이방식은 중간 노드를 사용하지 않고 센서 노드에 TCP/IP 프로토콜을 올려 인터넷 호스트와 직접 연결하는 방법이다.

게이트웨이나 서버와 같은 중간 노드의 고장으로 두 네트워크가 단절 되는 문제를 피할 수 있다.



W.S.N의 TCP방식 문제점은 다음과 같은 다섯가지가 있다.

1. 연결설정 및 End-to-End 확인 응답
2. Congestion Control 
3. Flow Control
4. Header Overhead
5. Limited Nodes

위 문제점의 자세한 내용은 다음 포스팅에 올리도록 하겠다.




'W.S.N' 카테고리의 다른 글

W.S.N의 신뢰성 전송기법(3)-ESRT  (0) 2016.02.12
W.S.N의 신뢰성 전송기법(2)-RMST  (0) 2016.02.12
W.S.N의 신뢰성 전송기법(1)-PSFQ  (0) 2016.02.12
DTC, TSS 프로토콜  (0) 2016.02.12
W.S.N의 TCP방식 문제점  (0) 2016.02.12