
一、区分网络与因特网
- 网络指的是把多台计算机通过物理媒介连接起来,使得计算机之间能够进行通信,典型设备包括交换机等。
- 因特网是在多个网络之间建立互联,通过路由器实现不同网络的网络通信。换言之,因特网是“网络的网络”。
二、C/S 模型与通信流程
- C/S 指的是客户端-服务器架构,C 端是服务的请求方,S 端提供服务;通过套接字(Socket)进行网络通信。
- 一次完整的网络通信大致经历以下阶段:客户端产生数据并放入应用内存,调用系统接口将数据送入操作系统内存;操作系统按协议规则通过网卡发送数据;服务端接收数据并拷贝到自身内存,最终返回或处理完成。
三、分层概念与协议家族
- 为了实现跨网络的通信,需要一整套互相配合的协议。常见的分层模型包括OSI 七层模型、以及简化后的 TCP/IP 五层/四层模型。不同层次关注不同职责:物理传输、数据封装、寻址与路由、传输控制、应用数据格式等。
- 按功能划分,常见层次及对应特征如下:
- 物理层:负责把二进制信号在物理媒介上传输,依赖电平、信号幅度等物理特性。
- 数据链路层:在同一链路内实现数据的传输与错误检测,常用的以太网/MAC 地址为基础进行帧传输。
- 网络层:实现跨网络的寻址与路由,最核心的概念是 IP 地址及子网划分。
- 传输层:提供端到端的传输能力,典型协议有 TCP(可靠连接)和 UDP(不可靠的无连接传输)。
- 应用层:定义不同应用的通信格式与语义,如 DNS、HTTP、FTP、SMTP、Telnet 等。
四、物理层与数据链路层要点
- 物理层通过电信号传递比特,信号的“高低”状态对应 1/0 的二进制表示yy易游。
- 数据链路层将比特组织成帧,并在局域网内通过广播或特定地址进行传输。以太网帧通常包含目标 MAC 地址、源 MAC 地址、类型/长度字段、有效载荷以及 CRC 等信息。以太网的广播依赖广播域的划分,若跨越网络边界则需路由转发。
- MAC 地址是网卡的物理唯一标识,常以48位二进制数表示(通常用十二位十六进制数显示,厂商前六位为厂商标识,后六位为设备序列号)。
- 广播与地址解析:局域网内设备通过 ARP(地址解析协议)将 IP 地址映射为 MAC 地址,以实现数据帧的正确送达。
五、IP、子网与网络互联
- IP 地址用于在全局范围内标识“谁是谁”,分为网络部分和主机部分。IPv4 地址由 32 位二进制数组成,常写成四段十进制表示,如 172.16.10.1。
- 子网掩码用来界定网络边界,其全位为 1 的部分表示网络部分,全部为 0 的部分表示主机部分。常见的子网掩码如 255.255.255.0(前 24 位为网络部分)。
- 判断两台设备是否在同一子网时,通常将两台 IP 地址与子网掩码做按位与运算,若得到的网络地址相同,则认为在同一子网中。
- IP 数据包结构由头部和载荷组成,Ethernet 数据帧中承载 IP 数据包。若 IP 数据包超出网络的 MTU(常见为 1500 字节),则需要分片传输。
六、ARP 的工作机制与广播/单播
- 为了在以太网中通过 MAC 地址找到目标主机,IP 要转成 MAC,ARP 就是完成这类映射的协议。ARP 请求以广播方式发送,目标主机会回复自己的 MAC 地址并被缓存到本地 ARP 表中,后续通信可直接使用该映射。
- ARP 的过程包括:确定本机所在子网、判断目标是否在同一网络、如未命中缓存则广播 ARP 请求、目标主机响应并更新缓存、数据交换完成后缓存也会随时间衰减而逐步失效。
七、传输层与端口
- 端口号用于标识同一主机上的不同应用进程。端口号范围是 0~65535,其中 0~1023 为系统保留端口,1024~49151 为登记端口,49152~65535 为动态端口。
- TCP(传输控制协议)是一种面向连接、可靠的传输协议。它的报文段包含源端口、目的端口、序号、确认号、标志位、窗口大小、校验和、紧急指针及选项等字段。TCP 通过序号和确认机制实现有序传输,通过滑动窗口实现流量控制,通过校验和保证数据完整性。
- UDP(用户数据报协议)是无连接、不保证可靠性的传输协议,报文头固定为 8 字节,最长可达 65535 字节,适合对时效性要求高但容错性低的场景。
八、TCP 的关键交互
- 三次握手建立连接:客户端发送带有 SYN 的报文,服务器回复带有 SYN/ACK 的报文,客户端再发送带有 ACK 的报文,连接进入已建立状态。
- 四次挥手释放连接:客户端先发送 FIN,服务器回应 ACK,并在必要时再发送自己的 FIN,客户端最后发送 ACK 确认,连接进入等待关闭状态,直至双方完全关闭。
- 连接建立后,双方可以利用 TCP 的可靠传输机制进行数据交换,传输过程中会用到 MSS(最大报文段大小)等选项来优化性能。
九、应用层协议简介
- DNS:域名解析系统,将易记域名映射到对应的 IP 地址,通常使用 TCP/UDP 的 53 端口。
- HTTP:基于文本的超文本传输协议,通常在 TCP 连接上进行请求与响应。
- FTP:文件传输协议,基于 TCP,支持交互式文件访问与权限控制。
- SMTP:简单邮件传输协议,定义了邮件在服务器之间的传输规则。
- POP3:邮件读取协议,用于从邮件服务器下载邮件。
- Telnet:远程登录协议,提供命令行层面的远程访问。
十、OSI 七层模型的意义
- 该模型将网络通信分成服务、接口与协议三个基本概念,强调层间的独立性与互操作性。服务描述某层向上一层提供的功能,接口规定上一层如何使用下一层的服务,协议则实现本层的具体功能。通过明确分工,不同实现之间只需遵循相同的接口和服务即可实现跨网络通信。
总结
- 网络是物理连通与数据传输的基础,因特网则是在网络之间实现互联的全球性架构。各层次的分工使得从物理信号到应用数据的传输过程具有可管理性与可扩展性。理解 IP、MAC、端口、以及 TCP/UDP 的工作原理,有助于对网络行为进行分析、排错与优化。