KR100684165B1 - 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법 - Google Patents

통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법 Download PDF

Info

Publication number
KR100684165B1
KR100684165B1 KR1020050123971A KR20050123971A KR100684165B1 KR 100684165 B1 KR100684165 B1 KR 100684165B1 KR 1020050123971 A KR1020050123971 A KR 1020050123971A KR 20050123971 A KR20050123971 A KR 20050123971A KR 100684165 B1 KR100684165 B1 KR 100684165B1
Authority
KR
South Korea
Prior art keywords
address
server
management server
message
connection management
Prior art date
Application number
KR1020050123971A
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 KR1020050123971A priority Critical patent/KR100684165B1/ko
Application granted granted Critical
Publication of KR100684165B1 publication Critical patent/KR100684165B1/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/50Address allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/48Message addressing, e.g. address format or anonymous messages, aliases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법에 관한 것으로, 특히 프론트 엔드 서버와 클라이언트 단말기 사이의 메시지 송/수신을 위한 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법에 관한 것이다. 본 발명의 일 실시예에 따른 통신 네트워크 시스템은, 각각 대응하는 서버 주소를 가지는 복수 개의 서비스 서버들, 대응하는 자신의 서버 주소를 가지고 클라이언트 단말기에 상기 자신의 서버 주소에 소정의 클라이언트 주소를 결합한 네트워크 주소를 할당하는 연결 관리 서버 및 상기 클라이언트 주소는 무시하고 상기 서버 주소만을 이용하여 메시지 라우팅을 처리하는 내부 라우터를 포함하는 것을 특징으로 한다. 따라서, 클라이언트 단말기와 프론트 엔드 서버 사이의 연결을 효과적으로 관리할 수 있다.
프론트 엔드 서버, 브로커, 서비스 서버

Description

