KR101282986B1 - 스턴 프록시 서버 및 이를 이용한 sip 통신 방법 - Google Patents

스턴 프록시 서버 및 이를 이용한 sip 통신 방법 Download PDF

Info

Publication number
KR101282986B1
KR101282986B1 KR1020110025445A KR20110025445A KR101282986B1 KR 101282986 B1 KR101282986 B1 KR 101282986B1 KR 1020110025445 A KR1020110025445 A KR 1020110025445A KR 20110025445 A KR20110025445 A KR 20110025445A KR 101282986 B1 KR101282986 B1 KR 101282986B1
Authority
KR
South Korea
Prior art keywords
address
message
proxy server
client agent
network
Prior art date
Application number
KR1020110025445A
Other languages
English (en)
Other versions
KR20120107740A (ko
Inventor
배기문
조규섭
Original Assignee
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Priority to KR1020110025445A priority Critical patent/KR101282986B1/ko
Publication of KR20120107740A publication Critical patent/KR20120107740A/ko
Application granted granted Critical
Publication of KR101282986B1 publication Critical patent/KR101282986B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

SIP 통신 방법은 스턴 프록시 서버가 클라이언트 에이전트의 쿼리 메시지에 따라 네트워크 주소 변환기의 NAT(Network Address Translation) 매핑 정보를 이용하여 클라이언트 에이전트가 사용할 공인 주소를 검출하는 단계, 스턴 프록시 서버가 검출한 공인 주소를 클라이언트 에이전트로 전송하는 단계, 스턴 프록시 서버가 클라이언트 에이전트로부터 SIP 세션 셋업을 위한 메시지를 수신하여 타 클라이언트 에이전트로 전송하는 단계 및 스턴 프록시 서버가 메시지의 전송에 따른 응답 메시지를 클라이언트 에이전트로 전송하는 단계를 포함한다.

Description

스턴 프록시 서버 및 이를 이용한 SIP 통신 방법{STUN PROXY SERVER AND SIP COMMUNICATION METHOD USING THE SAME}
본 발명은 스턴 프록시 서버 및 이를 이용한 SIP 통신 방법에 관한 것이다.
인터넷 사용자의 수가 급격히 늘어남에 따라 IPv4 주소(공인 주소)의 고갈 문제가 발생하였고, 이를 해결하기 위해 IPv6 주소가 사용되었으나, IPv6 주소를 사용하기 위해서는 장비 교체에 따른 시간과 비용이 발생한다. 이에 따라 공인 주소가 부족한 문제를 해결하기 위해 사설 IP주소(이하, “사설 주소”라 함)를 공인 IP주소(이하, “공인 주소”라 함)로 변경시키는 네트워크 주소 변환기(NAT, Network Address Translation)가 사용되고 있다.
네트워크 주소 변환기는 내부 사설망에서 외부 공인망으로 메시지(패킷)가 전달될 때 메시지의 소스 IP/포트와 목적지 IP/포트 정보를 조합한 매핑 테이블(mapping table)에 따라 내부망으로 메시지를 통과시키는 핀홀(pinhole)을 생성한다. 핀홀은 네트워크 주소 변환기가 로컬 네트워크와 글로벌 네트워크의 연결을 위해 내부적으로 생성하는 포트 연결을 가리킨다.
또한, 네트워크 주소 변환기는 매핑 룰에 따라 시메트릭(symmetric) NAT와 콘(cone) NAT로 나눠진다. 시메트릭 NAT는 목적지가 변경되면 그에 따라 공인 주소가 변경되고, 목적지에 따라 다른 공유기의 외부 IP주소 및 포트 핀홀을 가진다. 즉, 시메트릭 NAT는 같은 주소와 포트를 가진 내부 호스트가 다른 목적지로 메시지를 전송할 경우 다른 핀홀을 사용한다. 따라서, 내부 호스트로부터 메시지를 수신한 외부 호스트만이 내부로 메시지를 전송할 수 있다.
이와 달리, 콘 NAT는 목적지에 관계없이 같은 공인 주소로 연결한다. 즉, 콘 NAT의 경우 내부망의 IP주소와 포트에 대해 목적지에 관계없이 공유기의 외부 IP 및 포트 핀홀이 변하지 않는다.
한편, 네트워크 주소 변환기는 서버-클라이언트 모델에서는 잘 동작하지만, 피어 투 피어(peer to peer) 모델에서는 NAT 트래버설(traversal) 문제를 일으킨다. 또한, 네트워크 주소 변환기에 의한 주소 변환은 네트워크 주소 변환기의 외부 망에서는 인지할 수 없어 VoIP(Voice over Internet Protocol)에서 공통적으로 사용되는 SIP(Session Initiation Protocol)를 비롯한 다양한 어플리케이션의 사용을 제한한다.
여기서, SIP는 엔드 포인트 간의 통신 세션을 시작하는 데 필요한 확장 가능한 요청/응답 프로토콜로서 VoIP와 같은 서비스에 많이 이용되고 있다. 이하, 도 1을 통해 SIP 동작 과정에 대해서 설명하고, 도 2를 통해 NAT 트래버설 문제에 대해서 보다 구체적으로 설명하기로 한다.
도 1은 종래의 SIP 세션 셋업을 위한 동작 과정을 도시한다.
도 1에 도시된 바와 같이, 클라이언트 A(10)가 호스트 네임과 현재 IP주소를 포함하는 ‘REGISTER’ 메시지를 프록시 서버(30)로 전달한다(S11).
다음으로,‘REGISTER’ 메시지를 수신한 프록시 서버(30)가 데이터베이스(90)에 해당 메시지를 저장하고(S12), 등록이 이루어졌음을 알리기 위해 ‘200 OK’메시지를 클라이언트 A(10)로 전달한다(S13). 마찬가지로, 클라이언트 B(20)에 대해서도 클라이언트 A(10)의 상기 과정이 수행된다(S14~S16).
다음으로, 클라이언트 A(10)가 클라이언트 B(20)의 호스트 네임을 사용하여 SIP 요청 메시지인 ‘INVITE’ 메시지를 프록시 서버(30)로 전달한다(S17).
다음으로, 프록시 서버(30)가 데이터베이스(90)를 통해 클라이언트 B(20)의 위치 정보를 얻고(S18), ‘INVITE’ 메시지를 클라이언트 B(20)로 전달한다(S19).
다음으로, 해당 ‘INVITE’ 메시지를 전달하였음을 알리는 ‘100 TRYING’메시지를 클라이언트 A(10)로 전달한다(S19).
다음으로, 클라이언트 B(20)가 ‘INVITE’ 메시지를 수신한 후, 신호음인 ‘180 RING’메시지를 클라이언트 A(10)로 전달한다(S21, S22).
다음으로, 클라이언트 B(20)가 확인 응답으로 ‘200 OK’메시지를 프록시 서버(30)를 통해 클라이언트 A(10)로 전달한다(S23, S24).
다음으로, 클라이언트 A(10)가 ‘ACK’메시지를 프록시 서버(30)를 통해 클라이언트 B(20)로 전달하여 SIP 세션을 셋업한다(S25, S26). 이후, 클라이언트 A(10)와 클라이언트 B(20)간 SIP 세션이 셋업된다(S27).
한편, 상술한 과정(S11~S27)에서 네트워크 주소 변환기(40)가 사용될 경우의 통신 과정을 이하 도 2를 통해 설명하기로 한다.
도 2는 종래의 NAT 환경에서 SIP를 사용할 때의 통신 과정을 도시한다.
도 2에 도시된 바와 같이, SIP 세션 셋업을 위해 클라이언트 A(10)가 SIP 요청 메시지인 ‘INVITE’ 메시지(31)를 네트워크 주소 변환기(40)로 전달한다(S41). 이때, 메시지(31) 내의 비아(Via) 헤더 필드에 SIP 응답 메시지를 수신할 수 있는 비아 주소(Via address)(32)가 기록된다.
다음으로, 네트워크 주소 변환기(40)가 해당 메시지(31)의 소스 주소(33)(소스 IP주소 및 포트)를 공인 주소(공인 IP주소 및 포트)로 변경한다(S42).
다음으로, 프록시 서버(30)가 클라이언트 B(20)에 ‘INVITE’ 메시지(31)를 전달한다(S43).
여기서, 클라이언트 A(10)의 사설 주소는 네트워크 주소 변환기(40)를 통해 공인 주소에 매핑되어 있으나, SIP 응답 메시지를 수신하기 위한 비아 주소(32)는 사설 주소를 그대로 갖고 있다. 따라서, 프록시 서버(30)는 클라이언트 A(10)의 위치를 알 수 없어 응답 메시지를 전달할 수 없는 NAT 트래버설 문제가 발생하게 된다.
본 발명의 일 실시예는 다양한 NAT 환경에서 SIP 프로토콜을 사용하여 네트워크 통신을 효과적으로 수행할 수 있는 스턴 프록시 서버 및 이를 이용한 SIP 통신 방법을 제공하는 데에 그 목적이 있다.
또한, 본 발명의 일 실시예는 클라이언트가 스턴 프록시 서버를 통해 자신의 공인 주소를 확인하고, 모든 메시지를 스턴 프록시 서버를 통해 전달함으로 인해, 클라이언트의 사설 주소가 네트워크 주소 변환기를 통해 공인 주소에 매핑되어 있으나, SIP 응답 메시지를 수신하기 위한 비아 주소는 사설 주소를 그대로 갖고 있음으로 인해 응답 메시지를 전달할 수 없었던 기존의 NAT 트래버설 문제를 해소시킬 수 있는 스턴 프록시 서버 및 이를 이용한 SIP 통신 방법을 제공하는 데에 그 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예에 따른 SIP 통신 방법은 스턴 프록시 서버가 클라이언트 에이전트의 쿼리 메시지에 따라 네트워크 주소 변환기의 NAT(Network Address Translation) 매핑 정보를 이용하여 클라이언트 에이전트가 사용할 공인 주소를 검출하는 단계, 스턴 프록시 서버가 검출한 공인 주소를 클라이언트 에이전트로 전송하는 단계, 스턴 프록시 서버가 클라이언트 에이전트로부터 SIP 세션 셋업을 위한 메시지를 수신하여 타 클라이언트 에이전트로 전송하는 단계 및 스턴 프록시 서버가 메시지의 전송에 따른 응답 메시지를 클라이언트 에이전트로 전송하는 단계를 포함한다.
본 발명의 일 실시예에 따른 스턴 프록시 서버는 클라이언트 에이전트의 쿼리 메시지에 따라 네트워크 주소 변환기의 NAT(Network Address Translation) 매핑 정보를 검출하여 클라이언트 에이전트가 사용할 공인 주소를 검출하는 공인 주소 검출부 및 클라이언트 에이전트, 클라이언트 에이전트와 SIP 세션을 셋업하는 타 클라이언트 에이전트 및 네트워크 주소 변환기와 SIP 세션 셋업을 위한 메시지를 송수신하는 메시지 송수신부를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 다양한 NAT 환경에서 SIP 프로토콜을 사용하여 네트워크 통신을 효과적으로 수행할 수 있다.
또한, 전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 클라이언트가 스턴 프록시 서버를 통해 자신의 공인 주소를 확인하고, 모든 메시지를 스턴 프록시 서버를 통해 전달함으로 인해, 클라이언트의 사설 주소가 네트워크 주소 변환기를 통해 공인 주소에 매핑되어 있으나, SIP 응답 메시지를 수신하기 위한 비아 주소는 사설 주소를 그대로 갖고 있음으로 인해 응답 메시지를 전달할 수 없었던 기존의 NAT 트래버설 문제를 해소시킬 수 있다.
또한, 전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 클라이언트가 스턴 프록시 서버를 통해 자신의 공인 주소를 확인하고, 모든 메시지를 스턴 프록시 서버를 통해 전달함으로 인해, 기존의 시메트릭 NAT 환경에서 클라이언트가 공인 주소를 확인하기 위해 스턴 서버로 메시지를 전달하고, 알아낸 공인 주소를 이용하여 프록시 서버로 메시지를 전달하면 목적지 주소가 변하므로, 네트워크 주소 변환기에 의해 매핑되는 공인 주소가 변하여 SIP가 동작하지 않았던 문제점을 해소시킬 수 있다.
또한, 전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 공인망에 위치한 스턴 프록시 서버는 모든 네트워크 주소 변환기 환경에서 동작이 가능하므로 클라이언트가 이동하여 다른 사설망에 위치하였을 때에도 SIP의 이용이 가능하다.
또한, 전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 스턴 프록시 서버를 통한 SIP 통신을 통해 모든 메시지가 프록시 서버와 턴 서버 두 번의 릴레이 과정을 거쳐야 했던 종래의 문제점을 해소시킬 수 있다.
도 1은 종래의 SIP 세션 셋업을 위한 동작 과정을 도시한다.
도 2는 종래의 NAT 환경에서 SIP를 사용할 때의 통신 과정을 도시한다.
도 3a 및 도 3b는 통상적인 NAT 환경에서 스턴 서버를 사용할 때의 통신 과정을 도시한다.
도 4a 및 도 4b는 통상적인 ALG NAT 환경에서의 통신 과정을 도시한다.
도 5a 및 도 5b는 통상적인 NAT 환경에서 턴 서버를 사용할 때의 통신 과정을 도시한다.
도 6a 및 도 6b는 본 발명의 일 실시예에 따른 NAT 환경에서 스턴 프록시 서버를 통해 SIP 통신을 수행하는 과정을 도시한다.
도 7은 본 발명의 일 실시예에 따른 스턴 프록시 서버의 블록도이다.
도 8은 본 발명의 일 실시예에 따른 스턴 프록시 서버를 이용한 SIP 통신 과정의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 3a 및 도 3b는 통상적인 NAT 환경에서 스턴 서버를 사용할 때의 통신 과정을 도시한다.
스턴(STUN, Simple Traversal of UDP Through NATs)은 네트워크 주소 변환기에 의해 매핑된 공인 주소를 알아내거나 네트워크 주소 변환기의 종류를 알아내기 위해 사용된다.
도 3a에 도시된 바와 같이, 클라이언트 A(10)(클라이언트 에이전트)가 SIP 세션 셋업을 위한 ‘INVITE’ 메시지(31)를 전달하기 이전에 스턴 서버(50)를 통해 자신이 사용하는 공인 주소를 확인한다(S51). 이때, 스턴 서버(50)는 네트워크 주소 변환기(40)의 NAT 매핑 정보를 이용하여 클라이언트 A(10)가 사용할 공인 주소를 검출할 수 있다. 그리고, 클라이언트 A(10)는 스턴 서버(50)가 전달한 정보를 통해 자신의 공인 주소를 알 수 있다(S52).
그리고, 클라이언트 A(10)는 해당 공인 주소를 비아 주소(32)에 기록하고, ‘INVITE’ 메시지(31)를 네트워크 주소 변환기(40)로 전달한다(S53). 여기서, 네트워크 주소 변환기(40)에 의해 매핑된 공인 주소와 응답받을 주소가 동일하므로, 이후 응답 메시지를 수신할 수 있게 된다.
그러나, 이러한 방법은 도 3b에 도시된 바와 같이 시메트릭 NAT(45)일 경우에는 적용될 수 없다. 즉, 시메트릭 NAT(45)는 목적지가 변경되면 공인 주소도 변경되므로, 응답받을 주소와 실제 주소가 서로 달라져 응답 메시지를 수신할 수 없게 된다.
보다 구체적으로, 클라이언트 A(10)는 공인 주소를 확인하기 위해 스턴 서버(50)에게 메시지를 보내서 공인 주소를 확인하고, ‘INVITE’ 메시지(31)를 프록시 서버(30)로 전달한다. 그러나, 스턴 서버(50)와 프록시 서버(30)는 목적지가 다르므로 공인 주소가 변해있어 응답을 받을 수 없게 된다. 여기서, 스턴은 콘 NAT에서는 공인 주소가 변하지 않지만, 상술한 시메트릭 NAT(45)에서는 공인 주소가 변하므로 사용할 수 없게 된다.
도 4a 및 도 4b는 통상적인 ALG NAT 환경에서의 통신 과정을 도시한다.
ALG(Application Level Gateway)는 애플리케이션 레벨의 네트워크 주소 변환기로 동작하는 방식이다. ALG는 세션 전송과 미디어 전송에 대해 주소 및 포트 정보를 관리하며 인-라인(IN-LINE)에서 미디어 전송에 필요한 주소를 지능적으로 매핑하여 기존의 네트워크 주소 변환기나 방화벽 장비에 고급 기능으로 사용된다.
도 4a에 도시된 바와 같이, ALG 네트워크 주소 변환기(47)는 전송 메시지의 비아 주소를 변경하여 전송하며, 기존 네트워크 주소 변환기를 사용할 때 응답을 받을 수 없는 문제를 해결한다. 그러나, ALG방식은 클라이언트가 이동했을 때 문제가 되는데, 이동한 네트워크 망의 네트워크 주소 변환기가 ALG 기능이 없을 때에는 SIP를 사용할 수 없다.
즉, 도 4b에 도시된 바와 같이, 클라이언트 B(20)는 ALG NAT B(47)의 네트워크 망(지역)에서 SIP를 사용하다가 NAT C(44)로 이동(a’)하였다. 이때, ALG NAT B(47)는 ALG 기능을 가지고 있어서 비아 주소를 변경하여 SIP를 사용했지만 NAT C(44)는 ALG 기능이 없으므로 SIP를 사용할 수 없다. 이와 같이, 모든 NAT에 ALG를 설치하는 것은 어렵기 때문에 클라이언트의 이동상황에서 ALG 방식은 적합하지 않다.
도 5a 및 도 5b는 통상적인 NAT 환경에서 턴 서버를 사용할 때의 통신 과정을 도시한다.
턴(TURN, Traversal Using Relay NAT)은 네트워크 주소 변환기에 속해 있는 클라이언트가 TCP, UDP를 통해 데이터를 수신할 수 있도록 하는 프로토콜이다.
도 5a에 도시된 바와 같이, 턴 서버(60)는 공인망에 위치하고 클라이언트 A(10)는 사설 망에 위치하며, 턴 서버(60)는 클라이언트 A(10)의 요청에 따라 공인 주소와 포트 정보를 제공한다(S61, S62). 이때, 메시지는 턴 서버(60)가 알려준 주소로 수신되며, 턴 서버(60)는 자신이 알려준 주소로 수신된 메시지를 클라이언트로 전달한다.
클라이언트 A(10)는 턴 서버(60)가 알려준 주소를 비아 주소에 기록하여 턴 서버(60)로 ‘INVITE’ 메시지(31)를 전달한다(S63, S64). 여기서 턴 서버(60)는 모든 메시지를 릴레이(relay)하고, 턴 서버(60)가 수신한 ‘INVITE’ 메시지(31)는 프록시 서버(30)로 전달된다(S65). 이후, 프록시 서버(30)는 턴 서버(60)가 알려준 주소로 응답 메시지를 전송한다.
이와 같이, 모든 메시지가 턴 서버(60)로 보내지므로 시메트릭 NAT의 문제를 해결할 수 있다. 또한, 턴 서버(60)는 공인망에 위치하며 네트워크 주소 변환기에 변화를 주지 않으므로 클라이언트의 이동상황에서도 문제없이 사용될 수 있다.
도 5b에 도시된 바와 같이, 클라이언트 B(20)는 NAT B(42)에서 NAT C(44)로 이동(b’)하였지만, 턴 서버(60)가 공인망에 위치하므로 턴 서버(60)로 메시지를 전송하고, 턴 서버(60)의 릴레이를 통해 SIP 사용이 가능하다.
그러나, 턴 서버(60)는 모든 메시지를 릴레이하며, 프록시 서버(30) 또한 모든 메시지를 릴레이하므로 프록시 서버(30)와 턴 서버(60) 두 번의 릴레이 과정을 거쳐야 하는 문제점이 있다. 또한, 턴은 서버를 새롭게 구성해야 하므로 많은 비용이 발생한다.
도 6a 및 도 6b는 본 발명의 일 실시예에 따른 NAT 환경에서 스턴 프록시 서버를 통해 SIP 통신을 수행하는 과정을 도시한다.
도 6a에 도시된 바와 같이, 클라이언트 A(200)는 쿼리 메시지를 전달하여 공인망에 위치한 스턴 프록시 서버(100)를 통해 자신의 공인 주소를 확인한다(S101). 이때, 클라이언트 A(10)는 스턴 프록시 서버(100)가 전달한 정보를 통해 자신의 공인 주소를 알 수 있다(S111).
그리고, 클라이언트 A(200)는 ‘INVITE’ 메시지(31)의 비아 주소(32)를 해당 공인 주소로 변경하여 시메트릭 NAT(300)를 통해 스턴 프록시 서버(100)로 전달한다(S121, S131). 여기서, 시메트릭 NAT(300)는 해당 메시지(31)의 소스 주소(33)를 공인 주소로 변경한다.
다음으로 스턴 프록시 서버(100)는 데이터베이스(90)를 통해 클라이언트 B(20)의 위치 정보를 얻고(S141), 해당 메시지(31)를 클라이언트 B(20)로 전달한다(S151).
다음으로, 스턴 프록시 서버(100)는 클라이언트 B(20)로 해당 메시지(31)를 전달하였음을 알리는 ‘100 TRYING’ 메시지를 클라이언트 A(200)에 전달한다(S161). 이후의 SIP 세션 셋업 과정에 대해서는 도 1을 참조하기 바란다.
도 6b에 도시된 바와 같이, 클라이언트 B(20)가 NAT B(42)의 네트워크 망에서 SIP를 사용하다가 NAT C(44)로 이동하였다. 이때, 본 발명의 스턴 프록시 서버(100)는 공인망에 위치하고, 타 네트워크 주소 변환기가 위치한 네트워크 망으로 클라이언트 B(20)가 이동(c’)하여도 스턴 프록시 서버(100)에게 공인 주소 확인을 위한 메시지(602)를 전달하고, 해당 공인 주소를 비아 주소에 기록하여 SIP 통신을 수행하므로, 모든 종류의 네트워크 주소 변환기에서도 문제를 일으키지 않는다. 이때, 스턴 프록시 서버(100)는 NAT C(44)의 NAT 매핑 정보를 이용하여 클라이언트 B(20)가 사용할 공인 주소를 검출할 수 있다.
이와 같이, 본 발명의 스턴 프록시 서버(100)를 통한 SIP 통신은 클라이언트의 사설 주소가 네트워크 주소 변환기를 통해 공인 주소에 매핑되어 있으나, 응답 메시지를 수신하기 위한 비아 주소는 사설 주소를 그대로 갖고 있음으로 인해 응답 메시지를 전달할 수 없었던 기존의 NAT 트래버설 문제를 해소시킬 수 있다.
또한, 도 3a 및 도 3b의 시메트릭 NAT 환경에서 클라이언트가 공인 주소를 확인하기 위해 스턴 서버(50)로 메시지를 전달하고, 알아낸 공인 주소를 이용하여 프록시 서버(30)로 메시지를 전달하면 목적지 주소가 변하므로, 네트워크 주소 변환기에 의해 매핑되는 공인 주소가 변하여 SIP가 동작하지 않았다. 그러나, 본 발명의 스턴 프록시 서버(100)에게 공인 주소를 확인하는 방법을 통해 공인 주소가 변하는 문제를 해결할 수 있다.
또한, 본 발명의 스턴 프록시 서버(100)는 공인망에 위치하며 모든 네트워크 주소 변환기 환경에서 동작이 가능하며 클라이언트가 이동하여 다른 사설망에 위치하였을 때에도 SIP의 이용이 가능하다. 따라서, 도 4a 및 도 4b의 ALG NAT 환경에서의 문제점을 해소시킬 수 있다.
또한, 본 발명의 스턴 프록시 서버(100)를 통한 SIP 통신을 통해 도 5a 및 도 5b의 프록시 서버(30)와 턴 서버(60) 두 번의 릴레이 과정을 거쳐야 하는 문제점을 해소시키고, 서버를 새롭게 구성해야 하는 비용 부담을 줄일 수 있다. 이하, 도 6을 통해 본 발명의 스턴 프록시 서버(100)의 구성에 대해서 보다 구체적으로 설명하기로 한다.
도 7은 본 발명의 일 실시예에 따른 스턴 프록시 서버의 블록도이다.
도 7에 도시된 바와 같이 스턴 프록시 서버(100)는 공인 주소 검출부(110) 및 메시지 송수신부(120)를 포함한다. 하기, SIP 사용자 에이전트(UA, User Agent)(이하, “클라이언트 에이전트”라고 함)(200)는 상술한 클라이언트 단말기로 구현될 수 있다.
공인 주소 검출부(110)는 클라이언트 에이전트(200)의 쿼리 메시지에 따라 클라이언트 에이전트(200)의 공인 주소를 검출한다. 이때, 공인 주소 검출부(110)는 클라이언트 에이전트(200)가 위치한 네트워크 망의 네트워크 주소 변환기(300)의 NAT 매핑 정보를 이용하여 클라이언트 에이전트(200)가 사용할 공인 주소를 검출할 수 있다. 이때, 네트워크 주소 변환기(300)는 시메트릭 NAT 등 다양한 NAT 형태를 포함할 수 있다.
또한, 공인 주소 검출부(110)는 클라이언트 에이전트(200)가 제 1 네트워크 주소 변환기의 네트워크 망에서 SIP를 사용하다가 제 2 네트워크 주소 변환기의 네트워크 망으로 이동하여 공인 주소 확인을 위한 메시지를 클라이언트 에이전트(200)로부터 수신한 경우, 해당 클라이언트 에이전트(200)의 공인 주소를 확인하여 클라이언트 에이전트(200)로 전달할 수 있다. 이때, 공인 주소 검출부(110)는 제 2 네트워크 주소 변환기의 NAT 매핑 정보를 이용하여 클라이언트 에이전트(200)가 사용할 공인 주소를 검출할 수 있다.
메시지 송수신부(120)는 메시지 송수신을 수행하며, 예컨대 클라이언트 에이전트, 클라이언트 에이전트와 SIP 세션을 셋업하는 타 클라이언트 에이전트 및 네트워크 주소 변환기와 SIP 세션 셋업을 위한 메시지를 송수신할 수 있다.
상술한 클라이언트 에이전트(200)는 SIP 요청 메시지 생성부(210)를 통해 공인 주소 획득을 위한 쿼리 메시지를 생성하고, 비아 주소 갱신부(220)를 통해 SIP 세션 셋업을 위한 메시지의 비아 주소를 공인 주소로 변경할 수 있다.
또한, 클라이언트 에이전트(200)는 제 1 네트워크 주소 변환기의 네트워크 망에서 SIP를 사용하다가 제 2 네트워크 주소 변환기의 네트워크 망으로 이동한 경우, SIP 요청 메시지 생성부(210)를 통해 공인 주소 획득을 위한 쿼리 메시지를 생성하여 스턴 프록시 서버(100)로 전달할 수 있다. 그리고, 비아 주소 갱신부(220)를 통해 SIP 세션 셋업을 위한 메시지의 비아 주소를 해당 공인 주소로 변경하여, SIP 세션 셋업을 수행할 수 있다.
한편, 상술한 네트워크 주소 변환기(300)는 사설 주소 변경부(310)를 통해 세션 셋업을 위한 메시지의 사설 주소를 공인 주소로 변경하여 스턴 프록시 서버(100)로 전달할 수 있다.
도 8은 본 발명의 일 실시예에 따른 스턴 프록시 서버를 이용한 SIP 통신 과정의 순서도이다.
도 8에 도시된 바와 같이, 스턴 프록시 서버(100)가 클라이언트 에이전트의 쿼리 메시지에 따라 클라이언트 에이전트의 공인 주소를 검출한다(S701). 이때, 클라이언트 에이전트가 위치한 네트워크 망의 네트워크 주소 변환기의 NAT 매핑 정보를 이용하여 클라이언트 에이전트의 공인 주소를 검출할 수 있다.
다음으로, 스턴 프록시 서버(100)가 검출한 공인 주소를 클라이언트 에이전트로 전송한다(S711).
다음으로, 스턴 프록시 서버(100)가 클라이언트 에이전트의 SIP 세션 셋업을 위한 요청 메시지인 ‘INVITE’ 메시지를 수신하여 타 클라이언트 에이전트로 전송한다(S721).
상술한 단계(S721)에 있어서, 클라이언트 에이전트는 스턴 프록시 서버(100)로부터 수신한 공인 주소로 ‘INVITE’ 메시지에 포함된 비아(Via) 주소를 변경한다. 이때, 네트워크 주소 변환기는 클라이언트 에이전트로부터 수신한 메시지의 사설 주소를 공인 주소로 변경하여 스턴 프록시 서버(100)로 전송할 수 있다.
다음으로, 스턴 프록시 서버(100)가 타 클라이언트 에이전트로 상술한 요청 메시지의 전달에 따른 응답 메시지를 클라이언트 에이전트로 전송한다(S731).
한편, 클라이언트 에이전트와 세션을 셋업한 타 클라이언트 에이전트가 제1 네트워크 주소 변환기가 위치한 네트워크 망에서 SIP를 사용하다가 제 2 네트워크 주소 변환기가 위치한 네트워크 망으로 이동한 경우, 스턴 프록시 서버(100)는 타 클라이언트 에이전트로부터 쿼리 메시지를 수신하여 타 클라이언트 에이전트의 공인 주소를 검출할 수 있다. 여기서, 타 클라이언트 에이전트가 위치한 네트워크 망의 제 2 네트워크 주소 변환기의 NAT 매핑 정보를 이용하여 타 클라이언트 에이전트의 공인 주소를 검출할 수 있다.
그리고, 타 클라이언트 에이전트는 스턴 프록시 서버(100)로부터 해당 공인 주소로 수신하여 클라이언트 에이전트와의 SIP 세션 셋업을 위한 메시지의 비아 주소를 변경하고, 스턴 프록시 서버(100)를 통해 클라이언트 에이전트로 해당 메시지를 전송하여 세션을 셋업하게 된다.
한편, 도 7에서 도시된 각각의 구성요소는 일종의 '모듈'로 구성될 수 있다. 상기 '모듈'은 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(ASIC, Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 구성요소들과 모듈들에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다.
또한, 도 7의 각 구성요소(100~300)간의 연결 네트워크는 근거리 통신망(LAN, Local Area Network), 광역 통신망(WAN, Wide Area Network) 또는 부가가치 통신망(VAN, Value Added Network) 등과 같은 유선 네트워크나 3G, WIFI 등의 이동 통신망(mobile radio communication network) 또는 위성 통신망 등과 같은 모든 종류의 무선 네트워크로 구현될 수 있다.
또한, 사용자 에이전트(200)는 네트워크를 통해 네트워크 주소 변환기(300) 및 스턴 프록시 서버(100)에 접속할 수 있는 컴퓨터나 휴대용 단말기로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 스마트폰, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110: 공인 주소 검출부
120: 메시지 송수신부
210: SIP 요청 메시지 생성부
220: 비아 주소 갱신부
310: 사설 주소 변경부

Claims (8)

  1. SIP 통신 방법에 있어서,
    스턴 프록시 서버가 클라이언트 에이전트의 쿼리 메시지에 따라 네트워크 주소 변환기의 NAT(Network Address Translation) 매핑 정보를 이용하여 상기 클라이언트 에이전트가 사용할 공인 주소를 검출하는 단계,
    상기 스턴 프록시 서버가 상기 검출한 공인 주소를 상기 클라이언트 에이전트로 전송하는 단계,
    상기 스턴 프록시 서버가 상기 클라이언트 에이전트로부터 SIP 세션 셋업을 위한 메시지를 수신하여 타 클라이언트 에이전트로 전송하는 단계,
    상기 스턴 프록시 서버가 상기 메시지의 전송에 따른 응답 메시지를 상기 클라이언트 에이전트로 전송하는 단계,
    상기 스턴 프록시 서버가 제 1 네트워크 주소 변환기가 위치한 네트워크 망에서 제 2 네트워크 주소 변환기가 위치한 네트워크 망으로 이동한 상기 타 클라이언트 에이전트로부터 공인 주소에 대한 쿼리 메시지를 수신하는 단계,
    상기 스턴 프록시 서버가 상기 제 2 네트워크 주소 변환기의 NAT 매핑 정보를 이용하여 상기 타 클라이언트가 사용할 공인 주소를 검출하는 단계 및
    상기 검출한 타 클라이언트 에이전트의 공인 주소를 상기 타 클라이언트 에이전트로 전송하는 단계
    를 포함하되,
    상기 메시지는
    상기 공인 주소로 변경된 비아(Via) 주소를 포함하는 것인 SIP 통신 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 네트워크 주소 변환기는
    시메트릭 NAT를 포함하는 것인 SIP 통신 방법.
  5. 스턴 프록시 서버에 있어서,
    클라이언트 에이전트의 쿼리 메시지에 따라 네트워크 주소 변환기의 NAT(Network Address Translation) 매핑 정보를 검출하여 상기 클라이언트 에이전트가 사용할 공인 주소를 검출하는 공인 주소 검출부 및
    상기 클라이언트 에이전트, 상기 클라이언트 에이전트와 SIP 세션을 셋업하는 타 클라이언트 에이전트 및 네트워크 주소 변환기와 SIP 세션 셋업을 위한 메시지를 송수신하는 메시지 송수신부
    를 포함하는 스턴 프록시 서버.
  6. 제 5 항에 있어서,
    상기 공인 주소 검출부는
    제 1 네트워크 주소 변환기가 위치한 네트워크 망에서 제 2 네트워크 주소 변환기가 위치한 네트워크 망으로 이동한 상기 타 클라이언트 에이전트로부터 쿼리 메시지를 수신하여 상기 제 2 네트워크 주소 변환기의 매핑 정보를 이용하여 상기 타 클라이언트 에이전트가 사용할 공인 주소를 검출하는 것을 더 포함하는 스턴 프록시 서버.
  7. 제 5 항에 있어서,
    상기 메시지는
    상기 공인 주소로 변경된 비아(Via) 주소를 포함하는 것인 스턴 프록시 서버.
  8. 제 5 항에 있어서,
    상기 네트워크 주소 변환기는
    시메트릭 NAT를 포함하는 것인 스턴 프록시 서버.
KR1020110025445A 2011-03-22 2011-03-22 스턴 프록시 서버 및 이를 이용한 sip 통신 방법 KR101282986B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110025445A KR101282986B1 (ko) 2011-03-22 2011-03-22 스턴 프록시 서버 및 이를 이용한 sip 통신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110025445A KR101282986B1 (ko) 2011-03-22 2011-03-22 스턴 프록시 서버 및 이를 이용한 sip 통신 방법

Publications (2)

Publication Number Publication Date
KR20120107740A KR20120107740A (ko) 2012-10-04
KR101282986B1 true KR101282986B1 (ko) 2013-07-05

Family

ID=47279615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110025445A KR101282986B1 (ko) 2011-03-22 2011-03-22 스턴 프록시 서버 및 이를 이용한 sip 통신 방법

Country Status (1)

Country Link
KR (1) KR101282986B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050087938A (ko) * 2004-02-27 2005-09-01 엘지전자 주식회사 Sip 기반의 네트워크 접속 시스템 및 방법
KR100726185B1 (ko) 2006-04-24 2007-06-11 주식회사 케이티프리텔 서로 다른 ip 주소를 사용하는 ip 네트워크 간 연동제공 시스템, 게이트웨이 장치, 서버 및 연동 제공 방법
KR20070061377A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 사설망과 공인망 간의 sip 트랜잭션 교환을 위한네트워크 주소 변환 장치 및 그 주소 변환 방법
KR100815557B1 (ko) * 2006-05-16 2008-03-20 주식회사 케이티프리텔 사설망과 공인망 간에 sip 기반의 연동을 위한 sip 메시지 라우팅 방법, 이를 적용한 응용 계층 게이트웨이 장치 및 네트워크 주소 변환 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050087938A (ko) * 2004-02-27 2005-09-01 엘지전자 주식회사 Sip 기반의 네트워크 접속 시스템 및 방법
KR20070061377A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 사설망과 공인망 간의 sip 트랜잭션 교환을 위한네트워크 주소 변환 장치 및 그 주소 변환 방법
KR100726185B1 (ko) 2006-04-24 2007-06-11 주식회사 케이티프리텔 서로 다른 ip 주소를 사용하는 ip 네트워크 간 연동제공 시스템, 게이트웨이 장치, 서버 및 연동 제공 방법
KR100815557B1 (ko) * 2006-05-16 2008-03-20 주식회사 케이티프리텔 사설망과 공인망 간에 sip 기반의 연동을 위한 sip 메시지 라우팅 방법, 이를 적용한 응용 계층 게이트웨이 장치 및 네트워크 주소 변환 장치

Also Published As

Publication number Publication date
KR20120107740A (ko) 2012-10-04

Similar Documents

Publication Publication Date Title
US8265069B2 (en) System, terminal, method, and computer program product for establishing a transport-level connection with a server located behind a network address translator and/or firewall
US8457014B2 (en) Method for configuring control tunnel and direct tunnel in IPv4 network-based IPv6 service providing system
US20040153858A1 (en) Direct peer-to-peer transmission protocol between two virtual networks
US10547649B2 (en) Device and method for virtual private network connection establishment
US7082118B1 (en) Maintaining session connectivity when a mobile node moves from one layer 3 network to another
TWI527407B (zh) 會談感知的網路位址轉換穿透方法
US20120166656A1 (en) Establishing Secure Communications Between Client Computing Devices Located Behind Network Security Devices
US7023847B2 (en) Network address translation based mobility management
KR101282986B1 (ko) 스턴 프록시 서버 및 이를 이용한 sip 통신 방법
JP2008258917A (ja) 同一nat配下通信制御システム、nat装置、同一nat配下通信制御方法、及びプログラム
Chen et al. Challenge and solutions of NAT traversal for ubiquitous and pervasive applications on the Internet
EP3044929B1 (en) A mobile-device based proxy for browser-originated procedures
Chen et al. NAT traversing solutions for SIP applications
Leppäaho et al. Traversal of the customer edge with NAT-unfriendly protocols
KR100899440B1 (ko) 사설 주소를 사용하는 망에서 VoIP 서비스를 제공하는방법 및 이를 구현하는 단말장치
Jung et al. Blockchain-based NAT management for smart mobility
JP4311471B2 (ja) アドレス変換装置、アドレス変換システム、及びsipサーバ
Widmer NAT Traversal Techniques and UDP Keep-Alive Interval Optimization
Fan et al. Design and implementation of NAT traversal based on SCDMA access gateway
Huang et al. SIP mobility and IPv4/IPv6 dual‐stack supports in 3G IP multimedia subsystem
Hunag et al. A survey of NAT behavior discovery in VOIP applications
JP2022006832A (ja) 通信方法
Bernardo et al. A Telephony Application for Manets: Voice over a MANET-Extended JXTA Virtual Overlay Network
Li et al. Mobility management architecture based on integrated HIP and SIP protocols
Topal et al. Enabling peer-to-peer communication for hosts in private address realms using IPv4 LSRR option and IPv4+ 4 addresses

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160607

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee