网络编程中的 TCP、IP 地址与相关操作
1. TCP 协议概述
TCP 是一种在 IP 之上提供可靠的面向连接的协议。它为两个进程提供了一个虚拟电路用于通信,同时使用端口号来识别主机上的服务。在 TCP 的客户端 - 服务器连接中,使用的两个套接字代表一个虚拟电路,虽然感觉像是专用的物理连接,但实际上许多虚拟电路可以在同一物理连接上运行。
IP 层和传输层(UDP/TCP)还有很多值得深入学习的内容。例如,IP 分片和 TCP 分段允许各层控制传递给下一层的每个数据包的大小。不过,TCP 分段包含序列号信息以确保数据包的顺序(可靠性),而 IP 分片则侧重于优化向下层传递数据(下层有自己的最大大小限制)。IP 地址对于套接字的使用至关重要。
2. 互联网地址
为了使用服务,必须能够找到它。互联网使用一种地址方案来定位设备,最初设计的是 IPv4 地址,使用 32 位无符号整数,最多允许 $2^{32}$ 个地址。近年来,连接设备的数量不断增加,IPv4 地址即将耗尽,因此逐渐向 IPv6 过渡。截至 2022 年 1 月,谷歌的数据显示 IPv6 的使用率约为 37%。澳大利亚的 IP 提供商中支持 IPv6 的比例约为 30%,美国约为 50%。
3. IPv4 地址
IPv4 地址是一个 32 位的整数,通常以点分十进制的形式表示,如 127.0.0.1 或 66.102.11.104。每个设备的 IP 地址一般由网络地址和设备在该网络内的地址两部分组成。早期,网络地址和内部地址的划分很简单,基于 IP 地址中的字节(点之间的部分):
- A 类网络 :第一
超级会员免费看
订阅专栏 解锁全文

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



