'2009/05'에 해당되는 글 8건


사용자 삽입 이미지




기 능

응용 층

(7 계층)

- 응용 프로세스간의 정보 교환 기능 실현

- 통신사가 목적으로 하는 다양한 서비스의 제공

- 응용 프로세스 상호간에 인터페이스와 통신을 위한 기능을 제공

프리젠테이션 층

(6 계층)

- 응용 층에서 주어진 정보를 공통으로 이해할 수 있는 구문으로 변환하는 기능 제공

- 통신하는 정보의 부호화, 암호화 등

- 다양한 표현 형식을 공통된 형식으로 변환

세션 층(5 계층)

- 프리젠테이션 층이 특성에 맞는 데이터를 교환할 수 있는 통신 방법을 제공

- 송신하는 권리의 제어(회화 담당)

- 다양한 응용기능을 만족하기 위한 전송제어 기능을 상위계층에 제공

- 송수신 제어와 양쪽 프로세스간의 데이터 전송을 위한 동기등의 처리를 담당

트랜스포트 층

(4 계층)

 

- 네트워크 층에 의존하지 않는 트랜스포트 서비스를 세션 층에 제공

- 송신측과 수신측 간에 정보 도달의 확인

- 하위계층을 이루는 각종 통신망의 서비스 결과 속성에 무관하게 균일한 데이터 전송을 세션 층에 제공

네트워크 층

(3 계층)

- 경로선택 기능 및 중계 기능을 제공

- 통신로의 채널 선택, 설정 및 해제 담당

- 단말과 컴퓨터는 서브 네트워크라 부르는 데이터 망(회선, 패킷망)과 전화 망 등의 다양한 통신망과 접속

데이터 링크 층

(2 계층)

- 인접하는 개방형 시스템간에 데이터 송수신을 수행하는 기능을 제공

- 통신로중의 한 구간의 오류 및 흐름 제어

- 시스템 양단간에 블록 전송이 이루어 지며 논리 네트워크에서 정확한 전송이 이루어지도록 통신로를 설정

물리 층

(1 계층)

 

- 데이터 링크층으로부터 인도된 데이터를 물리회선에 싣기 위한 기능 혹은 그 역의 기능을 제공

- 통신의 속도, 전압, 소켓의 핀수 등 정의

- 최하층으로 시스템간의 비트 전송이 전송로를 이용하여 수행

- 전기적 신호규격, 상호 접속회로, 제어순서와 기계적 규격등 정의



OSI 7계층의 역사적 등장 배경

 

1980년대 초 통신 기술의 발달과 개인용 컴퓨터의 보급으로 이 기종 컴퓨터간의 네트워크의 필요성이 절실하게 대두되자 국제표준협회(ISO)는 OSI(Open System Interconnection, 개방 시스템 상호 연결) 7 Layer라는 새로운 네트워크 모델을 발표 했습니다. 이 모델은 서로 다른 컴퓨터 기기간에 네트워크를 형성할 수 있도록 규정한 네트워크 모델 표준안 입니다. 이 모델은 모든 통신 관련 시스템, 즉 각종 네트워크 장비 및 컴퓨터기기 등에 동일하게 적용이 되는 개념이며 우리가 사용하고 접하는 모든 통신 관련 시스템은 이 OSI 7 Layer 범주에 속하게 됩니다.

이 OSI 참조 모델은 각 시스템의 하드웨어 및 소프트웨어 자원을 서로 다른 기능을 수행하는 7개의 계층으로 구분 했습니다..

 

각 계층은 가장 상위 계층에 속하는

응용층(Application Layer, 제7층),

표현층(Presentation Layer, 제6층),

세션층(Session Layer, 제5층),

전송층(Transport Layer, 제4층),

네트워크층(Network Layer, 제3층),

데이터링크층(Datalink Layer, 제2층)

그리고 가장 하위 계층에 속하는

물리층(Physical Layer, 제1층)등

7개의 계층으로 나누어집니다.

 

물론 모든 통신 시스템이 7계층을 다 가지고 있는 것은 아닙니다.

어떤 장비는 7계층을 다 구현(예, Gateway)한 기능을 가지고 있고 어떤 장비는 하위 1계층(예, 각종 케이블) 또는 3계층(예, 라우터) 만 구현한 장비도 있습니다.

다시 말하면 필요에 따라 모든 하드웨어 및 소프트웨어는 하나의 계층만으로 구현 될 수도 있고 여러 개의 계층에 걸쳐 구현 될 수도 있습니다.

 

두 컴퓨터가 서로 네트워크를 형성하여 데이터를 주고 받기 위해서는 7계층이 다 구현 되어야 하며, 각각의 계층은 서로 독립된 기능을 제공합니다. 서로 인접한 계층간에만 의존하게 됩니다.

OSI 참조모델의 제안 목적

 

OSI 참조 모델은 시스템간의 상호 접속을 목적으로 하는 각종 프로토콜의 표준을 개발하기 위한 공통 기반을 제공하는 것과, 기존 표준과의 관계 및 앞으로 개발되는 표준과의 관계를 명확히 하는 것을 목적으로 하고 있다. 또 이에 추가하여 앞으로 OSI가 표준화하려는 분야를 표시하고, 모든 관련된 표준들의 일관성을 유지하기 위하여 공통적으로 참조될 수 있도록 하는 것을 목적으로 하고 있으며, OSI참조 모델의 목적을 다음의 3가지로 집약할 수 있다.

 

- 시스템 상호간을 접속하기 위한 개념을 규정한다.

- OSI 규격을 개발하기 위한 범위를 정한다.

- 관련규격의 적합성을 조정하기 위한 공동적인 기반을 제공한다.

OSI 참조 모델은 각 계층의 프로토콜의 표준화를 생산적이며, 서로 독립적으로 수행할 수 있도록 통신의 개념과 그 기능에 대한 기준을 설정해 주는 것으로서, 통신 시스템을 설계하는데 있어서 통신 소프트웨어 등의 내장을 위한 사양이나 적합성을 규정하기 위한 것은 아니다.



◈ OSI 7 계층의 개념적 정의 및 특징

 

1. 계층적 기법을 사용 -- 관리와 사용의 효율성

2. 계층간의 독립성 -- 다른 계층에 영향을 최소화

3. 계층간의 상속성 -- 상위계층의 기능을 상속

4. 경계설정의 최소화 - 상호 동작의 수가 최소화되는 곳에 계층을 설정

5. 계층의 수를 최소화 


OSI 참조 모델의 동작

 

OSI 참조모델에서는 특정 시스템에 대한 프로토콜의 의존도를 줄이고, 장래의 기술 진보 등에 따라 프로토콜의 확장성을 고려하여 보편적인 개념과 용어를 사용하여 컴퓨터 통신망의 논리 구조를 규정하고 있다. 이 개념에 따라 OSI 참조모델은 통신 회선 등의 물리 매체에 결합된 하나 이상 복수개의 개방형 시스템이 통신망에서 특정한 업무를 분산하여 수행하기 위한 시스템간의 협동 동작(Cooperation)에 대하여 규정하고 있으며, 이 협동 동작에는 프로세스 상의 통신 데이터의 기억, 프로세스 및 자원의 관리, 안전 보호 및 프로그램의 지원 등이 있을 수 있다. 다음 그림은 이와 같은 목적으로 만들어진 OSI 참조모델의 7계층 구조에서 메시지가 전달되는 과정 보여주고 있다.

 

사용자 삽입 이미지

< OSI 참조모델 7계층의 동작 >

 

 

응용프로그램으로부터 만들어진 데이터는 OSI 참조모델의 각 계층을 거쳐 네트워크에 전달되고 최종적으로 목적지에 전송된다. 이 때 각 계층은 하위계층의 도움을 받아서 자신이 담당한 서비스를 제공하는데, 상위계층에서는 데이터에 필요한 정보를 담은 헤더(Header)를 붙여 하위계층으로 전달하게 되고, 하위계층은 상위계층의 헤더가 붙은 데이터를 전체 데이터로 인식하여 여기에 자신의 헤더를 붙여 하위계층에 전달하게 된다. 수신하는 쪽에서는 이와는 반대의 과정을 거쳐 응용프로그램에 데이터를 전달하게 된다. 응용프로그램이 메시지를 전달할 때는 OSI 참조 모델의 상위계층부터 동작이 이루어진다. 응용계층은 통신할 목적지를 찾아서 메시지를 전달하라는 명령을 표현계층으로 보내고, 표현계층은 상대방 컴퓨터와 내가 같은 컴퓨터 기종이라면 그대로 처리하고 다른 컴퓨터일 수도 있다면 표준화된 데이터 표현 방식으로 변환하여 하위 계층인 세션계층으로 보낸다. 세션계층은 목적지와 세션을 개설하기 위하여 전송계층에게 종점간 연결을 명령하고 전송계층은 네트워크계층에게 호 연결(Call Request) 및 패킷 교환기능을 이용하여 종점간의 정보전달을 제공한다. 모든 패킷은 링크계층의 정보 전달 단위인 프레임(Frame)에 실어 전송된다. 프레임을 구성하는 비트 정보는 전기신호 형태로 전송되며 이것은 물리계층에서 이루어진다.

 

OSI 참조모델의 7 계층 구조는 크게 상위계층(응용, 표현, 세션계층), 전송계층, 하위계층(네트워크, 데이터링크, 물리계층)으로 나누어볼 수 있는데 상위계층은 호스트 내부에서 처리되는 기능으로 계층 4부터 7까지에 해당된다. 전송계층은 두 장비의 연결을 확인하고 유지하는 기능을 수행하여 원격으로 떨어져 있는 장비들간의 거리의 문제를 해결하는 계층으로 전송계층으로 인하여 두 장비는 마치 옆에 있는 장비처럼 동작할 수 있게 된다고 할 수 있다. 하위계층은 OSI 참조 모델의 계층 1 에서부터 계층 3까지로 패킷의 전달을 처리하는 부분이다. 하위계층에 해당하는 프로토콜은 네트워크 내부에도 구현되어 있어 호스트들이 네트워크를 이용하려면 호스트에 있는 하위계층 프로토콜과 네트워크의 하위계층 프로토콜이 당연히 같아야 한다. 이 하위 계층을 서브네트워크(Sub-network)이라고도 한다. 다음 그림은 OSI 참조모델의 서브 네트워크를 나타낸 것이다.

사용자 삽입 이미지

< 서브 네트워크 

1 계층 : 물리 층(Physical Layer)

 

물리계층은 네트워크 케이블과 신호에 관한 규칙을 다루고있는 계층으로 상위계층에서 보내는 데이터를 케이블에 맞게 변환하여 전송하고, 수신된 정보에 대해서는 반대의 일을 수행한다. 다시 말해서 물리계층은 케이블의 종류와 그 케이블에 흐르는 신호의 규격 및 신호를 송수신하는 DTE/DCE 인터페이스 회로와 제어순서, 커넥터 형태 등의 규격을 정하고 있다. 이 계층은 정보의 최소 단위인 비트 정보를 전송매체를 통하여 효율적으로 전송하는 기능을 담당한다. 이를 위하여 커넥터의 기계적 규격(핀 간격 등), 0과 1의 신호를 구분하는 전압 레벨, 전송속도 등의 전기적 규격과, 데이터를 주고받기 위한 제어 신호의 사용 순서에 관한 규정을 정의한다. 컴퓨터 통신에서 물리 계층이 정상적으로 수행되고 있으면 두 장비 사이에 비트 단위의 데이터가 송․수신될 수 있는 환경이 갖추어져 있다고 할 수 있다.

 

