目录
[1. 计算机网络发展历程](#1. 计算机网络发展历程)
[1.1 独立模式](#1.1 独立模式)
[1.2 网络互联](#1.2 网络互联)
[1.3 局域网(LAN)](#1.3 局域网(LAN))
[1.4 广域网(WAN)](#1.4 广域网(WAN))
[2. 初识协议](#2. 初识协议)
[2.1 什么是协议?](#2.1 什么是协议?)
[2.2 为什么需要标准化的协议?](#2.2 为什么需要标准化的协议?)
[3. 协议分层的好处](#3. 协议分层的好处)
[4. OSI七层模型](#4. OSI七层模型)
[5. TCP/IP五层(或四层)模型](#5. TCP/IP五层(或四层)模型)
[6. 为什么要有TCP/IP协议?](#6. 为什么要有TCP/IP协议?)
[7. 协议的朴素理解](#7. 协议的朴素理解)
[8. 小结](#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地址的区别等内容。