
从零开始详解网络协议
文章平均质量分 90
本专栏通过抓包实战解析TCP/IP、HTTP、SIP、RTP/RTSP、WebRTC等协议的核心机制,揭示报文结构与交互逻辑。不仅深入探讨动态心跳保活、GBA认证等工业级方案,更结合行业最佳实践,助你从协议原理跨越到工程落地。适合网络工程师、开发者及技术决策者——用数据包说话,让协议不再抽象。
bjxiaxueliang
在这里,我们聊技术,也聊生活。从移动领域到网络开发,从图形图像到AI机器学习,畅谈各领域的学习经验,探讨技术趋势;分享生活点滴,吐槽日常琐事,记录旅途见闻。品一杯清茶,享一段闲暇...!
展开
-
一文详解RTMP协议:直播推流拉流核心实现协议
在当今数字化信息飞速传播的时代,音视频内容已成为人们获取信息、娱乐休闲的重要载体。无论是网络直播、在线视频会议,还是视频点播服务,流畅且实时的音视频传输体验至关重要。而在这背后,RTMP(Real Time Messaging Protocol)协议扮演着不可或缺的角色。接下来,让我们一同揭开 RTMP 协议的神秘面纱,探寻它在流媒体世界中发挥的关键作用。原创 2025-03-18 14:08:48 · 211 阅读 · 0 评论 -
一文详解IPv4与IPv6:协议解析与报文对比
前段时间的工作大多与通信协议相关,随着协议相关工作的不断深入,相关数据包的分析占据了不少工作时间。在数据报文分析中,发现大学期间IP协议内容已经重新还给了老师,相关知识完全没有了印象,这篇文章算是一篇复习文,对相关IP协议进行重学习。原创 2023-06-12 17:34:10 · 6112 阅读 · 1 评论 -
一文学会WebRTC API:掌握实时通信利器
WebRTC(Web Real-Time Communication)是一项开放标准和技术集合,由 W3C 和 IETF 等组织共同推动和维护,旨在通过Web浏览器实现实时通信和媒体流传输。WebRTC于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准,其提供了一组API和协议,使开发者能够在浏览器中构建实时音视频通信、数据传输和协作应用。目前WebRTC已得到包括主流的Web浏览器(如Chrome、Firefox、Safari)和移动设备平台的广泛的原创 2023-10-17 15:03:25 · 1439 阅读 · 0 评论 -
一文读懂GBA认证流程:移动终端认证和网络安全连接的保障
GBA(Generic Bootstrapping Architecture)是一种用户认证机制,目前多用于运营商相关业务。在数据相关业务中,客户端与应用服务器(NAF)交互过程时,进行用户认证鉴权。`应用服务器NAF`与`基于SIM卡的终端设备应用`之间建立共享的`用户秘钥(Ks_NAF)`,并利用该共享秘钥实现用户认证,即GBA。原创 2020-12-21 22:32:36 · 7484 阅读 · 3 评论 -
一文详解 TCP与UDP协议:深度解析与场景应用
本文要介绍的TCP与UDP协议是TCP/IP 协议簇的核心成员,而TCP/IP协议簇是 Internet 的基础,也是一系列网络协议的总称。如:TCP、UDP、IP、FTP、HTTP、ICMP、SMTP等都属于TCP/IP协议族内的协议。这些协议在计算机网络中自上而下被划分为四层:应用层、传输层、网络层和链路层。原创 2020-05-19 21:23:53 · 3678 阅读 · 3 评论 -
一文读懂 SIP 协议:构建现代通信的基石
SIP是由IETF制定的多媒体通信协议。广泛应用于CS、NGN以及IMS的网络中,可以支持并应用于 语音、视频、数据等多媒体业务,同时也可以应用于Presence(呈现)、Instant Message(即时消息)等特色业务。可以说,有IP网络的地方就有SIP协议的存在。`SIP是类似于HTTP`,SIP可以减少应用特别是高级应用的开发时间。由于`基于IP协议的SIP利用了IP网络`,固定网运营商也会逐渐认识到SIP技术对于他们的远意义。原创 2020-03-04 20:11:27 · 11664 阅读 · 1 评论 -
一文详解 WebSocket:双向长连接数据传输协议
WebSocket 是一种应用层网据传输协议,可在单个TCP连接上进行全双工数据通信。WebSocket 诞生于2008年6月,2011年底成为国际标准,其最初被应用于HTML5规范中。WebSocket协议相比于Http协议,其最大的特点是`允许服务端主动向客户端推送数据`,`客户端也可以主动向服务端请求数据`。在WebSocket API中,浏览器和服务器只需要`完成一次握手`,两者之间就可以建立持久性的连接,并进行双向数据传输。原创 2022-05-20 00:13:28 · 1052 阅读 · 0 评论 -
一文详解SDP协议:多媒体会话参数与媒体流描述协议
SDP用于在互联网上传输多媒体会话的配置信息,常见于音视频、实时通信会话等。SDP协议提供一种灵活且可扩展的机制,通过在会话的参与者之间交换和传递SDP会话描述信息,实现多媒体会话参数与配置的协商和管理。这种机制为多媒体会话的协商与管理提供了完备的解决方案。原创 2020-03-07 22:16:29 · 5140 阅读 · 1 评论 -
一文详解 RTP/RTCP协议:流媒体数据传输的协议基石
RTP协议 运行于传输层UDP协议之上,与RTCP协议协作 常用于流媒体数据传输,例如:直播、远程摄像头流媒体播放、流媒体视频播放、视频会议等应用场景。其规定了在互联网上传递音频和视频的标准数据包格式,最初被设计为一个多播协议,但后来被常被应用在很多单播应用中。原创 2022-01-17 18:23:39 · 4309 阅读 · 0 评论 -
一文详解RTSP协议:流媒体传输控制协议
RTSP由RFC2326规范,是一种实现实时流媒体传输与播放的控制协议,可用于流媒体的点播和直播场景。RTSP主要有两个方面的作用:一是用于协商客户端与服务端之间的实时媒体通道。二是在建立媒体通道后,通过RTSP协议定义的控制方法(Method),实现流媒体的播放、暂停、停止、快进、倒退等控制操作。原创 2024-02-02 14:33:40 · 753 阅读 · 0 评论 -
一文详解MSRP协议:IM多媒体信息的传输协议
MSRP(Message Session Relay Protocol)消息会话中继协议,由RFC4975规范,是一种基于文本的、面向连接的协议。常用于在IM实时通信会话中传输或交换多媒体数据(文本、图片、音视频文件等)。支持点对点和多点传输,并提供了扩展性,可以适应不同的应用场景和需求。原创 2024-02-02 10:27:58 · 806 阅读 · 0 评论 -
一文详解CPIM协议:IM服务网关互联互通的桥梁
CPIM (Common Presence and Instant Messaging) 是一种应用于不同IM即时通信协议中,规范与描述消息体内容的通用消息格式,其消息格式由 RFC3862 规范 。CPIM消息体格式的定义是为了实现不同即时通讯协议之间的互操作性,让不同的即时通讯协议服务之间可以互联理解和互相交流。原创 2020-03-07 17:17:21 · 4218 阅读 · 0 评论 -
一文详解 SCTP 协议:高可靠网络传输的协议基石
SCTP(Stream Control Transmission Protocol)流控制传输协议,由 RFC2960 定义。SCTP的设计目的是提供一种可靠的、面向消息的数据传输服务,以便于支持多点通信以及满足传输的可靠性需求。SCTP 目前广泛应用于VoIP、移动通信和云计算等领域。原创 2023-05-05 21:26:02 · 3030 阅读 · 1 评论 -
一文详解 DTLS 协议:安全传输的协议基石
DTLS (Datagram Transport Layer Security)数据包安全传输协议,用于在不可靠的数据包传输协议上 (如UDP)提供数据的安全传输,DTLS1.2版本由 RFC6347 定义。DTLS为TLS协议的一个变体,因TLS不能用来保证UDP上传输的数据的安全性,Datagram TLS试图在现存的TLS协议架构上提出扩展,成为TLS的一个支持数据包传输的版本。DTLS常用于保护实时通信 (如VoIP和视频会议) 以及IoT设备通信的信息安全。原创 2023-03-27 10:31:07 · 2884 阅读 · 0 评论 -
一文读懂App服务保活:Android进程及TCP动态心跳机制
面对国内GCM推送服务不可用,也未出现一个统一市场PUSH平台的现状。早期的第三方软件一般通过维持一个终端与远端服务器之间的TCP长连接,达到PUSH拉活和消息及时送达的目的。而为了维持这个`TCP长连接`不断开,前提条件就是保证自己APP的后台服务进程,不会被杀死(因为只有活着的终端进程才能定期与远端服务器通信,保证长连接不断连)。原创 2021-10-28 09:04:09 · 3733 阅读 · 0 评论 -
一文读懂 HTTPS :HTTPS握手与TLS证书链校验
HTTPS协议详解从事移动互联网软件开发的小伙伴肯定了解:自Android 9.0开始,应用程序的网络请求默认使用https;基本是同期苹果IOS在应用网络请求方面,也强制使用https禁止http。这一期间如果你去面试,不了解Https的握手过程,都不好意思讲工资。本人一个普通程序员,项目期间工期紧张,并未抽出时间详细了解Https网络请求过程中TLS握手过程,因此这件事一直在我的待办记录中…这篇文章以Wireshark抓包,详细了解Https请求中TLS的握手过程 与 客户端证书校验过程。H原创 2020-06-23 17:09:01 · 2315 阅读 · 0 评论 -
一文读懂 HTTP 协议:报文结构及网络数据包举例
HTTP(HyperText Transfer Protocol)超文本传输协议。其`最初的设计目的是为了提供一种发布和接收HTML页面的方法`。HTTP是一个`客户端(用户)`和`服务端`之间请求和应答的标准。原创 2020-02-27 17:55:40 · 3886 阅读 · 0 评论 -
一文详解Http网络缓存:用Volley缓存机制为Android应用加速
在Android开发中,网络请求的性能直接影响用户体验。Google推出的Volley框架不仅简化了网络操作,其内置的缓存机制更能显著提升应用响应速度。本文将深入解析Volley缓存的工作原理,并通过实战代码展示如何最大化利用这一特性。原创 2017-04-17 13:23:28 · 603 阅读 · 0 评论 -
一文探讨Http短轮询与长轮询:实时数据推送的两种方式
早期的很多网站为具备数据推送能力,所在用的技术基本都是`HTTP轮询`。轮询是由由客户端每隔一段时间(如每隔5s)向服务器发出HTTP请求,服务端接收到请求后向客户端返回最新的数据。客户端的轮询方式一般为`短轮询`或`长轮询`。...原创 2018-01-09 12:04:44 · 6445 阅读 · 0 评论 -
一文探讨Http与Https:差异与安全机制对比
在当今互联网中,数据传输的安全性至关重要。HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)是两种最基础的网络协议,但它们在安全性、性能和应用场景上存在显著差异。原创 2017-03-19 11:44:53 · 1291 阅读 · 0 评论 -
一文探讨Http断点下载:Range请求头妙用
在网络传输中,大文件下载常面临连接中断、带宽波动等问题。重新下载整个文件既浪费资源又影响用户体验。HTTP协议的Range请求头允许客户端“分块”请求文件特定部分,实现断点续传、多线程下载等高级功能。本文将深入探讨其原理、实现及优化技巧。原创 2017-03-21 09:19:09 · 8739 阅读 · 0 评论 -
一文探讨Http分块上传:分块、断点续传与并发控制
本文探讨一种自定义的HTTP文件分块上传的方案,该方案需要服务端的支撑,包括如何标识文件片段及上传进度,文章后会提供一套示例代码。分块上传方案并不唯一,这里仅做讨论,欢迎大家一同探讨。原创 2017-03-21 09:16:40 · 5141 阅读 · 0 评论 -
一文简介MQTT协议:轻量级网络通信引擎
在物联网(IoT)和机器对机器(M2M)通信蓬勃发展的今天,寻找一种高效、可靠的通信协议变得尤为重要。MQTT(Messa参考百度百科:MQTT协议 MQTT协议-MQTT协议简介及协议原理 MQTT入门篇 MQTT与TCP的关系 MQTT数据包结构 MQTT英文文档 Version 3.1.1 MQTT协议中文版翻译MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscri...原创 2018-02-28 14:33:16 · 1536 阅读 · 0 评论 -
一文读懂 URLEncode:URL编码原理解析
使用浏览器进行Http网络请求时,若请求query中包含中文,中文会被编码为 `%+16进制+16进制`形式,但你真的深入了解过,为什么要进行这种转义编码吗?编码的原理又是什么?原创 2021-02-23 20:58:26 · 7542 阅读 · 0 评论 -
一文详解 NanoHttpd 微型服务器原理
`NanoHttpd`仅有一个Java文件的微型Http服务器实现。其方便嵌入式设备(例如:Android设备)中启动一个本地服务器,接收客户端本地部分请求;应用场景也非常广泛,例如:本地代理方式播放m3u8视频、本地代理方式加载一些加密秘钥等。原创 2019-08-29 16:51:47 · 1748 阅读 · 0 评论