네트워크의 데이터 전송속도는 이더넷의 경우 초당 10Mbps 정도로 매우 빠른 편이다. 일반 구리선(전화선)은 전송속도가 빨라지면 자체 정전용량이 생기고 주위 신호들과 간섭(전자파)이 일어나게 되므로 1Mbps 이상은 사용할 수 없다. 이 문제를 해결하려면 신호선 주위를 그라운드(Ground) 선으로 감싼 동축케이블을 사용해야 한다. 동축케이블은 거리에 따라 100Mbps 이상의 속도까지도 전송이 가능하다. 그러나 동축케이블은 가격이 비싸고 선이 두꺼워 공사가 불편한 단점이 있다. 그래서 그 중간 단계로 TP라인(Twist Pair Line)이 널리 쓰이고 있다. 이것은 신호 선과 그라운드 선을 꼬아서 만든 것인데 이렇게 함으로서 어느 정도 잡음의 영향을 줄일 수 있다. TP 케이블에는 UTP (Unshielded TP)와 STP(Shielded TP)가 있는데 TP는 선을 꼬으기만 한 일반적인 TP 케이블이고, STP는 UTP 주위를 다시 그라운드 선으로 감싼 형태의 케이블이다. UTP는 10Mbps까지, STP는 100Mbps까지도 전송이 가능하다. 더욱더 고속의 데이터를 전송하기 위해서는 광케이블이 사용된다. TP 케이블이나 동축케이블은 전기적신호를 이용하므로 전자파의 간섭이 없을 수가 없다. 그러나 광케이블은 빛을 사용하기 때문에 이론적으로 간섭이 0% 인 케이블이다. 선을 이용하지 않고 무선으로도 데이터를 전송할 수 있는데 무선 랜 등이 여기에 해당한다. 무선은 선을 이용하지 않기 때문에 케이블링 작업이 필요 없다는 장점이 있지만 현재 기술로 고속의 데이터 전송이 어렵다.

 

간단히 말하면 우리가 네트워크를 하기 위해서는 네트워크라인이나 라인들을 연결하수 있는 매체 즉 아웃랫, 링크 시키는 도구 등의 물리적인 장비들을 말한다.

즉, 물리 층은 시스템간에 물리적 링크를 작동시키거나 유지하며 전기, 기계, 절차 그리고 기능적 측면의 문제들을 정의한다

 

- 실제 물리적 연결설정 및 해제, 비트열 형태로 전송

- CCITT권장 4가지 특징(X21 프로토콜)

기계적 특징 : 접속기 규격, 핀 수정의

전기적 특징 : 신호의 전위규격(5v, 12v,..)과 timing

기능적 특징 : 각각의 신호의미 부여

절차적 특징 : 데이터 교환절차

- 전송매체 : 전화선(Twisted Pair), 도축, 광케이블

2 계층 : 데이터 링크 층(데이터-link Layer)

 

일단 이렇게 생각하면 쉽다. 물리적으로 연결되어있는 1계층 레이어가 마무리가 되었다면 실질적인 데이터들이 통과할 것이다. 이때 데이터들의 전송에 필요한 신뢰성을 책임질수 있는 계층이 바로 데이터링크 레이어이다.

 

데이터링크계층은 상위계층에서 보낸 데이터를 쪼개고 전송에 필요한 정보를 담아 하위계층인 물리계층에 전달한다. 정보를 전송하기 좋은 단위로 쪼갠 다음 헤더(목적지의 주소정보 등)를 붙이고 에러제어를 하는 경우 에러제어와 관련된 내용을 뒤에 붙여서 전송한다. 그리고 수신한 데이터에서 에러가 발생한 경우 재전송을 요구하는 등의 일을 수행한다. 데이터링크계층 역할은 크게 전송, 에러제어, 흐름제어로 나눌 수 있다. 즉, 물리계층으로 하여금 보다 신뢰성 있는 데이터의 전송 및 수신을 보장하도록 하기 위한 계층으로 비트의 흐름 제어, 데이터의 정형화된 포맷 정의(Frame Formatting), 오류를 감지하여 상위계층에게 보고 하는 상위계층과 하위계층의 연결관리(Link management) 등의 기능을 수행한다. 데이터링크계층에서 논리적 신호가 물리적 신호로 변환된다.

 

즉 데이터 링크 층은 물리적 링크를 통한 신뢰성 있는 데이터 전송을 제공한다. 이 계층은 물리적 어드레싱, 네트워크 토폴로지, 회선 사용 규칙, 오류 검출, 프레임 전달 그리고 흐름 제어 등에 관계한다.

 

- 데이터와 터미널사이 원활한 전송을 위한 흐름제어절차

- 전송절차에 따라 Data Link Service Unit(DLSU)전달

- 기능

순서, 오류, 흐름 제어

- Data Link 제어를 위한 표준 프로토콜

1. 문자위주의 링크 제어

BSC(Binary Synchronous Control)

-제어문자를 각 프레임에 삽입하여 전송제어

2. 비트 위주 전송

HDLC(High-Level Data Link Control)

- 전송프레임에 각각 특정 비트 패턴을 삽입하여

전송 및 흐름제어

 

가. 전송

전송은 비동기(Asynchronous)방식과 동기(Synchronous)방식으로 나눌 수 있다. 이는 클럭(Clock)의 유무로 구분되는데 클럭 없이 전송하는 경우를 비동기, 클럭과 함께 전송하는 경우를 동기라고 부른다. 예를 들어 비동기방식으로 ICQ라는 글자를 보내고 싶은 경우 ICQ의 ASCII코드 값(16진수로)인 49(I), 43(C), 51(Q)을 전송한다. 상위계층에서 49 43 51을 전달받은 링크계층은 49 43 51의 2진수에 해당하는 01001001 01000011 01010001을 전송한다. 전송하는 데이터에 대한 파형을 보면 <그림 2-5>와 같다. 이 파형만 가지고는 어디가 데이터 시작이고 어디서부터 값을 읽어야 하는지 찾기가 어렵다. 따라서 비동기방식에서는 데이터를 송수신하기 위하여 다음과 같은 약속을 하고 데이터를 전송한다.

나. 에러제어

데이터링크계층의 역할 중 전송 다음으로 중요한 것이 에러제어이다. 에러를 어떻게 발견하고 에러가 발견되었을 때 이것을 어떻게 처리할 것인가 하는 것을 에러제어라고 한다. 가장 기초적인 에러제어 방법으로 패리티비트를 사용하는 방법이 있다. 패리티는 대부분 바이트 단위로 패리티비트를 추가하여 전체 1의 개수를 짝수 개로 맞추는 짝수패리티와 홀수로 맞추는 홀수패리티가 있다. A글자의 경우 ASCII 코드로 0100 0001 임으로 짝수 패리티를 더한 신호는 0100 0001 0 이 된다. 그러나 표준 ASCII코드에서는 데이터를 한 바이트 전체에 표시하지 않고 데이터를 표시하기 위하여 한 바이트 중에서 7비트만 사용하고 나머지 한 비트는 패리티비트로 사용한다. 때문에 표준ASCII 코드를 사용하는 유닉스의 vi, 메일 등이 7비트 코드만을 다루고 있고 지금도 많은 혼란을 야기하고 있다. 받는 측에서는 데이터 비트 열과 패리티의 1을 카운트하여 짝수 패리티를 쓸 경우 1의 개수가 홀수개가 나오면 에러가 된다. 신호 열 내의 1의 갯수를 구하는 것은 간단한 로직으로 가능하기 때문에 쉽게 구현할 수 있다. 그러나 패리티는 각 바이트마다 1비트를 추가하므로 스타트 비트와 마찬가지로 막대한 낭비 요인이 되며 에러가 짝수 개 비트에서 발생한 경우 에러를 발견하지 못한다. 대부분의 에러는 한 두 비트가 깨지는 경우보다 여러 비트가 동시에 깨지는 경우가 많다. 전송속도가 9600bps의 경우 한 비트를 전송하는 시간이 104μsec 임으로 이렇게 짧은 시간만 데이터가 깨어지는 경우는 별로 없다. 이와 같이 데이터의 여러 비트가 동시에 깨어지는 경우를 버스트 에러(burst error)라고 하며 버스트 에러를 잡기 위해서는 블록 또는 프레임 단위의 에러 체크방법이 필요하다.

 

다. 흐름제어

대부분의 경우 우리가 전송하려는 데이터의 크기는 데이터링크계층에서 사용하는 프레임의 크기보다 훨씬 크다. 따라서 전송하려는 데이터를 여러 개의 프레임으로 나누어서 전송하게 된다. 만약 아무런 에러도 없고 1대 1로 연결되어있다면 송신 측에서 데이터를 전송만 하면, 수신측에서 데이터를 받게 될 것이므로 아무런 문제가 없을 것이다. 그러나 에러는 항상 존재할 수 있으며 또한 네트워크는 여러 개의 장비가 복수 개 물려있는 경우가 대부분이다. 따라서 프레임을 받은 쪽에서는 잘 받았다는 신호를 보낸 쪽으로 보내 안심을 시켜야 한다. 이러한 일련의 과정, 데이터를 순서대로 보내고 잘 받았는지 확인하고 못 받았을 경우 대처하는 방법을 흐름 제어라고 한다. 수신하는 쪽에서 송신한 쪽으로 데이터를 받았다고 보내는 신호를 응답(잘 받았을 경우는 : Acknowledgement 줄여서 Ack, 수신한 데이터에 에러가 있을 경우는 : Non-Acknowledgement 줄여서 Nak) 신호라고 부른다.

 

또한 흐름제어를 통하여 수신 장치의 용량 이상으로 데이터가 넘치지 않도록 송신 장치를 제어하는 일도 수행하게 된다. 수신 장치가 이전에 받은 데이터를 자신의 수신버퍼에서 처리하기 전에 송신장치가 다른 데이터를 전송하지 못하도록 제어한다. 즉, 송신장치는 수신장치로부터 응답신호를 수신하기 전에는 다음 데이터프레임을 전송하지 못하고 수신측에서는 수신버퍼에서 수신한 데이터프레임을 완전히 읽은 후 오류검사까지 완료한 후 응답신호를 송신측으로 보내게 된다. 이와 같은 흐름제어 방식에는 정지대기(Stop and Wait)방식과 슬라이딩 윈도우(Sliding Window) 기법이 있다. 정지대기 방식은 앞에서 설명한 것처럼 송신측에서는 데이터 프레임을 전송한 후 수신측으로부터 응답이 있을 때까지 다음 데이터 프레임을 전송하지 않는 방법을 말한다.

 

라. 다중접속제어

데이터링크계층의 또 다른 중요한 기능은 다중접속 제어(Multiple Access Control)이다. 앞에서 언급한 전송, 에러제어, 흐름제어는 일단 두 장치간에 일대일의 통신회선이 확보된 뒤의 이야기이다. 그러나 네트워크에서 많은 장치들은 한 라인에 묶여 있고 서로 대화를 원하므로 일단은 교통정리를 해야 한다.


3 계층 : 네트워크 층(Network Layer)

 

네트워크계층에서는 통신을 하고자 하는 노드들 간의 접속을 설정, 유지, 종료하며 주소지정, 통신 경로선정 등의 일을 수행한다. 데이터 패킷을 노드에서부터 다른 노드로 전달하고 노드들 간의 연결이 붕괴되었는가 점검하고 만약 붕괴되었으면 복구시키는 작업을 수행한다. 이 계층부터는 물리계층과 데이터링크계층의 두 하위 계층보다 비교적 소프트웨어적인 성격을 지니게 된다. 패킷 계층이라고도 하며 다음의 역할을 수행한다.

 

- 주소를 정하거나 논리적인 주소와 물리적인 주소를 번역한다.

- 네트워크 경로상의 모든 트래픽을 고려하여 최적의 경로를 선택 한다.

- 두 노드간의 논리적 연결을 수행하고 유지하며 접속지향 통신을 구축한다.

 

네트워크 계층이 하는 일은 네트워크 경로상의 모든 트래픽(Traffic)을 고려해서 데이터 패킷을 전송할 경로를 설정하여 하위 계층을 제어하는 것이다. 때문에 네트워크 계층은 자신이 속한 네트워크의 토폴로지를 알고 있어야 한다. 즉, 데이터 패킷을 보낼 때 목적지까지의 경로에 대한 복잡도를 고려해서 어디어디를 거처서 가라고 지시하는 것이다. 이처럼 데이터를 전송할 경로가 결정되면 데이터 전송은 네트워크계층 아래의 데이터링크계층을 이용하여 이루어지며 패킷의 올바른 전송 책임은 상위 계층인 트랜스포트계층이 지게 된다.

 

