실시간 뉴스



[전문가 리포트-이재영] WAP 구조와 Gateway (2)


이번 회는 무선인터넷 서비스를 위한 무선망의 구조를 먼저 알아보고 무선인터넷의 핵심 기술인 WAP Stack의 구조와 각 계층에 대하여 기술하였다. 그리고 실제 무선인터넷 서비스를 위한 WAP Gateway의 구성과 기능, 동작원리의 순서로 알아 보겠다. 마지막으로 제한된 용량과 화면을 가지고 있는 무선단말기에 적합한 XML 기반의 WAP 컨텐츠를 제작하는데 사용하는 WML에 대하여 기술한다.

2. WAP 구조와 Gateway

가. 무선망 구성(wireless network solutions)

무선인터넷 서비스는 단말기에서 게이트웨이에 이르는 부분과 게이트웨이에서 CP(Content Provider)나 M-commerce 부분 등 여러가지 인터넷 관련 서비스를 하는 웹서버 부분으로 나눌 수 있다. [그림 2-1]은 무선망에 대한 전체 구성도이다.

나. WAP의 구조

(1) WAP 프로그래밍 모델

WAP 프로그래밍 모델은 WWW 프로그래밍 모델과 유사하다. WAP 컨텐츠와 애플리케이션은 WWW 포맷을 기반으로 하여 이미 정의된 컨텐츠를 이용한다. 컨텐츠는 WWW 통신 프로토콜을 기반으로 하는, 표준 통신 프로토콜을 사용해서 전송한다.

∙ WAP 표준 콤포넌트

- Standard naming model: WWW 표준 URL은 origin 서버에서 WAP 컨텐츠를 확인하기 위해서 사용한다.

- Content typing: 모든 WAP 컨텐츠는 WWW 타입과 함께 특정한 컨텐츠 타입을 준다.

- Standard Content formats: WAP 내용 형식들은 WWW 기술에 의거하고,display markup, calendar information, electronic business card objects, 그리고 이미지들과 스크립트 언어를 포함한다.

- Standard Communication protocols: WAP 통신 프로토콜들은 네트워크 웹서버에 모바일 터미널 브라우저가 요청한 통신을 가능하게 한다.

∙ WAP 프록시의 기능

- 프로토콜 게이트웨이: 프로토콜 게이트웨이는 WAP 프로토콜 스택(WSP, WTP, WTLS, WDP)을 WWW 프로토콜 스택(HTTP and TCP/IP)으로 변환한다.

- Content encoders and decoders: 컨텐츠 인코더는 네트워크에 맞게 자료를 줄인 WAP 컨텐츠를 변환한다. 이러한 구조는 이동 터미널을 통해 다양한 WAP 컨텐츠와 애플리케이션을 사용할 수 있다는 것을 의미하며, 애플리케이션 개발자가 모바일 터미널에서 운영되는 컨텐츠 서비스와 애플리케이션을 만들 수 있게 해준다는 것을 의미한다. WAP 프록시는 컨텐츠와 애플리케이션으로 하여금 표준 WWW 서버상에서 호스트의 역할을 할 수 있도록 해주며 또한, CGI 스크립팅과 같은 WWW 기술을 이용해서 개발할 수 있도록 해준다.

(2) WAP 구조의 콤포넌트(WAP Layer)

그림[2-3]은 유선인터넷인 WWW과 폰닷컴에서 개발한 HDTP(Handheld Device Transport Protocol)과 WAP을 비교해놓은 것이다.

∙ WAE(Wireless Application Protocol)

WAE는 WWW과 이동통신 기술의 조합을 기반으로 하는 애플리케이션 환경을 가진다. WAE 연구의 주요 목적은 오퍼레이터와 서비스 제공자로 하여금 효과적이고 유용한 방법으로 다양한 다른 무선 플랫폼에 접근할 수 있게 해주는 애플리케이션과 서비스를 만들 수 있게 함으로써 상호 운영 가능한 환경을 구축하는 것이다.

∙ WSP(Wireless Session Protocol)

HTTP 1.1에 상응하는 기능을 정의하고, 장시간 활용하는 세션을 정의하며, 세션관리를 위해 suspend/resume 기능도 제공하고, 프로토콜 기능에 대한 협상도 가능하게 한다. WSP는 WAP 프록시가 WSP 클라이언트를 표준 HTTP 서버에 연결할 수 있도록 디자인 되었다.

∙ WTP(Wireless Transaction Protocol)

WTP는 데이터그램 서비스의 상위에서 동작하며 mobile station 과 같은 ‘thin’클라이언트에서 실행하기에 적합한 작은 트랜잭션 형태의 데이터 전송 기능을 제공한다. 신뢰성 및 비신뢰성 전송 기능을 제공하고 오류 복구를 위해 재전송 기능도 담당한다.

