【Embedded Development】【TCP-IP】关于TCP-IP网络协议的学习记录以及基于TCP-IP网络协议的上层协议的初步理解

前言

学习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 模型是网络通信的七层分层规范,每一层负责不同的通信任务,结合图中信息解释如下:

分层及功能(从下到上)

  1. **物理层(归属:通信子网)**负责传输物理信号,定义接口、信号规范(比如网线接口、电信号格式)。

  2. **链路层(归属:通信子网)**把数据包装成 "帧"(可发送 / 接收的基本数据单位),处理链路的连接与传输。

  3. 网络层(归属:面向通信) 对数据进行分组,同时完成路由选择(帮数据选通信路径,比如 IP 地址的路由逻辑)。

  4. **传输层(归属:面向通信)**处理差错、控制流量,提供可靠的数据传输(比如 TCP、UDP 协议就工作在这一层)。

  5. **会话层(归属:面向服务)**建立 "通信进程的逻辑名字与物理名字" 的关联,负责管理通信会话的开始、维持、结束。

  6. **表示层(归属:面向服务)**定义数据格式,完成数据转换、加密 / 解密(比如把不同格式的文件转成通用格式,或给数据加密)。

  7. **应用层(归属:面向应用)**提供应用程序的网络接口,常见应用协议(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)→服务器" 的双向通信模式,流程是:

  1. 客户端发请求 :你在浏览器输入网址(比如www.taobao.com),客户端就会打包 "想要啥资源" 的请求发给服务器;
  2. 服务器处理请求:服务器(比如淘宝用的 Nginx、Apache)收到请求后,找到对应的网页、商品数据;
  3. 服务器返响应:把处理好的资源打包成 "响应" 发回客户端;
  4. 客户端渲染:浏览器解析响应内容,把网页、图片展示出来。

另外 HTTP 有 3 个关键特点:

  • 无连接:一次连接只处理一个请求,用完就断,省传输时间;
  • 媒体独立:只要双方能识别,文本、图片、视频都能传(靠 MIME-type 标注资源类型);
  • 无状态:服务器记不住 "你是谁",后续操作需要重传信息(后面的 Cookie/Session 就是用来补这个短板的)。

3.2.2 HTTP 请求头:客户端的 "需求说明书"(4 部分)

请求头是客户端发给服务器的 "信息包",分 4 块:

  1. 请求行 :核心指令,格式是 "请求方法(如 GET/POST) + 资源 URL + HTTP 版本"(比如GET /index.html HTTP/1.1);
  2. 请求头 :补充客户端信息(比如User-Agent说明 "我是 Chrome 浏览器",Cookie带你的登录信息);
  3. 空行:分隔 "请求头" 和 "请求体" 的标志;
  4. 请求体:要发给服务器的数据(比如你填的表单内容、上传的文件)。

3.2.3 HTTP 响应头:服务器的 "回复说明书"(4 部分)

响应头是服务器回给客户端的 "包裹单",也分 4 块:

  1. 响应行 :结果状态,格式是 "HTTP 版本 + 状态码 + 状态描述"(比如HTTP/1.1 200 OK代表请求成功);
  2. 响应头 :补充服务器信息(比如Content-Type说明 "这是 HTML 文件",Set-Cookie给客户端存登录信息);
  3. 空行:分隔 "响应头" 和 "响应体" 的标志;
  4. 响应体:实际要返回的资源(比如网页代码、图片二进制数据)。

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
身份验证 可验证服务器证书

HTTP 是 "无状态" 的,这俩是用来让服务器 "记住你" 的:

对比项 Cookie Session
存储位置 客户端(浏览器) 服务器端
安全性 较低(可被篡改) 较高(存在服务器)
生命周期 可设置过期时间 随会话结束(比如关浏览器)
存储大小 一般不超过 4KB 无明确限制(看服务器配置)

3.2.7 HTTPS 加密和解密的过程:"安全握手" 全流程

