目录

1. 计算机网络发展历程

1.1 独立模式

1.2 网络互联

1.3 局域网(LAN)

1.4 广域网(WAN)

2. 初识协议

2.1 什么是协议?

2.2 为什么需要标准化的协议?

3. 协议分层的好处

4. OSI七层模型

5. TCP/IP五层(或四层)模型

6. 为什么要有TCP/IP协议?

7. 协议的朴素理解

8. 小结


1. 计算机网络发展历程

1.1 独立模式

早期计算机处于“独立模式”,每台计算机独自运行,不与其他计算机交互。数据只能通过软盘、磁带等物理介质传递,效率低下,无法实现资源共享。

1.2 网络互联

随着需求增长,多台计算机开始连接在一起,实现数据共享。业务服务器集中管理数据,客户端可以随时访问不同业务。

1.3 局域网(LAN)

当计算机数量增多时,通过交换机路由器将一定范围内的计算机连接起来,形成一个局域网。局域网内的主机可以高速通信,共享文件、打印机等资源。

1.4 广域网(WAN)

将远隔千里的计算机连接在一起,形成广域网。广域网可以看作是多个局域网的互联。所谓的“局域网”和“广域网”是相对概念——一个大型广域网从内部看也可能像一个大局域网。

理解:计算机是人的工具,人与人需要协同工作,因此网络的产生是必然的。

2. 初识协议

2.1 什么是协议?

“协议”是一种约定。例如打电话时,双方约定响铃几声后接听;计算机通信中,双方必须约定好数据的格式、传输速率、校验方式等。计算机之间的传输媒介是光信号和电信号,通过“频率”和“强弱”来表示0和1。要想传递复杂信息,必须约定统一的数据格式。

2.2 为什么需要标准化的协议?
  • 存在众多计算机生产厂商、操作系统、网络硬件设备。

  • 要让这些不同厂商生产的计算机能够相互通信,必须有一个共同的标准,即网络协议。

  • 标准制定组织包括:IEEE(电气与电子工程师协会)、ISO(国际标准化组织)、ITU(国际电信联盟)、IETF(互联网工程任务组)等。

协议本质:协议也是软件,为了模块化、解耦合,被设计成分层结构

3. 协议分层的好处

  • 解耦合:每一层独立演进,不影响其他层。

  • 易于维护:某一层出现问题只需替换该层实现。

  • 复用性:下层为多个上层提供服务(如传输层可为多个应用层协议服务)。

举个简单例子:语言层和通信设备层分离,说话人无需关心信号传输细节。

4. OSI七层模型

OSI(Open System Interconnection)是国际标准化组织提出的开放式系统互联参考模型,将网络逻辑上分为七层:

层级 名称 功能
7 应用层 针对特定应用的协议(HTTP、FTP、SMTP等)
6 表示层 数据格式转换、加密解密、压缩解压缩
5 会话层 建立、管理、终止会话
4 传输层 端到端可靠传输(TCP、UDP)
3 网络层 路由选择、地址管理(IP)
2 数据链路层 相邻节点间数据帧传输、差错检测
1 物理层 比特流传输、电气特性定义

优点:将服务、接口、协议三个概念明确区分,理论完整。
缺点:复杂且不实用,工程实践中会话层和表示层很难完全融入操作系统。

5. TCP/IP五层(或四层)模型

TCP/IP是一组协议的代名词,称为TCP/IP协议簇。它在工程实践中被广泛采用,分为五层:

层级 名称 功能 典型设备/协议
5 应用层 应用程序间沟通 HTTP、FTP、SMTP、Telnet
4 传输层 端到端数据传输 TCP、UDP
3 网络层 地址管理与路由选择 IP、ICMP 路由器
2 数据链路层 相邻设备间数据帧传送 以太网、WiFi 交换机
1 物理层 光/电信号传输 双绞线、光纤、同轴电缆 集线器
  • 对于一台主机:操作系统内核实现了从传输层到物理层的内容。

  • 对于一台路由器:实现了从网络层到物理层。

  • 对于一台交换机:实现了从数据链路层到物理层(高级交换机也可能实现网络层功能)。

  • 对于集线器:只实现物理层。

很多时候我们将物理层也视为硬件细节,只关注软件相关的四层,因此也称为TCP/IP四层模型

6. 为什么要有TCP/IP协议?

单机内部已有各种硬件协议(如内存协议、磁盘SATA/IDE/SCSI协议)。但网络通信的特点是通信距离变远,带来新问题:

  • 数据可能丢失、乱序、重复。

  • 传输路径不确定。

  • 需要统一编址和路由。

TCP/IP协议正是为解决远距离通信问题而设计的解决方案。其分层结构正是因为这些问题本身可以分层解决。

7. 协议的朴素理解

协议本质是通信双方都认识的结构化的数据类型。例如,双方用相同的C语言结构体定义报文格式,发送方填充结构体,接收方按相同结构体解析,自然能识别数据。

c

struct protocol {
    int a;
    int b;
    int c;
};

因为协议栈是分层的,所以每一层都有对应的协议,同层之间能够识别对方的协议格式。

扩展:实际网络协议的设计远比这个复杂,包含了版本号、首部长度、标志位、校验和等字段,但核心思想一致——双方约定格式。

8. 小结

本文介绍了计算机网络的发展历程、协议的基本概念、OSI七层模型和TCP/IP五层/四层模型,并初步理解了协议分层的好处以及协议的朴素本质。下一篇将深入讲解网络传输的基本流程,包括局域网通信原理、封装与解包、IP地址与MAC地址的区别等内容。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