最基础的STUN协议(区块链从p2p开始 二)

STUN简介

  • RFC3489和RFC5389的名称都是STUN
  • RFC3489(classic STUN) : Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs), 即穿越NAT的简单UDP传输,是一个轻量级的协议
  • RFC5389:STUN的全称为Session Traversal Utilities for NAT,即NAT环境下的会话传输工具,是一种处理NAT传输的协议,但主要作为一个工具来服务于其他协议
  • RFC5389废弃了RFC3489,因此后者通常称为classic STUN,但依旧是后向兼容的。
  • STUN是一个C/S架构的协议,支持两种传输类型。
    • 请求/响应(request/respond)类型;
    • 指示类型(indication transaction)

STUN报文结构

  • STUN报文头部
  • STUN属性

STUN 通信过程

  1. 产生一个Request或Indication
  2. 发送Requst或Indication
    • 通过UDP发送
    • 通过TCP或者TCP-over-TLS发送
  3. 接收STUN消息
    • 处理Request
    • 处理Indication
    • 处理Success Response
    • 处理Error Response

原文網址:https://goo.gl/VP8ksi