네트워크계층의 프로토콜은 크게 주소지정 프로토콜과 경로결정(Routing)라 프로토콜로 이루어진다. 전송하려는 상대 노드의 고유의 네트워크 주소를 인식하는 것은 주소지정 프로토콜에서 이루어진다. 즉, 논리적인 주소를 물리적인 주소로 번역하는 것이다. 경로결정 프로토콜에서는 목적지 노드로 가는 경로를 결정한다.

소프트웨어적인 요소의 층이다. 서로 다른 네트워크나 같은 네트워크의 연결에 사용되어지는 장비자체의 하드웨어와 소프트웨어의 규정을 만들어 놓은 것이지요. 레이어 설명 중 유일하게 "네트워크" 라는 글자가 들어있다.

 

그러므로 네트워크 레이어 층에서 핵심이 될 수 있는 기술과 내용을 함축하고 있으며 하드웨어 설계 시 많은 부분이 소프트웨어와 잘 어울리도록 노력하는 층이다.

즉, 네트워크 층은 다른 장소에 위치한 두 시스템간에 연결성과 경로 선택을 제공한다. 라우팅 프로토콜이 서로 연결된 네트워크를 통한 최적 경로를 선택하며 네트워크 층의 프로토콜은 선택된 경로를 따라 정보를 보낸다.

 

- 송수신지 간의 통신 경로 배정(Routing), 중계기능담당

- 대표적 프로토콜

X.25(패킷통신망의 표준)과 IP protocol

- 연결설정에 따라

1. 연결지향형 : 가상호출(Virtual Call)기법

- 논리적인 가상회선을 연결한 후 경로에 따라 전송

- 모든 패킷은 동일한 경로에 따라 전송

- 경로가 미리 설정된 관계로 고속전송이 가능

2. 비연결 지향형 : Datagram방식

- LAN처럼 연결설정없이 독립적으로 전송

- 서로 다른 경로 사용가능(망의 교통량에 따라 전송)

- 목적지 주소 부가하여 중계 전송함

 

 

이층서부터는 5,6,7 계층과 분리되어 설명 지울 수 있는 부분이다.

 

 

 

4 계층 : 트랜스포트 층(Transport Layer)

 

전송계층은 데이터를 전송하는 측과 수신하는 측 사이의 신뢰성 있고, 투명한 데이터 전송이 이루어지도록 한다. 즉, 송.수신측 간의 실제적인 연결설정 및 유지, 오류복구와 흐름제어를 담당한다. 전송계층은 하위계층의 각종 통신망 서비스의 차이 또는 속성에 관계없이 균일한 데이터 전송 서비스를 바로 위 계층인 세션계층에 제공하여, 상위 응용프로그램(Application) 위주의 계층과 하위 네트워크 위주의 계층 사이에서 둘을 서로 연결해 주는 역할을 수행한다. 특히 OSI 모델에서 전송계층 아래의 세 개의 계층을 서브넷(Subnet) 계층이라고 한다. 서브넷 계층의 역할은 송신측 노드에서 수신측 노드로 가는 패킷들을 실질적으로 전송하는 것이다. 신호나 데이터 패킷을 실질적으로 전송하는 일을 수행하는 브리지나 라우터 등은 이 세 개의 계층, 즉 서브넷 계층만을 이용한다. 서브넷 계층에서는 데이터 전송 시에 오류가 발생하면 오류 발생 데이터를 재전송 요청하거나 상위 계층에게 수정을 위한 정보를 통보하게 된다.

 

서브넷 계층의 전송 서비스는 연결지향 통신과 비 연결지향 통신 둘 다 제공한다. 연결지향 통신에서는 송신측과 수신측간의 연결을 먼저 설정하여 연결이 성공적으로 이루어지면 모든 데이터가 이 연결을 따라서 순차적으로 전송되고 전송이 완료되면 연결은 끊어진다. 이와 같은 연결지향 통신에서는 패킷들의 전송이 순차적으로 이루어지기 때문에 패킷들은 순서 번호를 부여받지 않아도 된다. 이와 반대로 비 연결지향 통신에서는 패킷들이 서로 독립적으로 전송되므로 각기 다른 경로를 통하여 목적지 노드로 갈 수 있기 때문에 패킷들이 목적지 노드에 도착하는 순서가 무작위이며 전송 도중에 데이터 손실이 발생할 수 있다. 따라서 전송에 앞서 패킷마다 반드시 일련번호를 할당해서 전송하여 목적지 노드에서 메시지가 정확히 재 조립될 수 있도록 한다.

 

또한 전송계층에서는 전송할 메시지를 상위계층인 세션계층으로부터 받아 패킷으로 쪼개고, 그리고 하위계층인 네트워크계층으로부터 받은 패킷은 세션계층에 사용하는 메시지로 재구성한다

트렌스포트란 말과 같이 데이터 전송에 따른 서비스를 제공할 수 있는 계층입니다. 데이터전송에 따른 신뢰성 및 유지성, 종료성, 전송시 나타날 수 있는 에러의 검출 및 복구, 또한 정보흐름의 절차 등을 제공하는 층이다.

즉, 트랜스포트 층은 데이터 전송 서비스를 제공하는 층이다.

 

- 상위계층과 하위계층의 중간계층

- 양 종단간의 실제적인 연결설정 및 유지, 투명한 데이터 전송보장

- 트랜스포트계층의 5등급

 

등급 특징 서비스 용도

Class 0

가장 간단한 형태 텔렉스 표준 CCITT 권고안

Class 1

기본적인 장애 회복 X.25 Packet Network

Class 2

다중화, 흐름 제어 Class 1의 향상

Class 3

Class 1 + Class 2 Class 2의 향상

Class 4

오류감지 및 복구 신뢰성 낮은 Network사용


 

5 계층 : 세션 층(Session Layer)

 

이층서부터는 애플리케이션에 관련된 층이라고 볼 수 있다. 각각의 네트워크로 연결되어 있을 수 있는 장비나 제일 밑단의 클라이언트들의 세션(네트워크 링크가 이루어져있는 단위)을 관장할 수 있는 층이다.

 

물리계층에서 전송계층까지의 주된 기능은 단순히 데이터를 전달하는 것이다. 이에 반해 세션계층에서 응용계층까지의 상위계층의 주된 기능은 데이터를 송수신하는 양쪽의 종점 컴퓨터 내의 프로세스간의 통신 프로토콜이라 할 수 있다. 세션계층은 응용프로그램간의 대화를 유지하기 위한 구조를 제공한다. 최소한의 기능은 두 응용프로그램간의 연결 설정, 유지 및 종료이다. 그밖에도 분실데이터의 복원을 위한 동기화지점을 두어 상위계층의 오류로 인한 데이터 손실을 복원한다. 세션(Session)의 사전적 의미는 회의 등 여러 가지 의미가 담겨있다. 하나의 세션을 만든다는 것은 같은 계층의 송․수신측이 함께 회의를 한다는 것이다. 예를 들어 우편 시스템에서 편지가 목적지에 잘 배달되었다 하여도 상대방이 편지를 받고 싶은 의사가 없다면 편지는 버려지거나 되돌아오게 된다. 컴퓨터 통신에서도 어떤 목적을 달성하기 위해서는 이를 처리하는 프로세서들이 서로 논리적으로 연결되어 있어야 하며 세션계층이 이를 담당한다. 세션계층은 이외에도 네트워크상의 오류에 대해 정형화된 절차를 거쳐 복구활동을 한다. 데이터 송.수신 중 오류가 발생하면 처음부터 재전송 하는 것이 아니라 오류가 발생한 지점 이후의 데이터만 재 전송하도록 한다. 세션계층은 네트워크 연결에서 컴퓨터상의 어플리케이션(Application)이 세션이라는 창을 통해 연결을 공유하는 것을 가능하게 한다. 이 세션계층은 동기화, 네트워크 오류 검사 및 복구 기능을 수행한다.

 

즉, 세션 층은 애플리케이션간에 세션을 구축하고 관리하며 종료시키는 역할을 하는 층이다. 세션 층은 프리젠테이션 층 사이의 대화를 동기 시키며 데이터 교환을 관리한다.

 

- 사용자 위주의 논리적인 연결서비스 제공

- 전송모드 결정(반이중, 전이중, 단방향, 병렬, 직렬, 동기, 비동기)

- 대화와 동기를 위한 데이터 교환을 관리(송수신의 동기권제어)

- 토큰(Token:특정서비스 요구권리)

 

 

 

 

6 계층 : 프리젠테이션 층(Presentation Layer)

 

설명을 쉽게 하자면 이렇다. 각각의 애플리케이션들의 정보를 서로 잘 통신할 수 있도록 필터하고 변환하는 층이라고 설명할 수 있다.

 

표현계층은 응용계층으로부터 넘겨받은 데이터를 세션계층이 다룰 수 있는 형태로 바꾸고 반대로 세션계층에서 넘겨받은 데이터를 응용계층이 이해할 수 있는 형태로 바꾸고 전달하는 일을 담당한다. 상위계층인 응용계층에서 표현하는 다양한 표현양식(통상 추상구문이라 칭함)을 공통적인 전송형식(통상 전송구문이라 칭함)으로 변환하여 사용자들이 사용하는 데이터의 표현 형식을 전송형식과 무관하게 사용할 수 있도록 해 주는 환경을 제공한다. 이를 위하여 응용계층의 사용자 입장의 데이터표현 형식인 추상구문을 표준화 형식으로 정의한 추상구문표기법을 표준으로 정의하고 있으며, 또한 전송구문을 위한 기본 부호화 규칙도 표준으로 정의하고 있다. 즉, 표현계층은 응용계층의 다양한 정보의 표현 형식을 공통의 전송형식으로 변환하고 암호화 및 데이터 압축기능 등을 수행한다. 마이크로소프트 네트워크에서는 리다이렉트(Redirect) 기능이 이 계층에서 제공되는데, 네트워크 리다이렉트는 네트워크 상에 있는 자원, 예를 들어 파일 서버 상의 파일을 윈도우 탐색기 등을 통해서 볼 수 있도록 해준다. 네트워크 리다이렉트는 네트워크 인쇄에도 적용되기 때문에 원격 프린터가 로컬 컴퓨터에 접속된 것처럼 만들어 주기도 한다. 표현계층에서 행하는 데이터변환의 대표적인 것이 인코딩, 디코딩과 암호화이다

 

즉, 프리젠테이션 층은 한 시스템의 애플리케이션에서 보낸 정보를 다른 시스템의 애플리케이션 층이 읽을 수 있도록 하는 층이다.

 

- 응용계층의 다양한 정보표현 양식을 수용

- 사용자가 이해하는 문장(추상구문)을 전송형태의 구문(전송구문)으로 변환

- 암호화, 데이터 압축 수행

 

 

 

 

 

 

7 계층 : 애플리케이션 층(Application Layer)

 

애플리케이션 층은 OSI 모델에서 유저와 가장 가까운 층이다. 이 계층은 OSI의 다른 어떤 계층에도 서비스를 제공하지 않는다는 점에서 다른 계층과 다르다. 이 계층에는 스프레드 쉬트, 워드 프로세싱 등이 속한다.

일반 어플리케이션이 이에 모두 속한다고는 볼 수 없으며 응용계층은 사용자에게 서비스를 제공하고 사용자가 제공한 정보나 명령을 하위계층으로 전달하는 역할을 수행한다. 우리가 잘 알고 있는 telnet, FTP, SMTP, POP, SNMP, WWW 그리고 마이크로소프트 네트워크와 노벨 네트워크 등이 이 서비스에 해당된다.

 

- 최상위 계층으로 사용자에게 통신을 위한 각종응용서비스 제공(전자우편, FTP,..)

- X.400 protocol 사용 


 


 

Posted by 응이

