Recently, wireless sensor networks adopt more sophisticated functionalities such as code distribution, which needs reliable data transport as mandatory. A few reliable data transport protocols proposed hop-by-hop error recovery for wireless sensor networks. One of them uses end-to-end session information for hop-by-hop error recovery. It enforces in-sequence delivery in intermediate nodes to avoid unnecessary NACKs and hence results in high buffer requirement and slow operation. If there are route changes during a session, it does not work well since newly joining intermediate nodes at first do not have end-to-end session information. In this thesis, we propose a hop-by-hop error recovery scheme for sink-to-sensors multicast called HRS, which uses a hop-by-hop sequence number instead of an end-to-end session sequence number. We show that HRS performs robustly in spite of route changes and outperforms the previous work in most metrics by ns-2 based simulations.
센서노드들간의 통신 기능과 센서의 처리 기능 향상으로 최근 센서네트워크에서는 기존의 환경에 대한 정보를 수집하는 단순한 기능이 아닌 센서 리프로그래밍 등의 데이터의 신뢰성 있는 전달을 요구하는 좀더 복잡한 기능이 가능해졌다. 몇몇의 이전 연구에서 센서네트워크의 높은 손실율을 극복하기 위한 홉간 손실 복구기법이 제안되었는데 이 연구들은 end 세션의 정보를 홉간 손실 복구에 사용한다. 이러한 방식의 몇 가지 문제점을 가지고 있다. 첫째, 실제 홉에서의 패킷 전달 순서와 패킷 순서번호간의 차이 때문에 불필요한 NACK 이벤트가 생길 수 있다. 이런 것을 해결하기 위해서 기존 연구인 PSFQ 에서는 중간노드에서 패킷의 순서를 정렬해서 보낸다. 하지만 이렇게 하면 세션이 느려지고 중간 노드들이 더 많은 패킷을 버퍼링 해야 하게 된다. 둘째, 세션 중간에 라우트에 변화가 있을 때 새로 가입하는 노드는 세션에 대한 정보가 없기 때문에 잘 동작하지 못한다. 이것은 이전 연구에서는 모든 노드들이 수신자라고 가정하고 있기 때문이다. 하지만 센서네트워크는 여러 종류의 다른 센서노드들로 이루어 질 수 있다. 이 경우, 모든 노드에게 코드를 브로드캐스팅하는 것 봐 해당 노드에게만 멀티캐스팅하는 것이 더 효율적이다. 그러면 멀티캐스트 라우트를 구성하는 모든 노드들이 수신자인 것은 아니게 된다.
본 논문에서는 각 홉에서의 실제 패킷 전달 순서를 나타내는 홉간 순서번호를 사용하는 홉간 손실 복구 기법을 제안한다. 손실 복구에 사용되는 순서번호는 실제 홉에서의 패킷 순서를 나타내기 때문에 중간 노드들는 순서에 맞게 정렬해서 보내야 할 필요가 없어진다. 'first packet bit'는 라우트가 변하였을 때 새로 가입하는 노드들에게 시작 순서 번호를 알려줘서 처음부터 패킷을 복구할 필요가 없도록 한다.
HRS 는 ns-2 를 기반으로 하는 시뮬레이션을 통해 기존의 기법과 비교되며 그 결과 기존의 end 세션 정보를 이용하는 홉간 손실 복구 기법에 비해 높은 성능을 제공하며 세션 중간에 라우트가 변하여도 잘 동작함을 보였다.