KR101410510B1 - Sctp를 이용한 데이터 전송 방법 및 장치 - Google Patents

Sctp를 이용한 데이터 전송 방법 및 장치 Download PDF

Info

Publication number
KR101410510B1
KR101410510B1 KR1020080012334A KR20080012334A KR101410510B1 KR 101410510 B1 KR101410510 B1 KR 101410510B1 KR 1020080012334 A KR1020080012334 A KR 1020080012334A KR 20080012334 A KR20080012334 A KR 20080012334A KR 101410510 B1 KR101410510 B1 KR 101410510B1
Authority
KR
South Korea
Prior art keywords
sctp
variable
service
control request
bundling
Prior art date
Application number
KR1020080012334A
Other languages
English (en)
Other versions
KR20090024051A (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 KR20090024051A publication Critical patent/KR20090024051A/ko
Application granted granted Critical
Publication of KR101410510B1 publication Critical patent/KR101410510B1/ko

Links

Images

Classifications

    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • 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

Landscapes

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

Abstract

본 발명은 데이터 전송 방법 및 장치에 관한 것으로, 본 발명의 일 실시예에 따른 데이터 전송 방법은, a) SCTP를 이용하여 적어도 두 노드 간 SCTP 연결을 설정하는 단계; b) 확장 소켓 옵션을 이용하여 애플리케이션으로부터 설정된 SCTP 연결(association)에 대한 서비스 제어 요청을 수신하는 단계; 및 c) 수신된 서비스 제어 요청에 따라 설정된 SCTP 연결에 대한 서비스를 인이에블 또는 디스에이블 하는 단계를 포함하며, 필요에 따라 사용자가 PRSCTP 기능이나 청크 번들링 기능을 인에이블/디스에이블 하도록 제어할 수 있다.
스트림 제어 전송 프로토콜, SCTP, 부분 신뢰성, PRSCTP, 번들링

Description

