网络基础概念
网络发展
独立模式:计算机之间相互独立
在早期,计算机是独立的。为了合作,A 完成部分工作后,需将存储数据交给 B,B 再交给 C。这种方式效率较低。
网络互联:多台计算机连接在一起,完成数据共享
为解决上述问题,将多台电脑连接到服务器上。A 完成后将数据上传至服务器,B 直接从服务器获取数据,无需人工传递。这就是网络互联。
局域网 LAN:计算机数量更多,通过交换机和路由器连接
随着计算机数量增加,为更好地联系,出现了交换机连接设备。
广域网 WAN:将远隔千里的计算机都连在一起
当局域网增多后,它们互相链接形成广域网。
所谓'局域网'和'广域网'只是相对的概念。例如某些特定区域的广域网也可以看作较大的局域网。
发明网络的意义在于更好的协作。计算机是人的工具,人要协同工作,网络的产生是必然的。
初识协议
协议是为了节约资源而产生的约定。例如,通过电话响铃次数传达不同含义(一声要钱、两声平安、三声急事),既传达了意思也节约了成本。
计算机之间的传输媒介是光信号和电信号,通过频率和强弱来表示 0 和 1。要想传递不同的信息,需要约定好双方的数据格式。
仅两台主机约定协议是不够的,还需要统一通信语言。如果一方用频率表示 01,另一方用强弱表示 01,即使遵守规则也无法通信。因此,完善的协议需要更细致的规定并由参与者共同遵守。
由于计算机生产商、操作系统和网络硬件设备众多,需要有公认的组织制定共同标准,这就是网络协议。
常见的标准制定组织包括:
- 国际标准化组织:如 IEEE(电气和电子工程师协会)、ISO(国际标准化组织)、ITU(国际电信联盟)。
- 区域标准化组织:如 ETSI(欧洲电信标准学会)、ASTAP(亚洲与泛太平洋电信标准化协会)。
- 公司:部分公司自研软件协议栈,如泰凌微等。
- 民间国际团体:如 IETF(互联网工程任务组)。
- 官方机构:如 FCC(联邦通信委员会)。
协议分层
协议本质也是软件,设计为层状结构以实现模块化和解耦合。分层的好处包括降低维护成本。
以打电话为例,用户层只需关注通话,底层设备遵守通信协议即可。PC 微信和手机微信能互通是因为都遵守同一套协议。
实际的网络通信协议设计更为复杂,需要分更多的层。
OSI 七层模型
OSI(Open System Interconnection)七层网络模型是一个逻辑上的定义和规范。
- 将网络从逻辑上分为 7 层,每层有对应的物理设备(如路由器、交换机)。
- 是一种框架性设计方法,帮助不同类型的主机实现数据传输。
- 最大优点是将服务、接口和协议明确区分,概念清晰。
- 但过于复杂且不实用,工程实践中通常采用 TCP/IP 模型。
TCP/IP 五层(或四层)模型
TCP/IP 是一组协议的代名词,采用 5 层层级结构,每层调用下一层提供的网络来完成需求。
- 物理层:负责光/电信号的传递方式(如网线、光纤、WiFi)。集线器(Hub)工作在物理层。
- 数据链路层:负责设备之间的数据帧传送和识别(如网卡驱动、冲突检测)。交换机(Switch)工作在数据链路层。
- 网络层:负责地址管理和路由选择(如 IP 地址、路由表)。路由器(Router)工作在网络层。
- 传输层:负责两台主机之间的数据传输(如 TCP 协议,确保可靠传输)。
- 应用层:负责应用程序间沟通(如 SMTP、FTP、Telnet)。网络编程主要针对应用层。
物理层考虑较少,很多时候直接称为 TCP/IP 四层模型。
- 对于一台主机,操作系统内核实现了从传输层到物理层的内容。
- 对于一台路由器,它实现了从网络层到物理层。

