WebRtc09:网络基础P2P/STUN/TURN/ICE

网络传输基本知识

  • NAT
  • STUN(Session Traversal Utilities for NAT)
  • TURN
  • ICE

NAT

在这里插入图片描述

产生的原因

  • IPV4地址不够
  • 出于网络安全的原因

NAT种类

  • 完全锥型NAT(Full Cone NAT)
  • 地址限制型NAT(Address Restricted Cone NAT)
  • 端口限制型NAT(Port Restricted Cone NAT)
  • 对称型NAT(Symmetric NAT)

NAT打洞原理

完全锥型NAT

在这里插入图片描述

地址限制型NAT

在这里插入图片描述

端口限制型NAT

在这里插入图片描述

对称型NAT

主机X通过NAT发送数据给不同主机的时候,使用不同的IP和端口,比如发送给P,q时,使用A,b;而对于M,n主机,则使用C,d
在这里插入图片描述

NAT穿越原理

在这里插入图片描述

NAT穿越组合

在这里插入图片描述

NAT类型检测

在这里插入图片描述
对应步骤如下面这些图描述

第一步T1

在这里插入图片描述

第二步T2

在这里插入图片描述

第三步T3

在这里插入图片描述

STUN协议

STUN介绍

  • STUN存在的目的就是进行NAT穿越
  • STUN是典型的客户端/服务端模式。客户端发送请求,服务端进行相应

RFC STUN 规范

  • RFC3489/STUN (用这套规范失败率非常高)
    Simple Traversal of UDP Through NAT
  • RFC5389/STUN
    Session Traversal Utilities for NAT

具体协议

  • 包括20字节的STUN header
  • Body中可以有0个或者多个Attribute

STUN header

  • 其中2个字节(16bit)类型
  • 2个字节(16bit)消息长度,不包含消息头
  • 16字节(128bit)事务ID,请求与相应事务ID相同

5389格式
在这里插入图片描述

STUN Message Type

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
C表示分类,M表示方法
在这里插入图片描述

Transaction ID

在这里插入图片描述

STUN Message Body

在这里插入图片描述

TLV

在这里插入图片描述

RFC3489定义的属性

在这里插入图片描述

Attribute的使用

M必须,Option可选
在这里插入图片描述

TURN协议

TURN介绍

  • 其目的是解决对称NAT无法穿越的问题
  • 其建立在STUN之上,消息格式使用STUN格式消息
  • TURN Client要求服务端分配一个公共IP和Port用于接收或发送数据

TURN例子

在这里插入图片描述

TURN 使用的传输协议

在这里插入图片描述

TURN Allocate

在这里插入图片描述

TURN 发送机制

  • Send和Data
  • Channel

TURN Send And Data

在这里插入图片描述

TURN Channel

由于send和data经常要带头消息,使用channel不需要头消息
在这里插入图片描述

TURN的使用

在这里插入图片描述

ICE框架

在这里插入图片描述

ICE candidate

在这里插入图片描述

candidate类型

在这里插入图片描述

ICE具体做什么

在这里插入图片描述

candidate关系图

在这里插入图片描述

收集candidate

在这里插入图片描述

什么是SDP

在这里插入图片描述

SDP例子

在这里插入图片描述

形成Candidate Pair

在这里插入图片描述

连通性检查

在这里插入图片描述

连通性过程

在这里插入图片描述

网络协议分析

常用工具

  • linux服务端用tcpdump
  • 其他端WireShark

tcpdump

在这里插入图片描述

Wireshark

具体自行百度学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值