SCTP를 이용한 데이터 전송 방법 및 장치{Method and apparatus for data transferring using Stream Control Transfer Protocol}
본 발명은 데이터 전송 방법 및 장치에 관한 것으로, 특히 스트림 제어 전송 프로토콜(SCTP)을 이용하여 데이터를 전송하는 방법 및 장치에 관련된다.
최근 스트림 제어 전송 프로토콜(Stream Control Transfer Protocol: 이하 SCTP라 함)콜이 TCP/UDP를 대체할 차세대 전송계층 프로토콜로 주목받고 있다. 인터넷의 실시간 멀티미디어 서비스에 대한 다양한 요구사항에도 불구하고, 최근까지 인터넷에서의 전송계층 프로토콜은 TCP 및 UDP로 제한되어 왔다. 그러나, TCP 및 UDP 기반의 인터넷 프로토콜은 기존의 PSTN 망에서 제공되던 전화서비스를 제공하거나 멀티미디어 스트리밍 서비스를 제공하기에는 부적합하다.
SCTP는 PSTN 망에서 사용되는 시그널 메시지를 인터넷의 IP 네트워크 상에서 전송하기 위하여 IETF SIGTRAN 워킹 그룹에서 2000년 10월 표준으로 제안한 전송계층의 프로토콜이다. SCTP는 UDP의 메시지 지향 특성과 TCP의 연결 지향 특성을 가진 프로토콜로 신뢰성 있는 데이터 전송이 가능하며, 연결(association) 설정 시 발행할 수 있는 DOS(Denial of Service Attacks) 공격에도 안전하도록 설계되어 있 다. 또한, 하나의 연결로 여러 개의 애플리케이션 스트림을 전송하는 멀티스트리밍(multi-streaming) 특성과 여러 개의 네트워크 IP 주소를 바인딩하는 멀티홈잉(multi-homing) 특성을 제공한다.
SCTP는 VoIP(Voice over IP) 신호 전달 외에도 멀티미디어를 전송하는 웹 애플리케이션, AAA(Authentication, Authorization, Accounting) 등의 고도의 신뢰성을 요구하는 보안 애플리케이션, 실시간 신뢰성을 요구하는 미션-크리티컬(mission-critical) 애플리케이션 서비스 등의 하부 프로토콜로 사용될 수 있으며, 최근 이슈화 되고 있는 all-IP 기반 이동통신망에서 핸드오버 기능을 용이하게 제공하기 위한 하부 프로토콜로 사용될 수 있을 것으로 예상된다.
현재 IETF에서는 SCTP 기본 규격 제정 작업을 마치고, 구현, 검증 및 추가 기능 확장작업을 진행중이다. 현재 활발히 논의 중인 SCTP 추가 확장작업으로는 부분 신뢰성(Partial Reliable) 제공 기능이 있다.
1) PRSCTP
특히, 부분 신뢰성 제공 기능을 가진 PRSCTP(Partial Reliable SCTP)는 실시간 애플리케이션을 위해 제정되고 있으며, SCTP 데이터 전송 도중에 시간에 민감한(time-critical)한 스트림에 대하여는 오류 제어를 중단하고 곧 바로 애플리케이션계층에 데이터를 전달할 수 있는 기능을 제공한다.
PRSCTP 기능을 사용하기 위하여는 SCTP 송수신 노드 간에 연결 설정, 즉 초기화 단계에서부터 PRSCTP 기능을 지원할 것인지 여부를 협상해야 한다. PRSCTP 지 원 여부에 대한 정보는 연결 설정 동안 INIT 및 INIT-ACK 메시지로 교환된다. 일단 데이터 전송이 시작된 후에, 송신 노드는 필요에 따라 특정 TSN(Transmission Sequence Number) 번호 이전의 데이터에 대해서는 신뢰성 제공 기능을 중지하도록 상대편 종단 노드에 통지할 수 있다. 수신 노드는 PRSCTP 신호를 받은 경우 자신의 버퍼에 있는 해당 데이터 청크(chunk)들을 곧바로 상위 애플리케이션계층에 전달한다. 이러한 확장 기능은 주로 시간적 제약을 갖는 애플리케이션 데이터 전송에 사용될 수 있다.
2) 청크 번들링(chunk bundling)
한편, SCTP는 전송하는 SCTP 패킷 안에 여러 개의 청크를 포함하도록 할 수 있다. 청크 번들링 속성이 인에이블되면 SCTP는 청크를 공통 헤더를 가지는 메시지에 추가한다. 여기서 메시지는 사용자 데이터 또는 SCTP 제어 메시지일 수 있다. SCTP는 기본적으로 항상 청크 번들링을 지원한다. 청크 번들링을 인에이블 또는 디스에이블하는 것은 단지 다음 메시지가 번들링되는 최소 지정 시간을 기다릴지 여부를 결정할 뿐이다. 청크 번들링을 인에이블하면 청크는 다음 메시지가 번들링되는 시간동안 기다린다.
이상에서 설명한 기능들은 그 자체의 장점을 가지지만, 전술한 기능들은 연결이 설정되는 초기화 단계에서 설정되어 연결이 해제될 때까지 동일하게 유지된다. 즉, 설정된 연결이 유지되는 동안 초기에 설정된 기능을 그대로 유지하게 되 며, 연결이 유지되는 동안에 사용자가 필요에 따라 전술한 기능을 메시지 단위로 인에이블 시키거나 디스에이블 하도록 제어할 수 없다는 문제점이 있다.
실제 실시간 멀티미디어 데이터 전송에 있어서, 메시지 또는 애플리케이션의 속성에 따라 반드시 신뢰성 전달을 요구하는 메시지(예를 들면 보안 관련 메시지)가 있을 수도 있으며 시간에 민감한 애플리케이션의 경우 비신뢰성 전달을 용인하는 메시지(예를 들면 실시간 데이터 메시지)가 있을 수도 있다. 또한, 절박한 시간 요구를 가지는 애플리케이션의 경우 번들링을 디스에이블할 필요가 발생하기도 한다.
따라서, 본 발명은 전술한 필요성에 따라 사용자가 PRSCTP 기능이나 청크 번들링 기능을 인에이블/디스에이블 하도록 제어할 수 있는 SCTP를 이용한 데이터 전송 방법 및 장치를 제공한다.
본 발명의 일 양상에 따른 스트림 제어 전송 프로토콜(SCTP)을 이용한 데이터 전송 방법은, a) SCTP를 이용하여 적어도 두 노드 간 SCTP 연결을 설정하는 단계; b) 확장 소켓 옵션을 이용하여 애플리케이션으로부터 설정된 SCTP 연결(association)에 대한 서비스 제어 요청을 수신하는 단계; 및 c) 수신된 서비스 제어 요청에 따라 설정된 SCTP 연결에 대한 서비스를 인이에블 또는 디스에이블 하는 단계를 포함한다.
여기서 SCTP 연결에 대한 서비스 제어 요청은, 부분 신뢰(Partial Reliable) SCTP 서비스 제어 요청 또는 번들링(bundling) 서비스 제어 요청을 포함할 수 있 다.
또한, 확장 소켓 옵션은 애플리케이션이 커널에 접근하는 표준화된 애플리케이션 프로그램 인터페이스(Application Program Interface: 이하 API라 함)를 제공할 수 있으며, 확장 소켓 옵션은 SCTP_ENABLE_PRSCTP 변수 또는 SCTP_ENABLE_BUNDLING 변수를 포함할 수 있다.
이때 SCTP_ENABLE_PRSCTP 변수 또는 SCTP_ENABLE_BUNDLING 변수는 부울리언 (Boolean) 값을 가질 수 있다.
또한, 확장 소켓 옵션은 복수의 IP 주소를 지원하는 멀티 홈(multi-homed) SCTP 노드 상에서 바운드 주소 리스트의 수를 검색하는 변수를 포함할 수 있으며,
확장 소켓 옵션은 복수의 IP 주소를 지원하는 멀티 홈 SCTP 노드 상에서 바운드 주소 리스트를 검색하는 변수를 포함할 수 있다.
한편, 본 발명의 다른 양상에 따른, 스트림 제어 전송 프로토콜(SCTP)을 이용한 데이터 전송 장치는, SCTP를 이용하여 적어도 하나의 노드와 SCTP 연결을 설정하는 연결 설정부; 적어도 하나의 애플리케이션으로부터 확장 소켓 옵션을 이용하여 상기 설정된 SCTP 연결(association)에 대한 서비스 제어 요청을 수신하는 제어요청 수신부; 및 수신된 서비스 제어 요청에 따라 설정된 SCTP 연결에 대한 서비스를 인이에블 또는 디스에이블 하는 서비스 제어부를 포함한다.
이하에서는 첨부한 도면을 참조하여 본 발명의 일 실시예를 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명 이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
설명의 편의를 위하여 본 발명의 일 실시예에서 사용되는 용어를 정리하면 다음과 같다.
멀티홈잉(Multihoming)은 SCTP의 핵심 기능으로서 하나의 SCTP 종단(endpoint) 노드가 복수의 IP 주소를 지원하는 기능을 가리킨다. SCTP 연결이 여러개의 IP 주소를 동시에 사용할 수 있도록 하여 연결 도중 네트워크 장애가 발생하는 경우 대체 경로(대체 IP 주소)를 통해 연결이 유지되도록 한다.
멀티스트리밍(Multi Streaming)은 전송할 데이터를 독립적인 순서에 따라 전달되는 속성을 가진 복수의 스트림으로 분할하는 기능을 말한다. 연결 설정 단계에서 송신측은 자신이 전송할 스트림의 개수를 수신측에 통보하며, 전송 단계에서 각 스트림 별로 독립적인 순서화(ordering) 기능이 제공된다. 이에 따라 하나의 스트림에서 메시지를 잃어버리더라도 해당 스트림의 초기에만 영향을 미칠 뿐 다른 스트림들의 전송에는 영향을 미치지 않는다.
PRSCTP 서비스(Partial Reliable SCTP Service)는 전송 서비스가 얼마나 지속적으로 수신단에 메시지를 보내도록 시도할지에 대한 규칙을 메시지 단위로 지정하는 서비스이다. 이에 따라, SCTP 데이터 전송 도중에 시간에 민감한(time- critical)한 스트림에 대하여는 오류 제어를 중단하고 곧 바로 애플리케이션계층에 데이터를 전달할 수 있는 기능을 제공한다.
SCTP 스트림은 SCTP에서 상위 계층 프로토콜(Upper Layer Protocol)로 순차적으로 전달되어야 하는 일련의 사용자 메시지들을 가리킨다.
본 발명의 일 실시예에서는 사용자가 필요에 따라 PRSCTP 서비스를 인에이블 또는 디스에이블을 제어하도록 하는 방법을 제안한다. 이를 위하여 본 발명에서는 새로운 소켓 옵션을 제공한다.
도 1은 본 발명의 일 실시예에 따른 SCTP 프로토콜의 구조를 도시한 참고도이다.
도 1에 도시된 바와 같이, SCTP는 전송 계층의 프로토콜로서 애플리케이션 계층(40)과 네트워크 계층(10) 사이에 위치한다. SCTP는 SCTP 노드간에 애플리케이션 데이터를 API(Application Programming Interface)(30)로 전달 받아 IP 네트워크 망을 통해 전송하는 기능을 수행한다. 각 SCTP 단말은 하나의 SCTP 연결에서 여러개의 IP 주소를 사용할 수 있다.
SCTP는 두 지점 간에 메시지 전송을 위해 멀티홈잉 및 멀티스트리밍 기능을 제공한다. 두 SCTP 지점 간의 SCTP 연결세션을 "SCTP 연결(association)"이라 한다. 특정 SCTP 연결에서의 전송 절차는 크게 연결설정 단계(또는 초기화 단계), 데이터 전송 단계, 및 연결종료 단계(shutdown)로 나뉘어 진다.
SCTP 패킷 또는 PDU(Protocol Data Unit)은 하나의 공통 헤더와 여러 개의 청크(chunk)들로 구성되며, 각 청크는 제어 정보 또는 애플리케이션 데이터를 포함 한다. SCTP 스트림에서 각 데이터는 순차적으로 전송되며, 멀티홈잉 특성을 이용하여 망 장애에 대비한 복구 기능을 수행할 수 있다.
본 발명의 일 실시예에 따른 SCTP를 이용한 데이터 전송 장치는 사용자가 필요에 따라 전술한 PRSCTP 서비스 또는 번들링 서비스를 인에이블 또는 디스에이블을 제어하도록 하기 위하여 확장 API(30)를 제공한다. 확장 API(30)는 PRSCTP 서비스 또는 번들링 서비스를 인에이블 또는 디스에이블하기 위한 새로운 소켓 옵션(socket option)을 포함한다. 새로 정의되는 소켓 옵션 변수들을 설정 또는 해제함으로써 SCTP 연결이 유지되는 동안에도 해당 서비스를 사용자가 제어할 수 있게 된다.
도 2는 본 발명의 일 실시예에 따른 SCTP의 패킷 구조를 도시한 참고도이다.
도 2를 참조하면, SCTP 패킷의 헤더에는 송신자 포트번호(source port), 수진자 포트번호(destination port), 검증 태그(verification tag) 및 전체 패킷에 대한 체크섬 정보(checksum)가 포함된다. 검증 태그는 SCTP 연결 별로 할당되며 세션 식별자로 사용된다.
하나의 SCTP 패킷은 여러개의 제어 청크 및 데이터 청크를 포함할 수 있으며, 데이터 청크의 경우 타입(type), 길이(length) 정보와 함께 해당 데이터 청크에 대한 TSN(Transmission Sequence Number), SSN(Stream Sequence Number) 번호를 포함하여 오류제어 및 흐름제어 등에 이용된다. SCTP는 데이터 청크와 함께 제어 청크를 사용하며, 추후 SCTP 확장 작업과 함께 제어 청크의 수는 증가할 수 있다.
도 3은 본 발명의 일 실시예에 따른 SCTP를 이용한 데이터 전송 장치의 구성 도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 SCTP를 이용한 데이터 전송 장치는 연결 설정부(22), 제어요청 수신부(24), 및 서비스 제어부(26)를 포함한다. 본 발명의 일 실시예에 따른 SCTP를 이용한 데이터 전송 장치는 애플리케이션 프로그램(40) 상에서 소켓 옵션 함수를 포함하는 확장 API(30)를 통해 SCTP 연결(10)의 PRSCTP 서비스 또는 번들링 서비스를 제어할 수 있다.
연결 설정부(22)는 SCTP를 이용하여 적어도 하나의 노드와 SCTP 연결을 설정한다. PRSCTP 서비스를 위한 정보는 SCTP 연결 설정 과정 동안 INIT 및 INIT-ACK 메시지로 노드간에 교환된다.
제어요청 수신부(24)는 적어도 하나의 애플리케이션으로부터 확장 소켓 옵션(30)을 이용하여 설정된 SCTP 연결에 대한 서비스 제어 요청을 수신한다. SCTP 연결에 대한 서비스 제어 요청은 부분 신뢰(Partial Reliable) SCTP 서비스 제어 요청 또는 번들링(bundling) 서비스 제어 요청을 포함할 수 있다.
여기서 확장 소켓 옵션은 애플리케이션(application)이 커널에 접근하는 표준화된 수단을 제공한다. SCTP 전송 계층은 커널 모듈의 일부로 구현되므로, 소켓 API에 의해서만 액세스할 수 있다. 따라서, 본 발명의 일 실시예에 따른 확장 소켓 API(30)는 소켓 옵션 변수로서 SCTP_ENABLE_PRSCTP 변수 또는 SCTP_ENABLE_BUNDLING 변수를 포함할 수 있다. SCTP_ENABLE_PRSCTP 변수는 PRSCTP 서비스를 인에이블/디스에이블 하기 위한 확장 API이며, SCTP_ENABLE_BUNDLING 변수는 번들링 서비스를 인에이블/디스에이블 하기 위한 확장 API이다. SCTP_ENABLE_PRSCTP 변수 또는 SCTP_ENABLE_BUNDLING 변수는 각 서비스의 설정 또는 해제를 위하여 부울리언 (Boolean) 값을 가질 수 있다.
또한, 확장 소켓 옵션은 복수의 IP 주소를 지원하는 멀티 홈(multi-homed) SCTP 노드 상에서 바운드 주소 리스트의 수를 검색하는 변수 또는 바운드 주소 리스트를 검색하는 변수를 포함할 수 있다.
서비스 제어부(26)는, 전술한 바와 같이 수신된 서비스 제어 요청에 따라 설정된 SCTP 연결에 대한 PRSCTP 서비스 또는 번들링 서비스를 인이에블 또는 디스에이블 한다. 이에 따라, SCTP 연결이 설정된 이후에 SCTP 연결이 유지되는 동안에도 사용자가 확장 API(30)에 정의된 소켓 옵션 변수들을 이용하여 SCTP 연결을 제어할 수 있게 된다.
본 발명의 일 실시예는 SCTP 종단 노드(endpoint)에서 필요하지 않은 경우 PRSCTP 서비스를 제거하기 위한 PRSCTP 확장 서비스 기능을 제공한다. 즉, 본 발명의 일 실시예에 따르면, PRSCTP 서비스가 필요하지 않거나 또는 PRSCTP 서비스를 해제하려 할 때, 운영체제의 커널에 액세스할 수 있는 소켓 옵션을 토해 PRSCTP 서비스를 설정하는 메카니즘을 제공한다.
본 발명의 일 실시예에 따르면, SCTP 확장 API에는 다음과 같은 소켓 옵션 변수들이 추가될 수 있다.
1) SCTP_ENABLE_PRSCTP
애플리케이션이 PRSCTP 서비스를 인에이블/디스에이블 하도록 제어하는 변수
2) SCTP_ENABLE_BUNDLING
애플리케이션이 번들링 서비스를 인에이블/디스에이블 하도록 제어하는 변수
이러한 변수들은 SCTP 연결의 설정을 변경하기 위한 구성(configuration) 정보로서 사용자 또는 애플리케이션 프로그램으로부터 입력될 수 있다.
보다 구체적으로, 도 4 및 도 5는 본 발명의 일 실시예에 따른 데이터 전송 장치의 서비스 제어 응용예를 도시한다.
도 4를 참조하면, SCTP 소켓을 위한 SET 소켓 옵션은 SCTP_ENABLE_PRSCTP 변수를 포함하도록 확장될 수 있다. 소켓 옵션은 부분 신뢰성 지원 서비스(PRSCTP)를 인에이블/디스에이블 하는 부울리언 변수 값을 가진다. SCTP를 이용한 데이터 전송 장치가 이러한 요구를 받으면, 애플리케이션에서 요구한대로 부분 신뢰성 지원 서비스(PRSCTP)를 설정 또는 해제하기 위하여 INIT 청크를 연결된 노드에 전송한다. SCTP 연결이 유지되는 동안 소켓 단위로 RPSCTP 서비스의 지원 여부를 변경할 수 있다. 사용자는 애플리케이션 프로그램(40) 상에서 SCTP_ENABLE_PRSCTP 변수 값을 설정 또는 해제함으로써, 확장 API(30)를 통해 SCTP 연결의 PRSCTP 서비스 지원 여부를 제어할 수 있다.
도 5를 참조하면, SCTP 소켓을 위한 SET 소켓 옵션은 SCTP_ENABLE_BUNDLING 변수를 포함하도록 확장될 수 있다. 애플리케이션에 의해 사용되는 SCTP_ENABLE_BUNDLING 는 각 연결된 소켓에 대하여 청크 번들링을 인에이블/디스에이블 시키는 확장 소켓 옵션 변수로서, 번들링을 인에이블/디스에이블 시키는 부울리안 값을 가진다. 이것은 사용자 메시지 또는 SCTP 제어 메시지를 번들링하는 동 안 SCTP의 행동에 영향을 줄 수 있다. 사용자는 애플리케이션 프로그램(40) 상에서 SCTP_ENABLE_BUNDLING 변수 값을 설정 또는 해제함으로써, 확장 API(30)를 통해 SCTP 연결의 번들링 서비스 지원 여부를 제어할 수 있다.
또한, 본 발명의 일 실시예에 따르면, SCTP의 PRSCTP 서비스 기능 또는 번들링 기능을 인에이블 또는 디스에이블 하는 다음과 같은 사용자 제어 기능(provision)이 제공될 수 있다.
1) PRSCTP 서비스를 SET 하는 새로운 소켓 옵션, 이에 따라 애플리케이션 프로그램의 요구에 따라 부분 신뢰성을 제공하는 메시지 전송을 제공하거나, 또는 네트워크 정체 상황에서도 완전히 신뢰성있는 메시지 전송을 보장할 수 있다.
2) 멀티홈잉을 위한 바운드 어드레스 리스트의 수를 GET 하는 새로운 소켓 옵션, SCTP_BOUND_ADDR_NUM
3) 멀팅홈잉을 위한 바운드 어드레스 리스트를 GET 하는 새로운 소켓 옵션, SCTP_BOUND_ADDR_LIST
이와 같이 확장된 소켓 옵션 변수들을 통해 애플리케이션이 모듈로 구현된 커널을 액세스하는 표준화된 방법을 제공할 수 있다. 이와 같이 추가된 소켓 옵션들은 SCTP 표준에 따른 애플리케이션 인터페이스의 통일성에 부합할 것이다.
요컨대, 본 발명의 일 실시예는 PRSCTP 서비스와 번들링 서비스를 제어하기 위한 새로운 소켓 옵션을 제공한다. 또한, 멀티홈잉을 위하여 SCTP 종단 노드에서 바운드 어드레스 검색을 위한 소켓 옵션을 포함한다. 이에 따라, 본 발명의 일 실시예에 따른 SCTP를 이용한 데이터 전송 장치는 다음과 같은 특징적인 기능을 가질 수 있다.
1) 멀티홈잉(Multi homing)
2) 멀티스트리밍(Multi Streaming)
3) 부분 신뢰성(Partial reliability)
4) 청크 번들링(Chunk Bundling)
SCTP는 커널 모듈의 일부이며, 소켓 API에 의해서만 액세스할 수 있다. SCTP 는 전송 계층 프로토콜로서, 기본적으로 PRSCTP 서비스와 번들링 서비스가 인에이블 된다. 그러나 PRSCTP 서비스 또는 번들링 서비스를 요구하지 않는 사용자가 있을 수 있다. 또한, 번들링과 관련된 시간이 애플리케이션 프로그램에 따라서는 매우 중요하여 이러한 지연을 참을 수 없는 애플리케이션 프로그램도 있을 수 있다. 나아가, 수신측의 윈도우 크기가 소진된 경우 PRSCTP 서비스를 인에이블할 필요가 있을 수 있다.
앞서 상세히 살펴본 바와 같이, 본 발명의 일 실시예에 따르면 메시지 또는 애플리케이션 프로그램의 특성에 맞추어 PRSCTP 서비스나 번들링 서비스를 인에이블/디스에이블 하여 제어할 수 있는 수단이 제공된다.
한편, 도 6은 본 발명의 일 실시예에 따른 SCTP를 이용한 데이터 전송 방법을 도시한 흐름도이다.
도 6을 참조하면, 본 발명에 따른 SCTP를 이용한 데이터 전송을 위하여, 먼저 SCTP 노드간 SCTP 연결을 설정한다(S500). 전술한 확장 소켓 옵션을 이용하여 애플리케이션 프로그램으로부터 설정된 SCTP 연결에 대한 서비스 제어 요청을 수신 한다(S510). 이때, PRSCTP 서비스 또는 번들링 서비스를 제어하기 위한 확장 소켓 옵션이 이용될 수 있다. 수신된 서비스 제어 요청에 따라 설정된 SCTP 연결에 대한 PRSCTP 서비스 또는 번들링 서비스를 인에이블 또는 디스에이블 시킨다(S520).
전술한 본 발명의 일 실시예에 따르면, 사용자가 PRSCTP 서비스를 인에이블/디스에이블하도록 제어할 수 있는 데이터 전송 장치 및 방법이 제공된다. 이에 따라, 필요에 따라 PRSCTP 서비스를 디스에이블 함으로써, 네트워크 정체 상황에서도 메시지 전송에 있어서 완벽한 신뢰성을 제공할 수 있다.
또한, 본 발명의 일 실시예에 따르면, PRSCTP 서비스와 번들링 서비스를 제어하기 위한 새로운 소켓 옵션들이 제공된다.
나아가, 멀티 홈잉을 지원하는 SCTP 종단 노드에서의 바운드 어드레스 리스트의 검색 방법이 제공된다.
본 발명의 일 실시예에 따르면, SCTP 연결 설정 시에 전체적으로 설정되는 SCTP의 기본 동작외에, SCTP 연결이 유지되는 동안 소켓 기반으로 SCTP 동작을 제어할 수 있는 방법이 제공된다.
이제까지 본 발명에 대하여 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있 으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 SCTP 프로토콜의 구조를 도시한 참고도,
도 2는 본 발명의 일 실시예에 따른 SCTP 프로토콜의 패킷 구조를 도시한 참고도,
도 3은 본 발명의 일 실시예에 따른 SCTP를 이용한 데이터 전송 장치의 구성도,
도 4 및 도 5는 본 발명의 일 실시예에 따른 데이터 전송 장치의 서비스 제어 응용예,
도 6은 본 발명의 일 실시예에 따른 SCTP를 이용한 데이터 전송 방법을 도시한 흐름도이다.

