KR100750583B1 - Network system of supplying streaming service - Google Patents

Network system of supplying streaming service Download PDF

Info

Publication number
KR100750583B1
KR100750583B1 KR1020060082642A KR20060082642A KR100750583B1 KR 100750583 B1 KR100750583 B1 KR 100750583B1 KR 1020060082642 A KR1020060082642 A KR 1020060082642A KR 20060082642 A KR20060082642 A KR 20060082642A KR 100750583 B1 KR100750583 B1 KR 100750583B1
Authority
KR
South Korea
Prior art keywords
streaming
server
rtp
relay server
rtcp
Prior art date
Application number
KR1020060082642A
Other languages
Korean (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 엠큐브웍스(주)
Priority to KR1020060082642A priority Critical patent/KR100750583B1/en
Application granted granted Critical
Publication of KR100750583B1 publication Critical patent/KR100750583B1/en

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A network system for providing a streaming service is provided to perform RTSP tunneling for streaming without modifying a system of a mobile terminal and provide the streaming service without affecting the network environment of an NAT(Network Address Translator), thereby satisfying various requirements of the streaming server in an external network. A network system for providing a streaming service comprises the followings: a streaming server(30) for providing the streaming service related to media data; a terminal for receiving the media data transmitted based on the streaming method and reproducing the received media data; a relay server(36) for changing a part of server adaptive information and transmitting the changed information to the other party; and an NAT(Network Address Translator)(34) which is applied between the streaming server and the relay server.

Description

스트리밍 서비스를 제공하는 네트워크 시스템 { Network system of supplying streaming service }Network system providing streaming service {Network system of supplying streaming service}

도 1은 일반적인 네트워크 주소 변환기(NAT)를 경유하는 스트리밍 서비스 네트워크의 구성을 나타낸 도면이고,1 is a diagram showing the configuration of a streaming service network via a general network address translator (NAT),

도 2는 종래의 네트워크 주소 변환기(NAT)를 경유하는 스트리밍 서비스 네트워크에서 이동 단말을 이용한 통신 서비스 접속의 동작을 설명하는 도면이고,2 is a diagram illustrating an operation of a communication service connection using a mobile terminal in a streaming service network via a conventional network address translator (NAT).

도 3은 종래의 네트워크 주소 변환기(NAT)를 경유하는 스트리밍 서비스 네트워크에서 스트리밍 서버로부터의 스트리밍 서비스에 대한 동작을 설명하는 도면이고,3 is a diagram illustrating an operation of a streaming service from a streaming server in a streaming service network via a conventional network address translator (NAT).

도 4a 및 도 4b는 N:1의 공인 IP 주소가 대응하는 네트워크에서 단말의 UDP 송신과 수신 관계를 나타낸 도면이고,4A and 4B are diagrams illustrating a UDP transmission and reception relationship of a terminal in a network to which a public IP address of N: 1 corresponds;

도 5는 본 발명에 따라 스트리밍 서비스를 제공하기 위해 스트리밍 릴레이 게이트웨이가 적용된 통신 네트워크의 구성을 나타낸 도면이고,5 is a diagram illustrating a configuration of a communication network to which a streaming relay gateway is applied to provide a streaming service according to the present invention.

도 6은 본 발명에 따라 스트리밍 서비스를 제공할 때 릴레이 서버를 통한 디스크라이브(Describe) 메소드의 릴레이 동작을 설명하기 위한 도면이고,6 is a view for explaining the operation of the relay (Describe) method through the relay server when providing a streaming service according to the present invention,

도 7은 본 발명의 바람직한 실시예에 따라 RTP/RTCP over TCP(HTTP) 모드를 위한 디스크라이브 메시지의 흐름을 설명하는 도면이고,7 is a diagram illustrating a flow of a disk message for RTP / RTCP over TCP (HTTP) mode according to a preferred embodiment of the present invention.

도 8은 본 발명에 따라 스트리밍 서비스를 제공할 때 릴레이 서버를 통한 셋업(Setup) 메소드의 릴레이 동작을 설명하기 위한 도면이고,FIG. 8 is a diagram for explaining relay operation of a setup method through a relay server when providing a streaming service according to the present invention;

도 9는 본 발명의 바람직한 실시예에 따라 RTP/RTCP over TCP 인터페이스를 위한 셋업 메소드를 설명하는 도면이고,9 illustrates a setup method for an RTP / RTCP over TCP interface according to a preferred embodiment of the present invention.

도 10은 본 발명에 따라 스트리밍 서비스를 제공할 때 릴레이 서버를 통한 플레이(Play) 메소드의 릴레이 동작을 설명하기 위한 도면이고,FIG. 10 is a diagram illustrating a relay operation of a play method through a relay server when providing a streaming service according to the present invention.

도 11은 본 발명의 바람직한 실시예에 따라 RTP over UDP 모드일 때의 RTP 릴레이 동작을 설명하기 위한 도면이고,11 is a view for explaining the operation of the RTP relay in the RTP over UDP mode according to a preferred embodiment of the present invention,

도 12는 본 발명의 바람직한 실시예에 따라 RTP over UDP 모드일 때의 RTCP 릴레이 동작을 설명하기 위한 도면이고,12 is a view for explaining the operation of the RTCP relay in the RTP over UDP mode according to a preferred embodiment of the present invention,

도 13은 본 발명의 바람직한 실시예에 따라 RTP over TCP 모드일 때의 RTP 릴레이 동작을 설명하기 위한 도면이고,13 is a view for explaining the operation of the RTP relay in the RTP over TCP mode according to a preferred embodiment of the present invention,

도 14는 본 발명의 바람직한 실시예에 따라 RTCP over TCP 모드일 때의 RTCP 릴레이 동작을 설명하기 위한 도면이고,14 is a view for explaining the operation of the RTCP relay in the RTCP over TCP mode according to a preferred embodiment of the present invention,

도 15는 본 발명의 일 예에 따라 릴레이 서버의 외부 네트워크 측 인터페이스로서 RTSP over TCP 및 RTP/RTCP over UDP에서의 인터페이스 동작을 설명하는 도면이고,15 is a diagram illustrating an interface operation in RTSP over TCP and RTP / RTCP over UDP as an external network side interface of a relay server according to an embodiment of the present invention.

도 16은 본 발명의 다른 예에 따라 릴레이 서버의 외부 네트워크 측 인터페이스로서 RTSP/RTP/RTCP over TCP에서의 인터페이스 동작을 설명하는 도면이고,16 is a diagram illustrating an interface operation in RTSP / RTP / RTCP over TCP as an external network side interface of a relay server according to another example of the present invention.

도 17은 본 발명의 또 다른 예에 따라 릴레이 서버의 외부 네트워크 측 인터페이스로서 RTSP/RTP/RTCP over HTTP에서의 인터페이스 동작을 설명하는 도면이고,17 is a diagram illustrating an interface operation in RTSP / RTP / RTCP over HTTP as an external network side interface of a relay server according to another embodiment of the present invention.

도 18은 릴레이 서버와 스트리밍 서버의 인터페이스에서 MMS 프로토콜을 이용한 스트리밍 플로우에 대한 실시예를 도시한 것이고,FIG. 18 illustrates an embodiment of a streaming flow using an MMS protocol at an interface between a relay server and a streaming server.

도 19는, 릴레이 서버와 스트리밍 서버의 인터페이스에서 SIP를 이용한 스트리밍 플로우에 대한 실시예를 도시한 것이고,FIG. 19 illustrates an embodiment of a streaming flow using SIP at an interface between a relay server and a streaming server.

도 20은, 릴레이 서버와 스트리밍 서버의 인터페이스에서 HTTP를 이용한 스트리밍 플로우에 대한 실시예를 도시한 것이다.FIG. 20 illustrates an embodiment of a streaming flow using HTTP at an interface between a relay server and a streaming server.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

30 : 스트리밍 서버 32: 방화벽30: streaming server 32: firewall

34 : 네트워크 주소 변환기 36: 릴레이 서버34: network address translator 36: relay server

38,38a∼38c : 단말38,38a-38c: terminal

본 발명은 스트리밍 서비스를 제공하는 네트워크 시스템에 관한 것으로, 더욱 상세하게는 네트워크 주소 변환기(Network Address Translator : NAT)를 이용하는 스트리밍 서비스 네트워크(Streaming Service Network)에서 스트리밍 서버에서 단말로의 스트리밍 서비스를 제어하는 것에 관한 것이다.The present invention relates to a network system for providing a streaming service, and more particularly, to control a streaming service from a streaming server to a terminal in a streaming service network using a network address translator (NAT). It's about things.

일반적으로, 스트리밍 서비스 네트워크는 네트워크 영역에서 공인 IP(Public IP)를 갖는 스트리밍 서버가 VOD 플레이어(Video On Demand Player)가 적용된 퍼스널 컴퓨터(PC) 또는 이동 단말(Mobile Terminal)에 동영상이나 음성 등의 멀티미디어 데이터를 스트리밍 해주기 위한 것이다.In general, a streaming service network has a streaming server having a public IP in a network area, and a multimedia such as a video or a voice on a personal computer (PC) or a mobile terminal to which a video on demand player is applied. It is for streaming data.

이러한 스트리밍 서비스 네트워크에서는, 스트리밍 서버에서 공인 IP 주소를 갖는 퍼스널 컴퓨터 또는 이동 단말에 스트리밍 서비스를 제공하거나, 네트워크 주소 변환기(NAT)를 경유하여 사설 IP(Personal IP) 주소를 갖는 퍼스널 컴퓨터 또는 이동 단말에 스트리밍 서비스를 제공할 수 있도록 되어 있다.In such a streaming service network, a streaming server provides a streaming service to a personal computer or mobile terminal having a public IP address, or via a network address translator (NAT) to a personal computer or mobile terminal having a personal IP address. It is designed to provide a streaming service.

도 1은 일반적인 네트워크 주소 변환기(NAT)를 경유하는 스트리밍 서비스 네트워크의 구성을 나타낸 도면으로서, 동 도면에서는 사설 IP 영역(Private IP Area)(6)에서 유무선으로 스트리밍 데이터를 받아서 재생하는 VOD 플레이어를 갖는 다수의 퍼스널 컴퓨터(2) 및/또는 다수의 이동 단말(4), 공인 IP 네트워크 영역 (Public IP Network Area)(14)에서 모두 공인 IP 주소를 갖고서 스트리밍 서비스를 제공하는 스트리밍 서버(16,18)와, 메뉴 서버(20), 데이터베이스 서버(22)로 구성된다.FIG. 1 is a diagram illustrating a configuration of a streaming service network via a general network address translator (NAT). In the figure, a VOD player that receives and plays streaming data in a private IP area 6 over a wired or wireless network is provided. Streaming servers 16 and 18 that provide streaming services with public IP addresses in multiple personal computers 2 and / or multiple mobile terminals 4 and public IP network area 14 And a menu server 20 and a database server 22.

상기 퍼스널 컴퓨터(2)는, LAN(Local Area network)(8)에 NAT가 있느냐 여부에 따라 공인 IP 주소 대역이나 사설 IP 주소 대역에서 동작하지만, 도 1에는 네트워크 주소 변환기(NAT)(10)를 통한 IP 주소 변환에 의해 사설 IP 주소 대역에서 동작하도록 되어 있다.The personal computer 2 operates in a public IP address band or a private IP address band depending on whether NAT is present in the local area network (LAN) 8, but the network address translator (NAT) 10 is shown in FIG. IP address translation is used to operate in the private IP address band.

SKT, KTF 등과 같은 이동 통신사의 단말 경우, IP 주소 부족을 해결하기 위하여 각 이동 통신사의 네트워크 내에서는 사설 IP 주소 대역에서 동작하고, JUNE, FIMM 서비스와 같은 이동 통신사 서비스의 경우 서비스 제공 시스템이 모두 사설 IP 주소 대역에 있기 때문에 별도의 NAT 서비스가 필요 없다. 하지만, 이동 단말(4)이 외부 네트워크의 스트리밍 서버로부터 서비스를 받기 위해서는 공인 IP 주소로의 변환이 반드시 필요하게 된다.In case of mobile terminal of SKT, KTF, etc., in order to solve the shortage of IP addresses, each mobile carrier operates in the private IP address band within the network of each carrier, and in case of mobile carrier services such as JUNE and FIMM services, the service providing system is all It is in the IP address band and does not require a separate NAT service. However, in order for the mobile terminal 4 to receive a service from a streaming server of an external network, a translation to a public IP address is necessary.

동 도면에서, 상기 퍼스널 컴퓨터(2) 또는 이동 단말(4)이 사설 IP 주소 대역에서 동작하는 경우에는 UDP(User Datagram Protocol)의 수신에 어려움이 있으므로, 서버와 단말의 수정 없이 이러한 수신상의 문제를 해결하기 위해서는 네트워크 주소 변환기(NAT)(10)에서 하나의 사설 IP 주소 당 공인 IP 주소 하나가 1:1로 대응되어야 한다.In the figure, when the personal computer 2 or the mobile terminal 4 operates in the private IP address band, it is difficult to receive the User Datagram Protocol (UDP). In order to solve the problem, the network address translator (NAT) 10 has to correspond one to one public IP addresses per one private IP address.

하지만, 사설 IP 주소 대 공인 IP 주소의 1:1 대응 방법은, 네트워크 주소 변환기(NAT)(10)가 공인 IP 주소의 부족을 해결하기 위해 적용되는 것이기 때문에, 이 방법은 한계가 있다. 따라서, 퍼스널 컴퓨터(2) 또는 이동 단말(4)이 서버에 네트워크 주소 변환기(NAT)(10)의 경유에 제한 없이 TCP(Transmission Control Protocol)를 이용하여 RTSP(Real-Time Streaming Protocol)의 연결을 구축하고 그 채널을 이용하여 스트리밍을 하도록 하는 것이 가장 현실적인 바, 이는 VOD 플레이어를 RTP(Real-Time Transport Protocol) over UDP가 아닌 RTSP 규격의 Embedded(Interleaved) Binary Data 전송 모드를 사용하여 RTP over TCP로 동작하도록 하는 것이다.However, since the 1: 1 correspondence method of the private IP address to the public IP address is applied to the network address translator (NAT) 10 to solve the lack of the public IP address, this method is limited. Accordingly, the personal computer 2 or the mobile terminal 4 can establish a connection of the Real-Time Streaming Protocol (RTSP) by using the Transmission Control Protocol (TCP) without limitation via the network address translator (NAT) 10 to the server. It is most realistic to build and stream using that channel, so that the VOD player can be routed to RTP over TCP using the RTSP-compliant Embedded (Interleaved) Binary Data transfer mode rather than Real-Time Transport Protocol (RTP) over UDP. To make it work.

그러나, 개방된 시스템 환경에 의해 VOD 플레이어의 변경 및 업그레이드가 자유로운 퍼스널 컴퓨터(2)에 비해서, 이동 단말(4)의 경우에는 RTP 프로토콜의 변경이 용이하지 않기 때문에, 단말의 수정 없이 스트리밍이 가능하도록 하는 방법이 필요하게 된다.However, since the mobile terminal 4 is not easy to change the RTP protocol, compared to the personal computer 2, in which the VOD player can be freely changed or upgraded by the open system environment, the streaming is possible without modification of the terminal. You need a way to do it.

도 2는 종래의 네트워크 주소 변환기(NAT)를 경유하는 스트리밍 서비스 네트워크에서 이동 단말을 이용한 통신 서비스 접속의 동작을 설명하는 도면이다.2 is a diagram illustrating the operation of a communication service connection using a mobile terminal in a streaming service network via a conventional network address translator (NAT).

도 2에 도시된 바와 같이, 이동 단말(4)은 네트워크 주소 변환기(10)와, 방화벽(Fire Wall)(24)을 경유하여 메뉴 서버(20)에 접속하여 스트리밍 할 컨텐츠를 선택하게 되고, 메뉴 서버(20)에서는 이동 단말(4)에 선택된 컨텐츠에 대한 WAP 스크립트를 다운로드 하게 된다.As shown in FIG. 2, the mobile terminal 4 accesses the menu server 20 via the network address translator 10 and the firewall 24 to select content to be streamed. The server 20 downloads the WAP script for the selected content to the mobile terminal 4.

상기 이동 단말(4)은 다운로드된 컨텐츠의 스크립트를 확인하여 스트리밍 서버(16)에 대한 URL을 얻어서 접속하게 되고, 상기 스트리밍 서버(16)는 상기 이동 단말(4)에게 컨텐츠를 스트리밍 하게 된다.The mobile terminal 4 checks the script of the downloaded content to obtain a URL to the streaming server 16 and accesses it, and the streaming server 16 streams the content to the mobile terminal 4.

상기 스트리밍 서버(16)에서 상기 이동 단말(4)에 컨텐츠를 스트리밍 하기 위한 동작은 도 3에 도시된 바와 같다.An operation for streaming content from the streaming server 16 to the mobile terminal 4 is as shown in FIG. 3.

도 3에서, 상기 이동 단말(4)은 상기 스트리밍 서버(16)에 컨텐츠에 대한 정보를 요청하게 되고(Describe Request), 상기 스트리밍 서버(16)는 이동 단말(4)에 컨텐츠에 대한 정보를 SDP를 이용하여 전송하게 된다.In FIG. 3, the mobile terminal 4 requests information about the content from the streaming server 16 (Describe Request), and the streaming server 16 sends information about the content to the mobile terminal 4 by SDP. Will be transmitted using.

상기 이동 단말(4)은 상기 컨텐츠에 대한 정보를 확인하고 컨텐츠 데이터를 수신하기 위한 UDP 포트 정보를 스트리밍 서버(16)에 알려주게 되는 바(Setup Request), 이 때 상기 이동 단말(4)은 각 미디어 별로 2개의 UDP 포트(데이터 수신용 1개, RTCP(RTP Control Protocol) 송수신용 1개)를 사용하게 된다.The mobile terminal 4 confirms the information on the content and informs the streaming server 16 of the UDP port information for receiving the content data (Setup Request), wherein the mobile terminal 4 For each media, two UDP ports (one for data reception and one for RTCP (RTP Control Protocol) transmission and reception) will be used.

이에, 상기 스트리밍 서버(16)는 상기 이동 단말(4)로부터 전송된 정보를 확인하고 데이터를 송신하기 위한 UDP 포트 정보를 이동 단말(4)에게 알려주게 되는데(Setup Response), 이때는 각 미디어 별로 2개의 UDP 포트(데이터 송신용 1개, RTCP 송수신용 1개)를 사용하게 된다.Accordingly, the streaming server 16 checks the information transmitted from the mobile terminal 4 and informs the mobile terminal 4 of the UDP port information for transmitting data (Setup Response). UDP ports (one for data transmission and one for RTCP transmission and reception) will be used.

한편, 상기 이동 단말(4)은 자원 할당 및 데이터의 송수신 준비를 완료한 이후에 상기 스트리밍 서버(16)에 데이터의 전송을 요청하게 되고(PLAY Request), 상기 스트리밍 서버(16)는 상기 이동 단말(4)에 데이터를 스트리밍 전송하게 된다(PLAY Response).Meanwhile, after the mobile terminal 4 completes resource allocation and preparation for transmitting and receiving data, the mobile terminal 4 transmits data to the streaming server 16 (PLAY Request), and the streaming server 16 transmits the data to the mobile terminal. Data is streamed to (4) (PLAY Response).

상기 데이터의 스트리밍 전송이 완료되면, 상기 이동 단말(4)은 상기 스트리밍 서버(16)에 종료 요청을 하게 되고(Teardown Request), 상기 스트리밍 서버(16)는 종료 요청에 대한 응답을 수행하게 된다(Teardown Response).When the streaming transmission of the data is completed, the mobile terminal 4 makes a termination request to the streaming server 16 (Teardown Request), and the streaming server 16 performs a response to the termination request ( Teardown Response).

한편, 단말이 네트워크 주소 변환기(NAT)를 경유하는 네트워크 환경에서 외부 네트워크에 위치한 스트리밍 서버에 접속하여 서비스를 받기 위해서는, 네트워크 주소 변환기(NAT)가 관리하는 공인 IP 주소 대역에서 단말에 공인 IP가 할당되어야 한다. 하지만, 네트워크 주소 변환기(NAT)가 관리하는 공인 IP 주소 대역은 유한하기 때문에 공인 IP가 부족한 경우에 하나의 공인 IP에 여러 단말의 사설 IP가 대응되는 방식으로 서비스가 이루어지게 된다.Meanwhile, in order to receive a service by accessing a streaming server located in an external network in a network environment via a network address translator (NAT), a public IP is allocated to the terminal in a public IP address band managed by the network address translator (NAT). Should be. However, since the public IP address band managed by the network address translator (NAT) is finite, the service is provided in a manner in which private IPs of multiple terminals correspond to one public IP when the public IP is insufficient.

즉, 단말에서는 사설 IP와 공인 IP가 1:1로 대응되도록 하는 모드와, 단말의 사설 IP와 공인 IP가 N:1로 대응되도록 하는 모드 중에서 어느 하나의 모드를 할당 받게 되는 것이다.That is, the terminal is assigned one of the modes such that the private IP and the public IP correspond to 1: 1, and the mode such that the private IP and public IP of the terminal correspond to N: 1.

먼저, 단말의 사설 IP와 공인 IP가 1:1로 대응되는 경우의 모드에서는, 네트워크 주소 변환기(NAT)가 관리하는 공인 IP에 여유가 있는 것으로서, 단말이 외부 네트워크와 1:1로 대응되는 공인 IP를 갖게 되기 때문에, TCP/IP 네트워크에서의 모든 서비스를 사용할 수 있게 된다.First, in the case where the private IP of the terminal and the public IP correspond to 1: 1, the public IP managed by the network address translator (NAT) has a margin, and the terminal corresponds to the external network 1: 1. With IP, all services on a TCP / IP network are available.

사설 IP와 공인 IP가 1:1로 대응되는 모드의 구조에서, 예컨대 3개의 이동 단말이 각각 10.128.120.234, 10.128.156.10, 10.100.231.123의 3개의 사설 IP가 할당되어 있는 경우에, 외부 네트워크 망의 스트리밍 서버에 각각 접속하여 서비스를 받기 위해 각 이동 단말이 속한 네트워크 망의 네트워크 주소 변환기(NAT)에 의해서 공인 IP 주소(예컨대 211.123.10.23, 213.13.123.44, 211.212.231.20)를 할당 받아야 한다.In the structure of the mode where the private IP and the public IP correspond to 1: 1, for example, when three mobile terminals are allocated three private IPs of 10.128.120.234, 10.128.156.10, and 10.100.231.123, respectively, In order to receive services by accessing each streaming server, a public IP address (eg, 211.123.10.23, 213.13.123.44, 211.212.231.20) must be allocated by a network address translator (NAT) of a network to which each mobile terminal belongs.

스트리밍 서버에서는 도 3의 스트리밍 흐름에서 트랜스포트 셋업(Transport Setup) 과정에서 설정된 이동 단말의 RTP/RTCP UDP 포트를 이용하여 각 미디어의 RTP 데이터를 전송하게 되며, 네트워크 주소 변환기(NAT)에서는 수신 UDP 패킷의 공인 IP를 대응되는 사설 IP로 변환하여 각 이동 단말에게 전송함으로써, 사설 IP와 공인 IP의 1:1 대응에 의한 정상적인 서비스가 가능하게 된다.In the streaming flow of FIG. 3, the streaming server transmits RTP data of each media using the RTP / RTCP UDP port of the mobile terminal set in the transport setup process, and the network address translator (NAT) receives the received UDP packet. By converting the public IP to the corresponding private IP and transmitted to each mobile terminal, it is possible to normal service by 1: 1 correspondence between the private IP and the public IP.

한편, 단말의 사설 IP와 공인 IP가 N:1로 대응되는 모드의 경우에, 네트워크 주소 변환기(NAT)가 관리하는 공인 IP에 여유가 없어서, 단말이 외부 네트워크에 접속하기 위해서는 다른 단말과 공유하는 공인 IP를 사용하여야 하기 때문에, 단말 측에서 연결을 요청하는 TCP 서비스만이 사용 가능하도록 되어 있고, UDP의 경우에는 단말 측에서 송신하는 쪽만 가능하고 수신되는 것은 불가능하도록 되어 있다.On the other hand, in the case where the private IP of the terminal and the public IP correspond to N: 1, the public IP managed by the network address translator (NAT) cannot afford to share the terminal with another terminal in order to access the external network. Since the public IP must be used, only a TCP service requesting a connection from the terminal side can be used, and in the case of UDP, only the side transmitting from the terminal side is possible and cannot be received.

네트워크 주소 변환기(NAT)의 N:1 공인 IP 주소 대응에서 RTSP 프로토콜의 경우에, 단말 측에서 먼저 TCP를 통해서 연결 요청이 이루어지게 되고, TCP 연결의 경우에는 여러 단말이 하나의 공인 IP를 공유하고 있기 때문에 네트워크 주소 변환기(NAT)를 통하면서 사설 IP의 공인 IP로의 대응뿐만 아니라 포트의 대응 변환도 이루어진다.In the case of the RTSP protocol, in the case of the RTSP protocol, a connection request is made through TCP first in the case of the N: 1 public IP address of the network address translator (NAT), and in the case of the TCP connection, multiple terminals share one public IP. Because of this, not only correspondence of private IP to public IP but also correspondence conversion of port through network address translator (NAT) is performed.

결과적으로, N:1 공인 IP 주소 대응의 경우에, TCP 연결에 한해서 IP, 포트의 커플 매칭(Couple Matching)을 통하여 1:1의 대응 서비스가 가능하게 되고, 따라서 사설 IP를 사용하는 스트리밍 플레이 가능한 단말들도 RTSP 규격의 임베디드 바이너리 데이터(Embedded Binary Data) 전송 모드를 사용하여 RTP over TCP 기능을 이용하게 되면 스트리밍이 가능하게 된다.As a result, in the case of N: 1 public IP address correspondence, 1: 1 correspondence service becomes possible through IP and port couple matching only for TCP connection, so streaming play using private IP is possible. Terminals can also be streamed by using the RTP over TCP function using the embedded binary data transmission mode of the RTSP standard.

그러나, 이동 통신망을 사용하는 이동 단말의 경우에는 상기 기능을 지원하 고 있지 않기 때문에, 원활한 스트리밍이 어려우므로 다른 방법이 필요하게 된다.However, since a mobile terminal using a mobile communication network does not support the above function, smooth streaming is difficult, so another method is required.

UDP 전송의 경우에는 비연결 프로토콜이기 때문에, 목적지(Destination) IP와 포트가 유일한 패킷 전송 수단이기 때문에, 네트워크 주소 변환기(NAT)를 경유하는 네트워크 상황에서 UDP 송신과 수신의 경우에 차이가 있다.In the case of UDP transmission, since it is a connectionless protocol, since the destination IP and the port are the only packet transmission means, there is a difference between UDP transmission and reception in a network situation via a network address translator (NAT).

도 4a 및 도 4b는 N:1의 공인 IP 주소가 대응하는 네트워크에서 단말의 UDP 송신과 수신 관계를 나타낸 도면이다.4A and 4B are diagrams illustrating a UDP transmission and reception relationship of a terminal in a network to which a public IP address of N: 1 corresponds.

도 4a는 사설 IP와 공인 IP 주소의 N:1 대응에서 단말의 UDP 송신 동작을 나타내는 것으로서, 동 도면에서는 네트워크 주소 변환기(NAT)를 통과하여도 목적지 정보에 변화가 없고, 따라서 스트리밍 서버(16)는 단말이 전송한 RTCP Receiver Report를 수신할 수 있다.FIG. 4A shows the UDP transmission operation of the terminal in N: 1 correspondence between the private IP address and the public IP address. In this figure, the destination information does not change even when passing through the network address translator (NAT). Accordingly, the streaming server 16 The UE may receive the RTCP Receiver Report transmitted by the terminal.

도 4b는 사설 IP와 공인 IP 주소의 N:1 대응에서 스트리밍 서버의 RTP over UDP 송신을 나타내는 것으로서, 송신된 UDP 패킷은 네트워크 주소 변환기(NAT)에 의해 대응된 목적지 IP와 포트 정보를 이용하여 네트워크 주소 변환기(NAT)까지 수신되지만, 더 이상 어떤 단말로 송신할 지를 결정하지 못하고 드롭(Drop) 된다. 그러므로, N:1 공인 IP 주소 대응의 경우에 사설 IP를 사용하는 단말들은 외부 네트워크에서 송신되는 UDP 패킷 수신이 불가능하다.4b shows RTP over UDP transmission of a streaming server in N: 1 correspondence between a private IP and a public IP address, wherein the transmitted UDP packet is networked by using a destination IP and port information corresponding by a network address translator (NAT). An address translator (NAT) is received, but no longer decides which terminal to transmit to and is dropped. Therefore, in the case of N: 1 public IP address correspondence, terminals using a private IP cannot receive UDP packets transmitted from an external network.

통상, 이동 통신사와 같이 IP 주소의 수요가 많은 경우에, 관리 가능한 공인 IP의 개수는 서비스되는 단말의 개수에 비해서 매우 적기 때문에, 네트워크 주소 변환기(NAT)에 의한 N:1 공인 IP 주소 대응이 적용되는 경우가 많게 된다. 그러나, 이동 단말과 같이 VOD 플레이어의 교체가 용이하지 않은 환경에서는 외부 네트워크 로부터 멀티미디어 서비스를 받기가 어렵게 된다는 불리함이 있다.In general, when there is a large demand for IP addresses, such as a mobile carrier, the number of manageable public IPs is very small compared to the number of terminals being serviced, so that N: 1 public IP address correspondence by a network address translator (NAT) is applied. There are many cases. However, there is a disadvantage that it is difficult to receive a multimedia service from an external network in an environment in which a VOD player is not easily replaced, such as a mobile terminal.

따라서, 본 발명은 상기한 종래의 사정을 감안하여 이루어진 것으로서, 그 목적은 통신 네트워크에서 단말의 수정 없이 네트워크 주소 변환기(NAT)를 경유하여 정상적인 스트리밍 서비스를 수행할 수 있도록 하는 방법을 제공하는 것이다.Accordingly, the present invention has been made in view of the above-described conventional situation, and an object thereof is to provide a method for performing a normal streaming service via a network address translator (NAT) without modification of a terminal in a communication network.

상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 스트리밍 서비스를 제공하는 네트워크 시스템은, 미디어 데이터에 대한 스트리밍 서비스를 제공하는 스트리밍 서버; 스트리밍 형태로 전송되는 미디어 데이터를 받아 재생하는 단말; 및 스트리밍을 준비하는 단계와 실제 미디어 데이터를 전송하는 단계로 이루어지는 스트리밍 서비스의 데이터 흐름에 따라 상기 스트리밍 서버와 단말을 서로 연결할 때, 상기 스트리밍 서버 및 상기 단말로부터 전송되는 데이터에 포함되는 서버 적응적인 정보의 일부를 변경하는 릴레이 서버를 포함하여 구성되고, 여기서, 상기 스트리밍 서버와 릴레이 서버 사이에는 네트워크 주소 변환기(NAT)가 적용되는 것을 특징으로 한다.A network system for providing a streaming service according to an embodiment of the present invention for achieving the above object, a streaming server for providing a streaming service for media data; A terminal for receiving and playing media data transmitted in a streaming form; And server-adaptive information included in the data transmitted from the streaming server and the terminal when the streaming server and the terminal are connected to each other according to a data flow of the streaming service, which includes preparing a streaming and transmitting actual media data. It is configured to include a relay server for changing a part of, wherein, between the streaming server and the relay server is characterized in that a network address translator (NAT) is applied.

이하, 상기한 바와 같이 구성된 본 발명에 대해 첨부도면을 참조하여 상세히 설명한다.Hereinafter, the present invention configured as described above will be described in detail with reference to the accompanying drawings.

도 5는 본 발명에 따라 스트리밍 서비스 제공하기 위해 스트리밍 릴레이 게이트웨이가 적용된 통신 네트워크의 구성을 나타낸 도면이다.5 is a diagram illustrating a configuration of a communication network to which a streaming relay gateway is applied to provide a streaming service according to the present invention.

도 5에 도시된 바와 같이, 본 발명에 따른 스트리밍 릴레이 게이트웨이가 적용된 통신 네트워크는, 스트리밍 서버(30)와, 방화벽(32), 네트워크 주소 변환기(NAT)(34), 릴레이 서버(36), 단말(38)을 포함하여 구성된다.As shown in FIG. 5, the communication network to which the streaming relay gateway according to the present invention is applied includes a streaming server 30, a firewall 32, a network address translator (NAT) 34, a relay server 36, and a terminal. 38, including.

상기 스트리밍 서버(30)는 상기 단말(38)에 대해서 외부 네트워크에 위치하고서, 스트리밍 서비스를 통해 멀티미디어 데이터를 스트리밍 전송하게 된다.The streaming server 30 is located in an external network with respect to the terminal 38 to transmit multimedia data through a streaming service.

상기 단말(38)은 상기 스트리밍 서버(30)로부터 스트리밍 전송되는 멀티미디어 데이터를 재생하기 위한 VOD 플레이어를 갖추고 있다. 여기서, 상기 단말(38)은 이동 전화(Mobile Telephone), 셋탑 박스(Set-top Box), 텔레매틱스 단말(Telematics Terminal) 등이 될 수 있다.The terminal 38 is provided with a VOD player for playing multimedia data streamed from the streaming server 30. Here, the terminal 38 may be a mobile telephone, a set-top box, a telematics terminal, or the like.

상기 릴레이 서버(36)는 상기 VOD 플레이어를 갖춘 단말(38)과 스트리밍 서버(30)의 사이에서 RTSP(Real Time Streaming Protocol)/RTP(Real Time Transport Protocol)/RTCP(RTP Control Protocol) 메시지를 릴레이 하는 기능과 방화벽(32)에 대한 터널링(Tunneling) 기능을 담당하게 된다.The relay server 36 relays a Real Time Streaming Protocol (RTSP) / Real Time Transport Protocol (RTP) / RTP Control Protocol (RTCP) message between the terminal 38 equipped with the VOD player and the streaming server 30. And tunneling (Tunneling) function for the firewall (32).

상기 릴레이 서버(36)는, 네트워크 주소 변환기(NAT)(34)를 이용하는 사설 통신망 환경에서, 단말의 요청을 다양한 스트리밍 서버(30)의 요구 조건을 만족시키는 형태로 적응 변환하여 전송하고, 서버가 보낸 메시지의 수신을 대행한다.In the private network environment using the network address translator (NAT) 34, the relay server 36 adaptively converts and transmits the request of the terminal in a form that satisfies the requirements of various streaming servers 30. Act on receipt of the sent message.

상기 릴레이 서버(36)에서 RTP/RTCP의 릴레이 전송 기능은, 네트워크 주소 변환기(NAT)(34)나 방화벽(32) 등의 네트워크 구성으로 인한 단말의 RTP/RTCP 수신 불가 문제를 여러 가지 외부 전송 인터페이스 모드를 이용하여 릴레이 하는 것으로서, 이를 위한 RTP/RTCP 송/수신 인터페이스 모드는, RTP/RTCP over UDP 모드와, RTP/RTCP over TCP(RTSP) 모드, RTP/RTCP over TCP(HTTP) 모드 등으로 크게 구별될 수 있다.The relay transmission function of the RTP / RTCP in the relay server 36 may not receive RTP / RTCP from a terminal due to a network configuration such as a network address translator (NAT) 34 or a firewall 32. As a relay mode, the RTP / RTCP transmission / reception interface mode is largely divided into RTP / RTCP over UDP mode, RTP / RTCP over TCP (RTSP) mode, and RTP / RTCP over TCP (HTTP) mode. Can be distinguished.

통신 네트워크에 상기 릴레이 서버(36)가 적용되면, 단말과 같이 시스템 환경의 수정이 어려운 플레이어에 대한 RTSP 터널링을 수행하는 것이 가능하고, 방화벽이나 네트워크 주소 변환기(NAT)와 같이 네트워크 환경에 영향을 주는 요소에 구애 받지 않고 스트리밍 서비스를 진행하는 것이 가능하며, 스트리밍 서버의 종류에 관계없이 이에 적응적으로 사용자 요구의 변환이 가능하고, 폐쇄적으로 네트워크를 운영하더라도 스트리밍 서비스가 가능하게 되는 장점이 있다.When the relay server 36 is applied to a communication network, it is possible to perform RTSP tunneling for a player that is difficult to modify a system environment, such as a terminal, and affect a network environment such as a firewall or a network address translator (NAT). It is possible to proceed with streaming service regardless of the element, and it is possible to adaptively convert user's demand regardless of the type of streaming server, and even if the network is closed, the streaming service is possible.

이후에는 릴레이 서버가 스트리밍 서비스를 릴레이 하는 과정에 대해서 설명한다. RTSP/RTP/RTCP 프로토콜을 이용하는 전형적인 멀티미디어 스트리밍의 경우, 스트리밍 전의 준비에 해당하는 세션 시그널링 단계(Session Signaling Phase)와 실제 미디어 데이터가 전송되는 데이터 스트리밍 단계(Data Streaming Phase)의 2 단계를 거친다. 여기서, 세션 또는 멀티미디어 세션은 멀티미디어 데이터의 발신자, 수신자, 및 발신자에서 수신자로 흐르는 데이터 스트림으로 이루어지는 것을 가리키는데, 세션 시그널링 단계는 이러한 세션이 이루어지도록 준비하는 단계에 해당한다.The following describes the relay server relaying streaming services. In the case of typical multimedia streaming using the RTSP / RTP / RTCP protocol, there are two stages: a session signaling phase corresponding to preparation before streaming and a data streaming phase in which actual media data is transmitted. Here, the session or multimedia session refers to the originator, the receiver, and the data stream flowing from the sender to the receiver of the multimedia data, wherein the session signaling step corresponds to preparing for such a session.

또한, 스트리밍 서버와 인터페이스의 경우, 릴레이 서버는, RTSP/RTP/RTCP 이외에도, 위의 2 단계를 거치는 여러 프로토콜에 대한 릴레이 기능을 지원할 수 있다.In addition, in the case of an interface with a streaming server, the relay server may support a relay function for various protocols through the above two steps, in addition to RTSP / RTP / RTCP.

먼저, 릴레이 서버가 단말의 스트리밍 요청을 받아 RTSP/RTP/RTCP를 릴레이 하는 일련의 흐름에 대해서 설명한다. 앞서 언급한 송수신 인터페이스 중에서 RTP/RTCP over UDP 모드를 기본으로 설명하고 다른 인터페이스의 경우 부연하여 설명한다.First, a description will be given of a series of flows in which a relay server receives a streaming request from a terminal and relays RTSP / RTP / RTCP. Among the above-mentioned transmission / reception interfaces, the RTP / RTCP over UDP mode is basically described, and other interfaces are explained in detail.

RTSP/RTP/RTCP 프로토콜에서, 스트리밍 전의 준비 단계에 해당하는 세션 시그널링 단계는, 디스크라이브 메소드(Describe Method), 셋업 메소드(Setup Method), 플레이 메소드(Play Method) 등으로 이루어질 수 있고, 릴레이 서버는 이러한 각 메소드에 대해서 스트리밍 서버와 단말을 릴레이 한다.In the RTSP / RTP / RTCP protocol, the session signaling step corresponding to the pre-streaming preparation step may include a write method, a setup method, a play method, and the relay server. For each of these methods, the streaming server and the terminal are relayed.

도 6은 본 발명에 따라 스트리밍 서비스를 제공할 때 릴레이 서버를 통한 디스크라이브 방식의 릴레이 동작을 설명하기 위한 도면이다.FIG. 6 is a diagram illustrating a disk-driven relay operation through a relay server when providing a streaming service according to the present invention.

도 6에서는, RTP/RTCP 송/수신 인터페이스 모드의 세가지 모드 중에서 RTP/RTCP over UDP 모드를 중심으로 설명한다.In FIG. 6, the RTP / RTCP over UDP mode will be described mainly among the three modes of the RTP / RTCP transmission / reception interface mode.

먼저, 단말(38)에서는 상기 스트리밍 서버(30)에 있는 특정 멀티미디어 컨텐츠에 대한 프리젠테이션(Presentation)과 오브젝트(Object)에 대한 디스크립션(Description) 정보 등의 미디어 정보를 얻어오기 위해서 디스크라이브(Describe) 요청 메시지를 보내게 된다.First, the terminal 38 describes to obtain media information such as a presentation about a specific multimedia content in the streaming server 30 and description information about an object. You will be sent a request message.

도 6에서, 디스크라이브 요청 메시지는, 디스크라이브 메소드를 가리키는 메소드 이름(Describe), URL(RTSP://10.1.1.226/test.mp4), RTSP 버전(RTSP/1.0), 커맨드 시퀀스 번호(CSeq: 0) 등으로 구성된다.In FIG. 6, the disk drive request message includes a method name (Describe), a URL (RTSP: //10.1.1.226/test.mp4), an RTSP version (RTSP / 1.0), and a command sequence number (CSeq :) indicating a disk drive method. 0) and the like.

상기 릴레이 서버(36)에서는 디스크라이브 메시지를 수신하게 되면, 외부 네트워크의 스트리밍 서버(30)에 상기 메시지를 릴레이 하게 되는데, 이 경우에 서버의 IP 주소 등과 같이 서버에 적응해야 하는 부분을 변경하여 릴레이 한다.When the relay server 36 receives the disk live message, the relay server 36 relays the message to the streaming server 30 of the external network. In this case, the relay server 36 changes the part to be adapted to the server, such as the IP address of the server. do.

디스크라이브 요청 메시지를 수신한 스트리밍 서버(30)는 디스크라이브 응답 메시지를 생성하여 릴레이 서버(36)에 전송한다. 도 6에서, 디스크라이브 응답 메시지는, RTSP 버전(RTSP/1.0) 디스크라이브 요청이 잘 처리되었음을 가리키는 응답 코드(200 OK), 커맨드 시퀀스 번호(CSeq: 0), 서버 정보(Server:XXX Streamer/2.0.0), SDP(Session Description Protocol)(도 6에서 'v=0'으로 시작하는 부분) 바디에 관한 정보(Content-Type: application/sdp, Content-length: 613, Content-Base: rtsp://211.172.251.170/test.mp4), 및 SDP 바디(v=0, ~) 등으로 구성된다.The streaming server 30 receiving the disk drive request message generates a disk drive response message and transmits it to the relay server 36. In FIG. 6, the disk drive response message includes a response code (200 OK) indicating that the RTSP version (RTSP / 1.0) disk drive request was well processed, a command sequence number (CSeq: 0), and server information (Server: XXX Streamer / 2.0). .0), information about the Session Description Protocol (SDP) (part starting with 'v = 0' in FIG. 6) body (Content-Type: application / sdp, Content-length: 613, Content-Base: rtsp: / /211.172.251.170/test.mp4), SDP body (v = 0, ~) and the like.

상기 릴레이 서버(30)는 상기 릴레이 서버(36)로부터 디스크라이브 응답 메시지를 수신하고서, 서버의 적응적인 부분, 즉 SDP 바디에 관한 정보에서 IP 주소를 수정하여 단말(38)에 전송하게 된다.The relay server 30 receives the disk drive response message from the relay server 36, modifies the IP address in the adaptive part of the server, that is, information on the SDP body, and transmits the IP address to the terminal 38.

한편, 네트워크 주소 변환기(NAT)나 방화벽과 같은 네트워크 제약 조건 하에서 RTP/RTCP 송수신을 위해서 릴레이 서버(36)와 외부 네트워크의 스트리밍 서버 간에 인터페이스가 중요하게 되는 바, 도 6은 RTP/RTCP over UDP 또는 RTP/RTCP over TCP(RTSP)에서의 디스크라이브 메소드의 릴레이를 보여 준다.Meanwhile, an interface between the relay server 36 and a streaming server of an external network becomes important for transmitting and receiving RTP / RTCP under network constraints such as a network address translator (NAT) or a firewall. FIG. 6 shows an RTP / RTCP over UDP or the like. Demonstrates the relay of the disk live method in RTP / RTCP over TCP (RTSP).

도 7은 본 발명의 바람직한 실시예에 따라 RTP/RTCP over TCP(HTTP) 모드를 위한 디스크라이브 메시지의 흐름을 설명하는 도면으로서, 동 도면에서는 RTP/RTCP over TCP(HTTP)인 경우에 외부 스트리밍 서버(30)와 릴레이 서버(36) 간의 디스크라이브 메시지의 흐름을 나타내고 있다.FIG. 7 is a diagram illustrating a flow of a disk message for an RTP / RTCP over TCP (HTTP) mode according to a preferred embodiment of the present invention, in which the external streaming server in the case of RTP / RTCP over TCP (HTTP) The flow of the disk drive message between the 30 and the relay server 36 is shown.

RTP/RTCP over TCP(HTTP) 모드에서는, 먼저 HTTP 프로토콜인 GET Request, GET Response, 및 POST Request 메시지의 교환 이후에, 디스크라이브 요청 메시지와 디스크라이브 응답 메시지가 교환된다.In the RTP / RTCP over TCP (HTTP) mode, after the exchange of GET Request, GET Response, and POST Request messages, which are HTTP protocols, the disk drive request message and the disk drive response message are exchanged.

상기 단말(38)은, 디스크라이브 메소드를 통하여 스트리밍 서버(30)의 컨텐츠 프리젠테이션을 위한 정보를 수신하게 되면, 셋업 요청(Setup Request)을 통하여 미디어 데이터를 수신할 트랜스포트(Transport) 정보를 릴레이 서버(36)에 요청하게 되는데, 네트워크 트랜스포트 설정 정보를 위한 이러한 셋업 요청은 RTSP 규격에 정의된 RTP/AVP/UDP와 RTP/AVP/TCP의 2가지 전송 모드가 있고, 단말(38)의 경우에는 통상 RTP/AVP/UDP 모드를 사용하게 된다.When the terminal 38 receives the information for the content presentation of the streaming server 30 through the disc live method, the terminal 38 relays the transport information to receive the media data through a setup request. The setup request for the network transport configuration information has two transmission modes, RTP / AVP / UDP and RTP / AVP / TCP, which are defined in the RTSP specification. Normally, the RTP / AVP / UDP mode is used.

도 8은 본 발명에 따라 스트리밍 서비스를 제공할 때 릴레이 서버를 통한 셋업(Setup) 메소드의 릴레이 동작을 설명하기 위한 도면이다.8 is a diagram illustrating a relay operation of a setup method through a relay server when providing a streaming service according to the present invention.

상기 릴레이 서버(36)는 단말(38)에서 송신한 셋업 요청을 수신하여 상기 단말(38) 간의 RTP/RTCP 송수신을 위한 트랜스포트 정보를 설정하게 되고, 각기 설정된 트랜스포트 정보에 따라 RTP 송신과 RTCP 송수신을 준비하게 되는 한편, 상기 단말(38)도 RTP 수신과 RTCP 송수신을 준비하게 된다.The relay server 36 receives the setup request transmitted from the terminal 38 and sets transport information for transmitting and receiving RTP / RTCP between the terminals 38, and transmits the RTP and the RTCP according to the set transport information. While preparing for transmission and reception, the terminal 38 also prepares for RTP reception and RTCP transmission and reception.

도 8에서, 상기 단말(38)은, RTP와 RTCP 송수신을 위한 포트를 각각 16000과 16001 포트로 하고 SSRC(Synchronization Source)를 29로 하는 트랜스포트 정보를 포함하는 셋업 요청을 상기 릴레이 서버(39)에 송신하고, 이를 수신하는 릴레이 서 버(39)는 이를 기초로 상기 단말(38)과의 RTP/RTCP 송수신을 위한 트랜스포트를 설정한다.In FIG. 8, the terminal 38 sends a setup request including transport information for which RTP and RTCP ports are 16000 and 16001 ports and SSRC (Synchronization Source) is 29, respectively. The relay server 39, which transmits the data to the terminal 38, sets a transport for transmitting and receiving the RTP / RTCP with the terminal 38 based on the received information.

상기 단말(38)과의 트랜스포트 정보 설정 작업이 완료되면, 상기 릴레이 서버(36)는 외부 네트워크의 스트리밍 서버(30)와의 RTP/RTCP 송수신을 위하여 트랜스포트 정보를 셋업 요청을 통하여 제공하게 된다. 도 8에서, 상기 릴레이 서버(36)는 RTP와 RTCP를 송수신을 위한 포트를 각각 34500과 34501 포트로 하고 SSRC를 89로 하는 트랜스포트 정보를 포함하는 셋업 요청을 한다.When the transport information setting operation with the terminal 38 is completed, the relay server 36 provides transport information through a setup request for RTP / RTCP transmission and reception with the streaming server 30 of the external network. In FIG. 8, the relay server 36 makes a setup request including transport information of 34500 and 34501 ports and SSRC of 89 for transmitting and receiving RTP and RTCP, respectively.

상기 스트리밍 서버(30)에서는 셋업 요청을 받게 되면, 설정된 트랜스포트 정보에 따라 RTP 송신과 RTCP 송수신을 준비하는 한편, 상기 셋업 요청에 대한 셋업 응답(Setup Response)을 진행하게 되고, 상기 단말(38)은 상기 릴레이 서버(36)를 통한 셋업 응답에서 트랜스포트에 대한 정보를 축출하여 RTP 수신과 RTCP 송수신을 준비하게 된다.When receiving the setup request, the streaming server 30 prepares for RTP transmission and RTCP transmission / reception according to the set transport information, and proceeds with a setup response to the setup request. The terminal 38 In the setup response through the relay server 36 to extract information about the transport to prepare for RTP reception and RTCP transmission and reception.

도 8에서, 상기 스트리밍 서버(30)에서 상기 릴레이 서버(36)로 전송되는 셋업 응답에는 RTP/RTSP 송수신을 위한 서버 포트는 27800-27801, 스트림 소오스 구분을 위한 SSRC는 35인 트랜스포트 정보가 포함된다. 또한, 상기 릴레이 서버(36)에서 상기 단말(38)로 전송되는 셋업 응답에는 RTP/RTSP 송수신을 위한 서버 포트는 14800-14801, 스트림 소오스 구분을 위한 SSRC는 4인 트랜스포트 정보가 포함된다.In FIG. 8, the setup response transmitted from the streaming server 30 to the relay server 36 includes transport information in which server ports for RTP / RTSP transmission and reception are 27800-27801 and SSRC for stream source classification 35 is shown. do. In addition, the setup response transmitted from the relay server 36 to the terminal 38 includes transport information in which a server port for RTP / RTSP transmission and reception is 14800-14801 and an SSRC for stream source classification is 4.

상기 릴레이 서버(36)에서 진행되는 셋업 방식을 이용한 트랜스포트 설정은, RTP/RTCP 송수신 인터페이스에 따라 여러 가지의 모드로 설정하는 것이 가능하도록 되어 있는 바, 도 8에서는 스트리밍 서버(30)와 릴레이 서버(36) 간의 RTP/RTCP over UDP 인터페이스에 대한 트랜스포트 설정 과정을 나타내고 있고, 도 9는 RTP/RTCP over TCP(RTSP or HTTP)의 경우에 트랜스포트 설정 과정을 나타내고 있다.The transport setting using the setup method performed by the relay server 36 can be set in various modes according to the RTP / RTCP transmission / reception interface. In FIG. 8, the streaming server 30 and the relay server are illustrated in FIG. 8. A transport setting process for the RTP / RTCP over UDP interface between 36 is shown, and FIG. 9 shows a transport setting process in the case of RTP / RTCP over TCP (RTSP or HTTP).

이러한 셋업 요청과 셋업 응답은 미디어 별로 따로 진행되는데, 예를 들어 비디오와 오디오에 대해서 셋업 요청과 셋업 응답이 따로 진행된다. 또한, 미디어 각각에 대해서 RTP와 RTCP 송수신을 위한 포트가 따로 설정될 수 있고, 또는 RTP와 RTCP 송수신을 위한 포트는 각 미디어가 공유하고 각 미디어의 송수신에 서로 다른 SSRC가 사용될 수도 있다.The setup request and setup response are performed separately for each media. For example, the setup request and setup response are separately performed for video and audio. In addition, ports for RTP and RTCP transmission and reception may be separately set for each media, or ports for RTP and RTCP transmission and reception may be shared by each media, and different SSRCs may be used for transmission and reception of each media.

다음에, 도 10은 본 발명에 따라 스트리밍 서비스를 제공할 때 릴레이 서버를 통한 플레이(Play) 메소드의 릴레이 동작을 설명하기 위한 도면이다.Next, FIG. 10 is a diagram illustrating a relay operation of a play method through a relay server when providing a streaming service according to the present invention.

도 10에서, 상기 스트리밍 서버(30)로부터의 미디어 스트리밍을 위한 모든 설정이 완료되면, 상기 단말(38)은 플레이 요청(Play Request)을 상기 릴레이 서버(36)에 전송하여 스트리밍의 시작을 요청하게 된다.In FIG. 10, when all the settings for media streaming from the streaming server 30 are completed, the terminal 38 transmits a play request to the relay server 36 to request the start of streaming. do.

상기 릴레이 서버(36)는 플레이 요청을 받으면, 서버 적응적인 정보를 수정하여 플레이 요청을 외부 네트워크의 스트리밍 서버(30)에게 릴레이 하게 되고, 상기 스트리밍 서버(30)는 플레이 요청에 대한 플레이 응답을 상기 릴레이 서버(36)에 전송하게 된다.When the relay server 36 receives the play request, the relay server 36 modifies the server adaptive information to relay the play request to the streaming server 30 of the external network, and the streaming server 30 notifies the play response of the play request. The relay server 36 transmits the result.

상기 릴레이 서버(36)는 상기 스트리밍 서버(30)로부터 플레이 응답을 수신 받게 되면, 네트워크 적응적인 정보를 수정하여 상기 단말(38)에게 플레이 응답을 릴레이 함에 의해, 상기 단말(38)로부터 스트리밍이 개시되도록 한다.When the relay server 36 receives the play response from the streaming server 30, the relay server 36 modifies network adaptive information and relays the play response to the terminal 38 to start streaming from the terminal 38. Be sure to

RTSP 시그널링을 통하여 스트리밍을 위한 준비 작업이 마무리되면, 상기 스트리밍 서버(30)는 도 11에 도시된 바와 같이 RTP 전송을 개시하게 되는 바, 상기 셋업 메소드에 의해 설정된 트랜스포트 정보에 따라 상기 릴레이 서버(36)에게 RTP 패킷을 전송하게 된다.When the preparation work for streaming through the RTSP signaling is completed, the streaming server 30 starts the RTP transmission as shown in FIG. 11, the relay server according to the transport information set by the setup method. The RTP packet is transmitted to 36).

도 11에서, 상기 스트리밍 서버(30)로부터 릴레이 서버(36)에 전송되는 RTP 패킷은, 211.172.251.170인 스트리밍 서버(30)의 IP 주소를 소스 IP(Source IP)로 하고, 10.1.1.226인 릴레이 서버(36)의 IP 주소를 목적지 IP(Destination IP)로 하여, IP 헤더와, UDP 헤더, RTP 헤더, RTP 페이로드를 갖는 RTP Packet over UDP 패킷으로 전송된다.In FIG. 11, the RTP packet transmitted from the streaming server 30 to the relay server 36 sets the IP address of the streaming server 30 as 211.172.251.170 as a source IP, and relays as 10.1.1.226. Using the IP address of the server 36 as the destination IP, it is transmitted in an RTP Packet over UDP packet having an IP header, a UDP header, an RTP header, and an RTP payload.

상기 릴레이 서버(36)로부터 단말(38)에 전송되는 RTP 패킷은, 10.1.1.226을 소스 IP로 하고, 10.1.1.128인 단말(38)의 IP 주소를 목적지 IP로 하여 전송된다. 즉, 상기 릴레이 서버(36)는 RTP 패킷의 IP 헤더에 포함된 소스 IP와 목적지 IP를 수정한다.The RTP packet transmitted from the relay server 36 to the terminal 38 is transmitted using 10.1.1.226 as the source IP and IP address of the terminal 38 having 10.1.1.128 as the destination IP. That is, the relay server 36 modifies the source IP and the destination IP included in the IP header of the RTP packet.

또한, 상기 릴레이 서버(36)는 RTP 패킷의 UDP 헤더에 포함된 포트 번호(RTP/RTCP)를 변경한다. 도 8의 예에서, 상기 스트리밍 서버(30)로부터 릴레이 서버(36)에 전송되는 RTP 패킷의 UDP 헤더에는 34500-34501의 클라이언트 포트와 27800-27801의 서버 포트가 포함되어 있는데, 상기 릴레이 서버(36)는 UDP 헤더 내의 클라이언트 포트와 서버 포트를 각각 16000-16001과 14800-14801로 변경한다.In addition, the relay server 36 changes the port number (RTP / RTCP) included in the UDP header of the RTP packet. In the example of FIG. 8, the UDP header of the RTP packet transmitted from the streaming server 30 to the relay server 36 includes a client port of 34500-34501 and a server port of 27800-27801. The relay server 36 ) Changes the client and server ports in the UDP header to 16000-16001 and 14800-14801, respectively.

또한, 상기 릴레이 서버(36)는 RTP 패킷의 RTP 헤더에 포함된 SSRC를 변경한 다. 도 8의 예에서, 상기 스트리밍 서버(30)로부터 릴레이 서버(36)에 전송되는 RTP 패킷의 RTP 헤더에는 35의 SSRC가 포함되어 있는데, 상기 릴레이 서버(36)는 RTP 헤더 내의 SSRC를 4로 변경한다.In addition, the relay server 36 changes the SSRC included in the RTP header of the RTP packet. In the example of FIG. 8, the RTP header of the RTP packet transmitted from the streaming server 30 to the relay server 36 includes 35 SSRCs, and the relay server 36 changes the SSRC in the RTP header to 4. do.

도 12는 상기 스트리밍 서버(30)와 릴레이 서버(36) 간의 인터페이스가 RTCP over UDP인 경우의 RTCP 패킷의 전송에 대해 나타낸 것이다.12 shows transmission of an RTCP packet when the interface between the streaming server 30 and the relay server 36 is RTCP over UDP.

도 12에서, 상기 스트리밍 서버(30)는 IP 헤더와, UDP 헤더, RTCP 헤더, RTCP 바디 메시지를 갖는 RTCP 패킷을 릴레이 서버(36)를 통하여 단말(38)에 전송하게 되는 바, 상기 릴레이 서버(36)를 통하여 단말(38)에 RTCP 센더 레포트(RTCP Sender Report)를 전송하게 되고, 상기 단말(38)은 상기 릴레이 서버(36)를 통하여 상기 스트리밍 서버(30)에 RTCP 리시버 레포트(RTCP Receiver Report)를 전송하게 된다.In FIG. 12, the streaming server 30 transmits an RTCP packet having an IP header, a UDP header, an RTCP header, and an RTCP body message to the terminal 38 through the relay server 36. RTCP Sender Report (RTCP Sender Report) to the terminal 38 through the 36, the terminal 38 via the relay server 36, the RTCP Receiver Report (RTCP Receiver Report) ) Will be sent.

