WCDMA의 구조와 원리

3GPP 2009. 5. 13. 21:43

이글을 작성해주신 최윤석님 감사합니다 ^^


WCDMA의 구조와 원리

WCDMA (FDD 모드, Release 99 기반) 에 대한 구조와 원리를 망 구조와 프로토콜 중심으로 살펴봅니다.

현재 이동통신 시장에서 가장 각광받고 있는 기술인 WCDMA에 대해 이야기 해 보겠습니다. WCDMA는 단편적인 글로 전체를 아우르기에는 대단히 방대한 기술이기에, 본 글에서는 전체적인 구조와 원리 이해를 중심으로 설명할 것입니다. 특히 FDD 모드, Release 99에 중점을 두고 이야기하고 있으며 크게 하드웨어적인 망 구조와 프로토콜을 중심으로 내용이 전개될 것입니다.

처음 WCDMA에 대해서 혼자 공부할 때 국문 자료도 부족하고 힘들었었기에, 공부했던 것을 정리하여 올립니다. 전체적인 원리와 개념을 이해하시는데 조금이나마 도움이 되길 바랍니다. :)

 
0. 들어가며
 
 대한민국의 휴대폰 보급률은 2008년 5월 말 기준으로 92.2% 에 달한다고 합니다. 이 휴대폰의 핵심이 되는 기술은 세계적으로 기술 변혁이 일어나는 때를 기점으로 하여 ‘세대’라 일컬어지며 구분이 되고 있습니다. (2 Generation, 3 Generation, Beyond 3 Generation 등) 2008년 현재 기준 세계 및 국내 휴대폰 시장은 3세대 이동통신(3 Generation = 3G) 기술이 그 주류를 이루고 있습니다. 3G는 IMT2000이라고 이야기 되기도 합니다. 지난 2007년 10월 18일 국제전파총회(ITU) 에서 국내 3세대 이동통신 기술인 Wibro (Mobile WiMAX)를 국제 표준으로 선정했었죠? 이로서 전세계 국제 3세대 이동통신 기술은 다음과 같이 6가지로 늘어나게 되었습니다.
① WCDMA
② CDMA2000 1xEV-DO
③ TD-SCDMA (중국식)
④ DECT (유럽식)
⑤ UWC-136 (위성통신방식)
⑥ Mobile WiMAX
  여러가지가 있습니다만 국내외에서 가장 널리 쓰이고 있는 기술은 단연 WCDMA 기술입니다. 여기에선 바로 이 WCDMA 기술에 대해서 알아보려 합니다.
 