Claims (14)

  1. 삭제
  2. 스트림 제어 전송 프로토콜(Stream Control Transfer Protocol: 이하 SCTP 라 함)을 이용한 데이터 전송 방법에 있어서,
    a) 상기 SCTP를 이용하여 적어도 두 노드 간 SCTP 연결을 설정하는 단계;
    b) 확장 소켓 옵션을 이용하여 애플리케이션으로부터 상기 설정된 SCTP 연결(association)에 대한 서비스 제어 요청을 수신하는 단계; 및
    c) 상기 수신된 서비스 제어 요청에 따라 상기 설정된 SCTP 연결에 대한 서비스를, 상기 설정된 SCTP 연결이 유지되는 동안에, 인이에블 또는 디스에이블 하는 단계를 포함하고,
    상기 SCTP 연결에 대한 서비스 제어 요청은 부분 신뢰(Partial Reliable) SCTP 서비스 제어 요청 또는 번들링(bundling) 서비스 제어 요청을 포함하는 SCTP를 이용한 데이터 전송 방법.
  3. 제2항에 있어서,
    상기 확장 소켓 옵션은 애플리케이션이 커널에 접근하는 표준화된 애플리케이션 프로그램 인터페이스(Application Program Interface: 이하 API라 함)를 제공하는 SCTP를 이용한 데이터 전송 방법.
  4. 제2항에 있어서,
    상기 확장 소켓 옵션은 SCTP_ENABLE_PRSCTP 변수 또는 SCTP_ENABLE_BUNDLING 변수를 포함하는 SCTP를 이용한 데이터 전송 방법.
  5. 제4항에 있어서,
    상기 SCTP_ENABLE_PRSCTP 변수 또는 SCTP_ENABLE_BUNDLING 변수는 부울리언 (Boolean) 값을 가지는 SCTP를 이용한 데이터 전송 방법.
  6. 제2항에 있어서,
    상기 확장 소켓 옵션은 복수의 IP 주소를 지원하는 멀티 홈(multi-homed) SCTP 노드 상에서 바운드 주소 리스트의 수를 검색하는 변수를 포함하는 SCTP를 이용한 데이터 전송 방법.
  7. 제2항에 있어서,
    상기 확장 소켓 옵션은 복수의 IP 주소를 지원하는 멀티 홈 SCTP 노드 상에서 바운드 주소 리스트를 검색하는 변수를 포함하는 SCTP를 이용한 데이터 전송 방법.
  8. 삭제
  9. 스트림 제어 전송 프로토콜(Stream Control Transfer Protocol: 이하 SCTP 이라 함)을 이용한 데이터 전송 장치에 있어서,
    상기 SCTP를 이용하여 적어도 하나의 노드와 SCTP 연결을 설정하는 연결 설정부;
    적어도 하나의 애플리케이션으로부터 확장 소켓 옵션을 이용하여 상기 설정된 SCTP 연결(association)에 대한 서비스 제어 요청을 수신하는 제어요청 수신부; 및
    상기 수신된 서비스 제어 요청에 따라 상기 설정된 SCTP 연결에 대한 서비스를, 상기 설정된 SCTP 연결이 유지되는 동안에, 인이에블 또는 디스에이블 하는 서비스 제어부를 포함하고,
    상기 SCTP 연결에 대한 서비스 제어 요청은 부분 신뢰(Partial Reliable) SCTP 서비스 제어 요청 또는 번들링(bundling) 서비스 제어 요청을 포함하는 SCTP를 이용한 데이터 전송 장치.
  10. 제9항에 있어서,
    상기 확장 소켓 옵션은 애플리케이션이 커널에 접근하는 표준화된 수단을 제공하는 SCTP를 이용한 데이터 전송 장치.
  11. 제9항에 있어서,
    상기 확장 소켓 옵션은 SCTP_ENABLE_PRSCTP 변수 또는 SCTP_ENABLE_BUNDLING 변수를 포함하는 SCTP를 이용한 데이터 전송 장치.
  12. 제11항에 있어서,
    상기 SCTP_ENABLE_PRSCTP 변수 또는 SCTP_ENABLE_BUNDLING 변수는 부울리언 (Boolean) 값을 가지는 SCTP를 이용한 데이터 전송 장치
  13. 제9항에 있어서,
    상기 확장 소켓 옵션은 복수의 IP 주소를 지원하는 멀티 홈(multi-homed) SCTP 노드 상에서 바운드 주소 리스트의 수를 검색하는 변수를 포함하는 SCTP를 이용한 데이터 전송 장치.
  14. 제9항에 있어서,
    상기 확장 소켓 옵션은 복수의 IP 주소를 지원하는 멀티 홈 SCTP 노드 상에서 바운드 주소 리스트를 검색하는 변수를 포함하는 SCTP를 이용한 데이터 전송 장치.
