当前位置: 首页 > news >正文

做的网站电脑上跟手机上不一样杭州seo优化

做的网站电脑上跟手机上不一样,杭州seo优化,做外贸网站需要注意些什么手续,贵州网站制作STUN(Session Traversal Utilities for NAT)协议是一个 网络穿透协议,主要用于在 NAT(网络地址转换) 环境中帮助终端获取自己的公网地址和 NAT 类型,以便进行 P2P通信。STUN 是 WebRTC、VoIP、SIP 等技术的…

STUN(Session Traversal Utilities for NAT)协议是一个 网络穿透协议,主要用于在 NAT(网络地址转换) 环境中帮助终端获取自己的公网地址和 NAT 类型,以便进行 P2P通信。STUN 是 WebRTC、VoIP、SIP 等技术的核心组件之一。

本质作用

帮助客户端知道自己“在外部世界”的 IP 和端口

大多数终端处于 NAT 后面,无法直接建立 P2P 通信。STUN 协议通过与 STUN 服务器交互,帮助客户端获取 NAT 分配的公网 IP 和端口。

应用场景

  • WebRTC 进行 P2P 建连前,确定 NAT 类型、公网地址
  • SIP 电话通信、视频会议
  • VoIP 和即时通信软件
  • TURN 和 ICE 的基础协议组件

基本流程

概述

Client(NAT内) ←→ STUN Server(公网)1. 客户端发送 STUN Binding Request(UDP)
2. STUN 服务器接收后,记录源 IP+端口
3. 服务器将记录到的外部地址封装进 Binding Response 返回客户端
4. 客户端分析返回结果,得到自己 NAT 后的公网 IP:Port

客户端发送 Binding Request

客户端通过 UDP 向 STUN 服务器发送一个 Binding Request 报文,内容包括:

  • 报文类型:0x0001(Binding Request)
  • Transaction ID:客户端生成的随机 96 位值
  • 可选属性:Username、Message-Integrity 等(用于验证)
客户端 NAT 私网地址(如 192.168.1.100:6000)↓UDP → STUN Server

NAT 转换地址

在报文到达 STUN 服务器前:

  • NAT 把源地址从:192.168.1.100:6000 改写为 203.0.113.88:45000(公网地址+端口)

STUN 服务器处理

STUN Server 接收到请求后:

  • 读取 UDP 包的 源 IP 和源端口(即 NAT 映射后的公网地址)
  • 构造一个 Binding Response 报文
    • 包含 MAPPED-ADDRESSXOR-MAPPED-ADDRESS 字段
    • 把该 IP:Port 回传给客户端

客户端收到响应

客户端接收到 Binding Response,提取出 MAPPED-ADDRESS 字段:

Your public IP is: 203.0.113.88:45000

这就是客户端 在 NAT 后被映射的公网地址,可用于其他 P2P 连接(如 ICE Candidate)。

流程图(简化)

[客户端]|| Binding Requestv
[NAT设备](修改源IP)|| UDP Packet with NAT-IP:Portv
[STUN Server]|| Binding Response(包含映射后的公网地址)v
[NAT设备]|v
[客户端] ← 得知自己 NAT 后公网地址

探测NAT类型

通过对多个地址的响应判断 NAT 类型:

测试序列服务器行为判断结果
Test I原地址回复无 NAT 或 Full Cone NAT
Test II更换 IP 回复Symmetric NAT
Test III同 IP 不同端口Port Restricted NAT

关键字段说明

字段说明
MAPPED-ADDRESS客户端的公网地址(直接暴露)
XOR-MAPPED-ADDRESS避免中间人伪造,更安全的地址返回方式
MESSAGE-INTEGRITY对报文做 HMAC-SHA1 签名
FINGERPRINT对整个包 CRC32 校验

报文结构

STUN 报文由以下字段组成:

报文头部(20字节)

字段长度说明
Message Type2 字节报文类型(如 Binding Request)
Message Length2 字节后续数据的长度
Magic Cookie4 字节固定为 0x2112A442(用于识别STUN)
Transaction ID12字节随机 ID,客户端生成,用于匹配请求响应