HTTPS 的加密靠 "握手阶段协商密钥 + 传输阶段加密通信",步骤是:

  1. 客户端发 "加密能力":客户端告诉服务器 "我支持哪些加密算法";
  2. 服务器发 "身份 + 选择":服务器返回自己的 SSL 证书(证明是真服务器),并选一个加密算法;
  3. 客户端验证书 + 生成密钥:客户端验证证书有效后,生成一个 "会话密钥",用服务器证书里的公钥加密发给服务器;
  4. 双方加密通信:服务器用自己的私钥解开 "会话密钥",之后双方都用这个密钥加密传输数据。

四、传输层:端到端的 "数据保镖" 与 "交通调度员"

核心职责是为应用层提供端到端的可靠数据传输服务,是连接 "应用层" 和 "网络层" 的关键桥梁。它不关心数据的具体内容,只负责确保数据从一个应用程序完整、有序地到达另一个应用程序。

4.1 核心功能:数据传输的 "三重保障"

  • 分段与重组:将应用层的大数据块分成适合网络传输的小数据段,在接收端再重新组合成完整数据
  • 流量控制:防止发送方发送数据过快导致接收方缓冲区溢出(如 TCP 的滑动窗口机制)
  • 差错控制:检测并纠正传输过程中的错误(如 TCP 的校验和、确认应答、重传机制)
  • 拥塞控制:根据网络拥堵情况调整发送速率,避免网络瘫痪
  • 多路复用 / 分用:通过端口号区分同一主机上的不同应用程序(如 80 端口对应 HTTP,443 对应 HTTPS)

4.2 关键特性:两种核心传输模式

传输层提供两种截然不同的传输服务,满足不同应用场景需求:

传输模式 典型协议 可靠性 连接性 适用场景
面向连接 TCP 高(有确认、重传机制) 面向连接(三次握手建立连接) 网页浏览、文件传输、邮件发送等需要可靠传输的场景
无连接 UDP 低(无确认、无重传) 无连接(直接发送数据) 视频通话、实时直播、DNS 查询等对实时性要求高的场景

4.3 典型协议详解

  1. TCP(传输控制协议)

    • 面向连接的可靠传输协议,通过三次握手建立连接,四次挥手断开连接
    • 提供流量控制(滑动窗口)、拥塞控制(慢启动、拥塞避免)和差错控制(校验和、确认应答)
    • 适用于对可靠性要求高的场景,如 HTTP、FTP、SMTP 等应用层协议都基于 TCP
  2. UDP(用户数据报协议)

    • 无连接的不可靠传输协议,头部开销小(仅 8 字节,TCP 头部 20-60 字节)
    • 不提供确认、重传机制,传输速度快,延迟低
    • 适用于实时性要求高的场景,如 DNS、DHCP、RTP(实时传输协议)等
  3. 其他重要协议

    • TLS/SSL:在 TCP 基础上提供加密、身份验证和数据完整性保护(HTTPS 的核心)
    • SCTP:流控制传输协议,结合了 TCP 和 UDP 的优点,支持多流和多宿主
    • RTP:实时传输协议,专为音视频等实时数据设计,通常与 UDP 配合使用

4.4 与上下层的关系

  • 对上:为应用层提供 "端口号" 标识,让不同应用程序能共享同一网络连接
  • 对下:依赖网络层提供的 IP 地址进行路由选择,将数据段封装成 IP 数据报进行传输

4.5 补充:三次握手四次挥手机制讲解

这个图展示了TCP 协议的连接建立(三次握手)、数据传输、连接断开(四次挥手)的完整过程 ,左边是客户端(Client),右边是服务器(Server),下面分阶段解释:

4.5.1 连接建立:三次握手