1. WCDMA란?

 
 
 < WCDMA 기술은 현재 가장 널리 쓰이고 있는 기술입니다. (LG전자의 SH470, 삼성전자의 SHC-W550) >
                            (이미지 출처 : http://www.cyon.co.kr, http://www.anycall.com)
 
 WCDMA은 Wideband Code Division Multiple Access의 약자로 '광대역 부호 분할 다중 접속'이라고 말합니다. 이를 이해하기 위해서 다중접속 방식에 대해 먼저 이야기해 보겠습니다.
 
  • 다중 접속 (Multiple Access)

  앞서 언급했었던 여러 이동통신기술들은 일반적으로 다중 접속하는 방식에 따라서 구분이 됩니다. 상식적으로 생각해 볼까요? 핸드폰은 무수히 많은 사람들이 가지고 있습니다. 각각의 핸드폰 전파들이 지나다니는 길은, 물리적으로 일정 영역 (정확히는 주파수 대역, radio spectrum)으로 한정되어 있습니다. 따라서 '어떤 방식으로 이 한정된 영역을 각각의 핸드폰 사용자들이 불편없이 사용할 수 있도록 분배해 줄까?'가 핸드폰 이동통신기술을 설계하는 분들에게는 고민거리가 됩니다. 이 '분배'의 방식에는 TDMA, FDMA, CDMA, CSMA, OFDMA, ODMA, SDMA 등이 있으나 일반적으로 TDMA, FDMA, CDMA 세 가지가 주로 거론됩니다.

<TDMA 모드에서 사용자 자원 배분>

 여러분이 이 분배의 문제를 고민한다고 생각하면 어떤 방법이 있을 수 있을까요? 한 개의 학교 운동장에서 여러 축구팀들이 경기를 해야한다고 생각해 보세요. 간단한 방법으로 각각 축구팀들에게 하나의 운동장을 각각 어떤 시간에 쓸지 구분지어주면 될겁니다.
 이런 방식이 TDMA 방식입니다. 시분할다중접속이란 정해진 시간만큼만 각각의 사용자들이 한정된 전파 자원을 독점해 쓰는 겁니다. CRC (Cyclic Redundancy Checking, 오류 검출의 한 방식) 가 가능하기도 하죠.
 이 방식에서는 각각의 cell (통신이 일어나는 지역의 단위)은 일정 개수의 각기 다른 주파수를 각각의 cell에 반복적으로 사용합니다. (몇 개의 주파수를 반복 사용할지 여부는 Frequency Reuse Factor 값을 따릅니다.) 같은 cell 내에서는 같은 주파수를 사용하게 되고 이 주파수는 시간을 기준으로 분할되어 사용자에게 나누어집니다. 다른  대표적인 2G 통신방식 중 하나인 GSM가 이 방법으로 동작합니다. 이 기술과 더불어 Frequency hopping 기술과 함께 상용화 되었는데 자세한 내용은 제목의 Wikiperdia TDMA 링크에 들어가서 확인해 보시기 바랍니다.
<FDMA 모드에서의 사용자 자원 배분>
 주파수분할다중접속은 축구팀들이 한꺼번에 언제나 운동장에서 축구할 수 있도록 운동장의 영역을 각 팀들에게 나누어주는 겁니다. (물론 이런 식으로 축구하기는 힘들겠습니다만)
 한정된 주파수 자원을 주파수대 별로 쪼개서 각각의 사용자들에게 주파수 별로(frequency bands) 동시에 쓸 수 있도록 나누어 주는 것이죠. 물론 각 사용자에게 나누어진 주파수는 서로 간섭해서 통신 품질을 저하시키는 일이 없도록 해야합니다. 하지만 상대적으로 효율성이 낮은 방식으로 알려져 있으며 미국의 AMPS 방식 등에 이용 되었습니다.
<CDMA 모드에서의 사용자 자원 배분>
 
 코드분할 다중접속은 미국의 Qualcomm사가 주도하고 있는 다중접속 기술로 각각 모든 cell이 같은 주파수를 동시에 사용하는 통신방식입니다. 이 때 일어나는 서로 간의 간섭현상을 해결하기 위해서 CDMA에서는 각각 사용자가 이용하는 주파수 상의 데이터를 코드화 (encoding) 하여 구분하고 있습니다. 신호를 보내는 자와 받는 자간의 코드가 맞지 않는다면 해독 (decoding) 되지않아 각 신호가 누구에게 가는 것인지가 명확하게 구분됩니다.
 
 WCDMA는 앞서 살펴본 어원에서도 느낄 수 있듯이 기본적으로 CDMA 방식 (코드를 기준으로 사용자들간의 데이터가 구분됩니다.) 을 채용하고 있습니다. 그리고 부분적으로 TDMA, FDMA적 특징을 차용하고 있습니다. WCDMA는 TDD 방식과 FDD 방식을 사용하는 두 가지 종류로 크게 구분됩니다.
① TDD (Time Division Duplex)
  TDD는 CDMA 방식 위에 추가로 주파수로 사용자들을 구분하고, TDMA와 같이 통신 자원 사용 시간으로도 사용자들을 구분합니다. 하나의 주파수에서 데이터를 올리고 받는 일을 같이 처리합니다.
 
② FDD (Frequency Division Duplex)
 반면에 FDD는 코드와 주파수를 기반으로 자원을 배분한다는 것은 같지만 통신 자원 사용 시간으로 사용자들을 구분하지는 않으며 데이터를 올리고 내려받는 일을 주파수 별로 나누어 처리합니다.
 본 글에서는 FDD 방식의 WCDMA에 대해서 중점적으로 이야기할 것입니다.
 

2. WCDMA의 네트워크 구조

 
 여기서는 어떤 식으로 WCDMA망이 하드웨어적으로 구성되는지 살펴보겠습니다. WCDMA망 표준 구조는 Release 99, Release 4, Release 5 순으로 발표 되었습니다. 각 표준은 망 구성요소가 교체되고 부가 기능이 늘어나는 등 몇몇 차이점들이 존재하나 근본적인 원리는 서로 같습니다. 여기서는 Release 99에 중심을 두고 WCDMA의 기본 원리를 설명하는데 초점을 맞추겠습니다.
 

2.1. UMTS (Universal Mobile Telecommunications System)

 
<UMTS 망의 개념적인 구조도>
 
 UMTS는 3G 통신의 국제 규격을 제정하는 3rd Generation Partnership Project (3GPP)에서 결정한 3G 이동통신망 이름입니다. 사용자가 가지고 있는 단말기를 시작으로 통신사가 가지고 있는 이동통신용 중계기, 기지국 등 이동통신 시설들을 포함하는 개념입니다.
 UMTS에는 3세대 통신 규약인 WCDMA와 2세대 통신 규약들인 GSM, EDGE로 크게 구분지어 집니다. 사실 WCDMA는 GSM을 그 모태로한 3세대 통신 규약이기 때문에 비슷한 역할을 하는 구성 요소들 (Core Network 등) 도 존재하고 이름만 다를 뿐 내부적으로는 비슷한 구조를 하고 있는 부분들 (Node B - RNC와 BTS - BSC간의 관계 등) 도 많습니다.
 UMTS에서 지켜져야 할 대표적인 규약은 멀티미디어 데이터 송수신, QoS, 2Mbps 지원 등이 있습니다. (이 중 QoS에 대해서는 뒤에서 더 자세히 살펴 보겠습니다.)
 UMTS 망은 크게 Core Network와 UTRAN 두 부분으로 나누어 질 수 있습니다. 그리고 사용자 단말기 (User Equipment) 가 UTRAN과 연결됩니다. 즉, CN-UTRAN-UE 순서로 서로 연결되어서 망을 구성합니다.
 
<UMTS Release 99 구조도>  
 

2.1.1. CN (Core Network)

  프로토콜 구조에서 상위 레벨단 데이터 처리를 담당합니다. 말 그대로 망 안쪽 부분을 지칭하는 것입니다. 중간 매개체인 UTRAN을 거처서 UE와 전화 통화 연결, 혹은 데이터 통신 연결을 처리하거나 요금 과금 시스템, 망 보안 관련처리를 담당하고 있습니다. 내부적으로는 MSC, GMSC, SGSN, GGSN, HLR 등의 구성요소를 가집니다.
 각각의 기능을 간략하게 살펴본다면 다음과 같습니다.
MSC (Mobile Switching Center)
 음성 정보를 다루며 다양한 NAS 프로토콜들을 지원하여 통화 제어, 단말기의 이동성 확보 등의 다양한 기능을 수행합니다.
② GMSC (Gateway Mobile Switching Center)
 음성 정보를 취급하고 PSTN (public switched telephone networ, 일반적인 전화 음성 통화망) 과 무선 통신망을 연결해 주는 관문 역할을 담당합니다. 이를 통해서 핸드폰 사용자들은 자신의 통신회사에 등록되지 않은 일반 전화기와도 연결될 수 있게 됩니다.
③ SGSN  (Serving GPRS support node)
 packet (데이터의 묶음 단위) 정보를 다루며 자신의 영역 안으로 들어오는 UE를 감지하고 packet 송수신을 제어합니다.
④ GGSN (Gateway GPRS Support Node)
 packet 정보를 취급하고 인터넷 망과 CN을 연결하는 관문 역할을 담당합니다. SGSN에서 들어온 UE 정보를 이용해서 UE와 GGSN 간에 packet 송수신이 가능한 논리적 길을 만듭니다. 이를 통해서 핸드폰에서 인터넷에 접속하는 것이 가능해 지는 것이죠.
⑤ HLR (Home Location Register)
 사용자의 위치 정보를 저장하고 있습니다. 망에서 단말기 인증 절차, 등록 등의 역할을 담당합니다.
 

2.1.2. UTRAN (UMTS Terrestrail Radio Access Network)

 CN과 UE를 연결해 주는 다리 역할을 하고 있습니다. 주로 전파 자원을 제어하고 할당하거나 사용자의 이동성을 보장하는 기능을 담당합니다. 내부적으로는 Node B, RNC, RNS 가 존재합니다.
① Node B
 Node B는 여러 개의 cell들과 그에 상응하는 carrier들을 가지고 있습니다. 이 cell들 안에 존재하는 많은 UE들과 연결되어 있으며 이에 사용되는 주파수들을 확보하고 있습니다.
 
② RNC (Radio Network Centrol)
 RNC는 Node B에 연결되어 이를 제어 할 뿐만 아니라 통신 자원을 할당하거나 뒤에서 이야기할 handover 기능, RB (Radio Bearer) 등을 담당하게 됩니다.
 
③ RNS (Radio Network Subsystem)
 RNC와 그에 달려있는 Node B를 묶어서 하나의 RNS이라고 부릅니다. UTRAN 망은 이러한 RNS들의 집합이라 말할 수 있습니다. RNS는 다시 UE와의 연결 상태에 따라서 개념적으로 SRNS (Serving RNS) 와 DRNS (Draft RNS) 로 구분됩니다. SRNS는 계속 UE와 연결을 유지하고 있는 기존 RNS를 가리키는 것이고, DRNS는 UE가 RNC 간을 이동하는 상황 등에서 새롭게 UE와 연결되는 RNS (주로 SRNS와 인접한 RNS가 되겠죠.) 를 가리키는 개념입니다.

2.1.3. UE (User Equipment)

 UMTS 통신망에 가입 되어있는 사용자의 단말기를 지칭합니다. UTRAN의 Node B와 전파로 연결되어 있습니다.
   

2.2. Domain

 
 UMTS 망의 CN에서는 대표적으로 CS domain, PS domain, BS domain 3가지 도메인이 존재합니다. 각 도메인들은 NC (Core Network)에 위치하고 있습니다. 각 도메인들은 Iu 인터페이스를 사용하여 UTRAN의 RNC와 연결됩니다.
 

2.2.1. CS (Circuit Switched) domain

 physical layer 쪽에서 dedicated channel을 할당 (송신자, 수신자가 1:1로 연결된다는 의미) 하여 데이터를 전송하는 방식입니다. MSC, HLR, AuC(Authentication Center)가 연결에 주된 역할을 하고 있습니다. 대표적인 기능에는 NAS단에서 사용되는 MM protocol, CM protocol, CC protocol, SMS들이 있습니다. 일반적으로 사용자 통화 음성 데이터가 이 도메인을 사용해서 송수신 됩니다.
 간략하게 살펴보면 다음과 같습니다.
① MM (Mobility Management)
 핸드폰은 자유롭게 이동할 수 있지만 이와 연결되는 기지국은 이동할 수 없습니다. 따라서 단말기가 이동함에 따라서 가까운 기지국으로 연결을 전환해 줄 필요가 있습니다. 이에 관한 역할을 담당합니다.
② CM (Connection Management)
 통화 연결을 제어 합니다.
③ CC (Call Control)
 음성 통화 송수신 절차에서 CN과의 연결을 담당하고 통화 재연결, 음성 통화의 송수신을 관리합니다.
④ SMS (Short Message Service)
 핸드폰 문자 서비스를 말합니다.

2.2.2. PS (Packet Switched) domain

 사용자 데이터를 Packet 단위로 데이터를 전송할 경우에는 이 도메인을 사용합니다. SGSN , GGSN 가 주된 역할을 하고 있습니다. CS domain가 운반하는 음성 데이터는 물론, 비디오, 각종 제어명령들도 이 도메인을 사용하여 송수신 됩니다. 대표적으로 GMM(GPRS Mobility Management) protocol, PS bearer를 사용하는 SM(Session Management) protocol가 있으며 일반적으로 CS domain에 비해서 속도가 빠른편입니다.
  CS domain과 PS domain 각각 대표 기능들의 대응 관계를 표로 나타낸다면 다음과 같습니다.
 
<CS/PS domain 기능들의 대응 관계>
 

2.2.3. BS (Broadcast Switched) domain

 데이터를 일정한 구역 안의 여러 UE들에게 일괄적으로 배포해야 할 필요가 있을 때 사용하는 도메인입니다.

2.3. QoS (Quality of Service)

 
  UMTS 망에서 통신은 크게 두가지 domain으로 나뉘어진다고 얘기 했었습니다. PS domain과 CS domain이 그것이죠. QoS는 PS domain 에 연관된 개념입니다. UMTS 망에서는 한정된 통신 자원을 수많은 통신 서비스 이용자들에게 동적 할당(dynamic resource allocation)해 주면서 사용자들이 다양한 서비스를을 끊김없이 사용할 수 있도록 해줍니다.
 그러나 우리가 사용하는 통신 서비스들(비디오, 오디오, 데이터 등)간에는 사용자들이 품질에 불편을 못 느끼는 최저 품질기준이 제각각 다릅니다. 이는 서비스의 특성에 기인합니다. 오디오 데이터는 통신 중에 다소 데이터 손실 때문에 잡음이 생긴다 할지라도 사용자가 이용하는데 문제가 없습니다. 비디오 데이터 역시 codec에 따라 차이가 있을 수 있겠지만 화면에 약간의 잔상이 생기는 정도로는 사용자 이용에 큰 불편이 없죠. 하지만 데이터 통신 같이 전송되는 매 bit 값들 하나하나가 중요한 역할을 담당하는 경우 데이터의 손실에 민감해 질 수 밖에 없습니다.
 서비스의 종류에 따라서 각기 다른 기준의 QoS를 가지고 있습니다. WCDMA에서 이야기하는 QoS는 대표적으로 속도와 신뢰성(불편없는 서비스 이용을 위해 에러가 얼마나 적어야 하는가)입니다. 대표적인 서비스들의 QoS 기준을 알아본다면 다음과 같습니다.
 
<각 서비스별 QoS 기준>
 
 이곳에서 말하는 오류의 단위가 되는 BER은 Bit Error Rate의 약어입니다. bit 단위로 에러 발생률을 수치화한 것입니다. 데이터 서비스의 BER 값이 가장 작음을 알 수 있습니다.
 이 외에도 실시간 비디오 시청 같은 연속적인 데이터 전송을 요구하는 서비스(streaming service) 인지 그렇지 않은 서비스(문자 서비스 등)인지에 따라서도 QoS가 달리 적용됩니다.
 

3. WCDMA의 protocol 구조

 
<WCDMA protocol 구조도>
 
 이번에는 논리적인 구조를 살펴보겠습니다. protocol은 통신 규약, 즉 통신자 상호간에 미리 정해놓은 약속을 뜻합니다. (프로토콜은 물리적, 논리적 양측면이 공존하나 여기에서는 논리적 관점에서 보는 것으로 하겠습니다.) 여기서 이야기하는 프로토콜 구조는 망쪽에도 존재하고 UE에도 존재하여 서로 연결됩니다. 기본적으로 WCDMA의 protocol 구조는 크게 AS와 NAS 로 나누어질 수 있습니다. 맨 아래단부터 차근차근 살펴보겠습니다.
 

3.1. AS (Access stratum)

 
 통신이 연결되는 과정을 무역에 비유해 볼까요? 나라 간 서로 물자를 이동시키고 대화할 수 있는 길을 만드는 역할을 이 AS에서 하게 됩니다. 길 뚫고 통신할 수 있는 통신선 깔고... 언뜻 생각해도 중장비나 몸쓰는 일이 많을 것 같군요. AS 역시 물리적인 physical layer 쪽에 관계된 일을 주로 맡게 됩니다.
 AS는 저레벨단(lower level layer) protocol을 가리킵니다. 저레벨단이라는 것은 하드웨어쪽에 가까운 하부 논리 구조를 나타냅니다. 내부적으로 UE와 UTRAN, UTRAN과 CN을 이어주는 인터페이스 역할을 담당하고 있습니다. AS protocol의 관심사는 'NC와 UE간에 데이터를 어떻게 안정적으로 넘겨 줄 것인가'가 되는 것입니다. 그래서 뒤에서 언급하게 될 power control이나 handover등의 역할을 수행하게 됩니다.
 

3.1.1. Physical channel

 channel을 이야기할 때 중요한 개념은 일반적으로 하위단 및 상위단 channel 들이 하나의 묶음으로 이루어져서 각기 특성에 맞는 다양한 데이터들을 전송하고 있다는 점입니다.
 Physical channel은 WCDMA 프로토콜 구조에서 가장 바깥쪽에 위치한 영역입니다. 주된 기능은 channelization, scrambling code를 사용하여 여러 종류의 데이터들을 주파수에 동시에 올려서 데이터를 바깥으로 전송하거나 무선으로 들어온 데이터를 안으로 받아들입니다.
 Physical channel는 목적에 따라 여러 종류로 세분화 되어 있습니다. 각기 다른 종류의 Physical channel 들은 전송 방향 (uplink, downlink 혹은 양방향)에 따라 또는 FDD/TDD 지원 여부에 따라서 나뉘어 집니다. Transport channel, Logical channel과 함께 하나의 조를 이루어 데이터 전송을 하기도 합니다. (하지만 조를 이루지 않고 하드웨어에 관련된 정보만을 송수신하는 Physical channel들도 존재합니다.)
 또 뒤에서 살펴볼 power control에서 TCP 값을 전파하는 역할도 담당합니다.

 

3.1.2 Physical layer

 physical layer는 말 그대로 물리 영역입니다. 하드웨어에 직접적으로 관련된 부분을 담당하게 됩니다. 일반적으로 무선 통신을 하게되는 UE와 UTRAN 망쪽 (Node B)에 각각 이 영역이 존재하고 있습니다. 데이터를 송수신할 때 상위 단에서 내려오는 데이터 묶음을 Air로 내보내거나 Air에서 들어온 데이터를 상위 단으로 전달하는 역할을 합니다. RF (Radio Frequency) 관련 처리 등을 담당하기도 합니다.
 앞서 살펴본 대로 WCDMA 방식에서는 CDMA 방식을 채용하고 있기 때문에 UE간 신호 간섭을 줄이기 위해서encoding/decoding 하는 과정이 필요합니다. 이를 위해서 physical channel에서는 두 가지 code를 가지고 있는데 channelization code와 scrambling code가 그것들입니다.
 
  • Channelization Code & Scrambling Code
 FDD 모드의 UMTS 망에서 데이터를 송수신하는데 있어서 Channelization Code와 Scrambling Code가 어떤 역할을 하는지 알아보겠습니다.
  Channelization Code는 데이터 전송 속도에 영향을 받습니다. UE에서 uplink시에는 같은 cell 내 연결은 UE 스스로 같은 Channelization Code를 선택해서 데이터를 전송합니다. 반면에 Scrambling Code는 RNC로 부터 각기 다른 UE에 다른 Scrambling Code가 할당되어 데이터 업로드시 신호 간섭 현상을 줄입니다.
 downlink 시에는 Channelization Code가 같은 cell 내 UE들에게 다르게 할당되는 반면 다른 cell에는 같은 값이 할당될 수 있습니다. cell 간 신호 간섭이 일어날 수 있는데 이 때 Scrambling Code는 같은 cell 끼리는 같은 값을 할당받게 됩니다. 따라서 Scrambling Code를 이용하여 cell 간 신호간섭 현상을 줄일 수 있습니다.
 
 이 기능 외에도 phsyical layer는 handover, compressed mode, power control 기능들을 지원합니다. 하나씩 살펴 보도록 하겠습니다.
 
  • Handover
 먼저 UMTS망에서 handover란 무엇인지 간단하게 알아보도록 하겠습니다. 기본적으로 망은 기지국들이 세워짐으로서 생성되고 사용자들은 단말기를 가지고 이 망에 연결함으로서 이동통신이 가능해 집니다. 그런데 만약 A라는 기지국에 연결되어 있던 단말기를 가진 사용자가 이동해서 A 기지국이 커버할 수 있는 범위를 벗어나면 어떻게 될까요? 아마 사용자의 단말기는 연결이 끊어지게 될 것입니다. 이것을 방지하기 위해서 단말기가 A 기지국의 범위를 벗어나도 통신이 이상이 없도록 근처의 다른 기지국과 단말기를 연결시켜주는 작업을 handover라고 합니다. handover에는 hard handover와 soft-handover가 존재합니다.
Hard-handover
 Hard-hanover란 단말기가 현재 망에서 다른 망으로 이동할 때, 먼저 기존 망 연결을 종료한 후 새로운 망과 연결되는 방식을 일컫습니다. 순간 단말기가 망에서 완전히 떨어지는 순간이 존재하는 handover 방식입니다. Hard-handover는 다시 seamless 방식과 non-seamless 방식으로 나뉘는데 seamless 방식이란 사용자가 통화 중에 망 이동을 경험하더라도 통화 연결이 중단되는 것을 느끼지 못하는 방식을 말합니다. non-seamless 방식은 이와 반대가 됩니다. 그러나 FDD 방식의 WCDMA 망에서는 이 방법이 아닌 soft-handover를 채용하고 있습니다.
 
Soft-handover
 드디어 이야기하고자 했던 주제가 나왔군요. Soft-handover는 앞서 언급한 바와 같이 protocol의 Physical layer에서 중요하게 다루어지는 기능 중 하나입니다. FDD 모드의 WCDMA에서 Mobile mobility 구현에 중추적인 역할을 하고 있는 기능이죠. 자세하게 살펴볼까요?
 
Uplink
 먼저 데이터를 UE로 보낼 때 soft-handover가 이루어지는 과정에 대해 단계적으로 살펴 보겠습니다. 이 handover는 같은 SRNC를 두고 있는 Node B들 간에서 발생하는 handover입니다.
 
<Uplink Soft-handover UE는 가장 좋은 품질의 연결을 하나 선택합니다.>
ⓐ UE가 보낸 데이터는 Node B를 거쳐 SRNC로 전달됩니다.
ⓑ 이때 보내는 데이터와 함께 현재 uplink 연결이 얼마나 안정적인가를 보고합니다.
ⓒ 그림처럼 하나의 UE를 기점으로 여러 Node B가 SRNC로 데이터를 전달할 경우가 있을 수 있는데, 이 경우 SRNC는 가장 품질이 좋은 uplink 연결의 Node B를 선택하여 데이터를 받게 됩니다.
Downlink
 데이터를 UE가 망에게 받는 상황에서의 handover는 좀 더 복잡합니다. UE는 Node B에서 Node B'로 이동한다고 가정하고 설명하도록 하겠습니다. SRNC가 handover 전반에서 하는 역할에 주목하여 살펴보시기 바랍니다.
ⓐ Node B에 연결된 UE가 인접한 Node B'를 감지하고 측정합니다.
ⓑ UE는 측정한 결과를 Node B의 SRNC에 보냅니다.
ⓒ UE와 Node B가 멀어질수록, Node B'가 가까워질수록 Node B의 신호 세기는 강해지고 상대적으로 Node B'의 신호 세기는 약해 지게 됩니다.
ⓓ SRNC는 Node B'가 연결되어 있는 DRNC에게 요청하여 Node B'가 UE에게 연결하도록 만듭니다.
ⓔ SRNC는 UE가 Node B' 와 새로운(기존 것들과는 다르겠죠.) Scrambling code와 channelization code를 사용해서 추가로 연결이 되어 있음을 인지하게 됩니다.
 
<UE가 이동함에 따라 변화하는 신호세기>
 
ⓕ UE는 내장된 rake receiver를 이용해서 두 신호를 결합해서 새로운 신호(combined signal)를 만들게 됩니다. 이 새로운 신호는 상대적으로 기존의 두 신호보다 품질이 좋게 되겠죠.
ⓖ SRNC는 두 연결을 계속 유지하다가 신호가 약해지는 Node B - UE 간의 연결을 끊게 됩니다.
 
<SRNC relocation 전의 망 연결 상태>
ⓗ SRNC는 현재 DRNC가 SRNC로 갱신될 때까지(SRNC relocation) DRNC, Node B'를 사용해서 UE와 연결을 유지하게 됩니다.
ⓘ SRNC가 갱신되면서 다시 정상적인 구조로 돌아왔습니다!
Softer-handover
 handover에서 Soft는 연결을 유지하며 UE가 부드럽게 다른 기지국으로 '넘어'간다는 뜻으로 쓰였습니다. 그렇다면 softer하다는 것은 무엇일까요? 이 방식은 UE가 여러개의 연결을 유연하게 '계속적으로' 유지하면서 통신이 연결된다는 뜻입니다.
 Uplink에서 handover가 이루어 질 때 하나의 UE가 하나의 Node B에 있는 여러개의 Cell에 연결되어 있을 경우 발생합니다. Node B는 하나의 UE에서 뻗어나온 여러개의 uplink들을 가지고 각 신호들을 결합해서 새로운 신호(conbined signal)을 만들게 됩니다. 앞서 Downlink의 UE가 그랬던 것 처럼 품질 좋은 uplink를 갖게 되는 것이죠. 이 방식이 바로 앞 uplink에서의 soft-handover와 다른 점은 가장 좋은 uplink를 '선택'하는 것이 아니라 여러 uplink를 '유지'하여 새로운 신호를 만든다는 점입니다.
  • Compressed mode
 간단히 말해서, compressed mode는 handover를 위해서 필요한 개념입니다. handover에서 UE가 인접한 다른 cell들의 신호 세기 등을 감지하고 그 데이터를 이용해서 망을 넘어가게 된다고 했었습니다. 그런데 자신의 데이터 송수신도 바쁜데 인접한 망 신호 체크를 어떤 식으로 할 수 있을까요? 간단한 방법으로 자신의 cell 데이터를 수신하는 수신기 이외에 다른 신호도 감지할 수 있는 수신기를 하나 더 다는 겁니다. 그런데 이것은 하드웨어적으로 비용이 추가되는 작업입니다. 만약에 비용 추가없이 소프트웨어적으로 처리해야한다면 어떤 방법이 있을 수 있을까요?
 다른 신호를 체크해 볼 시간적 여유가 있다면 가능하게 되겠죠. compressed mode란, 데이터의 지속되는 흐름에 공백을 넣어서 다른 cell들을 체크해 볼 수 있는 여유를 갖게 하는 겁니다.
 대표적으로 3가지 형식의 compressed mode가 존재합니다. 첫번째 방법으로, 데이터를 지워서 데이터의 공백을 만드는 방법입니다. 두번째로 데이터의 전송량을 인위적으로 줄여서 신호 체크 여유를 갖게 하는 방법이 있습니다. 마지막으로 channelization code의 길이를 조정해서 데이터 전송량을 늘려 다른 신호를 체크할 수 있는 여유를 갖게 하는 방법입니다. 물론 이를 위해서 신호 세기를 더욱 세게 올려주어야 겠죠.
 
  • Power control
 휴대폰의 가장 고질적인 문제점 중 하나는 베터리 관리입니다. 귀찮게 자주 충전할 필요없이 오래지속되는 휴대폰은 더할나위없이 편리할 것 입니다. 그런데 이와 배치되는 것이 신호 세기입니다. UE에서 내는 신호 세기가 세지면 세질수록 통화 품질은 좋아지지만 그만큼 베터리를 많이 소모하게 됩니다. 일반적으로 안테나가 잘 뜨지 않는 곳에서 휴대폰 베터리가 빨리 소모되는 것도 이와 무관하지 않습니다. 통화 품질을 유지하면서 최대한 베터리를 오래가도록 하는 일, 바로 power control에서 다루게 될 이야기입니다.
 power control에서는 SIR(Signal to Interference Ratio)이라는 개념이 중요한데요. 이는 신호간섭률이라고 생각하시면 되겠습니다. 이를 기억하면서 세부 내용을 살펴 봅시다.
Uplink
 uplink power control은 inner power control과 outter power control 두 가지로 구분됩니다. inner power control은 UE와 Node B간의, outter power control은 Node B와 RNC간의 power control을 각각 일컫습니다.
 
Uplink outer loop power control
 outer loop의 목적은 UE가 power control할 때 기준이 되는 SIR 값을 구하는 것이죠. 이 기준을 결정하는 요인은 해당 서비스의 QoS가 됩니다. 이 QoS의 조건을 만족하는 선에서 기준이 되는 SIR 값이 결정되는 것입니다. Node B는 주기적으로 회선의 품질 정보를 RNC 로 보내게 되고 RNC는 이 품질 정보를 기준으로해서 연결된 UE의 기준 SIR값을 결정하게 됩니다.
 
Uplink DCH closed loop
 단말기 power control을 위하여 Node B는 매 전송마다 UE로부터 신호를 받고 outer loop에서 결정된 기준이 되는 SIR 값과 현재 UE와 연결되어 있는 SIR 값을 비교하는 작업을 수행하게 됩니다. 만약 현재 연결 통신의 SIR값이 기준값보다 크다면 파워를 감소하라는 명령을 내리게 되고 반대의 경우는 파워를 증가하라는 명령을 UE에 전달하게 됩니다. 명령 전달은 TCP값을 cell 내에 Node B가 일괄적으로 뿌리는 (broadcast) 방식으로 이루어 집니다. TCP 값에 따른 UE의 파워 증가 감소 여부는 다음과 같습니다.
 
<TCP 값과 UE 파워 변화>
 
 UE는 받은 데이터를 2가지 방법 중 하나를 택해서 처리하게 됩니다.
 
방법 1
 매 전송되는 순간의 TCP 값을 사용해서 파워를 조절하는 방법입니다. 민감하게 UE 파워를 올렸다 내렸다하면서 적정 파워를 찾아가는 방법입니다.
 ① 일반 연결
 일반적으로 Node B로부터 받은 TCP 값에 따라서 파워를 조절합니다.
② soft handover, UE에 연결된 여러 연결들이 하나의 Node B로 향하고 있을 경우
 같은 Node B로 연결되어 있으므로 자연히 TCP 값도 같은 값을 받게 되므로 이에 맞추어서 파워를 조정하게 됩니다.
③ soft handover, UE에 연결된 여러 연결들이 각기 다른 Node B들로 향하고 있을 경우
 이 경우는 UE가 각기 다른 Node B들에 의해서 연결 상태를 각각 평가 받게 되므로 TCP 값이 다르게 UE로 전송되어 질 수 있습니다. 이 경우 UE는 모든 Node B가 TCP=1을 전송한 경우  UE의 파워를 증가시키고 하나 이상의 Node B가 TCP=0를 전송한 경우 UE의 파워를 감소 시킵니다.
 방법 2
 5번 연속으로 전송된 TCP 값을 기준으로 파워를 조절하는 방법입니다. 상대적으로 UE 파워의 변화가 적습니다. 여기에서는 TCP 대신 TCP_cmd를 사용합니다. TCP_cmd의 특징은 파워를 현상 유지하는 명령이 있다는 것입니다. TCP_cmd와 파워의 변화 관계는 다음과 같습니다.
 
<TCP_cmd 값과 UE 파워 변화>
 
① 일반 연결
 5번 연속으로 받는 TCP 값을 보고 5회 전부 파워 증가나 5회 전부 파워 감소를 명령 받지 않았다면 파워 상태를 그대로 유지합니다. 다른 경우는 Node B의 명령에 따릅니다.
② soft handover, UE에 연결된 여러 연결들이 하나의 Node B로 향하고 있을 경우
 같은 Node B로부터 나온 연결들이 확인 되었다면 이들간에 약한 신호들을 합쳐서 강한 신호를 만드는 작업이 일어납니다. 새로 생성된 이 강한 신호를 분석해서 망에서 파워 증가, 감소, 불변 중 어떤 명령이 내려왔는지를 파악하고 UE의 파워를 조절합니다.
 
<soft handover, UE에 연결된 여러 연결들이 각기 다른 Node B들로 향하고 있을 경우>
 
③ soft handover, UE에 연결된 여러 연결들이 각기 다른 Node B들로 향하고 있을 경우
 각각의 Node B들로 부터 들어온 TCP 값들은 5개씩 존재할텐데 각각의 TCP_cmd 값을 구합니다. 5개 모두가 파워 상승이라면 TCP_cmd=1, 모두 파워 감소라면 TCP_cmd=-1 가 되고 나머지 경우는 파워 불변 (TCP_cmd=0)이 됩니다. 그럼 연결된 Node B의 개수 만큼 TCP_cmd 값이 만들어 졌지요? 이들의 평균을 구합니다. 평균 TCP_cmd가 0.5 이상이라면 UE를 파워 상승시키고 -0.5 이하라면 UE의 파워를 감소시킵니다. 그 이외의 경우는 UE의 파워를 변화시키지 않습니다.
Downlink power control
 UE와 Node B의 역할이 바뀌는 것일 뿐 세부적인 동작 원리는 같습니다.  

3.1.3 Transport channel

 Physical layer와 MAC 사이의 인터페이스 역할을 담당하는 transport channel는 크게 dedicated channel과 common channel 두 가지 종류로 나위어 질 수 있습니다. dedicated channel은 말 그대로 수신자와 송신자 1:1 통신을 하는 채널을 말합니다. 이와 달리 common channel은 일 대 다수의 통신을 할 수 있습니다. 이 채널은 앞서 살펴 보았던 Physical channel과 마찬가지로 전송 방향과 FDD/TDD 지원 여부에 따라 구분됩니다. 이에 더하여 통신 회선이 얼마만큼의 데이터를 전송할 수 있는가에 따라서도 구분됩니다.
 

3.1.4. MAC (Medium Access Control)

 MAC protocol은 말 그대로 통신 수단 자원 접근을 제어하는 protocol입니다. 앞서 이동통신에서는 통신 주파수 영역이 한정되어 있다고 말씀드렸습니다. 따라서 각각의 사용자들이 언제 얼마나 사용 영역을 배분 받는 것이 중요해지는데 그 역할을 담당하고 있는 protocol입니다. (상위 layer인 RRC layer에서 제어 받게 됩니다.)
 MAC는 통신자원의 동적할당을 합니다. 이것은 다시 말하자면 자원을 점유하고자 하는 유저간의 우선순위를 정한다는 말이죠. 처음에 logical, transport channel를 서로 연결시키고 tranport 할 데이터의 포멧을 결정한 후, 데이터의 우선 순위를 결정하는 방식으로 순위를 결정하게 됩니다.
 일반적으로 MAC은 각 UE 당 하나씩의 instance를 생성하여 관리하며, 다수의 logical channel와 다수의 transport channel를 각각 사용하여 입출력 통로를 여러개 가지고 있습니다.
 

3.1.5. Logical channel

 이 채널의 주된 역할은 데이터 전송의 특징을 결정 짓는다는 것입니다. 일 대 일 통신인지, 일 대 다수 통신인지, user plane 인지 control plane 인지 여부도 결정됩니다. 이 채널도 역시 전송 방향과 FDD/TDD 지원 여부에 따라 구분됩니다. Physical channel, Transport channel, Logical channel이 한 조로 데이터를 송수신한다는 이야기는 앞서 했었는데, 세 채널 각각 어떤 통신 방향과 어떤 division duplex를 사용하는지에 맞게 한 조로 구성되어 데이터를 송수신하게 됩니다.
 예를 들면, Physical channel의 PCPCH (Physical Common Packet Channel) - Transport channel의 CPCH  (Common packet Channel)- Logical channel의 DCCH (Dedicated control channel)는 모두 FDD 모드, uplink를 지원하여 한 조로 묶여 FDD 모드로 uplink 데이터를 처리할 수 있게 되는 겁니다.
 

3.1.6. RLC (Radio Link Control) protocol

 일반적으로 RLC instance는 서비스 당 하나씩 사용하게 됩니다. 이것은 각 서비스들이 각기 다른 QoS(Quality of Service) 기준을 가지고 있기 때문입니다. 다시 말하자면 정상적인 데이터의 송수신을 위하여 서비스마다 각기 다른 전송 속도와 신뢰성 조건을 만족하는 RLC 세팅이 필요하기 때문입니다. 또한 데이터를 자르거나 (segmentation) 잘린 데이터를 이어 붙이는 (reassembly) 기능도 담당하게 됩니다. 데이터 이동 단위는 PDU로 큰 PDU가 작은 PDU로 잘려서 layer를 이동하게 됩니다. 혹은 반대의 경우 잘려진 PDU가 연결되어 큰 PDU로 복원되어 사용됩니다.
 신뢰성있는 두 RLC 간 데이터 전송을 가능하게 해 주는 서비스입니다. 대표적인 기능으로는 ARQ (Automatic Repeat Request)와 flow control가 있습니다.
 ARQ는 에러를 감지했을 경우 데이터를 재전송을 요청하는 기능을 담당합니다. 이 기능 때문에 PDU가 순서가 엉망으로 들어오더라도 (원래 크기의 PDU로 안전하게 복원하기 위해서 잘려진 PDU들은 그 순서 정보값을 각각 가지고 있습니다.) 원래 PDU로 안전하게 복원할 수 있습니다.
 Flow control은 말 그대로 버퍼가 데이터로 넘쳐 데이터 손실이 나타나지 않나 감시하는 기능을 담당합니다.
 
Ciphering
 Ciphering은 데이터 암호화를 담당합니다. UE나 RNC에서 f8 알고리즘을 사용해서 생성한 Keystream 값을 이용해 일반 데이터를 암호화하고 다시 Keystream 값을 사용해서 암호화된 데이터를 이전 상태로 되돌립니다. 일반적으로 Ciphering은 RLC에서 일어나게 되나 RLC가 transparent하게 동작할 경우는 MAC Layer에서 이루어지게 됩니다.  
 

3.1.7. SAP

 SAP은 Layer 간의 인터페이스 역할을 해주는 논리 영역을 의미합니다. channel도 일종의 SAP이라고 볼 수 있는데요. SAP은 RRC 와 각 AS layer들 간의 control message 전달을 할 때 인터페이스 역할을 하며, PDCP, BMC와 AS layer 들과의 연결 사이에도 인터페이스 역할을 해주고 있습니다.
 

3.1.8. RRC (Radio Resource Control) protocol

 여기에서는 RRC signaling message의 전송을 담당하는 RRC connection의 생성, 수정, 해제를 담당합니다. RRC connection은 UE와 UTRAN 사이에서 일어나게 되는데, NAS 쪽에서 RRC connection을 이용하는 전송 서비스들을 제공합니다. UE에서는 RRC 프로토콜이 1개만 생성되나 여러 UE들과 연결해야하는 UTRAN에서는 여러개의 RRC 프로토콜 instance를 갖게 됩니다.
 두번째로, 중요한 RRC 프로토콜의 기능은 뒤에서 자세히 살펴 볼 RAB (Radio access bearer)에 관한 기능입니다. RAB는 NAS의 UE에서 CN으로 올라가는 음성, 패킷 데이터들 즉, user plane connection을 생성하는 역할을 담당합니다.
 세번째로 Mobile mobility을 지원을 담당하고 있습니다. 뒤에서 설명하게 될 각종 handover들을 제어하여 단말기의 자유로운 이동성을 보장합니다. 또한 Cell, URA 영역을 갱신하여 효과적으로 망내 단말기의 위치를 파악할 수 있도록 합니다. (이에 대해서도 뒤에서 설명하도록 하겠습니다.)
 
3.1.8.1 RRC connection state
 UE는 RRC connection의 상태에 따라 미리 정의된 해당되는 state에 위치하도록 되어 있습니다. 이 state에 대해서 알아봅시다.
 
<UTRAN RRC connection mode>
① CELL_DCH state
 RRC connection request나 UTRAN이 연결 세팅을 변경할 때 되는 state입니다. UTRAN, SRNC에서 UE의 위치 정보를 가지고 있습니다. UE는 이 상태에서 할당되거나 공유된 자원을 모두 이용할 수 있고 RNC로부터 받은 TCF의 범위 내에서 활용가능합니다. 또한 이 state에서 physical layer 기술 (channelization이나 scrambling code 등)로 UE identification이 가능합니다. 이 곳에선 모든 state로 이동 가능합니다.
 
② CELL_FACH state
 이 state는 uplink가 사용가능하다는 것이 특징입니다. UTRAN이 RRC 연결할 때 UE에게 common channel을 쓰도록하거나 RB reconfiguration 의 일환으로 이 state에 진입하게 됩니다. common channel은 전송량에 따라서 다르게 쓰게 됩니다. (적은 uplink 전송량에 대해서는 RACH, 큰 전송량에 대해서는 CPCH를 각각 사용)
 UE의 위치정보는 cell 쪽으로 알려지게 되는데 이 데이터를 기반으로 뒤에서 이야기하게 될 cell update가 일어나게 됩니다. 이는 UE의 위치정보를 정확히 파악하기 위함입니다. 이 때 cell 내에서 UE는 SRNC로부터 u-RNTI라는 임시 식별자를 받아서 인식됩니다.
 
③ CELL_PCH state
 이 state의 근본적인 목적은 DRX (Discontinous Reception) parameter (뒤에서 paging개념과 함께 살펴 보겠습니다.)를 사용해서 베터리 사용량을 줄이고 UE의 정확한 위치를 망에 인지시켜 주는 것입니다. 망에서 주기적으로 UE로 보내는 신호(paging)를 UE가 속한 cell에만 발신하게 해주는 것입니다. 이 state는 위에서 설명한 CELL_DCH, CELL_FACH state 쪽에서 건너와야 하는 곳이고 cell의 정보를 주기적으로 체크해서 cell update를 가능하게 합니다. UTRAN 쪽에서 paging message를 받게 될 때도 이 state로 넘어와서 UE에서 응답을 해주게 됩니다.
 
Sleep mode
 paging를 설명하기 앞서 UE의 sleep mode에 대해 알아야 합니다. UE는 베터리를 보존하기 위해서 사용자가 일정 시간 핸드폰을 사용하지 않을 때마다 sleep mode로 들어갑니다. sleep 모드에서는 외부로부터의 음성 통화, 문자 메시지가 들어오거나 사용자의 입력을 인지할 수 있을 정도의 최소한의 전기만을 사용합니다. 내외부에서 신호가 감지되면 UE는 sleep 모드에서 빠져 나와 정상적인 상태로 돌아갑니다.
 
Paging
 UE의 sleep mode를 제어하기 위해서 CN이나 UTRAN에서는 주기적으로 DRX를 UE에게 전송합니다. 이를 paging이라고 하고 이 때 전송되는 메시지를 paging message라 일컫습니다. paging message는 8개의 레코드로 구성되는데, 각각 paging 목적이나 식별자 정보등을 가지고 있습니다.
 
④ URA_PCH state
 DRX를 사용한 베터리 절약 기능 등 기본적인 기능은 CELL_PCH와 같으나 다른 점이 있다면 프로세스가 UE가 속한 cell이아니라 URA (UTRAN registration area, cell들의 묶음) 단위로 이루어진다는 것입니다. 비슷한 기능을 담당하는 CELL_PCH state가 있음에도, 왜 이러한 state가 필요하게 될까요? UE가 고속으로 이동할 때를 대비하기 위함입니다. UE가 수많은 cell 들을 단시간에 지나가게 될 경우 CELL_PCH로 짧은 시간에 너무 잦은 cell update가 일어나게 되어 망 효율을 떨어뜨릴 위험이 있습니다. 여기서 UE의 이동 속도에 따른 URA의 크기 결정이 성능을 결정하는데 중요한 문제로 부각되게 되는데, 이는 뒤에서 다시 다루도록 하겠습니다.
 또 하나 CELL_PCH와 다른 점이라면 uplink를 지원하지 않기에, 망 update 등을 하기 위해서는 CELL_PCH로 넘어가서 데이터를 전송해야 한다는 점입니다.
3.1.8.2. Areas
 WCDMA에서는 NC에서 UE의 위치를 추적하는 것이 매우 중요합니다. 망에서는 UE에게 베터리를 절약할 수 있도록 주기적으로 paging라는 개념의 작은 데이터를 전송해 줍니다. 망에서 특정 UE와의 연결 세기가 약해짐을 감지하게 되면, 통신하기 위해서 paging 신호 세기를 증가시켜 계속적으로 UE가 paging를 받을 수 있도록 해야합니다. 따라서 계속적으로 UE의 위치를 추적해야할 필요가 있습니다. 그래서 cell 말고도 공간적인 영역 구분이 필요하게 되었습니다.
 여기서 말하는 영역에는 3가지 종류가 있습니다. LA(Location Area), RA(Routing Area), URA(UTRAN Registration Area)가 그것들입니다. RA는 기지국을 중심으로 이루어지는 cell 들의 집합체이며, LA는 이런 RA들의 집합체입니다. 이와는 별도로 URA는 가변적인 크기를 갖습니다.
① LA (Location Area)
 UE가 망과 연결이 끊어져 있거나 대기 상태일 때 UE가 cell 들을 지나가게 되면 UE는 LAI (Location Area Identifier) 값을 파악해서 현재 속해있는 영역을 구분합니다. 만약 자신이 속한 RA나 LA가 변경된 것이 감지 되면 LAU (Location Area Update) 를 사용해서 영역 정보를 정확하게 바꾸게 됩니다. 크기가 다르지만 거의 같은 특징을 갖고 있다고 할 수 있습니다.
 
② RA (Routing Area)
 LAI가 RAI (Routing Area Identifier)가 되고 LAU가 RAU (Routing Area Update)가 되는 것일 뿐 내용은 LA와 같습니다.
 
③ URA (UTRAN Registration Area)
 UE가 빠른 속도로 cell 들을 통과한다고 할 때 수많은 영역 update가 일어나게 되어 사용자 데이터 이동이 없음에도 망 사용률이 불필요하게 증가하게 될 수 있습니다.
 따라서 URA의 개념이 필요하게 됩니다. 다수의 cell을 확보하여 UE의 빠른 이동에 대비하는 것입니다. URA가 충분히 넓다면 영역 update가 그리 많이 필요하지 않을 것입니다. 그러나 paging 측면에서 생각해 본다면 URA가 많은 cell들을 확보하고 있으므로 UE가 속한 URA에 대해서 paging이 일어난다고 할 때 많은 paging 전송이 생성됩니다.
 만약, URA이 작다면 이와 반대 상황이 될 것입니다. paging 전송이 줄어드는 대신 영역 update에 대한 전송량이 늘어나게 될 것입니다.
 따라서 URA의 속도에 맞는 적절한 URA 크기를 결정하는 것이 망내 불필요한 전송을 줄이는 포인트가 될 것입니다.
3.1.8.3. Addressing
 수많은 UE들이 망에 존재하게 되는데 이들을 제어하고 통신을 연결시켜 주기 위해서는 각각의 UE를 식별할 수 있는 수단이 필요하게 됩니다. 여기서는 UE 식별을 위한 addressing 방법에 대해 얘기해 보죠. UMTS망에서의 addressing은 크게 CN addressing과 UTRAN addressing으로 나뉘어 집니다.
 
3.1.8.3.1. CN addressing
① IMSI
 15자로 구성된 CN의 HLR에 기록되어 있는 UE 고유의 식별자입니다. 각각의 UE를 구분하거나 UE의 위치를 파악하기 위해서 사용됩니다. MMC (Mobile Country code)와 MNC (Mobile Network Code), MSIN (Mobile Subscriber Identification Number) 으로 구성되어 있습니다. 즉 국가 번호 + 네트워크 번호 + 전화번호의 결합 순서로 이루어집니다. (MCC + MNC + MSIN = IMSI) 예를 들어 이런 식이 되는 겁니다.
 
<IMSI의 구조>
 
 이 정보는 SIM 이라 불리우는 3G 단말기에 끼우도록 되어 있는 칩에 저장되어 있습니다. 잠깐 이에 대해서 살펴 보도록 하죠.
SIM (Subscriber Identity Module)
 3G 단말기에 끼울 수 있게 설계된 사용자 정보를 저장한 칩입니다. 이 SIM 카드가 없는 단말기는 정상 서비스를 받을 수 없습니다. 사용하려는 핸드폰이 분실된 것인지 검증된 UE가 맞는지 여부를 망에서 확인하기 위함입니다. 고유한 IMSI 값들을 가지고 있으며 인증 알고리즘 (f1, f2, f3, f4, f1*, f5* 등), PIN number, 로밍관리 정보, 음성 사서함 번호, 전화 서비스 목록 등에 대한 정보를 담고 있습니다. 이 카드를 다른 3G 단말기에 넣는 것 만으로도 통신회사로 부터 기존과 같은 과금체계와 서비스를 제공받을 수 있습니다. (그러나 2008년 12월 현재, 아직까지 한국에서 외국과 같은 자유로운 SIM 사용에 대한 규제는 완전히 풀리지 않은 상황입니다.)
 ② TMSI (32bit)
 망에서는 사용자의 indentity와 사용자의 현재 위치를 비밀로 보장해야 할 의무가 있습니다. TMSI는 보안상 UE의 진짜 정체를 감추기 위해 GSM에서 망이 UE에게 임시로 부여하는 식별자입니다. 내부적으로 LAI 정보와 UE 식별자를 함께 갖고 있는 방식입니다. CS domain에서 사용됩니다. 일반적으로 암호화된 연결을 통해서 부여됩니다. 망에 의해서 주기적으로 바뀌어 질 수 있는 값이며 현재 UE가 속한 MSC 안에서만 그 의미를 갖습니다. 보안상의 이유로 특정 UE가 TMSI 값을 오래 가지고 있는 것은 허용되지 않습니다.
 
③ The P-TMSI (32bit)
 기능은 TMSI와 같습니다. PS domain에서 사용하는 TMSI라 생각하시면 됩니다. 보안상 UE의 진짜 정체를 감추기 위해 GPRS에서 UE에게 임시로 부여하는 식별자입니다. 일반적으로 암호화된 연결을 통해서 부여됩니다. 망에 의해서 주기적으로 바뀌어 질 수 있는 값이며 현재 UE가 속한 SGSN 안에서만 그 의미를 갖습니다. 보안상의 이유로 특정 UE가 P-TMSI 값을 오래 가지고 있는 것은 허용되지 않습니다.
 
3.1.8.3.2. UTRAN addressing
 UE가 CELL_DCH state에 존재할 때는 전적으로 physical layer 쪽의 자원 (channelization code, scrambling code 등)만을 가지고 UE를 식별해 내야 하지만 그 이외의 경우라면 다음과 같은 식별자가 있습니다.
① s-RNTI (20bits)
 SRNC에 의해서 결정되는 식별자로 SRNS 내에서의 식별자 역할을 하게 됩니다.
② u-RNTI (32bit)
 s-RNTI와 RNC Id정보로 구성됩니다. UTRAN 내에서의 식별자 역할을 합니다. 망에서 paging하거나 망 update를 수행할 때 사용됩니다. 영구적으로 사용되는 식별자는 아닙니다.
③ c-RNTI (16bit)
 UE가 이동하여 cell 전환이 일어날 때, CRNC에 의하여 부여되는 식별자입니다.
3.1.8.4. RRC connection의 구성
 RRC connection가 연결되면 UTRAN에게 자원을 할당받게 되고 u-RNTI를 부여받습니다. 다른 통신 프로토콜에서 볼 수 있는 것처럼 여기에서도 각 계층별 논리적인 연결관계가 생겨납니다. 하나씩 살펴 보도록 하겠습니다.
① RL (Radio Link)
 RL은 physical layer에서 생성되는 연결입니다. 정확하게는, UE와 UTRAN의 Node B간의 연결이라 말할 수 있습니다. 하나의 RL은 하나의 Node B와 하나의 UE의 연결입니다. 하지만 Node B는 수많은 UE들과 연결을 유지하고 있으며 FDD모드 WCDMA망의 Node B에서 나가는 RF(Radio Frequency) carrier는 1개 입니다. 따라서 수많은 연결(RL)들이 하나의 RF carrier 안에 뭉쳐져서 나가고 있다는 말이 됩니다. 수많은 연결들은 각각 무엇으로 구분되어질까요? 앞서 설명했었던 대로 channelization code와 scrambling code들로 각각 구분지어지면서 각각의 UE와 연결됩니다.
 RLS (Radio Link Set)는 RL들의 묶음입니다. 하나의 Node B에서 나오는 연결들은 하나의 RLS로 볼 수 있습니다. softer-handover와 같이 하나의 Node B와 연결되어 있는 구조상에서는 같은 RLS에 연결되어 있다고 표현할 수 있는 것이죠.
 
② SRB (Signaling Radio Bearer)
 RB (Radio Bearer)는 AS단에서 활용되는 연결입니다. 사용자 정보들이나 signal 전송 모두에 사용되는데 특별히 signal 전송에 사용되는 RB를 SRB (Signaling Radio Bearer)라고 일컫습니다. SRB에는 앞서 살펴봤던 physical channel connection, transport channel connection, logical channel connection, RLC channel connection가 존재합니다. 이들이 연결됨으로서 RRC connection이 연결되는 것이죠. SRB는 physical channel connection을 제외한다면 UE와 SRNC간의 연결이라고 볼 수 있습니다.
 
③ RAB (Radio Access Bearer)
 RAB는 RB에 비해 보다 상위단, 즉 NAS에 관련된 개념이라고 볼 수 있습니다. SGSN의 요청으로 QoS에 의거하여 만들어지는 이 연결은, 신호 정보들을 주고 받는 SRB와는 달리 RAB는 사용자 정보들을 나르는데 초점이 맞추어져 있습니다. 이 연결은 Iu-bearer와 RB로 구성됩니다.
 
④ PDP context
 PDP context는 RAB보다도 한 단계 상위 개념입니다. PS domain을 사용하는 사용자 데이터들을 UE에서 GGSN까지 QoS에 의거하여 연결시켜줍니다. 이 연결은 CN bearer와 RAB로 이루어집니다.
3.1.8.5. Message Integrity Protection
 NAS부터 고레벨 AS단 사이에서 쓰이는 RRC message는 RRC connection의 연결을 요청하거나 끊을 때 등 여러 작업에서 쓰이게 됩니다. 이 RRC Message들의 신뢰성을 보장하기 위해서 Message Integrity Protection 라는 개념이 나오게 됩니다. 이는 UE나 UTRAN의 RNC 모두에서 쓰일 수 있습니다.
 UE 나 RNC는 f9 알고리즘에 여러 파라메터들을 넣어서 MAC-I 값을 생성해 낼 수 있습니다. RRC message가 필요할 때 송신자는 이 MAC-I 값을 메시지에 합쳐서 (Message Integrity) 수신자에게 보내주게 됩니다. 수신자 역시 f9 알고리즘을 사용할 수 있기 때문에 이를 이용해서 XMAC-I (Expected MAC-I) 값을 생성해 낼 수 있습니다. 수신자는 이 두 값을 비교하여 해당 RRC Message의 신뢰성을 판별하게 됩니다. 같으면 정확한 RRC message로 인지하고 그렇지 않다면 부적절한 접근으로 인지합니다.
 

3.1.9. PDCP (Packet Data Convergence Protocol)

 PS domain만을 사용하는 프로토콜입니다. 뒤에서 살펴볼 handover가 일어날 때, SRNC 전환이 일어나게 되는데 이때 데이터의 손실이 일어나지 않도록 데이터를 재전송하도록 해줍니다.
 

3.1.10. BMC (Broadcast and Multicast Control) protocol

 cell에 SMS를 뿌리는 역할을 지원하는 프로토콜입니다. 메시지는 주기적으로 common physical channel로 들어오게 되고 얼마나 주기적으로 들어오느냐는 UE에게 뿌려진 SIB5, SIB6 메세지로 결정되게 됩니다. 사용자는 UE를 조작하여 이런 식으로 특정 지역 내 모든 UE에게 뿌려지는 (broadcast) 메시지를 차단할 수 있습니다.
 

3.2. NAS (Non-Access Stratum)

 
 앞서 AS를 설명할 때 무역에 빗대어 이야기 했었습니다. 그러나 나라 간에 단순히 길만 냈다고 무역이 이루어지는 것은 아닙니다. 서로 관심 무역 품목도 확인하고 계약서 만들고 그 길을 활용해 무역을 할 수 있도록 논리적인 기반을 만들어야 합니다.
 이와 마찬가지로 단순히 데이터를 주고 받게 되었다고 해서 전화 통화나 문자 송수신이 연결되는 것은 아닙니다. 서로 전화번호를 확인하고 해당 사용자가 망에 정상적으로 등록하는 사용자인지도 파악하는 등 오고가는 데이터를 활용해서 실제 통신이 이루어지게 해야합니다. 이 역할을 NAS에서 하게 되는 것입니다.
 NAS는 상대적으로 고레벨 (하드웨어적이기보단 소프트웨어적인 레벨) 단의 protocol을 가리키는 개념입니다. 결국 망 통신은 CN과 UE간 데이터를 주고 받는 행위죠. 사용자나 중앙 네트워크 입장에서 서로간 주고 받는 데이터가 어떤 식으로 복잡한 망 구조를 지나는가를 일일히 계산하고 따져가며 데이터를 송수신한다면 복잡하고 비효율적인 구조가 될 것입니다. 따라서 UE가 UTRAN과 어떻게 데이터를 주고 받는가, UTRAN과 CN 사이의 데이터 송수신은 어떻게 되는가와 같은 문제들은 하부 물리 layer 쪽의 AS에게 맡기고 NAS에서는 실제로 송수신되는 데이터를 활용해서 어떻게 전화나 문자를 사용자들이 사용하게 할 것인가가 관심사가됩니다.
 다시 이 NAS는 User plane과 Contol plane 두 가지로 구분됩니다. User plane은 사용자가 주고 받기 원하는 음성, 문자 등의 데이터들을 가리킵니다. Control plane은 그런 사용자 데이터를 주고 받는 것을 돕기 위해 NC와 UE간 주고 받는 기타 신호 정보들을 일컫는 말입니다.
 대표적으로 사용되는 프로토콜은 앞서 간략하게 언급했었던 MM, CC, SS (Supplementaty Service), SMS, GMM, SM protocol 등이 있으며 실질적으로 user service control, registration, indentification, authentication, MM funfction 등의 기능을 담당하고 있습니다.
 

3.3. Authentication

 
 모든 데이터 통신의 기본은 보안입니다. 특히 핸드폰을 이용한 무선 통신은 사용한 만큼 사용자에게 요금이 부과되는 시스템이기 때문에 보안의 중요성은 더욱 커진다고 봐야 합니다. 그렇기 때문에 UE에 대한 인증 절차가 중요해 집니다. 먼저 인증에서 중요한 역할을 담당하는 AV 값에 대해서 살펴보겠습니다.
 

3.3.1. AV (Authentication Vector)

 AV는 RAND, XRES, CK, IK, AUTN 값들의 집합으로 만들어지는데 인증 절차에 중요한 역할을 담당합니다. 이 값은 보안을 이유로 재사용되지 않고 사용 후 폐기 됩니다. AV를 구성하고 있는 값들에 대해 간략하게 알아보도록 하겠습니다.
① RAND (128bit)
 망의 AuC로부터 생성되는 임의의 수입니다.
② XRES (32bit)
 망에서 RAND와 authentication key값을 바탕으로 생성되는 값입니다.
③ CK (128bit)
 UE와 RNC간 암호화 통신을 가능하게 해주는 역할을 담당합니다.
④ IK (128bit)
 authentication key값과 RAND 값을 바탕으로 생성되는 값입니다.
⑤ AUTN (128bit)
 SQN, AK, AMF, MAC 값으로 만들어지는 데이터 집합체입니다.
⑥ MAC (64bit)
 UE가 인증요청을 검증할 때 쓰이는 값입니다.

3.3.2. Authentication 절차

 
<일반적인 UE 인증 절차>
 
 WCDMA에서는 인증 절차가 양방향로 이루어 집니다. 즉, 망은 적합한 UE인지를 인증하고 UE는 적합한 망인지 여부를 인증하죠. 3G 단말기에 끼우도록 되어 있는 USIM 칩과 망에서는 authentication key라는 값을 갖고 있습니다. 이 값을 비교하여 상대방이 적합한 통신 상대인지를 판별하게 됩니다.
 
 그럼 이를 상기하면서 일반적인 UE 인증 절차에 대해서 살펴보겠습니다.
 VLR/SGSN가 인증이 필요한 새로운 UE를 감지하게 되면 우선 HRL/AuC에게 인증에 필요한 AV라는 인증에 필요한 값을 보내달라 요청합니다. HRL/AuC가 AV 값을 보내오게 되면 VRL/SGSN은 그 값들 중 하나의 AV 값을 고르고, 해당 AV 내부에 있는 RAND (Random Number) 와 AUTN (Authentication Token) 값을 빼내서 인증이 필요한 UE에게 넘겨줍니다.
 UE는 USIM 내부의 인증 알고리즘 중 하나인 f1 알고리즘을 사용해서 XMAC (Expected MAC) 값을 생성하고, 망으로 부터 받은 AUTN 내부에서 MAC 값을 추출해 XMAC과 MAC을 비교합니다. 이 값이 다르면 인증실패가 됩니다.
 두번째로, UE는 망으로부터 받은 AUTN, RAND와 authentication key 값을 f5 인증 알고리즘에 사용해서 SQNHE (The Sequence Number frome The Home Environment) 값을 생성해 냅니다. 이 SQNHE 값을 가지고 있는 USIM에 저장되어 있던 SQNMS값과 비교하여 32 이상 벗어났을 경우 역시 인증 실패가 됩니다.
 앞의 두 비교에서 인증이 모두 성공했다면 UE는 f2, f3, f4 알고리즘을 사용해서 RES, CK, IK값들을 각각 생성해 내고 이를 SGSN/VLR로 다시 보내 줍니다.
 UE가 보낸 RES는 CN에게 보내지고 CN에서는 XRES (Expected RES)를 생성하여 RES 값과 비교합니다. 만약 이 두 값이 같다면 해당 UE는 마침내 성공적으로 인증을 받은 것이 됩니다.
 
 

4. 마치며

 
 미약하나마 WCDMA에 관하여 전반적으로 살펴보았습니다. WCDMA는 광범위한 기술이라 처음 접하시는 분들이 쉽게 이해하기는 힘들 것이라 생각합니다. 이 주제에 대해서 공부하시는 분들에게 이 글이 작게나마 도움이 되셨길 바랍니다.
 
 

5. 참고문헌

 
서적
 
Andrew Richardson, "WCDMA Design Handbook", Cambridge University Press
(WCDMA 원리에 대해서 자세히 서술하고 있으며 본 글에 가장 큰 참고가 되었습니다.)
 
Harri Holma, Antti Toskala 공저 / 방효창, 이상근, 조성언 공역, "WCDMA FOR UMTS", 세화 (박룡)
 
웹페이지
 
(인터넷 백과사전 웹페이지로 전파 공학적 부분을 이해하는 데 도움이 되었습니다.)
 
(다양한 UMTS 정보들이 게시되어 있는 사이트입니다.)
 
(ITU (International Telecommunication Union) 에서 제정한 3G 규격 관련 정보를 확인할 수 있습니다.)
 
(3rd Generation Partnership Project 의 홈페이지로 UMTS 관련 정보를 확인할 수 있습니다. 요즘은 B3G 기술인 LTE을 집중적으로 소개하고 있습니다.)
Posted by 응이

Dream come true.
응이

달력

태그목록