통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법 {COMMUNICATION NETWORK SYSTEM AND METHOD USING THE SAME}
도 1은 종래 기술에 따른 게임 서비스 시스템의 클라이언트와 서버 사이의 연결을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 통신 네트워크 시스템의 블록도이다.
도 3은 본 발명의 도 2에 도시된 통신 네트워크 시스템에서 사용되는 네트워크 주소의 일 예를 나타낸 도면이다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 통신 네트워크 시스템의 장애 허용성을 나타내는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 통신 네트워크 시스템의 메시지 흐름을 나타낸 블록도이다.
도 6은 도 2에 도시된 연결 관리 서버의 일 예를 나타낸 블록도이다.
도 7은 본 발명의 일 실시예에 따른 연결 관리 서버의 데이터 송/수신 방법의 동작 흐름도이다.
도 8은 본 발명에 따른 데이터 송/수신 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
211, 212, 213: 클라이언트 단말기
220: 연결 관리 서버
230: 내부 라우터
241, 242, 243: 서비스 서버
본 발명은 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법에 관한 것으로, 특히 프론트 엔드 서버와 클라이언트 단말기 사이의 메시지 송/수신을 위한 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법에 관한 것이다.
일반적으로 네트워크 게임 서비스를 제공하는 게임 서비스 시스템은 프론트 엔드 서버(Front End Server)를 통하여 클라이언트 단말기와 연결된다.
도 1은 종래 기술에 따른 게임 서비스 시스템의 클라이언트와 서버 사이의 연결을 나타낸 도면이다.
도 1을 참조하면, 서버단의 프론트 엔드 서버들(121, 122, 123)은 메시지 라우터(130)를 통하여 서로 연결되어 상호간에 데이터를 교환한다. 프론트 엔드 서버들(121, 122, 123)은 게임 서버일 수 있으며, 메시지 라우터(130)를 통하여 로그인 서버, 랭킹 서버, 데이터베이스 서버 등과 연결될 수 있다.
클라이언트 단말기들(111, 112, 113)은 각각 원하는 서비스를 제공하는 프론트 엔드 서버들(121, 122, 123)에 인터넷 등 네트워크를 통하여 직접 연결되고, 프 론트 엔드 서버들(121, 122, 123)은 각각 클라이언트 단말기와의 연결을 관리한다.
도 1에 도시된 종래 기술에서, 클라이언트 단말기들(111, 112, 113)은 프론트 엔드 서버들(121, 122, 123)에 접속하기 위해 프론트 엔드 서버들(121, 122, 123)의 IP 주소를 알고 있어야 한다. 따라서, 프론트 엔드 서버들(121, 122, 123)의 IP 주소는 클라이언트단에 노출되며, 악의적인 사용자에 의하여 패킷 분석을 통한 정보 유출이나 해킹 등으로 인한 피해를 입을 우려가 있다. 또한, 클라이언트 단말기는 서비스를 제공 받고자 하는 각각의 서버와 별개로 연결을 설정하여야 하므로 연결 관리가 복잡해지고 번거로운 문제점이 있었다. 즉, 클라이언트 단말기들(111, 112, 113) 각각이 프론트 엔드 서버들(121, 122, 123)에서 제공하는 서비스를 모두 이용하기 위해서는 도 1에 도시된 바와 같이 각각 모든 프론트 엔드 서버들(121, 122, 123)과 연결을 설정하여야 하므로 클라이언트 측에서는 연결 설정이 번거롭고, 서버 측에서는 연결 관리가 복잡할 수 밖에 없었다.
또한, 도 1에 도시된 시스템은 클라이언트 단말기와 서버 사이에서 암호화된 통신을 수행하고자 하는 경우에 프론트 엔드 서버들(121, 122, 123) 모두에 암호화와 관련된 모듈을 추가하여야 하고, 클라이언트와의 연결 관리 프로그램 오류 수정이나 업데이트시에 모든 프론트 엔드 서버들(121, 122, 123) 모두에 대하여 수정이나 업데이트를 수행하여야 하는 번거로움이 있었다.
네트워크 게임 서비스가 다양화되고 글로벌화 되어감에 따라 프론트 엔드 서버의 종류 및 수가 증가하므로, 상기한 문제는 더욱 더 중요한 문제가 되어가고 있다.
따라서, 클라이언트 단말기와 서비스 서버 사이의 연결을 단순화하고, 클라이언트와 서비스 서버 사이의 연결을 효과적으로 관리할 수 있는 새로운 통신 네트워크 시스템 및 데이터 송/수신 방법의 필요성이 절실하게 대두된다.
본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서, 클라이언트 단말기와 서비스 서버 사이의 연결을 단순화하고, 효과적으로 관리할 수 있는 통신 네트워크 시스템 및 데이터 송/수신 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 클라이언트 측의 외부 네트워크와 서버 측의 내부 네트워크를 분리하고, 내부 네트워크에서는 서버 주소만을 이용하여 메시지 라우팅을 처리함으로써 효과적으로 메시지 라우팅을 처리하는 것을 목적으로 한다.
또한, 본 발명은 기존에 서비스 서버가 수행하던 클라이언트와의 연결 관리를 연결 관리 서버에서 처리하도록 하여 기능에 따라 적절히 컴포넌트화된 통신 네트워크 시스템을 구축하는 것을 목적으로 한다.
또한, 본 발명은 서비스 서버들에 대한 보안을 효과적으로 강화하고, 보안 이슈가 발생하는 경우에 신속하고 효과적으로 대응할 수 있는 통신 네트워크 시스템 및 데이터 송/수신 방법을 제공하는 것을 목적으로 한다.
상기의 목적을 달성하고 종래기술의 문제점을 해결하기 위하여, 본 발명의 일 실시예에 따른 통신 네트워크 시스템은, 각각 대응하는 서버 주소를 가지는 복 수 개의 서비스 서버들, 대응하는 자신의 서버 주소를 가지고 클라이언트 단말기에 상기 자신의 서버 주소에 소정의 클라이언트 주소를 결합한 네트워크 주소를 할당하는 연결 관리 서버 및 상기 클라이언트 주소는 무시하고 상기 서버 주소만을 이용하여 메시지 라우팅을 처리하는 내부 라우터를 포함하는 것을 특징으로 한다.
이 때, 연결 관리 서버는 상기 복수 개의 서비스 서버들과 상기 클라이언트 단말기 사이의 메시지를 전달함에 있어, 상기 메시지의 발신 주소 및 목적지 주소의 변경 없이 상기 메시지를 전달할 수 있다.
이 때, 상기 통신 네트워크 시스템은 상기 내부 라우터 측에서 상기 연결 관리 서버를 복수 개의 서비스 서버들과 대등하게 인식할 수 있다. 즉, 내부 라우터는 서버 주소만을 이용하여 메시지 라우팅을 처리하므로, 내부 라우터는 연결 관리 서버도 하나의 서비스 서버로 보아 각각의 클라이언트 단말기가 아닌 연결 관리 서버를 대상으로 메시지 라우팅을 수행하고, 각각의 클라이언트 단말기에 대한 라우팅은 연결 관리 서버가 수행할 수 있다. 이 때, 내부 라우터와 서비스 서버 및 연결 관리 서버가 내부 네트워크를 구성하고, 클라이언트 단말기와 연결 관리 서버가 일종의 서브 네트워크를 구성하는 것으로 볼 수 있다.
또한, 본 발명의 다른 실시예에 따른 데이터 송/수신 방법은, 클라이언트 단말기로부터 수신된 주소 할당 요청에 응답하여 연결 관리 서버가 자신의 서버 주소에 소정의 클라이언트 주소를 결합한 네트워크 주소를 생성하여 상기 클라이언트 단말기에 할당하는 단계, 상기 클라이언트 단말기로부터 발신 주소에 상기 네트워크 주소를 포함하고 목적지 주소에 특정 서비스 서버의 서버 주소를 포함하는 송신 메시지를 수신하는 단계 및 상기 송신 메시지의 발신 주소 및 목적지 주소의 변경 없이 상기 송신 메시지를 상기 서버 주소만으로 어드레싱되는 내부 네트워크로 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명에서 연결 관리 서버의 동작에 관한 한정은 복수 개의 서비스 서버들과 클라이언트 단말기 사이에서 유니캐스트(unicast) 메시지가 송/수신되는 경우에 적용되는 것이다. 즉, 본 발명에서 연결 관리 서버가 복수 개의 서비스 서버들과 클라이언트 단말기 사이의 유니캐스트(unicast) 메시지를 전달함에 있어, 메시지의 발신 주소 및 목적지 주소의 변경 없이 메시지를 전달한다.
이 때, 상기 네트워크 주소는 서버 주소 필드 및 클라이언트 주소 필드를 포함하고, 상기 내부 네트워크의 내부 라우터는 상기 클라이언트 주소 필드를 마스킹(masking)하여 메시지 라우팅을 처리할 수 있다. 이 때, 상기 연결 관리 서버는 상기 클라이언트 주소 필드를 이용하여 클라이언트 단말기를 식별할 수 있다.
이 때, 상기 연결 관리 서버는 상기 클라이언트 단말기와 암호화된 보안 통신을 수행할 수 있다.
이 때, 상기 클라이언트 단말기는 상기 연결 관리 서버 이외에도 하나 이상의 보조 연결 관리 서버에 동시에 연결되고, 상기 연결 관리 서버와 상기 내부 라우터 사이의 연결에 이상이 발생하는 경우에 상기 연결 관리 서버는 새로운 클라이언트 단말기의 접속 요구를 거부하고, 상기 클라이언트 단말기는 상기 보조 연결 관리 서버를 통하여 메시지를 전송할 수 있다.
이 때, 상기 통신 네트워크 시스템 및 데이터 송/수신 방법은 상기 클라이언 트 단말기와 상기 복수 개의 서비스 서버들 중 하나 사이에 연결 생성 메시지가 정상적으로 왕복하면 상기 클라이언트 단말기와 상기 서비스 서버들 중 하나 사이에 가상 연결(virtual connection)이 설정되도록 할 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 일 실시예에 따른 통신 네트워크 시스템의 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 통신 네트워크 시스템은 클라이언트 단말기들(211, 212, 213), 연결 관리 서버(220), 내부 라우터(230) 및 서비스 서버들(241, 242, 243)을 포함한다.
각각의 서비스 서버들(241, 242, 243)은 각각 대응하는 서버 주소를 가진다. 예를 들어, 도 2에 도시된 예에서 서비스 서버(241)의 서버 주소는 "A001XXX7"이고, 서비스 서버(242)의 서버 주소는 "A001XXX8"이고, 서비스 서버(243)의 서버 주소는 "A001XXX9" 일 수 있다.
서비스 서버들(241, 242, 243)은 게임 서버일 수 있다. 서비스 서버들(241, 242, 243)은 모두 동일한 게임 서비스를 제공하는 게임 서버일 수도 있고, 각각 서로 다른 게임 서비스를 제공하는 게임 서버일 수도 있다. 예를 들어, 서비스 서버들(241, 242, 243)은 모두 "고스톱" 게임 서버일 수도 있고, 서비스 서버들(241, 242, 243)은 각각 "고스톱" 게임 서버, "당신은 골프왕" 게임 서버 및 "건스터" 게임 서버일 수 있다.
클라이언트 단말기들(211, 212, 213)은 인터넷 등 네트워크를 통하여 서비스 서버들(241, 242, 243)에 접속하여 온라인 서비스 서버들(241, 242, 243)이 제공하는 서비스를 제공 받는다. 이 때, 클라이언트 단말기들(211, 212, 213)은 모두 연결 관리 서버(220)를 통해서만 서비스 서버들(241, 242, 243)에 접속할 수 있고, 직접 서비스 서버들(241, 242, 243)에 접속할 수 없다.
연결 관리 서버(Connection Management Server; CMS)(220)는 클라이언트 단말기들(211, 212, 213)과 TCP/IP 연결을 설정한다. 클라이언트 단말기들(211, 212, 213)은 직접 서비스 서버들(241, 242, 243)과 TCP/IP 연결을 설정하지 아니하므로, 본 발명의 통신 네트워크 시스템은 클라이언트 측으로 서비스 서버들(241, 242, 243)의 IP주소가 노출되지 않도록 하여 외부의 해킹 위협으로부터 서비스 서버들(241, 242, 243)을 보호할 수 있다.
연결 관리 서버(220)는 대응하는 자신의 서버 주소를 가진다. 예를 들어, 도 2에 도시된 예에서 연결 관리 서버(220)의 서버 주소는 "C001XXX1" 일 수 있다.
내부 라우터(230)는 서버 주소를 이용하여 연결 관리 서버(220) 및 서비스 서버들(241, 242, 243) 사이의 메시지 라우팅을 처리한다. 이 때, 내부 라우터(230)는 복수 개의 브로커(broker)들이 완전 매시(full mesh) 형태로 상호 연결된 것일 수 있다. 내부 라우터(230)에 관한 상세한 내용은 2004년 12월 17일 출원된 한국출원번호 제2004-107496호에 상세하게 개시되어 있다.
내부 라우터(230) 측에서는 연결 관리 서버(220)를 일종의 서비스 서버로 보아 서비스 서버들(241, 242, 243)과 대등하게 인식할 수 있다. 이 때, 내부 라우터(230), 연결 관리 서버(220) 및 서비스 서버들(241, 242, 243)은 서버 주소만으 로 어드레싱되는 내부 네트워크를 구성한다.
이 때, 연결 관리 서버(220) 및 서비스 서버들(241, 242, 243)은 각각 서버 주소에 의하여 유일하게 식별된다.
연결 관리 서버(220)는 주소 할당을 요청한 클라이언트 단말기에 자신의 서버 주소에 소정의 클라이언트 주소를 결합한 네트워크 주소를 할당한다. 즉, 네트워크 주소는 서버 주소 필드 및 클라이언트 주소 필드로 구성될 수 있다. 이미 살펴본 바와 같이, 연결 관리 서버(220)의 서버 주소가 "C001XXX1"이라고 하면, 연결 관리 서버(220)에 주소 할당을 요청한 클라이언트 단말기들(211, 212, 213)에는 각각 "C001XXX1001", "C001XXX1002", "C001XXX1003"이 네트워크 주소로 할당될 수 있다. 이 때, "C001XXX1001"에서 "C001XXX1"은 연결 관리 서버(220)의 서버 주소인 서버 주소 필드에 해당하고, "001"은 클라이언트 단말기(211)에 할당된 클라이언트 주소 필드에 해당한다. 또한, "C001XXX1002"에서 "C001XXX1"은 연결 관리 서버(220)의 서버 주소인 서버 주소 필드에 해당하고, "002"는 클라이언트 단말기(212)에 할당된 클라이언트 주소 필드에 해당한다. 마찬가지로, "C001XXX1003"에서 "C001XXX1"은 연결 관리 서버(220)의 서버 주소인 서버 주소 필드에 해당하고, "003"은 클라이언트 단말기(213)에 할당된 클라이언트 주소 필드에 해당한다.
연결 관리 서버(220)는 클라이언트 단말기들(211, 212, 213)과 서비스 서버들(241, 242, 243) 사이의 메시지의 발신 주소 및 목적지 주소를 변경하지 아니하고 메시지를 그대로 전달한다.
이와 같이, 연결 관리 서버(220)가 주소 변환 없이 메시지를 단순히 패스 포 워딩(pass forwarding)함으로써, 연결 관리 서버(220)의 오버헤드(overhead)를 줄일 수 있어 한 대의 연결 관리 서버(220)가 관리 가능한 클라이언트 단말기의 수를 늘릴 수 있다.
도 3은 본 발명의 도 2에 도시된 통신 네트워크 시스템에서 사용되는 네트워크 주소의 일 예를 나타낸 도면이다.
도 3을 참조하면, 도 2에 도시된 통신 네트워크 시스템에서 사용되는 네트워크 주소는 캐스트 타입 식별 필드(310), IDC 식별 필드(320), 서버 주소 필드(330), 클라이언트 주소 필드(340) 및 확장 필드(350)를 포함하여 128 비트(16 바이트)로 구성될 수 있다.
캐스트 타입 식별 필드(310)는 특정 서비스를 식별하기 위해 유니캐스트(unicast), 애니캐스트(anycast), 멀티캐스트(multicast)의 3가지 주소 유형을 나타낼 수 있다.
IDC 식별 필드(320)는 IDC를 식별하기 위한 IDC 식별자가 기록되는 필드이다. 예를 들어, IDC 식별자는 한국이 "1", 일본이 "2" 및 "3", 중국이 "4", "5", "6" 및 "7"일 수 있다.
서버 주소 필드(330)는 서버 주소가 기록되는 필드이다. 예를 들어, 도 2에 도시된 예에서 클라이언트 단말기(211) 및 연결 관리 서버(220)를 가리키기 위해 서버 주소 필드(330)에 "C001XXX1"이 기록되고, 서비스 서버(241)를 가리키기 위해 서버 주소 필드(330)에 "A001XXX7"이 기록될 수 있다.
클라이언트 주소 필드(340)는 클라이언트 주소가 기록되는 필드이다. 예를 들어, 도 2에 도시된 예에서 클라이언트 단말기(211)를 가리키기 위해 클라이언트 주소 필드(340)에 "001"이 기록되고, 클라이언트 단말기(212)를 가리키기 위해 클라이언트 주소 필드(340)에 "002"가 기록될 수 있다.
클라이언트 주소 필드(340)는 내부 네트워크 내의 연결 관리 서버(220)나 서비스 서버들(241, 242, 243)을 가리킬 때는 돈 캐어(don't care) 처리된다. 즉, 내부 네트워크에서는 클라이언트 주소 필드(340)에 어떤 주소가 기록되었는지를 전혀 상관하지 않고, 서버 주소 필드(330)만을 이용하여 메시지 라우팅을 수행한다.
확장 필드(350)은 필요한 경우를 대비하여 남겨둔 데이터 공간이다.
본 발명의 통신 네트워크 시스템은 연결 관리 서버를 통하여 데이터를 송/수신하기 위해 발신 주소 및 목적지 주소를 지칭할 때 IP 주소가 아니라 도 3에 도시된 것과 같은 네트워크 주소 체계를 사용한다.
이하, 다시 도 2를 참조하여 본 발명의 일 실시예에 따른 통신 네트워크 시스템의 동작을 상세히 설명한다.
클라이언트 단말기들(211, 212, 213)은 연결 관리 서버(220)의 IP주소로 TCP/IP 접속하여 주소 할당을 요청한다.
연결 관리 서버(220)는 클라이언트 단말기들(211, 212, 213)의 주소 할당 요청에 응답하여 클라이언트 단말기들(211, 212, 213) 각각에 자신의 서버 주소(C001XXX1)에 소정의 클라이언트 주소(001, 002, 003)를 결합한 네트워크 주소(C001XXX1001, C001XXX1002, C001XXX1003)를 할당한다.
클라이언트 단말기(212)는 자신의 네트워크 주소(C001XXX1002)를 발신 주소 로 하고, 목적지 주소의 서버 주소 필드를 서비스 서버(242)의 서버 주소(A001XXX8)로 하여 메시지를 전송할 수 있다. 이 때, 목적지 주소의 클라이언트 주소 필드에는 미리 결정된 주소를 기록할 수도 있고, 아무 것도 기록하지 아니할 수도 있다.
연결 관리 서버(220)는 클라이언트 단말기(212)로부터 메시지를 수신하면, 메시지의 발신 주소(C001XXX1002) 및 목적지 주소를 변경하지 아니하고 그대로 내부 네트워크의 내부 라우터(230)로 전달한다.
내부 라우터(230)는 전달된 메시지의 목적지 주소의 서버 주소 필드(A001XXX8)를 이용하여 해당하는 서비스 서버(242)로 메시지가 전달되도록 메시지 라우팅을 처리한다. 이 때, 내부 라우터(230)는 목적지 주소의 클라이언트 주소 필드를 마스킹(masking)하여 클라이언트 주소 필드를 무시하고 메시지 라우팅을 처리할 수 있다.
서비스 서버(242)는 전송된 메시지를 처리하고, 클라이언트 단말기(212)의 네트워크 주소(C001XXX1002)를 목적지 주소로 하고, 발신 주소의 서버 주소 필드를 자신의 서버 주소(A001XXX8)로 하여 메시지를 전송한다. 이 때, 발신 주소의 클라이언트 주소 필드에는 미리 결정된 주소를 기록할 수도 있고, 아무 것도 기록하지 아니할 수도 있다.
내부 라우터(230)는 전송된 메시지의 클라이언트 주소 필드(002)는 무시하고, 서버 주소 필드(C001XXX1)만을 이용하여 메시지 라우팅을 처리하여 메시지를 연결 관리 서버(220)로 전송한다. 따라서, 내부 라우터(230)의 라우팅 테이블에는 서버 주소 필드를 위한 공간만이 할당되면 된다. 즉, 내부 라우터(230)의 라우팅 테이블에는 "A001XXX7", "A001XXX8", "A001XXX9" 및 "C001XXX1"와 이에 대응하는 라우팅 정보가 저장되게 된다. 이 때, 라우팅 정보는 소켓 아이디 등의 연결(connection) 정보를 포함할 수 있다. 이 때, 연결 정보는 어플리케이션 상의 하나의 연결(connection)마다 유일한 값을 가질 수도 있고, 연결이 끊어졌다가 다시 연결되는 등의 연결 변경에 따라 그 값이 달라질 수도 있다.
내부 라우터(230)에 의해 목적지 주소의 클라이언트 주소 필드(002)는 무시하고, 서버 주소 필드(C001XXX1)만을 이용하여 라우팅된 메시지는 서버 주소 필드(C001XXX1)에 해당하는 서버 주소를 가지는 연결 관리 서버(220)로 전달된다.
연결 관리 서버(220)는 내부 네트워크로부터 수신된 메시지의 목적지 주소(C001XXX1002)에 포함된 클라이언트 주소(002)를 이용하여 메시지를 전송할 클라이언트 단말기를 식별하고, 목적지 주소(C001XXX1002) 및 발신 주소를 변경하지 아니하고 메시지를 그대로 식별된 클라이언트 단말기로 전송한다. 이 때, 연결 관리 서버(220)의 라우팅 테이블에는 클라이언트 주소 필드를 위한 공간만이 할당되면 된다. 즉, 연결 관리 서버(220)의 라우팅 테이블에는 "001", "002" 및 "003"과 이에 대응하는 라우팅 정보가 저장되게 된다. 이 때, 라우팅 정보는 소켓 아이디 등의 연결(connection) 정보를 포함할 수 있다. 이 때, 연결 정보는 어플리케이션 상의 하나의 연결(connection)마다 유일한 값을 가질 수도 있고, 연결이 끊어졌다가 다시 연결되는 등의 연결 변경에 따라 그 값이 달라질 수도 있다. 특히, 연결 관리 서버(220)는 클라이언트 단말기들(211, 212, 213)로부터의 연결을 관리하기 때문에, 연결 관리 서버(220)의 라우팅 테이블에 클라이언트 단말기들(211, 212, 213)로부터의 연결에 대한 소켓 아이디 등의 연결 정보가 저장된다. 따라서, 클라이언트 단말기들(211, 212, 213)로부터의 연결 변경에 대한 처리는 연결 관리 서버(220)에서 모두 처리할 수 있고, 내부 네트워크는 클라이언트 단말기들의 연결 변경에 대한 처리를 수행할 필요가 없다.
도 2에 도시된 실시예에서 클라이언트 단말기들(211, 212, 213) 및 연결 관리 서버(220) 사이의 통신은 암호화된 보안 통신일 수 있다. 이 때, 도 2에 도시된 통신 네트워크 시스템은 서비스 서버들(241, 242, 243)이 직접 클라이언트 단말기들(211, 212, 213)과의 통신 암호화를 관리할 필요 없이, 연결 관리 서버(220)에서 클라이언트 단말기들(211, 212, 213)과의 통신 암호화를 통합적으로 관리할 수 있어 그 수정 및 변경이 용이하다.
나아가, 도 2에 도시된 통신 네트워크 시스템은 클라이언트 단말기와 연결 관리 서버 사이의 연결을 유지한 채로 서비스 서버간 이동이 가능하다. 예를 들어, 클라이언트 단말기(211)가 연결 관리 서버(220)를 통하여 서비스 서버(242)에 연결되어 있는 경우에, 클라이언트 단말기(211)와 연결 관리 서버(220)의 연결을 그대로 유지한 채 연결 관리 서버(220)가 서비스 서버(242) 대신에 서비스 서버(243)에 연결되도록 할 수 있다. 이와 같이, 클라이언트 단말기와 연결 관리 서버 사이의 연결을 유지한 채로 서비스 서버를 변경할 수 있으므로 특정 서비스 서버에 접속했다가 그 접속을 끊고 다른 서비스 서버에 새로 접속하여 접속 및 인증절차를 반복하는 번거로움을 없앨 수 있다.
실시예에 따라 통신 네트워크 시스템은 클라이언트 단말기들(211, 212, 213)과 연결 관리 서버(220) 사이에 L4 스위치를 구비하여 로드밸런싱(load balancing)을 할 수도 있다.
또한, 도 2에 도시된 통신 네트워크 시스템은 클라이언트 단말기들(211, 212, 213) 중 하나와 서비스 서버들(241, 242, 243) 중 하나 사이에 연결 생성 메시지(connection create message)가 정상적으로 왕복하면 해당 클라이언트 단말기와 해당 서비스 서버 사이에 가상 연결(virtual connection)이 설정되도록 할 수 있다.
이 때, 통신 네트워크 시스템은 상기 가상 연결이 설정된 클라이언트 단말기와 서비스 서버 사이에 연결 종료 메시지(connection terminate message)가 정상적으로 왕복하면 상기 가상 연결을 종료시킬 수 있다.
이 때, 통신 네트워크 시스템은 상기 가상 연결이 설정된 클라이언트 단말기와 해당 연결 관리 서버 사이의 TCP/IP 연결이 종료되면 상기 가상 연결 역시 종료되도록 할 수 있다.
도 2에 도시된 실시예에서 설명의 편의를 위하여 통신 네트워크 시스템에 연결 관리 서버가 한 개 있는 경우를 예로 들어 설명하였으나, 통신 네트워크 시스템 내에 연결 관리 서버가 다수 구비될 수 있다. 예를 들어, 통신 네트워크 시스템 내에 클라이언트 단말기 약 2만대 당 1대 정도의 연결 관리 서버가 구비될 수 있다.
이와 같이, 도 2에 도시된 통신 네트워크 시스템은 클라이언트 단말기로부터 의 연결에 대한 관리는 연결 관리 서버(220)에서 전담하고, 내부 라우터(230)는 내부 네트워크 내의 연결 관리만을 수행하면 되므로 통신 네트워크 시스템의 연결 관리를 효율적으로 할 수 있다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 통신 네트워크 시스템의 장애 허용성(fault tolerance)을 나타내는 블록도이다.
도 4a 및 도 4b를 참조하면, 본 발명의 일 실시예에 따른 통신 네트워크 시스템은 클라이언트 단말기(410)가 연결 관리 서버(421) 이외에도 보조 연결 관리 서버(422)에 동시에 연결된다. 이 때, 클라이언트 단말기(410)와 연결 관리 서버(421) 및 보조 연결 관리 서버(422) 사이의 연결은 TCP/IP 연결일 수 있다.
이 때, 연결 관리 서버(421)와 보조 연결 관리 서버(422)는 실질적으로 동일한 구성을 가질 수 있고, 실시예에 따라 보조 연결 관리 서버(422)가 둘 이상 구비될 수도 있다.
도 4a를 참조하면, 연결 관리 서버(421)가 이상 없이 동작하는 경우에 연결 관리 서버(421)는 액티브(active) 상태이고, 보조 연결 관리 서버(422)는 스탠바이(standby) 상태이다. 이 때, 클라이언트 단말기(410)와 서비스 서버(440) 사이의 메시지 전송은 연결 관리 서버(421) 및 내부 라우터(430)를 통하여 수행된다. 연결 관리 서버(421) 및 내부 라우터(430)의 동작에 관한 설명은 도 2를 참조하여 이미 설명한 바와 같다.
도 4b를 참조하면, 연결 관리 서버(421)를 통한 클라이언트 단말기(410)와 서비스 서버(440) 사이의 연결에 이상이 발생하는 경우에 보조 연결 관리 서버 (422)가 액티브 상태로 된다. 예를 들어, 연결 관리 서버(421)와 클라이언트 단말기(410) 사이의 연결에 이상이 발생하거나, 연결 관리 서버(421)와 내부 라우터(430) 사이의 연결에 이상이 발생하는 경우에 보조 연결 관리 서버(422)가 액티브 상태가 되어 연결 관리 서버(421)를 대신하여 클라이언트 단말기(410)와 서비스 서버(440) 사이의 연결이 유지되도록 할 수 있다. 이 때, 연결 관리 서버(421)는 내부 라우터(430)와의 연결을 다시 시도하여 성공하면 스탠바이 상태로 될 수 있다.
보조 연결 관리 서버(422)가 액티브 상태로 되면 클라이언트 단말기(410)와 서비스 서버(440) 사이의 메시지 전송은 보조 연결 관리 서버(422) 및 내부 라우터(430)를 통하여 수행된다. 이 때, 연결 관리 서버(421)는 새로운 클라이언트 단말기로부터의 접속 요구를 거부한다. 보조 연결 관리 서버(422)에도 도 2에 도시된 연결 관리 서버(220)의 동작에 관한 설명이 그대로 적용될 수 있다.
보조 연결 관리 서버(422)가 액티브 상태로 되어 클라이언트 단말기(411)가 보조 연결 관리 서버(422)를 통하여 메시지를 전송하는 경우에, 클라이언트 단말기(411)로부터 서비스 서버(440)로 전송되는 메시지의 발신 주소의 서버 주소 필드에 보조 연결 관리 서버(422)의 서버 주소를 기록하여 메시지를 전송할 수 있다.
도 5는 본 발명의 일 실시예에 따른 통신 네트워크 시스템의 메시지 흐름을 나타낸 블록도이다.
도 5를 참조하면, 클라이언트 단말기(510)는 연결 관리 커넥터(511)를 통해 연결 관리 서버(520)와 연결된다. 연결 관리 커넥터(511)는 클라이언트 단말기(510)와 연결 관리 서버(520)간 연결을 매개하는 모듈로서, 클라이언트 단말기 (510)에 설치되는 소프트웨어 모듈일 수 있다.
클라이언트 단말기(510)는 연결 관리 커넥터(511)를 통하여 서비스 서버(540)로 전송하고자 하는 메시지를 연결 관리 서버(520)로 전송한다. 연결 관리 서버(520)는 수신된 메시지의 발신 주소 및 목적지 주소를 변경하지 않고 메시지를 내부 라우터(530)로 전송한다.
내부 라우터(530)는 수신된 메시지의 클라이언트 주소는 무시하고, 서버 주소만을 이용하여 해당하는 서비스 서버로 메시지 라우팅을 수행한다.
내부 라우터(530)는 내부 네트워크 커넥터(541)를 통해 서비스 서버(540)와 연결된다. 내부 네트워크 커넥터(541)는 서비스 서버(540)와 내부 라우터(530)간 연결을 매개하는 모듈로서, 서비스 서버(540)에 설치되는 소프트웨어 모듈일 수 있다.
서비스 서버(540)는 내부 라우터(530)를 통하여 전송된 메시지를 처리하고, 내부 네트워크 커넥터(541)를 통하여 클라이언트 단말기(510)로 전송하고자 하는 메시지를 내부 라우터(530)로 전송한다.
내부 라우터(530)는 이미 설명한 바와 같이, 서버 주소만을 이용하여 해당하는 연결 관리 서버(520)로 메시지 라우팅을 수행한다.
연결 관리 서버(520)는 내부 라우터(530)로부터 수신된 메시지의 클라이언트 주소를 이용하여 해당하는 클라이언트 단말기(510)를 식별하고, 발신 주소 및 목적지 주소를 변경하지 않고 클라이언트 단말기(510)로 메시지를 전송한다.
도 6은 도 2에 도시된 연결 관리 서버의 일 예를 나타낸 블록도이다.
도 6을 참조하면, 연결 관리 서버는 인트라 네트워크부(610), 디스패쳐(620), 라우터(630) 및 인터 네트워크부(640)를 포함한다.
인트라 네트워크부(610)는 클라이언트 단말기들과의 연결을 관리하는 역할을 한다. 즉, 인트라 네트워크부(610)는 클라이언트 단말기로부터의 연결 요청에 대하여 대기하도록 하거나 연결 요청을 수락할 수 있다. 또한, 인트라 네트워크부(610)는 클라이언트 단말기로부터 연결 관리 서버로 전송되는 메시지의 송/수신을 관리할 수 있다. 또한, 인트라 네트워크부(610)는 연결 관리 서버와 클라이언트 단말기 사이의 메시지 암호화 및 복호화를 수행할 수 있다.
디스패쳐(620)는 인트라 네트워크부(610)나 인터 네트워크부(640)로부터 수신된 메시지를 해석하고, 해석된 결과에 따라 연결 관리 서버가 필요한 동작을 수행하도록 한다. 이 때, 디스패쳐(620)는 메시지 전체를 해석할 필요는 없고, 메시지의 헤더부분만을 보고 해당 메시지를 어떻게 처리하여야 할지를 결정할 수 있다.
예를 들어, 디스패쳐(620)는 인트라 네트워크부(610)로부터 수신된 메시지가 서비스 서버로 전송되어야 하는 것으로 판단한 경우에 수신된 메시지가 라우터(630)에 의하여 적절한 목적지 서비스 서버로 전송되도록 할 수 있다.
예를 들어, 디스패쳐(620)는 인트라 네트워크부(610)로부터 수신된 메시지가 연결 관리 서버에 연결된 다른 클라이언트 단말기로 전송되어야 하는 것으로 판단한 경우에 해당 클라이언트 단말기의 주소를 찾아서 메시지를 전송하도록 할 수도 있다.
예를 들어, 디스패쳐(620)는 인터 네트워크부(640)로부터 수신된 메시지가 클라이언트 단말기로 전송되어야 하는 것으로 판단한 경우에 수신된 메시지에 포함된 목적지 주소의 클라이언트 필드를 이용하여 메시지를 전송할 클라이언트 단말기를 식별하고, 라우터(630)를 통하여 식별된 클라이언트 단말기로 메시지를 전송하도록 할 수도 있다.
라우터(630)는 인트라 네트워크부(610)나 인터 네트워크부(640)로부터 수신된 메시지를 적절한 목적지(destination address)에 라우팅한다.
인터 네트워크부(640)는 내부 네트워크의 내부 라우터와의 메시지 송/수신을 담당한다. 즉, 인터 네트워크부(640)는 내부 라우터와의 인터페이싱을 담당하여 내부 라우터 측에서 연결 관리 서버를 일종의 서비스 서버로 인식하도록 한다.
도 7은 본 발명의 일 실시예에 따른 연결 관리 서버의 데이터 송/수신 방법의 동작 흐름도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 연결 관리 서버의 데이터 송/수신 방법은 클라이언트 단말기로부터 수신된 주소 할당 요청에 응답하여 연결 관리 서버가 자신의 서버 주소에 소정의 클라이언트 주소를 결합한 네트워크 주소를 생성하여 상기 클라이언트 단말기에 할당한다(S710).
예를 들어, 연결 관리 서버의 서버 주소가 "C001XXX1"인 경우에 본 발명의 연결 관리 서버는 "C001XXX1001"을 클라이언트 단말기의 네트워크 주소로 할당할 수 있다. 이 때, 네트워크 주소 "C001XXX1001"에서 "C001XXX1"은 서버 주소 필드에 해당하고, "001"은 클라이언트 주소 필드에 해당한다.
또한, 데이터 송/수신 방법은 상기 클라이언트 단말기로부터 발신 주소에 상 기 네트워크 주소를 포함하고 목적지 주소에 특정 서비스 서버의 서버 주소를 포함하는 송신 메시지를 수신한다(S720).
예를 들어, 네트워크 주소가 "C001XXX1001"인 클라이언트 단말기가 서버 주소가 "A001XXX7"인 서비스 서버로 메시지를 전송하는 경우에 발신 주소가 "C001XXX1001"이고, 목적지 주소의 서버 주소 필드가 "A001XXX7"인 송신 메시지가 수신될 수 있다. 이 때, 이 때, 목적지 주소의 클라이언트 주소 필드에는 미리 결정된 주소를 기록할 수도 있고, 아무 것도 기록하지 아니할 수도 있다. 이는, 내부 네트워크에서 클라이언트 주소 필드는 의미가 없기 때문이다. 예를 들어, 목적지 주소는 "A001XXX7AAA"일 수 있다.
또한, 데이터 송/수신 방법은 상기 송신 메시지의 발신 주소 및 목적지 주소의 변경 없이 상기 송신 메시지를 상기 서버 주소만으로 어드레싱되는 내부 네트워크로 전송한다(S730).
이 때, 내부 네트워크는 클라이언트 주소 필드를 마스킹(masking)하여 메시지 라우팅을 처리할 수 있다.
이 때, 내부 네트워크는 내부 라우터 및 서비스 서버들을 포함할 수 있다. 내부 라우터 및 서비스 서버들의 동작은 도 2를 통하여 이미 설명한 바와 같다.
내부 네트워크에서는 연결 관리 서버도 일종의 서비스 서버와 같이 동작한다.
내부 네트워크로 전송된 메시지는 클라이언트 주소는 무시하고 서버 주소를 이용하여 메시지 라우팅을 처리하는 내부 라우터에 의하여 라우팅되어 목적지 주소 에 상응하는 서비스 서버로 전송된다.
또한, 데이터 송/수신 방법은 내부 네트워크로부터 목적지 주소에 연결 관리 서버 자신의 서버 주소를 포함하는 수신 메시지를 수신한다(S740).
예를 들어, 연결 관리 서버의 서버 주소가 "C001XXX1"이라고 하면, 목적지 주소가 "C001XXX1001", "C001XXX1002", "C001XXX1003" 및 "C001XXX1004"와 같은 메시지들이 수신될 수 있다. 이는, 내부 네트워크의 내부 라우터는 서버 주소 필드인 "C001XXX1"만을 이용하여 메시지 라우팅을 처리하기 때문이다.
또한, 데이터 송/수신 방법은 수신 메시지의 목적지 주소에 포함된 클라이언트 주소를 식별한다(S750).
예를 들어, 수신된 메시지의 목적지 주소가 "C001XXX1001", "C001XXX1002", "C001XXX1003" 또는 "C001XXX1004"라면, 각각 "001", "002", "003" 또는 "004"를 추출한다.
또한, 데이터 송/수신 방법은 식별한 클라이언트 주소에 상응하는 클라이언트 단말기로 상기 수신된 메시지를 전달한다(S760).
즉, 연결 관리 서버에는 클라이언트 주소에 따른 라우팅 정보를 저장해둔 라우팅 테이블이 있으므로, 연결 관리 서버에서 식별된 클라이언트 주소를 이용하여 메시지가 적절한 클라이언트 단말기로 전달된다.
도 7를 통하여 설명한 방법과 관련하여 설명하지 아니한 내용은 앞서 통신 네트워크 시스템에 관한 실시예들에서 그대로 적용 가능하므로 이하 생략한다.
본 발명에 따른 데이터 송/수신 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
도 8은 본 발명에 따른 데이터 송/수신 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.
컴퓨터 장치(800)는 램(RAM: Random Access Memory)(820)과 롬(ROM: Read Only Memory)(830)을 포함하는 주기억장치와 연결되는 하나 이상의 프로세서(810)를 포함한다. 프로세서(810)는 중앙처리장치(CPU)로 불리기도 한다. 본 기술분야 에서 널리 알려져 있는 바와 같이, 롬(830)은 데이터(data)와 명령(instruction)을 단방향성으로 CPU에 전송하는 역할을 하며, 램(820)은 통상적으로 데이터와 명령을 양방향성으로 전송하는 데 사용된다. 램(820) 및 롬(830)은 컴퓨터 판독 가능 매체의 어떠한 적절한 형태를 포함할 수 있다. 대용량 기억장치(Mass Storage)(840)는 양방향성으로 프로세서(810)와 연결되어 추가적인 데이터 저장 능력을 제공하며, 상기된 컴퓨터 판독 가능 기록 매체 중 어떠한 것일 수 있다. 대용량 기억장치(840)는 프로그램, 데이터 등을 저장하는데 사용되며, 통상적으로 주기억장치보다 속도가 느린 하드 디스크와 같은 보조기억장치이다. CD 롬(860)과 같은 특정 대용량 기억장치가 사용될 수도 있다. 프로세서(810)는 비디오 모니터, 트랙볼, 마우스, 키보드, 마이크로폰, 터치스크린 형 디스플레이, 카드 판독기, 자기 또는 종이 테이프 판독기, 음성 또는 필기 인식기, 조이스틱, 또는 기타 공지된 컴퓨터 입출력장치와 같은 하나 이상의 입출력 인터페이스(850)와 연결된다. 마지막으로, 프로세서(810)는 네트워크 인터페이스(870)를 통하여 유선 또는 무선 통신 네트워크에 연결될 수 있다. 이러한 네트워크 연결을 통하여 상기된 방법의 절차를 수행할 수 있다. 상기된 장치 및 도구는 컴퓨터 하드웨어 및 소프트웨어 기술 분야의 당업자에게 잘 알려져 있다. 한편, 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
본 발명의 통신 네트워크 시스템 및 데이터 송/수신 방법은 클라이언트 단말기와의 연결을 별도의 연결 관리 서버에서 전담함으로써, 클라이언트 단말기와 서비스 서버 사이의 연결을 단순화하고, 연결 관리 서버에서 클라이언트 단말기와의 연결을 관리하고, 내부 라우터는 내부 네트워크 내의 연결 관리만을 수행하도록 하여 통신 네트워크 시스템을 효과적으로 관리할 수 있다.
또한, 본 발명은 클라이언트 측의 외부 네트워크와 서버 측의 내부 네트워크를 분리하고, 내부 네트워크에서는 서버 주소만을 이용하여 메시지 라우팅을 처리함으로써 효과적으로 통신 네트워크 시스템을 구축할 수 있다.
또한, 본 발명은 기존에 서비스 서버가 수행하던 클라이언트와의 연결 관리를 연결 관리 서버에서 처리하도록 하여 기능에 따라 적절히 컴포넌트화된 통신 네트워크 시스템을 구축할 수 있다.
또한, 본 발명은 클라이언트 단말기들이 서비스 서버들과 직접 TCP/IP 연결을 설정하지 아니하고, 연결 관리 서버와 TCP/IP 연결을 설정하기 때문에, 클라이언트 단말기들로 서비스 서버들의 IP 주소를 노출하지 아니하고, 서버 주소 필드 및 클라이언트 주소 필드를 포함하는 본 발명의 네트워크 주소만이 노출되도록 할 수 있어 서비스 서버들에 대한 보안을 효과적으로 강화하고, 보안 이슈가 발생하는 경우에도 서비스 서버들을 수정할 필요 없이 연결 관리 서버를 수정하면 되므로 신속하고 효과적인 대응을 할 수 있다.

Claims (22)

  1. 삭제
  2. 각각 대응하는 서버 주소를 가지는 복수 개의 서비스 서버들;
    대응하는 자신의 서버 주소를 가지며, 연결된 클라이언트 단말기에 상기 자신의 서버 주소에 소정의 클라이언트 주소를 결합한 네트워크 주소를 할당하고, 상기 복수 개의 서비스 서버들과 상기 클라이언트 단말기 사이의 메시지를 전달함에 있어, 상기 메시지의 발신 주소 및 목적지 주소의 변경 없이 상기 메시지를 전달하는 것을 특징으로 하는 연결 관리 서버; 및
    상기 클라이언트 주소는 무시하고, 상기 서버 주소만을 이용하여 메시지 라우팅을 처리하는 내부 라우터
    를 포함하는 것을 특징으로 하는 통신 네트워크 시스템.
  3. 제2항에 있어서,
    상기 연결 관리 서버의 라우팅 테이블에는 상기 클라이언트 주소 및 상기 클라이언트 주소에 대응되는 라우팅 정보가 저장되고,
    상기 내부 라우터의 라우팅 테이블에는 상기 서버 주소 및 상기 서버 주소에 대응되는 라우팅 정보가 저장되는 것을 특징으로 하는 통신 네트워크 시스템.
  4. 제2항에 있어서,
    상기 통신 네트워크 시스템은 상기 내부 라우터 측에서 상기 연결 관리 서버를 상기 복수 개의 서비스 서버들과 대등하게 인식하는 것을 특징으로 하는 통신 네트워크 시스템.
  5. 제2항에 있어서,
    상기 네트워크 주소는 서버 주소 필드 및 클라이언트 주소 필드를 포함하고, 상기 내부 라우터는 상기 클라이언트 주소 필드를 마스킹(masking)하여 메시지 라우팅을 처리하는 것을 특징으로 하는 통신 네트워크 시스템.
  6. 제5항에 있어서,
    상기 연결 관리 서버는 상기 클라이언트 주소 필드를 이용하여 클라이언트 단말기를 식별하는 것을 특징으로 하는 통신 네트워크 시스템.
  7. 제5항에 있어서,
    상기 네트워크 주소는 캐스트 타입 식별 필드, IDC 식별 필드 및 확장 필드를 더 포함하는 것을 특징으로 하는 통신 네트워크 시스템.
  8. 제2항에 있어서,
    상기 연결 관리 서버는 상기 클라이언트 단말기와 암호화된 보안 통신을 수행하는 것을 특징으로 하는 통신 네트워크 시스템.
  9. 제2항에 있어서,
    상기 클라이언트 단말기는 상기 연결 관리 서버 이외에도 하나 이상의 보조 연결 관리 서버에 동시에 연결되고,
    상기 연결 관리 서버를 통한 연결에 이상이 발생하는 경우에 상기 연결 관리 서버는 새로운 클라이언트 단말기의 접속 요구를 거부하고, 상기 클라이언트 단말기는 상기 보조 연결 관리 서버를 통하여 메시지를 전송하는 것을 특징으로 하는 통신 네트워크 시스템.
  10. 제9항에 있어서,
    상기 보조 연결 관리 서버는
    상기 클라이언트 단말기가 상기 보조 연결 관리 서버를 통하여 메시지를 전송하는 경우에, 상기 클라이언트 단말기로부터 상기 복수 개의 서비스 서버들로 전송되는 메시지의 발신 주소의 서버 주소 필드에 상기 보조 연결 관리 서버의 서버 주소를 기록하여 상기 메시지를 전송하는 것을 특징으로 하는 통신 네트워크 시스템.
  11. 제2항에 있어서,
    상기 통신 네트워크 시스템은 상기 클라이언트 단말기와 상기 연결 관리 서버 사이에 L4 스위치를 구비하여 로드밸런싱하는 것을 특징으로 하는 통신 네트워크 시스템.
  12. 제2항에 있어서,
    상기 통신 네트워크 시스템은 상기 클라이언트 단말기와 상기 복수 개의 서비스 서버들 중 하나 사이에 연결 생성 메시지가 정상적으로 왕복하면 상기 클라이언트 단말기와 상기 서비스 서버들 중 하나 사이에 가상 연결(virtual connection)이 설정되도록 하는 것을 특징으로 하는 통신 네트워크 시스템.
  13. 제12항에 있어서,
    상기 통신 네트워크 시스템은 상기 가상 연결이 설정된 클라이언트 단말기와 서비스 서버 사이에 연결 종료 메시지가 정상적으로 왕복하면 상기 가상 연결을 종료시키는 것을 특징으로 하는 통신 네트워크 시스템.
  14. 제12항에 있어서,
    상기 가상 연결이 설정된 클라이언트 단말기와 해당 연결 관리 서버 사이의 TCP/IP 연결이 종료되면 상기 가상 연결도 종료되는 것을 특징으로 하는 통신 네트워크 시스템.
  15. 클라이언트 단말기로부터 수신된 주소 할당 요청에 응답하여 연결 관리 서버가 자신의 서버 주소에 소정의 클라이언트 주소를 결합한 네트워크 주소를 생성하여 상기 클라이언트 단말기에 할당하는 단계;
    상기 클라이언트 단말기로부터 발신 주소에 상기 네트워크 주소를 포함하고 목적지 주소에 특정 서비스 서버의 서버 주소를 포함하는 송신 메시지를 수신하는 단계; 및
    상기 송신 메시지의 발신 주소 및 목적지 주소의 변경 없이 상기 송신 메시지를 상기 서버 주소만으로 어드레싱되는 내부 네트워크로 전송하는 단계
    를 포함하는 것을 특징으로 하는 데이터 송/수신 방법.
  16. 제15항에 있어서,
    상기 데이터 송/수신 방법은
    상기 내부 네트워크로부터 목적지 주소에 상기 자신의 서버 주소를 포함하는 수신 메시지를 수신하는 단계;
    상기 수신 메시지의 목적지 주소에 포함된 클라이언트 주소를 식별하는 단계; 및
    상기 식별한 클라이언트 주소에 상응하는 클라이언트 단말기로 상기 수신된 메시지를 전달하는 단계
    를 더 포함하는 것을 특징으로 하는 데이터 송/수신 방법.
  17. 제15항에 있어서,
    상기 네트워크 주소는 서버 주소 필드 및 클라이언트 주소 필드를 포함하고, 상기 내부 네트워크는 상기 클라이언트 주소 필드를 마스킹(masking)하여 메시지 라우팅을 처리하는 것을 특징으로 하는 데이터 송/수신 방법.
  18. 제15항에 있어서,
    상기 연결 관리 서버는 상기 클라이언트 단말기와 암호화된 보안 통신을 수행하는 것을 특징으로 하는 데이터 송/수신 방법.
  19. 제15항에 있어서,
    상기 클라이언트 단말기는 상기 연결 관리 서버 이외에도 하나 이상의 보조 연결 관리 서버에 동시에 연결되고,
    상기 연결 관리 서버를 통한 연결에 이상이 발생하는 경우에 상기 연결 관리 서버는 새로운 클라이언트 단말기의 접속 요구를 거부하고, 상기 클라이언트 단말기는 상기 보조 연결 관리 서버를 통하여 메시지를 전송하는 것을 특징으로 하는 데이터 송/수신 방법.
  20. 제19항에 있어서,
    상기 보조 연결 관리 서버는
    상기 클라이언트 단말기가 상기 보조 연결 관리 서버를 통하여 메시지를 전 송하는 경우에, 상기 클라이언트 단말기로부터 상기 복수 개의 서비스 서버들로 전송되는 메시지의 발신 주소의 서버 주소 필드에 자신의 서버 주소를 기록하여 상기 메시지를 전송하는 것을 특징으로 하는 데이터 송/수신 방법.
  21. 제15항에 있어서,
    상기 데이터 송/수신 방법은 상기 클라이언트 단말기와 상기 복수 개의 서비스 서버들 중 하나 사이에 연결 생성 메시지가 정상적으로 왕복하면 상기 클라이언트 단말기와 상기 서비스 서버들 중 하나 사이에 가상 연결(virtual connection)이 설정되도록 하는 것을 특징으로 하는 데이터 송/수신 방법.
  22. 제15항 내지 제21항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR1020050123971A 2005-12-15 2005-12-15 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법 KR100684165B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050123971A KR100684165B1 (ko) 2005-12-15 2005-12-15 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050123971A KR100684165B1 (ko) 2005-12-15 2005-12-15 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법

Publications (1)

Publication Number Publication Date
KR100684165B1 true KR100684165B1 (ko) 2007-02-20

Family

ID=38103915

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050123971A KR100684165B1 (ko) 2005-12-15 2005-12-15 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법

Country Status (1)

Country Link
KR (1) KR100684165B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102421567B1 (ko) * 2022-04-29 2022-07-15 주식회사 프랭클린테크놀로지 단말 그룹핑 기반의 인터넷 접속 관리 서비스를 제공할 수 있는 인터넷 접속 관리 서비스 서버 및 그 동작 방법
US11658981B1 (en) 2022-04-29 2023-05-23 Franklin Technology Inc. Internet access management service server capable of providing internet access management service based on terminal grouping and operating method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040093656A (ko) * 2002-07-29 2004-11-06 아이피 토크 가부시키가이샤 인터넷 통신 시스템 및 인터넷 통신 방법 및 세션 관리서버 및 무선 통신 장치 및 통신 중계 서버 및 프로그램

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040093656A (ko) * 2002-07-29 2004-11-06 아이피 토크 가부시키가이샤 인터넷 통신 시스템 및 인터넷 통신 방법 및 세션 관리서버 및 무선 통신 장치 및 통신 중계 서버 및 프로그램

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102421567B1 (ko) * 2022-04-29 2022-07-15 주식회사 프랭클린테크놀로지 단말 그룹핑 기반의 인터넷 접속 관리 서비스를 제공할 수 있는 인터넷 접속 관리 서비스 서버 및 그 동작 방법
US11658981B1 (en) 2022-04-29 2023-05-23 Franklin Technology Inc. Internet access management service server capable of providing internet access management service based on terminal grouping and operating method thereof
WO2023210860A1 (ko) * 2022-04-29 2023-11-02 주식회사 프랭클린테크놀로지 단말 그룹핑 기반의 인터넷 접속 관리 서비스를 제공할 수 있는 인터넷 접속 관리 서비스 서버 및 그 동작 방법

Similar Documents

Publication Publication Date Title
US20220070095A1 (en) Data transmission method and apparatus, network adapter, and storage medium
WO2019227928A1 (zh) 一种负载均衡方法及其装置
US8289867B2 (en) Message routing mechanism for communication networks
US20040177158A1 (en) Network address translation techniques for selective network traffic diversion
US8737388B2 (en) Method, apparatus and system for processing packets
CN1954576B (zh) 处理启动请求的方法、装置和系统
US7792140B2 (en) Reflecting the bandwidth assigned to a virtual network interface card through its link speed
EP3117588B1 (en) Scalable address resolution
US9596186B2 (en) Multiple processes sharing a single infiniband connection
JP2022033791A (ja) Brasシステムベースのパケットカプセル化方法および装置
CN111787079B (zh) 基于通信群组的通信方法、装置、服务器、系统及介质
EP4170939A1 (en) Service processing method and apparatus, and device, and system
WO2013178099A1 (zh) 一种实现远程桌面的系统、方法、客户端和服务中心
CN110012118B (zh) 一种提供网络地址转换nat服务的方法及控制器
US6742075B1 (en) Arrangement for instigating work in a channel adapter based on received address information and stored context information
JP4820940B2 (ja) ポート群を動的に専用化するプロセッサ間通信ネットワーク
JP2006180480A (ja) 動的アドレスを使用してルーティングを実行するネットワークシステム及びその方法
KR100684166B1 (ko) 멀티캐스트 통신 네트워크 시스템 및 이를 이용한 데이터송/수신 방법
KR20050008526A (ko) 컴퓨터 판독가능 매체
CN103503421A (zh) 负荷平衡系统中的sctp关联端点重定位
KR100684165B1 (ko) 통신 네트워크 시스템 및 이를 이용한 데이터 송/수신 방법
CN113452778A (zh) 会话保持方法、装置、设备、系统及存储介质
CN112968919B (zh) 一种数据处理方法、装置、设备和存储介质
US20080016166A1 (en) Host posing network device and method thereof
US9497088B2 (en) Method and system for end-to-end classification of level 7 application flows in networking endpoints and devices

Legal Events

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

Payment date: 20120130

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131224

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151223

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161227

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 14