도 11의 RTP 패킷 전송과 마찬가지로, 상기 릴레이 서버(36)는, 상기 스트리밍 서버(30)로부터 RTCP 패킷을 수신하여, RTCP 패킷의 IP 헤더에 포함된 소오스 IP와 목적지 IP, UDP 헤더에 포함된 클라이언트 포트와 서버 포트, RTCP 헤더에 포함된 SSRC 정보를 변경하여, 상기 단말(38)에 전송한다.Similar to the RTP packet transmission of FIG. 11, the relay server 36 receives an RTCP packet from the streaming server 30 and receives a client IP included in a source IP, a destination IP, and a UDP header included in an IP header of the RTCP packet. The SSRC information included in the port, the server port, and the RTCP header is changed and transmitted to the terminal 38.

도 13은 RTP over TCP 모드인 경우에 스트리밍 서버(30)로부터의 RTP 패킷이 릴레이 서버(36)를 통해 릴레이 되는 상태를 나타낸 것으로서, 상기 스트리밍 서버(30)로부터 릴레이 서버(36)에 TCP를 통해 전송되는 RTP Packet은 IP 헤더와, TCP 헤더, $, ID, RTP 사이즈, RTP 헤더, RTP 페이로드를 갖고 있지만, 상기 릴레이 서버(36)를 통해 단말(38)에 UDP를 통해 전송되는 RTP Packet은, IP 헤더와, UDP 헤 더, RTP 헤더, RTP 페이로드를 갖게 된다.FIG. 13 shows a state in which the RTP packet from the streaming server 30 is relayed through the relay server 36 in the RTP over TCP mode, and the TCP is relayed from the streaming server 30 to the relay server 36 through TCP. The transmitted RTP packet has an IP header, a TCP header, a $, an ID, an RTP size, an RTP header, and an RTP payload. However, the RTP packet transmitted through the relay server 36 to the terminal 38 through UDP is It has an IP header, a UDP header, an RTP header, and an RTP payload.