WCDMA 라디오 액세스 기술을 기반으로하는 3GPP 3세대 이동통신 시스템은 전세계에서 광범위하게 전개되고 있다. WCDMA의 첫번째 진화단계로 정의되는 HSDPA와 EUL은 중기적인(mid-term) 미래에서 있어 높은 경쟁력을 가지는 라디오 액세스 기술을 3GPP에게 제공한다. 그러나 사용자와 사업자의 요구사항과 기대가 계속적으로 증가하고 경쟁되는 라디오 액세스 기술개발이 계속 진행되고 있으므로 향후 10년 또는 그 이후까지 경쟁력을 유지하기 위해서는 3GPP에서의 새로운 기술진화가 요구된다. 이에 따라 3GPP는 고품질의 서비스를 제공하면서도 비용을 획기적으로 줄일 수 있는 무선 전송기술 개발을 목적으로 ‘Evolved UTRA and UTRAN’이라는 연구과제를 2004년 말에 착수하였다. 그래서 본고에서는 ETRI의 자료를 참고로 3GPP에 대하여 설명하려고 한다.

글 / 이봉주,신연승


3세대 모바일 시스템의 미래 장기 진화(LTE)에 대한 3GPP의 작업은 지난 2004년 11월 캐나다 토론토에서 개최된 RAN Evolution Workshop에서 시작되었다. 워크숍에서는 향후 10년 또는 그 이상에서 사용자의 요구를 만족시키기 위해 커버리지 확장 및 시스템 용량 개선뿐만 아니라 데이터 전송률과 지연 감소를 통해 사용자와 사업자의 비용을 줄이고 제공되는 서비스 품질을 개선하는 3G LTE 목표 달성을 위한 다음과 같은 상위 레벨 요구사항을 정의하였다.
? 비트 당 비용 감소
? 서비스 가용성 증대 보다 다양한 서비스를 저 비용에 제공
? 융통성 있는 주파수 밴드의 사용
? 단순 구조와 개방형 인터페이스
? 터미널의 적절한 파워 소모
2004년 12월 3GPP TSG RAN 26차 회의에서 승인된 UTRA-UTRAN LTE 연구과제(Study Item)는 높은 데이터 전송률, 낮은 지연, 그리고 패킷 최적화된 라디오 액세스 기술을 만들기 위한 3GPP 라디오 액세스 기술 진화 프레임워크 개발을 목적으로 하고, 2006년 6월까지 새로운 무선접속 규격과 아키텍처의 레이아웃을 선택하여 타당성을 조사(SI)하였다.
3GPP는 SI 단계를 마치고 3GPP 워크플랜에 E-UTRA(Evolved UTRA)와 E-UTRAN을 포함시키기 위하여 LTE 표준과제(Work Item)를 생성하고 2007년 6월까지 기본 규격을 작성하는 것으로 계획하고 있다.
(그림 1)은 3GPP LTE/SAE의 SI/WI스케줄을 보여준다.
요구사항
3GPP RAN WG들은 2005년 세 번의 합동 회의를 개최하여 E-UTRA와 E-UTRAN의 요구사항을 기술하는 연구과제 보고서 TR 25.913을 작성하였다.

워크 그룹별 표준화 작업
■ E-UTRAN의 프로토콜 아키텍처
E-UTRAN은 UE에게 E-UTRA의 사용자 평면(RLC/MAC/PHY)과 제어 평면(RRC) 프로토콜의 종단점을 제공하는 eNB(evolved NodeB)와 UE의 세션 및 이동성관리(SM/MM) 기능의 종단점을 제공하는 aGW(access GateWay)로 구성되며, 이들은 S1 인터페이스를 통해 연결된다.
(그림 2)는 E-UTRAN의 전체 프로토콜 아키텍처를 보여준다. E-UTRAN 아키텍처에서 eNB는 aGW선택, RRC 활성화 시에 aWG로의 라우팅, 페이징 메시지의 전송 및 스케줄링, BCCH 정보의 전송 및 스케줄링, 상향/하향 링크의 동적 자원 할당, eNB측정의 설정과 구성, 라디오 베어러 컨트롤, 라디오 어드미션 컨트롤(RAC), 그리고 LTE_ACTIVE 상태에서의 모빌리티 컨트롤 등의 기능을 수행한다.
aGW는 페이징 시작, LTE_IDLE 상태 관리, 사용자 평면 데이터 ciphering, PDCP, SAE 베어러 컨트롤, 그리고 NAS 시그널링의 ciphering과 무결성(integrity) 보호 등의 기능을 수행한다. 사용자 평면 프로토콜 스택에서 eNB에 위치한 RLC와 MAC 계층은 스케줄링, ARQ, HARQ 등의 기능을 수행하며, aGW에 위치한 보안 계층은 ciphering을 수행하고 PDCP 계층에서는 헤더 압축 기능을 수행한다.
한편 PDCP 계층과 관련한 보안 계층의 위치와 보안 계층에서의 무결성 보호 기능의 수행은 아직 합의되지 않아 계속 연구가 요구된다. (그림 2)에서 점선으로 표시된 제어평면의 기능 블록인 ‘Inter-Cell RRM’의 위치는 아직까지 확정되지 않았다. (그림 2)에서 eNB에 위치한 RRC는 브로드캐스트, 페이징, RRC 연결 관리, RB 제어, 모빌리티, UE측정 등의 기능을 수행한다. 한편 aGW에서 종단되는 NAS는 SAE 베어러 관리, 인증, 유휴 모드 모빌리티 관리, LTE_IDLE 상태에서의 페이징 시작, aGW와 UE 사이의 시큐리티 제어 등의 기능을 수행한다.

■ E-UTRAN의 Layer 1
RAN WG1은 LTE를 위한 새로운 무선 접속기술을 검토하고 이를 바탕으로 기술 보고서 TR 25.814를 작성하였다.
TR 25.912에 따르면 LTE의 하향링크는 FDD와 TDD 모두 OFDM 기반의 전송 기법을 기본으로 사용하며, 10ms의 라디오 프레임을 구성하는 20개 부 프레임별로 채널에 따른 스케줄링과 링크 어댑테이션(link adaptation) 기능을 수행한다. 상향링크는 수신 측에서의 효율적인 주파수 영역 등화(frequency-domain equalization)와 사용자간 직교성(inter-user orthogonality)을 유지하기 위하여 FDD와 TDD 모두 SC-FDMA 기반의 전송 기법을 기본으로 사용하며, 하향링크와 동일하게 10ms의 라디오 프레임을 구성하는 20개 부프레임 레벨에서 스케줄링 한다.
RAN WG1은 하향링크 전송에 Broadcast Channel(BCH), Downlink Shared Channel(DL-SCH), Paging Channel(PCH), Notification Channel (NCH)을 구분하여 사용하기로 하였으며, Multicast Channel(MCH)의 사용에 대하여 토의중이다. 한편 상향 링크 전송에서는 Uplink Shared Channel (UL_SCH)와 Random Access Channel (RACH)을 구분하여 사용한다.

■ E-UTRAN의 Layer 2
RAN WG2 또한 E-UTRAN의 무선 인터페이스 프로토콜의 연구를 수행하고 있으며, 자세한 사항들은 물리계층의 영향을 받지만 작업 초기에 기본 사항을 도출했다.
MAC 부계층은 논리채널과 전송채널의 매핑, PDU의 다중화와 역다중화, 전송 트래픽 보고, HARQ, UE와 논리 채널의 우선순위 관리, 전송 포맷 선택, 액세스 클래스와 액세스 서비스 클래스의 매핑 등을 수행한다. 한편, MAC 부계층에서 padding과 흐름 제어 등의 수행은 아직 합의를 도출하지 못하였다. 그림 3은 현재까지 정리된 논리 채널과 전송 채널 사이의 매핑 관계를 보인다.
RLC 부계층은 AM, UM 또는 TM 모드에서 PDU 전송, ARQ, segmentation, concatenation, 전송 순서 보장, 중복 데이터 탐지, 프로토콜 오류탐지 및 복구 등을 수행한다. 한편 SDU 폐기, 초기화 등의 수행과정은 아직 합의를 도출하지 못하였다. PDCP 부계층은 ROHC에 의한 헤더 압축과 복구, 사용자 데이터 전송 등의 기능을 수행하는 것으로 합의되었으나 사용자 데이터의 ciphering과 같은 보안 관련 이슈에 대해서는 계속 논의를 진행중이다.

■ E-UTRAN의 Layer 3
RAN WG3는 무선 액세스 아키텍처와 인터페이스 관점에서 연구를 수행하여 연구과제 보고서 TR R3.018을 작성하고 있다. TR R3.018은 이전과 비교하여 LTE 액세스 네트워크에서 새롭게 만들어지는 기능과 기존 기능들의 진화 등 E-UTRAN 개발을 위해 요구되는 기능을 도출하여 기술하고 있다.
3GPP LTE에서 핸드오버의 수행은 LTE RRC_CONNECTED 상태에서 다양한 DRX/DTX 사이클이 지원되며 UE가 보조하고 네트워크가 제어 방법을 기본적으로 사용한다.
E-UTRAN 내에서의 핸드오버를 위해서 RRC_CONNECTED 상태일 때는 핸드오버 준비를 위한 시그널링을 사용하면서 UE가 보조하고 네트워크가 제어하는 핸드오버를 수행하는 것으로 하고, RRC_IDLE 상태에 있는 경우 셀 재 선택이 수행되며 SRX가 지원된다. 유사하게 EUTRAN과 UTRAN 사이의 모빌리티, 즉 EUTRAN RRC-CONNECTED 상태와 UTRAN CELL_DCH 상태 사이의 핸드오버는 UE가 보조하고 네트워크가 제어하는 핸드오버 방법을 사용한다.
① LTE_IDLE 모드에서의 모빌리티 관리
상향/하향링크 상에 데이터를 전송하지 않는 상태인 LTE_IDLE 모드는 UE에 파워 소모를 줄일 수 있으나 네트워크에서 단말의 위치를 지속적으로 관리하여야 한다. LTE_IDLE 모드에서의 UE 모빌리티 관리는 다음과 같은 두 가지 방안이 고려되고 있다. 첫번째, TA 내에서의 등록, 컨텍스트와 사용자 평면 터널 관리, TA 내의 페이징, 라디오 관련 컨텍스트, 서브 스크립션 정보 운용 등을 eNB에서 담당하고 이를 바탕으로 eNB에서 UE의 모빌리티를 관리한다.
두번째, UE/사용자의 접속 상태, 모빌리티, 시큐리티, 그리고 IP 베어러 상태 등을 관리하는MME와 하향링크에서 사용자 평면의 종단점 역할을 수행하며 페이징을 트리거하는 UPE를 eNB 상위에 두고, MME에서 UE 컨텍스트, 서브스크립션 정보 등을 저장하여 UE의 모빌리티를 관리한다.
MME 간의 모빌리티 경우는 현재까지 컨텍스트 전송 또는 연결 재설정을 기반으로 하는 기법을 고려하고 있으나 아직 합의되지 않았다. 또한 MME가 LTE_IDLE 모드의 UE 모빌리티를 담당하는 경우, 진화된 시스템 아키텍처에서 MME의 위치(라디오 액세스 네트워크 또는 코어 네트워크)와 MME와 관련한 UPE의 위치는 많은 논의를 통해 결정될 예정이다.
② LTE_ACTIVE 모드에서의 모빌리티 관리
RAN WG3, WG3, 그리고 SA WG2는 2006년 2월 합동회의에서 LTE_ ACTIVE 모드의 UE를 위한 LTE 액세스 네트워크 내에서의 모빌리티에 있어 제어 평면의 정보 흐름을 포함하는 기본 절차를 합의하였다. LTE_ACTIVE 모드의 모빌리티는 그림 4와 같이 UE부터 보고받은 측정 정보를 기반으로 소스 eNB에 위치한 RRC가 핸드오버 결정, 타깃 eNB에서의 무선자원 준비, UE로의 핸드오버 명령, 소스 네트워크의 무선자원 해제 등의 절차를 통하여 제공된다.
한편 LTE_ACTIVE 모드의 UE를 위한 LTE 액세스 네트워크 내에서의 모빌리티에 있어 사용자 평면의 운용 방법은 2006년 4월 개최된 RAN WG3의 51-bis 회의에서 결정되었다. RAN WG3는 사용자의 데이터 손실을 고려한 무결절/무손실 서비스를 위해 지금까지 논의 되어온 aGW에서의 바이케스팅기법, 소스 eNB에서 타깃 eNB로 데이터 포워딩 기법, 그리고 aGW에서 패스 스위치 기법 중에서 실시간 서비스뿐만 아니라 비실시간 서비스를 위해서 데이터 포워딩을 사용하는 것에 합의하였다.
데이터 포워딩은 핸드오버 준비 단계에서 소스 eNB에서 타깃 eNB 사이에 설정되는 사용자 평면 터널을 통하여 수행된다. 또한 데이터 전송 순서의 보장을 위해 aGW에 위치한 PDCP가 데이터의 전송 순서를 재배열하는 기능을 갖는 것으로 결정하고 이에 관련한 협조 문서를 RAN WG2에 송부하였다. 한편 데이터 포워딩 단위는 outer ARQ SDU 또는 SDU/PUE를 고려하고 있는데 이는 RAN WG2에서 결정하게 될 것이다.