TCP 通过 "三次握手" 建立可靠连接:

  1. 第一步

    • 客户端调用connect(),进入SYN_SENT状态;
    • 向服务器发送SYN报文(同步请求),序号为seq=x;
    • 服务器初始处于LISTEN状态(通过listen()进入)。
  2. 第二步

    • 服务器收到SYN后,进入SYN_RCVD状态;
    • 回复SYN+ACK报文:包含自己的同步请求(SYN seq=y),以及对客户端SYN的确认(ACK=x+1,因为SYN报文会占用 1 个序号)。
  3. 第三步

    • 客户端收到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 通过 "四次挥手" 关闭连接(因为连接是双向的,需双方分别关闭):

  1. 第一步

    • 客户端调用close(),进入FIN_WAIT_1状态;
    • 发送FIN报文(关闭请求),序号seq=x+2,ACK=y+1。
  2. 第二步

    • 服务器收到FIN后,进入CLOSE_WAIT状态;
    • 回复ACK报文,确认号x+3(确认客户端的FIN)。
  3. 第三步

    • 客户端收到ACK后,进入FIN_WAIT_2状态;
    • 服务器准备好关闭后,调用close(),进入LAST_ACK状态,发送自己的FIN报文,序号seq=y+1。
  4. 第四步

    • 客户端收到服务器的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 典型协议详解

  1. IP(网际协议)

    • 网络层的核心协议,负责为数据分组分配 IP 地址并进行路由转发
    • IPv4:32 位地址,约 42 亿个地址,已接近耗尽
    • IPv6:128 位地址,提供几乎无限的地址空间,解决 IPv4 地址不足问题
  2. 路由协议

    • 内部网关协议(IGP):用于自治系统(AS)内部的路由选择,如 RIP、OSPF、EIGRP
    • 外部网关协议(EGP):用于不同自治系统之间的路由选择,如 BGP
  3. 辅助协议

    • ICMP:互联网控制消息协议,用于报告错误和传递控制信息(如 ping 命令基于 ICMP)
    • IGMP:互联网组管理协议,用于组播通信
    • ARP/RARP:地址解析协议 / 反向地址解析协议,用于 IP 地址和 MAC 地址之间的转换

5.4 与上下层的关系

  • 对上:为传输层提供 "主机到主机" 的通信服务,隐藏了底层网络的细节
  • 对下:依赖数据链路层提供的 "帧" 传输服务,将 IP 数据报封装成帧进行传输

六、数据链路层:相邻节点的 "数据打包员" 与 "链路守护者"

核心职责是在相邻两个网络节点之间提供可靠的帧传输服务。它将网络层的 IP 数据报封装成 "帧",并通过物理层的物理介质进行传输,同时处理链路层的差错和流量控制。

6.1 核心功能:帧传输的 "四大保障"

  • 帧封装:将网络层的 IP 数据报加上帧头(包含源 MAC 地址和目的 MAC 地址)和帧尾(包含校验和),形成可传输的帧
  • 差错检测与纠正:通过校验和等机制检测并纠正传输过程中的比特错误
  • 流量控制:防止发送方发送数据过快导致接收方缓冲区溢出
  • 链路管理:负责数据链路的建立、维持和释放

6.2 关键特性:两种核心链路类型

数据链路层支持两种不同的链路类型:

链路类型 特点 适用场景
点对点链路 两个节点之间直接连接,没有其他节点共享链路 拨号上网(PPP)、帧中继
广播链路 多个节点共享同一传输介质,一个节点发送的帧会被所有节点接收 以太网、无线局域网(WiFi)

6.3 典型协议与技术详解

  1. 以太网(Ethernet)

    • 最常用的局域网技术,采用 CSMA/CD(载波监听多路访问 / 冲突检测)机制解决冲突
    • 帧格式:前导码 + 帧起始定界符 + 目的 MAC 地址 + 源 MAC 地址 + 类型 / 长度 + 数据 + 校验和
    • 传输介质:双绞线、光纤等
  2. PPP(点对点协议)

    • 用于点对点链路的协议,支持多种网络层协议(如 IP、IPX)
    • 提供身份验证(PAP、CHAP)、差错检测和压缩功能
  3. 其他重要技术

    • 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 典型传输介质与技术

  1. 有线传输介质

    • 双绞线:由两根绝缘的铜导线绞合而成,分为屏蔽双绞线(STP)和非屏蔽双绞线(UTP),常用于局域网
    • 同轴电缆:由内导体、绝缘层、外导体和护套组成,常用于有线电视和早期局域网
    • 光纤:利用光信号传输数据,分为单模光纤和多模光纤,传输速度快、抗干扰能力强,常用于长距离传输
  2. 无线传输介质

    • 无线电波:用于无线局域网(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 协议,占用对应端口)