즉, 상기 릴레이 서버(36)는 TCP를 통해 상기 스트리밍 서버(30)로부터 전송되는 RTP 패킷에서 RTP/RTCP를 가리키는 식별자인 $, interleaved port를 가리키는 ID, RTP 사이즈를 삭제하여 RTP 패킷을 재구성한다. 이때, 상기 릴레이 서버(36)는, IP 헤더에 포함된 소오스 IP와 목적지 IP를 변경하고, 수신되는 RTP 패킷 내의 TCP 헤더를 기초로 UDP 헤더를 새로 생성하고, RTP 헤더에 포함된 SSRC 정보를 변경하여, UDP를 통한 RTP 패킷(RTP Packet over UDP)을 생성하고 이를 단말(38)에 전송한다.That is, the relay server 36 reconstructs the RTP packet by deleting $, ID indicating the RTP / RTCP, ID indicating the interleaved port, and RTP size from the RTP packet transmitted from the streaming server 30 through TCP. At this time, the relay server 36 changes the source IP and the destination IP included in the IP header, generates a new UDP header based on the TCP header in the received RTP packet, and changes the SSRC information included in the RTP header. The RTP packet is generated through the UDP and transmitted to the terminal 38.

도 14는 RTCP over TCP 모드인 경우에 스트리밍 서버(30)로부터의 RTP 패킷이 릴레이 서버(36)를 통해 릴레이 되는 상태를 나타낸 것으로서, 상기 스트리밍 서버(30)로부터 릴레이 서버(36)에 전송되는 RTCP Packet over TCP가 IP 헤더와, TCP 헤더, $, ID, RTCP 사이즈, RTCP 헤더, RTCP 바디 메시지를 갖고 있지만, 상기 릴레이 서버(36)를 통해 단말(38)에 전송되는 RTP Packet over UDP는, IP 헤더와, UDP 헤더, RTCP 헤더, RTCP 페이로드를 갖게 된다.FIG. 14 illustrates a state in which an RTP packet from the streaming server 30 is relayed through the relay server 36 in the RTCP over TCP mode, and is transmitted from the streaming server 30 to the relay server 36. Although Packet over TCP has an IP header, a TCP header, a $, an ID, an RTCP size, an RTCP header, and an RTCP body message, an RTP Packet over UDP transmitted to the terminal 38 through the relay server 36 is IP. It has a header, a UDP header, an RTCP header, and an RTCP payload.

