KR100770101B1 - 정보 처리 장치, 버블 패킷 송신 방법 및 프로그램 - Google Patents

정보 처리 장치, 버블 패킷 송신 방법 및 프로그램 Download PDF

Info

Publication number
KR100770101B1
KR100770101B1 KR20067022422A KR20067022422A KR100770101B1 KR 100770101 B1 KR100770101 B1 KR 100770101B1 KR 20067022422 A KR20067022422 A KR 20067022422A KR 20067022422 A KR20067022422 A KR 20067022422A KR 100770101 B1 KR100770101 B1 KR 100770101B1
Authority
KR
South Korea
Prior art keywords
information processing
communication
bubble packet
packet
communication control
Prior art date
Application number
KR20067022422A
Other languages
English (en)
Other versions
KR20070009646A (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 마쯔시다덴기산교 가부시키가이샤
Publication of KR20070009646A publication Critical patent/KR20070009646A/ko
Application granted granted Critical
Publication of KR100770101B1 publication Critical patent/KR100770101B1/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/2567NAT traversal for reachability, e.g. inquiring the address of a correspondent behind a NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • 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/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal
    • H04L61/2578NAT traversal without involvement of the NAT server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

통신처의 정보 처리 장치와, 통신원의 NAT를 통해 통신을 행하는 통신원의 제1 정보 처리 장치(1)로서, 통신처의 정보 처리 장치에서 송신되는 패킷을 접수할 수 있도록, 통신원의 NAT에 송신 이력을 남기기 위해서 송신되는 버블 패킷에 대해서, 이 버블 패킷이 통신처의 정보 처리 장치에 도달하지 않는 범위의 수명을 설정하는 수명 설정부(13)와, 수명 설정부(13)가 설정한 수명을 갖는 버블 패킷을, 통신원의 NAT를 통해 송신하는 버블 패킷 송신부(14)를 구비한다. 이러한 구성에 의해, 시큐리티 레벨이 높은 NAT를 통한 통신을 적절하게 확립할 수 있는 정보 처리 장치를 제공한다.

Description

정보 처리 장치, 버블 패킷 송신 방법 및 프로그램{INFORMATION PROCESSING DEVICE, AND BUBBLE PACKET TRANSMISSION METHOD AND PROGRAM}
본 발명은, 다른 정보 처리 장치와 통신을 행하는 정보 처리 장치 등에 관한 것이다.
종래, 서버를 통하지 않고, 정보 처리 장치간에 직접, 피어·투·피어 등의 통신을 행하는 기술이 개발되어 있다. 그 통신에 있어서, 도 9에서 도시하는 바와 같이, 정보 처리 장치 PC1, PC2가, 각각 NAT1, NAT2를 통해 통신을 행하는 경우도 있다. 여기에서, NAT1, NAT2는, 로컬측(정보 처리 장치측)의 프라이빗 IP 어드레스와, 통신 회선측의 글로벌 IP 어드레스의 상호 변환을 행한다. 그 NAT1, NAT2 등에는, 포트 할당 룰과, 수신 필터 룰이 있고, 그 조합에 의해 NAT의 분류가 이루어진다. 구체적으로는, 송신 포트 할당 룰에는, 패킷의 수신처(IP 어드레스, 포트)에 의존하지 않고, NAT의 로컬측(예를 들면, LAN측)의 정보 처리 장치의 포트와 IP 어드레스가 같으면, NAT에 할당되는 글로벌측(예를 들면, 인터넷 등의 WAN측)에 동일한 포트가 할당되는 콘 타입과, 패킷의 수신처 어드레스마다 새로운 포트가 할당되는 어드레스 센시티브 타입과, 패킷의 수신처 포트마다 새로운 포트가 할당되는 포트 센시티브 타입이 있다. NAT의 로컬측에서 패킷이 송신된 포트에 대해서 글로벌측으로부터의 패킷의 수신 가능성을 판단하는 수신 필터 룰에는, 그 포트에서 패킷을 송신한 어드레스로부터만 패킷을 수신하는 어드레스 센시티브 필터와, 그 포트에서 패킷을 송신한 포트로부터만 패킷을 수신하는 포트 센시티브 필터와, 필터가 존재하지 않고 모든 패킷을 수신하는 노우 필터가 있다.
그러한 NAT를 통한 통신에 있어서, NAT의 LAN측에서 WAN측에 대해서 패킷의 송신이 이루어지고 있지 않으면, WAN측의 다른 정보 처리 장치로부터의 패킷을 접수할 수 없다. 특히, NAT의 수신 필터 룰이 어드레스 센시티브 필터나 포트 센시티브 필터인 경우에는, WAN측의 정보 처리 장치나, 그 정보 처리 장치에 있어서의 소정의 포트에 패킷을 송신하고 있지 않으면, 그 WAN측의 정보 처리 장치에서 송신된 패킷을 접수할 수 없다. 따라서, NAT를 통한 정보 처리 장치간의 통신을 확립하기 위해서, NAT에 송신 이력을 남기기 위한 패킷(버블 패킷)의 송신 등을 행하고 있었다.
이러한 기술 내용은, J.Rosenberg, J. Weinberger, C. Huitema, R. Mahy, 「STUN-Simple Traversal of User Datagram Protocol(UDP) Through Network Address Translators(NATs)」,[Onlinc], 2003년 3월, [2004년 3월 17일 검색], 인터넷<URL:http://www.ietf.org/rfc/rfc3489.txt>나, 오이카와 다쿠야, 「Advanced Networking Pack for Windows(등록 상표) XP 대해부(大解剖) 제1회 IPv6 접속을 더 투과적으로 하는 Teredo」, [Online], 2003년 9월 29일, [2004년 3월 17일 검색], 인터넷 <URL:http://www.ipv6style.jp/jp/tryout/20030929/2.shtml>에 기재되어 있다.
그러나, NAT의 종류에 따라서는, 시큐리티를 향상시키기 위해서, 수신 필터 룰에 의해 수신할 수 없는 패킷을 공격이라고 간주하고, 그 패킷의 통신원의 IP 어드레스에서 송신된 패킷을 접수하지 않는 경우도 있다. 그러한 경우에, 버블 패킷을 통신처의 NAT에 대해서 송신하면, 그 버블 패킷이 공격인 것으로 간주한다. 그 결과, 버블 패킷을 수신한 NAT가, 버블 패킷을 송신한 정보 처리 장치로부터의 패킷을 일절 접수하지 않게 되어, 버블 패킷을 송신한 정보 처리 장치와, 버블 패킷이 송신된 측의 정보 처리 장치의 사이에서의 통신을 적절하게 확립할 수 없게 되는 경우도 있다.
또, 버블 패킷은, 통신원의 NAT가 통신처에서 송신된 패킷을 적절하게 수신할 수 있도록, 통신원의 NAT에 송신 이력을 남기는 것을 목적으로 하여 송신되는 것이다. 따라서, 통상, 버블 패킷은 정보를 전달하기 위해서 송신되는 것은 아니다. 그러한 정보를 전달하는 역할을 갖지 않는 패킷에 의해, 인터넷 등의 통신 회선에 있어서의 트래픽이 증대하는 것은, 바람직한 것이 아니다.
본 발명은 상기 문제점을 해결하기 위해서 이루어진 것으로, 그 하나의 목적은, 시큐리티 레벨이 높은 통신 제어 장치(예를 들면, NAT)를 통한 통신을 적절하게 확립할 수 있는 정보 처리 장치 등을 제공하는 것이다.
또, 본 발명의 다른 목적은, 통신 회선에 있어서의 트래픽의 증대를 억제하면서, 버블 패킷을 송신하는 정보 처리 장치 등을 제공하는 것이다.
상기 목적을 달성하기 위해서, 본 발명에 의한 정보 처리 장치는, 통신처의 정보 처리 장치와, 통신원의 통신 제어 장치를 통해 통신을 행하는 통신원의 정보 처리 장치로서, 통신원의 통신 제어 장치에 송신 이력을 남기기 위해서 통신원의 정보 처리 장치에서 송신되는 버블 패킷에 대해서, 그 버블 패킷이 통신처의 정보 처리 장치에 도달하지 않는 범위의 수명을 설정하는 수명 설정부와, 수명 설정부가 설정한 수명을 갖는 버블 패킷을, 통신원의 통신 제어 장치를 통해 송신하는 버블 패킷 송신부를 구비한 것이다.
본 발명에 의한 정보 처리 장치에 의하면, 버블 패킷에 소정의 수명을 설정함으로써, 시큐리티 레벨이 높은 통신 제어 장치를 통한 통신을 적절하게 확립할 수 있다. 또, 버블 패킷에 수명을 형성함으로써, 통신 회선에 있어서의 트래픽의 증대를 방지할 수 있다.
도 1은 본 발명의 실시 형태에 의한 통신 시스템의 구성을 도시하는 도면이다.
도 2는 상기 실시 형태에 의한 제1 정보 처리 장치의 구성을 도시하는 블록도이다.
도 3은 상기 실시 형태에 있어서의 추적 루트를 설명하기 위한 도면이다.
도 4는 상기 실시 형태에 있어서의 추적 루트를 설명하기 위한 다른 도면이다.
도 5는 상기 실시 형태에 의한 통신 시스템의 동작을 설명하기 위한 도면이다.
도 6은 상기 실시 형태에 의한 통신 시스템의 구체예를 설명하기 위한 도면이다.
도 7은 상기 실시 형태에 의한 통신 시스템의 구체예를 설명하기 위한 다른 도면이다.
도 8은 상기 실시 형태에 의한 통신 시스템의 구성의 다른 일례를 도시하는 도면이다.
도 9는 종래의 통신 시스템의 일례를 도시하는 도면이다.
<부호의 설명>
1…제1 정보 처리 장치 2…제2 정보 처리 장치
3…제1 통신 제어 장치 4…제2 통신 제어 장치
5…서버 11…통신 제어부
12…중계 노드 계수부 12…수명 설정부
14…버블 패킷 송신부
(실시 형태)
본 발명의 실시 형태에 의한 통신 시스템에 대해, 도면을 참조하면서 설명한다.
도 1은, 본 실시 형태에 의한 통신 시스템의 구성을 도시하는 도면이다. 도 1에 있어서, 본 실시 형태에 의한 통신 시스템은, 제1 정보 처리 장치(1)와, 제2 정보 처리 장치(2)와, 제1 통신 제어 장치(3)와, 제2 통신 제어 장치(4)와, 서버 (5)를 구비한다. 제1 통신 제어 장치(3) 및 제2 통신 제어 장치(4)와 서버(5)는, 유선 또는 무선의 통신 회선(6)을 통해 접속되어 있다. 이 통신 회선(6)은, 예를 들면, 인터넷이다.
또한, 도 1에서는, 제1 통신 제어 장치(3), 제2 통신 제어 장치(4)에 각각, 제1 정보 처리 장치(1), 제2 정보 처리 장치(2)만이 접속되어 있는 경우에 대해 나타내고 있지만, 이 이외의 장치가, 제1 통신 제어 장치(3), 제2 통신 제어 장치(4)에 접속되어 있어도 된다.
또, 도 1에서는, 제1 정보 처리 장치(1), 및 제2 정보 처리 장치(2)에 각각 제1 통신 제어 장치(3), 제2 통신 제어 장치(4)가 1개씩 접속되어 있는 경우에 대해 나타내고 있지만, 각 정보 처리 장치에 있어서 접속되는 통신 제어 장치는, 다단이어도 된다. 즉, 제1 정보 처리 장치(1) 및 제2 정보 처리 장치(2)로부터 통신 회선(6)까지의 사이에, 다른 통신 제어 장치가 존재해도 된다.
또, 본 실시 형태에서는, 제1 정보 처리 장치(1)가 통신원의 정보 처리 장치로서 동작하고, 제2 정보 처리 장치(2)가 통신처의 정보 처리 장치로서 동작하는 경우에 대해 설명한다. 여기에서, 통신원의 정보 처리 장치란, 제1 정보 처리 장치(1)와 제2 정보 처리 장치(2)의 사이의 통신을 확립할 때에 있어서의, 통신(커넥터)의 요구를 내리는 측(바꿔 말하면, 버블 패킷을 송신하는 측)이다. 한편, 통신처의 정보 처리 장치란, 그 반대측의 정보 처리 장치, 즉 통신의 요구를 수취하는 측(바꿔 말하면, 버블 패킷에 대한 회신 패킷을 송신하는 측)의 정보 처리 장치인 것이다. 또한, 통신을 확립한다는 것은, 제1 정보 처리 장치(1)와 제2 정보 처리 장치(2)의 사이에 있어서, 서버(5)를 통하지 않는 피어·투·피어의 통신을 개시하는 것을 말한다. 또한, 버블 패킷, 회신 패킷에 대해서는 후술한다.
도 2는, 제1 정보 처리 장치(1)의 구성을 도시하는 블록도이다. 도 2에 있어서, 제1 정보 처리 장치(1)는, 통신 제어부(11)와, 중계 노드 계수부(12), 수명 설정부(13)와, 버블 패킷 송신부(14)를 구비한다.
통신 제어부(11)는, 제1 정보 처리 장치(1)와, 통신처의 제2 정보 처리 장치(2)의 사이에서의 통신을 확립시키기 위한 처리를 행한다. 그 처리의 상세한 설명에 대해서는 후술한다.
중계 노드 계수부(12)는, 제1 정보 처리 장치(1)로부터의 중계 노드의 수를 계수한다. 여기에서, 중계 노드란, 라우팅 기능을 갖는 이른바 라우터인 것으로, 어드레스 변환 기능(예를 들면, 프라이빗 어드레스에서 글로벌 어드레스로의 변환을 행하는 기능)을 가져도 되고, 갖지 않아도 된다. 또, 중계 노드는, 글로벌 어드레스에서 글로벌 어드레스로 패킷을 중계(예를 들면, 인터넷에 있어서 행해진다)해도 되고, 프라이빗 어드레스에서 프라이빗 어드레스에 패킷을 중계(예를 들면, LAN에 있어서 행해진다)해도 되며, 프라이빗 어드레스와 글로벌 어드레스의 사이에서 패킷을 중계(예를 들면, LAN와 인터넷의 사이에서 행해진다)해도 된다. 이 중계 노드의 수의 계수는, 예를 들면, 추적 루트에 의해 행해도 되고, TTL(Time To Live)을 설정한 UDP 패킷을, 그 TTL을 1에서 순서대로 증가하면서 송신함으로써 행해도 된다. 본 실시 형태에서는, 추적 루트에 의해 중계 노드의 수의 계수를 행하는 것으로 한다. 이 계수의 처리의 상세한 설명에 대해서는 후술한다.
수명 설정부(13)는, 버블 패킷 송신부(14)가 송신하는 버블 패킷에 대해서, 그 버블 패킷이 통신처의 제2 통신 제어 장치(4)에 도달하지 않는 범위의 수명을 설정한다. 수명 설정부(13)는, 중계 노드 계수부(12)가 계수한 중계 노드의 수에 의거하여, 그 수명의 설정을 행한다. 이 수명의 설정은, 예를 들면, 버블 패킷에 관한 TTL을 설정함으로써 행한다. 또한, 수명 설정부(13)에 의해 설정되는 버블 패킷의 수명은, 버블 패킷이 통신원의 통신 제어 장치(다단의 통신 제어 장치인 경우에는 그 전부)를 넘을 수 있는 것이 아니면 안된다. 버블 패킷은, 통신처의 회신 패킷을 수신할 수 있도록, 통신원의 통신 제어 장치에 대해서 송신 이력을 남기는 역할을 갖기 때문에, 버블 패킷이 통신원의 통신 제어 장치를 넘지 않은 경우에는, 통신원의 통신 제어 장치가 통신처로부터의 회신 패킷을 수신할 수 없기 때문이다.
수명 설정부(13)는, 예를 들면, 버블 패킷이 글로벌 어드레스에서 글로벌 어드레스에 패킷을 중계하는 중계 노드에 도달할 수 있도록 버블 패킷의 수명을 설정해도 되고, 글로벌 어드레스에서 글로벌 어드레스로 패킷을 중계하는 중계 노드 중, 통신원의 제1 정보 처리 장치(1)에 대해서 가장 가까운 중계 노드에 버블 패킷이 도달할 수 있도록 버블 패킷의 수명을 설정해도 되며, 버블 패킷이 통신처의 제2 통신 제어 장치(4)의 바로 앞의 중계 노드에 도달할 수 있도록 버블 패킷의 수명을 설정해도 된다. 또한, 통신처의 통신 제어 장치가 다단인 경우에는, 통신원에 가장 가까운 쪽의 통신 제어 장치의 바로 앞의 중계 노드에 도달하도록(즉, 통신처의 어느 통신 제어 장치에도 도달하지 않도록) 버블 패킷의 수명을 설정해도 된다.
버블 패킷 송신부(14)는, 수명 설정부(13)가 설정한 수명을 갖는 버블 패킷을, 통신원의 제1 통신 제어 장치(3)를 통해 송신한다. 여기에서, 버블 패킷이란, 통신처의 제2 정보 처리 장치(2)에서 송신되는 회신 패킷을 제1 통신 제어 장치(3)가 접수할 수 있도록, 통신원의 제1 통신 제어 장치(3)에 송신 이력을 남기기 위해서 통신원의 제1 정보 처리 장치(1)에서 송신되는 패킷인 것이다. 송신 이력을 남긴다는 것은, 회신 패킷을 접수할 수 있기 위한 포트를 할당하는(포트를 여는) 것을 말한다. 이 버블 패킷에는, 어떠한 정보가 포함되어 있어도 되고, 아무런 정보가 포함되어 있지 않아도 되지만(더미여도 된다), 본 실시 형태에 의한 버블 패킷은 통신처에 도달하지 않기 때문에, 일반적으로, 이 버블 패킷에는 의미가 있는 정보는 포함되어 있지 않다. 버블 패킷 송신부(14)는, 예를 들면, 소정의 메모리로 기억되어 있는 버블 패킷을 송신한다. 이 버블 패킷은, 예를 들면, UDP(User Dat a Protocol)와 같은 비연결형의 프로토콜에 의해 송신된다.
제2 정보 처리 장치(2)는, 제1 정보 처리 장치(1)에서 송신된 버블 패킷에 대해서 회신 패킷을 송신한다. 이렇게 해서, 제1 정보 처리 장치(1)와, 제2 정보 처리 장치(2)의 사이에서의 제1 통신 제어 장치(3), 제2 통신 제어 장치(4)를 통한 통신이 확립하게 된다. 여기에서, 회신 패킷이란, 버블 패킷이 통과한 제1 통신 제어 장치(3)의 포트에 대해서 송신되는 패킷이다. 미리 버블 패킷이 송신됨으로써, 제1 정보 처리 장치(1)는, 이 회신 패킷을, 제1 통신 제어 장치(3)를 통해 수신할 수 있다. 이 회신 패킷에는, 어떠한 정보가 포함되어 있어도 되고, 아무런 정보가 포함되어 있지 않아도 된다.
제1 통신 제어 장치(3)는, 제1 정보 처리 장치(1)에서 송신된 패킷, 혹은, 제1 정보 처리 장치(1)에 송신된 패킷의 어드레스 변환을 행하는 NAT(Network Address Translation)의 기능을 갖는 장치이다. 구체적으로는, 제1 정보 처리 장치(1)측에서 사용되고 있는 로컬인 어드레스와, 통신 회선(6)측에서 사용되고 있는 글로벌인 어드레스의 상호 변환을 행한다. 이 제1 통신 제어 장치(3)는, 라우팅 기능을 갖는 것으로, 중계 노드 계수부(12)가 계수하는 중계 노드에 포함된다. 또한, 제1 통신 제어 장치(3)는, 어드레스 변환 이외의 다른 기능을 갖고 있어도 된다.
제2 통신 제어 장치(4)도, 어드레스 변환을 행하는 NAT의 기능을 갖는, 제1 통신 제어 장치(3)와 동일한 장치이다.
또한, 제1 통신 제어 장치(3), 제2 통신 제어 장치(4)에서 사용되는 송신 포트 할당 룰과 수신 필터 룰은, 제1 정보 처리 장치(1)와 제2 정보 처리 장치(2)의 사이에서의 통신을 확립하기 위해서 버블 패킷의 송신이 필요한 경우에만, 이용되는 것은 아니다. 단, 본 실시 형태에서는, 제1 통신 제어 장치(3), 제2 통신 제어 장치(4)의 송신 포트 할당 룰이 콘 타입이고, 수신 필터 룰이 어드레스 센시티브 필터인 경우에 대해 설명한다. 즉, 제1 통신 제어 장치(3), 제2 통신 제어 장치(4)는, 이른바 리스트릭티드 콘 NAT의 기능을 갖는 것으로 한다.
서버(5)는, 제1 정보 처리 장치(1)와 제2 정보 처리 장치(2)의 사이에서의 서버(5)를 통하지 않는 통신을 확립하기 위해서 필요한 처리 등을 행한다. 예를 들면, 제1 정보 처리 장치(1)에 대해서 제2 정보 처리 장치(2)(엄밀하게는, 제2 통 신 제어 장치(4))의 통신 회선(6)측의 IP 어드레스를 통지하거나, 제1 정보 처리 장치(1)에서 송신된 버블 패킷이 통과한 제1 통신 제어 장치(3)의 포트의 번호를 제2 정보 처리 장치(2)에 통지하거나 한다.
다음에, 중계 노드 계수부(12)가 중계 노드의 수를 계수하는 방법에 대해 설명한다. 여기에서는, 추적 루트를 이용하여 중계 노드의 수를 계수하는 방법에 대해 설명한다. 추적 루트에서는, IP의 루트를 추적함으로써, 통신처까지의 각 중계 노드의 IP 어드레스를 알 수 있다.
도 3, 도 4는, 추적 루트에 대해 설명하기 위한 도면이다. 이러한 도면에 있어서, 중계 노드는, 동그라미로 표시되어 있다. 도 3에서 도시되는 바와 같이, 우선 제1 정보 처리 장치(1)의 중계 노드 계수부(12)는, 제2 통신 제어 장치(4)를 향해 TTL=1의 체크 패킷을 송신한다. 여기에서, 체크 패킷이란, 추적 루트에 있어서, 송신처를 향해 송신되는 패킷이다. 이 체크 패킷에는, TTL(Time To Live)이 설정되어 있다. 체크 패킷의 TTL은, 중계 노드를 통과할 때마다 1만큼 감소하기 때문에, TTL=1의 체크 패킷은, 제1 통신 제어 장치(3)에 도달했을 때에 TTL=0이 되고, 제1 통신 제어 장치(3)로부터 ICMP 초과 시간에 의해 제1 정보 처리 장치(1)로 돌려보내진다. 다음에, 도 4에서 도시되는 바와 같이, 중계 노드 계수부(12)는, 제2 통신 제어 장치(4)를 향해 TTL=2의 체크 패킷을 송신한다. 그러면, 그 체크 패킷은 중계 노드(51)에 있어서 TTL=0이 되고, ICMP 초과 시간에 의해 중계 노드(51)로부터 제1 정보 처리 장치(1)로 돌려보내진다. 이에 따라, 중계 노드 계수부(12)는, 중계 노드(51)의 IP 어드레스를 알 수 있다. 이와 같이, 체크 패킷이 제2 통신 제어 장치(4)에 도달할 때까지, TTL을 1씩 증가하면서 체크 패킷의 송신과, ICMP 초과 시간의 수신을 반복함으로써, 제2 통신 제어 장치(4)에 도달할 때까지 경유한 각 중계 노드의 IP 어드레스를 알 수 있다. 또한, ICMP 초과 시간을 돌려보내지 않는 중계 노드의 경우에는, 중계 노드 계수부(12)는, 타임 아웃이 된 후에, 다음의 체크 패킷을 송신한다. 체크 패킷이 제2 통신 제어 장치(4)에 도달하면, ICMP 포트 언리처블이 돌려보내져, 추적 루트는 종료가 된다. 또한, 경우에 따라서는, ICMP 포트 언리처블 대신에, ICMP 에코 리플라이가 돌려보내지는 경우도 있다. 중계 노드 계수부(12)는, 이 추적 루트를 행함으로써, 제2 통신 제어 장치(4)에 도달할 때까지 경유하는 중계 노드의 수와, 각 중계 노드의 IP 어드레스를 알 수 있다.
또한, 여기에서는 추적 루트를 제2 통신 제어 장치(4)에 대해서 행하는 경우에 대해 설명하였지만, 중계 노드 계수부(12)는, 추적 루트 이외의 방법에 의해 중계 노드의 수를 계수해도 되고, 또, 체크 패킷의 송신처는, 제2 통신 제어 장치(4) 이외의 예를 들면 서버(5) 등이어도 된다.
다음에, 본 실시 형태에 의한 통신 시스템에 있어서의 제1 정보 처리 장치(1)와 제2 정보 처리 장치(2)가 통신을 확립하는 동작에 대해, 도 5를 이용하여 설명한다. 또한, 이 설명에 있어서, 제1 정보 처리 장치(1) 및 제2 정보 처리 장치(2)는, 미리, 서버(5)의 중개에 의해 제1 통신 제어 장치(3), 제2 통신 제어 장치(4)의 통신 회선(6)측의 IP 어드레스를 알고 있는 것으로 한다.
(단계 S101) 중계 노드 계수부(12)는, 제2 통신 제어 장치(4)까지의 중계 노 드의 수를 계수한다.
(단계 S102) 수명 설정부(13)는, 중계 노드 계수부(12)에 의한 중계 노드의 수의 계수 결과에 의거하여, 버블 패킷 송신부(14)가 송신하는 버블 패킷의 수명을 설정한다.
(단계 S103) 통신 제어부(11)는, 포트 검출용 패킷을 서버(5)에 송신한다. 이 포트 검출용 패킷은, 버블 패킷이 송신되는 제1 통신 제어 장치(3)에 있어서의 포트(이하, 「버블 패킷 송신 포트」라고 한다)의 위치(예를 들면, 포트 번호에 의해 특정된다)를 검출하기 위해서, 버블 패킷의 송신 전에 송신되는 것이다. 그 포트 검출용 패킷은 서버(5)에서 수신된다.
(단계 S104) 버블 패킷 송신부(14)는, 수명 설정부(13)에 의해 설정된 수명을 갖는 버블 패킷을 제2 통신 제어 장치(4)에 송신한다. 이 버블 패킷은, 설정된 수명으로 소멸하기 때문에, 제2 통신 제어 장치(4)에는 도달하지 않는다. 또한, 이 버블 패킷은, 서버(5)를 통하지 않고, 직접, 제2 통신 제어 장치(4)에 송신된다.
(단계 S105) 서버(5)는, 단계 S103에서 송신된 포트 검출용 패킷에 의해, 버블 패킷 송신 포트의 위치를 검출한다.
(단계 S106) 서버(5)는, 단계 S105에서 검출한 버블 패킷 송신 포트의 위치를 제2 정보 처리 장치(2)에 통지한다.
(단계 S107) 제2 정보 처리 장치(2)는, 제1 통신 제어 장치(3)의 버블 패킷 송신 포트에 대해서, 회신 패킷을 송신한다. 이 회신 패킷이 제1 정보 처리 장치 (1)에서 수신됨으로써, 제1 정보 처리 장치(1)와, 제2 정보 처리 장치(2)의 사이에서, 서버(5)를 통하지 않는 통신이 확립되게 된다.
다음에, 이 통신 시스템의 동작에 대해, 구체예를 이용하여 설명한다. 이 구체예에서는, 전술한 바와 같이, 제1 통신 제어 장치(3), 제2 통신 제어 장치(4)가 리스트릭티드 콘 NAT의 기능을 갖는 것으로 한다. 또, 중계 노드 계수부(12)는, 추적 루트에 의해 중계 노드의 수를 계수하는 것으로 한다. 또, 수명 설정부(13)는, 버블 패킷의 TTL을 설정함으로써 수명을 설정하는 것으로 한다. 또, 제1 통신 제어 장치(3), 제2 통신 제어 장치(4), 서버(5)의 통신 회선(6)측의 각 IP 어드레스는, 이하와 같은 것으로 한다.
제1 통신 제어 장치(3) : 202. 132. 10. 6
제2 통신 제어 장치(4) : 101. 206. 10. 240
서버(5) : 155. 32. 10. 10
도 6, 도 7은, 이 구체예를 설명하기 위한 도면이다. 이 구체예에서는, 제1 정보 처리 장치(1)에서 접속 요구가 행해지는 것으로 한다. 도 6에 있어서, 제1 정보 처리 장치(1)는, 서버(5)의 IP 어드레스「155. 32. 10. 10」을 미리 알고 있고, 그 서버(5)에 대해서, 제1 정보 처리 장치(1)의 기기 ID 「1234567890」을 송신한다. 여기에서, 이 기기 ID로서는, 예를 들면, MAC 어드레스 등의 GUID(Global Unique ID)를 이용할 수 있다. 이 기기 ID의 송신은, 제1 정보 처리 장치(1)의 포트 P1에서, 제1 통신 제어 장치(3)에서 할당된 포트 P2를 통해, 서버(5)의 포트 P3에 대해서 행해진다. 이 송신에 의해, 서버(5)는, 제1 정보 처리 장치(1)의 기기 ID와 제1 통신 제어 장치(3)의 IP 어드레스「202. 132. 10. 6」과, 제1 통신 제어 장치(3)에 있어서의 포트 P2의 포트 번호「10034」를 알 수 있다. 이러한 정보는, 서버(5)에 있어서 유지된다.
제2 정보 처리 장치(2)도, 제1 정보 처리 장치(1)와 동일하게 해서, 제2 정보 처리 장치(2)의 기기 ID 「9876543210」을 송신한다. 그 결과, 제2 통신 제어 장치(4)의 IP 어드레스「131. 206. 10. 240」과, 제2 정보 처리 장치(2)의 기기 ID와, 제2 통신 제어 장치(4)에 있어서의 포트 P5의 포트 번호「23495」가 서버(5)에 있어서 유지된다.
다음에, 제1 정보 처리 장치(1)가, 접속을 요구하는 제2 정보 처리 장치(2)의 기기 ID 「9876543210」을 서버(5)에 송신함으로써, 제2 정보 처리 장치(2)로의 접속 요구를 행한다. 그러면, 서버(5)는, 그 접속 요구를 수취하여, 포트 P2를 통해 제1 정보 처리 장치(1)에 제2 통신 제어 장치(4)의 IP 어드레스 「131. 206. 10. 240」과, 포트 P5의 포트 번호 「23495」를 통지한다.
제1 정보 처리 장치(1)의 중계 노드 계수부(12)는, 제2 통신 제어 장치(4)의 IP 어드레스 「131. 206. 10. 240」에 대해서 추적 루트를 실행함으로써, 제2 통신 제어 장치(4)까지의 중계 노드의 수를 계수한다(단계 S101). 이 계수는, 도 3, 도 4를 이용한 설명과 동일하게 해서 행해진다. 그리고, 중계 노드 계수부(12)는, 제2 통신 제어 장치(4)까지의 중계 노드의 수, 및 제2 통신 제어 장치(4)까지 경과한 각 중계 노드까지의 TTL의 값과, 그 중계 노드에서 되돌아온 IP 어드레스의 대응을 계수 결과로서 수명 설정부(13)에 전달한다.
수명 설정부(13)는, 중계 노드 계수부(12)에 의한 중계 노드의 수의 계수 결과를 수취하면, ICMP 초과 시간에 의해 중계 노드에서 되돌아온 IP 어드레스가 글로벌 어드레스인, 가장 가까운(제1 통신 제어 장치(3)에 가장 가까운) 중계 노드에까지 버블 패킷이 도달하도록 버블 패킷의 TTL을 설정한다(단계 S102). 구체적으로는, 중계 노드에서 되돌아온 글로벌 어드레스에 대응하는 TTL 중, 가장 작은 값의 TTL을 버블 패킷의 TTL로서 설정한다. 이와 같이 수명을 설정함으로써, 버블 패킷은, 글로벌 어드레스에서 글로벌 어드레스에 패킷을 중계하는 중계 노드 중, 가장 가까운 중계 노드에 도달하도록 수명이 설정되게 된다. 여기에서는, 제1 정보 처리 장치(1)에서 2개째의 중계 노드가 글로벌 어드레스에서 글로벌 어드레스로 패킷을 중계하는 중계 노드이며, TTL=2로 설정된 것으로 한다.
통신 제어부(11)는, 제1 정보 처리 장치(1)의 포트 P7에서 서버(5)의 포트 P9로 버블 패킷 송신 포트를 검출하기 위한 포트 검출용 패킷을 송신한다(단계 S103). 포트 P9는, 서버(5)에서 지시된 포트인 것으로 한다. 또한, 이 포트 P9는, 포트 P3과 동일해도 된다. 이 포트 검출용 패킷은, 제1 통신 제어 장치(3)에 있어서, 새롭게 할당된 포트 P8(포트 번호 「10040」)을 이용하여 송신된다. 이 포트 검출용 패킷은 서버(5)에서 수신되고, 제1 통신 제어 장치(3)의 포트 P8의 포트 번호 「10040」이 검출되어 유지된다(단계 S105).
버블 패킷 송신부(14)는, TTL=2의 버블 패킷을 제2 통신 제어 장치(4)의 포트 P5를 향해 송신한다(단계 S104). 이 버블 패킷의 TTL은, 제1 통신 제어 장치(3)에 있어서 1만큼 감소되어 TTL=1이 되고, 제1 통신 제어 장치(3)의 다음의 중계 노드에 있어서 TTL=0이 되어 소멸한다. 따라서, 버블 패킷은 제2 통신 제어 장치(4)에는 도달하지 않는다.
서버(5)는 유지하고 있는 버블 패킷 송신 포트 P8의 포트 번호 「10040」과, 제1 통신 제어 장치(3)의 IP 어드레스 「202. 132. 10. 6」을, 포트 P5를 통해 제2 정보 처리 장치(2)에 통지한다(단계 S106).
제2 정보 처리 장치(2)는, 제1 통신 제어 장치(3)의 IP 어드레스와, 포트 P8의 포트 번호를 수취하면, 포트 P10으로부터, 그 IP 어드레스, 포트 번호를 향해, 회신 패킷을 송신한다(도 7 참조). 그 회신 패킷은, 제1 통신 제어 장치(3)의 포트 P8에서 접수되어, 제1 정보 처리 장치(1)의 포트 P7로 전달된다. 이와 같이 해서, 제1 정보 처리 장치(1)와, 제2 정보 처리 장치(2)의 사이에서의 통신이 확립되고, 그 후, 제1 정보 처리 장치(1)와, 제2 정보 처리 장치(2)는 원하는 데이터의 송신, 수신 등을 행할 수 있다.
또한, 이 구체예에서는, 글로벌 어드레스에서 글로벌 어드레스로 패킷을 중계하는 중계 노드 중, 통신원의 제1 정보 처리 장치(1)에 대해서 가장 가까운 중계 노드(즉, 제1 통신 제어 장치(3)의 다음의 중계 노드)에 버블 패킷이 도달할 수 있도록, 수명 설정부(13)가 수명을 설정하는 경우에 대해 설명하였지만, 이것은 일례로서, 전술한 바와 같이, 수명 설정부(13)는, 버블 패킷이 글로벌 어드레스에서 글로벌 어드레스로 패킷을 중계하는 중계 노드에 도달할 수 있도록 수명을 설정해도 되고, 버블 패킷이 통신처의 제2 통신 제어 장치(4)에 도달하는, 바로 앞의 중계 노드에 도달하도록 수명을 설정해도 된다.
예를 들면, 중계 노드 중에는, ICMP에 따르지 않는 것도 있을 수 있다. 구체적으로는, 추적 루트에 있어서는 TTL을 감소시키지 않음에도 불구하고, UDP의 버블 패킷의 TTL을 감소시키는 중계 노드도 있을 수 있다. 그러한 중계 노드가 통신원의 통신 제어 장치에 포함되어 있는 경우에, 중계 노드 계수부(12)에 의한 계수 결과에 의거해, 글로벌 어드레스에서 글로벌 어드레스로 패킷을 중계하는, 가장 가까운 중계 노드까지의 수명을 갖는 버블 패킷을 송신했다고 해도, 실제로는, 버블 패킷이 통신원의 통신 제어 장치의 모두를 넘지 않게 되어 버린다. 그 결과, 통신원의 통신 제어 장치 중, 가장 송신처에 가까운 쪽의 통신 제어 장치에 송신 이력을 남길 수 없고, 제2 정보 처리 장치(2)에서 송신된 회신 패킷을 접수할 수 없게 된다. 그러한 사태를 피하기 위해서는, 글로벌 어드레스에서 글로벌 어드레스로 패킷을 중계하는, 가장 가까운 중계 노드에서 이전의 중계 노드로 버블 패킷이 도달하도록 수명을 설정해도 되고, 혹은, 통신처의 통신 제어 장치의 1개 바로 앞의 중계 노드까지 중 어느 하나의 중계 노드에 버블 패킷이 도달하도록 수명을 설정해도 된다.
또, 수명 설정부(13)는, 통신원의 제1 정보 처리 장치(1)와, 통신처의 제2 정보 처리 장치(2)의 통신이 확립될 때까지, 버블 패킷 송신부(14)가 버블 패킷을 송신할 때마다, 버블 패킷이 도달할 수 있는 중계 노드를 늘려 수명을 설정해도 된다. 구체적으로는, 우선, 글로벌 어드레스에서 글로벌 어드레스로 패킷을 중계하는, 가장 가까운 중계 노드에 도달하도록 버블 패킷의 수명을 설정해 두고, 그 버블 패킷의 송신에 의해 정보 처리 장치간의 통신을 확립할 수 없는 경우에, 다음은 버블 패킷의 수명(TTL)을 1만큼 증가하여 버블 패킷을 송신하고, 그런데도 정보 처리 장치간의 통신을 확립할 수 없는 경우에는, 버블 패킷의 수명을 1만큼 더 증가하여 통신의 확립을 시도하는 것을 반복하여 행해도 된다. 또한, 통신을 확립할 수 없는 경우에, 버블 패킷이 도달할 수 있는 중계 노드를 1씩 늘려 수명을 설정해도 되고, 혹은, 버블 패킷이 도달할 수 있는 중계 노드를 소정의 수씩(몇 회째의 증가인지에 따라 달라도 된다) 늘려 수명을 설정해도 된다.
이상과 같이, 본 실시 형태에 의한 통신 시스템에 의하면, 제1 정보 처리 장치(1)가 송신하는 버블 패킷에 수명을 설정하여, 제2 통신 제어 장치(4)에 도달하지 않도록 함으로써, 수신 필터 룰에 의해 접수할 수 없는 패킷을 수신한 경우에, 그 패킷의 통신원으로부터 패킷을 일절 접수하지 않게 되는 제2 통신 제어 장치(4)가 이용되고 있었다고 해도, 버블 패킷이 제2 통신 제어 장치(4)에 도달하는 경우가 없기 때문에, 버블 패킷을 송신한 후의, 제1 정보 처리 장치(1)와 제2 정보 처리 장치(2)의 사이에서의 통신의 확립을 적절하게 행할 수 있다.
또, 글로벌 어드레스에서 글로벌 어드레스로의 패킷의 중계를 행하는 중계 노드 중, 통신원에 가장 가까운 중계 노드에 버블 패킷이 도달한 시점에서 소멸하도록 버블 패킷의 수명을 설정해 둠으로써, 통신원의 제1 통신 제어 장치(3)에 송신 이력을 남기는 역할만을 갖는 버블 패킷에 의해 통신 트래픽이 증대되는 사태를 회피할 수 있다.
또한, 본 실시 형태에서는, 중계 노드 계수부(12)가 중계 노드의 수를 계수 하고, 그 계수 결과에 의거해 수명 설정부(13)가 버블 패킷의 수명을 설정하는 경 우에 대해 설명하였지만, 제1 정보 처리 장치(1)가 중계 노드 계수부(12)를 구비하지 않고, 외부에서 입력된 통신원의 통신 제어 장치의 단수에 의거하여, 수명 설정부(13)가 버블 패킷의 수명을 설정하도록 해도 된다. 예를 들면, 도 1에서 도시되는 바와 같이, 통신원의 제1 통신 제어 장치(3)가 1단밖에 없는 경우에는, 수명 설정부(13)가 그 통신 제어 장치의 단수 「1」에 「1」을 가산한 「2」를 TTL로서 설정함으로써 버블 패킷의 수명의 설정을 행해도 된다.
또, 본 실시 형태에서는, 통신처의 제2 정보 처리 장치(2)의 측에도, 통신 제어 장치를 갖는 경우에 대해 설명하였지만, 도 8에서 도시되는 바와 같이, 통신처는 통신 제어 장치를 갖지 않는 구성이어도 된다. 이 경우에는, 수명 설정부(13)는, 통신처의 제2 정보 처리 장치(2)에 도달하지 않는 범위의 수명을 버블 패킷의 수명으로서 설정한다. 이와 같이 함으로써, 통신의 트래픽을 증대시키는 사태를 회피할 수 있다. 이것은, 특히, 수명 설정부(13)가 버블 패킷의 수명을, 글로벌 어드레스에서 글로벌 어드레스로 패킷을 중계하는, 가장 가까운 중계 노드에 버블 패킷이 도달할 수 있도록 설정한 경우에 현저하다.
또, 본 실시 형태에서는, 통신 제어 장치가 리스트릭티드 콘 NAT의 기능을 갖는 것인 경우에 대해 설명하였지만, 통신 제어 장치는, 그 이외의 종류의 NAT여도 된다. 즉, 버블 패킷에 수명을 설정하는 것은, 임의의 종류의 NAT를 통해 버블 패킷을 송신하는 정보 처리 장치에 있어서 이용할 수 있다. 또한, 다른 종류의 NAT를 이용한 경우에는, 그 NAT의 종류에 따라, 통신을 확립하기 위한 처리가 달라도 된다.
또, 중계 노드 계수부(12)에 의한 중계 노드의 수의 계수에 있어서, 본 실시 형태에서는, 통신처의 NAT인 제2 통신 제어 장치(4)까지의 중계 노드의 수를 계수하는 경우에 대해 설명하였지만, 예를 들면, 수명 설정부(13)가 글로벌 어드레스에서 글로벌 어드레스로의 패킷의 중계를 행하는, 가장 가까운 중계 노드에 버블 패킷이 도달할 수 있도록 수명을 설정하는 경우에는, 서버(5)나, 그 밖의 서버까지의 중계 노드의 수의 계수를 행해도 된다.
또, 중계 노드 계수부(12)에 의한 중계 노드의 수의 계수에 있어서, 본 실시 형태에서는, 추적 루트에 의해 소정의 통신처의 노드(예를 들면, 제2 통신 제어 장치(4) 등)까지의 중계 노드의 수를 모두 계수하는 경우에 대해 설명하였지만, 예를 들면, 수명 설정부(13)가 글로벌 어드레스에서 글로벌 어드레스로의 패킷의 중계를 행하는, 가장 가까운 중계 노드에 버블 패킷이 도달할 수 있도록 수명을 설정하는 경우에는, 중계 노드의 수의 계수는, 통신원의 통신 제어 장치(통신 제어 장치가 다단인 경우에는, 그 다단의 모든 통신 제어 장치)를 넘는 범위에 있어서, 중계 노드의 수의 계수를 행해도 된다. 예를 들면, 수명 설정부(13)가 글로벌 어드레스에서 글로벌 어드레스로의 패킷의 중계를 행하는, 가장 가까운 중계 노드에 버블 패킷이 도달할 수 있도록 수명을 설정하는 경우에는, 중계 노드의 수의 계수는, 글로벌 어드레스에서 글로벌 어드레스로의 패킷의 중계를 행하는, 가장 가까운 중계 노드에 있어서 종료해도 된다. 구체적으로는, UDP의 패킷에 TTL을 차례로 증가하면서 설정하여 송신하고 있는 경우에는, ICMP 초과 시간을 되돌아온 중계 노드의 IP 어드레스가 글로벌 어드레스를 갖게 된 시점에서, 중계 노드의 수의 계수를 종료해 도 된다. 그리고, 그 글로벌 어드레스를 되돌아온 시점의 UDP 패킷에 설정되어 있었던 TTL의 값을, 수명 설정부(13)가 버블 패킷의 수명으로서 설정해도 된다.
또, 본 실시 형태에서는, 버블 패킷의 수명의 설정을 TTL의 설정에 의해 행하는 경우에 대해 설명하였지만, 그 이외의 방법에 의해 수명의 설정을 행해도 된다. 예를 들면, 송신시의 시각과, 수명을 나타내는 시간의 설정에 의해, 버블 패킷에 수명을 설정해도 된다. 이 경우에는, 중계 노드에 있어서, 송신시의 시각에서 수명을 나타내는 시간만큼 경과한 것이 확인되면, 그 버블 패킷이 폐기되게 된다.
또, 본 실시 형태에서는, 제1 통신 제어 장치(3), 및 제2 통신 제어 장치(4)가 NAT의 기능을 갖는 것이라고 설명하였지만, 제1 통신 제어 장치(3), 및 제2 통신 제어 장치(4)는, NAT의 기능 대신에, 혹은 NAT의 기능과 함께 패킷 필터링의 방화벽(Firewall)의 기능을 갖는 것이어도 된다. 여기에서, 패킷 필터링이란, 예를 들면, 전술한 수신 필터 룰에 의거한 수신 패킷의 선택을 행하는 것이다. 제1 통신 제어 장치(3)가, 그러한 수신 필터 룰에 의거한 방화벽 기능을 갖는 경우, 로컬측(제1 정보 처리 장치(1)측)에서 글로벌측(통신 회선(6))으로의 버블 패킷의 송신에 의해 제1 통신 제어 장치(3)에 송신 이력을 남김으로써, 버블 패킷 송신 포트에 송신된 회신 패킷을 접수할 수 있게 된다. 또, 제2 통신 제어 장치(4)가 수신 필터 룰에 의해 접수할 수 없는 패킷을 수신한 경우에, 그 패킷의 통신원으로부터 패킷을 일절 접수하지 않게 되는 방화벽의 기능을 갖는 경우에 있어서도, 통신처의 제2 통신 제어 장치(4)에 도달하지 않는 범위의 수명이 버블 패킷에 설정됨으로써, 제1 정보 처리 장치(1)와 제2 정보 처리 장치(2)의 통신을 적절하게 확립할 수 있다.
또한, 제1 통신 제어 장치(3), 및 제2 통신 제어 장치(4)가 하드웨어로서 정보 처리 장치와 별도로 구성되어 있고, 또, NAT의 기능을 갖지 않고, 방화벽의 기능을 갖는 경우에는, 그러한 통신 제어 장치는, 라우팅 기능을 갖게 되어, 일반적으로 TTL을 1만큼 감소시키는 중계 노드가 될 수 있다. 이 경우에는, 예를 들면, 글로벌 어드레스에서 글로벌 어드레스로 패킷을 중계하는 중계 노드에 버블 패킷이 도달할 수 있도록 버블 패킷의 수명이 설정됨으로써, 그 방화벽(통신 제어 장치)에 대해서도 송신 이력을 남길 수 있고, 제1 정보 처리 장치(1)는, 제2 정보 처리 장치(2)에서 송신된 회신 패킷을 접수할 수 있다.
한편, 제1 정보 처리 장치(1), 및 제2 정보 처리 장치(2)에 있어서 어플리케이션으로서 방화벽 기능을 실장한 경우에는, 버블 패킷이 방화벽(통신 제어 장치)을 통과함으로써, TTL이 1만큼 감소되는 경우는 없다(이 경우에는, 정보 처리 장치와 통신 제어 장치가 일체로서 구성되게 되고, 그 중 통신 제어 장치(방화벽)의 기능만을 별도로 명기한 것이 도 1에서 도시되게 된다). 이 경우에는, TTL이 1이상의 버블 패킷이 송신됨으로써, 방화벽에 송신 이력을 남길 수 있다. 또, 이 방화벽의 글로벌측(통신 회선(6)측)에 NAT의 기능을 더 갖는 통신 제어 장치가 있었다고 해도, 글로벌 어드레스에서 글로벌 어드레스로 패킷을 중계하는 중계 노드에 버블 패킷이 도달할 수 있도록 버블 패킷의 수명이 설정됨으로써, 그 NAT의 기능을 갖는 통신 제어 장치에 대해서도 송신 이력을 남길 수 있고, 제1 정보 처리 장치 (1)는, 제2 정보 처리 장치(2)에서 송신된 회신 패킷을 접수할 수 있다.
또한, 도 8에서 도시되는 바와 같이 제2 통신 제어 장치(4)를 구비하지 않아도 되는 것, 혹은 통신원의 통신 제어 장치의 단수를 외부에서 입력해도 되는 것에 대해서는, 통신 제어 장치가 NAT의 기능 대신에, 혹은 NAT의 기능과 함께 방화벽 기능을 갖는 경우에 있어서도, 상기 설명과 동일하다.
또, 본 실시 형태에서는, 서버(5)를 IP 어드레스에 의해 특정하는 경우에 대해 설명하였지만, 서버(5)를 도메인명(예를 들면, server.pana.net 등)에 의해 특정해도 된다. 이 경우에는, 그 도메인명이 DNS 서버를 이용하여, IP 어드레스로 변환됨으로써, 서버(5)를 특정할 수 있다.
또, 본 실시 형태에 있어서의 통신 프로토콜은, 예를 들면, IPv4(Internet Protocol version 4)여도 되고, 혹은, IPv6(Internet Protocol version 6)여도 된다.
또, 상기 실시 형태에 있어서, 각 처리(각 기능)는, 단일한 장치(시스템)에 의해 집중 처리됨으로써 실현되어도 되고, 혹은, 복수의 장치에 의해 분산 처리됨으로써 실현되어도 된다.
또, 상기 실시 형태에 있어서, 각 구성 요소는 전용의 하드웨어에 의해 구성되어도 되고, 혹은, 소프트웨어에 의해 실현 가능한 구성 요소에 대해서는, 프로그램을 실행함으로써 실현되어도 된다. 예를 들면, 하드디스크나 반도체 메모리 등의 기록 매체에 기록된 소프트웨어·프로그램을 CPU 등의 프로그램 실행부가 독출하여 실행함으로써, 각 구성 요소가 실현될 수 있다. 또한, 상기 실시 형태에 있 어서의 정보 처리 장치를 실현하는 소프트웨어는, 이하와 같은 프로그램이다. 요컨대, 이 프로그램은, 컴퓨터에, 통신처의 정보 처리 장치와, 통신원의 통신 제어 장치를 통해 통신을 행하는 통신원의 정보 처리 장치에 있어서의 버블 패킷을 송신시키기 위한 프로그램으로서, 통신원의 통신 제어 장치에 송신 이력을 남기기 위해서 통신원의 정보 처리 장치에서 송신되는 버블 패킷에 대해서, 그 버블 패킷이 통신처의 정보 처리 장치에 도달하지 않는 범위의 수명을 설정하는 수명 설정 단계와, 수명 설정 단계에서 설정한 수명을 갖는 버블 패킷을, 통신원의 통신 제어 장치를 통해 송신하는 버블 패킷 송신 단계를 실행시키기 위한 것이다.
또한, 상기 프로그램에 있어서, 패킷을 송신하는 송신 단계 등에서는, 하드웨어에 의해 행해지는 처리, 예를 들면, 송신 단계에 있어서의 모뎀이나 인터페이스 카드 등으로 행해지는 처리(하드웨어로밖에 행해지지 않는 처리)는 포함되지 않는다.
또, 이 프로그램은, 서버 등에서 다운로드됨으로써 실행되어도 되고, 소정의 기록 매체(예를 들면, CD-ROM 등의 광 디스크나 자기 디스크, 반도체 메모리 등)에 기록된 프로그램이 독출됨으로써 실행되어도 된다.
또, 이 프로그램을 실행하는 컴퓨터는, 단수여도 되고, 복수여도 된다. 즉, 집중 처리를 행해도 되고, 혹은 분산 처리를 행해도 된다.
이상과 같이, 본 발명에 의한 정보 처리 장치 등은, 버블 패킷이 통신처의 정보 처리 장치, 혹은 통신처의 통신 제어 장치에 도달하지 않는 범위의 수명을 버 블 패킷에 설정하는 것으로, 정보 처리 장치간의 통신의 확립에 있어서 버블 패킷을 송신하는 정보 처리 장치 등에 유용하다.

Claims (12)

  1. 통신처의 정보 처리 장치와, 통신원의 통신 제어 장치를 통해 통신을 행하는 통신원의 정보 처리 장치로서,
    상기 통신원의 통신 제어 장치에 송신 이력을 남기기 위해서 상기 통신원의 정보 처리 장치에서 송신되는 버블 패킷에 대해서, 상기 버블 패킷이 상기 통신처의 정보 처리 장치에 도달하지 않는 범위의 수명을 설정하는 수명 설정부와,
    상기 수명 설정부가 설정한 수명을 갖는 버블 패킷을, 상기 통신원의 통신 제어 장치를 통해 송신하는 버블 패킷 송신부를 구비한 통신원의 정보 처리 장치.
  2. 청구항 1에 있어서, 상기 통신처의 정보 처리 장치와, 상기 통신원의 정보 처리 장치의 통신은, 통신처의 통신 제어 장치를 통해 행해지는 것으로,
    상기 수명 설정부는, 버블 패킷이 상기 통신처의 통신 제어 장치에 도달하지 않는 범위의 수명을 설정하는 통신원의 정보 처리 장치.
  3. 청구항 1 또는 청구항 2에 있어서, 상기 수명 설정부는, 상기 버블 패킷이 글로벌 어드레스에서 글로벌 어드레스로 패킷을 중계하는 중계 노드에 도달할 수 있도록 수명을 설정하는 통신원의 정보 처리 장치.
  4. 청구항 3에 있어서, 상기 수명 설정부는, 글로벌 어드레스에서 글로벌 어드 레스로 패킷을 중계하는 중계 노드 중, 상기 버블 패킷이 가장 가까운 중계 노드에 도달할 수 있는 수명을 설정하는 통신원의 정보 처리 장치.
  5. 청구항 3에 있어서, 상기 수명 설정부는, 상기 통신원의 정보 처리 장치와, 상기 통신처의 정보 처리 장치의 통신이 확립될 때까지, 상기 버블 패킷 송신부가 버블 패킷을 송신할 때마다, 상기 버블 패킷이 도달할 수 있는 중계 노드를 1씩 늘려 수명을 설정하는 통신원의 정보 처리 장치.
  6. 청구항 2에 있어서, 상기 수명 설정부는, 상기 버블 패킷이 상기 통신처의 통신 제어 장치의 바로 앞의 중계 노드에 도달할 수 있는 수명을 설정하는 통신원의 정보 처리 장치.
  7. 청구항 3에 있어서, 상기 수명 설정부는, 버블 패킷에 관한 TTL(Time To Live)의 설정을 행하는 통신원의 정보 처리 장치.
  8. 청구항 1 또는 2에 있어서, 상기 통신원의 정보 처리 장치로부터의 중계 노드의 수를 계수하는 중계 노드 계수부를 더 구비하고,
    상기 수명 설정부는, 상기 중계 노드 계수부가 계수한 중계 노드의 수에 의거하여, 상기 버블 패킷의 수명의 설정을 행하는 통신원의 정보 처리 장치.
  9. 청구항 8에 있어서, 상기 중계 노드 계수부는, 추적 루트에 의해 중계 노드의 수의 계수를 행하는 통신원의 정보 처리 장치.
  10. 청구항 4에 있어서, 상기 통신원의 정보 처리 장치로부터의 중계 노드의 수를, 글로벌 어드레스에서 글로벌 어드레스로 패킷을 중계하는 중계 노드 중, 가장 가까운 중계 노드까지 계수하는 중계 노드 계수부를 더 구비하고,
    상기 수명 설정부는, 상기 중계 노드 계수부가 계수한 중계 노드의 수에 의거하여, 상기 버블 패킷의 수명의 설정을 행하는 통신원의 정보 처리 장치.
  11. 통신처의 정보 처리 장치와, 통신원의 통신 제어 장치를 통해 통신을 행하는 통신원의 정보 처리 장치에 있어서의 버블 패킷 송신 방법으로서,
    상기 통신원의 통신 제어 장치에 송신 이력을 남기기 위해서 상기 통신원의 정보 처리 장치에서 송신되는 버블 패킷에 대해서, 상기 버블 패킷이 상기 통신처의 정보 처리 장치에 도달하지 않는 범위의 수명을 설정하는 수명 설정 단계와,
    상기 수명 설정 단계에서 설정한 수명을 갖는 버블 패킷을, 상기 통신원의 통신 제어 장치를 통해 송신하는 버블 패킷 송신 단계를 구비한 버블 패킷 송신 방법.
  12. 삭제
KR20067022422A 2004-05-07 2005-04-15 정보 처리 장치, 버블 패킷 송신 방법 및 프로그램 KR100770101B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00138222 2004-05-07
JP2004138222A JP3835462B2 (ja) 2004-05-07 2004-05-07 情報処理装置、及びバブルパケット送信方法

Publications (2)

Publication Number Publication Date
KR20070009646A KR20070009646A (ko) 2007-01-18
KR100770101B1 true KR100770101B1 (ko) 2007-10-24

Family

ID=35320569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20067022422A KR100770101B1 (ko) 2004-05-07 2005-04-15 정보 처리 장치, 버블 패킷 송신 방법 및 프로그램

Country Status (7)

Country Link
US (1) US8194566B2 (ko)
EP (1) EP1739897B1 (ko)
JP (1) JP3835462B2 (ko)
KR (1) KR100770101B1 (ko)
CN (1) CN1977499A (ko)
TW (1) TW200541277A (ko)
WO (1) WO2005109785A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7729267B2 (en) * 2003-11-26 2010-06-01 Cisco Technology, Inc. Method and apparatus for analyzing a media path in a packet switched network
JP4440056B2 (ja) * 2004-09-27 2010-03-24 パナソニック株式会社 情報処理装置、通信処理装置、情報処理システム、情報処理方法、及び通信処理方法
JP3999785B2 (ja) * 2005-01-20 2007-10-31 株式会社フラクタリスト 通信方法
JP4665568B2 (ja) * 2005-03-16 2011-04-06 パナソニック株式会社 情報処理装置、ポート検出装置、情報処理方法、及びポート検出方法
US7738383B2 (en) * 2006-12-21 2010-06-15 Cisco Technology, Inc. Traceroute using address request messages
US7706278B2 (en) * 2007-01-24 2010-04-27 Cisco Technology, Inc. Triggering flow analysis at intermediary devices
US7693091B2 (en) * 2007-03-30 2010-04-06 Microsoft Corporation Teredo connectivity between clients behind symmetric NATs
US20080253383A1 (en) * 2007-04-13 2008-10-16 Microsoft Corporation Communicating using the port-preserving nature of symmetric network address translators
EP2003845B1 (en) * 2007-06-15 2015-07-29 Alcatel Lucent Peer chosen as tester for detecting misbehaving peer in structured peer-to-peer networks
US7707294B2 (en) 2007-06-26 2010-04-27 Microsoft Corporation Edge traversal service dormancy
US8370919B2 (en) 2007-06-26 2013-02-05 Microsoft Corporation Host firewall integration with edge traversal technology
JP5239618B2 (ja) * 2008-08-19 2013-07-17 沖電気工業株式会社 アドレス変換装置、方法及びプログラム、並びにノード
US8774010B2 (en) 2010-11-02 2014-07-08 Cisco Technology, Inc. System and method for providing proactive fault monitoring in a network environment
US8559341B2 (en) 2010-11-08 2013-10-15 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US8982733B2 (en) 2011-03-04 2015-03-17 Cisco Technology, Inc. System and method for managing topology changes in a network environment
US8670326B1 (en) 2011-03-31 2014-03-11 Cisco Technology, Inc. System and method for probing multiple paths in a network environment
US8724517B1 (en) 2011-06-02 2014-05-13 Cisco Technology, Inc. System and method for managing network traffic disruption
US8830875B1 (en) 2011-06-15 2014-09-09 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US9450846B1 (en) 2012-10-17 2016-09-20 Cisco Technology, Inc. System and method for tracking packets in a network environment
CN107733930B (zh) * 2013-03-15 2020-10-20 柏思科技有限公司 用于在多个wan网络网关处转发互联网协议(ip)数据包的方法和系统
TWI538449B (zh) * 2013-11-29 2016-06-11 晶睿通訊股份有限公司 穿透網路位址轉換的方法、電腦可讀取媒體與連線中介系統
US9703888B2 (en) * 2013-12-18 2017-07-11 Dassault Systemes Americas Corp. Component obsolescence registry
TWI599201B (zh) * 2016-02-05 2017-09-11 物聯智慧科技(深圳)有限公司 網路系統及建立資料連線的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5675741A (en) * 1994-10-25 1997-10-07 Cabletron Systems, Inc. Method and apparatus for determining a communications path between two nodes in an Internet Protocol (IP) network
US6687732B1 (en) * 1998-09-28 2004-02-03 Inktomi Corporation Adaptive traffic bypassing in an intercepting network driver
US6952421B1 (en) * 1999-10-07 2005-10-04 Cisco Technology, Inc. Switched Ethernet path detection
GB2369746A (en) * 2000-11-30 2002-06-05 Ridgeway Systems & Software Lt Communications system with network address translation
US7133368B2 (en) * 2002-02-01 2006-11-07 Microsoft Corporation Peer-to-peer method of quality of service (QoS) probing and analysis and infrastructure employing same
US7310356B2 (en) * 2002-06-24 2007-12-18 Paradyne Corporation Automatic discovery of network core type

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Tunneling IPv6 over UDP through NATs(draft-huitema-v6ops-teredo-00.txt) *

Also Published As

Publication number Publication date
US20070171835A1 (en) 2007-07-26
CN1977499A (zh) 2007-06-06
EP1739897A4 (en) 2012-04-25
TW200541277A (en) 2005-12-16
JP3835462B2 (ja) 2006-10-18
WO2005109785A1 (ja) 2005-11-17
US8194566B2 (en) 2012-06-05
KR20070009646A (ko) 2007-01-18
EP1739897A1 (en) 2007-01-03
EP1739897B1 (en) 2017-12-20
JP2005323033A (ja) 2005-11-17

Similar Documents

Publication Publication Date Title
KR100770101B1 (ko) 정보 처리 장치, 버블 패킷 송신 방법 및 프로그램
US8457014B2 (en) Method for configuring control tunnel and direct tunnel in IPv4 network-based IPv6 service providing system
Rosenberg Interactive connectivity establishment (ICE): A protocol for network address translator (NAT) traversal for offer/answer protocols
US8184659B2 (en) Network system for communicating between different IP versions with multiple translators
Keranen et al. Interactive connectivity establishment (ICE): A protocol for network address translator (NAT) traversal
US9602333B2 (en) DNS server, gateways and methods for managing an identifier of a port range in the transmission of data
CN101410817A (zh) 自动协议代理的自动配置名称空间的使用
JP4712481B2 (ja) 通信方法および装置
US20160380964A1 (en) Network transmission method and network transmission system for a multi-layer network address translator structure
US7356031B1 (en) Inter-v4 realm routing
JP3933183B2 (ja) 通信システム、情報処理装置、サーバ、および通信方法
US7873037B2 (en) Information processing device, information processing system, information processing method, and program
US20110209000A1 (en) Systems and Methods for Allocating Network Resources From One Address Realm to Clients in a Different Address Realm
JP3849711B2 (ja) 通信システム、情報処理装置、サーバ、および通信方法
US20080198851A1 (en) Information processing system including information processing apparatus and terminals, and information processing method for the same
JP4345751B2 (ja) 情報処理装置、及びバブルパケット送信方法
KR100562390B1 (ko) 호스트 라우팅과 IP Aliasing 기법을 이용한 네트워크 데이터 플로우 식별 방법 및 시스템
WO2008069504A1 (en) Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
JP4389885B2 (ja) 通信システム、情報処理装置、サーバ、および通信方法
JP5987832B2 (ja) エージェント装置及び通信中継方法
Santos Private realm gateway
Suzuki et al. External dynamic mapping method for NAT traversal
Llorente Santos Yksityisen alueen yhdyskäytävä
Kang et al. IPv6 anycast routing aware of a service flow

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: 20120924

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130924

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150917

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160922

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170920

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180920

Year of fee payment: 12