아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
전술한 바와 같이 본 발명에서는 ASN과 CSN 사이에 일정한 관계가 유지되어야 하며, 이를 위해서 다음의 두 가지 사항이 담보되어야 한다.
첫째, ciphering/deciphering은 상위 계층 패킷(예를 들어, IP 패킷) 단위로 진행된다. 그러므로 CSN은 상위 계층 패킷마다 1씩 증가한다.
둘째, ARQ/Framing 개체는 상위 계층 패킷마다 ASN을 부여한다. 즉 상위 계층 패킷마다 ASN이 1씩 증가한다. 그러므로 동일한 패킷에 대해서는 하나의 CSN과 하나의 ASN이 부여된다.
상기 사항이 성립되고, CSN과 ASN 사이의 차이 값을 송수신측이 미리 인지한다면, 수신측은 수신한 ASN을 통해서 CSN을 계산할 수 있으므로 무선 채널을 통해서는 ASN만 전송할 수 있다.
다시 말해서 도 5에서 보는 바와 같이, 무선 채널 상으로는 ASN(538, 550)과 비화된 패킷(539, 555)만을 전송하고, 수신측에서는 수신한 ASN(565)을 바탕으로 CSN(583)을 계산한 뒤 이것을 ciphering entity(575)로 전달한다.
ciphering entity(575)는 상기 CSN(583)와 ciphering key(580)를 이용해서 비화된 패킷(570)을 원래의 패킷(585)으로 해독한 후 상위 계층으로 전달한다.
도 6에 본 발명의 실시예에 따른 순방향 동작을 도시하였다.
Ciphering entity(605, 645)는 UE와 anchor node에 위치하고 있으며, ARQ/Framing 개체(610, 627)는 UE와 node B에 위치한다.
anchor node는 ciphering entity(645)에서 패킷을 ciphering 한 뒤, 상기 패킷에 CSN(640)을 첨부해서 Node B로 전송한다. anchor node와 node B 사이는 소정의 전송 베어러(630, 635)로 연결된다. 예를 들어 IP/UDP(Internet Protocol/User Datagram Protocol)를 이용한 터널링 프로토콜이나, GTP(GPRS Tunneling Protocol) 등이 전송 베어러로 사용될 수 있다. 상기 터널링 프로토콜에 일련번호가 사용될 경우, 상기 일련번호 필드에 CSN을 삽입함으로써, anchor node와 Node B 사이의 전송 오버헤드를 줄일 수도 있다.
anchor node가 CSN(640)과 비화된 패킷을 Node B로 전송하면, Node B의 ARQ/framing(627) 개체는 상기 CSN과 ASN 사이의 차이 값(delta)(625)을 산출한다. 전술한 바와 같이 CSN과 ASN은 패킷 당 하나가 부가되므로, anchor node와 Node B사이에서 패킷이 유실되지 않는 한, 상기 CSN과 ASN 사이의 차이 값(delta)은 항상 일정하다.
Node B의 ARQ/framing 개체(627)는 상기 delta(625) 값을 UE의 ARQ/framing 개체(610)에게 전달한다. 그리고 anchor node로부터 수신한 패킷에서 CSN을 제거한 뒤, 상기 패킷에 ASN을 부착하여 UE의 ARQ/framing(610)으로 전송한다.
UE의 ARQ/framing(610)은 delta(625) 값을 수신하면 상기 값을 기억해 두었다가, 상기 값을 이용하여 차후에 수신하는 패킷의 ASN으로부터 CSN(620)을 산출해서 상기 산출된 CSN(615)을 Ciphering entity(605)로 전달한다.
UE의 ciphering entity(605)는 CSN(615)과 미리 가지고 있던 ciphering key를 이용해서 패킷을 해독한다.
도 7에 본 발명의 실시예에 따른 전체 동작을 보다 자세히 도시하였다.
먼저, 720 단계에서 UE(705), Node B(ENB)(710), anchor node(715) 사이에 베어러가 설정된다. 이는 특정한 패킷 플로우를 서비스하기 위해 UE(705)에 Ciphering entity, ARQ/Framing 개체, HARQ 개체 등이 설정되고, ENB(710)에 ARQ/Framing 개체, HARQ 개체 등이 설정되고, anchor node(715)에 ciphering entity가 설정되고, ENB(710)와 anchor node(715) 사이에 전송 베어러가 설정되는 것을 의미한다.
이하에서 설명하는 725 ~ 760 단계는 순방향 동작이며, 770 ~ 795 단계는 역방향 동작이다. 순방향 동작과 역방향 동작에는 시간적인 전후 관계가 일정하지 않고 서로 독립적이므로, 순방향 동작과 역방향 동작은 동시에 진행되거나, 역방향 동작이 순방향 동작보다 먼저 진행될 수도 있다.
먼저, 순방향 동작에 대하여 설명한다.
725 단계에서 외부망으로부터 anchor node(715)에 첫 번째 패킷이 도착하면, anchor node(715)는 상기 패킷에 적절한 COUNTER 값을 적용하고 ciphering을 수행한다. 그리고 비화된 패킷에 CSN을 부착해서 ENB(710)로 전송한다.
다음, ENB(710)는 상기 수신한 패킷을 ARQ/Framing 엔터티에 입력한다. 송신측 ARQ/Framing 엔터티는 상기 패킷에 대해서 ASN을 부여한다. 그리고 730 단계에서 상기 ASN과 CSN 과의 차이 값(delta)을 계산한다. 상기 차이 값은 후속 ARQ 패킷의 ASN 결정에 지속적으로 이용된다. 즉, ARQ/Framing 엔터티는 후속 패킷에 대한 ASN을 결정할 때, 패킷의 CSN에 상기 delta를 합산한 값을 해당 패킷의 ASN으로 사용한다.
735 단계에서, 송신측 ARQ/Framing 엔터티는 상기 계산한 delta를 수신측 ARQ/Framing 엔터티에게 통보한다. 상기 과정이 완료되면, 740 단계와 755 단계에서 송신측 ARQ/Framing 엔터티는 ASN이 부착된 ARQ 패킷들을 소정의 방법을 이용해 서 UE(705)에게 전송한다.
수신측 ARQ/Framing 엔터티는 750 단계와 760 단계에서 상기 수신한 ARQ 패킷의 ASN에서 delta를 차감함으로써 수신한 ARQ 패킷의 CSN을 산출하고, 패킷과 상기 산출된 CSN을 ciphering entity로 전달한다. ciphering entity는 상기 CSN과 소정의 ciphering key를 이용해서 패킷을 해독한다.
수신측 ARQ/Framing 엔터티는 ARQ 패킷을 수신할 때마다 상기 과정을 반복한다.
다음, 역방향 동작에 대해서 설명한다.
765 단계에서, UE(705)의 상위 계층에서 첫 번째 패킷이 발생하면, UE(705)의 ciphering entity는 상기 패킷에 적절한 COUNTER 값을 적용하고 ciphering을 수행한다. 그리고 비화된 패킷과 CSN을 ARQ/framing 엔터티로 전달한다.
ARQ/Framing 엔터티는 상기 패킷에 대해서 ASN을 부여한다. 그리고 770 단계에서 상기 ASN과 CSN의 차이 값(delta)을 계산한다. 상기 차이 값은 후속 ARQ 패킷의 ASN 결정에 지속적으로 이용된다. 즉 ARQ/Framing 엔터티는 ciphering entity로부터 수신한 패킷의 CSN에 delta를 합산해서 상기 패킷의 ASN을 결정한다.
ARQ/Framing 엔터티는 775 단계에서 상기 계산한 delta를 수신측ARQ/Framing 엔터티에게 통보한다. 상기 과정이 완료되면, 780 단계와 792 단계에서 송신측 ARQ/Framing 엔터티는 ASN이 부착된 ARQ 패킷들을 소정의 방법을 이용해서 ENB(705)에게 전송한다.
수신측 ARQ/Framing 엔터티는 790 단계와 795 단계에서 상기 수신한 ARQ 패 킷의 ASN에서 delta를 차감함으로써 상기 수신한 ARQ 패킷의 CSN을 산출하고, 785 단계와 793 단계에서 패킷과 상기 산출된 CSN을 anchor node(715)의 ciphering entity로 전달한다. Anchor node(715)의 ciphering entity는 상기 CSN과 소정의 ciphering key를 이용해서 패킷을 해독한다.
수신측 ARQ/Framing 엔터티는 ARQ 패킷을 수신할 때마다 상기 과정을 반복한다.
도 8, 도 9 및 도 10에 본 발명의 실시예에 따른 송신측 ARQ/Framing entity의 동작을 나타낸 것이다.
본 발명의 실시예에 따르면, 전술한 바와 같이 CSN과 ASN 사이의 관계가 항상 일정하다는 것에 착안하여, 송신측 ARQ/Framing entity가 ciphering entity로부터 수신한 패킷의 CSN을 토대로 ASN값을 산출하고, 수신측 ARQ/Framing entity는 수신한 ASN값을 토대로 CSN을 역산한다.
가장 간단한 ASN과 CSN의 관계는, 예를 들어 ASN과 CSN이 항상 동일한 경우를 들 수 있으며, 이 때 송신측 ARQ/Framing entity의 동작을 도 8에 도시하였다.
ASN과 CSN이 동일하지 않을 가능성을 허용하고자 한다면, 도 7에서 설명한 바와 같이 ASN과 CSN 사이의 관계를 수신측 ARQ/Framing entity에 미리 알려야 한다. 이 때 송신측 ARQ/Framing entity의 동작을 도 9에 도시하였다.
또한 ASN과 CSN이 동일하지 않을 가능성을 허용하지만, ASN과 CSN이 서로 다를 경우에만 차이 값(delta)을 시그널링 하도록 한다면, 대개의 경우 delta를 시그널링 하지 않아도 동작이 가능하다. 이 때 송신측 ARQ/Framing entity의 동작을 도 10에 도시하였다.
또한 상기 세 가지 경우 모두에 대한 수신측 ARQ/Framing entity의 동작을 도 11에 도시하였다.
그러면 먼저 ASN과 CSN이 항상 동일하도록 시스템이 설정되는 본 발명의 제1 실시예에 따른 송신측 ARQ/Framing 동작에 대해서 도 8을 참조하여 설명한다.
일반적으로 ASN과 CSN은 최초 값이 0으로 설정되고, 패킷 마다 1씩 증가하므로, Ciphering entity와 송신측 ARQ/Framing entity 사이에서 패킷이 유실되지 않는 이상 ASN과 CSN은 항상 동일한 값을 가진다.
805 단계에서 ARQ/Framing entity가 ciphering entity로부터 패킷을 수신하면, ARQ/Framing entity는 810 단계에서 상기 패킷의 ASN을 CSN과 동일한 값으로 설정하고 ARQ 패킷을 구성한 뒤 815 단계로 진행한다.
815 단계에서 ARQ/Framing entity는 수신한 패킷의 CSN을 검사해서 ciphering entity와 ARQ/Framing entity 사이에 패킷 유실이 있었는지 판단한다. 예를 들어, 아래와 같은 상황이 발생하면 ARQ/Framing entity는 패킷 유실이 있었던 것으로 판단할 수 있다.
x번째 수신한 패킷의 CSN을 CSN(x), (x+1)번째 수신한 패킷의 CSN을 CSN(x+1)이라고 할 때, CSN(x+1)- CSN(x) >1이라면 하나 이상의 패킷이 유실되었을 가능성이 있음을 의미한다. 그런데 상기 유실 가능성이 있는 패킷이 차후에 수신될 가능성을 배제할 수 없으므로, 송신측 ARQ/Framing entity는 미리 정해진 시간 동안 상기 패킷이 도착하지 않은 경우에만 상기 패킷들이 유실된 것으로 간주한다.
815 단계에서 송신측 ARQ/Framing entity는 패킷이 유실된 것으로 판단되면 820 단계로 진행하고, 패킷이 유실되지 않았다면 825 단계로 진행하여 810 단계에서 구성한 ARQ 패킷을 전송한다.
다음, 820 단계에서 ARQ/Framing entity는 상기 유실된 패킷들이 전송되지 않을 것이라는 것을 수신측 ARQ/Framing entity에게 통보한다. 예를 들어 설명하면, 만약 임의의 시점에 CSN이 y인 패킷이 ciphering entity에서 송신측 ARQ/Framing entity로 전송되는 중에 유실된다면 이는 송신측 ARQ/Framing entity에 CSN이 (y-1)인 패킷과 CSN이 (y+1)인 패킷은 수신되었지만, CSN이 y인 패킷은 수신되지 않은 것을 의미한다. 이 때 송신측 ARQ/Framing entity는 CSN이 (y-1)인 패킷은 ASN을 (y-1)로 설정해서 전송하고, CSN이 (y+1)인 패킷은 ASN을 (y+1)로 설정해서 전송하므로, 수신측 ARQ/Framing entity는 ASN이 y인 패킷이 수신될 것을 기대하고 상기 패킷에 대한 재전송 요청을 전송할 것이다. 그렇지만 송신측 ARQ/Framing entity는 ASN이 y인 패킷을 애초에 수신하지 못하였기 때문에 재전송 요청에 대해서 반응할 수 없다. 이러한 상황을 해결하기 위해서 송신측 ARQ/Framing entity는 패킷 유실이 감지되면, 유실된 패킷에 할당되었을 ASN을 가지는 패킷은 전송되지 않을 것이라는 사실을 수신측 ARQ/Framing entity에게 통보한다. 이하, 설명의 편의를 위해서 상기 정보를 'Packet Loss Indication'이라고 명명한다. 상기 packet loss indication에 대해서는 차후에 도 12에서 자세히 설명한다.
825 단계에서 송신측 ARQ/Framing entity는 810 단계에서 구성한 ARQ 패킷을 전송하고, 805 단계로 회귀해서 다음 패킷이 수신될 때까지 대기한다.
다음, 도 9를 참조하여 CSN과 ASN을 서로 다른 값을 사용하는 본 발명의 제2 실시예에 대하여 설명한다.
Ciphering entity와 ARQ/Framing entity는 서로 다른 장치이므로, 일련번호를 설정하는 방식도 서로 독립적인 것이 바람직하다. 이 경우에는 전술한 바와 같이 송신측 ARQ/Framing entity가 delta 값을 사용해서 ASN과 CSN 사이의 관계를 수신측 ARQ/Framing entity에게 알리는 방법을 생각할 수 있다.
905 단계에서 송신측 ARQ/Framing entity에 베어러가 설정된 뒤 첫 번째 패킷이 도착하면 본 발명의 제2 실시예가 적용된다. 910 단계에서 송신측 ARQ/Framing entity는 상기 패킷에 적용할 ASN을 설정한다. 일반적으로 ASN은 0에서 시작되지만, 경우에 따라 ARQ/Framing entity가 원하는 어떠한 값으로부터 시작할 수 있다.
915 단계에서, 송신측 ARQ/Framing entity는 910 단계에서 설정한 ASN에서 수신한 패킷의 CSN을 뺀 값을 delta로 설정한다.
920 단계에서 송신측 ARQ/Framing entity는 상기 delta 값을 수신측 ARQ/Framing entity에게 통보한다. 상기 delta 값은 신뢰성 있게 전송되어야 하므로 몇 번에 걸쳐 재전송될 수 있다.
delta 값이 수신측에 제대로 전송되었다는 확신이 생기면, 925 단계에서 송신측 ARQ/Framing entity는 ARQ 패킷 전송을 시작한다. 물론 delta 값 전송과 ARQ 패킷 전송이 동시에 진행될 수도 있으며, delta 값이 ARQ 패킷에 일시적으로 피기 백 되어서 전송될 수도 있다.
935 단계에서 송신측 ARQ/Framing entity는 이후에 도착하는 패킷에 대해서, 상기 패킷의 CSN과 delta를 이용해서 ASN을 산출하고, 940 단계에서 상기 ASN을 부여한 패킷을 전송하는 동작을 반복한다.
통신이 진행되는 중에 임의의 이유로 인해서 CSN이 새롭게 설정되면, 송신측 ARQ/Framing entity는 905 단계부터 다시 시작한다.
한편, 905 단계에서 송신측 ARQ/Framing entity는 수신한 임의의 패킷이 첫 번째 패킷이라는 사실을 인지할 수 있어야 한다. 그런데 ciphering entity와 ARQ/Framing entity 사이에서 순서 뒤바뀜 현상이 발생하면 송신측 ARQ/Framing entity의 동작이 모호해지는 문제가 발생할 수 있다. 그러므로 Ciphering entity는 ARQ/Framing entity로 패킷을 전송하면서 첫 번째 패킷에 명시적인 지시자를 삽입함으로써, 송신측 ARQ/Framing entity가 상기 지시자가 삽입된 패킷을 수신하면 delta값을 설정하도록 지시할 수 있다. 이하, 설명의 편의를 위해서 상기 첫 번째 패킷을 지시하는 지시자를 'First CSN indication'이라고 명명한다.
Ciphering entity는 CSN이 초기화 된 뒤 전송하는 첫 번째 패킷에 상기 'First CSN indication'을 삽입해서 전송한다. 상기 'First CSN indication'은 transport bearer의 헤더 정보나 별도의 제어 정보로 전송될 수도 있다.
다음, 본 발명의 제3 실시예로서 delta가 0인 경우에 delta를 시그널링 하지 않고 delta가 0이 아닌 경우에만 delta를 시그널링 하는 방법에 대하여 도 10을 참조하여 설명한다.
1005 단계에서 송신측 ARQ/Framing entity는 Ciphering entity로부터 'First CSN indication'이 삽입된 패킷을 수신하면, 상기 패킷에 적용할 ASN을 결정한다. 송신측 ARQ/Framing entity는 패킷에 적용할 ASN 값을 관리하고 있으며, 상기 값은 예를 들어 최초에 0으로 초기화 된 뒤, 패킷이 전송될 때마다 1씩 증가할 수 있다. ARQ/Framing entity는 상기 ASN과 First CSN indication이 삽입된 패킷의 CSN을 검사해서 두 값이 동일하다면 1025 단계로 진행해서 ARQ 패킷을 전송하고, 두 값이 동일하지 않다면 1015 단계로 진행한다.
1015 단계에서 송신측 ARQ/Framing entity는 ASN에서 CSN을 차감해서 delta를 산출하고, 1020 단계에서 상기 산출된 delta를 수신측 ARQ/Framing entity로 전송하며, 1025 단계에서 ARQ 패킷을 전송한다. 상기 ARQ 패킷에 적용할 ASN 값은 CSN에 delta를 합산한 값이며, 1010 단계에서 ASN이 CSN과 동일했다면 delta가 0인 것으로 간주한다.
도 11은 본 발명의 실시예에 따른 수신측 ARQ/Framing entity의 동작을 도시한 것이다.
1105 단계에서 송신측 ARQ/Framing entity로부터 ARQ 패킷을 수신하면, 1110 단계에서 'delta'가 시그널링 되었는지 검사한다. 시그널링 되었으면 1115단계로 진행하고, 시그널링 되지 않았으면 1120 단계로 진행한다.
1115 단계에서 수신측 ARQ/Framing entity는 상기 수신한 ARQ 패킷의 ASN에서 가장 최근에 시그널링 된 delta를 차감해서 CSN을 산출한 후, 1125 단계에서 상기 산출된 CSN과 패킷을 ciphering entity로 전달한다.
1120 단계에서 수신측 ARQ/Framing entity는 상기 수신한 ARQ 패킷의 ASN이 CSN이므로, 상기 ASN 값을 CSN으로 설정해서 패킷을 ciphering entity로 전달한다.
전술한 바와 같이 본 발명의 실시예에서는 새로운 delta를 산출하는 과정을 거치지 않는 이상 ASN과 CSN 사이의 관계를 일정하게 유지해야 하며, 이는 특정 ASN을 가지는 ARQ 패킷이 생성되지 않을 수도 있음을 의미한다. 이러한 경우에 대처하기 위해서 본 발명의 실시예에서는 'Packet Loss Indication'이라는 새로운 제어 신호를 도입한다.
도 12는 상기 'Packet Loss Indication'을 설명하기 위한 도면이다.
송신측(1205) ARQ/Framing entity가 ASN이(x-10)인 ARQ 패킷(1215)에서 ASN이 (x+9)인 ARQ 패킷(1220)을 전송한다. 그러므로 송신측 ARQ/Framing entity가 ciphering entity로부터 수신한 패킷의 CSN은 (x-10-delta) ~ (x+9-delta)이다.
송신측(1205) ARQ/Framing entity는 상기 패킷들 중, CSN이 (x+6-delta)인 패킷(1225)을 수신하지 못하였다. 또한 ASN이 (x-10)인 패킷(1215)과 ASN이 (x-1)인 패킷(1230)은 수신측(1210)으로 전송하는 도중에 유실되었다.
그러므로 수신측(1210) ARQ/Framing entity는 상기 패킷들(1215, 1225, 1230)을 수신하지 못하며, 따라서 송신측(1205)으로 상기 패킷들에 대한 재전송을 요청할 것이다. 그런데 송신측(1205)은 애초에 수신하지 못한 패킷인 ASN이 (x+6)인 패킷(1225)은 재전송할 수 없으므로, 수신측(1210) ARQ/Framing entity는 상기 패킷에 대한 재전송을 지속적으로 요청할 것이다. 이처럼 재전송 요청에 의한 전송 자원의 낭비를 방지하기 위해서, 송신측(1205)은 특정 패킷을 수신하지 못하였으면 해당 패킷에 할당되었을 ASN을 수신측(1210) ARQ/Framing entity에게 통보한다.
즉, 도 12에서는 송신측(1205) ARQ/Framing entity가 ASN (x+6)에 대한 packet loss indication을 수신측(1210)으로 전송한다.
packet loss indication(1255)은 ARQ 패킷(1240)에 포함되어 전송될 수 있다. 예를 들어 임의의 control 정보가 포함되어 있다는 indication을 ARQ 헤더에 삽입하고(1245), 상기 ARQ 패킷의 뒷부분에 packet loss indication(1255)을 삽입한다.
packet loss indication(1225)은 일반적인 TV(Type Value) 코딩에 따라 control info type(1260)과 수신하지 못한 패킷의 ASN(1265)으로 구성될 수 있다.
도 13은 packet loss indication(1255)을 수신한 수신측 ARQ/Framing entity의 동작을 도시한 것이다.
1305 단계에서 수신측 ARQ/Framing entity가 송신측으로부터 packet loss indication을 수신하면, 1310 단계에서 packet loss indication의 ASN에 해당하는 패킷을 아직 수신하지 못하였더라도 수신한 것으로 간주한다. 도 12를 예로 들면 수신측 ARQ/Framing entity는 ASN이 (x+6)인 패킷(1225)을 실제로는 수신하지 못했지만 수신한 것으로 간주하여 해당 패킷에 대한 재전송은 요청하지 않는다. 만약 상기 ARQ/Framing entity에 순서 맞춤 전달(in-sequence delivery)이 구성되어 있다면, ASN이 (x+6)인 패킷(1225)보다 낮은 일련번호를 가지는 패킷 중에 아직 수신하지 못한 패킷이 있으므로, 상기 미수신 패킷들이 수신될 때까지 패킷들을 상위 계층으로 전달하지 않을 것이다. 반면에 상기 ARQ/Framing entity에 순서 무시 전달(out-of sequence delivery)이 구성되어 있다면, ASN이 (x+6)인 패킷(1225)이 수신된 것으로 간주되므로, ASN이 x인 패킷에서 ASN이 (x+9)인 패킷들이 상위 계층으로 전달될 것이다.
도 14에 본 발명의 실시예에 따른 송신기 구조를 도시하였다.
Ciphering entity(1405)는 상위 계층과 연결되어서, 상위 계층에서 발생한 패킷을 ciphering 한다. 이 때 COUNTER 값을 이용해서 replay attack을 방지한다.
CSN attach(1410)는 수신측 ciphering entity에게 COUNTER 값을 알려 주기 위해서 ciphering 된 패킷에 CSN을 삽입하는 장치이다. 전술한 바와 같이 CSN은 COUNTER와 동일한 값이거나 COUNTER의 일부분일 수 있다.
CSN attach(1410)에서 출력된 패킷은 ARQ header attach(1415)로, 패킷의 CSN은 ASN calculation(1420)으로 입력된다. ASN calculation(1420)은 CSN을 이용해서 ASN을 산출하는 동작을 한다.ARQ header attach(1415)는 CSN attach(1410)으로부터 수신한 패킷에서 CSN을 제거하고, ASN calculation(1420)으로부터 계산된 ASN을 포함하는 ARQ 헤더를 삽입하는 동작을 한다.
전송 버퍼(Tx buffer)(1425)는 ARQ 패킷이 무선 채널을 통해 전송될 때까지 저장한다.
하나의 ARQ 패킷은 통상적으로 하나의 IP 패킷이며, 1500 바이트에 이르는 IP 패킷을 한번에 전송하지 못할 경우가 많다. 그러므로 ARQ 패킷을 무선 채널을 통해 전송하기에 적합한 크기로 분할해야 할 수도 있다. 이 경우, segmentation index attach(1430)는 상기 분할한 패킷에 인덱스를 붙여서 수신측이 원래의 ARQ 패킷을 복원할 수 있도록 한다.
재전송 버퍼(Retransmission Buffer)(1435)는 패킷의 재전송을 위해 긍정적 인지 신호(ACK)가 도착하지 않은 패킷들을 저장해 두는 장치이다.
HARQ/Transmission(1440)은 ARQ 패킷을 HARQ 기법으로 실제 무선 채널로 전송하는 장치이다.
도 15는 본 발명의 실시예에 따른 수신기 구조를 도시한 것이다.
HARQ/Reception(1540)은 무선 채널을 통해 ARQ 패킷을 수신하는 장치이다.
수신 버퍼(Rx buffer)(1530)는 HARQ/Reception(1540)이 전달한 ARQ 패킷을 저장하는 장치이다.
조립 장치(Reassembly)(1525)는 분할된 ARQ 패킷을 원래의 ARQ 패킷으로 조립하는 장치이다.
ARQ header detach(1515)는 ARQ 패킷의 헤더를 제거한 뒤 CSN calculation(1520)으로 전달하는 장치이다.
CSN calculation(1520)은 ARQ 패킷의 ASN으로부터 CSN을 산출해서 Ciphering Entity(1505)로 전달하는 장치이다.
Ciphering entity(1505)는 Ciphering Entity(1505)에서 계산된 CSN으로부터 COUNTER를 역산한 뒤, 상기 값을 이용해서 ARQ 헤더가 제거된 패킷을 deciphering한다.
한편, 현재 LTE에서는, ARQ 동작은 RLC라는 프로토콜 계층 장치에서, 비화/ 역비화는 PDCP(Packet Data Convergence Protocol)라는 프로토콜 계층 장치에서 각각 수행하도록 정의되어 있으며, 상기 프로토콜 엔터티에서 처리하는 패킷을 각각 RLC PDU와 PDCP PDU라고 명명한다.
도 16에 RLC PDU와 PDCP PDU의 포맷을 도시하였다.
도 16을 참조하면, PDCP 장치는 IP 패킷과 같은 상위 계층 패킷을 소정의 방식으로 비화한 후, 상기 비화된 상위 계층 패킷(1615)에 PDCP SN(1610)과 같은 헤더를 삽입하여 PDCP PDU(1605)를 구성해서 RLC 장치로 전달한다. 이 때 PDCP SN 필드에는 비화에 사용된 CSN이 삽입된다.
RLC 장치는 PDCP PDU를 적절한 크기로 재구성해서 무선 채널을 통해 전송한다. 그러므로 RLC PDU에는 PDCP PDU의 일부가 수납될 수도 있고 전체 PDCP PDU가 수납될 수도 있다. 하나의 RLC PDU에는 ARQ 동작을 위해 하나의 RLC SN이 부여된다.
전술한 바와 같이 본 발명에서는 ASN을 CSN과 동일하게 설정하거나 CSN과 일정한 차이를 가지도록 설정함으로써, 무선 채널을 통해서는 ASN만을 전송하도록 한다. 즉 RLC SN과 PDCP SN을 동일하게 설정하거나 일정한 차이를 가지도록 설정하는 것이다. 그런데 하나의 PDCP PDU(1635)가 여러 개의 RLC PDU(1640, 1645)에 분할되어서 수납되는 경우에는, 동일한 PDCP PDU를 수납한 RLC PDU들이 동일한 RLC SN(1650, 1660)을 가져야 하기 때문에, 별도의 부일련 번호(1655, 1665)를 이용해서 RLC PDU들을 식별하도록 한다. 결과적으로 PDCP SN은 전송하지 않는 대신, RLC SN을 중복 전송함으로써, PDCP SN과 RLC SN을 공유함으로써 얻을 수 있는 이득이 크게 줄어들거나 오히려 효율이 떨어질 수 있다.
이와 같이 RLC SN과 PDCP SN을 공유하는 방법은 PDCP PDU과 RLC PDU 사이에 일대일 관계가 유지되는 경우에 소기의 이득을 얻을 수 있으며, 하나의 PDCP PDU가 여러 개의 RLC PDU에 분할 수납되는 경우에는 오히려 사용하지 않는 것이 바람직하다.
그런데 RLC PDU의 크기는 채널 상황에 따라 가변적이기 때문에, PDCP PDU의 크기가 크면 분할 전송될 가능성이 그만큼 증가하고, PDCP PDU의 크기가 작으면 분할 전송될 가능성이 줄어든다. 그리고 서비스의 종류에 따라 발생하는 패킷의 크기는 예측 가능한 경우가 많다.
예를 들어 VoIP와 같은 서비스에서는 30 바이트 정도의 소형 패킷이 주로 발생하므로 하나의 PDCP PDU가 하나의 RLC PDU에 수납되어서 전송될 가능성이 큰 반면, FTP(File Transfer Protocol)와 같은 서비스에서는 수백 바이트 정도의 패킷이 발생하므로 채널 상황이 나쁘면 하나의 PDCP PDU가 여러 개의 RLC PDU들에 분할 수납되어서 전송될 가능성이 크다.
그러므로 본 발명의 제4 실시예에서는 단말이 설정하는 서비스의 종류에 따라서, 네트워크가 PDCP SN과 RLC SN의 공유 여부를 결정하는 방법을 제시한다.
도 17에 본 발명의 제4 실시예에 따른 시스템의 전체 동작을 도시하였다.
도 17을 참조하면, 1720 단계에서 사용자가 임의의 서비스 개시를 명령하면, UE(1705)는 서비스 설정을 요청하는 메시지를 Anchor Node(1715)로 전송한다. 상기 서비스 설정 요청 메시지에는 서비스의 종류나 요구 QoS 등의 정보가 수납된다.
1725 단계에서 Anchor Node(1715)는 UE(1705)가 요구하는 서비스의 종류나 요구 QoS 등을 고려해서, 설정할 무선 베어러의 종류를 결정한다. 무선 베어러란 특정 서비스를 지원하기 위해서 구성하는 PDCP와 RLC와 MAC 등을 총칭하는 것으로, 본 발명에서는 무선 베어러를 아래 2가지 종류로 분류한다.
무선 베어러 타입 1: PDCP SN과 RLC SN이 독립적으로 설정되고 해석되는 베어러
무선 베어러 타입 2: PDCP SN과 RLC SN이 서로 동일하거나 일정한 관계를 유지하는 베어러
Anchor Node(1715)는 발생하는 패킷의 크기를 예측하기 힘들거나, 큰 패킷이 발생할 것으로 예상되는 서비스에 대해서는 타입 1의 무선 베어러를 설정하고, 작은 패킷이 발생할 것으로 예상되는 서비스, 예를 들어 VoIP 같은 서비스에 대해서는 타입 2의 무선 베어러를 설정한다.
그리고 1730 단계에서 Anchor Node(1715)는 결정한 베어러 타입에 따라 PDCP를 설정하고, ENB(1710)에게 무선 베어러 설정을 요구하는 메시지를 전송한다. 상기 메시지에는 설정할 무선 베어러의 타입에 관한 정보와 무선 베어러 설정에 필요한 정보들이 수납된다.
1735 단계에서 ENB(1710)는 수신한 무선 베어러 설정 메시지에 따라 무선 베어러를 설정하고, UE(1705)에게도 무선 베어러 설정 메시지를 전송해서 UE(1705)가 무선 베어러를 설정하도록 한다.
상기 무선 베어러 설정 과정에서 설정된 무선 베어러가 타입 1 무선 베어러 라면, UE(1705)와 ENB(1710)와 Anchor Node(1715)가 주고 받는 RLC PDU와 PDCP PDU의 RLC SN과 PDCP SN은 서로 무관하며, RLC 장치와 PDCP 장치는 1740 단계에서 RLC PDU와 PDCP PDU에 수납된 각각의 일련 번호들을 이용해서 소정의 동작을 수행한다.
반면에, 상기 무선 베어러 설정 과정에서 설정된 무선 베어러가 타입 2 무선 베어러라면, UE(1705)와 ENB(1710)와 Anchor Node(1715)가 주고 받는 RLC PDU와 PDCP PDU의 RLC SN과 PDCP SN은 서로 동일하거나, 소정의 값 만큼의 차이가 난다. 그러면 RLC 송신 장치는 1745 단계에서 PDCP PDU를 수신하면, PDCP SN을 참조해서, 즉 PDCP SN에서 소정의 값만큼을 더하거나 감해서 RLC SN을 산출하고, 상기 PDCP PDU를 수납할 RLC PDU의 일련 번호를 상기 RLC SN으로 설정한다. 그리고 PDCP PDU에서 일련 번호 부분은 제거해서 전송한다. 또한 RLC 수신 장치는 RLC PDU를 수신하면, RLC SN에 소정의 값을 감하거나 더해서 PDCP SN을 산출하고, 수신한 RLC PDU에 수납된 PDCP PDU에 상기 산출한 PDCP SN을 삽입해서 원래의 PDCP PDU로 복원한 뒤 PDCP 계층으로 전달한다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
예컨대, 본 발명의 실시예에서는 LTE를 예로 들어 설명하였지만, 본 발명은 비화/역비화와 자동 재전송이 구동되는 모든 이동 통신 시스템에 적용 가능하다.