KR1020080012334A 2007-09-03 2008-02-11 Sctp를 이용한 데이터 전송 방법 및 장치 KR101410510B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN1963/CHE/2007 2007-09-03
IN1963CH2007 2007-09-03

Publications (2)

Publication Number Publication Date
KR20090024051A KR20090024051A (ko) 2009-03-06
KR101410510B1 true KR101410510B1 (ko) 2014-06-20

Family

ID=40693174

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080012334A KR101410510B1 (ko) 2007-09-03 2008-02-11 Sctp를 이용한 데이터 전송 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101410510B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103716899B (zh) * 2012-09-28 2017-09-22 中兴通讯股份有限公司 一种lte制式家庭基站系统中提高网关稳定性的方法和装置
KR102134895B1 (ko) * 2019-11-28 2020-07-17 주식회사 모비젠 멀티호밍 sctp노드 상에서 동작하는 sctp 유저 어플리케이션의 패킷 분석 시스템 및 그 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050013416A (ko) * 2003-07-28 2005-02-04 엘지전자 주식회사 에스씨티피의 스트림 자원 관리 시스템 및 방법
KR100780921B1 (ko) * 2006-11-24 2007-11-30 모다정보통신 주식회사 청크첵섬을 사용하는 무선 인터넷 에스씨티피 송수신시스템 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050013416A (ko) * 2003-07-28 2005-02-04 엘지전자 주식회사 에스씨티피의 스트림 자원 관리 시스템 및 방법
KR100780921B1 (ko) * 2006-11-24 2007-11-30 모다정보통신 주식회사 청크첵섬을 사용하는 무선 인터넷 에스씨티피 송수신시스템 및 방법