∙ WTLS(Wireless Transport Layer Security)

WTLS는 산업 표준인 TLS(Transport Layer Security) 프로토콜을 무선망에 맞도록 경량화한 프로토콜이며, SSL(Secure Socket Layer)로 알려진 프로토콜에 기반한 보안 프로토콜이다. WTLS는 WAP 전송 프로토콜을 사용하며 좁은 통신 채널상에 사용하도록 최적화되어 있다. 이것은 데이터의 기밀성, 무결성, 인증, 부인봉쇄 등의 보안 서비스를 제공한다.

∙ WDP(Wireless Datagram Protocol)

WDP는 WAP 구조에서 Transport layer 프로토콜이다. WDP layer는 다양한 네트워크 타입에 의해 지원되는 data-capable bearer 서비스로 동작한다. 일반적인 전송 서비스로서 WDP는 WAP 상위 계층 프로토콜에 일관된 서비스를 제공하며, 이용 가능한 bearer 서비스 중의 하나와 통신한다. end to end 전송을 위해 포트 어드레싱을 제공하고 인터넷의 UDP와 같은 전송 기능을 담당한다.

(3) 보안

WAP은 WAP 클라이언트와 서버 사이에서의 연결 보안에 초점을 맞춘 유연한 보안 구조를 제공한다. WAP은 WAP 프로토콜 끝점 사이에서 end-to-end 보안을 제공할 수 있다. 만약 브라우저와 origin 서버 사이에서 end to end 보안을 요구한다면 WAP 프로토콜을 사용해서 직접 통신해야 한다.

∙ WAP 게이트웨이와 인터넷 사이의 통신

게이트웨이와 인터넷 사이의 통신은 Secure Port에서 보호된다. 클라이언트는 HTTP://로 시작하는 URL 브라우징에 의해서 Secure Port에 접근하고, Secure Port는 넷스케이프에서 만든 산업 표준인 Secure Sockets Layer을 사용한다.

Component
Domestic
Exportable
Key-exchange suitesRSA(up to 1024 bits)RSA(up to 512 bits)
Bulk-encryption algorithms
3 DES(up to 192 bits)
RC4(up to 128 bits)
DES(up to 64 bits)
DES(up to 56 bits)
RC4(up to 56 bits)
 
Message authentication
Code(MAC) algorithms
MD 5
SHA-1
MD 5
SHA-1
[그림 2-6] SSL Component

∙ WAP 게이트웨이와 단말기 사이의 통신

WAP 단말기는 대역폭의 제한 때문에 SSL을 사용할 수가 없다. 그 대신에 좀더 작고 경제적인 WAP이나 HDTP를 사용한다. 다음은 단말기와 WAP 게이트웨이 사이에서 Key_exchange가 일어나는 과정을 설명한 것이다.

1. 단말기는 Diffie-Hellman 알고리즘을 써서 Public Key 와 Private Key를 생성한다.

2. 단말기는 Public Key를 게이트웨이에 보낸다.

3. 게이트웨이는 단말기가 보내온 Public Key와 게이트웨이 자신의 Private Key를 이용하여 SSK를 생성한다.

4. 만들어진 자신의 Public Key를 단말기에 보낸다.

5. 단말기는 게이트웨이의 Public Key와 단말기 자신의 Private Key를 이용하여 SSK를 만든다.

6. 세션이 성립되어 단말기와 게이트웨이 사이의 통신은 보호된다. 만일 단말기의 SSK와 게이트웨이의 SSK가 같지 않다면 세션은 성립되지 않는다.

※ SSK(Shared Secret Key)는 최초의 인증을 위한 것이며, 세션 생성을 위한 Secret Key이다. 이것은 Diffie-Hellman(or RSA) 알고리즘을 이용하여 만든다.

∙ WAP 커뮤니케이션