도 13의 RTCP 패킷 전송과 마찬가지로, 상기 릴레이 서버(36)는, 상기 스트리밍 서버(30)로부터 TCP를 통해 RTCP 패킷을 수신하여, $, ID, RTP 사이즈를 삭제하고, IP 헤더에 포함된 소오스 IP와 목적지 IP를 변경하고, TCP 헤더를 기초로 UDP 헤더를 새로 생성하고, RTCP 헤더에 포함된 SSRC 정보를 변경하여, 단말(38)에 전송할 RTP Packet over UDP를 생성한다.Similar to the RTCP packet transmission of FIG. 13, the relay server 36 receives an RTCP packet from the streaming server 30 through TCP, deletes the $, ID, and RTP sizes, and includes a source IP included in an IP header. And the destination IP is changed, a new UDP header is generated based on the TCP header, and SSRC information included in the RTCP header is changed to generate an RTP Packet over UDP to be transmitted to the terminal 38.

한편, RTSP/RTP/RTCP를 이용한 릴레이 서버(36)와 외부 스트리밍 서버(30)의 네트워크 인터페이스는 크게 세가지로 구분할 수 있는데, 이는 RTSP over TCP 및 RTP/RTCP over UDP, RTSP/RTP/RTCP over TCP, RTSP/RTP/RTCP over HTTP이고, 이러한 각각의 인터페이스는 방화벽 및 네트워크 주소 변환기(NAT)에 의한 제한 사항에 따라 가장 적합한 인터페이스를 선택하도록 하는 것이 바람직하다.On the other hand, the network interface of the relay server 36 and the external streaming server 30 using RTSP / RTP / RTCP can be classified into three types, RTSP over TCP and RTP / RTCP over UDP, RTSP / RTP / RTCP over TCP In this case, it is desirable to select the most suitable interface according to the limitations of the firewall and the network address translator (NAT).