Also Published As

Publication number Publication date
KR20090024051A (ko) 2009-03-06

Similar Documents

Publication Publication Date Title
CN110999252B (zh) 经由多个路径的quic通信的方法
CN112911027B (zh) 用于建立媒体会话的方法和装置
EP1374494B1 (en) Method and apparatus for establishing a protocol proxy for a mobile host terminal in a multimedia session
KR101299874B1 (ko) 이동도 관리를 위한 의사 회선
WO2016204468A1 (en) Method and apparatus for multipath media delivery
JP3665622B2 (ja) ソースアドレス選択システム、ルータ装置、通信ノード及びソースアドレス選択方法
US20150237525A1 (en) Traffic Shaping and Steering for a Multipath Transmission Control Protocol Connection
BRPI0622098A2 (pt) terminais de modo duplo e de modo énico, sistema de comunicaÇço, e, produto de software
WO2007067911A2 (en) Digital object routing
WO2010075426A1 (en) Transparent interaction with multi-layer protocols via selective bridging and proxying
JP2009296084A (ja) マルチパス通信システム
JP6480452B2 (ja) パケット処理方法および装置
JP2010504688A (ja) ネットワーク・プロトコルスタックのハンドオフおよび最適化を実装するための方法およびモジュール
EP2211507B1 (en) Method, device and system for processing real time streaming protocol
WO2006097031A1 (fr) Procede de transmission de message dans le reseau du protocole internet mobile
BRPI0113044B1 (pt) método e sistema para autorização da portadora em uma rede de comunicação sem fio fornecendo uma segurança melhorada ao autorizar o acesso ao serviço
US8027305B1 (en) Communication network and method employing state information in providing communication services to a mobile device
CN112994946A (zh) 一种链路聚合方法
CN113765865B (zh) 一种报文处理方法、设备及系统
CN113271252B (zh) 通信建立方法、系统和计算机可读存储介质
KR101410510B1 (ko) Sctp를 이용한 데이터 전송 방법 및 장치
CN115883478B (zh) 一种多标识网络体系中安全高效的传输控制方法及系统
JP4238086B2 (ja) パケット転送制御方法、経路制御装置、フロー処理制御装置、端末管理装置、転送装置、処理サーバ装置、端末装置及びパケット転送システム
WO2022002215A1 (zh) 传输数据的方法和装置
WO2011044835A1 (zh) 实现路由优化的方法及接入路由器

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180518

Year of fee payment: 5