计算机网络概论与概述(第一章)总结笔记
本章是整门课程最重要、最提纲挏领的一章,目标是了解计算机网络主要概念和术语,掌握网络基本工作原理,以 Internet(互联网)为例建立框架性认知,理解“协议”“分层”“网络的网络”等核心思想,为后续所有章节打下基础。
核心要点
- 本章与几乎所有课程的第一章不同:第一章最重要、最框架,需要耗费时间和精力“熬过去”,之后章节的学习会相对简单。
- 学习方法:以 Internet(互联网) 为例来讲解网络,因为互联网是网络的一种普及形态。
- 本章涵盖内容:什么是互联网(递进介绍什么是网络、什么是计算机网络、什么是互联网)、网络组成、网络分类(边缘、接入网、核心网)、协议的概念、线路交换与分组交换、网络性能指标、层次化体系结构、互联网历史与体系架构的优缺点。
- 本章内容覆盖了大量术语,学习时会感到“痛并快乐着”——术语多带来痛苦,但框架建立后成长迅速。
详细解析
一、概念递进:网络 → 计算机网络 → 互联网
1. 什么是网络(Network)
- 定义:网络是由节点(node) 和边(edge) 构成的、与大小和形状无关的拓扑关系。
- 实例说明:
- 电话网:电话是节点,线路是边。
- 蜘蛛网:蜘蛛网的节点和丝线构成网络。
- 社交网络:人与人之间的朋友关系也是网络。
- 大脑神经网络:大脑有一千多亿个神经元,每个神经元通过轴突和树突与周边及跨区域的数千个神经元通信;规模小时简单易分析,但规模很大时会从宏观上“涌现”出智能等宏观特性。
- 关键理解:网络必须是“节点 + 边”的结构,节点间的连接关系和拓扑才是本质。
2. 什么是计算机网络(Computer Network)
- 定义:计算机网络是联网的计算机所构成的系统,即由节点与边组成的系统。
- 节点分为两类:
- 主机节点(方形表示):是数据的源或目标。包括:笔记本、iPad、手机、联网冰箱、联网机顶盒(STB)、Web 服务器等。
- 数据交换节点(圆形表示):既不是源也不是目标,作用是转发数据(中转)。分组从一端进入,按规则从另一端转发出去,多个交换节点相互配合,最终实现从源主机到目标主机的通信。
- 交换节点按工作层次分类:
- 中继器:物理层设备。
- 交换机(Switch) :工作在链路层,按目标 MAC 地址决定转发方向。
- 路由器(Router) :工作在网络层,收到分组后通过网卡接收,查路由表决定转发出口。
- 更高层设备:如第 4 层、第 5 层的负载均衡设备。
- 链路(边)的分类:
- 接入链路(Access Link) :把主机(方形)与最近的交换节点(圆形)连接在一起。
- 骨干链路(Backbone Link) :把交换节点与交换节点连接在一起(圆形接圆形)。
- 判断标准:“只要跟方形的有关就是接入链路;两个圆形的接在一起就是骨干链路。”骨干链路也分各个级别,有的更骨干,有的更靠近边缘。
- 补充组成——协议:除了节点和边之外,计算机网络还需要协议支撑工作。协议是不同厂商按照其标准生产网络设备,使不同设备之间能够互操作(interoperability)——即使网卡来自不同厂商,只要遵守同样的标准就能协同工作。协议按层次分为物理层协议、链路层协议、网络层协议、传输层协议和应用层协议,每一层有若干种协议,如传输层的 TCP、UDP,网络层的 IP 和多种路由选择协议。
3. 什么是互联网(Internet)
- 定义:以 TCP/IP 协议族为主(一套协议)来支撑工作的网络。
- 大小写区别:
- 大写 Internet:目前世界上用户最多的、按照 TCP/IP 协议族工作的全球性互联网。
- 小写 internet(或 intranet):也按 TCP/IP 方式工作,但不与外界相连,仅支撑企业内部运转、生产管理、部门间通信,叫企业网/内部网。
- 本质形象化(“联合国”比喻) :互联网不是一个单一的大网络,而是由许多网络通过网络互联设备(路由器) 连在一起的“网络的网络” ,像一个联合国而非一个国家。
- 构成特征:传统的电话网络是由电信运营商构建的,有集中管理;互联网则没有单一的控制者,由大量网络运营商共同维护。
二、互联网的组成(从构成/零件角度看)
1. 端系统(End System / Host)
- 定义:端系统即连接到互联网上的主机设备,也叫 host。PC、笔记本都是 host 中的一种,server(服务器)也是 host。
- 端系统的内部构成(三要素):
- 设备硬件(如计算机主板等,智能手机中形式不同但原理相同)。
- 支持通信的网络操作系统(能够管理硬件并支持通信)。
- 操作系统之上驻留的网络应用程序(如浏览器、Web 服务器背后的软件、各类 App 如滴滴、美团背后的服务器应用程序等)。
- 端系统数量与规模:
- 互联网联网的计算设备数量:不同统计口径不一,大致几十亿接近一百亿台,也有统计说是一百多亿台。
- 网络数量:几十万到上百万个网络连在一起,是一个巨型系统。
- 进入物联网(IoT)时代后(约 2020–2025 年左右),联网设备数量可能达到数千亿。
- 有趣的端系统实例(物联网时代的设备类型) :
- 联网冰箱:根据家里储藏的食材上网下载食谱;智能冰箱可根据家庭习惯自动发出购买订单或发出提醒(这类产品已存在)。
- 联网吐司机:联网到天气预报网站,若当天为雨天,就在面包片上烤出一个“阳光灿烂”的形状,用户在吃早餐时就知道天气。
- 内置传感器的耐克球鞋:通过蓝牙联网,将用户步伐数据上载到云端,分析生活习惯和健康状况并提供跑步指导。
- 上述设备共同说明:随着从移动互联网进入物联网时代,小型设备(如米粒大小)和工农业、生活设备均能联网,联网设备的种类和数量激增。
- 现今互联网大赛鼓励参赛学生设计有创意的端系统或端系统应用,为人类生活和生产提供便利。
2. 数据交换节点
- 最常見的网络交换设备包括 switch(交换机) 和 router(路由器) 以及负载均衡设备等。
- 交换机:工作在链路层;路由器:工作在网络层,依据目标地址查路由表对到达的分组做转发处理。
- 此外还有网络层防火墙等设备,都属于转发设备。
- 注意:课堂所讲的 switch 是思科、华为等厂商生产的网络交换机,不是游戏主机 Switch。
3. 通信链路(Link)
- 定义:链路不仅仅指物理线缆本身(网线、光纤),还包括在网线/光纤之上支撑它们运转的链路层协议,合称通信链路。
- 关键性能指标:带宽(bandwidth) ,单位是 bps(bits per second,每秒传输的位数) 。
4. 网络分类:边缘、接入网、核心网
- 网络在结构上可分为三个组成部分:
- 网络边缘:主机节点(端系统)及运行在其上的应用。
- 接入网(Access Network) :把边缘主机连接到核心网的设施,以及支撑接入网的媒体/媒介(Media) 。
- 核心网(Core Network) :由大量路由器/交换机等交换节点及其骨干链路构成。
- 核心网工作方式(两种主要类型):
- 线路交换(Circuit Switching) :需介绍其工作原理、优缺点。
- 分组交换(Packet Switching) :需介绍其工作原理、特点、优缺点。
- 注意:原文未展开线路交换与分组交换具体技术细节,仅预告会在本节介绍,故此处不做补充。
三、协议(Protocol)详解
1. 协议的定义
- 正式定义:对等层实体(Peer Entity)在通信过程中应当遵守的规则的集合。
- 核心解释:协议就是标准/规范。不同厂商生产的网络设备与网络软件,只要遵守同样的协议标准,就能实现互操作(interoperability) ,即苹果手机上的应用可与安卓/Linux 操作系统上运行中的网络服务通信。
- 类比说明:两个人交流必须使用共同语言,否则无法沟通。比如一个人说德语、另一个人说合肥话,无法通信。
- 协议具体规定了通信的三个方面:语法(格式)、语义(含义)、时序(次序/时机) ,实际上还包含动作。
2. 协议的组成内容
| 内容 | 含义 | 实例 |
|---|---|---|
| 语法(格式) | 协议数据单元(PDU)的格式:多长、前几个字段是什么、字段取某值代表什么含义 | HTTP 请求报文遵循 HTTP 的格式规范 |
| 语义(含义) | 对字段取值/报文内容的解释;双方解释一致才能互操作 | 若某字段为 00011 表示“已收到或确认”,双方按同一套规则理解 |
| 时序(次序) | 通信事件发生的先后顺序:在某个动作完成之后才能做另一件事 | Web 服务器收到请求之后才发送 HTTP 响应报文;TCP 连接建立后才能发送 HTTP 请求 |
| 动作 | 收到报文后应当执行的内部操作 | 服务器收到请求后从本地文件系统读出文件,再封装为响应报文发回 |
3. 人类通信中的“协议”类比
- 人与人之间的通信也有显式规则(法律、校规)和隐式规则(日常内化的行为规范)。
- 举例:想请求陌生人为自己办事,需要先打招呼(“你好”),对方作出友好回应后才提具体请求;如果“嗨”过去对方冷眼相待,便不会再请求帮忙。
4. Web 通信中的协议实例(应用层)
- Web 浏览器(运行于 PC)与 Web 服务器之间的通信:
- 首先通过某种方式建立对应连接——TCP 连接(此处预告后续章节将详述)。
- 建立连接之后(时序),浏览器按照 HTTP 协议规范封装请求报文(语法),发送给服务器(动作)。
- 服务器收到请求报文后,按协议规范解析报文(语义),判断对方请求的资源对象。
- 服务器从本地文件系统读出文件(动作),再封装成 HTTP 响应报文(格式/语法)发送给浏览器(时序/动作)。
5. 互联网标准与 RFC
- IETF:互联网工程任务组(非盈利组织),负责互联网标准的制定和发布。
- RFC 文档:全称“请求评述”(Request for Comments)。任何人对互联网演化与进步有想法,都可向 IETF 提交文档;IETF 认为可行就给文档编号并放在网站上,让全球科学家和工程师对文档进行“品头论足”,评议内容再提交并进行编号。
- 标准发布范围:所有互联网标准(TCP、UDP、IP 以及 IP 及以上所有应用协议)均以 RFC 文档形式在 IETF 网站发布。
- 特点:与 ISO(文中表达为“阿 A 的标准”)的标准化方式不同,互联网标准是开放、全球工程师参与度高的模式。一个协议的标准可能涉及多个 RFC 文档,并非只关联一份文档;互联网通过全球工程师的“群策群力”共同建设和发展。
四、从服务角度看互联网:分布式应用 + 基础设施
1. 两个组成部分
- 从应用进程的视角看,互联网包含两个组成部分:
- 分布式应用进程:运行在网络边缘主机上的各种应用进程。
- 基础设施:为分布式应用进程提供通信服务的所有底层实体。
- 基础设施范围包括:
- 本机主机应用层以下的所有协议实体(运行中的协议模块)。
- 目标主机应用层以下的所有协议实体。
- 所有网络部分(按通常理解工作在网络层及以下的所有设备与协议)。
- 核心观点:分布式应用是网络存在的理由——如果没有分布式应用,就不需要网络。
2. 基础设施向应用层提供服务的方式
- 操作系统通过应用程序接口(API) 向应用进程提供通信服务,网络领域中即为 Socket API。
- 应用进程可通过 Socket API 与对方建立连接、发送报文、接收对方应用进程发来的报文,以此支撑网络应用。
- 实际应用举例:
- 双十一购物:用户将订单报文发给淘宝/天猫服务器,服务器将订单查询结果等作为报文返回。
- 网络游戏:玩家发出动作描述(封装成 message)发给游戏服务器,服务器将执行结果返回。
3. 两种服务模式
| 服务模式 | 支撑协议 | 说明 |
|---|---|---|
| 面向连接的服务(Connection-oriented) | TCP | 通信前双方先建立连接,类似于先打招呼、对方回应后再发实质内容;随后可可靠地传输数据 |
| 无连接的服务(Connectionless) | UDP | 不需要预先建立连接即可直接发送数据;类似直接向路人问“几点了”,对方直接回答 |
- 原文对 TCP/UDP 具体可靠机制及细节未展开,仅在此处给出了面向连接与无连接的类比性说明。
五、互联网的层次结构与 ISP 分层
- 互联网是由许多不同层次网络组成的系统,这些网络由不同的 ISP(互联网服务提供商)管理运营。
- 大的分层大致有 Tier-1(一级)、Tier-2(二级)、Tier-3(三级)、Regional(区域网) 以及边缘的 Local/Access(本地/接入网) ;也有网络跨越多个层次,很难归属到固定层级,这是互联网结构复杂的原因。
- 各层级的 ISP 网络有其各自的作用,整体构成互联网分层体系架构(原文未逐层详细展开,但强调理解 ISP 的层次结构有助于更深入理解互联网是“网络的网络”的含义)。
- 不同国家/地区的网络之间也需要互联互通——中国的网络需要与美国、欧洲、东南亚的网络互联,进一步印证互联网是由“一堆网络”组成的巨型系统。
六、互联网的历史与发展(概述)
- 互联网起源于 1969 年的军方资助的分组交换实验网,最初只有 4 个节点(原文未进一步扩展具体细节)。
- 经历了五十多年的演化,汇聚了几十万名甚至更多工程师和科学家持续迭代研发。
- 互联网并非某一位“大牛”一次性设计的产物:因为系统太复杂、功能太多、需求不断变化,无人能一次性完成,只能由大量人员长期协作、持续完善而成。
- 从最初军方 4 个节点的实验网,发展到今天几十亿甚至上百亿个节点的巨型复杂系统,成为支撑人类生产生活的“神经中枢”。
- 原文提示将对互联网架构的优点和缺点做梳理,但未在本段展开具体优劣评价。
七、互联网的分层体系结构与“层层递进”工作原理
核心思想
- 计算机网络极其复杂,无法用一个平面模型完成;必须采用分层方式,每一层实现一组特定功能。
- 每一层借助下层提供的服务,通过与对等层的协议实体相互交换协议报文来工作,目的是向上层提供更好更优质的服务。
- 到最顶层时,应用层借助传输层提供的服务,按应用层协议交换应用报文,实现各种各样的网络应用。
- 理解层次性原理是理解计算机网络工作的核心思想。
各层功能递进的直观推演(原文讲解逻辑)
| 层次 | 解决什么问题 | 功能定位 |
|---|---|---|
| 物理层 | 在媒体之上传输和接收电磁波信号、光信号 | 将链路层送来的 0101 数据信号转换为电磁波/光信号发走,接收时做反向转换 |
| 链路层 | 相邻两个节点之间以帧(frame)为单位传输数据 | 解决“点到点”问题(相邻节点之间);交换机工作在这一层 |
| 网络层 | 在链路层基础上,实现源主机到目标主机的数据传输 | 扩展链路层能力:链路层只能完成相邻通信,远了就无法工作;网络层实现端到端传输,但“比较糙”——不可靠、尽力而为(best effort),分组可能丢失、出错、失序 |
| 传输层 | 在网络层基础上加强服务并细分服务 | 将主机到主机(端到端)的传输,变成进程到进程的传输;将不可靠变成可靠;相当于完成从端到端到应用间通信的“最后一击”,但这最后一击依赖底层若干层面的支撑 |
| 应用层 | 让应用进程相互交换应用报文 | 按应用层协议交换报文,实现网络应用(游戏、电子支付、购物、课件上传下载、网页浏览、直播、电商带货等) |
原文强调
- 几乎所有网络(不只互联网)的分层体系结构都采用这种方法,每层依托下层服务并扩展其能力,最终支撑应用进程通信。
- 互联网仅是网络的一种。除了互联网之外,还存在其他各种专用网络:银行专用网络、通信专用网络、军用专用网络,以及早期存在的多种其他网络。互联网只是其中一种,只不过它比较普及而已。
方法、结构总结
互联网定义的两种视角总结(原文收束)
视角一:构成/零件角度
- 从零件看:互联网包括节点(主机节点与数据交换节点)与边(接入链路与骨干链路),再加上协议。
- 把紧密关联的节点和边组成一个网络,网络内还可再划分为更小的网络。
- 从整体看:互联网是由一堆网络通过网络互联设备(路由器)连接的网络的网络(network of networks) 。
视角二:服务/应用角度
- 互联网 = 分布式应用进程 + 为分布式应用提供通信服务的基础设施。
- 分布式应用是网络存在的理由;基础设施包括主机中应用层以下所有协议实体以及所有网络设备。
- 基础设施通过 Socket API 向应用进程提供服务。
- 基础设施向上层提供的服务分为面向连接(TCP) 与无连接(UDP) 两种。
关键术语对照表
| 中文/说明 | 英文/原文术语 |
|---|---|
| 互联网 | Internet |
| 内部网/企业网 | intranet(小写 i) |
| 网络 | Network |
| 计算机网络 | Computer Network |
| 端系统 | End System |
| 主机 | Host |
| 数据交换节点/转发设备 | Switch / Router / 负载均衡设备等 |
| 交换机 | Switch |
| 路由器 | Router |
| 链路 | Link |
| 接入链路 | Access Link |
| 骨干链路 | Backbone Link |
| 协议 | Protocol |
| 对等层实体 | Peer Entity |
| 互操作 | Interoperability |
| 协议数据单元 | PDU(应用层为 message,传输层为 segment,各层名称不同) |
| 传输层协议 | TCP / UDP |
| 网络层协议 | IP 及路由选择协议 |
| 带宽 | Bandwidth(单位 bps) |
| 请求评述(互联网标准文档) | RFC(Request for Comments) |
| 互联网工程任务组 | IETF |
| 应用程序接口 / 网络 API | Socket API |
| 端到端 | End-to-End |
| 尽力而为(不可靠) | Best-effort |
| 面向连接服务 / 无连接服务 | Connection-oriented / Connectionless |
总结
- 理解互联网先从三个递进概念入手:网络(节点 + 边)→ 计算机网络(联网的计算机所构成的系统,节点分主机与交换节点两类,边分接入链路与骨干链路两类)→ 互联网(以 TCP/IP 协议族为主支撑的网络的网络)。
- 互联网有两大观察视角:从构成看是网络的网络;从服务看是分布式应用加通信基础设施。
- 协议是互联网的灵魂,定义是对等层实体通信中遵守的规则集合,内容包括语法、语义、时序及动作。协议以 RFC 文档形式在 IETF 发布,全球工程师共同参与制定——这是互联网标准的一个重要特点。
- 端系统类型随物联网时代急剧扩大(从 PC、手机到冰箱、吐司机、智能球鞋等),端系统包含硬件、支持通信的操作系统、以及在操作系统之上驻留的网络应用。
- 互联网极其复杂,必须依靠层次化体系结构来处理:物理层 → 链路层(点到点)→ 网络层(端到端、尽力而为)→ 传输层(进程到进程、可靠)→ 应用层(各种网络应用),一层依托下一层、向上层提供更好的服务。
- 互联网从 1969 年军方 4 个节点的实验网,经几十万工程师五十年持续迭代,发展为今天数十亿设备的巨型系统;理解其历史与架构有助于把握其设计的优点与局限。