前言
学习TCP-IP网络协议是理解网络通信本质的核心,它并非单一协议,而是一套涵盖网络通信各环节的协议族。本次学习聚焦TCP-IP协议族的核心架构、关键协议特性,以及基于其基础的上层协议工作机制,旨在构建清晰的网络协议知识框架。
一、简介
TCP-IP协议族采用分层设计思想,将复杂的网络通信流程拆解为多个独立的功能层,每层通过标准化接口为上层提供服务,同时调用下层的服务。这种设计既降低了单一层级的复杂度,又提升了协议的可扩展性和兼容性。通常将其归纳为四层模型(与OSI七层/五层模型对应,一般以五层来标识)。
TCP/IP协议主要由网络层的IP协议 和 传输层的TCP协议组成 。IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都属于 TCP/IP 协议,他们与 TCP 或 IP 的关系紧密。因此,也称 TCP/IP 为网际协议群。TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。
二、TCP/IP层次结构

2.1 7层:OSI

OSI 模型是网络通信的七层分层规范,每一层负责不同的通信任务,结合图中信息解释如下:
分层及功能(从下到上)
-
**物理层(归属:通信子网)**负责传输物理信号,定义接口、信号规范(比如网线接口、电信号格式)。
-
**链路层(归属:通信子网)**把数据包装成 "帧"(可发送 / 接收的基本数据单位),处理链路的连接与传输。
-
网络层(归属:面向通信) 对数据进行分组,同时完成路由选择(帮数据选通信路径,比如 IP 地址的路由逻辑)。
-
**传输层(归属:面向通信)**处理差错、控制流量,提供可靠的数据传输(比如 TCP、UDP 协议就工作在这一层)。
-
**会话层(归属:面向服务)**建立 "通信进程的逻辑名字与物理名字" 的关联,负责管理通信会话的开始、维持、结束。
-
**表示层(归属:面向服务)**定义数据格式,完成数据转换、加密 / 解密(比如把不同格式的文件转成通用格式,或给数据加密)。
-
**应用层(归属:面向应用)**提供应用程序的网络接口,常见应用协议(FTP 文件传输、E-mail 邮件、Telnet 远程登录)都在这一层。
| OSI 分层 | 归属分类 | 核心功能 | 典型协议 / 技术 |
|---|---|---|---|
| 物理层 | 通信子网 | 传输物理信号、定义接口 / 信号规范 | 铜缆、网线、光缆、无线电等 |
| 数据链路层 | 通信子网 | 将数据组成可发送 / 接收的帧 | 以太网、令牌环、HDLC、帧中继、ISDN、ATM、IEEE 802.11、FDDI、PPP |
| 网络层 | 面向通信 | 数据分组、路由选择 | IP、ICMP、IGMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、X.25 |
| 传输层 | 面向通信 | 差错处理 / 恢复、流量控制、可靠传输 | TCP、UDP、TLS、RTP、SCTP、SPX、ATP、IL |
| 会话层 | 面向服务 | 建立通信进程名关联、管理会话 | ASAP、SSH、RPC、NetBIOS、ASP、Winsock、BSD Sockets |
| 表示层 | 面向服务 | 数据格式定义、转换 / 加密 | XDR、ASN.1、SMB、AFP、NCP |
| 应用层 | 面向应用 | 提供应用程序的网络接口 | HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP |
2.2 五层:TCP/IP协议

补充:数据包的组成