端口号就是这些应用的 "身份标识"

  1. 发送数据时,传输层(TCP/UDP)会给应用层数据加上端口号头部,标记 "这是给哪个应用的";
  2. 接收数据时,主机通过端口号识别数据归属,精准转发给对应的应用程序。

举个例子:你同时用浏览器刷网页(80 端口)和用 QQ 传文件(比如 4430 端口),服务器返回的 "网页数据" 和 "QQ 文件数据" 都会通过同一 IP 到达你的电脑,但端口号会帮电脑区分:

  • 目标端口 = 80 → 交给浏览器;
  • 目标端口 = 4430 → 交给 QQ。

8.1.3 支撑传输层协议的核心机制

TCP/UDP 等传输层协议依赖端口号实现关键功能:

  1. 建立端到端连接 (TCP 特有):TCP 的 "三次握手" 需要源端口 + 目标端口 唯一标识一个连接。比如你用浏览器访问百度,连接标识就是 你的IP:随机端口 ↔ 百度IP:80,确保多设备同时访问百度时,连接不会混淆。
  2. 区分不同服务 :互联网约定了 "知名端口号"(1-1023),用于标识标准服务:
    • 80 端口→HTTP(网页)、443 端口→HTTPS(加密网页)、53 端口→DNS(域名解析)、21 端口→FTP(文件传输)。服务器通过监听这些固定端口,就能 "自动识别" 客户端请求的服务类型。

8.1.4 避免数据传输混乱:保障通信的有序性

如果没有端口号,会出现两个致命问题:

  1. 接收端混乱:主机收到数据后,无法判断该转发给浏览器、微信还是其他应用,导致数据丢失或错发;
  2. 发送端冲突:多个应用同时发送数据时,无法区分各自的数据流,导致传输层无法管理流量和差错控制。

8.1.5 总结:IP + 端口 = 完整的通信地址

网络通信中,IP 地址负责 "跨网络定位主机",端口号负责 "主机内定位应用" ,二者结合才能形成 "唯一的通信端点"(称为套接字 Socket ,格式:IP地址:端口号)。就像你寄快递需要 "收件人地址 + 电话号码",IP 是 "地址",端口号是 "电话"------ 缺了任何一个,数据都无法精准送达目标应用。


参考链接(如有侵权,请联系删除):

深入学习TCP/IP协议(详解)_tcpip-CSDN博客

相关推荐
Darken031 小时前
基于 STM32 ——GPIO输出
单片机·学习·gpio·硬件
组合缺一1 小时前
Solon AI 开发学习10 - chat - 工具调用概念介绍
java·人工智能·学习·ai·llm·solon
丝斯20111 小时前
AI学习笔记整理(25)—— 计算机视觉之目标检测
人工智能·学习·计算机视觉
AA陈超1 小时前
只想克隆项目中的 Source 文件夹,而不影响其他内容
笔记·git·学习
随风一样自由1 小时前
React内逐行解释这个 package.json 文件,最近搞了个工厂AI生产平台,顺便来学习一下
学习·react.js·json·package
AA陈超1 小时前
Lyra学习5:GameFeatureAction分析
c++·笔记·学习·ue5·lyra
YJlio1 小时前
Autologon 学习笔记(9.13):安全启用“自动登录”的边界、风险与替代方案
笔记·学习·安全
青衫码上行1 小时前
【JavaWeb 学习 | 第16篇】JPS介绍和基本语法
java·学习·web·jsp
Blossom.1181 小时前
基于扩散模型的视频生成优化:从Stable Diffusion到AnimateDiff的显存革命
人工智能·深度学习·学习·决策树·搜索引擎·stable diffusion·音视频