一文搞懂HTTP, TCP, NG-AP, SCTP, QUIC, GTP-U, UDP, IP的原理
前言
大家好,今天孬孬带着大家来学习这些基础的网络协议,来才彻底搞懂HTTP, TCP, NG-AP, SCTP, QUIC, GTP-U, UDP, IP这些协议的背后的基本原理。在学习之前我们根据对应的OSI协议模型,来简单的对这些模型进行分类,
应用层(Application Layer):处理特定应用的数据格式和交互,如Web浏览或网络管理。包括HTTP、NG-AP、GTP-U(GTP-U虽基于UDP,但常视为用户平面隧道协议,位于应用层之上)。
传输层(Transport Layer):负责端到端的数据传输、可靠性、流控制等。包括TCP、SCTP、QUIC、UDP。
网络层(Network Layer):处理数据路由和寻址。包括IP。
一、应用层协议
1.HTTP (HyperText Transfer Protocol)
(1)原理:
HTTP(Hypertext Transfer Protocol,超文本传输协议)是一种基于请求-响应模型的应用层协议,用于传输超文本数据,通常基于TCP连接。客户端(如Web浏览器)发送HTTP请求,服务器根据请求返回相应的HTTP响应,包括HTML页面、图片、音视频等资源。
请求报文包括起始行(方法如GET/POST/PUT/DELETE、URL、版本)、头部(键-值对,如Host、Accept、Authorization,用于元数据如内容类型、缓存控制)和可选主体(数据负载,如表单数据)。响应报文类似,包括状态码(1xx信息、2xx成功如200 OK、3xx重定向、4xx客户端错误如404 Not Found、5xx服务器错误)。
HTTP/1.0是单次连接(每个请求一个TCP连接),HTTP/1.1引入持久连接(Keep-Alive)和管道化(pipelining,允许多个请求在响应前发送,但易受头部阻塞影响)。
HTTP/2通过二进制帧(frame)实现多路复用(multiplexing,在单个TCP连接上并行处理多个流)、服务器推送(push promise,预发送资源)和HPACK头部压缩(减少冗余)。
HTTP/3则迁移到QUIC传输层,集成TLS 1.3加密,使用UDP数据报,支持0-RTT连接恢复(基于先前会话密钥)。安全性通过HTTPS(HTTP over TLS)实现,涉及握手、证书验证和加密。缓存机制使用ETag(实体标签)和If-Modified-Since头部,避免重复传输。
HTTP还支持WebSocket扩展,实现全双工通信。整体,HTTP的状态机管理连接生命周期,从空闲到建立、传输和关闭。
(2)特点:
优势:
简单易实现(文本-based早期版本,便于调试);
高度可扩展(版本演进支持现代Web需求,如移动优化);
广泛兼容(几乎所有设备支持);
高效资源管理(缓存和压缩减少带宽);
安全性增强(HTTPS标准)。适用于RESTful API、静态/动态Web内容。
缺点:
无状态性要求应用层维护会话(e.g., Cookies,增加复杂性);
早期版本的头部阻塞(HOL blocking)导致延迟;
在高丢包网络中依赖TCP的重传开销大;
资源消耗高(多个连接或多路复用需优化);
安全性依赖TLS,易受中间人攻击如果配置不当。
不适合实时流媒体(虽有扩展,但不如专用协议)
(3)应用场景:
网页浏览:HTTP是网页浏览的基础协议,通过HTTP客户端(如浏览器)向服务器请求HTML页面,服务器响应页面并传输给客户端,完成网页加载和显示。
资源获取:除了HTML页面外,HTTP还可以用于获取网页中的各种资源,如图片、样式表、JavaScript脚本等。
RESTful API:HTTP协议被广泛用于构建RESTful API,通过HTTP请求和响应进行客户端和服务器之间的数据交互,实现各种网络服务。
文件下载:HTTP协议可以用于文件下载,用户可以通过HTTP请求从服务器下载文件到本地设备。
数据上传:HTTP协议也可以用于数据上传,用户可以通过HTTP请求将数据上传到服务器,如提交表单、上传文件等操作。
2.NG-AP (Next Generation Application Protocol)
(1)原理:
NGAP架构建立在N2接口之上,连接gNB(RAN)和AMF(核心网)。该接口有助于交换控制平面信令消息。NGAP 是 5G 及以后 (B5G) 网络的重要组成部分。它充当核心网络(5G 核心或 5GC)(如AMF/UPF等核心网功能))和无线接入网络 (RAN)(如gNBA基站) 之间的信令协议。其主要目的是促进这两个网段之间的高效通信和协调。
NGAP 通过提供以下实体之间的通信框架,在 5G 网络架构中发挥着关键作用:
gNB (gNodeB):5G 基站,负责与用户设备的无线电通信。
AMF(访问和移动管理功能):5GC 中管理移动性、会话建立和其他相关功能的关键组件。
SMF(会话管理功能):另一个负责会话管理和控制的 5GC 组件。
UPF(用户平面功能):处理 5GC 中的用户数据转发。
(2)特点:
优势:
专为5G优化,支持超可靠低延迟通信(URLLC)和海量机器通信(mMTC);
灵活性高(切片和虚拟化集成NFV/SDN);
可靠信令(依赖SCTP的多宿主);
标准化强(3GPP全球统一,便于部署)。
适用于移动核心网控制,如用户认证和移动性管理。
缺点:
复杂度高(ASN.1编码需专用工具解析,调试困难);
专有性强(仅限5G,不通用);
依赖底层协议(SCTP故障影响NG-AP);
开销大(IE结构冗长,虽有压缩);
兼容性挑战(与4G S1-AP迁移需适配器)。
不适合非电信应用。
(3)应用场景:
5G核心网信令:NG-AP用于5G网络中NG-RAN(gNB基站)与5GC(AMF、SMF等核心网功能)之间的控制平面通信,处理用户设备(UE)注册、认证、会话建立/释放(如PDU Session Setup)、移动性管理(切换、手动重定向)。
网络切片管理:支持5G网络切片(Network Slicing),为不同服务(如eMBB、URLLC、mMTC)分配专用逻辑网络,如智能制造的低延迟切片或物联网的大连接切片。
多连接和梁形成:NG-AP在5G NR中支持双连接(Dual Connectivity,如4G+5G组合)和毫米波梁管理,优化高吞吐场景(如VR/AR基站)。
核心网故障恢复:通过Reset和Error Indication消息,NG-AP支持gNB-AMF间的错误恢复,适用于高可靠性电信网络
3.GTP-U (GPRS Tunneling Protocol - User Plane)
(1)原理:
GPRS 用户平面隧道协议 (GTP-U) 是移动网络中使用的一种协议,用于在基站和服务网关之间传输用户数据包。它是 GPRS 核心网络的一部分,负责处理 GSM、UMTS 和 LTE 网络中的移动数据流量。它是一种在 GPRS 网络的用户平面中运行的协议,这意味着它处理移动设备和服务网关之间用户数据包的传输。GTP-U 协议用于 UMTS 和 LTE 网络。
GTP-U协议用于在移动设备和服务网关之间建立隧道。隧道是通过将用户数据包封装在 GTP-U 数据包中来创建的。然后,GTP-U 数据包通过 GPRS 核心网络发送到服务网关。数据包到达服务网关后,它们将被解封装,并将用户数据包转发到其目的地。
(2)特点:
优势:
高效轻量(最小开销,适合高吞吐用户数据);
无缝移动性(隧道切换不中断会话);
多隧道支持(每个UE/PDU会话独立);
易扩展(可选字段适应新需求)。
适用于4G/5G用户平面,如上网和VoLTE数据转发。
缺点:
无内置可靠性(丢包需上层重试,增加延迟);
安全弱(无加密,易窃听,需IPsec补充);
头部开销(虽小,但累积影响带宽);
路径检测粗糙(Echo不实时);
兼容性问题(GTPv1/v2版本差异)。
不适合需要有序交付的应用,除非启用序列号。
(3)应用场景:
移动网络用户数据传输:GTP-U在4G/5G网络中用于用户平面数据隧道,如从基站(eNB/gNB)到核心网(SGW/PGW或UPF)。典型场景包括手机上网、视频流、VoLTE通话。
移动性管理:支持UE在基站间切换(如驾车移动),通过TEID保持隧道连续性,适用于无缝移动体验。
5G QoS流:在5G中,GTP-U封装PDU Session的QoS Flow,支持差异化服务,如低延迟游戏流或高带宽视频流。
企业专网:在私有5G网络中,GTP-U用于企业内部数据传输,如工厂自动化或港口物流。
二、传输层协议
1.TCP (Transmission Control Protocol)
(1)原理:
TCP协议是一个面向连接的、可靠的传输协议,它提供一种可靠的字节流,能保证数据完整、无损并且按顺序到达。TCP尽量连续不断地测试网络的负载并且控制发送数据的速度以避免网络过载。另外,TCP试图将数据按照规定的顺序发送。TCP旨在适应支持多网络应用的分层协议层次结构,互连的计算机通信网络中成对的应用程序进程之间能够依靠TCP提供可靠的通信服务来传输字节流。TCP支持双向数据流,应用程序也可以仅单向发送数据。在主机之间,TCP使用端口号标识应用程序服务并且可以多路传输数据流。
(2)特点:
优势:
高可靠性(重传、纠错);
有序交付;流量/拥塞控制适应网络;
广泛支持(内核级实现)。
适用于文件传输、邮件、Web。
缺点:
连接开销高(握手延迟);
头部阻塞(HOL,一个丢包阻塞后续);
在无线/高丢包网络性能差(误判丢包为拥塞);
资源消耗(每个连接缓冲/状态)。
不适合实时应用如视频通话。
(3)应用场景:
2.SCTP (Stream Control Transmission Protocol)
(1)原理:
SCTP是一个 IP 协议之上的、可靠的、面向控制信令的、传输层协议。SCTP 可以在 “尽力而为(无连接、不可靠)” 的 IP 网络之上为电信级信令传输提供高效、可靠的信令传输服务,例如 5GC 中的 N4 接口就使用了 SCTP 协议。
SCTP 的诞生是为了弥补 TCP/UDP 在电信网络控制信令传输场景中的不足,它们都难以完全满足在电信网络中信令承载的要求。为了解决 TCP/UDP 协议在传输实时信令时所面临的不可靠传输和时延等问题,SCTP 协议设计了以下的核心特性,包括:
适当的拥塞控制;
防止泛滥和伪装攻击;
更优的实时性能;
多属主(Multi-homing)特性支持;
多流(Multi-streaming)特性支持;
(2)特点:
优势:
高可用性(多宿主容错);
无HOL阻塞(多流);
消息边界保留;安全(cookie防攻击)。
适用于电信信令、实时数据。
缺点:
实现复杂(较少库支持);
兼容性差(防火墙常阻塞);
开销高于UDP;
不适合大批量数据(chunk结构)。
比TCP更灵活但部署少。
(3)应用场景:
电信信令:SCTP最初为SS7 over IP设计,现用于5G NG-AP、S1-AP(4G)等信令协议,传输核心网控制消息(如呼叫建立、SMS)。
VoIP和实时通信:SCTP的多流支持避免头部阻塞,适合VoIP信令(如SIP)和媒体控制。
高可用性系统:多宿主特性用于需要容错的场景,如电信基站到核心网的冗余路径,或金融交易系统。
部分可靠传输:PR-SCTP用于实时数据,如流媒体元数据,允许过期消息丢弃以减少延迟。
3.QUIC (Quick UDP Internet Connections)
(1)原理:
QUIC(Quick UDP Internet Connection)是谷歌推出的一套基于UDP的传输协议,它实现了TCP + HTTPS + HTTP/2的功能,目的是保证可靠性的同时降低网络延迟。因为UDP是一个简单传输协议,基于UDP可以摆脱TCP传输确认、重传慢启动等因素,建立安全连接只需要一的个往返时间,它还实现了HTTP/2多路复用、头部压缩等功能。
众所周知UDP比TCP传输速度快,TCP是可靠协议,但是代价是双方确认数据而衍生的一系列消耗。其次TCP是系统内核实现的,如果升级TCP协议,就得让用户升级系统,这个的门槛比较高,而QUIC在UDP基础上由客户端自由发挥,只要有服务器能对接就可以。
(2)特点:
优势:
快速连接建立:QUIC支持零往返时间(0-RTT)和1往返时间(1-RTT)的连接建立,这意味着在最佳情况下,客户端可以在发送第一个请求的同时建立连接,从而减少延迟。
多路复用:QUIC允许在单个连接上并行传输多个独立的数据流。这减少了因TCP的队头阻塞问题导致的延迟,使得单个丢包事件不会影响到其他数据流的传输。
内置加密:QUIC使用TLS 1.3进行端到端加密,保护数据传输免受监听和篡改。与TCP+TLS相比,QUIC的加密集成更为紧密,提高了安全性和效率。
连接迁移:QUIC连接由连接ID(而非传统的IP地址+端口组合)标识,这使得即使网络环境发生变化(如用户的移动设备从Wi-Fi切换到移动数据),连接也能保持不中断。
改进的拥塞控制:QUIC实现了自己的拥塞控制机制,旨在更有效地处理网络拥塞和丢包,提高网络利用率。
前向纠错(FEC):QUIC支持前向纠错机制,可以在不需要重传的情况下恢复丢失的数据包,进一步减少延迟(注:FEC在QUIC的早期版本中被实验性支持,但在后续的标准化过程中被移除)。
缺点:
UDP依赖易被中间盒阻塞;复杂(集成多层功能);
CPU开销高(加密);
兼容性问题(旧网络不支持)。
新兴但快速采用。
(3)应用场景:
现代Web服务:QUIC是HTTP/3的底层协议,用于加速网页加载(如Google、YouTube),尤其在移动或不稳定网络中。
视频流和游戏:低延迟和连接迁移支持在线视频(如Netflix)和云游戏,减少卡顿。
移动应用:QUIC的0-RTT和抗丢包特性适合移动App(如社交媒体、地图),在Wi-Fi/蜂窝切换时保持连接。
IoT和边缘计算:QUIC的快速连接和加密适合资源受限设备与云端交互。
4.UDP (User Datagram Protocol)
(1)原理:
UDP(User Datagram Protocol,用户数据报协议)是在一组互连的计算机网络环境中提供分组交换计算机通信的数据报模式。该协议假定使用IP作为底层协议,按照OSI模型工作在传输层。UDP为应用程序提供了一种以最少的协议机制向其他程序发送消息的过程 。该协议是面向事务的,不保证传递和重复保护。对于迟延敏感的应用,少量的数据丢失一般可以被忽略,这时使用UDP传输将能够提升用户的体验。
(2)特点:
优势:
低延迟/开销;
简单;适合实时(如DNS查询、游戏);
支持组播。
缺点:
不可靠(无序、无确认);
无拥塞控制(易洪泛网络);
安全弱(易伪造)。
适用于丢包可容忍场景。
(3)应用场景:
DNS查询:UDP的低延迟用于DNS解析(如域名到IP转换),小数据量无需可靠性。
实时音视频:RTP(基于UDP)用于视频会议、直播(如Zoom、Twitch),丢包可容忍,延迟敏感。
在线游戏:UDP支持快速状态更新(如位置、动作),如《堡垒之夜》或《CS:GO》。
广播/多播:IPTV、组播流媒体使用UDP分发内容到多客户端。
隧道协议底层:GTP-U、VXLAN等隧道协议使用UDP封装,高效传输用户数据。
三、网络层协议
1.IP (Internet Protocol)
(1)原理:
IP是一种网络层协议,用于在网络中传输数据包。它负责数据包的路由和转发,将数据包从源主机传输到目标主机。它使用IP地址来标识主机和网络,并使用路由表来选择数据包传输的路径。IP提供无连接数据报服务。
IPv4头部20字节:版本、IHL(头部长度)、TOS(服务类型)、总长度、ID/标志/偏移(碎片)、TTL、协议(上层如6=TCP)、校验和、源/目的地址。路由器基于目的IP转发,TTL递减防循环。碎片在源端分片,目的重组。ICMP报告错误(如Destination Unreachable)。IPv6头部40字节:流量类、流标签(QoS)、下一头部、跳限、128位地址,支持扩展头部(路由、安全)。无可靠性,依赖上层。
(2)特点:
优势:
通用路由;
可扩展(IPv6地址空间/内置IPsec);
最佳努力高效。全球互联网基础。
缺点:
无安全/可靠性(易攻击/丢包);
碎片开销;IPv4地址短缺(NAT复杂)。
不适合需QoS的应用除非扩展。
(3)应用场景:
互联网通信:IP是所有互联网流量的基础,支撑Web、邮件、视频流等所有基于TCP/UDP的应用。
企业网络:用于LAN/WAN路由,连接内部系统、VPN(如IPsec)和云服务。
移动网络:4G/5G核心网和RAN使用IP路由用户和控制数据(GTP-U、NG-AP底层)。
IoT网络:IPv6以其大地址空间支持海量设备连接,如智能家居、工业传感器。
数据中心:IP支持虚拟化网络(如SDN、VXLAN),实现高效云服务路由。
参考文献
https://blog.youkuaiyun.com/weixin_44772566/article/details/136430850
https://bbs.huaweicloud.com/blogs/415869
https://telecomtrainingpro.com/what-is-ng-ap-ng-application-protocol/
https://www.telecomtrainer.com/ng-ap-next-generation-application-protocol/#:~:text=NG-AP%2C%20or%20Next-Generation%20Application%20Protocol%2C%20is%20a%20term,network%20applications%20in%20the%20next%20generation%20of%20networks.
https://techlteworld.com/ngap-ng-application-protocol-in-5g-nr/
https://www.telecomtrainer.com/gtp-u-gprs-tunneling-protocol-in-user-plane/
https://baike.baidu.com/item/TCP/33012
https://blog.youkuaiyun.com/crazymakercircle/article/details/114527369
https://zhuanlan.zhihu.com/p/639293225
https://baike.baidu.com/item/STCP/10051875
https://baike.baidu.com/item/UDP?fromModule=lemma_search-box
https://blog.youkuaiyun.com/wangnanwlw/article/details/141691404
https://geekdaxue.co/read/fcant@web-notes/guo3ha
QUIC- Quick UDP Internet Connections
总结
HTTP、TCP、NG-AP、SCTP、QUIC、GTP-U、UDP和IP是网络通信中不同层级的协议,共同支撑互联网和电信系统,但功能和应用场景各异。HTTP和NG-AP是应用层协议,前者通用于Web和API交互,强调简单性和可扩展性;后者专为5G信令设计,复杂且特定。GTP-U虽归应用层,实际为移动网络用户数据隧道,依赖UDP高效传输。传输层的TCP提供可靠、有序交付,适合文件传输和Web,但延迟较高;SCTP增强了多流和多宿主,适于电信信令;QUIC基于UDP,集成加密和多路复用,优化现代Web和移动场景;UDP则以低开销支持实时应用,牺牲可靠性。IP作为网络层基石,负责路由和寻址,通用但无安全保障。它们均依赖分层协作,HTTP、NG-AP、GTP-U专注应用逻辑,TCP、SCTP、QUIC、UDP处理端到端传输,IP提供底层寻址,共同点是模块化设计,差异在于可靠性、延迟和场景专一性。

1535

被折叠的 条评论
为什么被折叠?