报文类型(Message Type)

类型名称值(16位)
Binding Request0x0001
Binding Response0x0101
Binding Error Response0x0111
Shared Secret Request0x0002

Attribute 区域(可选)

  • STUN 报文可带属性(Attribute)字段,类似 TLV 格式。

常见属性:

属性名类型说明
MAPPED-ADDRESS0x0001STUN 服务器看到的外部地址
XOR-MAPPED-ADDRESS0x0020安全性更高,避免中间人攻击
USERNAME0x0006用户认证
MESSAGE-INTEGRITY0x0008消息完整性校验(HMAC)
ERROR-CODE0x0009错误信息
FINGERPRINT0x8028CRC32 校验

示例

[Message Type: 0x0001]
[Message Length: N]
[Magic Cookie: 0x2112A442]
[Transaction ID: 96bit 随机值]
[Attributes...]

安全机制

  • 使用 MESSAGE-INTEGRITY 字段 + 密钥做 HMAC-SHA1 校验
  • 防止伪造和篡改
  • 可配合 USERNAME/PASSWORD 做身份认证(STUN Long-Term Credential)

STUN 在 ICE 中的角色

ICE(Interactive Connectivity Establishment)是 WebRTC 用来穿透 NAT、建立 P2P 的整体方案。

  • STUN 用于收集候选地址(candidate)
  • 收集:
    • 主机候选(Host)
    • Server Reflexive 候选(通过 STUN 得到)
    • Relay 候选(通过 TURN 得到)
  • 然后由 ICE 做候选优先级、连接尝试和建立

STUN命令

示例:使用 stun 命令查看 NAT 类型(Linux)

sudo apt install stun
stun stun.l.google.com:19302# 输出
STUN client version 0.97
Primary: Open NAT, External IP: 203.0.113.45:45678

总结

关键点描述
功能获取 NAT 后公网地址,辅助 P2P 穿透
协议类型UDP,轻量快速
标准文档RFC 5389
应用WebRTC, SIP, VoIP, ICE
安全支持身份验证和消息完整性验证
局限无法穿透 Symmetric NAT,需 TURN 协助
http://www.hkea.cn/news/673313/

相关文章:

  • 网站上怎么做动画广告推广策略包括哪些内容
  • 广州网站优化公司大亚湾发布
  • 广州网站开发招聘百度经验悬赏令
  • 吴江建设局网站郑州粒米seo外包
  • 建设工程合同纠纷与劳务合同纠纷seo培训教程视频
  • 找网站建设公司哪家最好沈阳市网站
  • sh域名做的好的网站什么是营销
  • 网站平台怎么做推广一站式网络推广服务
  • 百度对新网站排名问题兰州seo快速优化报价
  • 网站建设常用代码湘潭网络推广
  • 做网站上传图片一直错误好用搜索引擎排名
  • 钟祥网站建设网络推广的含义
  • 新闻类网站源码青岛官网seo
  • 网站优化哪里可以做百度营销客户端
  • 常德建设局网站北京优化网站方法
  • 用ip做网站优化手机流畅度的软件
  • 为网站添加统计媒介
  • 商业设计网站推荐互联网营销师证书是国家认可的吗
  • 做网站的是干嘛的怎样把自己的产品放到网上销售
  • 品牌型网站制作价格2022年小学生新闻摘抄十条
  • 政府网站群集约化建设网络暴力事件
  • 可以做卷子的网站游戏app拉新平台
  • 长沙优化网站关键词社区营销
  • 个人网站制作价格表重庆关键词优化
  • 网站开发ideseo优化网站模板
  • 关于制作网站收费标准怎样把个人介绍放到百度
  • 网站建设 绵阳百度开放平台
  • discuz修改网站标题微信小程序开发平台
  • 怎么做国内网站吗seo顾问培训
  • 网站排名不稳定怎么办seo+网站排名