먼저, 도 15는 본 발명의 일 예에 따라 릴레이 서버의 외부 네트워크 측 인터페이스로서 RTSP over TCP 및 RTP/RTCP over UDP에서의 인터페이스 동작을 설명하는 도면으로서, 이러한 RTSP over TCP 및 RTP/RTCP over UDP 모드는 상기 릴레이 서버(36)가 공인 네트워크 망과 사설 네트워크 망에 모두 인터페이스를 가지고 방화벽(32)에 별도의 제약이 없는 경우에 적용되는 것으로서, 복수의 단말(38a,38b,38c)과 스트리밍 서버(30) 모두에 제약이 없어지게 된다.First, FIG. 15 is a diagram illustrating an interface operation in RTSP over TCP and RTP / RTCP over UDP as an external network side interface of a relay server according to an embodiment of the present invention. Is applied when the relay server 36 has an interface to both the public network and the private network, and there is no restriction in the firewall 32, and the plurality of terminals 38a, 38b, 38c and the streaming server ( 30) There is no restriction on all.

도 15에서, 상기 릴레이 서버(36)는 복수의 단말(38a,38b,38c)로부터의 RTSP 요청을 스트리밍 서버(30)에 그대로 릴레이 할 수 있도록 되어 있고, 상기 스트리밍 서버(30)로부터의 RTP/RTCP over UDP를 각 단말(38a,38b,38c)에 바로 포워딩 하게 된다.In FIG. 15, the relay server 36 is capable of relaying RTSP requests from the plurality of terminals 38a, 38b, and 38c to the streaming server 30 as it is, and the RTP / RTCP over UDP is directly forwarded to each terminal 38a, 38b, 38c.