WAP은 정보와 서비스를 무선 장치들에 전송하기 위한 규정이며, WAP Security의 한 부분인 WTLS 커뮤니케이션을 써서 통신한다. WAP WTLS는 게이트웨이 서버와 WAP 단말기 사이의 커뮤니케이션이 보호되는 방법을 정의한다. WTLS에 대한 내용은 WAP 포럼(http://www.wapforum.org)에서 볼 수 있다.

Component
Domestic
Exportable
Key-exchange suites
DH_anon (up to 2048 bits)
DH_anon_768
DH_anon_512
RSA_anon (up to 1024 bits)
RSA_anon_768
RSA_anon_512
DH_anon_512
RSA_anon_512
Bulk-encryption algorithms
RC5_CBC
RC5_CBC_56
RC5_CBC_40
RC5_CBC_56
RC5_CBC_40
 
MAC algorithms
 
SHA
SHA_40
SHA_80
SHA
SHA_40
SHA_40
[그림 2-8] WTLS Component

∙ HDTP 커뮤니케이션

HDTP는 WAP과 유사한 폰닷컴의 규정이다. 전화기와 게이트웨이 서버는 새로운 세션을 확립하기위해 SSK를 사용한다. 세션 키는 세션을 맺고 있는 동안 암호화하고,모든 커뮤니케이션을 해독하기 위해 사용된다.

Component
Domestic
Exportable
Key-exchange suitesDH (768 bit) DH(512 bit)
Bulk-encryption algorithms RC5_CBC(128 bit) RC5_CBC(40 bit)
Message authentication code Phone.com
Phone.com
(MAC) algorithms
[그림 2-9] HTDP Component

다. 게이트웨이 구성 요소

(1) 게이트웨이의 역할

WAP 게이트웨이는 웹서버의 요청에 의해서 단말로 정보를 전송하는 기능과 전자메일 도착, 주식 변경 정보 등 자신의 취향에 맞는 정보를 등록하고, 그 데이터의 비밀유지, 무결성, 인증을 위한 기능을 한다. 또한 웹서버와 WAP간의 프로토콜 변환을 위한 PPG(Push Proxy Gateway)의 역할을 하며 HTML을 단말기가 해독할 수 있는 HDML이나 WML로 변환하는 기능을 한다. 게이트웨이는 WAP에서 핵심 기술이라고도 할 정도로 중요하다. 여기서는 게이트웨이의 기본적인 구성 요소를 알아본다.

(2) 게이트웨이 주요 구성 요소

게이트웨이는 크게 3부분으로 나눌 수 있다. 게이트웨이와 외부와의 연결을 위한 인터페이스 부분과 실제 게이트웨이의 주 기능인 translator 및 메시지 처리 부분 그리고 각종 서비스를 위한 응용 애플리케이션 부분으로 나누어진다

∙ 유무선 인터페이스

WAP 게이트웨이는 무선망과 유선망에 접속할 수 있는 인터페이스를 제공한다. 기본적인 유선 프로토콜인 HTTP를 지원하며 문자 서비스인 SMS 연동 프로토콜과 무선 WAP 프로토콜을 지원한다.

WAP 프로토콜은 위에서 열거한 WAP 포럼의 기본적인 Spec을 따른다. 또한 SMSC 터널링 부분은 SMSC로 메시지 전송 및 수신을 위한 인터페이스로 일반적으로는 push 서비스를 위해 사용한다. SMSC 서버의 연동 프로토콜에 따라 다양한 프로토콜을 지원한다. 현재 국내 SMSC 서버에 사용되는 프로토콜은 Aldiscon 사의 SMPP(Short Message Peer To Peer)와 NewNet 사의 SMCI(Short Message Client Interface) 등이 있다.

∙ 메시지 처리 및 가공

게이트웨이의 핵심 부분으로 다시 크게 세 부분으로 나눌 수 있는데 유,무선망 사이에서 프로토콜과 컨텐츠를 변환하여주는 ‘Translator’ 부분, 가입자로부터의 요구 및 응답을 처리하는 ‘Message Processors’ 부분과 각 모듈의 스케줄을 담당하는 ‘Scheduler’ 부분으로 나눈다. Translator 부분은 유무선 연동을 위한 프로토콜 translator와 각종 컨텐츠(html, hdml, wml) 변환을 담당하는 모듈로 구성될 수 있다.

∙ 애플리케이션 인터페이스

각종 애플리케이션 연동을 위한 부분으로, 여기서는 기본적인 애플리케이션 서비스인 MAIL, PIMS, 팩스 서비스를 간단히 설명한다. 킬러 애플리케이션이기도 한 메일 서비스는 메일의 송수신을 담당하는 모듈이다. 개인 일정관리 및 정보관리를 가능케 하고 데스크탑 PC와도 연동할 수 있도록 하는 PIMS 모듈 및 팩스 서버에 전달된 내용을 단말기를 이용하여 가까운 팩스로 전송해서 내용을 확인하는 팩스 모듈 등이 있다.

라. WAP을 위한 언어 - WML과 WMLScript

WML은 WAP 포럼에서, 작은 화면과 제한된 메모리, CPU, 낮은 대역폭, 긴 접속 대기 시간을 가지고 있는 무선인터넷을 위한, 이동단말기에 적합한 Markup Language를 위해 개발되었다. 셀룰러폰과 페이저를 포함한 협대역 장비들을 위한 사용자 인터페이스와 컨텐츠를 기입하는 것을 목적으로 한다. WML의 특성을 이해하기 위해 먼저 각각의 Markup Language간의 상관관계를 보기로 한다.

(1) WML과 Markup Language들간의 상관관계

SGML(Standard Generalized Markup Language)은 텍스트, 그래픽, 오디오 및 비디오 등을 포함하여 멀티미디어 전자 문서들을 이 기종 시스템들간에 정보의 손실없이 효율적으로 전송, 저장 및 자동 처리할 목적으로 제작된 국제표준이다.

HTML(HyperText Markup Language)은 다양한 컴퓨터 기종의 모든 웹브라우저에서 원래 의도했던 문서의 모양을 최대한 비슷하게 보여줄 수 있도록 고안된 언어이다.

HDML(Handheld Device Markup Language)은 이동 휴대단말기에서 인터넷에 접속하기 위해 UP사(현, 폰닷컴)에서 만든 언어이며 기존의 HTML과 거의 유사한 문법으로 이루어져 있다.

XML(eXtensible Markup Language)은 1996년 W3C(World Wide Web Consortium)에서 제안한 것으로서, 웹상에서 구조화된 문서를 전송이 가능하도록 설계된 표준화된 텍스트 형식이다.

[그림 2-11]에서 볼 수 있듯이 HTML과 XML은 SGML에 기반을 두고 있다. XML은 SGML의 부분 집합이며, HTML과 같은 Markup Language의 상위 개념이다. WML은 XML에 기반을 둔 Markup Language로 HDML 2.0 일부분에 기초한다.

HDML로부터 적용된 몇 가지 요소를 바꾸고 HTML과 비슷한 요소를 가진 새로운 일부 요소를 추가하였고, HDML처럼 카드와 데크의 개념을 사용한다. WMLScript는 기본적으로 JavaScript에 기반을 둔다.

C-HTML: HTML4.0의 서브셋으로 일부 기능을 추가하거나 삭제한 언어이다.

(2) WML의 4가지 주요 기능 영역

WML은 다음과 같은 4가지 주요 기능 영역을 포함한다.

∙ Text presentation and layer

WML은 텍스트와 이미지에 대한 지원과 다양한 포맷팅, 레이아웃 명령어를 포함하고 있다. 예를 들면, 굵은 활자체의 텍스트를 표시할 수 있다.

∙ Deck/card organization metaphor

WML의 모든 정보는 카드(card)와 데크(deck)의 모임으로 구성된다. 카드는 하나 또는 그 이상의 user interaction의 unit(선택 메뉴, 화면문자, 문자입력)을 명시한다. 논리적으로 사용자는 일련의 WML 카드의 집합을 통하여 이동하며, 각각의 컨텐츠에 대한 재고와 요구되는 정보들을 입력, 선택, 그리고 다른 카드로 이동한다. 데크는 카드의 집합으로 구성된다. WML 데크는 URL에 의해 인식되는 HTML 페이지와 유사하며, 컨텐츠의 전송의 단위가 된다.

∙ Intercard navigation and linking

WML은 카드와 데크 사이의 이동에 대한 관리를 지원하며, 이동 목적으로 사용되거나 스크립트를 실행하는 것과 같은 장치에서의 이벤트 핸들링을 위한 provisions을 포함한다. 또한 HTML처럼 링크 연결을 지원한다.

∙ String parameterization and state management

모든 WML 데크들은 state model을 사용해서 변수화 된다. 변수명은 문자열이 존재하는 곳에 사용될 수 있으며, 실행시에 치환된다. 이 변수화는 네트워크의 자원을 좀더 효과적으로 사용할 수 있도록 한다.

(3) WML의 특징

WML의 특징은 텍스트와 이미지의 지원, navigation과 history stack 제공, 국제언어 지원, 독립적인 Man Machine Interface, 좁은 대역에 최적화된 대역 효율성, 상태와 문맥 관리 기능 등이다.

(4) WMLScript

ECMAScript를 기반으로 WAP 구조에 적합하게 개발되었고 정적인 WML의 보충적인 역할을 제공한다. WMLScript는 향상된 사용자 인터페이스를 제공하고, 단말기를 효율적으로 사용할 수 있도록 하고, 단말기와 단말기 주변의 장치들을 제어할 수 있게 하고, 통신 회사와 사용자간의 통신에서 데이터를 보내기 위해 필요한 대역폭의 양을 줄여준다.

WML에 지원하지 않는 사용자 입력의 적절성 검사, User Agent의 편의 기능 접근(전화하기, 메시지 보내기, 주소록에 전화번호 추가하기, SIM 카드 실행하기), 메시지와 대화의 일반화, 경고, 에러 메시지 확인 등을 사용자가 더 빨리 볼 수 있게 하기 등의 몇 가지 특성들을 포함한다.

/이재영 썬리미티드 사장







alert

댓글 쓰기 제목 [전문가 리포트-이재영] WAP 구조와 Gateway (2)

댓글-

첫 번째 댓글을 작성해 보세요.

로딩중
포토뉴스