System Architecture Evolution
SAE 표준화 연구는 LTE에서 정의하는 목표 실현을 위해 네트워크 구조를 결정하고 이종 네트워크간 핸드오버를 지원하기 위한 기술을 SA WG2에서 연구중이며, 2004년 11월 캐나다 토론토에서 개최된 RAN Evolution Workshop에서는 UTRA 라디오 인터페이스와 더불어 3GPP 전체 시스템 아키텍처의 기술적 진화를 토의하였다.
이후 2004년 12월 TSG SA 26차 회의에서는 성능과 비용 면에서 3G모바일 네트워크의 장기적인 경쟁력을 유지하기 위하여 3GPP 액세스 기술의 장기적 진화, 패킷 스위칭 기술 수용, 시스템의 최적화와 지속적인 진화 등을 고려한 SAE SI가 승인되었다.
당초 SAE SI는 2006년 6월까지 3GPP 시스템 진화의 타당성을 조사하는 것으로 예정되었으나 TSG SA 31차 회의에서 연구 진행 상황을 고려하여 2006년 9월에 완료하는 것으로 계획이 변경되었다. 이후 SAE는 SI 단계를 마치고 3GPP 워크플랜에 진화된 시스템 아키텍처를 포함시키기 위하여 SAE WI를 생성하고 2007년 6월까지 기본 규격을 작성하는 것으로 계획하고 있다.
SA WG2는 높은 데이터 전송률과 작은 전송 지연을 보장하면서 다양한 라디오 액세스 기술을 지원하는 패킷 최적화된 시스템으로의 진화를 위한 프레임워크 개발과 이에 대한 적합성 검토를 목적으로 표준규격을 작성하고 있으며, 연구과제 보고서 TR23.882를 작성하고 있다.
SAE 연구는 음성 서비스를 패킷 스위칭 도메인에서 지원하는 것을 기본으로 가정하고 표준화 되어야 하는 기능 엔티티와 이들 사이의 인터페이스를 포함하는 구조적인 다이어그램, 이들 특성의 상위 수준 기술, 타이밍과 지연을 포함한 시그널링 플로 다이어그램, 그리고 중요 이슈들에 대한 해법 제시 등에 포커스를 맞추어 진행되고 있다.

■ 요구사항
SAE는 연구 진행 초기 회의들을 통해서 아키텍처 진화에 대한 주요 요구사항들을 도출하고 상위수준의 시스템 구조 진화의 개념들을 선정하였다.

■ 표준화작업
TR 23.882 표준규격 작성은 SA WG2를 중심으로 작성하고 있으며 이슈에 따라 RAN WG들과 SAWG1/3/4 등의 의결 사항을 반영하는 형태로 진행되고 있다.
가. 상위수준의 논리적 아키텍처
(그림 5)는 2005년 12월 일본에서 개최된 SAWG2 49차 회의에서 상위수준으로 작성된 SAE의 논리적 아키텍처를 보인다. 상위수준의 논리적 아키텍처는 SA WG2가 시스템 진화의 중요 이슈들을 토론하는 데 기본 바탕으로 사용하려는 목적으로 작성되어 시스템에 필요한 모든 기능과 인터페이스를 포함하지는 않는다. 따라서 진행되고 있는 중요 이슈의 토의 결과에 따라 기능과 인터페이스의 추가 및 변경이 요구된다.
SA WG2는 상위 수준의 논리 아키텍처에서 서로 다른 액세스 시스템 간의 모빌리티를 담당하는 사용자 평면의 앵커인 ‘Inter AS Anchor’의 기능 및 구조 등에 대해서 논의를 진행하고 있다. 또한 진행중인 RAN과 CN의 기능 분리 표에 따른 MME/UPE의 위치와 이들의 물리적 분리 등에 대한 논의가 진행중이다.
나. RAN WGs 연구내용 반영
SA WG2는 SAE와 관련한 RAN WG들의 연구 결과 즉, 상향링크에서 MDC를 고려하지 않는 것과 2006년 3월 TSG RAN 31차 회의에서 결정된 전체 RAN 아키텍처에 대한 개념을 SAE SI에 반영하고 있다. 또한 RAN WG들은 2006년 5월까지 LTE_IDLE과 LTE_ACTIVE 모드 이외의 추가적인 상태의 필요성 검토 결과를 포함하여 E-UTRA에서의 LTE_IDLE과 LTE_ACTVE 모빌리티 관련된 합의 결과, LTE 내 모빌리티와 UMTS와 LTE 간 모빌리티의 일관성을 검토하여 SAE에 반영할 예정이다.
다. SA WG1/3/4 연구내용 반영
SA WG1은 SAE의 기본 고려사항인 AIPN의 요구사항에 대한 적합성 검사 연구를 수행하고 있으며, SA WG2의 협조 요청에 따라서 연구에 반영하였다.
SA WG2는 SA WG3가 2006년 1월 완료한 제어평면과 사용자평면에서의 시큐리티 기능의 위치에 대한 검토 결과를 바탕으로 인증과 인증관련 시그널링 플로를 작성할 예정이다. 또한 SA WG3는 SAE에서 적법한 도청에 관련한 요구사항을 정리하였으며 USIM의 사용 방안을 확인할 예정이다.
한편 SA WG4는 E-UTRA와 GSM CS 사이의 핸드오버 등을 위한 음성 호 단절시간에 대한 요구 사항으로 음성에 대한 20ms의 손실이 단음절과 중요한 콘텐트 인지에 영향을 준다는 내용 등을 정리한 협조 문서를 작성하여 SAE에 반영하였다.

Posted by 응이

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 응이

CDMA란 ?

3GPP 2009. 5. 13. 17:44

 

1.CDMA 란 무엇인가?  

1.1 이동통신의 개요 및 발전
1.1.1 CDMA(Code Division Multiple Access)란?
CDMA란 대역확산(Spread Spectrum)기술을 활용하여 전체 대역 내에서 각각의 정보를 측정부호 및 시간차이로 분할하여 보내고 수신쪽에서도 전체대역 내의 많은 정보 중 송신시 사용된 것과 동일한 부호와 시간 차이를 갖는 정보만을 골라내어 원래 신호를 재생해 내는 방식을 말합니다.
CDMA는 동일한 주파수를 많은 셀에서 사용할 수 있으며, 타방식보다 간섭이 적고, 통화자가 침묵하고 있는 시간 동안 전송을 중지 함으로써 아날로그 방식보다 수용 용량을 많이 늘릴 수가 있습니다. 아래의 하태숙 박사의 설명 예를 보면 이해가 잘 될 것입니다.
1.1.2  CDMA의 시작과 이동통신 개요
1.1.2-1 CDMA의 시작
이동통신 사용자가 급증하게 따라 서비스 제공 업체들은 주파수 자원 문제에 직면하게 되었는데, 미국의 벤처 기업인 퀄컴사는 세계통신업계에 89년 초 새로운 제안을 했습니다. 1950년대부터 군용 및 위성통신에 쓰이던 대역확산(Spread Spectrum) 통신방식을 디지털 셀룰라 서비스에 응용할 수 있다는 연구결과를 발표한 것이었습니다.
90년 초반 우리나라뿐 아니라 미국, 유럽, 일본 등 세계 각국에서는 디지털 방식의 이동전화 개발이 본격적으로 진행되기 시작했는데 미국, 일본과 유럽 등 대부분은 이미 TDMA(Time Division Mutiple Access)방식으로 개발을 한창 진행 하고 있었고 뒤늦게 디지털 이동통신 사업을 시작한 우리나라는 미국의 일부 통신업체와 함께 CDMA(Code Division Mutiple Access) 방식을 채택하게 된 것이지요.
퀄컴이 CDMA방식의 디지털 이론을 발표했을 당시에는 일부에서 정교한 송신출력제어의 어려움과 통화절차의 복잡성 등을 이유로 상용 가능성을 부정했지만 CDMA이론이 제시하는 아날로그 대비 10배 가량의 용량증대 (TDMA의 경우 3~4배 정도라고 합니다.) 와 고품질의 음 질, 보안성 보장 등의 매력은 이후 AT&T, Motorora, NYNEX, Northerntelecom등 세계의 통신업체들의 주목을 끌게 되었습니다.
1.1.2-1.1 한국의 경우 CDMA
우리나라의 경우는 통신 방식을 정할 당시, CDMA가 아직 어느나라 에서도 상용화 된 적이 없었던 기술이었기 때문에 이것을 상용화하는데 성공할 경우 기술자립을 성취할 수 있다는 점이 그 무엇보다 중요한 요소로 작용했다는 말도 있습니다. 물론 21세기 정보통신 서비스에 가장 적합하다는 근거도 있었습니다만...
1993년 ETRI 주도로 CDMA시스템 개발에 착수하게 되었고 1996년 1월 1일 SK Telecom이 세계 최초로 상용화에 성공했다고 합니다. (LG정보통신도 "세계 최초로 CDMA 상용화에 성공"이라는 말을 자주 쓰는데...서비스는 SK-텔레콤이 먼저 시작했는데...누가 먼저인지 정확히 모르겠군요.)
우리 나라가 CDMA를 세계 최초로 상용화한 경위가 웹페이지에 있어서 아래에 옮겨두었습니다.
"1991년 4월에 ETRI와 퀄컴간 CDMA 공동 개발을 추진하기로 합의하였다. 1991년 8월에 ETRI와 퀄컴사간 제1단계 공동 개발에 착수하고, 1992년 7월에 제2단계 공동 개발을 추진하였다. ( 소문에 의하면? 이 당시 우리나라가 돈이 좀 있었더라면 퀄컴이라는 회사를 살 수 있었을 지도 모른다고 하더군요. 당시 퀄컴은 별로 알려지지도 않은 벤쳐회사였고, ETRI는 여기다 투자를 했었는데...)
그 해 12월에 ETRI가 삼성·LG·현대·맥슨 등의 4개사를 상용 시스템 공동개발업체로 선정하고 기술 개발을 추진하였다. 1993년 6월에는 이동전화 신규사업자(신세기통신)의 통신방식이 CDMA로 결정되었다. 그 해 8월에 퀄컴과 국내 업체간 기술실시계약을 체결하였으며, 11월에 CDMA 방식의 기술기준을 제정하였다. 1995년 2월에 삼성전자가 1차 상용시험(108항목)을 완료하였다. 그 해 11월 정보통신부는 공청회를  거쳐 한정된 연구개발 능력을 고려할 때 복수표준보다 단일표준이 바람직하다는 결과를 토대로 PCS 기술표준을 CDMA로 결정하였다. 1996년 1월 마침내 SK 텔레콤이 인천,부천지역에서 CDMA 상용 서비스를 시작하였다. "
98년 12월말 현재 한국의 CDMA 셀룰러/PCS 가입자수는 1천 350만명을 초과하여 불과 2년 남짓한 기간동안 전세계적으로 가장 큰 CDMA망을 이루고 있다. 올 해 (1999) 4월까지의 가입자수가 1천 800만에 육박하고 있다고 한다.  1999년 9월 가입자 수가 2000만을 넘어섰다.
한국은 세계 최초로 CDMA 방식을 상용화시킨 기술력과 세계 최대의 CDMA 가입자들에게 다양한 서비스를 제공하는 세계 최고의 운용능력을 확보하고 있다. 이와 같은 한국의 기술력과 운용능력은 CDMA분야에서 세계 최고수준의 전문적인 인력이 그만큼 풍부하다는 것을 의미한다.
1.1.2-1.2 한국의 CDMA 기술력과 외국 기업들의 투자 (출처가 생각이 안 나는군요.)
한국은 세계 최초로 CDMA 방식을 상용화시킨 기술력과 세계 최다의 CDMA 가입자들에게 다양한 서비스를 제공하는 운용 능력을 확보하고 있다. 한국은 기지국과 단말기간 접속기술만 퀄컴사가 보유한 특허기술을 사용하였을 뿐 대부분의 기술은 자체 확보한 것으로, CDMA 교환기는 한국의 TDX 교환기를 활용하였다. 기지국의 경우 퀄컴의 무선접속기술을 제외한 시스템설계기술,제어기술, RF기술, 주파수간 핸드오프기술 등 대부분의 기술은 자체 개발하였다. 또한 단말기도 퀄컴사의 무선접속기술을 제외한 저전력화, 소형·경량화 기술을 자체 개발하였다. 한국은 세계 최대 규모의 CDMA 가입자를 수용하여 안정되고 신뢰성 있는 시스템을 운영하면서 데이타 서비스, 음성사서함 서비스 등 다양한 응용 서비스 및 운용기술을 개발한 노하우를 보유하고 있고,망운용기술과 과금기술 등은 이미 노텔이 자신의 GSM망에 이식하려 할 정도로 고도화되어 있다. 한국이 보유한 CDMA 장비 및 운용기술로 인해 한국의 경제 위기에도 불구하고 선진 외국 통신업체들의 투자 움직임은 오히려 가속화되고 있다. 세계 유수의 이동통신 장비업체인 모토롤라가 CDMA 단말기 전문제조업체인 어필, 팬택, 텔슨 등 3개 업체에 6,100만불을 주식 취득 및 지급보증의 형태로 국내에 투자하였다. 한편, 캐나다의 BCI와 미국의 AIG는 한솔PCS에 2억 6천만불을 투자하기로 1998년 9월에 합의하였으며, 영국 BT도 LG텔레콤에 4억불을 투자하기로 동년 10월에 합의하였다. 한국의 CDMA 관련 업체에 투자하는 외국 기업들은 CDMA 방식의 급속한 성장 전망에 입각하여 CDMA 단말기 제조기술과 서비스 운용 능력을 확보하려는 것으로 보인다.
 