상기 RTSP over TCP 및 RTP/RTCP over UDP 모드의 인터페이스는, UDP 송수신이 가능하기 때문에 TCP를 이용한 RTP/RTCP 송수신으로 인한 릴레이 서버의 시스템 네트워크 인터페이스 오버헤드(System Network Interface Overhead)가 줄어들 수 있게 되고, 서버와 단말의 시스템 수정 없이 바로 적용이 가능하게 된다.Since the RTSP over TCP and the RTP / RTCP over UDP mode interfaces are capable of UDP transmission and reception, the system network interface overhead of the relay server due to the RTP / RTCP transmission and reception using TCP can be reduced. It can be applied immediately without modifying the system of the server and the terminal.

다음에, 도 16은 본 발명의 다른 예에 따라 릴레이 서버의 외부 네트워크 측 인터페이스로서 RTSP/RTP/RTCP over TCP에서의 인터페이스 동작을 설명하는 도면이 다. 이러한 RTSP/RTP/RTCP over TCP 모드는, 릴레이 서버(36)가 독립적인 공인 IP 주소를 갖지 못한 경우에 외부 네트워크 망에 존재하는 스트리밍 서버(30)와의 인터페이스가 가능하도록 한 것인데, 릴레이 서버(36)가 독립적인 공인 IP 주소를 갖지 못한 경우에 각 단말(38a,38b,38c)과는 인터페이스에 제한은 없다. 이 경우에 상기 릴레이 서버(36)는 스트리밍 서버(30)와의 스트리밍 프로토콜을 RTSP/RTP/RTCP over TCP를 이용하여 지원하게 된다.Next, FIG. 16 is a diagram illustrating an interface operation in RTSP / RTP / RTCP over TCP as an external network side interface of a relay server according to another example of the present invention. The RTSP / RTP / RTCP over TCP mode allows the relay server 36 to interface with the streaming server 30 existing in the external network when the relay server 36 does not have an independent public IP address. ) Does not have an independent public IP address, there is no limitation on the interface with each terminal (38a, 38b, 38c). In this case, the relay server 36 supports the streaming protocol with the streaming server 30 by using RTSP / RTP / RTCP over TCP.

상기 릴레이 서버(36)는 독립적인 공인 IP 주소를 갖지 못하게 되어, 다른 단말(38a,38b,38c)과 같은 공인 IP 주소를 공유하고 있다고 하더라도 통상적으로 TCP 서비스가 가능하기 때문에, RTSP를 통해서 RTP, RTCP를 송수신하는 경우에 스트리밍 서비스가 안정적으로 제공되는 것이 가능하다. 단점으로는, 네트워크 구성에 유연성이 없고, 방화벽 정책이 바뀔 때 사용이 안될 가능성이 높다.Since the relay server 36 does not have an independent public IP address, even though it shares a public IP address such as the other terminals 38a, 38b, and 38c, since the normal TCP service is possible, the RTP, When transmitting and receiving RTCP, it is possible to stably provide a streaming service. Disadvantages include inflexibility in network configuration, and are unlikely to be used when firewall policy changes.

도 16에서, 각기 개별적인 사설 IP를 가진 단말(38a,38b,38c)들은 상기 릴레이 서버(36)에 스트리밍을 요청하게 되면, 상기 릴레이 서버(36)에서는 각각 별개의 세션에서 RTSP/RTP/RTCP over TCP를 이용하여 스트리밍 서버(30)에 서비스를 지원하게 된다. 이때, 각 단말(38a,38b,38c)로부터의 요청은 동일한 공인 IP에 다른 TCP 포트로 분리되어 구분되고, 하나의 릴레이 서버를 통해서 서비스될 수 있는 단말의 수는 시스템의 성능을 무시하고서 할당할 수 있는 TCP 포트의 수만큼이다.In FIG. 16, when the terminals 38a, 38b, and 38c each having a separate private IP request streaming to the relay server 36, the relay server 36 performs RTSP / RTP / RTCP over in separate sessions. The service is provided to the streaming server 30 using TCP. At this time, the requests from each terminal 38a, 38b, 38c are divided into different TCP ports on the same public IP, and the number of terminals that can be serviced through one relay server can be allocated regardless of system performance. As many TCP ports as possible.

여기서, 상기 RTSP/RTP/RTCP over TCP 모드의 인터페이스는, 모든 종류의 네트워크 주소 변환기(NAT)가 적용된 네트워크 환경에 관계없이 항상 사용이 가능하고, 네트워크 주소 변환기(NAT)를 이용한 네트워크 구성의 유연성을 제공할 수 있 음과 더불어, 제한적인 방화벽 정책의 적용에도 사용이 가능하게 된다.In this case, the RTSP / RTP / RTCP over TCP mode interface can always be used regardless of the network environment to which all kinds of network address translators (NAT) are applied, and the flexibility of the network configuration using the network address translator (NAT) is provided. In addition to being able to provide it, it can also be used to apply restrictive firewall policies.

단점으로는, 스트리밍 서버와의 인터페이스로 TCP를 사용하기 때문에 UDP에 비해 릴레이 서버의 네트워크 인터페이스 오버헤드가 높고, 스트리밍 서버가 RTSP 규격의 'Embedded (interleaved) Binary Data'를 지원해야 하고, 강력한 방화벽 정책이 적용되면 사용이 제한될 수 있다.Disadvantages: Because TCP is used as an interface with the streaming server, the relay server has a higher network interface overhead than UDP, and the streaming server must support the RTSP specification 'Embedded (interleaved) Binary Data', and a strong firewall policy. If applied, use may be restricted.

다음에, 도 17은 본 발명의 또 다른 예에 따라 릴레이 서버의 외부 네트워크 측 인터페이스로서 RTSP/RTP/RTCP over HTTP에서의 인터페이스 동작을 설명하는 도면으로서, 이러한 RTSP/RTP/RTCP over HTTP 모드는, 상기 릴레이 서버(36)가 독립적인 공인 IP 주소를 갖지 못하고 외부 네트워크에 대해서 강력한 방화벽(32)의 정책이 적용된 경우에 사용하는 것으로서, 각 단말(38a,38b,38c)과는 인터페이스에 제한이 없으나 외부 네트워크 망에 존재하는 스트리밍 서버(30)와의 인터페이스는 HTTP 만이 가능하게 된다.Next, FIG. 17 is a diagram illustrating an interface operation in RTSP / RTP / RTCP over HTTP as an external network side interface of a relay server according to another example of the present invention. In the RTSP / RTP / RTCP over HTTP mode, Although the relay server 36 does not have an independent public IP address and is used when a policy of a strong firewall 32 is applied to an external network, there is no limitation on an interface with each terminal 38a, 38b, 38c. HTTP interface is possible only with the streaming server 30 existing in the external network.

따라서, 이 경우에 상기 릴레이 서버(36)는 스트리밍 서버(30)와의 스트리밍 프로토콜을 RTSP/RTP/RTCP over HTTP를 이용하여 지원하게 되고, 이 기능은 HTTP 터널링 기능을 이용하여 구현하게 된다.Thus, in this case, the relay server 36 supports the streaming protocol with the streaming server 30 by using RTSP / RTP / RTCP over HTTP, and this function is implemented by using the HTTP tunneling function.

여기서, 상기 RTSP/RTP/RTCP over HTTP 모드의 인터페이스는, 모든 종류의 네트워크 주소 변환기(NAT)가 적용된 네트워크 환경에 관계없이 항상 사용이 가능하게 되어 네트워크 구성의 유연성이 제공되고, 강력한 방화벽 정책을 적용하는 경우에도 얼마든지 사용이 가능하게 된다.Here, the RTSP / RTP / RTCP over HTTP mode interface is always available regardless of the network environment to which all kinds of network address translator (NAT) is applied, providing flexibility of network configuration and applying a strong firewall policy. Even if it is possible to use as much as possible.

단점으로는, 스트리밍 서버와의 인터페이스로 TCP를 사용하기 때문에 UDP에 비해 릴레이 서버의 네트워크 인터페이스 오버헤드가 높고, 스트리밍 서버가 RTSP 규격의 'Embedded (interleaved) Binary Data'와 'HTTP Tunneling'을 지원해야 하고, 아직 표준화되지 않은 기능이다.Disadvantages: Because TCP is used as the interface with the streaming server, the network interface overhead of the relay server is higher than that of UDP, and the streaming server must support the RTSP specification 'Embedded (interleaved) Binary Data' and 'HTTP Tunneling'. And it is not yet standardized.

한편, 앞서 설명한 바와 같이, RTSP/RTP/RTCP 프로토콜을 이용한 스트리밍은 세션 시그널링 단계와 데이터 스트리밍 단계의 2 단계를 거치는데, 스트리밍 릴레이 서버는, 스트리밍 서버와의 인터페이스와 관련하여, RTSP/RTP/RTCP 이외에도 이러한 2 단계를 거치는 여러 프로토콜에 대한 릴레이 기능을 지원할 수 있다. 다음에는 스트리밍 서버와의 인터페이스 중에서 대표적인 몇 가지에 대해 설명한다.Meanwhile, as described above, streaming using the RTSP / RTP / RTCP protocol goes through two stages: a session signaling step and a data streaming step. The streaming relay server is connected to the RTSP / RTP / RTCP in connection with an interface with the streaming server. In addition, it can support relay functions for several protocols that go through these two stages. The following describes some representative interfaces among streaming servers.

도 18은, 릴레이 서버와 스트리밍 서버의 인터페이스에서 MMS(Microsoft Media Services) 프로토콜을 이용한 스트리밍 플로우에 대한 실시예를 도시한 것이다.FIG. 18 illustrates an embodiment of a streaming flow using a Microsoft Media Services (MMS) protocol at an interface between a relay server and a streaming server.

MMS 프로토콜에서 사용되는 패킷은 2가지로 나뉘는데, RTSP와 같은 시그널링 패킷에 해당하는 커맨드 패킷(Command Packet)과 RTP와 같이 미디어 전송에 사용되는 미디어 패킷(Media Packet)이 그것이다. 커맨드 패킷은 세션 시그널링 단계에 사용되는데, 도 18에 도시한 바와 같이, MMS 프로토콜을 이용하는 스트리밍 서비스는 커맨드 패킷을 사용하여 세션 시그널링을 수행한 후 미디어 패킷을 사용하여 데이터 스트리밍을 수행한다.The packet used in the MMS protocol is divided into two types: a command packet corresponding to a signaling packet such as RTSP and a media packet used for media transmission such as RTP. The command packet is used in the session signaling step. As shown in FIG. 18, a streaming service using the MMS protocol performs session signaling using a command packet and then performs data streaming using a media packet.

도 19는, 릴레이 서버와 스트리밍 서버의 인터페이스에서 SIP(Session Initial Protocol)를 이용한 스트리밍 플로우에 대한 실시예를 도시한 것이다.FIG. 19 illustrates an embodiment of a streaming flow using a Session Initial Protocol (SIP) at an interface between a relay server and a streaming server.

SIP는 VoIP(Voice over Internet Protocol)에서 많이 사용되는 프로토콜로서 멀티미디어 스트리밍에도 사용될 수 있다. 일반적으로 여러 SIP 메소드를 사용하여 다양한 형태의 세션 시그널링이 가능하지만 도 19와 같은 간단한 형태로도 스트리밍이 가능하다. 도 19에 도시한 바와 같이, SIP를 이용하는 스트리밍 서비스는 SIP 메소드를 사용하여 세션 시그널링을 수행한 후 RTP를 이용하여 데이터 스트리밍을 수행할 수 있다.SIP is a widely used protocol in Voice over Internet Protocol (VoIP) and can be used for multimedia streaming. In general, various types of session signaling are possible using various SIP methods, but streaming is also possible in a simple form as shown in FIG. As illustrated in FIG. 19, a streaming service using SIP may perform data signaling using RTP after session signaling using a SIP method.

도 20은, 릴레이 서버와 스트리밍 서버의 인터페이스에서 HTTP를 이용한 스트리밍 플로우에 대한 실시예를 도시한 것이다.FIG. 20 illustrates an embodiment of a streaming flow using HTTP at an interface between a relay server and a streaming server.

HTTP 프로토콜을 이용한 스트리밍이 가장 간단한 미디어 전송 방법이다. 이 방법 또한 앞서 설명한 세션 시그널링 단계와 데이터 스트리밍 단계로 구분되는데, 앞서 설명한 2 가지 예와는 달리 주기적으로 2 단계를 반복하여 전송하는 것이 일반적이다. 도 20에 도시한 바와 같이, HTTP를 이용하는 스트리밍 서비스는 HTTP GET Request와 Response를 사용하여 세션 시그널링을 수행한 후 Get Response의 바디(body)를 이용하여 데이터 스트리밍을 수행한다.Streaming using the HTTP protocol is the simplest method of media delivery. This method is also divided into the above-described session signaling step and data streaming step. Unlike the above-described two examples, it is common to transmit step 2 repeatedly. As shown in FIG. 20, the streaming service using HTTP performs session signaling using HTTP GET Request and Response, and then performs data streaming using a body of Get Response.

한편, 본 발명은 전술한 전형적인 바람직한 실시예들에만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 개량, 변경, 대체 또는 부가하여 실시할 수 있는 것임은 당해 기술분야에 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다. 이러한 개량, 변경, 대체 또는 부가에 의한 실시가 이하의 첨부된 특허청구범위의 범주에 속하는 것이라면 그 기술사상 역시 본 발명에 속하는 것으로 보아야 한다.On the other hand, the present invention is not limited to the above-described typical preferred embodiments, but can be carried out in various ways without departing from the gist of the present invention, various modifications, alterations, substitutions or additions are common in the art Those who have knowledge will easily understand. If the implementation by such improvement, change, replacement or addition falls within the scope of the appended claims, the technical idea should also be regarded as belonging to the present invention.

이상과 같이 본 발명에 따르면, 이동 단말에서 외부 네트워크로부터 네트워크 주소 변환기(NAT)를 경유하여 스트리밍 서비스를 받는 통신 네트워크에 있어서, 이동 단말에 적용된 VOD 플레이어를 수정하지 않고서도 스트리밍 서비스를 받을 때 발생하는 UDP 수신문제를 해결하여 정상적인 미디어 컨텐츠의 스트리밍 서비스가 가능하도록 함에 따라, 이동 단말의 시스템을 수정하지 않고서도 스트리밍을 위한 RTSP 터널링이 수행 가능하고, 방화벽 및 네트워크 주소 변환기(NAT)의 네트워크 환경에 영향을 받지 않고 스트리밍 서비스가 가능하게 되면서, 외부 네트워크에 있는 스트리밍 서버의 다양한 요구 조건을 모두 만족시켜주는 형태로 스트리밍 서비스가 진행 가능하다는 효과를 갖게 된다.As described above, according to the present invention, in a communication network in which a mobile terminal receives a streaming service from an external network via a network address translator (NAT), the mobile terminal generates a streaming service without modifying a VOD player applied to the mobile terminal. By solving the UDP reception problem to enable the streaming service of normal media content, RTSP tunneling for streaming can be performed without modifying the system of the mobile terminal, affecting the network environment of the firewall and network address translator (NAT). As the streaming service becomes available without receiving the service, the streaming service can be performed in a form that satisfies all the various requirements of the streaming server in the external network.

Claims (14)

