KR20170046617A - 콘텐츠 중심 네트워크에서 sip-기반 관리자 라우팅 - Google Patents

콘텐츠 중심 네트워크에서 sip-기반 관리자 라우팅 Download PDF

Info

Publication number
KR20170046617A
KR20170046617A KR1020170046053A KR20170046053A KR20170046617A KR 20170046617 A KR20170046617 A KR 20170046617A KR 1020170046053 A KR1020170046053 A KR 1020170046053A KR 20170046053 A KR20170046053 A KR 20170046053A KR 20170046617 A KR20170046617 A KR 20170046617A
Authority
KR
South Korea
Prior art keywords
nat
sip
endpoint
remote
connection
Prior art date
Application number
KR1020170046053A
Other languages
English (en)
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 팔로 알토 리서치 센터 인코포레이티드
Publication of KR20170046617A publication Critical patent/KR20170046617A/ko

Links

Images

Classifications

    • 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/1069Session establishment or de-establishment
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • 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/1083In-session procedures
    • H04L65/1094Inter-user-equipment sessions transfer or sharing
    • 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/1096Supplementary features, e.g. call forwarding or call holding

Abstract

본 발명의 일 실시예는 로컬 종단점(local endpoint)과 원격 종단점(remote endpoint) 간의 연결의 확립을 가능하게 하는 시스템을 제공한다. 동작이 수행되는 동안, 시스템은 단일 연결-요청 메시지를 로컬 종단점으로부터 프록시 서버에 송신하고, 프록시 서버는 그 단일 연결-요청 메시지를 복사하여 복수의 원격 종단점에 전송한다. 시스템은 원격 종단점으로부터 하나 이상의 응답 메시지를 수신한다. 각 응답 메시지는 상기 원격 종단점에 연관된 주소 정보를 포함한다. 응답 메시지를 수신하면, 시스템은 수신된 응답 메시지에 상응하는 확인(acknowledgement)을 상기 프록시 서버를 통해 상응하는 원격 종단점에 송신하고, 로컬 종단점과 적어도 하나의 종단점 간의 연결을 확립한다.

Description