1.1.2-2 개요
(다음은 한양대학교 하태숙 박사의 CDMA에 관한 설명에 덧붙인 것이다.)

코드분할 다중접속방식(CDMA : Code Division Multiple Access)을 FDMA나 TDMA와 비교하기 위해서 다음과 같은 경우를 예로 들었다.

어떤 모임 장소에서 여러 사람이 보여서 이야기를 하고 있다. FDMA 방식은 모든 사람이 같은 언어를 사용하고, 모임 장소를 이야기를 할 수 있도록 작은 구역으로 나누어논 각각의 대화실에 차례를 기다렸다가 들어가서 이야기를 하는 것이다. TDMA 방식은 역시 같은 언어를 사용하지만, FDMA 방식과는 다르게 모든 사람이 같은 장소에 모여서 이야기를 한다. 그러나 모든 사람이 동시 에 이야기를 하는 것이 아니라 각각 이야기 하는 시간을 정해서 자기에게 할당된 시간 동안에만 이야기를 한다고 생각하면 된다. 물론 이야기를 하는 시간이 단절 되어 대화에 지장이 있을 것 같지만, 실제로는 전혀 대화하는데 지장이 없다. 여기에 비해서 CDMA 방식은 다른 두 방식과 비교해 보면, 여러 사람이 같은 장소 에 모여서 동시에 이야기를 하는 것과 같다. 다만 서로 다른 언어를 사용하기 때 문에, 또는 정해진 지역 안에서만 들리게 작게 이야기 하기 때문에 그 집단 안에서만 그 내용을 알아 들을 뿐이고, 다른 사람이 이야기 하는 것은 단지 잡음으로만 느끼는 것과 같다.  아래 그림 1.1의 예를 보면, 쉽게 이해가 될 것이다.
<그림 1.1 CDMA 방식의 통신>

CDMA 기술은 기본적으로 오래전부터 사용해왔던 대역확산 통신기술을 이용한 것으로, 대역확산 기술이 가지고 있는 모든 장점에 주파수 이용효율을 크게 증가시킨 것이다. 위의 예를 기술적으로 표현해 보면, 모든 서비스 영역에서 같은 주파수 대역을 사용할 수 있기 때문에 셀룰라 개념에서 보면 주파수 재사용 계수가 1이 되어, 주파수 이용 효율이 다른 방식에 비해서 월등히 높다는 것과, 모든 서비 비스 영역에서 같은 주파수 대역을 사용할 수 있기 때문에 소프트 핸드오버가 가 능하다는 점, 또한 서로 다른 코드를 사용하여 통신을 하기 때문에 무선 구간의 통신 비밀 보호 특성이 매우 우수하다는 장점이 있다.

1.1.3 이동 통신의 특징
▷ 통신 매체로써 전파( Radio )를 사용한다.
▷ 사용가능한 무선주파수가 한정되어 있다.
▷ 단말기의 이동성으로 인한 전파전파( Radio Propagation ) 특성을 고려하는 것이 필요하다.
▷ 우선적으로 사용할 주파수를 선정하는 것이 필요하다.
1.1.3.1 셀룰라 망의 셀 크기 구분
각 셀은 셀의 크기에 따라서 다음과 같이 일반적으로 구분한다.
보통 지금의 이동전화에서는 셀반경이 5 km - 30 km로 이를 매크로셀(Macro Cell)이라 하고,개인 통신 개념이 나타나면서 가입자 수용용량을 증가 시키기 위해서 셀반경을 줄여, 셀 반경이 500 m - 1 km 내외의 셀을 마이크로셀(Micro Cell)이라는 것이 생겨났다. 이들 마이크로셀과 매크로셀 사이의 크기를 가지는 셀을 미니셀(Mini Cell)이라 하기도 한다. 이보다 셀 반경이 더 작아져서 200m 이내가 되면 이를 피코셀(Pico Cell)이라고 한다. 또 저궤도 인공위성을 이용한 이동전화 서비스에서는 셀반경이 100km 이상되는 셀이 사용되는데 이를 메가셀(Mega Cell)이라고 한다.
이러한 셀 분류는 정해진 기준이 있는 것은 아니며, 대개 이러한 분류 기준으로 사용하고 있다.
1.1.3.2 셀룰라 망의 셀(안테나) 구분
전방향셀이란 기지국이 셀의 가운데 위치하여 수평방향으로 360도 전방향으로 전자파를 송신하는 안테나를 사용하여 서비스 하는셀을 말하며, 섹터셀이란 기지국이 어떤 특정 방향으로 전자파를 송신하는 안테나를 사용하여 셀을 여러 개의 섹터로 분할하여 각각의 섹터마다 서로 다른 안테나와 RF 장비를 사용하는 기지국으로, 전방향셀에 비하여 간섭을 제어하기가 쉽고, 안테나 이득이 커서 하나의 기지국으로 서비스 할 수 있는 면적이 전방향셀에 비해서 넓어 여러 가지 이점이 있는 셀을 말한다. 요즈음 시내에서 흔히 볼 수 있는 이동통신망 기지국은 대부분이 섹터셀을 위한 것이며, 대부분이 3-섹터 셀을 위한 것이다.
1.1.4 이동통신망의 진화
현재 세계 각 나라에서 활발히 운용되고 있는 이동통신 서비스로는 무선호출, 셀룰러전화, 코드리스 전화, 그리고 위성 이동통신을 들 수가 있다. 이들과 관련하여 이동통신의 진화 과정은 다음과 같이 정리될 수가 있다.
1 세대 : 아날로그 셀룰러전화, 아날로그 코드리스 전화( CT1 ), PSTN(공중전화망)
2 세대 : 디지털 셀룰러 전화, 디지털 코드리스 전화(CT2), ISDN
2.5 세대 : 2세대 시스템들을 개선, 통합하여 보다 개인화, 광대역화되고 어느 정도 시스템간의 호환성을 갖춘 서비스 제공이 목표. 현재 우리가 쓰고 있는 이동전화
3 세대 : 기존의 유, 무선 시스템을 통합하여 완전한 이동성과 멀티미디어서비스의 제공이 목표. IMT-2000( International Mobile Telecommunications ), UPT( Universal Personal Telecommunications ), UMTS( Universal Mobile Communications Systems )
4세대 : MBS(Mobile Broadband System) 60GHz 대역의 전파사용, 155Mbps까지 전송할 수 있는 시스템

80대말까지는 아날로그 셀룰라 시스템인 AMPS (Advanced Mobile Phone System) 가 주로 쓰였지만 90 년대에 들어서 언제 어디서나 누구나 어떤 형태의 서비스도 받을 수 있게 한다는 취지 아래 PCS 의 개념이 나오게 되었다. 그런데 새로운 이 PCS개념의 통신 서비스를 위해서 새로운 기술이 나온 것은 아니다. 기존의 디지털 셀룰라 이동 전화 시스템을 발전시켜 PCS로 나아가려는 것이다. 주파수 대역만 PCS를 위해서 옮긴 것이다. (예를 들면 TV에서 주파수가 다른 VHF(30MHz∼300MHz)와 UHF(300MHz∼2GHz)를 사용하는 것과 마찬가지) 따라서 지금 분명히 디지털 셀룰라와 PCS는 여러면에서 다르기는 하지만, 또는 모호한 면을 보이기도 한다. 하지만 그 원천 기술 자체는 그 뿌리가 같다고 하는 것이 맞을 것 같다.

지금 우리는 2.5세대의 이동통신 시스템을 주로 이용하고 있지만 곧 제3세대의 이동통신 기술을 이용하게 된다. 4세대는 아직 구체적인 것은 없지만 미래의 시스템으로 연구되고 있는 중이다.

우리는 이동통신망의 발전을 low-tier system 과  high-tier system 으로 나누어 생각해 볼 수도 있다.  예를 들어 기존의 PCS는 high-tier system에 해당하는 것이고, 우리나라의 CT-2 서비스 같은 것은 low-tier system(기존의 가정에서 쓰던 무선 전화의 확장)에 해당한다.  low-tier system은 기존 공중망에 유선 인터페이스를 추가한 것이라고 생각할 수도 있다. 그림 1.2 참조


Low-Tier system

High-Tier system

구현 방안

PSTN의 지능망 활용

PSTN가입자선로의 무선화

Cellular망에 신호망, 지능망 구축

Microcell의 도입으로 용량확대

서비스 속성

저속의 가입자 서비스

고밀도의 좁은 지역 커버

유선전화 정도의 높은 통화품질

고속의 가입자 서비스

저밀도의 넓은 지역 커버

셀룰러보다 높은 음질 수준

표준안

DECT, PHS, DCTU, PACS 등

Upband IS-95 및 IS-54, PCS-1900, DCS-1800, PCS-2000, W-CDMA

 <그림 1.2  이동통신망의 발전. low-tier and high-tier system>

1.1.5  이동 통신 서비스의 종류
Cordless Telephone ( CT ) : CT-1 => CT-2 (발신전용) => CT-3 (착발신 모두 가능)
Cellular Telephone (아날로그, 디지털)
주파수 공용 통신 ( Trunked Radio System, TRS )
무선 호출 ( Radio Paging ) : 단방향 호출, pager-2의 경우는 착발신이 가능하다.
무선 데이터 통신 ( Radio Data Communications )
위성 이동 통신 ( Satellite Mobile Communications )

1.1.6 이동통신망의 구조

이동통신망은 그림 1.1.6-1에서 보듯이 왼쪽의 이동망과 오른쪽의 고정망의 결합으로 이루어진다.  ( 아래 그림 1.1.6-3에서 논리적인 면에서의 셀 모양, 이상적인 셀모양, 실제 셀모양을 확인하자.)

 

<그림 1.1.6-1 이동통신망의 일반적인 구조><Figure by Wansik Kim>

MS(Mobile Station) : 이동단말
AC(Authentication Center) : 인증센터
VLR(Visitor Location Register) : 방문자 위치 등록기
BTS(Base Station Transciever Subsystem) : 기지국(BS)
HLR(Home Location Register) : 홈 위치 등록기
BSC(Base Station Controller) : 기지국 제어장치
MSC(Mobile Switching Center) : 교환기
BSM(Base Station Manager) : 기지국 관리 장치

그림 1.1.6-2는 셀룰라망 중에서 간단히 CDMA와 AMPS를 구분지어 보기 위하나 것이다. 이동통신 시스템의 전체적인 구조는 어떤 셀룰라 방식이나 비슷하고, 이동국과 기지국을 연결시켜주는 인터페이스 CAI(Common air interface)부분이 크게 다르다고 생각하면 될 것이다. 물론 세부적으로 다른 점(예를 들어 source coding)이 많겠지만 말이다. 이 인터페이스부분에서 AMPS는 주파수를 분할하여 채널을 구분하고 CDMA는 IS-95 표준에 따라서 부호를 분할하여 통화채널을 구분해 준다.

<그림 1.1.6-2><Figure by sktelecom>

<그림 1.1.6-3>

1.1.7 디지털 셀룰러와 PCS의 주파수 특성 비교
현재 Speed 011이나 신세기 017은 800MHz 대역을, PCS 사업자들은 1.8GHz 대역을 사용하고 있는데 두 주파수대역의 특성을 비교해 보면 다음과 같습니다. 서비스의 비교를 하는 것은 아닙니다. 기본적으로 주파수 대역의 차이가 이들 서비스 사업자들이 내세우는 장단점이 될 수도 있겠군요. PCS는 후발 업체들에 의한 서비스이므로, 당연히 앞선 사업자들 보다 좋은 주파수대를 얻을 수는 없었겠지요. 차후에 서비스에 대한 비교가 가능해진다면 하도록 하지요.
전파 도달거리 : 전파 도달거리가 길어야 안정된 통화가 가능하다는 전제를 한다면,. 전파의 특성상 800MHz는 전파의 도달거리가 길어 넓은 지역을 안정적으로 커버할수 있지만 1.7GHz는 주파수가 상대적으로 높아 감쇄가 심하고 전파 도달거리가 짧아 넓은지역을 서비스하기는 힘든 면이 있습니다. 원래 PCS라는 것이 도시에서 사용하는 것을 기본 목적으로 한 것이기도 하고, 두 주파수대가 차이가 있기는 하지만 그리 큰 문제는 없다고 생각이 됩니다. 시스템을 어떻게 잘 설치하느냐에 따라 이런 기본적인 문제는 해결이 가능할 것이기 때문입니다.
전파의 회절성 : 전파가 어떤 장애물의 끝을 통과할 때 그 후방까지 얼마나 커버할 수 있는지를 생각해 보면, 정도 800MHz는 상대적으로 회절성이 높아 전파가 골고루 도달하지만 1.8GHz대는? 회절성이 낮아 통화 불능 지역이 조금은 더 발생할 수 있겠습니다.
전파의 투과성
상대적으로 800MHz 대역이 투과성이 더 높습니다. 따라서 건물 내에서, 같은 설비의 이동 통신망 환경이라면 통화률에 차이를 보일 것입니다.



1.1.8 CDMA 방식의 장점
CDMA 방식의 장점은 다음과 같이 간단히 들 수 있다.
통화 용량의 증가
  - TDMA가 아날로그 대비 가입자 수용용량을 3-4배 제시하는데 비해 10배 이상의 용량을 제시
고품질의 통화 서비스 제공
이동전화의 소비전력이적고, 소형 경량화 가능
   - 셀 반경이 같을 경우 CDMA방식의 단말기가 소모전력이 월등히 적다.
뛰어난 보안성
TDMA보다 넓은 셀 운영이 가능
   - 설치하거나 운용할 때 드는 비용이 상대적으로 저렴
가. 기술적 장점
첫째, CDMA는 경쟁방식인 GSM과 비교할 때, 음성품질, 배터리 사용시간, 통신 보안성, 주파수 이용효율 등 여러가지 측면에서 우수한 것으로 나타나고 있다. 음성품질은 유선전화 수준으로 선명하며, 통화절단현상이 없고 대도시 등 열악한 전파환경에서도 잘 작동한다.
둘째, 전력소비를 최소화함으로써 통화시간과 대기시간의 연장이 가능하다. 이론적으로 CDMA방식은 GSM과 비교할 때 동일전지를 사용할 경우 배터리 사용시간이 20∼30% 정도 길다.
세째, 통신 보안성 측면에서는 GSM과 비교할 수 없을 만큼 우수한 기능을 발휘한다.
넷째, 주파수 이용효율이 높아 이론적으로는 기존 아날로그 방식보다 9∼10배, GSM보다 3∼5배의가입자를 더 수용할 수 있다.
나. 서비스 측면에서의 장점
CDMA 기술은 다양한 서비스에 채택되어 그 기술적 장점을 입증하고 있으며, 서비스 시장에서도 점차 우위를 확보하고, 빠르게 확산되는 추세를 보이고 있다. 서비스 측면에서 CDMA의 장점은 다음과 같다.
첫째, 셀룰러/PCS 서비스 시장이 확대되고 경쟁이 가열화 함에 따라 서비스 사업자는 가입자 수의 확대와 통화요금의 인하를 원하고 있다. CDMA 기술은 향후 이동통신 사업의 주요 경쟁요소인 통화시간의 판매에 있어서 단연 유리하다. 그 이유는 개략적으로 동일한 비용조건하에서 보다 많은 가입자 수용용량으로 보다 낮은 이용료 책정이 가능하기 때문이다.
둘째, CDMA 기술의 음질향상과 다양한 부가기능의 발달로 1개망에서 이동전화와 WLL 서비스를 복합해서 제공할 수 있다. 즉, 가입자를 이동전화가입자와 고정서비스 가입자로 분리, 가입시키고 요금체계를 상이하게 운영하는 것이 가능하다. 또한 기본적으로 이동전화서비스를 제공하면서 특정기지국 반경내에서의 통화는 저렴한 요금을 부과하고 타기지국 지역으로 이동하는 경우에는 이동전화요금을 부과하는 형태의 서비스도 제공할 수 있다.
셋째, CDMA 기술은 통화가능지역의 조절기능이 있어, GSM에 비하여 적은 기지국 수로 설계 및 운영이 가능하다. 위와 같은 CDMA의 장점으로 이미 GSM이 설치된 국가에서도 CDMA가 진입할 수 있도록 하는 추세이다.
다. 경제적 측면에서의 장점
어떤 기술이라도 시장에서 생존하기 위해서는 시스템 및 단말기 가격이 적절해야 한다. 아무리 우수한 기술이라 할지라도 시스템이나 단말기가격이 지나치게 비싸면 이용자들이 외면해 결국 시장에서 성공할 수 없다. 현재 CDMA 단말기 가격은 아직까지는 핵심칩을 퀄컴이 독점공급하고 있고 주변회로의 집적화가 미비해 GSM에 비해 다소 높은 가격을 형성하고 있다. 그러나 최근 퀄컴외에 Cadence, DSPC, Motorola 등으로 핵심칩 공급선이 다변화되고 시장규모가 충분히 확보되고 있기 때문에 곧 GSM과 동등한 가격수준을 형성할 전망이다. 가입자당 기지국 설치비용은 기지국 수를 GSM의 70%만 설치해도 되고, 주파수 활용도가 높아 가입자당 실제 네트워크 건설비용을 40% 감소시킬 수 있어 최고의 수익성과 경제효율을 보장한다. 이는 한국과 중국에서 이미 증명되었다. 한편, 기술료의 경우 S/W도입비는 CDMA가 다소 높지만, 선급기술료나 경상기술료 등은 GSM이 높다. 그래서 총비용을 고려하면, 기술료도 CDMA가 GSM보다 유리한 것으로 나타나고 있다.
참고
아래 그림은 기존의 AMPS, US-TDMA, GSM에서 쓰고 있는 방식과 CDMA의 차이를 간단히 나타낸 것이다.
 















 

우선 OFDM을 말하기 전에 우리는 Multiple access 기술과 Mutiplex기술을 구분을 하여야한다.

Multiple access 기술에는 FDMA,TDMA,CDMA가 있고, Mutiplex에는 FDM, TDM, CDM이 있다.

이 두가지의 차이는 전자의 경우에는 여러가지의 콘들이 하나의 통신 중계기에 엑세스 하는것을 말하고, 후자의 경우에는 하나의 중계기가 여러계의 콘들에게 정보를 보내는것을 말한다.

FDMA 는 동일시간/ 주파수 대역을 분할 사용해서 다원 접속 하는것이며,

TDMA 는 동일 주파수에서 시간적으로 분할 사용해서 다원접속 하는것이다.

CDMA는 동일시간/동일 주파수에 Code 분할을 사용해서 다원접속 하는것을 의미한다.

이들 기술은 다중가입자 구분 (식별) 함수 기술이라 한다. 이는 Multiplex 의 기능인 확산을 잘 할수 있다는 것을 의미한다.

OFDM은 Orthogonal FDM 이다. 이는 캐리어가 각각 상호 직교한다는 의미를 가지며,

이로 인해 OFDM은 협대역을 씀으로 해서 주파수 이용 효율이 높고, 전송 용량을 늘릴수 있다.

하지만, 서로 옆 캐리어에 간섭을 주기가 쉽다는 것이 단점이다.

구체적으로 OFDM의 장점은

1. 높은 주파수 효율과 전송용량

2. CDMA 시스템과 비교하여 간섭 요인 억제

3. QAM 방식의 변조 방식을 사용해도 성능 저하가 없음

4. 심벌간 보호구간으로 다중경로 페이딩에 강함

5. 채널 등화를 주파수 영역에서 1-tap으로 간단히 구현 가능

6. 주파수 선택적 페이딩 환경으로 서브 채널 별로 적응 변조 방식을 사용하는데 유리

7. 기존의 방송, WLAN, BWA 등에서 이미 사용하므로 4세대 이동통신 시스템과 융합에서

   단말기 개발에 유리

단점으로는

1. 비선형 특징이 생기기 쉽다.

2. 반송파가 같은 주파수 간격으로 정렬된 멀티 캐리어 방식이므로 전송로에 비선형 특성이 존재하고, 상호 변조가 생기기 쉽다.

3. 반송파의 주파수 offset과 위상 잡음에 민감하다.

4. 상대적으로 큰 최대 저력 대 평균 전력비 (PAR)를 가지며 이는 RF 증폭기의 전력 효율을

   감소 시킨다.


Posted by 응이

WinCE 스도쿠 게임

WIndowsCE 2009. 5. 12. 18:59
Posted by 응이

VxWorks명령어

etc 2009. 5. 12. 16:04

*-* 목차 *-*
1. 태스크 관리용 명령어
2. 태스크 정보용 명령어
3. 시스템 정보 명령어
4. 시스템변경과 디버그용 명령어
5. 오브젝트 표시용 명령어.
6. 네트워크 상태표시용 명령어
*-* *-* *-* *-* *-* *-* *-* *-*


1. 태스크 관리용 명령어

  sp                디폴트 파라멘트를 갖는 태스크를 생성한다.
  sps              태스크를 생성하지만, 중단시켜 둔다.
  td                 태스크를 삭제한다.
  ts                 태스크를 중단한다.
  tr                  중단했던 태스크를 재개한다.
  period           임의의 함수를 정기적으로 호출하는 태스크를 생성한다.
  repeat           임의의 함수를 반복적으로 호출하는 태스크를 생성한다.
  taskIdDefault  디폴트(현재)태스크 아이디의 설정과 표시한다.


2. 태스크 정보용 명령어

① checkStack     

  인수로 태스크를 지정한 경우, 태스크의 스택정보 상태를 표시.
태스크를 지정하지 않은 경우, 전체 태스크의 스택정보 상태를 표시. (스택정보 상태 : 스택크기, 현재 스택바이트수) 

최대 사용스택 바이트수(HIGH)는 스택의 선두부의 미사용 바이트수 (MARGIN=SIZE-HIGH) 이다.
필요한 스택공간양을 알고 싶을 때나 스택오버플로를 검지하고 싶을 때 사용
② i                      

  시스템정보를 표시한다.
