1 / 28

Wap Protocol 분석

Wap Protocol 분석. ㈜ 퓨전소프트 개발 2 파트 허광호. Contents. Wap Protocol Stack 의 소개 Wap Protocol Stack 의 계층적 역활 WTP OverView WSP OverView. Wap Protocol Stack. WAP protocol stack 은 mobile device 가 통신을 하기 위하여 논리적으로 요구하는 서비스 들을 레이어로 표현하여 묶어 놓은 것이다 .

kineta
Download Presentation

Wap Protocol 분석

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wap Protocol 분석 ㈜퓨전소프트 개발2파트 허광호 1

  2. Contents • Wap Protocol Stack 의 소개 • Wap Protocol Stack 의 계층적 역활 • WTP OverView • WSP OverView 2

  3. Wap Protocol Stack • WAP protocol stack 은 mobile device 가 통신을 하기 위하여 논리적으로 요구하는 서비스 들을 레이어로 표현하여 묶어 놓은 것이다. • 각 레이어는 기능적으로나 논리적으로 다른 기능을 수행하기 때문에 물리적으로 나누어 진다. • Wap Protocol Stack은 OSI 레퍼런스 모델과 유사하며 차이점은 OSI 모델은 레이어가 7개 인데 비해 WAP 프로토콜 스택은 5개로서 비교적 간단하다. • 인터넷 프로토콜은 mobile device 와 같이 저 대역 이며 대기(호출) 시간이 긴 어플리케이션에 적합하지 않다. 3

  4. WAE WSP WTP WTLS WDP Wap Protocol Stack 의 계층적 역활 • WSP(Wireless Session Protocol) 는 클라이언트 / 서버 어플리케이션 컨텐츠 를 조직적으로 교환 할 수 있는 수단을 제공한다. • HTTP/1.1에 상응하는 기능을 정의 • 세션을 정의하고, 세션 관리를 위해 suspend/resume 기능도 제공 • 프로토콜 기능에 대한 협상도 가능하게 함 WAE(Wireless Application Environment) 는 이동 어플리케이션과 서비스의 개발을 위한 어플리케이션 환경을 지원한다. • WTP(Wireless Transcation Protocol) 는 신용의 정도에 따라 트렌잭션을 처리하는 수단을 제공한다. • 트랜잭션 형태의 데이터 전송 기능을 제공 • 신뢰성 및 비신뢰성 전송 기능을 제공하고 오류복구를 위해 재전송 기능도 담당 WTLS(Wireless Transport Layer Security) 는 증명 , 사생활, 보안 등에 관한 연결을 어플리케이션 사이에서 처리하는 수단을 제공한다. WDP(Wireless Datagram Protocol) 는 End-To-End 전송을 위해 port 어드레싱을 제공 하고 인터넷의 UDP와 같은 전송 기능을 담당 한다. Fig1. Wap Protocol Stack 4

  5. WTP OverView • WTP 는 request 에 대한 비-신뢰적 , 신뢰적 트랜잭션 서비스 Class 를 제공한다. • 제공되는 Class 는 다음과 같다. • Class 0 : 비-신뢰적 호출 메시지 • Class 1 : 신뢰적 호출 메시지 • Class 2 : 신뢰적 호출 메시지 에 대한 결과 메시지 5

  6. WTP : Transcation Class 0 • Class 0 는 비-신뢰적 데이터 그램 서비스에 대한 트랜잭션 을 제공한다. • Class 0 는 Push 서비스와 같이 서버(Initiator) 에서 클라이언트로(Responder) 임의로 데이터를 전송 할 때 사용한다. • Responder 는 응답 메시지를 전송 하지 않는다. • Class 0 는 재전송을 수행하지 않으며 트랜잭션 도중에 중단할 수 없다. • 메시지는 Responder 에게 도착하자 마자 처리되거나 소멸된다. Initiator Responder start Invoke( TID=N,TG,c0…) end Fig2. Class 0 Transaction 6

  7. WTP : Transcation Class 1 [1/2] • Class 1 는 신뢰적 데이터 그램 서비스에 대한 트랜잭션을 제공한다 • Class 1 는 신뢰성을 필요로 하는 Push 서비스 에서 사용된다. • Responder 는 처리 결과 메시지를 전송 하지 않지만 수신 확인 메시지를 Initiator 로 전송 한다. • Responder 는 Initiator 로 부터 메시지를 수신한 후 메시지를 잃어 버리 거나 Initiator 로 부터 재전송 받는 것에 대비하여 세션이 유지되는 동안 상태정보를 지속한다. • Initiator 에서 수신 확인 메시지를 받으면 트랜잭션 이 끝난다. 트랜잭션 은 실행도중 어느 순간에도 멈출 수 있다. 7

  8. WTP : Transcation Class 1 [2/2] Initiator Responder start Invoke( TID=N,TG,c1…) Ack( TID=N*) end 수신 확인 Fig3. Class 1 Transaction 8

  9. WTP : Transcation Class 2 [1/4] • Class 2 는 기본적인 호출 / 응답 트랜잭션 을 제공한다. • 클래스 2 트랜잭션 의 기본적인 행동은 다음과 같다. • 하나의 호출 메시지를 Initiator(클라이언트) 에서 Responder(서버) 로 전송한다. • Responder 는 호출된 서비스에 정확한 하나의 결과 메시지로 응답한다. • 만약 Responder 가 호출에 대한 서비스 시간이 길어지면 Responder 는 결과 메시지를 전송하기 전에 “hold on” acknowledgement 를 전송한다. • 이것은 Initiator로 부터 불필요한 메시지를 재 전송하는 것을 방지 한다. • Responder 는 결과 메시지를 Initiator 에게 돌려 준다. 9

  10. WTP : Transcation Class 2 [2/4] • Initiator 가 결과 메시지를 인식 한다. • Initiator 는 acknowledgement 전송 후에 상태정보를 유지 한다. • Initiator 가 결과 메시지를 잃어 버리거나. Responder 가 결과 메시지를 재 전송 하는 경우를 대비하여 이 정보를 유지한다. • Responder 에서 acknowledgement 받으면 트랜잭션 이 끝난다. 트랜잭션 은 도중에 어떤 때에도 멈출 수 있다. 10

  11. WTP : Transcation Class 2 [3/4] Initiator Responder start Invoke( TID=N,TG,c2…) Result( TID=N*,TG,…) Ack( TID=N ) end Fig4. Class 2 Transaction 11

  12. WTP : Transcation Class 2 [4/4] Initiator Responder start Invoke( TID=N,TG,c2…) “Hold On” Ack( TID=N* ) Result( TID=N*,TG,…) Ack( TID=N ) end Fig5. Class 2 Transaction EX) “Hold On” 12

  13. WSP OverView [1/2] • WSP(Wireless Session Protocol) 는 정규화된 형태로 어플리케이션 사이에서 데이터 교환을 가능하게 해준다. 이것에 관한 프로토콜은 2가지이다. • 연결 기반 세션 서비스 : WTP 로 동작 한다. • 비 연결 기반 세션 서비스 : WDP 로 동작한다.(HTTP 의 UDP) • Session service 는 클라이언트와 서버 사이의 연결을 설정 해주도록 한다. • Primitive 는 클라이언트가 서버로 서비스를 요구 하기 위해 보내는 메시지 이다. • WSP 는 HTTP/1.1 의 기능과 대부분 유사하며 Mobile Device 에 최적화 하기 위하여 바이너리 형태로 제공된다. 13

  14. WSP OverView [2/2] • WSP 에서 제공하는 기능 • 클라이언트 에서 서버 까지 믿을만한 세션을 확립 하고 세션을 해제 (세션 관리). • capability negotiation 은 사용한 프로토콜 기능성의 일반적 레벨에 대한 동의. • 간결한 인코딩을 사용한 서버와 클라이언 간의 컨텍스트 교환 • 세션의 정지와 재시작(세션 관리). • 클라이언트의 요구가 없이도 서버가 컨텐츠를 전달할 수 있는 push 기능 14

  15. WSP Session Management [1/6] • 세션은 클라이언트와 서버 사이에서 Method나 Push 트랜잭션 등을 수행하기 위하여 논리적으로 유지되는 연결을 의미한다. • S-Connect primitive • 클라이언트에서 서버로 세션을 설정하기 위하여 사용되며, WTP 클래스 2 트랜잭션을 사용한다. • 클라이언트 는 서비스 사용자로부터 전달된 정보들을 Connect 메시지로 만들어 서버로 전달한다. • 서버는 Connect 메시지에 대하여 Redirect 또는 ConnectReply 메시지로 응답한다. • 요구자가 기능을 제안하고 응답자가 협상된 기능을 알려주는 단 방향 기능 협상을 수행한다. • 세션 헤더 정보가 교환되면, 세션이 종료될 때까지 응용계층에서 유지 하여 필요에 따라 사용할 수 있다. 15

  16. WSP Session Management[2/6] Client Provider Server WTP Class 2 Transcation S-Connect.req Connect S-Connect.ind S-Connect.res ConnectReply S-Connect.cnf Fig6. Connect 16

  17. WSP Session Management[3/6] • S-Disconnect primitive • 클라이언트 또는 서버에서 세션을 종료할 때 사용되며 WTP Class 0 트랜잭션을 사용한다. • 서비스 제공자는 세션 식별자 정보가 있는 Disconnect 메시지를 전달한다. • 특히, 세션 연결 도중 서버에서 이 이벤트가 발생하면, Redirect 메시지를 전달하게된다. • Redirect 메시지는 세션을 재 설정할 서버에 대한 정보를 가진다. • 그 외, 세션을 일시 중지하기 위한 S-Suspend 프리미티브 및 세션을 재개하기 위한 S-Resume 프리미티브가 있다. 17

  18. WSP Session Management[4/6] Client Provider Server WTP Class 0 Transcation S-Connect.req S-Connect.ind Disconnect S-Connect.ind Fig7. DisConnect 18

  19. WSP Session Management[5/6] Client Provider Server WTP Class 2 Transcation S-Connect.req Connect S-Connect.ind S-Disconnect.req Redirect S-Disconnect.ind S-Disconnect.ind Fig8. Redirect 19

  20. WSP Session Management[6/6] Client Provider Server WTP Class 0 Transcation S- Suspend.req Suspend S-Connect.ind S- Suspend.ind WTP Class 2 Transcation S-Resume.req Resume S-Resume.ind S-Resume.req Reply S-Resume.ind S-Disconnect.req Reply S-Disconnect.ind S-Disconnect.ind Fig9. Supend & Resume 20

  21. WSP Method Invoke [1/3] • 메소드 호출 기능 • S-MethodInvoke 및 S-MethodResult Primitive • S-MethodInvoke는 HTTP 메소드 요구를 위하여 전달하는 메시지를 나타낸다. • S-MethodResult는 HTTP 메소드 요구에 대한 응답을 전달 받기 위한 메시지를 나타낸다. • WTP 클래스 2 트랜잭션을 사용하여 수행된다. • 클라이언트는 Method 메시지를 전달하여 서버에서 수행될 메소드와 그 동작을 지정한다. • 서버는 수행된 결과를 Reply 메시지로 응답한다. 21

  22. WSP Method Invoke [3/3] Client Provider Server WTP Class 2 Transcation S-MethodInvoke.req Method S-MethodInvoke.ind S-MethodInvoke.res S-MethodResult.req S-MethodInvoke.cnf Reply S-MethodResult.ind S-MethodResult.res S-MethodResult.cnf Fig10. Methoinvoke & MethodResult 22

  23. WSP Push [1/2] • Push 는 클라이언트가 정보를 요청하지 않은 상태에서 서버가 임의로 정보를 전달할 수 있는 기능을 제공하며 비-신뢰적 Push와 신뢰적 Push 두 가지가 있다. 그러나, 사용하는 메시지의 형식은 동일하다. • S-Push Primitive • 비-신뢰적 Push 서비스를 위하여 사용된다. • 비-신뢰적 Push는 WTP 클래스 0 트랜잭션을 사용한다. • WTP 클래스 0는 재전송 기능이 없으므로 비-신뢰적 이다. • S-ConfirmedPush Primitive • 신뢰적 Push 서비스를 위하여 사용된다. • 신뢰적 Push는 WTP 클래스 1 트랜잭션을 사용하여 구현된다. • WTP 클래스 1은 재전송 기능을 가지고 있어서, 데이터의 신뢰적 전달이 보장된다. 23

  24. WSP Push [2/2] Client Provider Server WTP Class 0 Transcation S-Push.req S-Push.ind Push Client Provider Server WTP Class 1 Transcation S-ConfirmedPush.req S-ConfirmedPush.ind ConfirmedPush S-ConfirmedPush.res S-ConfirmedPush.cnf Fig11. Non-Confirmed Push & Confirmed Push 24

  25. HTTP/1.1 Header Accept-Language: en 인코딩 된 Header 0x83 0x99 • WSP Header Incoding • 헤더 인코딩 • WSP 헤더는 HTTP/1.1[2]의 헤더을 모두 수용 하며 WAP에서 사용하기 위한 헤더가 추가되어 있다. • WSP 헤더는 텍스트 형식이므로 전송되는 데이터의 양을 줄이기 위하여 헤더 정보를 축약 된 바이너리 형태로 인코딩 한다. • WSP 헤더는 필드 이름과 필드 값으로 구성되어 있으며 인코딩 기법에 의하여 인코딩 된 헤더의 예는 아래와 같다. 25

  26. WSP Capabilities • 기능 협상 및 인코딩 은 클라이언트와 서버 사이의 서비스 수준 을조절하고 서비스 제공자의 수행을 최적화하기 위해 사용된다. 기능 협상시에 협상되는 기능은 다음과 같다. • 클라이언트와 서버 사이에서 전송되는 최대 메시지 크기 • 세션 수행 중에 동시에 수행될 수 있는 최대 메소드 및 신뢰적 Push 트랜잭션의 수 • 세션 일시 중지 나 재시작 또는 Push 기능의 사용 여부 • 기능 협상 요구는 인코딩 되어서 전달된다. • 인코딩은 길이, 기능 식별자, 파라미터로 구성된다. 26

  27. WSP – WTP : Method Invoke Client Server WSP WTP WSP S-Method.req TR_invoke.req TR_invoke.ind S-Method.ind S-Method.res TR_invoke.res TR_invoke.cnf S-Method.cnf S-Reply.req TR_Result.req TR_Result.ind S-Reply.ind S-Reply.res TR_Result.res TR_Result.cnf S-Reply.cnf Fig12. WSP – WTP Layer Transport 27

  28. Thank you ^^;; 28

More Related