zoukankan      html  css  js  c++  java
  • 中文翻译:pjsip教程(一)之PJNATH简介

      在学习pjsip的过程中,发现只是单单的阅读英文官方文档,对于里边概念的理解还是不够透彻,并且苦于pjsip没有发现全一点的中文版本,所以想尽自己所能为建设和谐社会而贡献一份力量,文中定会有所疏漏,希望各位看客能够不吝赐教。

      1:pjsip教程(一)之PJNATH简介

      2:pjsip教程(二)之ICE穿越打洞:Interactive Connectivity Establishment简介

      3:pjsip教程(三)之ICE stream transport的使用

      4:pjsip文档(四)之ICE Session的使用方法

      原文地址:http://www.pjsip.org/docs/latest/pjnath/docs/html/index.htm

    PJNATH - Open Source ICE, STUN, and TURN Library 

    PJNATH (PJSIP NAT Helper)是一个开源的并且是使用标准协议(STUN,TURN,ICE)提供NAT设备穿越功能的库.

    Background

    在现今的网络中网络地址转换技术/设备(NAT)很常见,这种技术允许多台主机共享同一个公网地址从而接入网络,其主要目的就是为了缓解IPv4地址的枯竭。 这种技术在普通的服务器/客户端模式下并不存在问题,因为请求总是由客户端发起,并且客户端也不需要维持长时间的维持与服务器的连接。但是NAT技术最大的问题就是使得点对点通信不能进行,比如VoIP.

    Introduction to PJNATH

    PJNATH库包含了NAT穿越的标准实现,它可以独自应用或者与PJSUA-LIB共同使用,PJSUA-LIB库将PJSIP, PJMEDIA, PJNATH很好的集成在一起,使用方便。.

    PJNATH 具有以下特征:

    • STUNbis实现
      该实现遵照RFC 5389.它既提供了现成的STUN网络接口,又提供了基于TURN和ICE的实现更高层次STUN的框架。
    • NAT 类型探测
      探测通信两端的NAT设备类型,该实现依据 RFC 3489. 然而为了支持ICE,协助NAT穿越的NAT类型的探测已经不被推荐了,但是在故障排除的时候还是有用的,因此提供了NAT类型探测的功能.
    • TURN实现
      TURN 是使用中转服务器进行中继通信的协议,它联合ICE提供了尽可能的高效的通信路径。它的实现符合 draft-ietf-behave-turn-14 草案.
    • ICE实现
      ICE 是发现待通信两端一条或多条可直接通信的路径的协议。它的实现符合draft-ietf-mmusic-ice-19.txt 草案

    在将来,我们会实现更多的协议(比如UPnP IGD、SOCKS5).

    Library Organization

    提供的主要组件如下:

    • STUN: Session Traversal Utilities for NAT
    • TURN: Traversal Using Relays around NAT
    • ICE: Interactive Connectivity Establishment
    • NAT Classification/Detection Tool

    除了 NAT Classification/Detection Tool, 每个组件都进一步划分为两个部分:

    • 传输对象
      传输对象是session对象加上指定的  传输/套接字(transport/sockets)  的实现,它给应用程序提供一个直接可以使用的对象。比如,STUN transport, TURN transport以及ICE stream transport

      传输无关/session 层
       session对象(比如 STUN session, TURN session, ICE session)是维护通信协议中session的核心对象,它是与传输无关的(意思是说它自己没有专门用于传输数据的socket,它只有发送和接受数据的接口,至于发送和接收数据时用到的具体的协议它是不关心的)。这样,不管传输层使用的什么协议,开发者都可以重用这个对象,比如使用UDP, TCP或者TLS或者是开发者自己实现的其他某种协议。

      转载请注明:

      名称:中文翻译:pjsip教程(一)之PJNATH简介

      作者:大雪先生

      链接:http://www.cnblogs.com/ishang/p/3413232.html 

  • 相关阅读:
    C++优化和计算速度(碎碎念)
    架设一个p2p存储网络的问题(讨论)
    JAVA做敏感词统计——DFA 算法
    卸载Postman,用IntelliJ IDEA发起http请求
    LPC1788SDRAM调试
    ASP.NET网站大附件上传配置
    K2 Blackpearl中从数据库直接删除流程实例之K2Server表
    K2流程实例出错,切换到其他版本运行
    使用K2时提示未能加载文件或程序集Microsoft.IdentityModel等
    K2 Blackpearl中从数据库直接删除流程实例之K2ServerLog表
  • 原文地址:https://www.cnblogs.com/ishang/p/3413232.html
Copyright © 2011-2022 走看看