Download presentation
Presentation is loading. Please wait.
Published byFrans Bauwens Modified 5년 전
1
멀티미디어 네트워킹 기술 RTSP & RTP 9조 정현보 홍진영 안수진
2
컴퓨터통신을 통하여 실시간을 요구하는 매체를 이용하기 위한 통신 프로토콜과 통신원리에 대하여 알아보도록 합시다.
학습목표 컴퓨터통신을 통하여 실시간을 요구하는 매체를 이용하기 위한 통신 프로토콜과 통신원리에 대하여 알아보도록 합시다.
3
RTSP RTSP의 정의와 특징. RTSP의 메소드. RTSP의 동작.
목차 RTSP RTSP의 정의와 특징. RTSP의 메소드. RTSP의 동작.
4
목차 RTP RTP의 정의와 특징. TCP와 UDP가 실시간 트래픽에 적합하지 않는 이유. RTP 동작. RTP 중계기.
5
RTSP의 정의와 특징 Real-Time Streaming Protocol.
IETF가 1998년에 개발한 통신 규약으로 RFC 2326에 정의되어 있습니다. 실시간으로 스트리밍을 제공하는 프로토콜로써 이것을 처리하기 위해 더 많은 기능을 추가하도록 설계 되었습니다. 클라이언트 서버 기반으로 응용 계층(Application Layer) 에서 동작합니다.
6
RTSP의 정의와 특징 유니캐스트, 멀티캐스트 환경에서 여러 개의 미디어 정보스트림을 동시에 제어 가능합니다.
유니캐스트, 멀티캐스트 환경에서 여러 개의 미디어 정보스트림을 동시에 제어 가능합니다. 제어 메시지 전송을 위해서 신뢰성 있는 TCP를 사용하며 RTP/RTCP 채널을 설정을 한 다음 이 패킷이 전달 되도록 합니다. 즉, 세션의 설정과 해제는 RTSP에 의해 제어되고, 실제의 정보는 RTP를 통해 전달됩니다.
7
RTSP 주요 메소드 OPTIONS : 서버에서 지원하는 메소드를 알려주는 메소드.
DESCRIBE : 미디어 객체나 프레젠테이션에 대한 명세를 얻는 메소드. SETUP : 스트림 미디어의 전송 방법에 대해 설명하는 메소드. PLAY : 하나 혹은 여러 미디어 스트림 데이터를 요청하는 메소드. PAUSE : 일시적으로 스트림 전송을 중단하는 메소드. TEARDOWN : 스트림을 중지하고, 세션과 관련된 모든 자원을 마무리 해주는 메소드. ※ RFC 2326에는 총 12개의 메소드가 있습니다.
8
RTSP 동작 ① HTTP GET 웹 브라우저 웹 서버 ② RESPONSE(metafile) ③ metafile ④ SETUP
미디어 플레이어 미디어 서버 RESPONSE ⑤ PLAY RESPONSE ⑥ media stream ⑦ PAUSE RESPONSE ⑧ TEARDOWN RESPONSE ※ 메타파일 : 다른 파일을 설명하거나 정의하는 정보를 담고 있는 파일
9
RTSP 동작 HTTP 클라이언트는 GET 메시지를 사용하여 웹 서버에 접근합니다.
메타파일에 대한 정보가 응답으로 되돌아 옵니다. 메타파일은 매체 재생기로 보내집니다. 매체 재생기는 매체 서버와 연결을 생성하기 위해 SETUP 메시지를 보내고 응답 받습니다.
10
RTSP 동작 매체 재생기는 플레이 하기 위해 PLAY 메시지를 보내고 응답 받습니다.
미디어 서버는 AV스트림을 자신의 대역 내 채널로 보내어 클라이언트 에게 제공 해줍니다. PAUSE 메소드를 사용해서 스트림 전송중단 메시지를 보내고 응답 받습니다. 연결 종료를 위해 TEARDOWN 메시지를 보내고 응답을 받습니다.
11
RTP의 정의와 특징 Real-Time Transport Protocol.
AV 데이터를 송수신하기 위해 전송계층(Transport Layer)에서 동작 하는 프로토콜. RFC 1889에 규정되어 있습니다. 스트리밍 데이터 전송을 담당하기 때문에 서버에서 클라이언트로 단방향 전송을 합니다.
12
RTP의 정의와 특징 보통 UDP의 상위 통신 프로토콜로 이용됩니다.
RTCP(Rear-Time Control Protocol)를 사용하여 서비스 품질(QoS) 제어를 실현할 수 있습니다. 코덱 정보, 타임스탬프, 순서 번호 등의 정보를 가지고 있습니다. 시간 정보와 정보 매체의 동기화 기능을 제공합니다. 데이터를 빠르게 전달하기 위해서 UDP를 사용합니다.
13
TCP와 UDP가 실시간 트래픽에 적합하지 않는 이유
TCP는 점대점(point-to-point) 프로토콜 이므로 멀티캐스트 분배에 부적합 합니다. TCP는 손실된 세그먼트를 재전송하는 기능을 갖고 있으며, 재전송된 세그먼트는 순서에서 어긋나게 되는데 이런 세그먼트는 대부분의 실시간 응용에서 사용될 수 없습니다. 포인트 투 포인트 : 종단 간에 연결을 설정해주는 통신방식 ※ 포인트 투 포인트 : 종단 간에 연결을 설정해주는 통신방식
14
TCP와 UDP가 실시간 트래픽에 적합하지 않는 이유
UDP도 TCP와 마찬가지로 시간 정보를 제공해주지 못하며 실시간 응용에 유용한 범용 도구를 제공하지 않습니다. ※ TCP는 다양한 종류의 분산 응용을 지원하는데 적합!
15
RTP 동작
16
RTP 중계기 믹서 - 여러 송신 프로세스의 RTP 패킷 스트림들을 적절히 조합하여 새로운 RTP 패킷 스트림을 전달합니다. - 데이터 형식을 변경하거나 혼합하는 기능을 수행합니다. - 믹싱 과정에서 RTP 패킷 스트림에 대한 시간 정보를 제공합니다. - 사용 예로는 오디오와 같은 on/off 소스를 여러 개 결합하는 것.
17
RTP 중계기 번역기 - 입력 RTP 패킷에 대해서 하나 이상의 출력 RTP 패킷을 생성하는 장치. - 사용 예 ) 고해상도의 비디오 신호를 저해상도로 변환하는 것 ) 응용 계층 방화벽 때문에 IP패킷을 포워딩할 수 없는 경우 ) 수신한 멀티캐스트 RTP패킷을 복제한 후 다수의 유니캐스트 목적지로 전송할 수 있습니다.
18
RTP의 스택구조 AV Application PCM, GSM, Motion JPEG, H.263 등 RTP UDP IP
19
RTP 패킷 형식 주황색은 반드시 포함되는 기본 헤더. 흰색은 회의(컨퍼런스) 할 때 사용되는 옵션 필드.
20
RTP 패킷 형식 Ver(2bit) : Version 필드. RTP 프로토콜의 버전을 표시하는데 현재 버전은 2 입니다.
P(1bit) : 패딩(Padding) 비트. 0이면 패딩이 없다는 의미이고, 1이면 패딩이 이루어졌다는 의미입니다. 고정 블록크기의 암호와 알고리즘이나 하위 계층에서의 RTP패킷 운반에 사용할 수 있으며 32bit단위로 패킷을 맞추기 위해 사용됩니다. X(1bit) : Extension bit. 0이면 여분의 확장 헤더는 없다는 것을 가리키고, 1이면 기본 헤더와 데이터 사이에 확장 헤더가 있음을 가리킵니다.
21
RTP 패킷 형식 CC(4bit) : CSRC Count(Contributor count)필드. CSRC 필드가 몇 개나 붙었는지를 표시합니다. 최대 16 contributor를 가질 수 있습니다. M(1bit) : Marker 비트. 데이터 스트림의 경계를 표시하기 위해 사용되는데 패킷 내에서 음성인지 화상인지를 구분하는 역할을 합니다. PT(7bit) : Payload Type 필드. 페이로드의 코덱 정보(인코딩 방식)를 제공 합니다. 마커 비트는 Silence Supression(말을 하지 않고 있을 경우 보이스 패킷을 만들지 않는 기술)이 끝나고 말을 시작하는 첫 번째 RTP패킷에서 마킹됩니다.
22
RTP 패킷 형식 페이로드 유형 ※ 페이로드 : 데이터 정보
23
RTP 패킷 형식 순서번호(Sequence Number)(16bit) : RTP 패킷번호에 사용됩니다. 이 번호는 랜덤으로 선택되고 RTP 패킷을 전송할 때마다 1씩 증가 합니다. 손실 검출과 동일한 타임스탬프를 갖는 일련의 패킷들의 순서를 맞출 때 사용됩니다. 이 작업은 응용계층에서 이루어 집니다. 타임스탬프(32bit) : RTP패킷의 첫번째 바이트이 샘플링된 시점을 나타 냅니다. 수신자가 이 필드를 이용해 수신된 미디어의 동기적인 재생이 가능하게 할 수 있습니다. ▶ 순서번호 : IP프로토콜은 connectionless한 프로토콜 이므로 다중 경로를 이용하는 IP패킷인 경우 목적지로 도착한 패킷의 순번이 꼬이는 문제(패킷 리오더링(packet reordering))가 발생하는데 이를 방지하지 위해 사용됨 ▶ 타임스탬프 : Dejitter 버퍼(지터(패킷의 지연 시간의 편차) 현상을 제거하여 미디어 스트림을 끊김 없이 재생하기 위해 운영되는 버퍼) 미디어 스트림 크기를 가변적으로 운영하기 위해 이용합니다.
24
하지만 저를 부를 땐 SSRC : 56F6292D라고 불러주세요^^
RTP 패킷 형식 SSRC(32bit) : Synchronization Source Identifier. 세션 내에서 근원지를 유일하게 식별하기 위해서 랜덤으로 생성된 값. RTP 클라이언트 A 클라이언트 B 저는 A 입니다. 하지만 저를 부를 땐 SSRC : 45F2392C라고 불러주세요^^ 저는 B 입니다. 하지만 저를 부를 땐 SSRC : 56F6292D라고 불러주세요^^
25
RTP 패킷 형식 CSRC(32bit) : Contributing Source Identifier. 옵션 헤더로 회의(컨퍼런스)를 할 경우 사용합니다. 페이로드에 기여한(contributing) 근원지를 식별하며, 이 식별자들은 믹서 혹은 트랜스레이터에 의해 제공됩니다.
26
RTP 패킷 형식 SSRC : 1 SSRC : 4 / CSRC : 3 클라이언트 A Translator SSRC : 4
No Packet SSRC:4 / CSRC:3,CSRC:1 클라이언트 B 서로 다른 코덱을 사용하는 다자간의 회의를 할 경우에 각각의 코덱을 변환해주는 트랜스레이터가 사용되고 SSRC 값을 가지고 있습니다. 실제 트랜스레이터에 의해 변환된 RTP패킷의 소스ID가 CSRC필드가 됩니다. 이 그림에서는 3명의 사용자가 회의를 하고 있는데 A(SSRC:1)와 C(SSRC:3)는 대화를 하고 있고 B는 듣고만 있습니다. 클라이언트 A와 C는 RTP패킷에 자신의 ID값을 포함시켜 트랜스레이터에 전송합니다. 트랜스레이터에 의해 번역된 패킷은 각 사용자에게 트랜스레이터의 ID인 4 와 전송한 클라이언트 ID 값(패킷의 원래 주인)을 포함하여 클라이언트에게 전송합니다. 원래 주인을 알기 위해서 CSRC필드가 사용하며 컨퍼런스 할 때는 옵션 필드인 CSRC 필드가 진짜 SSRC ID가 됩니다. SSRC : 3 SSRC : 4 / CSRC : 1 클라이언트 C
27
참고도서 및 자료 데이터통신과 네트워킹 (이재광, 박동선, 김한규 저) 시스코 보이스 네트워킹(이승열, 진강훈 저)
컴퓨터 네트워킹:인터넷 프로토콜 및 기술(윌리엄 스톨링스 저) 블로그 및 웹 문서 등.
28
와이어샤크로 살펴보기!
29
Q & A
30
감사합니다^^
Similar presentations