STUN协议

NAT墙 完全锥形 IP限制型锥形 端口限制型锥形 对称型 NAT穿透 STUN协议简介 STUN(Session Traversal Utilities for NAT)是一个用于帮助客户端发现其所在NAT之后的公网IP地址和端口号。通信的双方都能知道所在的公网IP,并且能够让公网的NAT帮助转发,从而实现NAT穿透。STUN协议广泛应用在WebRTC实时通信系统中。STUN交互过程主要有以下几

libpeer分析

关键数据结构 PeerConfiguration typedef struct PeerConfiguration { IceServer ice_servers; MediaCodec audio_codec; MediaCodec video_codec; DataChannelType datachannel; void (*onaudiotrack)(uint8_t* data, s

看wireshark报文技巧

TCP握手与挥手 握手看SYNC与ACK 第一次握手标志, 第二次握手看标志,第三次ACK。 挥手看FIN 报文交互 正常交互 先看len,当长度为0,这个包是ack包,长度不为0表示是发送的数据包。 再看ack,表示该值以前的序号都收到了。ack是对端上一个报文的seq+len,同时也是期望对端下一个发包。 警告交互 TCP Dup ACK 重传ACK

MQTT协议分析

什么是MQTT MQTT是基于TCP/IP网络协议栈构建的异步通信消息协议,基于发布-订阅模式进行传输。实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中, MQTT协议中有三种身份: 发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。 其中消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者,客户端之间的通信完全是空间解耦的。

SSL/TLS协议分析

什么是TLS 1994: SSL 1.0 NetScape公司提出SSL第一版,未公开。 1995: SLL 2.0 公开发布了第二版,与2011年弃用。 1996: SSL 3.0 第三版得到大规模应,于2015年弃用。 1999: TLS 1.0 RFC2246,被IETF纳入标准化,没太大改动,改名TLS。 2006: TLS 1.1 RFC4346,修复bug,增加参数。 2008: TL