이 명령어는 시스템내의 태스크와 각 태스크에 관한 정보(상태, PC, SP, TCB주소등)를 표시한다.
메모리 절약을 위해, 이 명령어는 타겟에 대해 소개(?)를 반복한다.
그로 인해, 일관성을 잃은 스냅샷을 표시하기도 한다.
③ iStrict  

  i명령어와 같은 정보를 표시하지만, 타겟에대한 조회는 1번에 행한다.
도중, 메모리를 여분으로 소비하지만 정확한 스냅샷을 얻을 수 있다.
④ ti  

  태스크정보를 표시한다.
태스크의 TCB에 들어있는 전체의 정보를 표시한다.
태스크정보에는, i명령어가 표시하는 정보에 더해, 태스크의 전체 레지스터 및 TCB체인내의 링크를 포함한다. 파라메터를 생략하는 경우, 현재 태스크에 관한 정보가 표시된다.
⑤ w  

  태스크의 보유정보의 요약을 태스크별로 표시한다.
시스템내의 전체 태스크에 대해, 혹은, 인수를 지정한 경우, 지정태스크에 대해  taskWaitShow를 정지모드로 호출한다.
⑥ tw  

  해당태스크가 보유상태인 오브젝트에 관한 정보를 표시한다.
해당태스크에 관해, taskWaitShow를 장황모드(?)로 호출한다.
⑦ tt  

  스택 트레이스를 표시한다.
⑧ taskIdFigure

  태스크명을 지정하면 태스크 아이디를 알려준다.


3. 시스템 정보 명령어

  devs               타겟시스템이 인식하는 전체의 디바이스 드라이버의 리스트를 표시한다.
  lkup                심볼 테이블의 심볼 리스트를 표시한다.
  lkAddr             지정한 값에 가까운 주소의 심볼리스트를 표시한다.
  d                     타겟메모리를 표시한다.
                        시작주소, 메모리단위의 사이즈, 표시하는 단위수를 지정할 수 있다.
  l                      지정한 주소의 명령을 역 어셈블해서 표시한다.
  printErrno         최신의 에러 상태를 표시한다.
  h                     명령어 이력을 최대 20행까지 표시한다.
  help                 선택한 쉘명령어를 요약해서 표시한다.
  cd                   호스트의 work directory로 변경한다. (타겟에서는 무효)
  pwd                 호스트의 work directory를 표시한다.
  ls                    호스트의 work directory내의 파일 리스트를 표시한다.
  version             VxWorks의 버전정보를 표시한다.
  shellHistory       쉘이력을 설정 혹은 표시한다.
  printLogo          Tornado쉘의 로고를 표시한다
  shellPromptSet  C인터프리터의 쉘프롬프트를 변경한다.


4. 시스템변경과 디버그용 명령어
  ld                오브젝트 모듈을 타겟에 로드해, 실행중의 애플리케이션에 동적으로 링크한다.
  unld             동적으로 링크된 오브젝트 모듈을 타겟 메모리로부터 삭제해, 점유했던 영역을 개방
  m                 adr로 시작하는 width(byte,short,long)만큼의 메모리를 변경한다.
  mRegs          특정의 태스크의 레지스터값을 변경한다.
  b                  지정한 태스크 혹은 전체의 태스크에 대해 브레이크 포인트의 설정과 표시를 한다.
  bh                하드웨어 브레이크 포인트를 설정한다.
  s                  프로그램을 다음 명령으로 진행시킨다.
  so                 서브루틴을 1개 뛰어 건너 뛰어, 1줄씩 실행한다.
  c                   브레이크 포인트로부터 수행한다.
  cret               현재 서브루틴로 돌아 올 때까지 수행한다.
  bdall              전체 브레이크 포인트를 삭제한다.
  bd                 브레이크 포인트를 삭제한다.
  bootChange    보존되어진 부트 파라메터를 변경한다.
  CTRL+X or      reboot 타겟의 제어권을 타겟 부트롬에 반납한다. 타겟서버를 리셋해, 쉘을 재접속


5. 오브젝트 표시용 명령어
6. 네트워크 상태표시용 명령어

Posted by 응이

단말기 S/W 구조

etc 2009. 5. 11. 10:42
  • rex: 퀄컴의 RTOS, 4KB ROM, 400B RAM, 500B 스택, 우선순위 스케줄링
  • Task


    •  watch dog task
      : 최상위 우선 순위를 갖고 모든 task 감시, 일정 시간 내에 특정 비트를 설정치 안ㅇㅎ으면 리셋
    • TMC  task
      : 3계층에서 동작하며 단말기의 호 처리를 총 감독
    • Diagnostic(진단) task
      : DM과 상호작용, 단말기 내부의 제어, 디버그 및 데이터 로깅, Uart와 USB I/O 포함
    • User Interface task
      : Handset task와 sound task 통해 입출력 처리, call manager와 연동하여 호 처리
    • TxRx task

      : Tx task -> 2계층에서 동작, 발신호 및 채널 검색등 송신 관련 처리
        Rx task -> Tx task 반대. ㅋ

    • NV task
      : 다른 task들을 위해 flash를 잃어 오고 저장,
    • Sleep task
      : 우선 순위가 매우 낮음
    • Call Manager task
      : 호 처리를 위해 UI와 TMC task의 인터페이스
    • SMS task

      : 문자

    • EFS task
      : 파일 시스템, MIDI와 같은 멀티미디어 파일 저장에 사용
    • PSDM task
      : App/UI가 자신의 현재 위치 정보를 얻을 수 있는 인터페이스
    • searcher task
      : 시스템의 타이밍 정보를 얻고 ,각종 시스템 정보 획등
    • Protocol service task
      : 무선 데이터 망을 위한 TCP/IP/PPP의 프로토콜 처리
    • UI task
      : 폰의 H/W에 display, sound, key entry에 대한 인터페이스
        기능 -> dial a num, make calls, menu change, display, display icons


      • 부팅시 초기화 수행
      • Giant loop -> 수행할 다음 행동들의 명령어 대기, 수행 후 다시 대기
      • signal -> input은 signals를 통해 waiting/processing signals
      • 계층 -> Dispatcher
               -> Handler
               -> state machine
      • ui로 시작 -> h : handler
                     -> s : state
                     -> x : eXternal interface
                     -> u : utility function
      • ui.c - Dispatcher layer


        • 가장 최상층
        • giant loop 구성
        • 입력에 대한 적절한 처리를 하는 함수로 이동
        • ui task가 시작 될 때마다 호출, start-up 초기화 의무

      •  Handler layer


        • ui task의 외부 입력 처리
        • 키 입력, 다른 task에서 올 명령, call back  타이머 명령등
        • 시그널 처리를 위한 함수 호출

      • signal handler


        • ui task 의 대부분 시그널 처리
        • 다양한 이벤트 형태로 시그널을 변환
        • 처리할 state machine으로 전달

      • key handler

        • HS task로부터 키를 누르면 처리
        • 이벤트로 변경
        • 이벤트 큐에 추가

      • Callback timer handler

        • 절절한 시간 간격의 시그널을 얻음
      • command handler

        • 다른 task로부터 온 메시지를 이벤트로 변경하고 state machine으로 전달
        • UI_CMD_Q_SIG 이벤트 받을시 command queue에 입력.
      • UI task와 Call Manager task 통신

        • 통화 시작, power on/off, 통화끝, 걸려온 전화에 응담(UI가 command를 보내는 경우)
        • CM이 events/responses 보내는 경우, 통화가 connect, release, alert exists
    • 부팅 과정

      • start-up : 리셋 처리부터 기본적인 입출력 장치의 초기화 과장
      • NAND는 (page로 액세스, 주소 접근 X)이기 때문에 MSM의 internal RAM에 부트코드를 실행시켜
        NAND의 내용을 RAM에 올린다.

        1. NAND의 부트로더 부분을 MSM의 부트 시퀀스 제어기가 internal RAM으로 복사 ,실행
        2. NAND의 DMSS를 SDRAM의 0x00000000 번지로 복사
        3. SDRAM으로 부터 2차 부팅 실행
      • bootapp.s가 bootstrap, CPU register 초기화, call main()
      • mobile.c의 main()의 rex_init() 실행
      • task 실행
    • call manager

      • 클라이언트 app가 DMSS와 AMSS 소프트 웨어를 접근하는 인터페이스
      • 클라이언트 APP와 DMSS 분리
      • 동작원리 -> 동기식
                     -> 비동기식 : 요청과 응답에 대한 callback


    • CDMA 2000 layer 1 : H/W 적인 동작 위주의 Physical layer
    • CDMA 2000 layer 2:

      • message transmission
      • guaranteed delivery
      • dectection of all duplicate MSG
      • exception reporting
      • error rate statitics -> stop & wait
                                  -> go bakc - N
                                  -> selective - repeat ARQ
    • CDMA 2000 layer 3 : DMSS
  • Posted by 응이

    -------------------------------------------------------------------------

      1. Drivers

    -------------------------------------------------------------------------

    Watchdog Task

    - DMSS software 중에서 가장 priority가 높은 task.

    - Task간의 동작들이 원활히 동작되는지 mornitering하고, hardware watchdog을 report 한다.

    - dog_report() 함수로 다른 task에서 업데이트되는 bit mask를 체크한다.


    Sound Task

    - DTMF tone, alert 등과 같이 phone에 필요한 모든 소리를 제어하는 task.

    - MSM 3100 이후, Sound Server Task로 교체되어 더 유동적인 sound 명령을 수행한다.


    Transmit Task

    - CDMA와 FM으로 신호를 전송하는 task.

    - Voice frame을 CDMA로 보코더화.


    Receive Task

    - 신호를 수신하는 task.

    - CDMA를 voice frame을 보코더화.


    -------------------------------------------------------------------------

      2. Call Processing

    -------------------------------------------------------------------------

    Searcher Task

    - System timing을 얻고, multi path 환경을 monitoring 하여 자신의 신호를 찾는 task.


    RxTx Task

    - Signaling message의 layer2 에서의 ack 과정을 수행하는 task.


    Main Control Task

    - Call processing 과정을 관장하는 task.

    - CDMA의 call processing을 위한 MCCDMA와 FM의 call processing을 위한 ACPMC로

      나누어진다.


    Handset Task

    - User가 입력하는 keypad를 monitoring 함.


    Diagnostic Task

    - DM(Diagnostic Monitor)과 관련된 모든 일을 지원하는 task.

    - 외부 serial port가 phone의 memory에 접근할 수 있도록 하여 test, debug 기능을 지원한다.


    -------------------------------------------------------------------------

      3. Data and Ohters

    -------------------------------------------------------------------------

    Call Manager Task

    - MC(Main Control)와 call processing간의 interface (UI, DIAG, DS)


    SMS Task

    - SMS API와 mobile 기반의 SMS를 지원하는 task.


    QDSP Task

    - Phone에 사용되는 여러 firmware image나 client들을 관리하는 task.

    - 일반적인 7 firmware image : VOC, TTY, VR, SYNTH, MP3, GPS, BT

    - 일반적인 4 client : VS, SRCH, BT, GPS


    Vocoder Task

    - MSM 3100에서 QDSP2로의 vocoder driver task.


    BT (Bluetooth Task)

    - Bluetooth protocol.

    - BT, UART, USB 간에 선택적으로 IS-707 Data Service가 가능하다.

    - BT device의 management 와 control를 지원한다.

    - 추가적인 BT application을 위해 사용자를 위한 API를 제공한다.


    PDSM (Position Determination)

    - gpsOne 기반의 위치선정을 위한 API task.

    - TCP/IP 상에서의 IS-801 message의 exchange작업을 관리한다.


    User Interface Task

    - User간의 상호관계를 조정한다.


    NV (Nonvolatile Memory Task)

    - EEPROM에 읽고 쓰기 기능을 관장한다.

    - Flash file system상에서 EEPROM storage 기능을 simulation하기 위해 NV Item Manager

      (NVIM) task로 교체되기도 한다.


    Sleep Task

    - Task가 수행되지 못할 때 수행된다.

    - 가능하면 power-saving sleep mode에 CPU를 놓는다. 

     
    Posted by 응이
    1

    Dream come true.
    응이

    달력

    태그목록