콘텐츠 중심 네트워크에서 SIP-기반 관리자 라우팅{SIP-BASED CUSTODIAN ROUTING IN CONTENT-CENTRIC NETWORKS}
본 명세서는 전체적으로 콘텐츠 중심 네트워크(content-centric network)에 관한 것이다.
더욱 상세하게는, 본 명세서는 방화벽(firewall)을 갖는 콘텐츠 중심 네트워크에서 SIP(Session Initiation Protocol)기반 관리자 라우팅(SIP-based custodian routing)을 가능하게 하는 장치들과 방법들에 관한 것이다.
본 발명은 방화벽을 갖는 콘텐츠 중심 네트워크에서 SIP기반 관리자 라우팅을 가능하게 하는 장치들과 방법을 제공하는 것을 목적으로 한다.
본 발명의 일 실시예는 로컬 종단점(local endpoint)과 원격 종단점(remote endpoint) 간의 연결의 확립을 가능하게 하는 시스템을 제공한다. 동작이 수행되는 동안, 시스템은 상기 단일 연결-요청 메시지를 로컬 종단점으로부터 프록시 서버에 송신하고, 프록시 서버는 그 단일 연결-요청 메시지를 복사하여 복수의 원격 종단점에 전송한다. 시스템은 원격 종단점으로부터 하나 이상의 응답 메시지를 수신한다. 각 응답 메시지는 그 원격 종단점에 연관된 주소 정보를 포함한다. 응답 메시지를 수신하면, 시스템은 수신된 응답 메시지에 상응하는 확인(acknowledgement)을 상기 프록시 서버를 통해 상응하는 원격 종단점에 송신하고, 로컬 종단점과 복수의 원격 종단점 간에 적어도 하나의 연결을 확립한다.
이 실시예의 일 변형예에서, 로컬 종단점, 원격 종단점들, 또는 그 모두는 각각 NAT(Network Address Translation) 방화벽의 후방에 있다.
다른 변형예에서, 시스템은 로컬 종단점이 후방에 존재하는 NAT 방화벽의 유형을 추가로 판단하고, 임의의 NAT 또는 콘 유형 NAT의 후방에 있지 않은 로컬 종단점에 응답하여, 그 시스템은 단일 연결-요청 메시지를 프록시 서버에 송신한다. 연결-요청 메시지는 도달될 수 있는 로컬 종단점을 통해 NAT의 외부 측에 연관된 주소 및 정보를 포함하거나, 또는 NAT가 검출되지 않으면, 로컬 종단점이다.
이 실시예의 일 변형예에서, 프록시 서버는 SIP 프록시 서버이고, 연결-요청 메시지는 SDP 무페이로드 SIP INVITE 메시지이다.
다른 변형예에서, 응답 메시지는 SIP 프로비저널 응답(provisional response)이거나 또는 SDP(Session Description Protocol) 오퍼를 포함하는 200/OK 메시지이다.
다른 변형에에서, SDP 오퍼는 응답 메시지에 연관된 원격 종단점에 상응하는 주소 목록을 포함한다. 주소 목록은 NAT 외부 주소(external address)를 포함하고, 로컬 주소와 포트, 및/또는 외부 릴레이 주소를 포함할 수도 있다.
다른 변형예에서, 확인은 SIP PRACK 또는 ACK 메시지이고, SIP PRACK 또는 ACK 메시지는 SDP 응답을 포함한다.
다른 변형예에서, SDP 응답은 로컬 종단점에 상응하는 주소 목록을 포함한다. 주소 목록은 로컬 주소와 포트, NAT 외부 주소와 포트, 및 외부 릴레이 주소 중 적어도 하나를 포함한다.
본 실시예의 일 변형예에서, 시스템은 하나 이상의 원격 종단점이 에너지 절약 슬립 모드(energy-saving sleep mode)에 있는지를 판단한다. 에너지 절약 슬립 모드에 있는 하나 이상의 원격 종단점에 응답하여, 시스템은 대역외 신호(out-of-band signal)를 사용하여 원격 종단점 중 적어도 하나를 웨이크업시킨다.
다른 변형예에서, 대역외 신호는 전화호, 텍스트 메시지, 또는 이 둘 모두를 포함한다.
본 실시예의 일 변형예에서, 로컬 종단점과 원격 종단점은 콘텐츠 중심 네트워크(CCN)에 연결될 수 있다.
본 발명은 방화벽을 갖는 콘텐츠 중심 네트워크에서 SIP 기반 관리자 라우팅을 가능하게 하는 효과를 달성한다.
도 1은 본 발명의 실시예에 따른 관리자 라우팅을 위한 예시적 시스템 구조를 예시하는 다이어그램을 나타낸다.
도 2는 NAT들의 모든 조합을 위한 종단점-대-종단점 연결(endpoint-to-endpoint connection)들을 확립할 때, NAT 탐색(NAT traversals )들이 가능한지를 예시하는 다이어그램을 나타낸다.
도 3은 프록시가 점-대-다중점(point-to-multipoint: 복사하여 전송됨(forked)) 연결들을 설정하는 예시적 시나리오를 도시한 다이어그램을 나타낸다.
도 4는 NAT들의 모든 조합을 위한 점-대-다중점(복사하여 전송됨) 연결들을 확립할 때, 다중 NAT 탐색이 가능한지를 예시하는 다이어그램을 나타낸다.
도 5는 본 발명의 실시예에 따른 SIP-기반 랑데뷰(rendezvous)를 구현할 수 있는 디바이스의 구조를 예시하는 블록도를 나타낸다.
도 6은 본 발명의 실시예에 따른 SIP-기반 랑데뷰의 프로세스를 예시하는 시공간 다이어그램(time-space diagram)을 나타낸다.
도 7은 본 발명의 실시예에 따른 SIP-기반 랑데뷰를 가능하게 하는 예시적 컴퓨터 시스템을 나타낸다.
도면들에서, 유사한 참조 번호들은 동일한 구성 요소들을 의미한다.
본 발명의 실시예들은 방화벽들을 갖는 콘텐츠 중심 네트워크(CCN)들에서 관리자 라우팅을 가능하게 하는 SIP-기반 랑데뷰를 제공한다. 본 발명의 실시예에서, 콘텐츠를 위한 관리자는 자신에게 연관된 복수의 종단점에 대한 정보를 유지관리하는 SIP 프록시에 주기적으로 등록한다. 콘텐츠 요청자가 관리자의 적어도 하나의 통신 종단점과의 연결을 확립하려고 할 때, 콘텐츠 요청자는 SDP 페이로드를 포함하지 않는 SIP INVITE를 SIP 프록시에 송신하고, SIP 프록시는 무페이로드 SIP INVITE(payload-less SIP INVITE)를 복사하여 그 관리자에 연관된 종단점 각각에 복사된 INVITE를 송신한다. 관리자의 종단점이 그 INVITE에 응답할 때, 관리자의 종단점은 SDP 오퍼가 되는 SDP 페이로드를 포함하는 SIP 200/OK 메시지를 콘텐츠 요청자에게 송신한다. SDP 응답을 갖는 SDP 오퍼(SIP ACK 메시지 내에)에 응답함으로써, 콘텐츠 요청자는 자신의 연결 정보를 관리자의 종단점에 송신한다. 따라서 다중 SIP 세션들이 다양한 유형의 NAT 방화벽들(특정 유형의 대칭적 NAT 방화벽들을 포함함)을 거쳐, 콘텐츠 요청자와 관리자 간에 확립될 수 있다.
본 명세서가 CCN에 기초한 예시들을 사용하여 제시되고 있지만, 본 발명의 실시예들이 CCN에 한정되는 것은 아니다.
"관리자(custodian)"라는 용어는 관심 콘텐츠(content of interest)를 저장하는 디바이스를 의미한다. 관리자는 휘발성 또는 비휘발성 저장소에 데이터를 저장할 수 있는 임의 유형의 디바이스일 수 있다. 관리자는 랩탑 컴퓨터, 테블렛 또는 슬레이트 컴퓨터, 스마트폰, 또는 PDA(Personal Digital Assistant)와 같은 모바일 컴퓨팅 디바이스, 또는 데스크탑 컴퓨터 또는 홈 미디어 서버와 같은 고정 컴퓨팅 디바이스일 수 있다.
"통신 종단점(communication endpoint)"이라는 용어는 컴퓨팅 디바이스 상에 마련된 통신 인터페이스를 의미하며, 원격지 디바이스는 이 통신 종단점을 통해 컴퓨팅 디바이스와 통신할 수 있다. "통신 종단점"은 WiFiTM(Wi-Fi 연합의 상표) 인터페이스, 3G 셀룰라 인터페이스, 및 BluetoothTM(워싱턴에 소재한 커클랜드의 특수 영리 단체의 상표) 인터페이스를 포함하는 임의 유형의 통신 인터페이스일 수 있으나, 상기 언급된 인터페이스들에 한정되지는 않는다.
CCN에서, 통신은 데이터 소비자들에 의해 행해진다. CCN에는, 인터레스트 패킷(interest packet)과 데이터 패킷(data packet)에 해당하는 2가지의 패킷 유형이 존재한다. 인터레스트 패킷("쿼리"로도 불림)은 어떤 컨텐츠에 대한 요청이다. 인터레스트 패킷은 어떤 콘텐츠가 소망되고, 어떤 콘텐츠가 소망되지 않는지를 표현하는 특정 형식의 쿼리로 부호화한다. 데이터 패킷("콘텐츠 패킷"으로도 불림)은 콘텐츠 단위이다. 데이터 패킷들은 내부에 자신의 전체 이름을 포함함으로써 자기 식별(self-identifying)한다. 소비자는 모든 이용가능한 접속들을 통해 콘텐츠의 인터레스트를 브로드캐스트함으로써 그 콘텐츠를 찾는다. 그 인터레스트를 수신하고 그 인터레스트에 충족하는 데이터를 갖는 임의 노드가 데이터 패킷으로 응답할 수 있다. 데이터는 인터레스트에 응답으로만 전송되어, 그 인터레스트를 소비한다. 인터레스트와 데이터 모두는 콘텐츠 이름(또는 CCN 이름)으로 변화되는 콘텐츠를 식별한다. 일 실시예에서, 데이터는 인터레스트 패킷에 있는 CCN 이름이 데이터 패킷에 있는 CCN 이름의 프리픽스이면, 인터레스트를 "충족"할 수 있다.
CCN 이름들은 분명하게 명시된 개수의 구성요소들로 구성된 2진 객체들로 불투명(opaque)하다. 이 외에도, CCN 이름들은 변하지 않고, 콘텐츠-특정(content-specific)이다. 즉, 파일 콘텐츠 또는 데이터 객체를 변경하면, 그 콘텐츠는 새로운 이름에 실질적으로 연관된다. 지속성은 명시적인 버전닝 메카니즘(explicit versioning mechanism)으로 달성되는데, 이 메카니즘은 예를 들어 새로운 콘텐츠는 주어진 이름의 "버전 4"일 수 있다. 또한 지속성은 절대적으로 실현될 수 있다. 예를 들어, 콘텐츠들은 그것들의 인간-설정 이름(human-established name)에만 연관되지 않고, 인증 메타데이터(authentication metadata : 예컨대, 콘텐츠의 퍼블리셔에 의한 디지털 서명)에도 연관될 수 있다. 그 결과, 주어진 이름에 연관된 데이터가 변경될 때, 완전한 콘텐츠 이름이 변경된다.
기능상으로, CCN은 다양한 이름과 그 이름들이 표현하는 콘텐츠들간의 연관성을 유지할 수 있다. 이름들은 계층적 구조를 갖고, 가변적 길이를 가지며, 많은 경우들에서 사용자가 이해할 수 있다. 예를 들어, "/abcd/bob/papers/ccn/news"는 기사 즉, "ABCB"라는 단체에 있는 "Bob"으로 불리우는 사용자를 위한 신문 컬렉션 "ccn"으로부터의 "뉴스" 기사의 이름일 수 있다. CCN에서, 애플리케이션의 관점에서, 콘텐츠 소비자가 "ABCD" 조직을 찾는 방법 또는 Bob의 CCN 퍼블리케이션들을 보관하고 있는 호스트를 찾는 방법을 결정할 필요는 없다. 일 실시예에서, 콘텐츠의 일부를 요청하기 위하여, CCN 내에 있는 디바이스는 컨텐츠의 이름으로 그 콘텐츠에 관심이 있다는 것을 네트워크에 등록하고, 로컬 네트워크에서 이용가능하다면 그 콘텐츠가 디바이스로 라우팅된다. 라우팅 기반시설은 그 인터레스트를 미래 퍼블리셔들에게 지능적으로 전파하고, 임의의 이용가능한 콘텐츠를 인터레스트가 전송된 경로의 역순으로 전달하도록 처리한다.
CCN들은 그들을 특별히 매력적으로 하는 추가 자산(property)들을 가지고 있다. 모든 콘텐츠는 암호적으로 인증될 수 있으며, 그 인증은 네트워크에 있는 노드들의 일부 서브셋(예컨대, 콘텐츠의 정당한 쿼리자(legitimate querier))이 콘텐츠의 일부에 대한 진위(authenticity)를 검증할 수 있다는 것을 의미한다. 또한 CCN들은 데이터가 퍼블리셔에 독립적으로, 이름으로 액세스될 수 있게 한다. 이와 동시에, CCN은 특정 퍼블리셔에 의한 데이터에 대한 특정화된 요청에 맞춤화할 수 있다. 예를 들어, CCN은 "foo.txt" 또는 "Bob에 의해 서명된 foo.txt"를 요구할 수 있다. 임의 형태의 자기 검증 이름(self-verifying name)이 공급자와 소비자 간의 약정(contract)으로서 사용될 수 있다. 하이브리드 자기 검증 이름(hybrid self-verifying name)들도 사용될 수 있는데, 상기 하이브리드 자기 검증 이름은 이름의 앞부분 구성요소들(the former components of the name)은 조직과 효율적인 라우팅을 위한 것이고, 이름의 뒷부분 구성요소들(the latter components of the name)은 자기 검증을 위한 것이다. 최종적으로, CCN들은 콘텐츠의 분리를 허용하고, 신뢰하여 다른 데이터 소비자들이 콘텐츠의 동일한 부분에 신뢰(trust)를 확립하기 위하여 다른 메카니즘들을 사용할 수 있게 한다. 콘텐츠가 단일 퍼블리셔에 의해 서명되었을 수 있지만, 그 콘텐츠는 다른 이유들을 위해 신뢰될 수 있다. 예를 들어, 한 사용자는 콘텐츠의 서명자와의 직접적 개인적 연결(direct personal connection)로 인하여 콘텐츠의 주어진 일부를 신뢰할 수 있는 반면, 다른 사용자는 신뢰를 위해 사용자가 선택한 PKI(Public Key Infrastructure)에 콘텐츠 서명자의 참여로 인하여 동일한 콘텐츠를 신뢰할 수 있다.
쇼셜 네트워크 그룹 내에 있는 다양한 사용자 디바이스들 간에 콘텐츠를 공유할 수 있도록 하기 위하여, 관리자 기반 라우팅은 다양한 사용자 디바이스를 포함하는 CCN 기반의 콘텐츠 전달 네트워크(CDN: Content Delivery Network)를 통해 구현될 수 있다. 관리자 기반 라우팅을 구현하는 CDN에서, 콘텐츠는 그 콘텐츠가 저장되어, 관리자라고 불리우는 디바이스에 연관된다. 콘텐츠의 특정 부분에 대한 요청은 관리자의 물리적 위치에 상관없이, 항상 그 콘텐츠의 관리자에게 라우팅될 수 있다.
콘텐츠의 일부를 요청한 대상이 그 콘텐츠의 관리자에 정확하게 접속하는 것을 보장하기 위해서, CCN 기반 CDN은 3가지의 다른 유형의 매핑을 유지관리하는데, 그 3가지 매핑은 콘텐츠 프리픽스-대-관리자 맵핑(content-prefix-to-custodian mapping), 관리자-대-통신 종단점 매핑(custodian-to-communication-endpoint mapping), 및 통신 종단점-대-물리적 주소 매핑(communication-endpoint-to-physical-address mapping)을 포함한다. 디바이스가 다른 디바이스와 상호동작할 때마다, 디바이스들은 라우팅 정보가 CDN 전체에 배포되는 것을 확인하기 위하여 이 3개의 맵핑을 서로 교환한다. 대안적으로, 통신 종단점-대-물리적 주소 매핑 정보는 요청하는 대상과 관리자 간의 랑데뷰 서비스를 제공하는 공용 SIP 서버(public Session Initiation Protocol)와 같은 3자 서비스에 저장될 수 있다.
관리자 기반 라우팅에 관한 상세 설명은 제임스 디.트론톤, 반 엘. 제콥슨, 및 마르크 모스코에 의해 발명되고, TBD에 제출된, 명칭이 "콘텐츠 중심 네트워크에서 관리자 기반 라우팅"인 미국 특허출원번호. TBD(대리인 문서 번호. PARC-20100498-US-NP)를 통해 알 수 있으며, 이 기술서의 전부는 본 발명에 참조로서 모두 포함된다.
도 1은 본 발명의 실시예에 따른 관리자 라우팅을 위한 예시적 시스템 구조를 나타내는 다이어그램을 나타낸다. 시스템(100)은 랩탑 컴퓨터(102), 미디어 서버(104), 데스크탑 컴퓨터(106), 스마트폰(108), 및 프록시 서버(110)와 같은 복수의 디바이스를 포함한다. 랩탑 컴퓨터(102), 미디어 서버(104), 데스크탑 컴퓨터(106), 및 스마트폰(108)은 CCN(120)과 IP 기반 네트워크와 같은 종래 네트워크(130) 모두에 연결되어 있다. 프록시 서버(110)는 종래 네트워크(130)에 연결된다. 일 실시예에서, 프록시 서버(110)는 SIP 프록시 서버이다. CCN(120)이 종래 네트워크(130)의 상위에 마련될 수도 있다는 것에 주목한다.
동작하는 동안, 랩탑 컴퓨터(102)는 콘텐츠의 일부를 요청하고 콘텐츠 프리픽스-대-관리자 맵핑을 수행한 후에, 랩탑 컴퓨터(102)는 스마트폰(108)이 이러한 콘텐츠의 관리자인지를 판단하고, 스마트폰(108)이 2개의 논리적 종단점(logical endpoint)을 갖는지를 식별한다. 논리적 종단점은 물리적 통신 종단점의 상위 레벨 표시이고, 랑데뷰 메카니즘과 가능한 한 결합된다는 것에 주목한다. 일 실시예에서, 관리자는 관리자가 접촉할 수 있는 각 방식을 위한 논리적 종단점 항목(logical-endpoint entry)을 공표(publish)한다. 예를 들어, 스마트폰(108)의 2개의 논리적 종단점은 와이파이 종단점과 3G 셀룰러 종단점을 포함할 수 있고, 스마트폰(108)은 "cell_sip", "wifi_sip", 및 "wifi_homenet"와 같은 항목들을 공표할 수 있다. 이러한 항목들은 랩탑 컴퓨터(102)와 같은 다른 대상에게 스마트폰(108)에 접속하는 방법을 알려준다. 예를 들어, "cell_sip"과 "wifi_sip"은 스마트폰의 셀룰라와 와이파이 인터페이스들이 SIP을 통해 협상된 점-대-점 터널(point-to-point tunnel)을 확립함으로써 도달될 수 있다는 것을 의미하고, "wifi_homenet"은 또한 와이파이 인터페이스가 스마트폰(108)이 홈(신뢰된) 와이파이 네트워크에 있으면 직접적으로 접속될 수 있다는 것을 의미한다.
일 구현예에서, 콘텐츠-프리픽스-대-관리자 매핑과 관리자-대-논리적 종단점 매핑은 CCN(112)에 연결되는 모든 디바이스들 간에, 그 디바이스들이 서로 통신할 때마다, 교환되거나 배포된다. 이어서, 식별된 논리적 종단점들이 IP 소켓들(IP 주소들과 포트들)과 같은 네트워크 주소인 논리적 종단점의 NEI(Network Endpoint Identifier)들에 매핑된다. 논리적 종단점의 NEI 빈번하게 변경될 수 있기 때문에, 논리적-종단점-대-NEI 매핑(the logical-endpoint-to-NEI mapping)이 동적이라는 것에 주목한다. 예를 들면, 스마트폰(108)의 와이파이 인터페이스의 NEI는 스마트폰(108)이 다른 와이파이 핫스팟에 연결될 때마다 변경된다. 이 외에도, 논리적-종단점-대-NEI 매핑은 NAT 방화벽들의 존재로부터 야기되는 문제들에 자주 관여한다. 보다 구체적으로, 관리자가 다중 논리적 종단점을 포함하는 경우에는, NAT 방화벽이 존재할 때, 다중 종단점과 연결들을 확립하고자 하는 시도가 어려움에 처할 수 있다.
NAT의 존재하는 상황에서 라우팅하려는 디바이스는, 한 종단점이 다른 종단점의 현재 네트워크 주소를 찾을 수 있도록 하는 NAT 탐색 프로세스(NAT traversal process)를 요구하고, 이로써 2개의 종단점 간의 연결의 확립이 가능해진다. 종단점이 NAT의 후방에 있지 않는 경우와, 종단점이 5가지 유형의 NAT 중 한 유형의 NAT의 후방에 있는 경우를 포함하는 6가지의 상이한 종단점 시나리오가 존재한다. 5가지 유형의 NAT는 전체-콘 NAT(full-cone NAT), 주소-제한 콘(address-restricted cone; AC) NAT, 포트-제한 콘(port-restricted cone ;PC) NAT, 예측가능 대칭(predictable symmetric; PS) NAT, 및 랜덤적 대칭(randomized symmetric; RS) NAT을 포함한다.
콘 NAT들은 NAT 바인딩이 활성화되고 있는 한, 임의의 특정 내부 주소와 포트 조합을 동일한 외부 주소와 포트 조합에 항상 매핑하는 NAT들이다. 따라서 다중 연결들이 동일한 내부 주소와 포트에서부터 다른 원격 주소들과 포트까지 만들어질 수 되고, 모든 연결들이 동일한 NAT 외부 주소와 포트로부터 생성된 것으로 보일 것이다. 필터링 능력에 따라서, 콘 NAT들은 FC NAT, AC NAT, 및 PC NAT으로도 분류될 수 있다.
종단점이 FC NAT의 후방에 있으면, NAT 바인딩이 생성되자마자, 임의의 원격 외부 주소와 포트가 데이터를 NAT 외부 주소와 포트에 송신할 수 있고, 그 데이터는 내부 호스트 주소와 포트에 전달될 것이다. 본 명세서에서는 필터링이 없으므로, NAT 바인딩이 생성되자 마자, 인터넷에 있는 임의 사용자가 그 NAT 바인딩을 사용하여 데이터를 특정 외부 호스트 주소와 포트에 송신할 수 있다. FC NAT는 최소 제한 유형의 NAT이며, 탐색하기에 가장 용이한 것이지만, 보안 위험이 가장 높다고 하는 문제가 있다.
AC NAT는 일부 주소 필터링을 추가한다. 종단점이 AC NAT 후방에 있다면, NAT 바인딩을 갖는 원격 외부 주소들만이 데이터를 내부 주소로 전송할 수 있도록 오픈되지만, 이러한 원격 외부 호스트들은 바이딩이 오프된 포트만이 아니고, 임의의 포트 번호로부터 그와 같이 할 수 있다. AC NAT는 내부 호스트로부터 이전에 수신된 데이터를 갖는 그것들의 외부 호스트들에 대해서, NAT을 통해 데이터를 내부 호스트에 전송할 수 있는 IP 주소들을 제한함으로써, 인터넷 상의 임의 사용자가 NAT 바인딩을 사용하는 것을 방지하기 위해서 간단한 주소 필터를 구현한다. AC NAT는 FC NAT보다 좋은 보안성을 제공하지만, 여전히 상대적으로 탐색하기 용이하다.
PC NAT는 포트 필터링을 더 추가한다. PC NAT이 구현된 상황에서, NAT 바인딩이 내부 주소와 포트에서부터 원격 외부 주소와 포트까지 설정될 때, 데이터를 송신할 수 있는 정확한 원격 주소와 포트만이 PC NAT를 통해 데이터를 내부 주소와 포트에 전송한다.
대칭적 NAT는 콘 NAT와는 다르다. 대칭적 NAT들은 4 투플(4 tuple: 로컬 내부 주소, 로컬 내부 포트, 원격 주소, 원격 포트)로 정의된 각 연결을 다른 NAT 외부 주소와 포트에 매핑한다. 대칭적 NAT들은 탐색하기에 상당한 어려움이 있고, 어떤 경우에는 대칭적 NAT를 탐색하는 것이 현실적이지 못하다. 대칭적 NAT들은 예측가능 대칭(PS) NAT와 랜덤적 대칭(RS) NAT를 포함하는 2개의 클래스로 나뉠 수 있다. 대형 NAT 박스는 복수의 외부 주소를 가질 수 있지만, 보통은 그 개수가 정상적으로 상대적으로 적다는 점에 주목한다.
PS NAT는 예측가능 방식으로 그것의 외부 주소/포트 조합들을 할당하는 대칭적 NAT를 의미한다. 예를 들어, PS NAT를 통한 연속적 연결들은 순차적인 외부 포트 번호들에 매핑될 수 있다. NAT 박스의 로딩과 NAT 바인딩들을 할당하기 위한 내부 알고리즘 모두는 예측가능성에 영향을 미친다. 예측가능성은 테스트 서버에 대해 복수의 테스트 연결들(하나 이상의 서버 주소가 요구됨)을 수행하고, NAT 박스가 사용한 외부 주소에서 패턴들을 찾음으로써 알아낼 수 있다.
RS NAT는 랜덤 주소와 포트 조합들을 분명하게 건네주는 NAT 박스를 의미한다. RS NAT 박스는 사용되지 않은 매핑들의 정렬되지 않은 목록들을 유지관리할 수 있고, 타임 아웃되어 그 목록을 랜덤화하는데 시간이 초과되는 동안, 그 목록의 시작 또는 끝에 대한 매핑들을 반환할 수 있다. 따라서 후속 연결은 분명하게 랜덤한 주소/포트 조합에 매핑된다. 예컨대, 가정 또는 소사업장에서 사용되는 낮은 부하의 대칭적 NAT들은 주로 예측가능한다. 예컨대, 서비스 제공자들 또는 대기업들에 의해 사용되는 높은 부하의 대칭적 NAT들은, 많은 포트들이 사용 중이고 이용가능한 포트들의 패턴이 사용 중인 할당 알고리즘에 상관없이 빠르게 랜덤화되기 때문에, 종종 예측할 수 없다.
NAT 탐색은 NAT가 존재할 때 종단점-대-종단점 연결을 확립하기 위해 요청된다. NAT 탐색을 위해 사용되는 공통 방법은 ICE(Interactive Connectivity Establishment) 프로토콜에 기초한다. ICE는 3자를 통해 로컬 호스트에 대한 가능한 연결 주소(포트들을 포함함)들의 목록을 갖는 오퍼를 원격 호스트에 전송하는 로컬 호스트에 연관된다. 가능한 연결 주소들과 포트들의 이 목록은 호스트가 후방에 있는 임의의 NAT 박스에 대한 외부 주소와 포트뿐만 아니라, 호스트의 로컬 인터페이스 각각에 대한 주소와 포트(일반적으로 1개만) 포함한다. NAT 외부 주소와 포트는 패킷들을 외부 네트워크에 있는 잘 알려진 서버에 송신함으로써 일반적으로 판단되는데, 그 서버는 송신된 요청들로부터 관찰된 주소로 회신한다. NAT(STUN) 프로토콜을 위한 세션 탐색 유틸리티들이 이 목적들을 위해 사용될 수 있다. 몇 개의 이러한 요청들을 적어도 2개의 서버에 송신함으로써, 클라이언트는 자신의 전방에 있는 NAT의 유형을 판단할 수 있고, RS NAT를 제외하고, 거의 모든 NAT 경우에 접속가능한 주소를 예상할 수 있다. 선택적으로, 외부 릴레이 서버의 주소인 제3 유형의 주소가 포함된다. 릴레이 서버는 NAT이 탐색 불가한 경우에, 종단점에 도달할 수 있게 한다. 릴레이 NAT(TRAN) 프로토콜을 사용하는 탐색은 셋업을 위해 사용될 수 있고, 외부 릴레이 주소를 확인할 수 있다. 로컬 호스트에 대한 가능한 연결 주소들과 포트들의 목록을 수신하자마자, 원격 호스트는 동일한 방식으로 생성된 자신의 가능한 연결 주소들과 포트들로 응답한다. 각 호스트는 다른 호스트에 대한 가능한 연결 주소들과 호스트들의 목록을 얻자마자, 각각은 서로 간의 모든 가능한 연결들을 확립하려고 한다. 다양한 조합들이 더욱 빠를 가능성이 있거나, 또는 더욱 효율적인 첫 번째(로컬 인터페이스들, NAT 박스 외부 인터페이스들, 및 릴레이 서버 순일 가능성이 있는) 링크부터 테스트하기 위해 우선적으로 처리될 수 있다. 이 프로세스는 양방향 통신이 확립되었을 때 종료한다.
NAT 박스를 거쳐서 종단점-대-종단점 연결을 설정할 때, 공중 네트워크에 있는 SIP 프록시 서버와 같은 3자는 종단점 간에 셋업 메시지들을 전달하는 것을 요구받는다. 상술되어진 것처럼, 모든 NAT 상황들이 검색가능하지 않다는 것에 주목한다. 도 2는 NAT들의 모든 조합들을 위해 종단점-대-종단점 연결들을 설정할 때 NAT 탐색들이 가능한지를 예시하는 다이어그램을 나타낸다. 도 2로부터 볼 수 있는 것처럼, 종단점 중 한쪽은 RS NAT 후방에 있고, 다른쪽 종단점은 PC NAT, PS NAT, 또는 RS NAT에 있으면, NAT 탐색이 가능해지고, 외부 릴레이 서버가 통신을 위한 2개의 종단점을 위해서 필요해질 수 있다.
NAT들을 거쳐 종단점-대-종단점 연결을 설정하는 것 외에, 3자는 또한 하나의 로컬 종단점으로부터 복수의 원격 종단점에 복수의 연결을 설정할 수 있다, 예를 들어, SIP 프록시 서버는 단일 SIP INVITE 메시지를 복사하여 SIP 프록시에 등록된 다중 SIP 종단점으로 전송할 수 있다. 이러한 프로세스는 다중 종단점이 SIP 프록시에 동일한 AOR(Address Of Record)로 모두 등록되었을 때, 또는 원래의 INVITE가 다중 주소 목록으로 확장된 그룹 이름으로 주소가 지정되었을 때, 발생할 수 있다. 종단점 전방에 NAT 박스들이 있는 것은 점-대-다중점 연결들을 설정하는데 추가적인 어려움을 부과할 수 있다.
도 3은 프록시가 점-대-다중점 연결들을 시도하는 예시적 시나리오를 도시하는 다이어그램을 나타낸다. 도 3에서, 로컬 디바이스(302)는 NAT 박스(306)의 후방에 인터페이스(304)를 포함한다. 원격 디바이스(308)는 NAT 박스(314, 316)의 후방에 복수의 인터페이스(310, 312)를 각각 포함한다. 또한 도 3에는 프록시 서버(318)도 포함된다. 도 3으로부터, 로컬 디바이스(302)가 인터페이스(304)에서부터 인터페이스(301, 312)까지의 연결들을 통해 원격 디바이스(308)와 통신할 수 있다는 것을 볼 수 있다. 모든 인터페이스들이 NAT 방화벽의 후방에 있기 때문에, 프록시 서버(318)는 셋업 메시지들을 전달할 필요가 있다. 동작하는 동안, 인터페이스(304)는 예컨대, SIP INVITE와 같은 연결-요청 메시지(320)를 프록시 서버(318)에 송신한다. 프록시 서버(318)는 연결-요청 메시지(320)에 대해 복수 개의 복사본(연결-요청 메시지(322, 324)를 포함함)을 만들고, 이어서 연결-요청 메시지(322, 324)를 인터페이스(310, 312)에 각각 송신한다.
프록시에서 연결-요청 메시지를 복사하여 전송하는 것이 NAT 탐색 프로세스를 더욱 복잡하게 만들 수 있다. 종래 시스템에서는, 로컬 주소 바인딩이 하나의 주소와 포트 조합만을 포함하는 연결-요청 메시지에 실려 송신되었기 때문에, 다중 연결을 확립하기 위한 능력에 제한이 있었다. 이것은 NAT가 콘 NAT인 경우에는, 콘 NAT이 다중 연결들이 이 하나의 주소와 포트로 만들어지도록 하기 때문에 문제가 되지 않는다. 그러나 NAT가 대칭적 NAT인 경우에는, 오직 단일 연결은 단일 NAT 외부 주소와 포트 매핑을 사용하여 만들어질 수 있기 때문에, 다중 연결이 실패할 수 있다. 따라서 복사되어 전송된 INVITE에 대한 첫 번째 응답자는 성공적으로 연결될 수 있지만, 그 이후의 응답자들은 실패할 것이다.
도 4는 NAT들의 모든 조합을 위한 점-대-다중점 연결을 설정할 때, 다중 NAT 탐색이 가능한지를 예시하는 다이어그램을 나타낸다. 도 2와 비교하여, 도 4에서는 NAT 탐색이 불가능해지는 2개의 추가 상황을 볼 수 있다. 로컬 호스트(연결-요청 메시지를 송신하는 대상)가 PS NAT의 후방에 있으며, 원격 호스트들(또는 종단점들)이 PC NAT 또는 PS NAT의 후방에 있는 경우에는 점-대-다중점 연결들을 위한 NAT 탐색이 실패할 수 있다. 다시 말하면, 시스템은 성공적으로 다중 연결을 확립하는 것을 실패할 수 있다. 보다 구체적으로, 프록시가 연결 요청을 복사하여 전송할 때, 이 2가지 NAT 상황에서, 첫 번째로 복사되어 전송된 연결만이 NAT를 탐색할 수 있고, 이와 달리 그 후의 모든 복사되어 전송된 연결들은 탐색할 수 없다.
로컬 종단점이 PS NAT의 후방에 있고, 원격 종단점들이 PC NAT의 후방에 있는 상황에서, 로컬 종단점은 단일 외부와 포트 조합을 송신하고, 그 로컬 종단점을 위한 NAT 바인딩은 그 연결 요청에 대한 첫 번째 응답자와 협상할 때 생성된다. 후속 연결들은 다른 주소와 포트로부터 만들어질 것이다. 임의의 후속 응답자는 그들의 포트 제한 콘 필터를 첫 번째 연결의 주소와 포트에 대해 오픈해 두어서, 트래픽이 통과하는 것을 방지한다. 마찬가지로, 원격 종단점들이 PS NAT의 후방에 있는 경우에는, 로컬 종단점을 위해 NAT 바인딩을 생성한 후에, 후속 응답자들이 첫 번째 연결의 주소와 포트에 대해서만 그들의 예상된 대칭적 NAT 필터를 오픈해 두어서, 트래픽이 통과하는 것을 방지한다.
CCN 네트워크에서 관리자-기반 라우팅에 대해서, 점-대-다중점 NAT 탐색 문제는 디바이스가 랑데뷰 메카니즘을 통해 다중 논리적 종단점을 갖는 관리자에 대해 다중 연결을 확립하려고 시도할 때, 발생한다. 가능한 랑데뷰 방법 중에서, SIP-기반 랑데뷰는 여러 가지 장점을 갖는다. 한가지 장점은 많은 방화벽 공급자들이 피어 투 피어(peer-to-peer) SIP을 능동적으로 공급하고, SIP 교환기들에 있는 SDP 콘텐츠에 기초하여 UDP 폰트들을 자동적으로 홀-펀치(hole-punch)한다는 것이다. 따라서 본 명세서는 점-대-다중점 NAT 탐색을 달성하기 위한 예시로서, SIP을 사용한다. 일 실시예에서, 논리적 종단점과 그것의 NEI 간의 매핑은 공용 SIP 프록시를 사용하여 달성된다. 도 1에 도시된 예시에서, 스마트폰(108)은 논리적 종단점에 상응하는 하나의 레지스터 항목으로, 모든 스마트폰의 논리적 종단점을 위한 스마트폰의 현재 NEI들을 프록시 서버(110)에 주기적으로 등록할 수 있다. 각 레지스터 항목은 어디에서 등록되었는지와, 상응하는 논리적 종단점의 NEI를 나타낸다. 공용 SIP 프록시에 등록하는 대신에, CCN(112)에 연결된 모든 디바이스에 대해 논리적-종단점-대-NEI 매핑 정보를 배포할 수도 있다. 그러나 논리적-종단점-대-NEI 매핑 정보는 빈번하게 변경하고, 이러한 매핑이 CCN(112) 내에서 콘텐츠 통신을 실현하기 위해 요구되기 때문에, 이와 같은 매핑을 배포하는 것이 유용하지 않을 가능성이 있다. 그렇기는 하지만, 논리적-종단점-대-NEI 매핑 정보의 배포가 공용 SIP 서버에 대한 백업으로서 제공될 수 있는 상황, 특히 디바이스가 고정 IP 주소를 갖거나 또는 직접적으로 접속할 수 있는 SIP 종단점인 경우가 있을 수 있다.
원격 디바이스가 스마트폰(108)에 대한 연결을 확립할 수 있도록 하기 위해서, 스마트폰(108)은 SIP 프록시(110)에 SIP 아이덴티티(identity)를 등록해야 한다. SIP 아이덴티디는 디바이스의 공개 키 정보로부터 유도되는 디바이스를 위한 SIP-컴플라이언트 아이텐티디(SIP-compliant identity)일 수 있다. 이러한 아이덴티디는 공개 키 정보의 지식으로 다른 디바이스에 의해 산출될 수 있다. 일 실시예에서, 스마트폰(108)은 하나 이상의 SIP 레지스터 레코드를 유지관리한다. 이 레지스터 레코드들은 스마트폰(108)이 논리적-종단점-대-NEI 매핑 정보로 유지관리하는 SIP 프록시(110)의 NEI를 명시한다.
SIP 레지스터 레코드를 확인한 후에, 랩탑 컴퓨터(102)는 스마트폰(108)과 통신가능한 프록시로서 SIP 프록시(110)를 식별한다. 일 실시예에서, 랩탑 컴퓨터(102)는 레지스터 레코드들로부터 스마트폰(108)을 위한 논리적-종단점-대-NEI 매핑 정보를 얻는다. 스마트폰(108)을 위한 레지스터 레코더는 또한 다중 종단점이 존재하는지를 나타낸다. 예를 들어, 스마트폰(108)을 위한 SIP 레지스터 레코드는 스마트폰(108)이 SIP, 와이파이 종단점, 및 3G 셀룰라 종단점을 통해 접속가능한 2개의 논리적 종단점을 갖는다. 구현되는 NAT 유형에 따라서, 랩탑 컴퓨터(102)는 스마트폰(108)의 다중 종단점을 순차적으로 또는 병렬적으로 연결하는 것을 시도할 수 있다. 랩탑 컴퓨터(102)가 자신이 대칭적 NAT 방화벽의 후방에 있는 것을 검출하면, 스마트폰(108)의 다중 종단점에 순차적으로 접속하는 것을 시도함으로써 순차적 NAT 전략을 사용하기로 결정할 수 있는 반면, 그렇지 않은 경우에는 병렬 NAT 전략을 사용할 수 있다. 그러나 일부 경우에는, PS NAT들이 구현되었더라도, 랩탑 컴퓨터는 최상을 수행하는 하나를 선택하기 위하여 모든 종단점에 대하여 연결들을 동시에 확립하기를 원할 수 있다. 그렇게 하기 위해서는, 대칭적 NAT들을 거쳐서 점-대-다중점 NAT 탐색을 달성하기 위한 특별한 처리들이 필요해진다. 일부 경우에서, 스마트폰(108)은 관리자-대-논리적 종단점 매핑 항목에 있는 상위 선호 레벨을 갖는 종단점을 명시할 수 있다. 따라서 랩탑 컴퓨터(102)는 먼저 상위 선호 레벨을 갖는 논리적 종단점에 연결하는 것을 시도할 것이다.
랑데뷰 절차를 시작하기 위해서, 랩탑 컴퓨터(102)는 SIP INVITE와 같은 연결 요청을 프록시 서버(110)에 송신하다. SIP INVITE는 스마트폰(108)의 SIP 아이덴티티로 정해진다. 점-대-다중점 NAT 탐색을 가능하게 하기 위해, 이 SIP INVITE는 종래 SIP INVITE가 아닌데, 이는 SIP INVITE가 SDP 페이로드를 포함하지 않기 때문이다. SIP 프록시(110)가 이 INVITE를 수신하여, 이 SIP 아이텐티티를 위해 등록된 다중 논리적 종단점이 있는지를 식별할 때, 프록시 서버(110)는 INVITE를 복사하여(즉, 여러 개로 사본을 만듦) 그 복사된 INVITE를 모든 등록된 논리적 종단점에 전달한다. SIP 프록시(110)가 단일 INVITE 메시지를 다중 종단점에 복사하여 전송하는 기능을 수행하기 때문에, 프록시 서버(110)는 상태기반 SIP 프록시여야 한다는 점에 주목한다.
INVITE를 수신하는 것에 응답하여, 스마트폰(108)은 하나 이상의 200/OK 메시지(http://tools.ietf.org/html/rfc3261에서 이용할 수 있는 IETF(Internet Engineering Task Force) 3261에 의해 정의된 것과 같음)로 SIP 프록시(110)에 응답할 수 있는데, 200/OK 메시지 각각은 스마트폰(108)의 논리적 종단점에 각각 상응한다. 200/OK 메시지는 상응하는 논리적 종단점에 대한 SDP 오퍼 특정(SDP offer specific)을 포함한다. 일 구현예에서, SDP 오퍼는 스마트폰(108)의 각 인터페이스에 대한 가능한 연결 주소(포트들을 포함함)의 목록을 포함한다. 이 목록은 인터페이스 전방에 있는 임의 NAT 박스를 위한 외부 주소와 포트뿐만 아니라, 로컬 주소와 포트도 포함한다. 다른 실시예에서, 그 목록은 외부 릴레이 서버의 주소도 포함한다.
이어, SIP 프록시(110)는 랩탑 컴퓨터(102)에 200/OK 메시지를 전달하고, 랩탑 컴퓨터(102)는 ACK 메시지로 각 200/OK 메시지에 차례로 응답한다. ACK 메시지는 랩탑 컴퓨터(102)에 대한 SDP 응답 특정을 포함한다. 일 실시예에서, SDP 응답은 랩탑 컴퓨터(102)를 위한 가능한 연결 주소(포트들을 포함함)의 목록을 포함한다. NAT 전략이 순차적이면, 랩탑 컴퓨터(102)는 ACK 메시지를 일정 속도로 송신할 수 있다는 점에 주목한다. 3G 셀룰라 종단점과 같은 스마트폰(108)의 논리적 종단점이 ACK 메시지를 수신하면, 링크 어댑터를 실행시켜 3G 세셀룰러 종단점과 랩탑 컴퓨터(102)간에 ICE NAT 협상을 개시한다. ICE에 대한 상세 설명은 IETE 웹사이트(HTTP://tools.ietf.org/html/rfc5245)에서 이용할 수 있는 IFTE RFC 5245에서 찾을 수 있다. STUN(Session Traversal Utilities for NAT)과 TURN(Traversal Using Relay NAT)와 같은 다른 NAT 탐색 기술들도 NAT 방화벽의 유형에 따라서 사용될 수 있다. 링크 어댑터가 ICE 협상이 완료된 것을 판단하면, 링크 어댑터는 사용을 준비한 연결을 나타내는 메시지를 송신할 것이다.
초대자의 주소와 포트를 식별하는 것과 송신하는 것을 지연함으로써, SDP 오퍼가 각 피초대자로부터 송신된 200/OK 메시지 내에 포함되는 것을 허용함으로써, 본 발명의 실시예들은 외부 릴레이 서버없이는 탐색이 불가능한 RS NAT를 제외하고, 거의 모든 유형의 NAT 방화벽을 거쳐서 점-대-다중점 연결을 확립하는 것이 가능하게 한다. NAT이 콘 NAT이면, INVITE 다중 연결이 단일 주소와 포트, 및 스마트폰(108)의 다중 종단점 간에 설정될 수 있기 때문에, 랩탑 컴퓨터(102)로부터의 INVITE에 SDP 오퍼를 포함하는 것이 가능하다는 것에 주목한다.
관리자 디바이스가 SIP-친화적 방화벽(SIP-friendly firewall)을 갖는 경우는, 즉 디바이스가 방화벽에 홀 펀치된 SIP 종단점을 유지할 수 있는 것은, 공용 SIP 프록시가 더 이상 랑데뷰할 필요가 없다. 대신에, 관리자 디바이스는 직접적으로 접속가능한 SIP 종단점으로서, 또는 사설 SIP 프록시로서 기능할 수 있다. 이에 더하여, 관리자 디바이스가 공용 IP 주소를 갖는 경우에는 SIP 프록시가 필요하지 않다.
도 5는 본 발명의 실시예에 따른 SIP-기반 랑데뷰를 구현할 수 있는 디바이스의 구조를 예시하는 블록 다이어그램을 나타낸다. 디바이스(500)는 연결 에이전트(502), SIP 에이전트(504, 506)와 같은 복수의 SIP 에이전트, 세션 개시자(508), 및 연결 제어부(510, 512)와 같은 복수의 연결 제어부를 포함한다.
동작하는 동안, 연결 에이전트(502)가 CCND(CCN Daemon)과 같은 CCN 프로세스로부터 충족하지 못한 CCN 인터레스트를 수신하고, 그 인터레스트를 충족할 수 있는 원격 시스템에 접속하는 방법을 결정한다. 콘텐츠-프리픽스-대-관리자 매핑에 기초하여, 연결 에이전트(502)는 인터레스트를 충족하지 위하여 접속되어야 할 물리적 디바이스(관리자)를 결정한다. 연결 에이전트(502)는 디바이스(500)의 SIP 아이덴티티와 함께, 사용하기 위한 공용 SIP 프록시의 NEI를 SIP 에이전트(504, 506)에 제공한다. SIP 에이전트(504, 506)들은 공용 SIP 프록시에 접속한 다음 각 논리적 종단점(네트워크 인터페이스)를 위한 SIP 레지스트레이션들을 유지관리한다. 예를 들어, SIP 에이전트(504)는 와이파이 인터페이스를 위한 SIP 레지스트레이션을 유지관리하고, 이와 다르게 SIP 에이전트(506)는 3G 셀룰라 인터페이스를 위한 SIP 레지스트레이션을 유지관리한다. 인터페이스를 위한 로컬 주소는 변경할 수 있고, 상응하는 SIP 에이전트는 그 로컬 인터페이스 주소를 모니터하고, SIP 프록시 레지스트레이션을 최신 상태로 유지한다는 것에 주목한다. SIP 에이전트는 SIP 프록시와의 통신 경로를 오픈 상태를 유지해야 한다. 일 실시예에서, SIP 에이전트는 바람직한 레지스트레이션을 유지하기 위하여 예컨대, 비아 헤더(Via header)에 있는 SIP 프록시로부터의 피드백을 사용한다.
연결 에이전트(502)는 세션이 원격 디바이스와 개시(initiate)되어야 하는 것으로 판단되면(원격 디바이스로부터 콘텐츠의 일부를 얻기 위하여), 원격 디바이스의 SIP 아이덴티티를 세션 개시자(508)에 전달하는데, 세션 개시자(508)는 특정 SIP 에이전트에게 SIP 프록시를 통해 무페이로드 INVITE와 원격 SIP 아이덴티티를 차례로 송신하도록 지시한다. INVITE가 SDP 페이로드를 포함하고 있지 않기 때문에, 이 INVITE는 SDP 오퍼가 아님에 주목한다. SIP 에이전트(504)와 같은 SIP 에이전트가 원격 SIP 아이덴티티로부터 INVITE를 수신하면, 인터페이스-특정(interface-specific) NEI들의 목록(로컬 주소와 포트, 서버 반사 주소와 포트, 및 릴레이 주소를 포함할 수 있음)을 갖는 SDP 오퍼를 포함하는 200/OK 메시지를 생성할 것이다. SIP 에이전트가 SDP 오퍼를 포함하는 200/OK 메시지를 수신하면, 인터페이스-특정 NEI들을 목록화하는 SDP 응답을 갖는 ACK를 구성할 것이고, 이로써 SIP 셋업 메시지 교환을 완료한다.
연결 제어부(501-512)는 로컬과 원격 NEI의 주어진 쌍 간의 링크를 유지하는 기능을 한다. SIP 에이전트가 ACK를 수신하면, 200/OK와 ACK 정보를 세션 개시자(508)에 전달하고, 세션 개시자(508)는 특정 인터페이스를 위한 연결 제어부를 생성한다. ICE와 같은 NAT 탐색 라이브러리를 사용함으로써, 연결 제어부는 NAT 방화벽이 존재하는 경우더라도 원격 디바이스에 접속할 수 있다.
도 6은 본 발명의 실시예에 따른 SIP-기반 랑데뷰의 프로세스를 예시하는 시공간 다이어그램을 나타낸다. 임의의 연결 시도가 허용되기 이전에, 원격 종단점(606, 608)이 SIP 프록시(604)에 등록하여야 한다(동작 610, 612). 원격 종단점(606, 608)에 대한 연결을 확립하기 위해서, 로컬 종단점(602)는 원격 종단점(606, 608)에 상응하는 SIP 아이덴티티로 될 무페이로드 INVITE 메시지를 SIP 프록시(604)에 송신한다(동작 614). 무페이로드 INVITE는 SDP 페이로드를 포함하고 있지 않기 때문에, 오퍼가 아니라는 것에 주목한다. SIP 프록시(604)가 INVITE를 종단점(606)에 전달하고, INVITE를 종단점(608)에 전달함으로써 하나의 INVITE를 복사하여 전송한다(동작 616, 618). INVITE 메시지를 수신하면, 각 종단점은 SIP 프록시(604)에 200/OK 메시지로 응답한다(동작 620, 622). 각 200/OK 메시지는 종단점-특정 NEI들의 목록(종단점의 로컬 주소와 포트, NAT 외부 주소 및 포트, 및 선택적 릴레이 주소를 포함할 수 있음)을 갖는 SDP 오퍼를 포함한다. 다른 실시예에서는, 200/OK 메시지 대신에, 원격 종단점이 SIP 프로비저널 응답 메시지에 SDP 오퍼를 실어 송신할 수 있다. SIP 프록시(604)는 200/OK 메시지들을 로컬 종단점(602)에 전달한다(동작 624, 626).
원격 종단점(606, 608)으로부터의 SDP 오퍼를 포함하는 200/OK 메시지를 수신하면, 로컬 종단점(602)은 각 200/OK 메시지에 대한 ACK 메시지를 SIP 프록시(604)에 송신한다(동작 628, 630). SDP 오퍼가 SIP 프로비저널 응답 메시지에 포함되어 있으면, 로컬 종단점(602)은 SIP 프록시(604)에 프로비저널 응답 확인(PRACK)를 송신한다. ACK 메시지는 로컬 종단점(602)을 위한 선택적 릴레이 주소와, 로컬 주소와 포트, 및 NAT 외부 주소와 포트를 포함할 수 있는 SDP 응답을 포함한다. SIP 프록시(604)는 ACK 메시지를 원격 종단점(606, 608)에 전달하고(동작 632, 634), 이로써 SIP 셋업 메시지의 교환을 완료한다. 만약 로컬 NAT 전략이 순차적이라면, 로컬 디바이스(602)가 ACK 메시지들을 일정한 속도로 전송할 수 있다는 것에 주목한다. 한 쌍의 종단점이 서로 간에 가능한 연결 주소들과 포트들을 얻으면, 각 종단점은 ICE 협상을 시작하기 위하여 링크 어댑터를 실행시킬 수 있다(동작 636, 638). ICE 협상 프로세스가 완료되면, 그 연결은 사용을 준비한다(동작 640, 642).
가끔 원격 디바이스(특히, 모바일 디바이스)가 전력 절약 모드에 있을 수 있고, 그로 인해 셀룰라 데이터 연결 또는 와이파이 연결 오픈을 유지하지 않는다는 것에 주목한다. 이 결과, 디바이스는 SIP을 통해 접속할 수 없다. 이러한 경우에, 로컬 디바이스는 원격 모바일 디바이스를 웨이크업시키는 다른 수단(예를 들어, 텍스트 메시지 또는 전화호)을 사용할 수 있다. 이와 같은 대역외 시그널링은 원격 모바일 디바이스가 SIP-기반 랑데뷰를 시작하기 위한 데이터 연결을 수행하도록 하는 부트스트랩(bootstrap)이다. 대역외 신호가 랑데뷰를 위해 사용되지 않지만, SIP 레지스트레이션 초기화 및 교환을 위해 사용되므로, SIP-기반 랑데뷰가 진행될 수 있다는 것에 주목한다. SIP 프록시의 능력에 따라서, 디바이스들은 대역외 웨이크업 방법(out-of-band wakeup method)을 나타내기 위하여 전화 번호 또는 다른 연락처들을 SIP 프록시에 등록할 수 있다.
또한 로컬 주소와 포트 조합의 전송 지연이 더 느린 세션-셋업 프로세스를 실행할 수 있기 때문에, NAT이 쉽게 탐색될 수 있는 경우(예컨대, 로컬 종단점이 콘 NAT의 후방에 있을 때), 시스템은 더 빠른 세션 셋업 프로세스를 실행하는 종래 NAT 탐색 방법을 사용할 수 있다는 것에 주목한다. 일 실시예에서, 로컬 종단점은 먼저 어떤 유형의 NAT 후방에 있는지를 판단한다. 로컬 종단점이 콘 NAT의 후방에 있는 것이 판단되면, 정상적인 NAT 탐색이 수행된다. SIP 케이스에서, 로컬 종단점은 자신의 SIP 프록시에 대한 연결 주소/포트 조합을 포함하는 SDP 오퍼를 포함하는 종래 SIP INVITE를 송신할 수 있다. 반면에, 로컬 종단점이 예측가능 대칭적 NAT의 후방에 있는 것으로 판단되면, 무페이로드 SIP INVITE를 송신함으로써 자신의 주소와 포트 조합을 송신하는 것을 지연시킬 것이다.
도 7은 본 발명의 실시예에 따른 SIP-기반 랑데뷰를 가능하게 하는 예시적 컴퓨터 시스템을 나타낸다. 도 7에서, 컴퓨터 및 통신 시스템(700)은 프로세서(702), 메모리(704), 및 저장소 디바이스(706)를 포함한다. 저장소 디바이스(706)는 프로세서(702)에 의해 실행될 프로그램들을 저장한다. 특히, 저장소 디바이스(706)는 애플리케이션(710, 712)와 같은 다른 애플리케이션 외에도, SIP-기반 랑데뷰 애플리케이션(708)을 저장한다. 동작하는 동안, SIP-기반 랑데뷰 애플리케이션(708)은 저장소 디바이스(706)로부터 메모리(704)로 로딩되어, 프로세서(702)에 의해 실행된다. 프로그램이 실행되는 동안, 프로세서(702)는 상술되어진 기능들을 수행한다. 컴퓨터 및 통신 시스템(700)은 선택적 디스플레이(714), 키보드(716), 및 포인팅 디바이스(718)에 결합된다.
본 명세서가 점-대-다중점 NAT 탐색을 달성하기 위하여 SIP을 사용하는 랑데뷰 프로세스를 설명하고 있지만, 그 연결의 초대자가 초기 연결 요청에 자신의 주소와 포트 조합을 송신하지 않으면, 다른 유형의 메시지 교환도 동일한 목적을 달성할 수 있다.
700: 컴퓨터 및 통신 시스템
702: 프로세서
704: 메모리
706: 저장소
708: SIP-기반 랑데뷰 애플리케이션
710, 712: 애플리케이션
714: 디스플레이
716: 키보드
718: 포인팅 디바이스

Claims (1)

  1. 로컬 종단점(local endpoint)과 원격 종단점(remote endpoint) 간의 연결의 확립을 가능하게 하는 컴퓨터 실행가능 방법으로서, 이 방법은
    상기 로컬 종단점으로부터 단일 연결-요청 메시지를, 상기 단일 연결-요청 메시지를 복사하여 복수의 원격 종단점에 송신하는 프록시 서버에 송신하는 단계;
    상기 원격 종단점으로부터 하나 이상의 응답 메시지를 수신하는 단계―여기서, 각 응답 메시지는 상기 원격 종단점에 연관된 주소 정보를 포함함―;
    상기 응답 메시지를 수신하면, 상기 수신된 응답 메시지에 상응하는 확인(acknowledgement)을 상기 프록시 서버를 통해 상응하는 원격 종단점에 송신하는 단계; 및
    상기 로컬 종단점과 적어도 하나의 원격 종단점 간의 연결을 확립하는 단계를 구비하고,
    상기 프록시 서버는 SIP(Session Initiation Protocol) 프록시 서버이고, 상기 연결-요청 메시지는 무페이로드(payload-less) SIP INVITE 메시지인 것을 특징으로 하는 방법.
KR1020170046053A 2010-12-16 2017-04-10 콘텐츠 중심 네트워크에서 sip-기반 관리자 라우팅 KR20170046617A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/970,819 2010-12-16
US12/970,819 US9264459B2 (en) 2010-12-16 2010-12-16 SIP-based custodian routing in content-centric networks

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020110135356A Division KR101727233B1 (ko) 2010-12-16 2011-12-15 콘텐츠 중심 네트워크에서 sip-기반 관리자 라우팅

Publications (1)

Publication Number Publication Date
KR20170046617A true KR20170046617A (ko) 2017-05-02

Family

ID=45372227

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020110135356A KR101727233B1 (ko) 2010-12-16 2011-12-15 콘텐츠 중심 네트워크에서 sip-기반 관리자 라우팅
KR1020170046053A KR20170046617A (ko) 2010-12-16 2017-04-10 콘텐츠 중심 네트워크에서 sip-기반 관리자 라우팅

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020110135356A KR101727233B1 (ko) 2010-12-16 2011-12-15 콘텐츠 중심 네트워크에서 sip-기반 관리자 라우팅

Country Status (4)

Country Link
US (1) US9264459B2 (ko)
EP (1) EP2466846B1 (ko)
JP (1) JP5898480B2 (ko)
KR (2) KR101727233B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9306797B2 (en) * 2012-05-14 2016-04-05 Nokia Solutions And Networks Oy Forking interworking
US9326042B2 (en) 2012-06-11 2016-04-26 Samsung Electronics Co., Ltd. Routing method for inter/intra-domain in content centric network
US9151627B2 (en) * 2014-03-04 2015-10-06 Google Inc. Navigation directions between automatically determined starting points and selected destinations
US10063476B2 (en) * 2014-03-28 2018-08-28 Research & Business Foundation Sungkyunkwan University Content centric networking system providing differentiated service and method of controlling data traffic in content centric networking providing differentiated service
US10129412B1 (en) 2014-09-08 2018-11-13 Whatsapp Inc. Establishing and maintaining a VOIP call
DE102014018873A1 (de) * 2014-12-16 2016-06-30 Unify Gmbh & Co. Kg Telekommunikationsanordnung und Verfahren zum Herstellen einer RTC-Verbindung zwischen einem ersten Endpunkt und einem zweiten Endpunkt
WO2020033308A1 (en) * 2018-08-10 2020-02-13 Intel Corporation Timeout for provisional response ack to reduce voip call setup time

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001271263A1 (en) * 2000-06-30 2002-01-14 Net2Phone System, method, and computer program product for resolving addressing in a network including a network address translator
US20020103850A1 (en) * 2001-01-31 2002-08-01 Moyer Stanley L. System and method for out-sourcing the functionality of session initiation protocol (SIP) user agents to proxies
JP3743501B2 (ja) * 2001-04-03 2006-02-08 村田機械株式会社 中継サーバ
US7283519B2 (en) * 2001-04-13 2007-10-16 Esn, Llc Distributed edge switching system for voice-over-packet multiservice network
US7469299B2 (en) * 2001-10-25 2008-12-23 Verizon Business Global Llc Bridging user agent and a proxy server for supporting network services
US7509425B1 (en) * 2002-01-15 2009-03-24 Dynamicsoft, Inc. Establishing and modifying network signaling protocols
US9497168B2 (en) * 2002-07-30 2016-11-15 Avaya Inc. Method and apparatus for supporting communications between a computing device within a network and an external computing device
US8224985B2 (en) * 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
KR100511479B1 (ko) * 2002-12-27 2005-08-31 엘지전자 주식회사 Nat를 갖는 망에서의 sip 서비스 방법
US7257837B2 (en) * 2003-07-26 2007-08-14 Innomedia Pte Firewall penetration system and method for real time media communications
US20050050211A1 (en) * 2003-08-29 2005-03-03 Kaul Bharat B. Method and apparatus to manage network addresses
JP2005215935A (ja) * 2004-01-29 2005-08-11 Vodafone Kk ファイアウォール
EP1723533A1 (en) * 2004-03-09 2006-11-22 Clique Communications Llc System and method for peer-to-peer connection of clients behind symmetric firewalls
US8027335B2 (en) * 2004-05-05 2011-09-27 Prodea Systems, Inc. Multimedia access device and system employing the same
US7620033B2 (en) * 2004-05-21 2009-11-17 Alcatel-Lucent Usa Inc. Method for optimal path selection in traversal of packets through network address translators
US20050289222A1 (en) * 2004-06-28 2005-12-29 Sahim Faramarz F Flexible session initiation protocol endpoint signaling
US7543064B2 (en) * 2004-09-30 2009-06-02 Logitech Europe S.A. Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
US8055778B2 (en) * 2004-09-30 2011-11-08 Siemens Enterprise Communications, Inc. SIP user agent with simultaneous multiple registrations
US7646775B2 (en) * 2005-03-08 2010-01-12 Leaf Networks, Llc Protocol and system for firewall and NAT traversal for TCP connections
JP2006345231A (ja) * 2005-06-09 2006-12-21 Image Partner:Kk Sip−alg方法
US8432896B2 (en) * 2005-07-22 2013-04-30 Cisco Technology, Inc. System and method for optimizing communications between session border controllers and endpoints in a network environment
US7769887B1 (en) * 2006-02-03 2010-08-03 Sprint Communications Company L.P. Opportunistic data transfer over heterogeneous wireless networks
WO2007125530A2 (en) * 2006-04-27 2007-11-08 D.S.P. Group Ltd. Routing path optimization between si p endpoints according to nat topology
US8571012B2 (en) * 2006-05-12 2013-10-29 Oracle International Corporation Customized sip routing to cross firewalls
US8582555B2 (en) * 2006-05-12 2013-11-12 Oracle International Corporation SIP routing customization
JP4884132B2 (ja) * 2006-08-17 2012-02-29 富士通株式会社 電話システム、接続制御方法、接続制御装置、及びコンピュータプログラム
WO2008054270A1 (en) * 2006-10-31 2008-05-08 Telefonaktiebolaget Lm Ericsson (Publ) A method and arrangement for enabling multimedia communication with a private network
US8656017B2 (en) * 2007-05-16 2014-02-18 Microsoft Corporation Peer-to-peer collaboration system with edge routing
JP2009033299A (ja) * 2007-07-25 2009-02-12 Panasonic Corp 通信の途切れを回避する通信装置、通信方法、及び通信プログラム
US20090077184A1 (en) * 2007-09-18 2009-03-19 Martin John Brewer Remote Control of Mobile Terminal via Remote Control Proxy and SMS
US7856506B2 (en) * 2008-03-05 2010-12-21 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US8165118B2 (en) * 2008-05-19 2012-04-24 Palo Alto Research Center Incorporated Voice over content centric networks
US8165091B2 (en) * 2008-06-27 2012-04-24 Nix John A Efficient handover of media communications in heterogeneous IP networks using LAN profiles and network handover rules
US9392437B2 (en) * 2008-10-17 2016-07-12 Alcatel Lucent Method and system for IP multimedia bearer path optimization through a succession of border gateways
US7945663B2 (en) * 2008-12-29 2011-05-17 Genband Inc. Systems, methods, and computer program products for adaptively adjusting a registration interval of an endpoint
US8385326B2 (en) * 2008-12-29 2013-02-26 Microsoft Corporation Handling early media in VoIP communication with multiple endpoints
TW201029413A (en) * 2009-01-21 2010-08-01 Univ Nat Taipei Technology NAT traversal method in Session Initial Protocol
US7941551B2 (en) * 2009-02-25 2011-05-10 Microsoft Corporation Tunneling of remote desktop sessions through firewalls
US8149851B2 (en) * 2009-03-16 2012-04-03 Sling Media, Inc. Mediated network address translation traversal
TWI408936B (zh) * 2009-09-02 2013-09-11 Ind Tech Res Inst 網路穿透方法及網路通訊系統
US8725895B2 (en) * 2010-02-15 2014-05-13 Damaka, Inc. NAT traversal by concurrently probing multiple candidates
US9521621B2 (en) * 2010-06-02 2016-12-13 Qualcomm Incorporated Application-proxy support over a wireless link

Also Published As

Publication number Publication date
JP2012130001A (ja) 2012-07-05
US20120158861A1 (en) 2012-06-21
JP5898480B2 (ja) 2016-04-06
KR20120067948A (ko) 2012-06-26
EP2466846A1 (en) 2012-06-20
KR101727233B1 (ko) 2017-04-17
EP2466846B1 (en) 2017-03-29
US9264459B2 (en) 2016-02-16

Similar Documents

Publication Publication Date Title
KR101727234B1 (ko) 콘텐츠 중심 네트워크에서 네트워크 주소 변환기를 갖는 관리자 라우팅
KR20170046617A (ko) 콘텐츠 중심 네트워크에서 sip-기반 관리자 라우팅
KR101725306B1 (ko) 컨텐츠 중심 네트워크에서의 관리자 기반 라우팅을 이용한 에너지-효율적인 컨텐츠 캐싱
JP5855867B2 (ja) コンテンツ中心ネットワークを介するサービス仮想化
EP2112788B1 (en) A method and node for p2p content sharing
US20070078986A1 (en) Techniques for reducing session set-up for real-time communications over a network
US20070297430A1 (en) Terminal reachability
Leggio et al. Session initiation protocol deployment in ad-hoc networks: a decentralized approach
Deri et al. N2n: A layer two peer-to-peer vpn
RU2373654C1 (ru) Способ установления однорангового соединения и предназначенная для этого система
US20090100137A1 (en) Method and apparatus for providing services in a peer-to-peer communications network
EP3044929B1 (en) A mobile-device based proxy for browser-originated procedures
Cirani et al. Implementation of a framework for a DHT-based Distributed Location Service
Zheng et al. A secure architecture for P2PSIP-based communication systems
Aslanoglou et al. A Generic Connectivity Service for peer-to-peer applications
Leu et al. Inexpensive high availability solutions for the SIP-based VoIP service
Pussep et al. On NAT traversal in peer-to-peer applications
CN102571528B (zh) 点对点网络中会话初始协议消息路由实现方法及系统
Lee Towards a Common System Architecture for Dynamically Deploying Network Services in Routers and End Hosts
Zhang An Investigation into Expanding the Capabilities of Peer-To-Peer Networks: Combining Centralized Network Infrastructure into Decentralized Peer-to-Peer network topology
Inoue et al. A design and implementation of nickname-based sockets for applications inside NATed network

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid