zoukankan      html  css  js  c++  java
  • Tunneling RTSP in HTTP

                             Tunneling RTSP in HTTP


    Status of this Memo

       This document is an Internet-Draft and is in full conformance with
       all provisions of Section 10 of RFC2026.

       Internet-Drafts are working documents of the Internet Engineering
       Task Force (IETF), its areas, and its working groups. Note that
       other groups may also distribute working documents as Internet-
       Drafts. Internet-Drafts are draft documents valid for a maximum of
       six months and may be updated, replaced, or obsoleted by other
       documents at any time. It is inappropriate to use Internet- Drafts
       as reference material or to cite them other than as "work in
       progress."

       The list of current Internet-Drafts can be accessed at
       http://www.ietf.org/ietf/1id-abstracts.txt
       The list of Internet-Draft Shadow Directories can be accessed at
       http://www.ietf.org/shadow.html.

    Abstract

       This document discusses tunneling RTSP in HTTP and more specifically
       RTSP with interleaved RTP data.

      1. Introduction

       There is a need for tunneling RTP streams inside RTSP in HTTP
       because in some cases users are located behind a firewall that is
       configured to only let HTTP through.

       After discussing the context of the problem we will give the
       requirements for a solution and outline what a solution could be.

      2. Motivation

       RTSP [1, 10.12] clearly defines how RTP stream data can be embedded
       with RTSP methods. It also recommends that RTSP should be
       transported using TCP.


    RTSP使用TCP

       Note that tunneling RTSP (only) in HTTP would not be useful since
       the RTP data transported using UDP would be blocked.

    HTTP 只能传送TCP,所以以UDP封包的RTP不能通过http 传送



    Gentric, Jones           Expires January 2002                        1

                            Tunneling RTSP in HTTP               July 2001


       With this TCP based transport of RTP-inside-RTSP, firewalls
       configured to exclude UDP traffic can be traversed, which is already
       very useful.

       However for many end users the situation is even worse; indeed some
       ISPs and many corporate Internet access are protected by strict
       firewalls. Typically these firewalls are configured to exclude all
       traffic except HTTP. Thus there is need to transport media through
       HTTP.

       Although it is recognized that doing so is not optimal (see [1] and
       [2] for a discussion on why RTP/UDP is a better idea) it should be
       obvious that the core reason why tunneling streaming in HTTP in not
       a good idea is due to the use of TCP for transport, which is not an
       issue we need to discuss here since transporting RTP inside RTSP on
       TCP (as described in [1]) suffers from the same problem.

    RTP通过RTSP传不好,但是没有办法

       In fact the need for such a solution is so strong that most media
       streaming products implement (pseudo) streaming through HTTP in one
       way or another.

       It is also obvious that although in many cases the reason why a
       corporate or ISP firewall is configured for HTTP only is pure
       paranoia, there are cases when suppressing media streaming is a
       genuine concern for an IT administrator. In this last case providing
       a standard technology that makes it possible to filter RTSP in HTTP
       would be a very good idea.

       It is however of fundamental importance to stress that one of the
       contexts where such tunneling is needed is in environments where IT
       management is not leading edge. Indeed paranoia very often goes
       together with ignorance and/or lack of capability to trustfully
       communicate between decision makers and knowledgeable technical
       people. In such environments firewalls are set for maximum security
       i.e. HTTP-only and solutions that are known to work will be kept as
       long as possible. Therefore the solution we seek MUST work with all
       deployed firewalls otherwise it will be a very little value since we
       cannot expect this key target population to upgrade their firewalls
       if this is what is required to enable RTSP tunneling in HTTP.

       On the other hand the situation is very different for more forward-
       looking organizations. We have two cases then. In places where IT
       administrators opened the required UDP ports in their firewalls so
       as to enable streaming, new solutions i.e. upgrading the firewall-
       will be easily adopted. There are also places where IT administrator
       did not open UDP ports for streaming upon explicit instructions from
       their management to stop media streaming. In such places surely the
       emergence of a standard technology enabling to deploy firewalls that
       can also block tunneling of media in HTTP will be well received.
       Therefore the solution we seek should also provide the ability to
       configure filtering mechanisms so as to give full control on what
       can and what cannot traverse the firewall.


    Gentric, Jones           Expires January 2002                        2

                            Tunneling RTSP in HTTP               July 2001


      3. Requirements

       The requirements for tunneling RTSP in HTTP are therefore the
       following:
       Requirement 1: to traverse existing (deployed) HTTP-only firewalls
       Requirement 2: to allow the development of new HTTP-level firewalls
       where RTSP tunneling can be detected and eventually filtered.


      4. Solutions

       One solution is described in [3]. We will not discuss this solution
       in full detail but instead we will focus on what seems to be the
       most controversial issue.

      5. Discussion

       As described in [3] there is a need to prevent deployed HTTP proxy
       agents from trying to parse the RTSP syntax that lies after the HTTP
       header. Indeed HTTP-level firewalls are there to do exactly that:
       check that TCP connections carry HTTP data and nothing else.
       Unfortunately it seems that some deployed implementations will try
       to check the correctness of the HTTP syntax and in doing so stumble
       upon the RTSP syntax, causing the service to be denied. The solution
       proposed in [3] is therefore to hide RTSP syntax by trans-coding it
       in base64.

       One obvious problem with this solution is that it may be seen as
       some kind of a cheat. We pretend as discussed in section 2 that this
       is not a true concern. Actually, as mentioned above, tunneling
       streaming media in HTTP is already performed on very large scales by
       a number of proprietary solutions and firewall administrators are
       actually lacking standard-based solutions to recover control upon
       such bandwidth-intensive traffic.

       On the other hand, if a solution such as the one described in [3]
       was to become an IETF standard, proxy agents could detect this
       scenario by looking for an Accept or Content-Type header containing
       "application/x-rtsp-tunnelled". Classical filtering techniques could
       then be applied.

       Alternatively other marking schemes could be designed to allow
       detection of RTSP tunneling into HTTP.


       6. Security Considerations

       Tunneling RTSP in HTTP does not have different security
       considerations than RTSP on TCP (covered by [1]) nor HTTP.

       7. Acknowledgements



    Gentric, Jones           Expires January 2002                        3

                            Tunneling RTSP in HTTP               July 2001


       This work has been started after a discussion in the Internet
       Streaming Media Alliance forum; authors wish to thank the people of
       this forum for raising interesting points.

       8. References

       [1] Schulzrinne, Rao, Lanphier, RTSP: Real Time Streaming Protocol
       RFC 2326, Internet Engineering Task Force, April 1998.
       [2] Schulzrinne, Casner, Frederick, Jacobson RTP: A Transport
       Protocol for Real Time Applications RFC 1889, Internet Engineering
       Task Force, January 1996.
       [3] http://index.apple.com/~singer/qt/rtspthroughhttp.html


       9. Authors' Addresses

       Philippe Gentric
       Philips
       51 rue Carnot
       92156 Suresnes
       France
       e-mail: philippe.gentric@philips.com

       anne jones
       Apple
       1 Infinite Loop
       Cupertino, CA 95014
       e-mail: astoria@apple.com



    Philippe Gentric
    Software architect
    Philips Digital Networks - MP4Net
    51 rue Carnot B.P. 301
    92156 Suresnes FRANCE
    tel: +33(0)147283740
    fax: +33(0)147283725
    philippe.gentric@philips.com
    http://www.mpeg-4player.com


  • 相关阅读:
    关于callback
    vue项目前端限制页面长时间未操作超时退出到登录页
    vue 项目文件流数据格式转blob图片预览展示
    You are using the runtime-only build of Vue where the template compiler is not available.
    element-ui el-cascader级联选择器设置指定层级不能选中
    vue项目中图片预览旋转功能
    nhandled rejection Error: EPERM: operation not permitted, open 'C:Program Files odejs ode_cache npm ERR! cb() never called!
    vue+element-ui upload图片上传前大小超过4m,自动压缩到指定大小,长宽
    vue+element-ui 项目中实现复制文字链接功能
    vue项目js实现图片放大镜功能
  • 原文地址:https://www.cnblogs.com/justin/p/128785.html
Copyright © 2011-2022 走看看