注:暂时以主要内容讲解。
三、应用层(以五层模型为准)
3.1 主要使用的协议
HTTP协议:超文本传输协议。
HTTPS协议:基于SSL的http协议,在HTTP应用层与TCP传输层之间加了一层安全层,信息在传
输之前先进行SSL或TLS安全层加密,然后再传输。
FTP协议:文件传输协议;可以使主机之间共享文件,用于控制Internet上文件的双向传输。
DNS协议:DNS是⼀整套从域名映射到IP的系统。
SSH协议:为远程登录会话和其他网络服务提供安全性的协议。
3.2 HTTP协议的讲解
**HTTP(超文本传输协议,Hypertext Transfer Protocol)**是一种用于从网络传输超文本到本地浏览器的传输协议。它定义了客户端与服务器之间请求和响应的格式。HTTP 工作在 TCP/IP 模型之上,通常使用端口 80。
**HTTPS(超文本传输安全协议,Hypertext Transfer Protocol Secure)**是 HTTP 的安全版本,它在 HTTP 下增加了 SSL/TLS 协议,提供了数据加密、完整性校验和身份验证。HTTPS 通常使用端口 443。
HTTP
HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网( WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP 是一个基于 TCP/IP 通信协议来传递数据(HTML 文件、图片文件、查询结果等)。
HTTPS
HTTPS 协议是 HyperText Transfer Protocol Secure(超文本传输安全协议)的缩写,是一种通过计算机网络进行安全通信的传输协议。
HTTP 本身是不安全的,因为传输的数据未经加密,可能会被窃听或篡改,为了解决这个问题,引入了 HTTPS,即在 HTTP 上加入 SSL/TLS 协议,为数据传输提供了加密和身份验证。
HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包,HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。
HTTP 的 URL 是由 http:// 起始与默认使用端口 80 ,而 HTTPS 的 URL 则是由 https:// 起始与默认使用端口443。
3.2.1 HTTP 工作原理:"请求 - 响应" 的简单逻辑
HTTP 是 "客户端(浏览器 / APP)→服务器" 的双向通信模式,流程是:
- 客户端发请求 :你在浏览器输入网址(比如www.taobao.com),客户端就会打包 "想要啥资源" 的请求发给服务器;
- 服务器处理请求:服务器(比如淘宝用的 Nginx、Apache)收到请求后,找到对应的网页、商品数据;
- 服务器返响应:把处理好的资源打包成 "响应" 发回客户端;
- 客户端渲染:浏览器解析响应内容,把网页、图片展示出来。
另外 HTTP 有 3 个关键特点:
- 无连接:一次连接只处理一个请求,用完就断,省传输时间;
- 媒体独立:只要双方能识别,文本、图片、视频都能传(靠 MIME-type 标注资源类型);
- 无状态:服务器记不住 "你是谁",后续操作需要重传信息(后面的 Cookie/Session 就是用来补这个短板的)。
3.2.2 HTTP 请求头:客户端的 "需求说明书"(4 部分)
请求头是客户端发给服务器的 "信息包",分 4 块:
- 请求行 :核心指令,格式是 "请求方法(如 GET/POST) + 资源 URL + HTTP 版本"(比如
GET /index.html HTTP/1.1); - 请求头 :补充客户端信息(比如
User-Agent说明 "我是 Chrome 浏览器",Cookie带你的登录信息); - 空行:分隔 "请求头" 和 "请求体" 的标志;
- 请求体:要发给服务器的数据(比如你填的表单内容、上传的文件)。
3.2.3 HTTP 响应头:服务器的 "回复说明书"(4 部分)
响应头是服务器回给客户端的 "包裹单",也分 4 块:
- 响应行 :结果状态,格式是 "HTTP 版本 + 状态码 + 状态描述"(比如
HTTP/1.1 200 OK代表请求成功); - 响应头 :补充服务器信息(比如
Content-Type说明 "这是 HTML 文件",Set-Cookie给客户端存登录信息); - 空行:分隔 "响应头" 和 "响应体" 的标志;
- 响应体:实际要返回的资源(比如网页代码、图片二进制数据)。
3.2.4 HTTP 常见 Header 信息:高频 "沟通术语"
- 请求头常见字段 :
User-Agent:告诉服务器 "我用的什么浏览器 / 设备";Content-Type:说明请求体的数据类型(比如application/json是 JSON 数据);Cookie:带客户端存储的身份信息(比如登录态)。
- 响应头常见字段 :
Content-Type:说明响应体的资源类型(比如text/html是网页);Set-Cookie:让客户端存新的 Cookie 信息;Cache-Control:告诉客户端 "这个资源能缓存多久"。
3.2.5 HTTP 和 HTTPS 的区别:"裸奔" vs "加密冲浪"
| 对比项 | HTTP | HTTPS |
|---|---|---|
| 安全程度 | 明文传输,不安全 | SSL/TLS 加密,安全 |
| 默认端口 | 80 | 443 |
| 协议基础 | 仅 HTTP | HTTP + SSL/TLS |
| 身份验证 | 无 | 可验证服务器证书 |
3.2.6 Session 和 Cookie 的区别:帮服务器 "记人" 的工具
HTTP 是 "无状态" 的,这俩是用来让服务器 "记住你" 的:
| 对比项 | Cookie | Session |
|---|---|---|
| 存储位置 | 客户端(浏览器) | 服务器端 |
| 安全性 | 较低(可被篡改) | 较高(存在服务器) |
| 生命周期 | 可设置过期时间 | 随会话结束(比如关浏览器) |
| 存储大小 | 一般不超过 4KB | 无明确限制(看服务器配置) |
3.2.7 HTTPS 加密和解密的过程:"安全握手" 全流程
HTTPS 的加密靠 "握手阶段协商密钥 + 传输阶段加密通信",步骤是:
- 客户端发 "加密能力":客户端告诉服务器 "我支持哪些加密算法";
- 服务器发 "身份 + 选择":服务器返回自己的 SSL 证书(证明是真服务器),并选一个加密算法;
- 客户端验证书 + 生成密钥:客户端验证证书有效后,生成一个 "会话密钥",用服务器证书里的公钥加密发给服务器;
- 双方加密通信:服务器用自己的私钥解开 "会话密钥",之后双方都用这个密钥加密传输数据。
四、传输层:端到端的 "数据保镖" 与 "交通调度员"
核心职责是为应用层提供端到端的可靠数据传输服务,是连接 "应用层" 和 "网络层" 的关键桥梁。它不关心数据的具体内容,只负责确保数据从一个应用程序完整、有序地到达另一个应用程序。
4.1 核心功能:数据传输的 "三重保障"
- 分段与重组:将应用层的大数据块分成适合网络传输的小数据段,在接收端再重新组合成完整数据
- 流量控制:防止发送方发送数据过快导致接收方缓冲区溢出(如 TCP 的滑动窗口机制)
- 差错控制:检测并纠正传输过程中的错误(如 TCP 的校验和、确认应答、重传机制)
- 拥塞控制:根据网络拥堵情况调整发送速率,避免网络瘫痪
- 多路复用 / 分用:通过端口号区分同一主机上的不同应用程序(如 80 端口对应 HTTP,443 对应 HTTPS)
4.2 关键特性:两种核心传输模式
传输层提供两种截然不同的传输服务,满足不同应用场景需求:
| 传输模式 | 典型协议 | 可靠性 | 连接性 | 适用场景 |
|---|---|---|---|---|
| 面向连接 | TCP | 高(有确认、重传机制) | 面向连接(三次握手建立连接) | 网页浏览、文件传输、邮件发送等需要可靠传输的场景 |
| 无连接 | UDP | 低(无确认、无重传) | 无连接(直接发送数据) | 视频通话、实时直播、DNS 查询等对实时性要求高的场景 |
4.3 典型协议详解
-
TCP(传输控制协议)
- 面向连接的可靠传输协议,通过三次握手建立连接,四次挥手断开连接
- 提供流量控制(滑动窗口)、拥塞控制(慢启动、拥塞避免)和差错控制(校验和、确认应答)
- 适用于对可靠性要求高的场景,如 HTTP、FTP、SMTP 等应用层协议都基于 TCP
-
UDP(用户数据报协议)
- 无连接的不可靠传输协议,头部开销小(仅 8 字节,TCP 头部 20-60 字节)
- 不提供确认、重传机制,传输速度快,延迟低
- 适用于实时性要求高的场景,如 DNS、DHCP、RTP(实时传输协议)等
-
其他重要协议
- TLS/SSL:在 TCP 基础上提供加密、身份验证和数据完整性保护(HTTPS 的核心)
- SCTP:流控制传输协议,结合了 TCP 和 UDP 的优点,支持多流和多宿主
- RTP:实时传输协议,专为音视频等实时数据设计,通常与 UDP 配合使用
4.4 与上下层的关系
- 对上:为应用层提供 "端口号" 标识,让不同应用程序能共享同一网络连接
- 对下:依赖网络层提供的 IP 地址进行路由选择,将数据段封装成 IP 数据报进行传输
4.5 补充:三次握手四次挥手机制讲解

这个图展示了TCP 协议的连接建立(三次握手)、数据传输、连接断开(四次挥手)的完整过程 ,左边是客户端(Client),右边是服务器(Server),下面分阶段解释:
4.5.1 连接建立:三次握手
TCP 通过 "三次握手" 建立可靠连接:
-
第一步 :
- 客户端调用connect(),进入SYN_SENT状态;
- 向服务器发送SYN报文(同步请求),序号为seq=x;
- 服务器初始处于LISTEN状态(通过listen()进入)。
-
第二步 :
- 服务器收到SYN后,进入SYN_RCVD状态;
- 回复SYN+ACK报文:包含自己的同步请求(SYN seq=y),以及对客户端SYN的确认(ACK=x+1,因为SYN报文会占用 1 个序号)。
-
第三步 :
- 客户端收到SYN+ACK后,进入ESTABLISHED(连接已建立)状态;
- 回复ACK报文,确认服务器的SYN(ACK=y+1);
- 服务器收到ACK后,也进入ESTABLISHED状态,连接正式建立。
4.5.2 数据传输阶段
连接建立后,双方可以传输数据:
- 客户端调用write()发送数据,报文的seq=x+1(承接之前的SYN序号)、ACK=y+1;
- 服务器调用read()接收数据,之后回复ACK报文,确认号为x+2(表示已收到seq=x+1的报文,期待下一个报文序号是x+2)。
4.5.3 连接断开:四次挥手
TCP 通过 "四次挥手" 关闭连接(因为连接是双向的,需双方分别关闭):
-
第一步 :
- 客户端调用close(),进入FIN_WAIT_1状态;
- 发送FIN报文(关闭请求),序号seq=x+2,ACK=y+1。
-
第二步 :
- 服务器收到FIN后,进入CLOSE_WAIT状态;
- 回复ACK报文,确认号x+3(确认客户端的FIN)。
-
第三步 :
- 客户端收到ACK后,进入FIN_WAIT_2状态;
- 服务器准备好关闭后,调用close(),进入LAST_ACK状态,发送自己的FIN报文,序号seq=y+1。
-
第四步 :
- 客户端收到服务器的FIN后,进入TIME_WAIT状态;
- 回复ACK报文,确认号y+2;
- 服务器收到ACK后关闭连接;客户端需在TIME_WAIT等待一段时间(通常 2 倍报文最大生存时间2MSL),确保对方收到ACK后再关闭。
五、网络层:跨网络的 "路径规划师" 与 "地址分配员"
核心职责是实现不同网络之间的互联互通,负责为数据分组选择最佳传输路径,并通过 IP 地址标识网络中的主机。它是 "通信子网" 的核心,解决了 "如何从一个网络到达另一个网络" 的问题。
5.1 核心功能:数据传输的 "导航系统"
- 路由选择:根据网络拓扑和路由协议,为数据分组选择最优传输路径
- 寻址:通过 IP 地址标识网络中的主机(如 IPv4 的 32 位地址,IPv6 的 128 位地址)
- 分组转发:将数据分组从一个网络转发到另一个网络
- 拥塞控制:防止网络中数据流量过大导致的拥塞
- 异构网络互联:实现不同类型网络(如以太网、令牌环网)之间的通信
5.2 关键特性:两种核心寻址方式
网络层通过两种地址实现不同层面的标识:
| 地址类型 | 作用 | 典型例子 |
|---|---|---|
| 网络地址(IP 地址) | 标识主机所在的网络和主机本身 | IPv4: 192.168.1.1IPv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 |
| 物理地址(MAC 地址) | 标识网络接口卡(NIC)的硬件地址 | 00:1B:44:11:3A:B7 |
5.3 典型协议详解
-
IP(网际协议)
- 网络层的核心协议,负责为数据分组分配 IP 地址并进行路由转发
- IPv4:32 位地址,约 42 亿个地址,已接近耗尽
- IPv6:128 位地址,提供几乎无限的地址空间,解决 IPv4 地址不足问题
-
路由协议
- 内部网关协议(IGP):用于自治系统(AS)内部的路由选择,如 RIP、OSPF、EIGRP
- 外部网关协议(EGP):用于不同自治系统之间的路由选择,如 BGP
-
辅助协议
- ICMP:互联网控制消息协议,用于报告错误和传递控制信息(如 ping 命令基于 ICMP)
- IGMP:互联网组管理协议,用于组播通信
- ARP/RARP:地址解析协议 / 反向地址解析协议,用于 IP 地址和 MAC 地址之间的转换
5.4 与上下层的关系
- 对上:为传输层提供 "主机到主机" 的通信服务,隐藏了底层网络的细节
- 对下:依赖数据链路层提供的 "帧" 传输服务,将 IP 数据报封装成帧进行传输
六、数据链路层:相邻节点的 "数据打包员" 与 "链路守护者"
核心职责是在相邻两个网络节点之间提供可靠的帧传输服务。它将网络层的 IP 数据报封装成 "帧",并通过物理层的物理介质进行传输,同时处理链路层的差错和流量控制。
6.1 核心功能:帧传输的 "四大保障"
- 帧封装:将网络层的 IP 数据报加上帧头(包含源 MAC 地址和目的 MAC 地址)和帧尾(包含校验和),形成可传输的帧
- 差错检测与纠正:通过校验和等机制检测并纠正传输过程中的比特错误
- 流量控制:防止发送方发送数据过快导致接收方缓冲区溢出
- 链路管理:负责数据链路的建立、维持和释放
6.2 关键特性:两种核心链路类型
数据链路层支持两种不同的链路类型:
| 链路类型 | 特点 | 适用场景 |
|---|---|---|
| 点对点链路 | 两个节点之间直接连接,没有其他节点共享链路 | 拨号上网(PPP)、帧中继 |
| 广播链路 | 多个节点共享同一传输介质,一个节点发送的帧会被所有节点接收 | 以太网、无线局域网(WiFi) |
6.3 典型协议与技术详解
-
以太网(Ethernet)
- 最常用的局域网技术,采用 CSMA/CD(载波监听多路访问 / 冲突检测)机制解决冲突
- 帧格式:前导码 + 帧起始定界符 + 目的 MAC 地址 + 源 MAC 地址 + 类型 / 长度 + 数据 + 校验和
- 传输介质:双绞线、光纤等
-
PPP(点对点协议)
- 用于点对点链路的协议,支持多种网络层协议(如 IP、IPX)
- 提供身份验证(PAP、CHAP)、差错检测和压缩功能
-
其他重要技术
- HDLC:高级数据链路控制协议,面向比特的同步数据链路层协议
- 帧中继:一种高速分组交换技术,用于广域网
- IEEE 802.11:无线局域网(WiFi)标准
- ATM:异步传输模式,用于宽带综合业务数字网(B-ISDN)
6.4 与上下层的关系
- 对上:为网络层提供 "帧" 传输服务,隐藏了物理层的细节
- 对下:依赖物理层提供的 "比特流" 传输服务,将帧转换为比特流进行传输
七、物理层:信号传输的 "物理媒介" 与 "信号规范"
物理层位于 OSI 模型的最底层(第 1 层),核心职责是在物理介质上传输原始的比特流。它定义了物理介质的电气特性、机械特性、功能特性和规程特性,是整个 OSI 模型的基础。
7.1 核心功能:比特流的 "物理传输通道"
- 信号编码:将数据链路层的 "0" 和 "1" 比特流转换为适合物理介质传输的电信号、光信号或无线电信号
- 物理介质连接:定义物理接口的机械特性(如插头、插座的形状)和电气特性(如电压、电流)
- 比特同步:确保发送方和接收方的时钟同步,保证比特流的正确接收
- 传输介质:提供物理传输通道,如双绞线、光纤、无线电波等
7.2 关键特性:四种核心物理特性
物理层定义了物理接口的四种关键特性:
| 特性类型 | 定义 | 典型例子 |
|---|---|---|
| 机械特性 | 物理接口的形状、尺寸、引脚数等 | RJ-45 接口(网线接口)、BNC 接口(同轴电缆接口) |
| 电气特性 | 信号的电压、电流、编码方式等 | 以太网:10BASE-T 的信号电平为 + 2.5V~+5V(逻辑 0)和 - 2.5V~-5V(逻辑 1) |
| 功能特性 | 物理接口各引脚的功能 | 网线的 8 根线分别用于发送和接收数据 |
| 规程特性 | 信号传输的时序和控制过程 | 以太网的 CSMA/CD 机制 |
7.3 典型传输介质与技术
-
有线传输介质
- 双绞线:由两根绝缘的铜导线绞合而成,分为屏蔽双绞线(STP)和非屏蔽双绞线(UTP),常用于局域网
- 同轴电缆:由内导体、绝缘层、外导体和护套组成,常用于有线电视和早期局域网
- 光纤:利用光信号传输数据,分为单模光纤和多模光纤,传输速度快、抗干扰能力强,常用于长距离传输
-
无线传输介质
- 无线电波:用于无线局域网(WiFi)、蓝牙、移动通信(4G/5G)等
- 微波:用于卫星通信和点对点通信
- 红外线:用于短距离通信(如电视遥控器)
7.4 与上下层的关系
- 对上:为数据链路层提供 "比特流" 传输服务,是数据链路层的物理基础
- 对下:直接与物理介质交互,将电信号、光信号或无线电信号通过物理介质进行传输
八、问题补充
8.1 IP地址后的端口号
IP相当于电脑的地址
端口号相当于程序的地址
8.1.1 核心定位差异:IP 找 "房子",端口找 "房间"
网络通信的本质是 "主机→主机 "+"应用→应用" 的双重定位,二者职责完全不同:
| 标识类型 | 所属分层 | 核心作用 | 类比场景 |
|---|---|---|---|
| IP 地址 | 网络层 | 定位互联网中的目标主机(如某台服务器、你的手机) | 相当于 "小区地址 + 楼栋号",帮快递员找到你住的那栋楼 |
| 端口号 | 传输层 | 定位主机上的具体应用程序(如浏览器、微信、QQ) | 相当于 "楼栋里的房间号",帮快递员找到你家的门 |
如果只有 IP 地址,数据只能到达目标主机,但主机无法判断 "该把数据交给哪个应用"------ 就像快递只到了楼栋,却不知道该送进哪个房间。
8.1.2 解决 "多路复用":让一个主机能同时跑多个网络应用
一台主机(如你的电脑)可能同时运行多个网络程序:
- 浏览器(用 HTTP 协议,默认 80/443 端口)
- 微信(用自定义协议,占用特定端口)
- QQ(用自己的通信协议,占用另一端口)
- 网盘客户端(用 FTP/HTTP 协议,占用对应端口)
端口号就是这些应用的 "身份标识":
- 发送数据时,传输层(TCP/UDP)会给应用层数据加上端口号头部,标记 "这是给哪个应用的";
- 接收数据时,主机通过端口号识别数据归属,精准转发给对应的应用程序。
举个例子:你同时用浏览器刷网页(80 端口)和用 QQ 传文件(比如 4430 端口),服务器返回的 "网页数据" 和 "QQ 文件数据" 都会通过同一 IP 到达你的电脑,但端口号会帮电脑区分:
- 目标端口 = 80 → 交给浏览器;
- 目标端口 = 4430 → 交给 QQ。
8.1.3 支撑传输层协议的核心机制
TCP/UDP 等传输层协议依赖端口号实现关键功能:
- 建立端到端连接 (TCP 特有):TCP 的 "三次握手" 需要源端口 + 目标端口 唯一标识一个连接。比如你用浏览器访问百度,连接标识就是
你的IP:随机端口 ↔ 百度IP:80,确保多设备同时访问百度时,连接不会混淆。 - 区分不同服务 :互联网约定了 "知名端口号"(1-1023),用于标识标准服务:
- 80 端口→HTTP(网页)、443 端口→HTTPS(加密网页)、53 端口→DNS(域名解析)、21 端口→FTP(文件传输)。服务器通过监听这些固定端口,就能 "自动识别" 客户端请求的服务类型。
8.1.4 避免数据传输混乱:保障通信的有序性
如果没有端口号,会出现两个致命问题:
- 接收端混乱:主机收到数据后,无法判断该转发给浏览器、微信还是其他应用,导致数据丢失或错发;
- 发送端冲突:多个应用同时发送数据时,无法区分各自的数据流,导致传输层无法管理流量和差错控制。
8.1.5 总结:IP + 端口 = 完整的通信地址
网络通信中,IP 地址负责 "跨网络定位主机",端口号负责 "主机内定位应用" ,二者结合才能形成 "唯一的通信端点"(称为套接字 Socket ,格式:IP地址:端口号)。就像你寄快递需要 "收件人地址 + 电话号码",IP 是 "地址",端口号是 "电话"------ 缺了任何一个,数据都无法精准送达目标应用。
参考链接(如有侵权,请联系删除):