KR20050079730A - 이종 프로토콜 노드들을 연결하는 방법 및 장치 - Google Patents

이종 프로토콜 노드들을 연결하는 방법 및 장치 Download PDF

Info

Publication number
KR20050079730A
KR20050079730A KR1020040007827A KR20040007827A KR20050079730A KR 20050079730 A KR20050079730 A KR 20050079730A KR 1020040007827 A KR1020040007827 A KR 1020040007827A KR 20040007827 A KR20040007827 A KR 20040007827A KR 20050079730 A KR20050079730 A KR 20050079730A
Authority
KR
South Korea
Prior art keywords
socket
node
protocol
mobile
data
Prior art date
Application number
KR1020040007827A
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 삼성전자주식회사
Priority to KR1020040007827A priority Critical patent/KR20050079730A/ko
Priority to AT05250636T priority patent/ATE391384T1/de
Priority to DE602005005727T priority patent/DE602005005727T2/de
Priority to EP05250636A priority patent/EP1562348B1/en
Priority to CNA200510007259XA priority patent/CN1652543A/zh
Priority to US11/050,910 priority patent/US20050175016A1/en
Publication of KR20050079730A publication Critical patent/KR20050079730A/ko

Links

Classifications

    • CCHEMISTRY; METALLURGY
    • C01INORGANIC CHEMISTRY
    • C01BNON-METALLIC ELEMENTS; COMPOUNDS THEREOF; METALLOIDS OR COMPOUNDS THEREOF NOT COVERED BY SUBCLASS C01C
    • C01B13/00Oxygen; Ozone; Oxides or hydroxides in general
    • C01B13/10Preparation of ozone
    • C01B13/11Preparation of ozone by electric discharge
    • 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/08Protocols for interworking; Protocol conversion
    • 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/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • 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/167Adaptation for transition between two IP versions, e.g. between IPv4 and IPv6
    • CCHEMISTRY; METALLURGY
    • C01INORGANIC CHEMISTRY
    • C01BNON-METALLIC ELEMENTS; COMPOUNDS THEREOF; METALLOIDS OR COMPOUNDS THEREOF NOT COVERED BY SUBCLASS C01C
    • C01B2201/00Preparation of ozone by electrical discharge
    • C01B2201/70Cooling of the discharger; Means for making cooling unnecessary
    • C01B2201/72Cooling of the discharger; Means for making cooling unnecessary by air
    • CCHEMISTRY; METALLURGY
    • C01INORGANIC CHEMISTRY
    • C01BNON-METALLIC ELEMENTS; COMPOUNDS THEREOF; METALLOIDS OR COMPOUNDS THEREOF NOT COVERED BY SUBCLASS C01C
    • C01B2201/00Preparation of ozone by electrical discharge
    • C01B2201/70Cooling of the discharger; Means for making cooling unnecessary
    • C01B2201/74Cooling of the discharger; Means for making cooling unnecessary by liquid
    • C01B2201/76Water
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/04Network layer protocols, e.g. mobile IP [Internet Protocol]
    • H04W80/045Network layer protocols, e.g. mobile IP [Internet Protocol] involving different protocol versions, e.g. MIPv4 and MIPv6

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Chemical & Material Sciences (AREA)
  • Organic Chemistry (AREA)
  • Inorganic Chemistry (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 이종 프로토콜을 사용하는 노드들을 연결하는 방법 및 장치에 관한 것으로, 본 발명에 따른 이종 프로토콜 노드 연결 방법은 제 1 프로토콜을 사용하는 제 1 노드를 발신지로 하는 제 1 데이터를 제 1 소켓을 통하여 수신하는 단계; 및 수신된 제 1 데이터를 제 2 프로토콜을 사용하는 제 2 노드를 목적지로 하여 제 2 소켓을 통하여 전송하는 단계를 포함하며, 이종 프로토콜을 사용하는 노드들을 서로 연결할 수 있다는 효과가 있다.

Description

이종 프로토콜 노드들을 연결하는 방법 및 장치{Method and apparatus for connecting heterogeneous protocol nodes}
본 발명은 이종 프로토콜을 사용하는 노드들을 연결하는 방법 및 장치에 관한 것으로, 보다 상세하게는 IPv4 노드와 IPv6 노드를 연결하는 방법 및 장치에 관한 것이고, 비모바일 노드와 모바일 노드를 연결하는 방법 및 장치에 관한 것이다.
IPv4(Internet Protocol version 4)와 IPv6(Internet Protocol version 6)이 혼재되어 있는 네트워크에 존재하는 노드들이 IP 계층에 IPv4/IPv6 변환 기능이 탑재되어 있지 않은 경우를 고려할 수 있다. 종래에는 이런 경우 IPv4 노드와 IPv6 노드는 서로 연결될 수 없다는 문제점이 있었다. 또한, 모바일(mobile) 네트워크에서 연결되는 IP 노드들이 IP 계층에 모바일 IP 기능이 탑재되어 있지 않은 경우를 고려할 수 있다. 종래에는 이런 경우 모바일 IP 기능이 탑재되어 있지 않은 비모바일(non-mobile) 노드와 모바일 IP 기능이 탑재된 모바일 노드는 서로 연결될 수 없다는 문제점이 있었다. 나아가, IP 계층은 사용자 또는 단말 공급자가 다룰 수 없는 커널 레벨에 해당하기 때문에 상기된 문제점을 사용자 또는 단말 공급자가 용이하게 해결할 수 없다는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 이종 프로토콜을 사용하는 노드들을 서로 연결할 수 있는 방법 및 장치를 제공하는데 있으며, 특히 사용자 또는 단말 공급자가 용이하게 구현할 수 있는 방법 및 장치를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 이종 프로토콜 노드 연결 방법은 (a) 제 1 프로토콜을 사용하는 제 1 노드를 발신지로 하는 제 1 데이터를 제 1 소켓을 통하여 수신하는 단계; 및 (b) 상기 (a) 단계에서 수신된 제 1 데이터를 제 2 프로토콜을 사용하는 제 2 노드를 목적지로 하여 제 2 소켓을 통하여 전송하는 단계를 포함한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 따른 이종 프로토콜 노드 연결 장치는 제 1 프로토콜을 사용하는 제 1 노드를 발신지로 하는 제 1 데이터를 제 1 소켓을 통하여 수신하는 제 1 소켓 통신부; 및 상기 제 1 소켓 통신부에 수신된 제 1 데이터를 제 2 프로토콜을 사용하는 제 2 노드를 목적지로 하여 제 2 소켓을 통하여 전송하는 제 2 소켓 통신부를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따른 이종 프로토콜 노드 통신 방법은 (a) 제 1 프로토콜을 기반으로 하는 통신에 사용될 제 1 소켓 및 제 2 프로토콜을 기반으로 하는 통신에 사용될 제 2 소켓을 생성하는 단계; 및 (b) 상기 (a) 단계에서 생성된 제 1 소켓을 통하여 상기 제 1 프로토콜을 사용하는 제 1 노드와 통신하고, 상기 생성된 제 2 소켓을 통하여 상기 제 2 프로토콜을 사용하는 제 2 노드와 통신하는 단계를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 이종 프로토콜 노드 연결 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 이종 프로토콜 노드 통신 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 1은 본 발명의 바람직한 일 실시예에 따른 네트워크 환경의 구성도이다.
도 1을 참조하면, 본 실시예에 따른 네트워크 환경은 노드(1), 노드(2), 및 노드(3)로 구성된다. 본 실시예에 따르면, 노드(1)에는 제 1 프로토콜을 사용하는 프로토콜 스택 및 제 2 프로토콜을 사용하는 프로토콜 스택을 모두 포함하는 듀얼 스택(dual stack)이 탑재되어 있고, 노드(2)는 제 1 프로토콜을 사용하고, 노드(3)는 제 2 프로토콜을 사용한다.
도 1을 참조하면, 본 실시예에 따른 듀얼 스택은 응용 계층(100), 제 1 소켓(200), 제 2 소켓(300), 제 1 프로토콜(400), 제 2 프로토콜(500), 및 하위 계층(600)으로 구성된다. 듀얼 스택 중 오른쪽 스택은 제 1 프로토콜(400)을 포함하고, 왼쪽 스택은 제 2 프로토콜(500)을 포함한다. 또한, 듀얼 스택 중 응용 계층(100) 및 하위 계층(600)은 공통 계층이다.
노드(1)는 응용 계층(100)에서 특정 서브루틴에 연결을 제공하는 함수들을 호출함으로서 제 1 프로토콜을 기반으로 하는 통신에 사용될 응용 프로그램 인터페이스(API, Application Program Interface)인 제 1 소켓(200) 및 제 2 프로토콜을 기반으로 하는 통신에 사용될 응용 프로그램 인터페이스인 제 2 소켓(300)을 생성한다. 여기에서, 특정 서브루틴은 소켓 생성과 관련된 서브루틴이다.
노드(1)는 응용 계층에서 특정 서브루틴에 연결을 제공하는 함수를 호출함으로서 생성된 제 1 소켓을 통하여 제 1 프로토콜을 사용하는 제 1 노드(2)와 통신하고, 생성된 제 2 소켓을 통하여 제 2 프로토콜을 사용하는 제 2 노드(3)와 통신한다. 여기에서, 특정 서브루틴은 소켓을 통한 통신과 관련된 서브루틴이다. 다시 말하면, 제 1 프로토콜을 사용하는 노드(2)로부터 전송된 데이터는 네트워크를 경유하여 노드(1)에 수신된다. 노드(1)에 수신된 데이터는 하위 계층(600), 제 1 프로토콜(400), 및 제 1 소켓(200)을 통과하여 응용 계층(100)에 도달하고, 응용 계층(100)에 도달한 데이터는 제 2 소켓(300), 제 2 프로토콜(500), 및 하위 계층(600)을 통과한다. 하위 계층(600)을 통과한 데이터는 네트워크를 경유하여 노드(3)에 수신된다. 상기된 데이터 흐름의 역 흐름도 물론 가능하다.
상기된 바와 같이, 노드(1)는 제 1 소켓을 통하여 제 1 프로토콜을 사용하는 제 1 노드(2)와 통신하고, 제 2 소켓을 통하여 제 2 프로토콜을 사용하는 제 2 노드(3)와 통신함으로서, 사용자 또는 단말 공급자가 다룰 수 없는 커널 레벨의 계층, 즉 제 1 프로토콜(400) 및 제 2 프로토콜(500)에 제 1 프로토콜 및 제 2 프로토콜간 변환 메커니즘이 존재하지 않는 경우에도 서로 다른 프로토콜을 사용하는 노드(2) 및 노드(3)와 통신을 할 수 있게 된다. 여기에서, 제 1 프로토콜은 IPv6, 제 2 프로토콜은 IPv4가 될 수도 있고, 반대로 제 1 프로토콜은 IPv4, 제 2 프로토콜은 IPv6이 될 수도 있다. 또한, 제 1 프로토콜은 모바일 IP, 상기 제 2 프로토콜은 비모바일 IP이 될 수도 있고, 반대로 제 1 프로토콜은 비모바일 IP, 제 2 프로토콜은 모바일 IP이 될 수도 있다. 이하, 상기된 경우 각각에 대하여 상세히 설명하기로 한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 제 1 네트워크 환경의 구성도이다.
도 2를 참조하면, 본 실시예에 따른 제 1 네트워크 환경은 이종 프로토콜 노드 연결 장치가 탑재된 노드(11), 클라이언트에 해당하는 IPv6 노드(21), 및 서버에 해당하는 IPv4 노드(31)로 구성된다. 노드(11)는 IPv6 노드(21)에 대한 서버 역할 및 IPv4 노드(31)에 대한 클라이언트 역할을 병행한다.
도 2를 참조하면, 본 실시예에 따른 이종 프로토콜 노드 연결 장치는 듀얼 소켓 생성부(101), 듀얼 소켓 연결부(102), 제 1 소켓 통신부(103), 및 제 2 소켓 통신부(104)로 구성된다. 도 2에 도시된 바와 같이, 이종 프로토콜 노드 연결 장치는 응용 계층(100)에 탑재된다.
듀얼 소켓 생성부(101)는 어떤 응용 프로그램에 대한 IPv6 통신에 사용될 제 1 소켓(200) 및 이 응용 프로그램에 대한 IPv4 통신에 사용될 제 2 소켓(300)을 생성한다. 보다 상세히 설명하면, 듀얼 소켓 생성부(101)는 서버 및 클라이언트로서 응용 계층(100)에서 IPv6에 관한 정보를 포함하는 소켓 함수 socket()를 호출함으로서 제 1 소켓(200)을 생성한다. socket()은 int socket(int family, int type, int protocol)의 형식으로 정의된다. 제 1 소켓(200)을 생성하기 위한 socket()의 family 필드에는 인터넷 프로토콜 패밀리를 사용한다는 의미로서, PF_INET이 기록되고, type 필드에는 연결형 통신인 TCP(Transmission Control Protocol)를 사용한다는 의미로서, SOCK_STREAM이 기록되고, protocol 필드에는 IPv6을 사용한다는 의미로서, IPv6이 기록된다. 만약, 비연결형 통신인 UDP를 사용한다면, type 필드에는 SOCK_STREAM 대신 SOCK_DGRAM이 기록된다. 또한, 듀얼 소켓 생성부(101)는 응용 계층에서 IPv4에 관한 정보를 포함하는 socket()를 호출함으로서 제 2 소켓(300)을 생성한다. 제 2 소켓(300)을 생성하기 위한 socket()의 protocol 필드에 IPv4를 사용한다는 의미로서, IPv4가 기록되는 것을 제외하면, 나머지는 제 1 소켓(200)을 생성하기 위한 socket()가 동일하다.
또한, 듀얼 소켓 생성부(101)는 서버로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 IPv6 노드(21)가 목적지로 설정한 노드(11)의 주소를 포함하는 연결 함수 bind()를 호출함으로서 제 1 소켓(200)에 노드(11)의 주소를 연결한다. bind()는 int bind(int sockfd, struct sockaddr *myaddr, int addrlen)의 형식으로 정의된다. 제 1 소켓(200)에 주소를 연결하기 위한 bind()의 sockfd 필드에는 제 1 소켓(200)의 소켓 기술자(socket descriptor)가 기록되고, myaddr 필드에는 TCP/UDP(401) 및 IPv6(402)에서 제공된 IPv6 주소 및 포트 번호로 구성된 주소 구조체가 기록되고, addrlen 필드에는 이 주소 구조체의 크기가 기록된다. 제 1 소켓(200)의 소켓 기술자는 노드(11)의 응용 프로그램만이 알고 사용하는 것이므로, 제 1 소켓(200)의 소켓 기술자에 IPv6 노드(21)가 알고 있는 노드(11)의 IPv6 주소 및 포트 번호를 연결하기 위하여 bind()를 호출한다.
듀얼 소켓 연결부(112)는 듀얼 소켓 생성부(101)에서 생성된 제 1 소켓(200)을 IPv6 노드(21)에 연결하고, 듀얼 소켓 생성부(101)에서 생성된 제 2 소켓(300)을 IPv4 노드(31)에 연결한다. 보다 상세히 설명하면, 듀얼 소켓 연결부(112)는 서버로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보를 포함하는 대기 함수 listen()을 호출함으로서 제 1 소켓(200)에 연결된 주소를 목적지로 하는 연결 요청을 수신하기 위하여 대기한다. listen()은 int listen(int sockfd, int backlog)의 형식으로 정의된다. 제 1 소켓(200)에 연결된 주소를 목적지로 하는 연결 요청을 수신하기 위한 listen()의 sockfd 필드에는 제 1 소켓(200)의 소켓 기술자가 기록되고, backlog 필드에는 대기할 수 있는 연결 요청의 최대 개수가 기록된다.
또한, 듀얼 소켓 연결부(112)는 서버로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 연결 요청을 송신한 IPv6 노드(21)의 주소를 포함하는 수락 함수 accept()를 호출함으로서 수신된 연결 요청을 수락한다. 이때, 클라이언트에 해당하는 IPv6 노드(21)에서 수행되는 응용 프로그램에 포함된 프로세스와의 일 대 일 통신에 사용될 새로운 소켓이 생성된다. accept()는 int accept(int sockfd, struct sockaddr *clientaddr, int addrlen)의 형식으로 정의된다. 클라이언트에 해당하는 IPv6 노드(21)로부터의 연결 요청을 수락하기 위한 accept()의 sockfd 필드에는 제 1 소켓(200)의 소켓 기술자가 기록되고, clientaddr 필드에는 IPv6 노드(21)의 IPv6 주소 및 포트 번호로 구성된 주소 구조체가 기록되고, addrlen 필드에는 이 주소 구조체의 크기가 기록된다.
또한, 듀얼 소켓 연결부(112)는 클라이언트로서 응용 계층(100)에서 제 2 소켓(300)에 관한 정보 및 연결 요청을 수신하기 위하여 대기하는 IPv4 노드(31)의 주소를 포함하는 연결 함수 connect()를 호출함으로서 IPv4 노드(31)로 연결 요청을 한다. connect()는 int connect(int sockfd, struct sockaddr *serveraddr, int addrlen)의 형식으로 정의된다. 서버에 해당하는 IPv4 노드(31)로 연결 요청을 하기 위한 connect()의 sockfd 필드에는 제 2 소켓(300)의 소켓 기술자가 기록되고, serveraddr 필드에는 IPv4 노드(31)의 IPv4 주소 및 포트 번호로 구성된 주소 구조체가 기록되고, addrlen 필드에는 이 주소 구조체의 크기가 기록된다.
제 1 소켓 통신부(103)는 노드(11)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 1 소켓(200)을 통하여 IPv4 노드(21)를 발신지로 하는 데이터를 수신하고, 노드(11)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 1 소켓(200)을 통하여 IPv6 노드(21)를 발신지로 하는 데이터를 수신한다. 제 2 소켓 통신부(104)는 노드(11)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 2 소켓(300)을 통하여 IPv6 노드(21)를 발신지로 하는 데이터를 전송하고, 노드(11)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 2 소켓(300)을 통하여 IPv6 노드(21)를 발신지로 하는 데이터를 전송한다. 왜냐하면, TCP와 같은 연결형 통신에서는 listen() 및 accept()를 호출해야 하지만, UDP와 같은 비연결형 통신에서는 listen() 및 accept()를 호출할 필요 없이 바로 데이터 송수신이 가능하다.
보다 상세히 설명하면, 제 1 소켓 통신부(103)는 서버로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 IPv6 노드(21)를 발신지로 하는 데이터에 관한 정보를 포함하는 수신 함수 recv() 또는 recvfrom()를 호출함으로서 제 1 소켓(200)을 통하여 IPv6 노드(21)를 발신지로 하는 데이터를 수신한다. 제 2 소켓 통신부(104)는 클라이언트로서 응용 계층(100)에서 제 2 소켓(300)에 관한 정보 및 IPv6 노드(21)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send() 또는 sendto()를 호출함으로서 제 2 소켓(300)을 통하여 IPv6 노드(21)를 발신지로 하는 데이터를 전송한다. TCP와 같은 연결형 통신에서는 recv() 및 send()를 호출하고, UDP와 같은 비연결형 통신에서는 recvfrom() 및 sendto()를 호출한다.
recv()는 int recv(int sockfd, char buf, int buflen, int flags)의 형식으로 정의된다. 제 1 소켓(200)을 통하여 IPv6 노드(21)를 발신지로 하는 데이터를 수신하기 위한 recv()의 sockfd 필드에는 제 1 소켓(200)의 소켓 기술자가 기록되고, buf 필드에는 수신된 데이터를 저장할 버퍼의 포인터가 기록되고, buflen 필드에는 버퍼의 크기가 기록되고, flags 필드에는 out of band 등을 나타내는 값이 기록된다. 반면, recvfrom()는 int recvfrom(int sockfd, char buf, int buflen, int flags, struct sockaddr *fromaddr, int addrlen)의 형식으로 정의된다. 즉, 제 1 소켓(200)을 통하여 데이터를 수신하기 위한 recvfrom()의 sockfd 필드, buf 필드, buflen 필드, flags 필드에는 recv()와 동일한 값이 기록되고, fromaddr 필드에는 IPv6 노드(21)의 IPv6 주소 및 포트 번호로 구성된 발신지 주소 구조체가 기록되고, addrlen 필드에는 이 주소 구조체의 크기가 기록된다.
send()는 int send(int sockfd, char buf, int buflen, int flags)의 형식으로 정의된다. 제 2 소켓(300)을 통하여 IPv6 노드(21)를 발신지로 하는 데이터를 전송하기 위한 send()의 sockfd 필드에는 제 2 소켓(300)의 소켓 기술자가 기록되고, buf 필드에는 전송할 데이터가 저장된 버퍼의 포인터가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, buflen 필드에는 버퍼의 크기가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, flags 필드에는 out of band 등을 나타내는 값이 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록된다. 바로 이 과정이 응용 계층(100)에서의 IPv6으로부터 IPv4로의 변환 과정에 해당한다. 반면, sendto()는 int sendto(int sockfd, char buf, int buflen, int flags, struct sockaddr *toaddr, int addrlen)의 형식으로 정의된다. 즉, 제 2 소켓(300)을 통하여 IPv6 노드(21)를 발신지로 하는 데이터를 전송하기 위한 sendto()의 sockfd 필드, buf 필드, buflen 필드, flags 필드에는 send()와 동일한 값이 기록되고, toaddr 필드에는 IPv4 노드(31)의 IPv4 주소 및 포트 번호로 구성된 목적지 주소 구조체가 기록되고, addrlen 필드에는 이 주소 구조체의 크기가 기록된다.
또한, 제 2 소켓 통신부(104)는 노드(11)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 2 소켓(300)을 통하여 IPv4 노드(31)를 발신지로 하는 데이터를 수신하고, 노드(11)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 2 소켓(300)을 통하여 IPv4 노드(31)를 발신지로 하는 데이터를 수신한다. 제 1 소켓 통신부(103)는 노드(11)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 1 소켓(200)을 통하여 IPv4 노드(31)를 발신지로 하는 데이터를 전송하고, 노드(11)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 1 소켓(200)을 통하여 IPv4 노드(31)를 발신지로 하는 데이터를 전송한다.
보다 상세히 설명하면, 제 2 소켓 통신부(104)는 서버로서 응용 계층(100)에서 제 2 소켓(300)에 관한 정보 및 IPv4 노드(31)를 발신지로 하는 데이터에 관한 정보를 포함하는 수신 함수 recv() 또는 recvfrom()를 호출함으로서 제 2 소켓(300)을 통하여 IPv4 노드(31)를 발신지로 하는 데이터를 수신한다. 제 1 소켓 통신부(103)는 클라이언트로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 IPv4 노드(31)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send() 또는 sendto()를 호출함으로서 제 1 소켓(200)을 통하여 IPv4 노드(31)를 발신지로 하는 데이터를 전송한다.
제 2 소켓(300)을 통하여 IPv4 노드(31)를 발신지로 하는 데이터를 수신하기 위한 recv()의 sockfd 필드에는 제 2 소켓(300)의 소켓 기술자가 기록되고, buf 필드에는 수신된 데이터를 저장할 버퍼의 포인터가 기록되고, buflen 필드에는 버퍼의 크기가 기록되고, flags 필드에는 out of band 등을 나타내는 값이 기록된다. 반면, 제 2 소켓(300)을 통하여 IPv4 노드(31)를 발신지로 하는 데이터를 수신하기 위한 recvfrom()의 sockfd 필드, buf 필드, buflen 필드, flags 필드에는 recv()와 동일한 값이 기록되고, fromaddr 필드에는 IPv4 노드(31)의 IPv4 주소 및 포트 번호로 구성된 발신지 주소 구조체가 기록되고, addrlen 필드에는 이 주소 구조체의 크기가 기록된다.
제 1 소켓(200)을 통하여 IPv4 노드(31)를 발신지로 하는 데이터를 전송하기 위한 send()의 sockfd 필드에는 제 1 소켓(200)의 소켓 기술자가 기록되고, buf 필드에는 전송할 데이터가 저장된 버퍼의 포인터가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, buflen 필드에는 버퍼의 크기가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, flags 필드에는 out of band 등을 나타내는 값이 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록된다. 바로 이 과정이 응용 계층(100)에서의 IPv4로부터 IPv6으로의 변환 과정에 해당한다. 반면, 제 1 소켓(200)을 통하여 IPv4 노드(31)를 발신지로 하는 데이터를 전송하기 위한 sendto()의 sockfd 필드, buf 필드, buflen 필드, flags 필드에는 send()와 동일한 값이 기록되고, toaddr 필드에는 IPv6 노드(21)의 IPv6 주소 및 포트 번호로 구성된 목적지 주소 구조체가 기록되고, addrlen 필드에는 이 주소 구조체의 크기가 기록된다.
도 3은 본 발명의 바람직한 일 실시예에 따른 제 2 네트워크 환경의 구성도이다.
도 3을 참조하면, 본 실시예에 따른 제 2 네트워크 환경은 이종 프로토콜 노드 연결 장치가 탑재된 노드(12), 클라이언트에 해당하는 IPv4 노드(22), 및 서버에 해당하는 IPv6 노드(32)로 구성된다. 노드(12)는 IPv4 노드(22)에 대한 서버 역할 및 IPv6 노드(32)에 대한 클라이언트 역할을 병행한다. 이하, 제 1 네트워크 환경과 다른 점을 중심으로 설명하기로 하며, 제 1 네트워크 환경과 동일한 점에 대해서는 설명을 생략하기로 한다.
듀얼 소켓 생성부(101)는 어떤 응용 프로그램에 대한 IPv4 통신에 사용될 제 1 소켓(200) 및 이 응용 프로그램에 대한 IPv6 통신에 사용될 제 2 소켓(300)을 생성한다. 듀얼 소켓 생성부(101)는 서버 및 클라이언트로서 응용 계층(100)에서 IPv4에 관한 정보를 포함하는 소켓 함수 socket()를 호출함으로서 제 1 소켓(200)을 생성한다. 제 1 소켓(200)을 생성하기 위한 socket()의 protocol 필드에는 IPv4를 사용한다는 의미로서, IPv4가 기록된다. 듀얼 소켓 생성부(101)는 응용 계층에서 IPv6에 관한 정보를 포함하는 socket()를 호출함으로서 제 2 소켓(300)을 생성한다. 제 2 소켓(300)을 생성하기 위한 socket()의 protocol 필드에 IPv6을 사용한다는 의미로서, IPv6이 기록된다. 또한, 듀얼 소켓 생성부(101)는 서버로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 IPv4 노드(22)가 목적지로 설정한 노드(12)의 주소를 포함하는 연결 함수 bind()를 호출함으로서 제 1 소켓(200)에 노드(12)의 주소를 연결한다. 제 1 소켓(200)에 주소를 연결하기 위한 bind()의 myaddr 필드에는 TCP/UDP(403) 및 IPv4(404)에서 제공된 IPv4 주소 및 포트 번호로 구성된 주소 구조체가 기록된다.
듀얼 소켓 연결부(112)는 서버로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 연결 요청을 송신한 IPv4 노드(22)의 주소를 포함하는 수락 함수 accept()를 호출함으로서 수신된 연결 요청을 수락한다. 클라이언트에 해당하는 IPv4 노드(22)로부터의 연결 요청을 수락하기 위한 accept()의 clientaddr 필드에는 IPv4 노드(22)의 IPv4 주소 및 포트 번호로 구성된 주소 구조체가 기록되고, addrlen 필드에는 이 주소 구조체의 크기가 기록된다.
또한, 듀얼 소켓 연결부(112)는 클라이언트로서 응용 계층(100)에서 제 2 소켓(300)에 관한 정보 및 연결 요청을 수신하기 위하여 대기하는 IPv6 노드(32)의 주소를 포함하는 연결 함수 connect()를 호출함으로서 IPv6 노드(32)로 연결 요청을 한다. 서버에 해당하는 IPv6 노드(32)로 연결 요청을 하기 위한 connect()의 serveraddr 필드에는 IPv6 노드(32)의 IPv6 주소 및 포트 번호로 구성된 주소 구조체가 기록된다.
제 1 소켓 통신부(103)는 노드(12)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 1 소켓(200)을 통하여 IPv4 노드(22)를 발신지로 하는 데이터를 수신하고, 노드(12)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 1 소켓(200)을 통하여 IPv4 노드(22)를 발신지로 하는 데이터를 수신한다. 제 2 소켓 통신부(104)는 노드(12)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 2 소켓(300)을 통하여 IPv4 노드(22)를 발신지로 하는 데이터를 전송하고, 노드(12)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 2 소켓(300)을 통하여 IPv4 노드(22)를 발신지로 하는 데이터를 전송한다.
제 1 소켓 통신부(103)는 서버로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 IPv4 노드(22)를 발신지로 하는 데이터에 관한 정보를 포함하는 수신 함수 recv() 또는 recvfrom()를 호출함으로서 제 1 소켓(200)을 통하여 IPv4 노드(22)를 발신지로 하는 데이터를 수신한다. 제 2 소켓 통신부(104)는 클라이언트로서 응용 계층(100)에서 제 2 소켓(300)에 관한 정보 및 IPv4 노드(22)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send() 또는 sendto()를 호출함으로서 제 2 소켓(300)을 통하여 IPv4 노드(22)를 발신지로 하는 데이터를 전송한다.
제 1 소켓(200)을 통하여 데이터를 수신하기 위한 recvfrom()의 fromaddr 필드에는 IPv4 노드(22)의 IPv4 주소 및 포트 번호로 구성된 발신지 주소 구조체가 기록되고, addrlen 필드에는 이 주소 구조체의 크기가 기록된다.
제 2 소켓(300)을 통하여 IPv4 노드(22)를 발신지로 하는 데이터를 전송하기 위한 send()의 sockfd 필드에는 제 2 소켓(300)의 소켓 기술자가 기록되고, buf 필드에는 전송할 데이터가 저장된 버퍼의 포인터가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, buflen 필드에는 버퍼의 크기가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, flags 필드에는 out of band 등을 나타내는 값이 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록된다. 바로 이 과정이 응용 계층(100)에서의 IPv4로부터 IPv6으로의 변환 과정에 해당한다. 반면, 제 2 소켓(300)을 통하여 IPv4 노드(22)를 발신지로 하는 데이터를 전송하기 위한 sendto()의 toaddr 필드에는 IPv6 노드(32)의 IPv6 주소 및 포트 번호로 구성된 목적지 주소 구조체가 기록된다.
또한, 제 2 소켓 통신부(104)는 노드(12)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 2 소켓(300)을 통하여 IPv6 노드(32)를 발신지로 하는 데이터를 수신하고, 노드(12)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 2 소켓(300)을 통하여 IPv6 노드(32)를 발신지로 하는 데이터를 수신한다. 제 1 소켓 통신부(103)는 노드(12)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 1 소켓(200)을 통하여 IPv6 노드(32)를 발신지로 하는 데이터를 전송하고, 노드(12)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 1 소켓(200)을 통하여 IPv6 노드(32)를 발신지로 하는 데이터를 전송한다.
제 2 소켓 통신부(104)는 서버로서 응용 계층(100)에서 제 2 소켓(300)에 관한 정보 및 IPv6 노드(32)를 발신지로 하는 데이터에 관한 정보를 포함하는 수신 함수 recv() 또는 recvfrom()를 호출함으로서 제 2 소켓(300)을 통하여 IPv6 노드(32)를 발신지로 하는 데이터를 수신한다. 제 1 소켓 통신부(103)는 클라이언트로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 IPv6 노드(32)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send() 또는 sendto()를 호출함으로서 제 1 소켓(200)을 통하여 IPv6 노드(32)를 발신지로 하는 데이터를 전송한다.
제 2 소켓(300)을 통하여 IPv6 노드(32)를 발신지로 하는 데이터를 수신하기 위한 recvfrom()의 fromaddr 필드에는 IPv6 노드(32)의 IPv6 주소 및 포트 번호로 구성된 발신지 주소 구조체가 기록된다.
제 1 소켓(200)을 통하여 IPv6 노드(32)를 발신지로 하는 데이터를 전송하기 위한 send()의 sockfd 필드에는 제 1 소켓(200)의 소켓 기술자가 기록되고, buf 필드에는 전송할 데이터가 저장된 버퍼의 포인터가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, buflen 필드에는 버퍼의 크기가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, flags 필드에는 out of band 등을 나타내는 값이 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록된다. 바로 이 과정이 응용 계층(100)에서의 IPv6으로부터 IPv4로의 변환 과정에 해당한다. 반면, 제 1 소켓(200)을 통하여 IPv6 노드(32)를 발신지로 하는 데이터를 전송하기 위한 sendto()의 toaddr 필드에는 IPv4 노드(22)의 IPv4 주소 및 포트 번호로 구성된 목적지 주소 구조체가 기록된다.
도 4는 본 발명의 바람직한 일 실시예에 따른 제 3 네트워크 환경의 구성도이다.
도 4를 참조하면, 본 실시예에 따른 제 3 네트워크 환경은 이종 프로토콜 노드 연결 장치가 탑재된 노드(13), 클라이언트에 해당하는 모바일 노드(23), 및 서버에 해당하는 비모바일 노드(33)로 구성된다. 노드(13)는 모바일 노드(23)에 대한 서버 역할 및 비모바일 노드(33)에 대한 클라이언트 역할을 병행한다. 이하, 제 1 네트워크 환경과 다른 점을 중심으로 설명하기로 하며, 제 1 네트워크 환경과 동일한 점에 대해서는 설명을 생략하기로 한다.
듀얼 소켓 생성부(101)는 어떤 응용 프로그램에 대한 모바일 IP 통신에 사용될 제 1 소켓(200) 및 이 응용 프로그램에 대한 비모바일 IP 통신에 사용될 제 2 소켓(300)을 생성한다. 듀얼 소켓 생성부(101)는 서버 및 클라이언트로서 응용 계층(100)에서 모바일 IP에 관한 정보를 포함하는 소켓 함수 socket()를 호출함으로서 제 1 소켓(200)을 생성한다. 제 1 소켓(200)을 생성하기 위한 socket()의 protocol 필드에는 모바일 IP를 사용한다는 의미로서, 모바일 IP가 기록된다. 듀얼 소켓 생성부(101)는 응용 계층에서 비모바일 IP에 관한 정보를 포함하는 socket()를 호출함으로서 제 2 소켓(300)을 생성한다. 제 2 소켓(300)을 생성하기 위한 socket()의 protocol 필드에 비모바일 IP을 사용한다는 의미로서, 비모바일 IP가 기록된다. 또한, 듀얼 소켓 생성부(101)는 서버로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 모바일 노드(23)가 목적지로 설정한 노드(13)의 주소를 포함하는 연결 함수 bind()를 호출함으로서 제 1 소켓(200)에 노드(13)의 주소를 연결한다. 제 1 소켓(200)에 주소를 연결하기 위한 bind()의 myaddr 필드에는 TCP/UDP(405) 및 모바일 IP (406)에서 제공된 모바일 IP 주소 및 포트 번호로 구성된 주소 구조체가 기록된다.
듀얼 소켓 연결부(112)는 서버로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 연결 요청을 송신한 모바일 노드(23)의 주소를 포함하는 수락 함수 accept()를 호출함으로서 수신된 연결 요청을 수락한다. 클라이언트에 해당하는 모바일 노드(23)로부터의 연결 요청을 수락하기 위한 accept()의 clientaddr 필드에는 모바일 노드(23)의 모바일 IP 주소 및 포트 번호로 구성된 주소 구조체가 기록되고, addrlen 필드에는 이 주소 구조체의 크기가 기록된다.
또한, 듀얼 소켓 연결부(112)는 클라이언트로서 응용 계층(100)에서 제 2 소켓(300)에 관한 정보 및 연결 요청을 수신하기 위하여 대기하는 비모바일 노드(33)의 주소를 포함하는 연결 함수 connect()를 호출함으로서 비모바일 노드(33)로 연결 요청을 한다. 서버에 해당하는 비모바일 노드(33)로 연결 요청을 하기 위한 connect()의 serveraddr 필드에는 비모바일 노드(33)의 비모바일 IP 주소 및 포트 번호로 구성된 주소 구조체가 기록된다.
제 1 소켓 통신부(103)는 노드(13)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 1 소켓(200)을 통하여 모바일 노드(23)를 발신지로 하는 데이터를 수신하고, 노드(13)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 1 소켓(200)을 통하여 모바일 노드(23)를 발신지로 하는 데이터를 수신한다. 제 2 소켓 통신부(104)는 노드(13)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 2 소켓(300)을 통하여 모바일 노드(23)를 발신지로 하는 데이터를 전송하고, 노드(13)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 2 소켓(300)을 통하여 모바일 노드(23)를 발신지로 하는 데이터를 전송한다.
제 1 소켓 통신부(103)는 서버로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 모바일 노드(23)를 발신지로 하는 데이터에 관한 정보를 포함하는 수신 함수 recv() 또는 recvfrom()를 호출함으로서 제 1 소켓(200)을 통하여 모바일 노드(23)를 발신지로 하는 데이터를 수신한다. 제 2 소켓 통신부(104)는 클라이언트로서 응용 계층(100)에서 제 2 소켓(300)에 관한 정보 및 모바일 노드(23)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send() 또는 sendto()를 호출함으로서 제 2 소켓(300)을 통하여 모바일 노드(23)를 발신지로 하는 데이터를 전송한다.
제 1 소켓(200)을 통하여 데이터를 수신하기 위한 recvfrom()의 fromaddr 필드에는 모바일 노드(23)의 모바일 IP 주소 및 포트 번호로 구성된 발신지 주소 구조체가 기록되고, addrlen 필드에는 이 주소 구조체의 크기가 기록된다.
제 2 소켓(300)을 통하여 모바일 노드(23)를 발신지로 하는 데이터를 전송하기 위한 send()의 sockfd 필드에는 제 2 소켓(300)의 소켓 기술자가 기록되고, buf 필드에는 전송할 데이터가 저장된 버퍼의 포인터가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, buflen 필드에는 버퍼의 크기가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, flags 필드에는 out of band 등을 나타내는 값이 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록된다. 바로 이 과정이 응용 계층(100)에서의 모바일 IP로부터 비모바일 IP로의 변환 과정에 해당한다. 반면, 제 2 소켓(300)을 통하여 모바일 노드(23)를 발신지로 하는 데이터를 전송하기 위한 sendto()의 toaddr 필드에는 비모바일 노드(33)의 비모바일 IP 주소 및 포트 번호로 구성된 목적지 주소 구조체가 기록된다.
또한, 제 2 소켓 통신부(104)는 노드(13)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 2 소켓(300)을 통하여 비모바일 노드(33)를 발신지로 하는 데이터를 수신하고, 노드(13)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 2 소켓(300)을 통하여 비모바일 노드(33)를 발신지로 하는 데이터를 수신한다. 제 1 소켓 통신부(103)는 노드(13)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 1 소켓(200)을 통하여 비모바일 노드(33)를 발신지로 하는 데이터를 전송하고, 노드(13)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 1 소켓(200)을 통하여 비모바일 노드(33)를 발신지로 하는 데이터를 전송한다.
제 2 소켓 통신부(104)는 서버로서 응용 계층(100)에서 제 2 소켓(300)에 관한 정보 및 비모바일 노드(33)를 발신지로 하는 데이터에 관한 정보를 포함하는 수신 함수 recv() 또는 recvfrom()를 호출함으로서 제 2 소켓(300)을 통하여 비모바일 노드(33)를 발신지로 하는 데이터를 수신한다. 제 1 소켓 통신부(103)는 클라이언트로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 비모바일 노드(33)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send() 또는 sendto()를 호출함으로서 제 1 소켓(200)을 통하여 비모바일 노드(33)를 발신지로 하는 데이터를 전송한다.
제 2 소켓(300)을 통하여 비모바일 노드(33)를 발신지로 하는 데이터를 수신하기 위한 recvfrom()의 fromaddr 필드에는 비모바일 노드(33)의 비모바일 IP 주소 및 포트 번호로 구성된 발신지 주소 구조체가 기록된다.
제 1 소켓(200)을 통하여 비모바일 노드(33)를 발신지로 하는 데이터를 전송하기 위한 send()의 sockfd 필드에는 제 1 소켓(200)의 소켓 기술자가 기록되고, buf 필드에는 전송할 데이터가 저장된 버퍼의 포인터가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, buflen 필드에는 버퍼의 크기가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, flags 필드에는 out of band 등을 나타내는 값이 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록된다. 바로 이 과정이 응용 계층(100)에서의 비모바일 IP로부터 모바일 IP로의 변환 과정에 해당한다. 반면, 제 1 소켓(200)을 통하여 비모바일 노드(33)를 발신지로 하는 데이터를 전송하기 위한 sendto()의 toaddr 필드에는 모바일 노드(23)의 모바일 IP 주소 및 포트 번호로 구성된 목적지 주소 구조체가 기록된다.
도 5는 본 발명의 바람직한 일 실시예에 따른 제 4 네트워크 환경의 구성도이다.
도 5를 참조하면, 본 실시예에 따른 제 4 네트워크 환경은 이종 프로토콜 노드 연결 장치가 탑재된 노드(14), 클라이언트에 해당하는 비모바일 노드(24), 및 서버에 해당하는 모바일 노드(34)로 구성된다. 노드(14)는 비모바일 노드(24)에 대한 서버 역할 및 모바일 노드(34)에 대한 클라이언트 역할을 병행한다. 이하, 제 1 네트워크 환경과 다른 점을 중심으로 설명하기로 하며, 제 1 네트워크 환경과 동일한 점에 대해서는 설명을 생략하기로 한다.
듀얼 소켓 생성부(101)는 어떤 응용 프로그램에 대한 비모바일 IP 통신에 사용될 제 1 소켓(200) 및 이 응용 프로그램에 대한 모바일 IP 통신에 사용될 제 2 소켓(300)을 생성한다. 듀얼 소켓 생성부(101)는 서버 및 클라이언트로서 응용 계층(100)에서 비모바일 IP에 관한 정보를 포함하는 소켓 함수 socket()를 호출함으로서 제 1 소켓(200)을 생성한다. 제 1 소켓(200)을 생성하기 위한 socket()의 protocol 필드에는 비모바일 IP를 사용한다는 의미로서, 비모바일 IP가 기록된다. 듀얼 소켓 생성부(101)는 응용 계층에서 모바일 IP에 관한 정보를 포함하는 socket()를 호출함으로서 제 2 소켓(300)을 생성한다. 제 2 소켓(300)을 생성하기 위한 socket()의 protocol 필드에 모바일 IP을 사용한다는 의미로서, 모바일 IP가 기록된다. 또한, 듀얼 소켓 생성부(101)는 서버로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 비모바일 노드(24)가 목적지로 설정한 노드(14)의 주소를 포함하는 연결 함수 bind()를 호출함으로서 제 1 소켓(200)에 노드(14)의 주소를 연결한다. 제 1 소켓(200)에 주소를 연결하기 위한 bind()의 myaddr 필드에는 TCP/UDP(407) 및 비모바일 IP (408)에서 제공된 비모바일 IP 주소 및 포트 번호로 구성된 주소 구조체가 기록된다.
듀얼 소켓 연결부(112)는 서버로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 연결 요청을 송신한 비모바일 노드(24)의 주소를 포함하는 수락 함수 accept()를 호출함으로서 수신된 연결 요청을 수락한다. 클라이언트에 해당하는 비모바일 노드(24)로부터의 연결 요청을 수락하기 위한 accept()의 clientaddr 필드에는 비모바일 노드(24)의 비모바일 IP 주소 및 포트 번호로 구성된 주소 구조체가 기록되고, addrlen 필드에는 이 주소 구조체의 크기가 기록된다.
또한, 듀얼 소켓 연결부(112)는 클라이언트로서 응용 계층(100)에서 제 2 소켓(300)에 관한 정보 및 연결 요청을 수신하기 위하여 대기하는 모바일 노드(34)의 주소를 포함하는 연결 함수 connect()를 호출함으로서 모바일 노드(34)로 연결 요청을 한다. 서버에 해당하는 모바일 노드(34)로 연결 요청을 하기 위한 connect()의 serveraddr 필드에는 모바일 노드(34)의 모바일 IP 주소 및 포트 번호로 구성된 주소 구조체가 기록된다.
제 1 소켓 통신부(103)는 노드(14)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 1 소켓(200)을 통하여 비모바일 노드(24)를 발신지로 하는 데이터를 수신하고, 노드(14)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 1 소켓(200)을 통하여 비모바일 노드(24)를 발신지로 하는 데이터를 수신한다. 제 2 소켓 통신부(104)는 노드(14)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 2 소켓(300)을 통하여 비모바일 노드(24)를 발신지로 하는 데이터를 전송하고, 노드(14)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 2 소켓(300)을 통하여 비모바일 노드(24)를 발신지로 하는 데이터를 전송한다.
제 1 소켓 통신부(103)는 서버로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 비모바일 노드(24)를 발신지로 하는 데이터에 관한 정보를 포함하는 수신 함수 recv() 또는 recvfrom()를 호출함으로서 제 1 소켓(200)을 통하여 비모바일 노드(24)를 발신지로 하는 데이터를 수신한다. 제 2 소켓 통신부(104)는 클라이언트로서 응용 계층(100)에서 제 2 소켓(300)에 관한 정보 및 비모바일 노드(24)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send() 또는 sendto()를 호출함으로서 제 2 소켓(300)을 통하여 비모바일 노드(24)를 발신지로 하는 데이터를 전송한다.
제 1 소켓(200)을 통하여 데이터를 수신하기 위한 recvfrom()의 fromaddr 필드에는 비모바일 노드(34)의 비모바일 IP 주소 및 포트 번호로 구성된 발신지 주소 구조체가 기록되고, addrlen 필드에는 이 주소 구조체의 크기가 기록된다.
제 2 소켓(300)을 통하여 비모바일 노드(34)를 발신지로 하는 데이터를 전송하기 위한 send()의 sockfd 필드에는 제 2 소켓(300)의 소켓 기술자가 기록되고, buf 필드에는 전송할 데이터가 저장된 버퍼의 포인터가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, buflen 필드에는 버퍼의 크기가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, flags 필드에는 out of band 등을 나타내는 값이 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록된다. 바로 이 과정이 응용 계층(100)에서의 비모바일 IP로부터 모바일 IP로의 변환 과정에 해당한다. 반면, 제 2 소켓(300)을 통하여 비모바일 노드(24)를 발신지로 하는 데이터를 전송하기 위한 sendto()의 toaddr 필드에는 모바일 노드(34)의 모바일 IP 주소 및 포트 번호로 구성된 목적지 주소 구조체가 기록된다.
또한, 제 2 소켓 통신부(104)는 노드(14)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 2 소켓(300)을 통하여 모바일 노드(34)를 발신지로 하는 데이터를 수신하고, 노드(14)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 2 소켓(300)을 통하여 모바일 노드(34)를 발신지로 하는 데이터를 수신한다. 제 1 소켓 통신부(103)는 노드(14)가 UDP를 사용하는 경우에는 듀얼 소켓 생성부(101)에서 생성된 제 1 소켓(200)을 통하여 모바일 노드(34)를 발신지로 하는 데이터를 전송하고, 노드(14)가 TCP를 사용하는 경우에는 듀얼 소켓 연결부(102)에서 연결된 제 1 소켓(200)을 통하여 모바일 노드(34)를 발신지로 하는 데이터를 전송한다.
제 2 소켓 통신부(104)는 서버로서 응용 계층(100)에서 제 2 소켓(300)에 관한 정보 및 모바일 노드(34)를 발신지로 하는 데이터에 관한 정보를 포함하는 수신 함수 recv() 또는 recvfrom()를 호출함으로서 제 2 소켓(300)을 통하여 모바일 노드(34)를 발신지로 하는 데이터를 수신한다. 제 1 소켓 통신부(103)는 클라이언트로서 응용 계층(100)에서 제 1 소켓(200)에 관한 정보 및 모바일 노드(34)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send() 또는 sendto()를 호출함으로서 제 1 소켓(200)을 통하여 모바일 노드(34)를 발신지로 하는 데이터를 전송한다.
제 2 소켓(300)을 통하여 모바일 노드(34)를 발신지로 하는 데이터를 수신하기 위한 recvfrom()의 fromaddr 필드에는 모바일 노드(34)의 모바일 IP 주소 및 포트 번호로 구성된 발신지 주소 구조체가 기록된다.
제 1 소켓(200)을 통하여 모바일 노드(34)를 발신지로 하는 데이터를 전송하기 위한 send()의 sockfd 필드에는 제 1 소켓(200)의 소켓 기술자가 기록되고, buf 필드에는 전송할 데이터가 저장된 버퍼의 포인터가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, buflen 필드에는 버퍼의 크기가 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록되고, flags 필드에는 out of band 등을 나타내는 값이 기록되는데, 본 실시예에 따르면 recv()와 동일한 값이 기록된다. 바로 이 과정이 응용 계층(100)에서의 모바일 IP로부터 비모바일 IP로의 변환 과정에 해당한다. 반면, 제 1 소켓(200)을 통하여 모바일 노드(34)를 발신지로 하는 데이터를 전송하기 위한 sendto()의 toaddr 필드에는 비모바일 노드(24)의 비모바일 IP 주소 및 포트 번호로 구성된 목적지 주소 구조체가 기록된다.
도 6은 본 발명의 바람직한 일 실시예에 따른 제 1 이종 프로토콜 노드 연결 방법의 흐름도이다.
도 6을 참조하면, 본 실시예에 따른 제 1 이종 프로토콜 노드 연결 방법은 다음과 같은 단계들로 구성된다. 제 1 이종 프로토콜 노드 연결 방법은 도 2에 도시된 제 1 네트워크 환경에서 수행된다.
먼저, 노드(11)는 서버 및 클라이언트로서 응용 계층에서 IPv6에 관한 정보를 포함하는 socket(IPv6)를 호출함으로서 제 1 소켓을 생성하고, IPv4에 관한 정보를 포함하는 socket(IPv4)를 호출함으로서 제 2 소켓을 생성한다(601, 602). 이와 동시에, IPv6 노드(21)는 IPv6에 관한 정보를 포함하는 socket(IPv6)를 호출함으로서 제 3 소켓을 생성하고, IPv4 노드(31)는 IPv4에 관한 정보를 포함하는 socket(IPv4)를 호출함으로서 제 4 소켓을 생성한다(603, 604).
이어서, 노드(11)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 IPv6 노드(21)가 목적지로 설정한 노드(11)의 주소를 포함하는 bind(IPv6)를 호출함으로서 제 1 소켓에 노드(11)의 주소를 연결한다(605). 이어서, 노드(11)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보를 포함하는 listen(IPv6)을 호출함으로서 제 1 소켓에 연결된 주소를 목적지로 하는 연결 요청을 수신하기 위하여 대기한다(606). 이와 동시에, IPv4 노드(31)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 노드(11)가 목적지로 설정한 IPv4 노드(31)의 주소를 포함하는 bind(IPv4)를 호출함으로서 제 4 소켓에 IPv4 노드(31)의 주소를 연결한다(607). 이어서, IPv4 노드(31)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보를 포함하는 listen(IPv4)을 호출함으로서 제 4 소켓에 연결된 주소를 목적지로 하는 연결 요청을 수신하기 위하여 대기한다(608).
이어서, IPv6 노드(21)는 클라이언트로서 응용 계층에서 제 3 소켓에 관한 정보 및 연결 요청을 수신하기 위하여 대기하는 노드(11)의 주소를 포함하는 connect(IPv6)를 호출함으로서 노드(11)로 연결 요청을 한다(609). 이어서, 노드(11)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 연결 요청을 송신한 IPv6 노드(21)의 주소를 포함하는 수락 함수 accept(IPv6)를 호출함으로서 수신된 연결 요청을 수락한다(610). 이와 동시에, 노드(11)는 클라이언트로서 응용 계층에서 제 2 소켓에 관한 정보 및 연결 요청을 수신하기 위하여 대기하는 IPv4 노드(31)의 주소를 포함하는 connect(IPv4)를 호출함으로서 IPv4 노드(31)로 연결 요청을 한다(611). 이어서, IPv4 노드(31)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 연결 요청을 송신한 노드(11)의 주소를 포함하는 수락 함수 accept(IPv4)를 호출함으로서 수신된 연결 요청을 수락한다(612). 다만, UDP와 같은 비연결형 통신에서는 listen(), connect(), 및 accept()를 호출하는 단계가 생략된다.
이어서, IPv6 노드(21)는 클라이언트로서 응용 계층에서 제 3 소켓에 관한 정보 및 IPv6 노드(21)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send(IPv6)를 호출함으로서 제 3 소켓을 통하여 IPv6 노드(21)를 발신지로 하는 데이터를 전송한다(613). 이어서, 노드(11)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 IPv6 노드(21)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(IPv6)를 호출함으로서 제 1 소켓을 통하여 IPv6 노드(21)를 발신지로 하는 데이터를 수신한다(614). 이어서, 노드(11)는 클라이언트로서 응용 계층에서 제 2 소켓에 관한 정보 및 IPv6 노드(21)를 발신지로 하는 데이터에 관한 정보를 포함하는 send(IPv4)를 호출함으로서 제 2 소켓을 통하여 IPv6 노드(21)를 발신지로 하는 데이터를 전송한다(615). 바로 이 과정이 응용 계층에서의 IPv6으로부터 IPv4로의 변환 과정에 해당한다. 이어서, IPv4 노드(31)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 IPv6 노드(21)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(IPv4)를 호출함으로서 제 4 소켓을 통하여 IPv6 노드(21)를 발신지로 하는 데이터를 수신한다(616). IPv4 노드(31)는 IPv6 노드(21)를 발신지로 하는 데이터를 처리한다.
이어서, IPv4 노드(31)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 IPv4 노드(31)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send(IPv4)를 호출함으로서 제 4 소켓을 통하여 IPv4 노드(31)를 발신지로 하는 데이터를 전송한다(617). 이어서, 노드(11)는 클라이언트로서 응용 계층에서 제 2 소켓에 관한 정보 및 IPv4 노드(31)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(IPv4)를 호출함으로서 제 2 소켓을 통하여 IPv4 노드(31)를 발신지로 하는 데이터를 수신한다(618). 이어서, 노드(11)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 IPv4 노드(31)를 발신지로 하는 데이터에 관한 정보를 포함하는 send(IPv6)를 호출함으로서 제 1 소켓을 통하여 IPv4 노드(31)를 발신지로 하는 데이터를 전송한다(619). 바로 이 과정이 응용 계층에서의 IPv4로부터 IPv6으로의 변환 과정에 해당한다. 이어서, IPv6 노드(21)는 클라이언트로서 응용 계층에서 제 4 소켓에 관한 정보 및 IPv4 노드(31)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(IPv6)를 호출함으로서 제 3 소켓을 통하여 IPv4 노드(31)를 발신지로 하는 데이터를 수신한다(620). IPv6 노드(21)는 IPv4 노드(31)를 발신지로 하는 데이터를 처리한다. 다만, UDP와 같은 비연결형 통신에서는 send() 대신 sendto()를 호출하고, recv() 대신 recvfrom()를 호출한다.
도 7은 본 발명의 바람직한 일 실시예에 따른 제 2 이종 프로토콜 노드 연결 방법의 흐름도이다.
도 7을 참조하면, 본 실시예에 따른 제 2 이종 프로토콜 노드 연결 방법은 다음과 같은 단계들로 구성된다. 제 2 이종 프로토콜 노드 연결 방법은 도 3에 도시된 제 2 네트워크 환경에서 수행된다.
먼저, 노드(12)는 서버 및 클라이언트로서 응용 계층에서 IPv9에 관한 정보를 포함하는 socket(IPv4)를 호출함으로서 제 1 소켓을 생성하고, IPv6에 관한 정보를 포함하는 socket(IPv6)를 호출함으로서 제 2 소켓을 생성한다(701, 702). 이와 동시에, IPv4 노드(22)는 IPv4에 관한 정보를 포함하는 socket(IPv4)를 호출함으로서 제 3 소켓을 생성하고, IPv6 노드(32)는 IPv6에 관한 정보를 포함하는 socket(IPv6)를 호출함으로서 제 4 소켓을 생성한다(703, 704).
이어서, 노드(12)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 IPv4 노드(22)가 목적지로 설정한 노드(12)의 주소를 포함하는 bind(IPv4)를 호출함으로서 제 1 소켓에 노드(12)의 주소를 연결한다(705). 이어서, 노드(12)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보를 포함하는 listen(IPv4)을 호출함으로서 제 1 소켓에 연결된 주소를 목적지로 하는 연결 요청을 수신하기 위하여 대기한다(706). 이와 동시에, IPv6 노드(32)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 노드(12)가 목적지로 설정한 IPv6 노드(32)의 주소를 포함하는 bind(IPv6)를 호출함으로서 제 4 소켓에 IPv6 노드(32)의 주소를 연결한다(707). 이어서, IPv6 노드(32)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보를 포함하는 listen(IPv6)을 호출함으로서 제 4 소켓에 연결된 주소를 목적지로 하는 연결 요청을 수신하기 위하여 대기한다(708).
이어서, IPv4 노드(22)는 클라이언트로서 응용 계층에서 제 3 소켓에 관한 정보 및 연결 요청을 수신하기 위하여 대기하는 노드(12)의 주소를 포함하는 connect(IPv4)를 호출함으로서 노드(12)로 연결 요청을 한다(709). 이어서, 노드(12)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 연결 요청을 송신한 IPv4 노드(22)의 주소를 포함하는 수락 함수 accept(IPv4)를 호출함으로서 수신된 연결 요청을 수락한다(710). 이와 동시에, 노드(12)는 클라이언트로서 응용 계층에서 제 2 소켓에 관한 정보 및 연결 요청을 수신하기 위하여 대기하는 IPv6 노드(32)의 주소를 포함하는 connect(IPv6)를 호출함으로서 IPv6 노드(32)로 연결 요청을 한다(711). 이어서, IPv6 노드(32)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 연결 요청을 송신한 노드(12)의 주소를 포함하는 수락 함수 accept(IPv6)를 호출함으로서 수신된 연결 요청을 수락한다(712). 다만, UDP와 같은 비연결형 통신에서는 listen(), connect(), 및 accept()를 호출하는 단계가 생략된다.
이어서, IPv4 노드(22)는 클라이언트로서 응용 계층에서 제 3 소켓에 관한 정보 및 IPv4 노드(22)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send(IPv4)를 호출함으로서 제 3 소켓을 통하여 IPv4 노드(22)를 발신지로 하는 데이터를 전송한다(713). 이어서, 노드(12)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 IPv4 노드(22)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(IPv4)를 호출함으로서 제 1 소켓을 통하여 IPv4 노드(22)를 발신지로 하는 데이터를 수신한다(714). 이어서, 노드(12)는 클라이언트로서 응용 계층에서 제 2 소켓에 관한 정보 및 IPv4 노드(22)를 발신지로 하는 데이터에 관한 정보를 포함하는 send(IPv6)를 호출함으로서 제 2 소켓을 통하여 IPv4 노드(22)를 발신지로 하는 데이터를 전송한다(715). 바로 이 과정이 응용 계층에서의 IPv4으로부터 IPv6로의 변환 과정에 해당한다. 이어서, IPv6 노드(32)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 IPv4 노드(22)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(IPv6)를 호출함으로서 제 4 소켓을 통하여 IPv4 노드(22)를 발신지로 하는 데이터를 수신한다(716). IPv6 노드(32)는 IPv4 노드(22)를 발신지로 하는 데이터를 처리한다.
이어서, IPv6 노드(32)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 IPv6 노드(32)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send(IPv6)를 호출함으로서 제 4 소켓을 통하여 IPv6 노드(32)를 발신지로 하는 데이터를 전송한다(717). 이어서, 노드(12)는 클라이언트로서 응용 계층에서 제 2 소켓에 관한 정보 및 IPv6 노드(32)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(IPv6)를 호출함으로서 제 2 소켓을 통하여 IPv6 노드(32)를 발신지로 하는 데이터를 수신한다(718). 이어서, 노드(12)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 IPv6 노드(32)를 발신지로 하는 데이터에 관한 정보를 포함하는 send(IPv4)를 호출함으로서 제 1 소켓을 통하여 IPv6 노드(32)를 발신지로 하는 데이터를 전송한다(719). 바로 이 과정이 응용 계층에서의 IPv6로부터 IPv4으로의 변환 과정에 해당한다. 이어서, IPv4 노드(22)는 클라이언트로서 응용 계층에서 제 4 소켓에 관한 정보 및 IPv6 노드(32)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(IPv4)를 호출함으로서 제 3 소켓을 통하여 IPv6 노드(32)를 발신지로 하는 데이터를 수신한다(720). IPv4 노드(22)는 IPv6 노드(32)를 발신지로 하는 데이터를 처리한다. 다만, UDP와 같은 비연결형 통신에서는 send() 대신 sendto()를 호출하고, recv() 대신 recvfrom()를 호출한다.
도 8은 본 발명의 바람직한 일 실시예에 따른 제 3 이종 프로토콜 노드 연결 방법의 흐름도이다.
도 8을 참조하면, 본 실시예에 따른 제 3 이종 프로토콜 노드 연결 방법은 다음과 같은 단계들로 구성된다. 제 3 이종 프로토콜 노드 연결 방법은 도 4에 도시된 제 3 네트워크 환경에서 수행된다.
먼저, 노드(13)는 서버 및 클라이언트로서 응용 계층에서 모바일 IP에 관한 정보를 포함하는 socket(모바일 IP)를 호출함으로서 제 1 소켓을 생성하고, 비모바일 IP에 관한 정보를 포함하는 socket(비모바일 IP)를 호출함으로서 제 2 소켓을 생성한다(801, 802). 이와 동시에, 모바일 노드(23)는 모바일 IP에 관한 정보를 포함하는 socket(모바일 IP)를 호출함으로서 제 3 소켓을 생성하고, 비모바일 노드(33)는 비모바일 IP에 관한 정보를 포함하는 socket(비모바일 IP)를 호출함으로서 제 4 소켓을 생성한다(803, 804).
이어서, 노드(13)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 모바일 노드(23)가 목적지로 설정한 노드(13)의 주소를 포함하는 bind(모바일 IP)를 호출함으로서 제 1 소켓에 노드(13)의 주소를 연결한다(805). 이어서, 노드(13)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보를 포함하는 listen(모바일 IP)을 호출함으로서 제 1 소켓에 연결된 주소를 목적지로 하는 연결 요청을 수신하기 위하여 대기한다(806). 이와 동시에, 비모바일 노드(33)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 노드(13)가 목적지로 설정한 비모바일 노드(33)의 주소를 포함하는 bind(비모바일 IP)를 호출함으로서 제 4 소켓에 비모바일 노드(33)의 주소를 연결한다(807). 이어서, 비모바일 노드(33)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보를 포함하는 listen(비모바일 IP)을 호출함으로서 제 4 소켓에 연결된 주소를 목적지로 하는 연결 요청을 수신하기 위하여 대기한다(808).
이어서, 모바일 노드(23)는 클라이언트로서 응용 계층에서 제 3 소켓에 관한 정보 및 연결 요청을 수신하기 위하여 대기하는 노드(13)의 주소를 포함하는 connect(모바일 IP)를 호출함으로서 노드(13)로 연결 요청을 한다(809). 이어서, 노드(13)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 연결 요청을 송신한 모바일 노드(23)의 주소를 포함하는 수락 함수 accept(모바일 IP)를 호출함으로서 수신된 연결 요청을 수락한다(810). 이와 동시에, 노드(13)는 클라이언트로서 응용 계층에서 제 2 소켓에 관한 정보 및 연결 요청을 수신하기 위하여 대기하는 비모바일 노드(33)의 주소를 포함하는 connect(비모바일 IP)를 호출함으로서 비모바일 노드(33)로 연결 요청을 한다(811). 이어서, 비모바일 노드(33)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 연결 요청을 송신한 노드(13)의 주소를 포함하는 수락 함수 accept(비모바일 IP)를 호출함으로서 수신된 연결 요청을 수락한다(812). 다만, UDP와 같은 비연결형 통신에서는 listen(), connect(), 및 accept()를 호출하는 단계가 생략된다.
이어서, 모바일 노드(23)는 클라이언트로서 응용 계층에서 제 3 소켓에 관한 정보 및 모바일 노드(23)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send(모바일 IP)를 호출함으로서 제 3 소켓을 통하여 모바일 노드(23)를 발신지로 하는 데이터를 전송한다(813). 이어서, 노드(13)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 모바일 노드(23)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(모바일 IP)를 호출함으로서 제 1 소켓을 통하여 모바일 노드(23)를 발신지로 하는 데이터를 수신한다(814). 이어서, 노드(13)는 클라이언트로서 응용 계층에서 제 2 소켓에 관한 정보 및 모바일 노드(23)를 발신지로 하는 데이터에 관한 정보를 포함하는 send(비모바일 IP)를 호출함으로서 제 2 소켓을 통하여 모바일 노드(23)를 발신지로 하는 데이터를 전송한다(815). 바로 이 과정이 응용 계층에서의 모바일 IP로부터 비모바일 IP로의 변환 과정에 해당한다. 이어서, 비모바일 노드(33)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 모바일 노드(23)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(비모바일 IP)를 호출함으로서 제 4 소켓을 통하여 모바일 노드(23)를 발신지로 하는 데이터를 수신한다(816). 비모바일 노드(33)는 모바일 노드(23)를 발신지로 하는 데이터를 처리한다.
이어서, 비모바일 노드(33)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 비모바일 노드(33)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send(비모바일 IP)를 호출함으로서 제 4 소켓을 통하여 비모바일 노드(33)를 발신지로 하는 데이터를 전송한다(817). 이어서, 노드(13)는 클라이언트로서 응용 계층에서 제 2 소켓에 관한 정보 및 비모바일 노드(33)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(비모바일 IP)를 호출함으로서 제 2 소켓을 통하여 비모바일 노드(33)를 발신지로 하는 데이터를 수신한다(818). 이어서, 노드(13)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 비모바일 노드(33)를 발신지로 하는 데이터에 관한 정보를 포함하는 send(모바일 IP)를 호출함으로서 제 1 소켓을 통하여 비모바일 노드(33)를 발신지로 하는 데이터를 전송한다(819). 바로 이 과정이 응용 계층에서의 비모바일 IP로부터 모바일 IP로의 변환 과정에 해당한다. 이어서, 모바일 노드(23)는 클라이언트로서 응용 계층에서 제 4 소켓에 관한 정보 및 비모바일 노드(33)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(모바일 IP)를 호출함으로서 제 3 소켓을 통하여 비모바일 노드(33)를 발신지로 하는 데이터를 수신한다(820). 모바일 노드(23)는 비모바일 노드(33)를 발신지로 하는 데이터를 처리한다. 다만, UDP와 같은 비연결형 통신에서는 send() 대신 sendto()를 호출하고, recv() 대신 recvfrom()를 호출한다.
도 9는 본 발명의 바람직한 일 실시예에 따른 제 4 이종 프로토콜 노드 연결 방법의 흐름도이다.
도 9를 참조하면, 본 실시예에 따른 제 4 이종 프로토콜 노드 연결 방법은 다음과 같은 단계들로 구성된다. 제 4 이종 프로토콜 노드 연결 방법은 도 5에 도시된 제 4 네트워크 환경에서 수행된다.
먼저, 노드(14)는 서버 및 클라이언트로서 응용 계층에서 비모바일 IP에 관한 정보를 포함하는 socket(비모바일 IP)를 호출함으로서 제 1 소켓을 생성하고, 모바일 IP에 관한 정보를 포함하는 socket(모바일 IP)를 호출함으로서 제 2 소켓을 생성한다(901, 902). 이와 동시에, 비모바일 노드(24)는 비모바일 IP에 관한 정보를 포함하는 socket(비모바일 IP)를 호출함으로서 제 3 소켓을 생성하고, 모바일 노드(34)는 모바일 IP에 관한 정보를 포함하는 socket(모바일 IP)를 호출함으로서 제 4 소켓을 생성한다(903, 904).
이어서, 노드(14)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 비모바일 노드(24)가 목적지로 설정한 노드(14)의 주소를 포함하는 bind(비모바일 IP)를 호출함으로서 제 1 소켓에 노드(14)의 주소를 연결한다(905). 이어서, 노드(14)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보를 포함하는 listen(비모바일 IP)을 호출함으로서 제 1 소켓에 연결된 주소를 목적지로 하는 연결 요청을 수신하기 위하여 대기한다(906). 이와 동시에, 모바일 노드(34)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 노드(14)가 목적지로 설정한 모바일 노드(34)의 주소를 포함하는 bind(모바일 IP)를 호출함으로서 제 4 소켓에 모바일 노드(34)의 주소를 연결한다(907). 이어서, 모바일 노드(34)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보를 포함하는 listen(모바일 IP)을 호출함으로서 제 4 소켓에 연결된 주소를 목적지로 하는 연결 요청을 수신하기 위하여 대기한다(908).
이어서, 비모바일 노드(24)는 클라이언트로서 응용 계층에서 제 3 소켓에 관한 정보 및 연결 요청을 수신하기 위하여 대기하는 노드(14)의 주소를 포함하는 connect(비모바일 IP)를 호출함으로서 노드(14)로 연결 요청을 한다(909). 이어서, 노드(14)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 연결 요청을 송신한 비모바일 노드(24)의 주소를 포함하는 수락 함수 accept(비모바일 IP)를 호출함으로서 수신된 연결 요청을 수락한다(910). 이와 동시에, 노드(14)는 클라이언트로서 응용 계층에서 제 2 소켓에 관한 정보 및 연결 요청을 수신하기 위하여 대기하는 모바일 노드(34)의 주소를 포함하는 connect(모바일 IP)를 호출함으로서 모바일 노드(34)로 연결 요청을 한다(911). 이어서, 모바일 노드(34)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 연결 요청을 송신한 노드(14)의 주소를 포함하는 수락 함수 accept(모바일 IP)를 호출함으로서 수신된 연결 요청을 수락한다(912). 다만, UDP와 같은 비연결형 통신에서는 listen(), connect(), 및 accept()를 호출하는 단계가 생략된다.
이어서, 비모바일 노드(24)는 클라이언트로서 응용 계층에서 제 3 소켓에 관한 정보 및 비모바일 노드(24)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send(비모바일 IP)를 호출함으로서 제 3 소켓을 통하여 비모바일 노드(24)를 발신지로 하는 데이터를 전송한다(913). 이어서, 노드(14)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 비모바일 노드(24)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(비모바일 IP)를 호출함으로서 제 1 소켓을 통하여 비모바일 노드(24)를 발신지로 하는 데이터를 수신한다(914). 이어서, 노드(14)는 클라이언트로서 응용 계층에서 제 2 소켓에 관한 정보 및 비모바일 노드(24)를 발신지로 하는 데이터에 관한 정보를 포함하는 send(모바일 IP)를 호출함으로서 제 2 소켓을 통하여 비모바일 노드(24)를 발신지로 하는 데이터를 전송한다(915). 바로 이 과정이 응용 계층에서의 비모바일 IP으로부터 모바일 IP로의 변환 과정에 해당한다. 이어서, 모바일 노드(34)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 비모바일 노드(24)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(모바일 IP)를 호출함으로서 제 4 소켓을 통하여 비모바일 노드(24)를 발신지로 하는 데이터를 수신한다(916). 모바일 노드(34)는 비모바일 노드(24)를 발신지로 하는 데이터를 처리한다.
이어서, 모바일 노드(34)는 서버로서 응용 계층에서 제 4 소켓에 관한 정보 및 모바일 노드(34)를 발신지로 하는 데이터에 관한 정보를 포함하는 전송 함수 send(모바일 IP)를 호출함으로서 제 4 소켓을 통하여 모바일 노드(34)를 발신지로 하는 데이터를 전송한다(917). 이어서, 노드(14)는 클라이언트로서 응용 계층에서 제 2 소켓에 관한 정보 및 모바일 노드(34)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(모바일 IP)를 호출함으로서 제 2 소켓을 통하여 모바일 노드(34)를 발신지로 하는 데이터를 수신한다(918). 이어서, 노드(14)는 서버로서 응용 계층에서 제 1 소켓에 관한 정보 및 모바일 노드(34)를 발신지로 하는 데이터에 관한 정보를 포함하는 send(비모바일 IP)를 호출함으로서 제 1 소켓을 통하여 모바일 노드(34)를 발신지로 하는 데이터를 전송한다(919). 바로 이 과정이 응용 계층에서의 모바일 IP로부터 비모바일 IP으로의 변환 과정에 해당한다. 이어서, 비모바일 노드(24)는 클라이언트로서 응용 계층에서 제 4 소켓에 관한 정보 및 모바일 노드(34)를 발신지로 하는 데이터에 관한 정보를 포함하는 recv(비모바일 IP)를 호출함으로서 제 3 소켓을 통하여 모바일 노드(34)를 발신지로 하는 데이터를 수신한다(920). 비모바일 노드(24)는 모바일 노드(34)를 발신지로 하는 데이터를 처리한다. 다만, UDP와 같은 비연결형 통신에서는 send() 대신 sendto()를 호출하고, recv() 대신 recvfrom()를 호출한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 따르면, 이종 프로토콜을 사용하는 노드들을 서로 연결할 수 있다는 효과가 있다. 예를 들어, IPv4 노드와 IPv6 노드를 서로 연결할 수 있고, 비모바일 노드와 모바일 노드를 서로 연결할 수 있다는 효과가 있다. 특히, 사용자 또는 단말 공급자가 다룰 수 있는 응용 계층에서 본 발명을 구현할 수 있기 때문에 사용자 또는 단말 공급자가 본 발명을 용이하게 구현할 수 있다는 효과가 있다.
도 1은 본 발명의 바람직한 일 실시예에 따른 네트워크 환경의 구성도이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 제 1 네트워크 환경의 구성도이다.
도 3은 본 발명의 바람직한 일 실시예에 따른 제 2 네트워크 환경의 구성도이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 제 3 네트워크 환경의 구성도이다.
도 5는 본 발명의 바람직한 일 실시예에 따른 제 4 네트워크 환경의 구성도이다.
도 6은 본 발명의 바람직한 일 실시예에 따른 제 1 이종 프로토콜 노드 연결 방법의 흐름도이다.
도 7은 본 발명의 바람직한 일 실시예에 따른 제 2 이종 프로토콜 노드 연결 방법의 흐름도이다.
도 8은 본 발명의 바람직한 일 실시예에 따른 제 3 이종 프로토콜 노드 연결 방법의 흐름도이다.
도 9는 본 발명의 바람직한 일 실시예에 따른 제 4 이종 프로토콜 노드 연결 방법의 흐름도이다.

Claims (19)

  1. (a) 제 1 프로토콜을 사용하는 제 1 노드를 발신지로 하는 제 1 데이터를 제 1 소켓을 통하여 수신하는 단계; 및
    (b) 상기 (a) 단계에서 수신된 제 1 데이터를 제 2 프로토콜을 사용하는 제 2 노드를 목적지로 하여 제 2 소켓을 통하여 전송하는 단계를 포함하는 것을 특징으로 하는 이종 프로토콜 노드 연결 방법.
  2. 제 1 항에 있어서,
    상기 제 1 프로토콜은 IPv6, 상기 제 2 프로토콜은 IPv4이거나, 또는 상기 제 1 프로토콜은 IPv4, 상기 제 2 프로토콜은 IPv6인 것을 특징으로 하는 이종 프로토콜 노드 연결 방법.
  3. 제 1 항에 있어서,
    상기 제 1 프로토콜은 모바일 IP, 상기 제 2 프로토콜은 비모바일 IP이거나, 상기 제 1 프로토콜은 비모바일 IP, 상기 제 2 프로토콜은 모바일 IP인 것을 특징으로 하는 이종 프로토콜 노드 연결 방법.
  4. 제 1 항에 있어서,
    상기 (a) 단계는 응용 계층에서 상기 제 1 소켓에 관한 정보 및 상기 데이터에 관한 정보를 포함하는 수신 함수를 호출함으로서 상기 제 1 소켓을 통하여 데이터를 수신하고,
    상기 (b) 단계는 응용 계층에서 상기 제 2 소켓에 관한 정보 및 상기 데이터에 관한 정보와 동일한 정보를 포함하는 전송 함수를 호출함으로서 상기 제 2 소켓을 통하여 전송하는 것을 특징으로 하는 이종 프로토콜 노드 연결 방법.
  5. 제 1 항에 있어서,
    상기 제 1 프로토콜을 기반으로 하는 통신에 사용될 제 1 소켓 및 상기 제 2 프로토콜을 기반으로 하는 통신에 사용될 제 2 소켓을 생성하는 단계를 더 포함하고,
    상기 (a) 단계는 상기 생성된 제 1 소켓을 통하여 수신하고,
    상기 (b) 단계는 상기 생성된 제 2 소켓을 통하여 전송하는 것을 특징으로 하는 이종 프로토콜 노드 연결 방법.
  6. 제 1 항에 있어서,
    상기 제 1 프로토콜을 기반으로 하는 통신에 사용될 제 1 소켓 및 상기 제 2 프로토콜을 기반으로 하는 통신에 사용될 제 2 소켓을 생성하는 단계; 및
    상기 생성된 제 1 소켓을 상기 제 1 노드에 연결하고, 상기 생성된 제 2 소켓을 상기 제 2 노드에 연결하는 단계를 더 포함하고,
    상기 (a) 단계는 상기 연결된 제 1 소켓을 통하여 수신하고,
    상기 (b) 단계는 상기 연결된 제 2 소켓을 통하여 전송하는 것을 특징으로 하는 이종 프로토콜 노드 연결 방법.
  7. 제 1 프로토콜을 사용하는 제 1 노드를 발신지로 하는 제 1 데이터를 제 1 소켓을 통하여 수신하는 제 1 소켓 통신부; 및
    상기 제 1 소켓 통신부에 수신된 제 1 데이터를 제 2 프로토콜을 사용하는 제 2 노드를 목적지로 하여 제 2 소켓을 통하여 전송하는 제 2 소켓 통신부를 포함하는 것을 특징으로 하는 이종 프로토콜 노드 연결 장치.
  8. 제 7 항에 있어서,
    상기 제 1 프로토콜은 IPv6, 상기 제 2 프로토콜은 IPv4이거나, 또는 상기 제 1 프로토콜은 IPv4, 상기 제 2 프로토콜은 IPv6인 것을 특징으로 하는 이종 프로토콜 노드 연결 장치.
  9. 제 7 항에 있어서,
    상기 제 1 프로토콜은 모바일 IP, 상기 제 2 프로토콜은 비모바일 IP이거나, 상기 제 1 프로토콜은 비모바일 IP, 상기 제 2 프로토콜은 모바일 IP인 것을 특징으로 하는 이종 프로토콜 노드 연결 장치.
  10. 제 7 항에 있어서,
    상기 제 1 소켓 통신부는 응용 계층에서 상기 제 1 소켓에 관한 정보 및 상기 데이터에 관한 정보를 포함하는 수신 함수를 호출함으로서 상기 제 1 소켓을 통하여 데이터를 수신하고,
    상기 제 2 소켓 통신부는 응용 계층에서 상기 제 2 소켓에 관한 정보 및 상기 데이터에 관한 정보와 동일한 정보를 포함하는 전송 함수를 호출함으로서 상기 제 2 소켓을 통하여 전송하는 것을 특징으로 하는 이종 프로토콜 노드 연결 장치.
  11. 제 7 항에 있어서,
    상기 제 1 프로토콜을 기반으로 하는 통신에 사용될 제 1 소켓 및 상기 제 2 프로토콜을 기반으로 하는 통신에 사용될 제 2 소켓을 생성하는 듀얼 소켓 생성부를 포함하고,
    상기 제 1 소켓 통신부는 상기 듀얼 소켓 생성부에서 생성된 제 1 소켓을 통하여 수신하고,
    상기 제 2 소켓 통신부는 상기 듀얼 소켓 생성부에서 생성된 제 2 소켓을 통하여 전송하는 것을 특징으로 하는 이종 프로토콜 노드 연결 장치.
  12. 제 7 항에 있어서,
    상기 제 1 프로토콜을 기반으로 하는 통신에 사용될 제 1 소켓 및 상기 제 2 프로토콜을 기반으로 하는 통신에 사용될 제 2 소켓을 생성하는 듀얼 소켓 생성부; 및
    상기 듀얼 소켓 생성부에서 생성된 제 1 소켓을 상기 제 1 노드에 연결하고, 상기 듀얼 소켓 생성부에서 생성된 제 2 소켓을 상기 제 2 노드에 연결하는 듀얼 소켓 연결부를 포함하고,
    상기 제 1 소켓 통신부는 상기 듀얼 소켓 연결부에서 연결된 제 1 소켓을 통하여 수신하고,
    상기 제 2 소켓 통신부는 상기 듀얼 소켓 연결부에서 연결된 제 2 소켓을 통하여 전송하는 것을 특징으로 하는 이종 프로토콜 노드 연결 장치.
  13. (a) 제 1 프로토콜을 기반으로 하는 통신에 사용될 제 1 소켓 및 제 2 프로토콜을 기반으로 하는 통신에 사용될 제 2 소켓을 생성하는 단계; 및
    (b) 상기 (a) 단계에서 생성된 제 1 소켓을 통하여 상기 제 1 프로토콜을 사용하는 제 1 노드와 통신하고, 상기 생성된 제 2 소켓을 통하여 상기 제 2 프로토콜을 사용하는 제 2 노드와 통신하는 단계를 포함하는 것을 특징으로 하는 이종 프로토콜 노드 통신 방법.
  14. 제 13 항에 있어서,
    상기 제 1 프로토콜은 IPv6, 상기 제 2 프로토콜은 IPv4이거나, 또는 상기 제 1 프로토콜은 IPv4, 상기 제 2 프로토콜은 IPv6인 것을 특징으로 하는 이종 프로토콜 노드 통신 방법.
  15. 제 13 항에 있어서,
    상기 제 1 프로토콜은 모바일 IP, 상기 제 2 프로토콜은 비모바일 IP이거나, 상기 제 1 프로토콜은 비모바일 IP, 상기 제 2 프로토콜은 모바일 IP인 것을 특징으로 하는 이종 프로토콜 노드 통신 방법.
  16. 제 13 항에 있어서,
    상기 (a) 단계는 응용 계층에서 소정의 함수들을 호출함으로서 응용 프로그램 인터페이스인 제 1 소켓 및 제 2 소켓을 생성하는 것을 특징으로 하는 이종 프로토콜 노드 통신 방법.
  17. 제 13 항에 있어서,
    상기 (b) 단계는 응용 계층에서 소정의 함수들을 호출함으로서 응용 프로그램 인터페이스인 제 1 소켓 및 제 2 소켓을 통하여 통신하는 것을 특징으로 하는 이종 프로토콜 노드 통신 방법.
  18. 제 1 프로토콜을 사용하는 제 1 노드를 발신지로 하는 제 1 데이터를 제 1 소켓을 통하여 수신하는 단계; 및
    상기 수신된 제 1 데이터를 제 2 프로토콜을 사용하는 제 2 노드를 목적지로 하여 제 2 소켓을 통하여 전송하는 단계를 포함하는 것을 특징으로 하는 이종 프로토콜 노드 연결 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  19. 제 1 프로토콜을 기반으로 하는 통신에 사용될 제 1 소켓 및 제 2 프로토콜을 기반으로 하는 통신에 사용될 제 2 소켓을 생성하는 단계; 및 상기 생성된 제 1 소켓을 통하여 상기 제 1 프로토콜을 사용하는 제 1 노드와 통신하고, 상기 생성된 제 2 소켓을 통하여 상기 제 2 프로토콜을 사용하는 제 2 노드와 통신하는 단계를 포함하는 것을 특징으로 하는 이종 프로토콜 노드 통신 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020040007827A 2004-02-06 2004-02-06 이종 프로토콜 노드들을 연결하는 방법 및 장치 KR20050079730A (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020040007827A KR20050079730A (ko) 2004-02-06 2004-02-06 이종 프로토콜 노드들을 연결하는 방법 및 장치
AT05250636T ATE391384T1 (de) 2004-02-06 2005-02-04 Verfahren und vorrichtung zur verbindung von knoten mit heterogenen kommunikationsprotokollen
DE602005005727T DE602005005727T2 (de) 2004-02-06 2005-02-04 Verfahren und Vorrichtung zur Verbindung von Knoten mit heterogenen Kommunikationsprotokollen
EP05250636A EP1562348B1 (en) 2004-02-06 2005-02-04 Method and Apparatus for Connecting Heterogeneous Protocol Nodes
CNA200510007259XA CN1652543A (zh) 2004-02-06 2005-02-06 用于连接异类协议节点的方法和设备
US11/050,910 US20050175016A1 (en) 2004-02-06 2005-02-07 Method, medium, and apparatus for connecting heterogeneous protocol nodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040007827A KR20050079730A (ko) 2004-02-06 2004-02-06 이종 프로토콜 노드들을 연결하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20050079730A true KR20050079730A (ko) 2005-08-11

Family

ID=34676011

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040007827A KR20050079730A (ko) 2004-02-06 2004-02-06 이종 프로토콜 노드들을 연결하는 방법 및 장치

Country Status (6)

Country Link
US (1) US20050175016A1 (ko)
EP (1) EP1562348B1 (ko)
KR (1) KR20050079730A (ko)
CN (1) CN1652543A (ko)
AT (1) ATE391384T1 (ko)
DE (1) DE602005005727T2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8331273B2 (en) * 2009-08-28 2012-12-11 Mediatek Inc. Communication methods employed in communication system associated with programmable communication protocols, and related transmitting methods, receiving methods and communication device
US8923182B2 (en) * 2010-06-23 2014-12-30 Arm Finland Oy Method and apparatus for providing IPv6 link-layer adaptation over a wireless channel
US8484666B2 (en) * 2010-09-13 2013-07-09 Microsoft Corporation Optimizations for implementing multi-stack stack hosts
EP2434707B1 (en) * 2010-09-23 2013-12-18 Alcatel Lucent Method and system for optimising routing between two network nodes, at least one of which is mobile
US8856353B2 (en) * 2012-03-08 2014-10-07 Cisco Technology, Inc. Method and apparatus for providing an extended socket API for application services
US9229750B1 (en) * 2012-08-17 2016-01-05 Google Inc. Virtual machine networking
US9442778B2 (en) * 2012-10-01 2016-09-13 Salesforce.Com, Inc. Method and system for secured inter-application communication in mobile devices
US9680918B2 (en) * 2014-06-30 2017-06-13 Fortinet, Inc. Socket application program interface (API) for efficient data transactions
CN111586040B (zh) * 2020-05-06 2021-02-09 北京中科海讯数字科技股份有限公司 高性能网络数据接收方法及其系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5475601A (en) * 1994-02-15 1995-12-12 Emhart Glass Machinery Investments Inc. Control for glassware forming system including bidirectional network gateway
US5721876A (en) * 1995-03-30 1998-02-24 Bull Hn Information Systems Inc. Sockets application program mechanism for proprietary based application programs running in an emulation environment
US6580717B1 (en) * 1996-07-04 2003-06-17 Hitachi, Ltd. Packet communication method and apparatus and a recording medium storing a packet communication program
US7088726B1 (en) * 1996-07-04 2006-08-08 Hitachi, Ltd. Translator for IP networks, network system using the translator, and IP network coupling method therefor
JP3531367B2 (ja) * 1996-07-04 2004-05-31 株式会社日立製作所 トランスレータ
US6757731B1 (en) * 1999-02-25 2004-06-29 Nortel Networks Limited Apparatus and method for interfacing multiple protocol stacks in a communication network
EP1087575A1 (en) * 1999-09-24 2001-03-28 BRITISH TELECOMMUNICATIONS public limited company Packet network interfacing
US6335128B1 (en) * 1999-09-28 2002-01-01 Nicolas Bailey Cobb Method and apparatus for determining phase shifts and trim masks for an integrated circuit
JP2001155412A (ja) * 1999-11-29 2001-06-08 Pioneer Electronic Corp 再生装置
EP1109374A3 (de) * 1999-12-13 2001-06-27 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Verfahren und Vorrichtung zur Durchführung von Netzwerkoperationen
KR20020067106A (ko) * 2001-02-15 2002-08-22 주식회사 아이투소프트 IPv6 코드 자동 변환 시스템 및 방법
US7165112B2 (en) * 2001-06-22 2007-01-16 Motorola, Inc. Method and apparatus for transmitting data in a communication system
US7143555B2 (en) * 2001-10-02 2006-12-05 Philip Glen Miller Hybrid precast concrete and metal deck floor panel
ATE479298T1 (de) * 2002-05-13 2010-09-15 Markport Ltd Steuerung von plmn-nachrichtendiensten in ip- domänen
US7286546B2 (en) * 2002-07-31 2007-10-23 Infosys Technologies Ltd. Method and system for providing reliable and fast communications with mobile entities
KR100560737B1 (ko) * 2003-02-18 2006-03-13 삼성전자주식회사 듀얼스택을 이용한 아이피브이4 - 아이피브이6 전환 장치및 그 방법
US8271620B2 (en) * 2003-11-13 2012-09-18 Lantronix, Inc. Communication protocol converter and method of protocol conversion

Also Published As

Publication number Publication date
CN1652543A (zh) 2005-08-10
DE602005005727D1 (de) 2008-05-15
ATE391384T1 (de) 2008-04-15
US20050175016A1 (en) 2005-08-11
EP1562348B1 (en) 2008-04-02
DE602005005727T2 (de) 2009-04-16
EP1562348A1 (en) 2005-08-10

Similar Documents

Publication Publication Date Title
KR100322578B1 (ko) Wap단말기와 wap 서버와 사이의 데이터 통신장치 및 그방법
TW560151B (en) Packet-oriented data communications between mobile and fixed data networks
US7966380B2 (en) Method, system, and program for forwarding messages between nodes
US8176187B2 (en) Method, system, and program for enabling communication between nodes
EP3225014B1 (en) Source ip address transparency systems and methods
EP1790149B1 (en) Method and session initiation protocol (sip) server for the exchange of end-point capabilities
US9203872B2 (en) Distributed connectivity policy enforcement with ICE
EP1562348B1 (en) Method and Apparatus for Connecting Heterogeneous Protocol Nodes
US20050185672A1 (en) IPv6/IPv4 translator
US20040098484A1 (en) Method and system for communication between two devices by editing machine specific information at a proxy server
US20030225889A1 (en) Method and system for layering an infinite request/reply data stream on finite, unidirectional, time-limited transports
US20020159439A1 (en) Dynamically downloading telecommunication call services
JP2011515945A (ja) ローカル・ネットワーク間でデータ・パケットを通信するための方法および装置
WO2005109785A1 (ja) 情報処理装置、バブルパケット送信方法およびプログラム
CN1761929A (zh) 用于在具有sip功能的终端上提供多个客户支持的方法和设备
TW480856B (en) Device and method for communication over a network
JP2013504956A (ja) 新たなネットワークとインターネットとの相互通信の実現方法、システム及び通信端
KR101083480B1 (ko) 가입 통지 서비스를 구비하는 가상 접속
JP3666654B2 (ja) インターネット通信方法{AmethodforanInternetCommunication}
WO2007019809A1 (fr) Procede et systeme d'etablissement d'un canal direct point par point
JP2009515430A (ja) 多数のネットワークインターフェイスに対するネットワークアドレスの変換
EP2026528B1 (en) Integrated internet telephony system and signaling method thereof
JP4941117B2 (ja) サーバ装置、ネットワークシステム及びそれらに用いるネットワーク接続方法
GB2374256A (en) Method and apparatus for providing network access for PDA devices
KR100397091B1 (ko) 보이스 오버 아이피를 지원하기 위한 네트워크 접속 장치및 방법

Legal Events

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