미디어 데이터에 대한 스트리밍 서비스를 제공하는 스트리밍 서버;A streaming server providing a streaming service for media data; 스트리밍 형태로 전송되는 미디어 데이터를 받아 재생하는 단말; 및A terminal for receiving and playing media data transmitted in a streaming form; And 스트리밍을 준비하는 단계와 실제 미디어 데이터를 전송하는 단계로 이루어지는 스트리밍 서비스의 데이터 흐름에 따라 상기 스트리밍 서버와 단말을 서로 연결할 때, 각 단계에서 상기 스트리밍 서버 및 상기 단말로부터 상대방에 전송되는 데이터에 포함되는 서버 적응적인 정보의 일부를 변경하여 상기 상대방에 전달하는 릴레이 서버를 포함하여 구성되고,When the streaming server and the terminal are connected to each other according to the data flow of the streaming service, which comprises the steps of preparing the streaming and transmitting the actual media data, it is included in the data transmitted from the streaming server and the terminal to the other party in each step. It is configured to include a relay server for changing a part of the server-adaptive information and forwarding to the other party, 여기서, 상기 스트리밍 서버와 릴레이 서버 사이에는 네트워크 주소 변환기(NAT)가 적용되는 것을 특징으로 하는 스트리밍 서비스를 제공하는 네트워크 시스템.Here, a network system for providing a streaming service, characterized in that a network address translator (NAT) is applied between the streaming server and the relay server. 제 1항에 있어서,The method of claim 1, 상기 서버 적응적인 정보는 IP 주소, 포트, 소오스를 구별하기 위한 고유 번호 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 스트리밍 서비스를 제공하는 네트워크 시스템.And the server adaptive information includes at least one or more of a unique number for distinguishing an IP address, a port, and a source. 제 1항 또는 제 2항에 있어서,The method according to claim 1 or 2, 상기 릴레이 서버와 스트리밍 서버 사이의 인터페이스는, RTSP(Real-Time Streaming Protocol) over TCP(Transmission Control Protocol)와 RTP/RTCP(Real- Time Transport Protocol/RTP Control Protocol) over UDP(User Datagram Protocol), RTSP/RTP/RTCP over TCP, 또는 RTSP/RTP/RTCP over HTTP 중 어느 하나인 것을 특징으로 하는 스트리밍 서비스를 제공하는 네트워크 시스템.The interface between the relay server and the streaming server may include a Real-Time Streaming Protocol (RTSP) over Transmission Control Protocol (TCP) and a Real-Time Transport Protocol / RTP Control Protocol (UDP) over User Datagram Protocol (UDP) and RTSP. Network system that provides a streaming service, characterized in that any one of / RTP / RTCP over TCP, or RTSP / RTP / RTCP over HTTP. 제 3항에 있어서,The method of claim 3, wherein 상기 스트리밍을 준비하는 단계는, 미디어 데이터에 대한 정보를 요청하고 응답하는 과정, 네트워크 트랜스포트 설정 정보를 요청하고 응답하는 과정, 및 스트리밍의 시작을 요청하고 응답하는 과정을 포함하여 이루어지는 것을 특징으로 하는 스트리밍 서비스를 제공하는 네트워크 시스템.The preparing of the streaming may include requesting and responding to information about media data, requesting and responding to network transport setting information, and requesting and responding to start streaming. Network system that provides streaming services. 제 4항에 있어서,The method of claim 4, wherein 상기 릴레이 서버는, 상기 미디어 데이터에 대한 정보를 요청하고 응답하는 과정에서 수신되는 메시지에 포함된 IP 주소를 자신의 IP 주소로 변경하여 전달하는 것을 특징으로 하는 스트리밍 서비스를 제공하는 네트워크 시스템.The relay server provides a streaming service, characterized in that for transmitting and changing the IP address included in the message received in the process of requesting and responding to the information on the media data to its own IP address. 제 4항에 있어서,The method of claim 4, wherein 상기 릴레이 서버는, 상기 네트워크 트랜스포트 설정 정보를 요청하고 응답하는 과정에서 IP 주소, 상기 고유 번호, 및 RTP/RTCP 송수신을 위한 포트를 변경하여 전달하는 것을 특징으로 하는 스트리밍 서비스를 제공하는 네트워크 시스템.The relay server provides a streaming service, characterized in that for transmitting and changing the IP address, the unique number, and the port for transmitting and receiving RTP / RTCP in the process of requesting and responding to the network transport configuration information. 제 4항에 있어서,The method of claim 4, wherein 상기 릴레이 서버는, 상기 스트리밍의 시작을 요청하고 응답하는 과정에서 수신되는 메시지에 포함된 IP 주소를 자신의 IP 주소로 변경하여 전달하는 것을 특징으로 하는 스트리밍 서비스를 제공하는 네트워크 시스템.The relay server provides a streaming service, characterized in that for transmitting and changing the IP address contained in the message received in the process of requesting and responding to the start of the streaming to its own IP address. 제 3항에 있어서,The method of claim 3, wherein 상기 실제 미디어 데이터를 전송하는 단계에, 상기 릴레이 서버는, 상기 스트리밍을 준비하는 단계에서 설정된 정보를 기초로 상기 스트리밍 서버로부터 전송되는 패킷의 헤더 영역을 재구성하여 상기 단말에 전달하는 것을 특징으로 하는 스트리밍 서비스를 제공하는 네트워크 시스템.In the transmitting of the actual media data, the relay server may reconfigure and transfer the header area of the packet transmitted from the streaming server to the terminal based on the information set in the preparing of the streaming. Network system that provides services. 제 8항에 있어서,The method of claim 8, 상기 릴레이 서버는, 상기 스트리밍 서버로부터 전송되는 패킷에 포함된 RTP 및/또는 RTCP 헤더, UDP 또는 TCP 헤더, 및 IP 헤더를 수정하는 것을 특징으로 하는 스트리밍 서비스를 제공하는 네트워크 시스템.The relay server provides a streaming service, characterized in that for modifying the RTP and / or RTCP header, UDP or TCP header, and IP header included in the packet transmitted from the streaming server. 제 9항에 있어서,The method of claim 9, 상기 릴레이 서버는, RTP 및/또는 RTCP 헤더 내의 소오스를 구별하기 위한 고유 번호, UDP 또는 TCP 헤더 내의 포트, 및 IP 헤더 내의 소오스 IP와 목적지 IP를 수정하는 것을 특징으로 하는 스트리밍 서비스를 제공하는 네트워크 시스템.The relay server provides a streaming system for modifying a unique number for distinguishing a source in an RTP and / or RTCP header, a port in a UDP or TCP header, and a source IP and a destination IP in an IP header. . 제 8항에 있어서,The method of claim 8, 상기 릴레이 서버와 스트리밍 서버 사이의 인터페이스는 RTP/RTCP over TCP이고 상기 릴레이 서버와 단말 사이의 인터페이스는 RTP/RTCP over UDP인 경우, 상기 릴레이 서버는, 상기 스트리밍 서버로부터 전송되는 패킷의 헤더 영역에 포함된 TCP 헤더를 UDP 헤더로 변경하고, 상기 스트리밍 서버로부터 전송되는 패킷의 헤더 영역에 포함된 일부 정보를 삭제하는 것을 특징으로 하는 스트리밍 서비스를 제공하는 네트워크 시스템.When the interface between the relay server and the streaming server is RTP / RTCP over TCP and the interface between the relay server and the terminal is RTP / RTCP over UDP, the relay server is included in a header area of a packet transmitted from the streaming server. Changing the TCP header to a UDP header, and deleting some information included in a header area of a packet transmitted from the streaming server. 제 3항에 있어서,The method of claim 3, wherein 상기 스트리밍 서버와 릴레이 서버 사이에 방화벽이 적용되지만 상기 방화벽에 별도 제약이 없는 경우, 상기 릴레이 서버와 스트리밍 서버 사이의 인터페이스에 RTSP over TCP와 RTP/RTCP over UDP가 사용되는 것을 특징으로 하는 스트리밍 서비스를 제공하는 네트워크 시스템.If a firewall is applied between the streaming server and the relay server, but there is no restriction in the firewall, the streaming service characterized in that the RTSP over TCP and RTP / RTCP over UDP is used for the interface between the relay server and the streaming server Providing network system. 제 3항에 있어서,The method of claim 3, wherein 상기 스트리밍 서버와 릴레이 서버 사이에 방화벽이 적용되고 외부 네트워크에 대해 강력한 방화벽 정책이 적용되는 경우, 상기 릴레이 서버와 스트리밍 서버 사이의 인터페이스에 RTSP/RTP/RTCP over HTTP가 적용되는 것을 특징으로 하는 스트리밍 서비스를 제공하는 네트워크 시스템.If a firewall is applied between the streaming server and the relay server and a strong firewall policy is applied to the external network, the streaming service is characterized in that RTSP / RTP / RTCP over HTTP is applied to the interface between the relay server and the streaming server. To provide a network system. 제 1항에 있어서,The method of claim 1, 상기 단말은, 이동 전화, 셋탑 박스, 텔레매틱스 단말 중의 어느 하나인 것을 특징으로 하는 스트리밍 서비스를 제공하는 네트워크 시스템.The terminal is a network system for providing a streaming service, characterized in that any one of a mobile phone, a set-top box, a telematics terminal.
KR1020060082642A 2006-08-30 2006-08-30 Network system of supplying streaming service KR100750583B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060082642A KR100750583B1 (en) 2006-08-30 2006-08-30 Network system of supplying streaming service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060082642A KR100750583B1 (en) 2006-08-30 2006-08-30 Network system of supplying streaming service

Publications (1)

Publication Number Publication Date
KR100750583B1 true KR100750583B1 (en) 2007-08-20

Family

ID=38614895

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060082642A KR100750583B1 (en) 2006-08-30 2006-08-30 Network system of supplying streaming service

Country Status (1)

Country Link
KR (1) KR100750583B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101015098B1 (en) 2009-12-11 2011-02-16 주식회사 한국미디어정보기술 System and method for providing p2p based streaming service
WO2020004767A1 (en) * 2018-06-25 2020-01-02 엘지전자 주식회사 Telematics system provided in vehicle and method for controlling same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030053305A (en) * 2001-12-22 2003-06-28 엘지전자 주식회사 System And Method For Streaming Service In Mobile Internet
KR20040004724A (en) * 2002-06-25 2004-01-14 프로모바일테크 주식회사 Wireless LAN service system providing proxy gateway and method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030053305A (en) * 2001-12-22 2003-06-28 엘지전자 주식회사 System And Method For Streaming Service In Mobile Internet
KR20040004724A (en) * 2002-06-25 2004-01-14 프로모바일테크 주식회사 Wireless LAN service system providing proxy gateway and method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101015098B1 (en) 2009-12-11 2011-02-16 주식회사 한국미디어정보기술 System and method for providing p2p based streaming service
WO2020004767A1 (en) * 2018-06-25 2020-01-02 엘지전자 주식회사 Telematics system provided in vehicle and method for controlling same

Similar Documents

Publication Publication Date Title
TWI542182B (en) Method and system for service discovery and deployment in an ip multimedia network
US7694127B2 (en) Communication systems for traversing firewalls and network address translation (NAT) installations
CN101313554B (en) Interactive media session establishing system, method and apparatus based on IP multimedia subsystem
US9882939B2 (en) System and method for providing multimedia services
TWI360338B (en)
CN103026680A (en) Session control for media stream transmission
US8121028B1 (en) Quality of service provisioning for packet service sessions in communication networks
JP2007259503A (en) Method for code-converting video and voice signals, and system
TW201002018A (en) Method for predicting port number of NAT apparatus based on two STUN server inquiry results
US20060239251A1 (en) Multi-user media client for communication devices
EP1933519A1 (en) Streaming media service for mobile telephones
GB2412272A (en) Communication between internal networks through gateways over an external network
TWI493925B (en) Method and system for generic ip multimedia residential gateways
US20080137644A1 (en) METHODS AND APPARATUS TO PROVIDE VOICE OVER INTERNET PROTOCOL (VoIP) SERVICES
EP1361722B1 (en) Method, system and VoIP endpoint for service feature configuration
EP2211507A1 (en) Method, device and system for processing real time streaming protocol
TWI478559B (en) Method and system for handling security in an ip multimedia gateway
KR100750583B1 (en) Network system of supplying streaming service
CN102223386A (en) Method, device and system for remotely accessing home network
JP2016508315A (en) Device adapted to connect a home network to a service provider network
JP2009188961A (en) Call connection method and system using multiple policy control servers in ims/mmd system
Guduru et al. Web RTC implementation analysis and impact of bundle feature
US8843583B2 (en) Method and system for allowing a client device to receive service when an IP multimedia gateway does not possess a capability to provide the service
JP2010045451A (en) Packet sorter, communication system, packet processing method, and program
Davies et al. Quantitative experiences in bidirectional mobile to mobile audio & video streaming

Legal Events

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

Payment date: 20120712

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130703

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee