I. 서론
최근 WiFi/3G/4G/Wibro/LTE 스마트 모바일 환경 기반의 아이폰, 안드로이드 폰과 같은 스마트폰, 태블릿 PC, 모바일 단말, 융합서비스 통신모듈 탑재 태블릿의 급격한 수요 증가와 더불어 모바일 망을 이용해서 사용하는 멀티미디어/영상 전송, 대용량 데이터 전송, 그리고, 소셜 네트워크 서비스 앱의 사용 증가로 인해 모바일 망에서의 사용자들은 더욱 더 데이터 전송의 신뢰성 및 QoS와 보안을 요구하고 있다.
모바일 망에서는 유선망에 비해 제한된 무선 대역폭을 가지며, 같은 셀(Cell)안에 가용한 대역폭 이상의 단말들에게 서비스를 제공해야 하는 경우가 발생한다. 제한된 대역폭과, 핸드오프(Handoff) 등의 연결 오버헤드로 인해 중요한 데이터의 패킷 손실을 발생시키며, 특히 보안 패킷 손실을 복구하기 위한 해결책이 요구된다[1,2,3,4]. 이러한 패킷 손실을 복구하기 위한 대표적인 방법에는 잉여 정보를 이용한 전송 방식과 FEC(Forward Error Correction) 방식 등이 있다.
[그림 1]은 3개 잉여 전송에 의한 오류 복구 기법을 도시한 그림이다. 송신측에서는 N 번째 패킷을 전송 할 때에, 이전 전송한 3개(N-3, N-2, N-1번째)의 패킷을 N번째 패킷에 추가해서 전송하고, 수신 측에서는 누락된 패킷에 대해서 잉여 정보를 통해서 복구하게 된다. 위 기법은 FEC 기법에 비해서 복구 율은 좋지만 패킷 전송 지연 증가 및 대역폭이 오버헤드가 되는 단점이 있다[5,6].
[그림 1] 3개 잉여 정보 전송에 의한 오류 복구 기법
[그림 2]는 기존 2차원 FEC 기법을 도시한 그림이다. 기존 2차원 FEC 기법은 송신 측 패킷에 대해 M1, M2, M3, 그리고, M4 패킷을 나열해서 [그림 2]와 같이 생성 알고리즘에 의해 수평 FEC 패킷과 수직 FEC 패킷을 생성한다. 생성된 패킷은2차원 배열을 이용하여 연산을 수행하고 블록크기에 따라 규칙적으로 FEC 패킷을 생성하여 수신측에 송신한다. 이러한 FEC 정보 생성 알고리즘에는 다양하고 복잡한 알고리즘이 있겠지만, 프로토콜 개발자들에게 많이 활용되고 있다. 가장 간단한 알고리즘으로XOR(Exclusive OR) 연산 알고리즘이 있으며, 그 밖에 Reed-Solomon 연산알고리즘 등이 있다[7,8]. 또한 수신 측 패킷은 수신된 M1 ~ M4 패킷 중에 손실된 미디어 패킷을 복구하기 위해서 미디어 패킷과 수신된 FEC 패킷을 이용해서 송신 측 패킷에서 사용한 FEC 정보 생성 알고리즘을 이용해서 반복적으로 미디어 패킷을 복구한다. 이렇듯 FEC 기법은 잉여 정보 전송에 의한 오류 복구 기법에 비해서 오버헤드가 적은 장점이 있다.
[그림 2] 기존 2차원 FEC 기법
II. 기존 2차원 FEC 기법 분석
최근 들어, 유선망에서와 같이 무선망에서도 발생하는 패킷 손실을 확률적으로 모델링할 수 있는 방법을 찾고자 하고 있다. 이러한 방법 중에 정확한 확률 모델로 평가받는 것이 길버트 (Gilbert model)모델이다. 길버트 모델은 비 종속적으로 발생되는 패킷 손실과 종속적으로 발생되는 패킷 손실 모두를 어느 정도 근접시킬 수 있고, 최근 이를 활용한 실험검증과 연구 결과 등이 개발되고 있다. [그림 3] 은 네트워크의 패킷 손실을 모델화한 길버트 모델[9]을 도시한 그림이다. 길버트 모델은 2-상태 마코프 체인(2-State Markov Chain)을 이용해서 패킷의 손실 여부를 실험적으로 검증하고 설명하는 모델이다.
[그림 3]에서와 같이 패킷 손실이 발생한 상태를 1상태로 나타내고, 패킷 손실이 발생하지 않은 상태를 0상태로 나타낸다. 이때, 패킷 손실의 특성은 현재 패킷이 손실 되지 않은 상태에서 N번째 패킷이 손실된 상태로 전이될 확률을 p로 표현하며, 반대로 현재 패킷이 손실된 상태에서 N번째 패킷이 손실되지 않을 상태로 갈 확률을 q로 표현한다. 현재 패킷이 손실 되지 않은 상태에서 N번째 패킷이 손실되지 않는 상태로 갈 확률을 1-p로, 현재 패킷이 손실된 상태에서 N번째 패킷이 손실되는 상태로 갈 확률을 1-q로 표현한다.
[그림 3] 길버트 모델
N번째 패킷이 어느 상태에 있는지를 확률 변수 Xn으로 정의하면 Xn=0은 N번째 패킷이 수신자 측에 도착한 경우이고, Xn=1은 N번째 패킷이 전송 혹은 수신 과정에서 손실된 경우를 의미한다. 전이 상태 변경 확률 p와 q는 다음과 같이 나타낼 수 있다.
y=Pr[xn+ 1=1|xn=0]
q=Pr[xn+ 1=0|xn=1] (1)
연속된 패킷들이 같은 상태를 지속적으로 유지할 확률은, 상태 변이 확률 p, q에 대해서 기하 분포[1,4,10]를 보이며, 임의의 패킷이 0 상태 또는 1상태에 있을 확률은 기하학적 분포의 특성에 따라 다음과 같이 계산된다.
#(2)
#(3)
길버트 모델은 RTP/RTCP 표준과 같이 일정시간 Point-to-Point로 전송된 패킷 중에서 손실률을 손실비(Fraction Lost)로 표현한다. 이에 길버트 모델의 개념에서는 임의의 패킷이 1상태의 확률을 의미하고, 수식(4)의 계산 결과와 일치한다. 또한, 길버트 모델에서 비종속적인 전이 확률과 종속적으로 발생되는 확률도 구할 수가 있는 장점이 있다. 이를 위해 수식 (1),(2),(3)을 이용해서 기존 2차원 FEC 기법을 길버트 모델로 수식화하면 다음과 같다.
M1 패킷이 완전 손실될 확률
Pr[xn=1, xn+ 2=1, xn+ 4=1] (4)
Pr[xn+ 4=1|xn+ 2=1]×Pr[xn+ 2=1| xn=1]×Pr[xn=1] (5)
M2 패킷이 완전 손실될 확률
Pr[xn=1,xn+ 1=1,xn+ 5=1] Pr[xn+ 5=1|xn+ 1=1]×Pr[xn+ 1=1|xn=1]×Pr[xn=1] (6)
Pr[xn+ 5=1|xn+ 1=1]의 확률은 8가지 경우의 확률로 다시 분석된다.
Pr[xn+ 5=1|xn+ 4=1]×Pr[xn+ 4=1|xn+ 3=1]×Pr[xn+ 3=1|xn+ 2=1]×Pr[xn+ 2=1|xn+ 1=1]
Pr[xn+ 5=1|xn+ 4=0]×Pr[xn+ 4=0|xn+ 3=1]×Pr[xn+ 3=1|xn+ 2=1]×Pr[xn+ 2=1|xn+ 1=1]
Pr[xn+ 5=1|xn+ 4=0]×Pr[xn+ 4=0|xn+ 3=1]×Pr[xn+ 3=1|xn+ 2=1]×Pr[xn+ 2=1|xn+ 1=1]
#(7)
M3 패킷이 완전 손실될 확률
Pr[xn=1, xn+ 1=1, xn+ 4=1] Pr[xn+ 4=1|xn+ 1=1]×Pr[xn+ 1=1| xn=1]×Pr[xn=1] (8)
Pr[xn+ 4=1|xn+ 1=1]의 확률은 4가지 경우의 확률로 다시 분석된다.
Pr[xn+ 4=1|xn+ 3=1]×Pr[xn+ 3=1|xn+ 2=1]×Pr[xn+ 2=1|xn+ 1=1]
Pr[xn+ 4=1|xn+ 3=0]×Pr[xn+ 3=0|xn+ 2=1]×Pr[xn+ 2=1|xn+ 1=1]
Pr[xn+ 4=1|xn+ 3=1]×Pr[xn+ 3=1|xn+ 2=0]×Pr[xn+ 2=0|xn+ 1=1]
Pr[xn+ 4=1|xn+ 3=0]×Pr[xn+ 3=0|xn+ 2=0]×Pr[xn+ 2=0|xn+ 1=1]
((1-q) 3+p×q×(1-q)+p×q×(1-p))×(1-q)×p÷(p+q) (9)
M4 패킷이 완전 손실될 확률
Pr[xn=1,xn+ 1=1,xn+ 2=1]
Pr[xn+ 2=1|xn+ 1=1]×Pr[xn+ 1=1|xn=1]×Pr[xn=1] (10)
(1-q)2×p÷(p+q) (11)
기존 2차원 FEC의 완전 손실될 확률은 M1, M2, M3, 그리고, M4 패킷 각각의 완전 손실될 확률의 평균값으로 정의된다.
[그림 4]는 기존 2차원 FEC 기법에서의 패킷별 완전 손실 확률 그래프를 나타낸다. M1, M2, M3, M4 패킷의 완전 손실 확률 그래프를 분석하면 M4 > M3 > M2 > M1의 순서로 완전 손실 확률이 낮아지는 것을 확인 할 수 있다. 즉, 전체적으로 M1 패킷의 완전 손실 확률이 가장 크다고 할 수 있다. 우리는 M1, M2, M3패킷의 완전 손실 확률을 낮추는 방법을 연구하여 전체적으로 2차원 FEC 기법의 성능을 향상 시키는 방법을 제안하고자 한다.
[그림 4] 기존 2차원 FEC 기법에서의 패킷별 완전 손실 확률 그래프
III. 제안하는 2차원 FEC 기법
2절에서 언급한 내용과 같이, 기존 2차원 FEC기법의 문제점을 개선하기 위해서 M1, M2, M3패킷의 완전 손실 확률을 낮추기 위한 방법으로서, 확률적으로 분석한 후 완전 손실 확률을 줄이기 위한 방법으로서, FEC패킷에 복구하기 위한 미디어 패킷을 추가한 후 통합 패킷을 전송하는 방법을 제안한다.
[그림 5]는 본 논문에서 제안하는 2차원 FEC기법의 패킷 순서를 도시한 그림이다. F1 FEC 패킷에 M3 패킷 정보를, F2 FEC 패킷에 M2 패킷 정보를, 마지막으로 F4 FEC 패킷에 M1 패킷 정보를 추가해서 완전 손실 확률을 낮출 수가 있다. 이를 수식 (1),(2),(3)을 이용해서 제안된 2차원 FEC 기법을 길버트 모델로 수식 화하였다. 수식 (12)와 같다.
[그림 5] 제안하는 2차원 FEC 기법의 패킷 순서
M1 패킷이 완전 손실될 확률
Pr[xn=1,xn+ 2=1,xn+ 4=1,xn+ 7=1]
Pr[xn+ 7=1|xn+ 4=1]×Pr[xn+ 4=1|xn+ 2=1]×Pr[xn+ 2=1|xn=1]×Pr[xn=1] (12)
Pr[xn+ 7=1|xn+ 4=1]의 확률은 4가지 경우의 확률로 다시 분석된다.
Pr[xn+ 7=1|xn+ 6=1]×Pr[xn+ 6=1|xn+ 5=1]×Pr[xn+ 5=1|xn+ 4=1]
Pr[xn+ 7=1|xn+ 6=0]×Pr[xn+ 6=0|xn+ 5=1]×Pr[xn+ 5=1|xn+ 4=1]
Pr[xn+ 7=1|xn+ 6=1]×Pr[xn+ 6=1|xn+ 5=0]×Pr[xn+ 5=0|xn+ 4=1]
Pr[xn+ 7=1|xn+ 6=0]×Pr[xn+ 6=0|xn+ 5=0]×Pr[xn+ 5=0|xn+ 4=1]
#(13)
M2 패킷이 완전 손실될 확률을 수식 (14)에 나타내었다.
Pr[xn=1,xn+ 1=1,xn+ 3=1,xn+ 7=1]
Pr[xn+ 5=1|xn+ 3=1]×Pr[xn+ 3=1|xn+ 1=1]×Pr[xn+ 1=1|xn=1]×Pr[xn=1] (14)
(p×q×(1-q)2)2×(1-q)×p÷(p+q) (15)
M3 패킷이 완전 손실될 확률을 수식 (16)에 나타내었다.
Pr[xn=1,xn+ 1=1,xn+ 2=1,xn+ 5=1]
Pr[xn+ 5=1|xn+ 2=1]×Pr[xn+ 2=1|xn+ 1=1]×Pr[xn+ 1=1|xn=1]×Pr[xn=1] (16)
Pr[xn+ 5=1|xn+ 2=1]의 확률은 4가지 경우의 확률로 다시 분석된다.
Pr[xn+ 5=1|xn+ 4=1]×Pr[xn+ 4=1|xn+ 3=1]×Pr[xn+ 3=1|xn+ 2=1]
Pr[xn+ 5=1|xn+ 4=0]×Pr[xn+ 4=0|xn+ 3=1]×Pr[xn+ 3=1|xn+ 2=1]
Pr[xn+ 5=1|xn+ 4=1]×Pr[xn+ 4=1|xn+ 3=0]×Pr[xn+ 3=0|xn+ 2=1]
Pr[xn+ 5=1|xn+ 4=0]×Pr[xn+ 4=0|xn+ 3=0]×Pr[xn+ 3=0|xn+ 2=1]
#(17)
제안된 2차원 FEC의 완전 손실될 확률은 M1, M2, M3, 그리고, M4 패킷 각각의 완전 손실될 확률의 평균값으로 정의된다.
[그림 6]은 제안된 2차원 FEC 기법에서의 패킷별 완전 손실 확률 그래프를 나타낸다. [그림 3]의 기존 M1, M2, M3패킷의 완전 손실 확률 그래프와 비교해서 분석하면 제안된 2차원 FEC 기법을 적용한 M1, M2, M3패킷의 완전 손실 확률이 낮아지는 것을 확인 할 수 있다.
[그림 6] 제안된 2차원 FEC 기법에서의 패킷별 완전 손실 확률 그래프
특히 M1 패킷에 대한 완전 손실 확률이 다른 패킷의 완전 손실 확률에 비해서 더욱 낮은 것을 확인할 수 있다.
IV. 제안하는 2차원 FEC 기법의 성능 비교
제안된 2차원 FEC기법의 성능을 비교하기 위해서 기존 2차원 FEC 기법 이외에 잉여 패킷을 추가로 전송해서 오류를 복구하는 기법에 대해서 분석하고자 한다. 3개 잉여 전송에 의한 오류 복구 기법을 길버트 모델로 수식화하면 다음과 같다.
M1 패킷이 완전 손실될 확률
Pr[xn=1,xn+ 1=1,xn+ 2=1,xn+ 3=1]
Pr[xn+ 3=1|xn+ 2=1]×Pr[xn+ 2=1|xn+ 1=1]×Pr[xn+ 1=1|xn=1]×Pr[xn=1] (18)
(1-q)3×p÷(p+q) (19)
[표 1]은 본 논문에서 제안한 2D FEC 기법(Improved 2D FEC)을 포함한 오류 정정을 하지 않은 전송 방법으로 [표 1]에 NO FEC로 나타내었으며, 기존 2D FEC 기법, 그리고, 3개 잉여 데이터 전송에 의한 오류 정정 기법의 완전 손실 확률을 계산해서 비교하였다. 본 논문에서 제안한 2D FEC 기법은 패킷이 손실된 상태로 오류 정정을 하지 않은 전송 방법과 기존 2D FEC 기법에서 패킷이 손실되어 전 이되는 방법과 3개 잉여 데이터 전송에 의한 오류 정정 기법에 비해서 전체적으로 전송패킷이 완전히 손실될 확률이 줄어들었으며, 특히, 기존 2D FEC 기법의 완전 손실률에 비해서 32% 정도 손실률을 줄이는 결과가 도출되었다. 또한, 3개의 잉여 데이터 전송에 의한 오류 정정 기법에 비해서 완전 손실률은 0.1%로 서 거의 동일 하였지만 대역폭 오버헤드가 1/2로 감소한 상태이므로 완전 손실률은 감소한 결과를 도출되었다.
[표 1] 제안한 2차원 FEC의 성능 비교
V. 결론
본 논문에서는 기존 2차원 FEC기법의 문제점을 분석해서 개선된 2차원 FEC기법을 길버트 모델을 이용하여 수학적으로 모델링하고, 오류 정정을 하지 않은 전송 방법, 기존 2D FEC 기법, 그리고, 3개 잉여 데이터 전송에 의한 오류 정정 기법의 완전 손실률을 수학적으로 계산해서 완전 손실률을 비교 분석한 결과, 기존의 오류 정정 기법 보다 성능이 향상되는 것을 확인하였다. 앞으로 본 논문에서 제안한 2차원 FEC기법을 실제로 시스템에 구현해서 성능을 확인한다면, 제안한 2차원 FEC 모델링을 검증하여 향상된 결과를 확인할 예정이다.
참고문헌
- Kevin Brown and Suresh Singh, "Quality of Service Guaranteesin Mobile Computing," J. Computer Communication, vol. 19, pp.359-371, 1996. https://doi.org/10.1016/0140-3664(96)01072-9
- Kevin Brown and Suresh Singh, "M-UDP: UDP for mobile cellular networks," ACM SIGCOMM Computer Commun. Review, vol. 26, no. 5, pp. 60-78, Oct. 1996.
- Kevin Brown and Suresh Singh, "Extensions to RTP to Support Mobile Networking," 3rd Int'l. Workshop on Mobile Multimedia Communication, Sept. 25-27, 1996.
- Kwangroh Park, Yeunjoo Oh, Kyungshik Lim, and Kyoung-Rok Cho, "A Dynamic Packet Recovery Mechanism for Realtime Service in Mobile Computing Environments," ETRI Journal, Vol. 25, Num. 5, Oct. 2003.
- V. Hardman, A. Sasse, M. Handley, A. Handley, and A. Watson,"Reliable Audio for Use over the Internet," Proc. INET'95, Honolulu, HI, pp. 171-178, June 1995,
- C. Perkins et al., "RTP Payload for Redundant Audio Data," IETF RFC2198, Sept. 1997.
- Li, A., "RTP Payload Format for Generic Forward Error Correction," IETF RFC 5109, Dec. 2007.
- Lacan, J., Roca, V., Peltotalo, J., and S. Peltotalo, "Reed-Solomon Forward Error Correction (FEC) Schemes," IETF RFC 5510, Apr. 2009.