概述

官方信息技术老师·26 页·深入(追求细节与边界)·0 次浏览·2 天前
网络协议路由寻址数据传输Web 架构

计算机网络概述

看懂协议如何分工、路由如何选择,以及一次网络请求如何穿越全球抵达目标

按 空格/→ 演示下一步

1 / 26 页

全部页面点击任意一页,跳回舞台从这页播放

网络协议路由寻址数据传输Web 架构

计算机网络概述

看懂协议如何分工、路由如何选择,以及一次网络请求如何穿越全球抵达目标

1第 1 页 · 计算机网络概述

互联网络发展史

从冷战研究网到全球互联基础设施,五个关键节点环环相扣。

1
ARPANET问世
1969年DARPA资助,包交换取代电路交换;非首个包交换网,但存活最久
2
TCP/IP协议定型
Cerf与Kahn设计的分层协议;1983年ARPANET全面切换,让异构网络互联
3
DNS域名系统上线
Mockapetris设计,替代膨胀的hosts文件,实现可扩展的名字到IP映射
4
万维网WWW诞生
Berners-Lee在CERN提出HTTP/HTML/URL;WWW只是应用层,并非互联网本身
5
商业化与移动化
1995年NSFNET退役骨干商业化;3G/4G/5G与IPv6推动持续演进
2第 2 页 · 互联网络发展史

什么是计算机网络

三台电脑各干各的,靠 U 盘互传文件——这是三台独立机器。插上网线、装上共享软件,能互相取用对方文件了——这一刻,「网络」才正式成立。

独立自治
每台计算机脱离网络仍可独立运行
完整系统
是硬件+软件的完整计算机,不是网线、网卡等部件
通信互联
通过有线或无线介质建立数据通路
集合目标
多台聚合,目的是资源共享和数据交换
独立书店组成的图书流通网对应 →计算机网络

每家书店独立经营(独立计算机),通过物流转运互联(通信链路),共同构成更大的图书网络(集合)

3第 3 页 · 什么是计算机网络

网络的分类

从中心向外读:根是分类轴,三分支对应 LAN、MAN、WAN,末梢写各自尺度与场景。

图解渲染中…
LAN局域网Local Area Network,限建筑或园区MAN城域网Metropolitan Area Network,覆盖一座城市WAN广域网Wide Area Network,无明确上限
4第 4 页 · 网络的分类

网络拓扑结构

总线型与星型是最易混淆的两类局域网拓扑,结构看似简单,选错代价却很大。

总线型
  • 结构:所有节点共享一根主干电缆
  • 容错:主干断了整个网络瘫痪
  • 性能:节点增多带宽争用严重
  • 适用:小型、成本敏感、临时网络
星型
  • 结构:所有节点独立连到中心设备
  • 容错:单点故障只影响一个节点
  • 性能:中心交换机独享端口带宽
  • 适用:中大型、可靠性要求高的场景
设备少、要省钱选总线型;规模稍大、要稳定选星型——现代局域网几乎只剩星型。
5第 5 页 · 网络拓扑结构

网络性能指标

认识了网络的分类与拓扑后,下一步要问:怎么衡量网络「好坏」?和评价一条公路一样,要看多个维度,不能只看一个数。

带宽
链路每秒能传输的最大比特数,单位 bps,是理论上限
时延
数据从一端传到另一端的时间,含传输、传播、处理、排队
吞吐量
单位时间实际成功送达的数据量,受带宽、丢包、协议限制
丢包率
丢失分组占发送分组总数的比例,过高会触发重传
高速公路对应 →网络链路

带宽=车道数;时延=通行时间;吞吐量=实际车流;丢包率=事故拥堵

ThroughputBandwidth\text{Throughput} \leq \text{Bandwidth}
6第 6 页 · 网络性能指标

为什么需要分层

一个快递从北京寄到纽约,要经过揽件、分拨、航空、海关、本地配送……每环节只管自己这一步。让一个人从头管到尾,他会疯掉。全球网络也是这样——必须靠分层来扛复杂度。

降低复杂度
把庞大系统拆成若干层,每层只处理本层任务,不必理解全部细节
模块化
每层可独立设计、升级、替换,不影响其他层
接口标准化
层与层之间通过固定接口交互,下层实现细节对上层透明
跨国快递物流对应 →网络分层

揽件/运输/清关/配送各管一摊,层间只交接标准化包裹

7第 7 页 · 为什么需要分层

分层的基本原则

上页我们知道了网络为什么要分层——复杂问题拆开才好管理。但「拆」不是乱拆,每一层该如何约束自己、又怎么和上下层打交道?这三条原则就是答案。

独立自治
每层只需知道自己做什么,不关心其他层内部如何实现
功能单一
每层只承担一类职责,不越界处理别层的任务
接口通信
上下层之间仅通过标准化接口交互,不直接看对方内部
餐厅分工对应 →网络分层

顾客只和服务员说话,服务员只传单给厨房;谁也不窥探别人后台怎么干活

8第 8 页 · 分层的基本原则

协议与服务的区别

上节我们理解了为什么要分层,可分层后立刻冒出新问题:同一层之间怎么对话?上一层如何「调用」下一层?答完这两个问题,协议与服务的区别就清楚了。

协议 Protocol
同层对等实体之间交换数据所遵守的规则,方向是水平的
服务 Service
相邻下层向上层提供的功能接口,方向是垂直的
方向不同
协议水平(peer↔peer),服务垂直(下层→上层)
可见性不同
协议对外部透明,服务是层间看得见摸得着的接口
稳定性不同
服务接口相对稳定,协议实现可随时升级替换
同事协作约定 vs 下属交付对应 →协议 vs 服务

同级沟通靠协议,下级交差靠服务

9第 9 页 · 协议与服务的区别

实体、协议、服务、SAP

左右各一台主机,自上而下三层。横向连线上是协议,纵向接口是服务与SAP。

图解渲染中…
EA实体:每层中收发信息的逻辑单元P4协议:同层对等实体间的水平规则SP1SAP:相邻层之间传递服务的接口MA服务方向:下层实体经SAP向上层提供
10第 10 页 · 实体、协议、服务、SAP

OSI模型的七层结构

上一节我们看到相邻层通过SAP打交道。一个完整的网络通信到底分了几层、每一层又管什么?让我们从最顶上的应用层开始,逐层往下揭开OSI模型的全貌。

应用·表示·会话层
面向用户的资源子网:应用层提供HTTP等服务接口,表示层管编码加密压缩,会话层管对话建立与同步
传输层
端到端的进程间通信:TCP可靠、UDP高效;数据单元为段
网络层
IP寻址与路由转发,让分组穿越多个网络到达目的主机;数据单元为包
数据链路层
把比特组装成帧,MAC寻址、差错检测;交换机工作在这一层;数据单元为帧
物理层
比特与光/电/无线信号的相互转换;网线、光纤、接口规格都属这一层;数据单元为比特
寄国际包裹对应 →OSI七层协作

应用=你要寄;表示=包装;会话=联系;传输=选快递;网络=定路线;链路=段段中转;物理=实际运输

11第 11 页 · OSI模型的七层结构

物理层:比特的传输

沿主箭头看比特从发出到接收的全流程,沿分支线看每环节的典型方案。

图解渲染中…
B1NRZ:高低电平直表示0/1,最简但无时钟B2曼彻斯特:每位中间跳变,自带时钟D1同步:收发共享时钟,开销低效率高D2异步:起止位逐字节对齐,灵活但开销大
12第 12 页 · 物理层:比特的传输

数据链路层:帧的可靠传输

从发送方到接收方,看一帧数据如何被封装、检错、确认。

图解渲染中…
G校验通过则向上递交,否则走重传分支I出错时不递交,要求发送方重传该帧H控制发送速率,避免接收方溢出JACK=确认帧,告诉发送方可发下一帧
13第 13 页 · 数据链路层:帧的可靠传输

网络层:路由与寻址

端到端视角:源主机发出分组,每经过一台路由器都做一次路由选择+分组转发,最终在目的主机解封装交付。

图解渲染中…
SH分组含源IP、目的IP,但不含完整路径R1依据目的IP查路由表,决定下一跳DROP无匹配路由时丢弃,并向源发ICMP差错报告
14第 14 页 · 网络层:路由与寻址

传输层:端到端可靠传输

图中展示传输层如何通过端口复用、协议选择与连接管理,把上层数据准确送达对端进程。

图解渲染中…
B端口号就是进程的'门牌号',区分同主机不同应用D第一次握手:客户端发起同步请求E第二次握手:服务端确认并同步自己序号F第三次握手:客户端确认,连接就绪
15第 15 页 · 传输层:端到端可靠传输

会话层、表示层、应用层

按数据下行方向,看上层三层如何逐层封装并下传给传输层。

图解渲染中…
A用户应用入口:浏览器、邮件、文件传输B处理数据表示:SSL加密、压缩、字符编码C管理会话:建立连接、同步检查点、恢复D上层封装完毕,下交给传输层
16第 16 页 · 会话层、表示层、应用层

TCP/IP四层模型

左侧协议簇、中间 TCP/IP 四层栈、右侧 OSI 七层如何被合并对应;虚线表示映射关系。

图解渲染中…
O7OSI 应用/表示/会话三层被合并为 TCP/IP 应用层O2OSI 数据链路层与物理层合并为网络接口层P3TCP 面向连接可靠,UDP 无连接高效O3OSI 网络层与网际层几乎一一对应
17第 17 页 · TCP/IP四层模型

五层参考模型

自顶向下读:每层把上层 PDU 加上自己的头部,封装成下一层的 PDU

图解渲染中…
L5对应 OSI 5+6+7 三层合并;等同 TCP/IP 应用层L3OSI 与 TCP/IP 均独立保留;核心路由层L2OSI 拆为独立层;TCP/IP 与物理层合并为'网络接口层'L1OSI 拆为独立层;TCP/IP 与链路层合并
18第 18 页 · 五层参考模型

三种模型的层次对应

OSI七层、TCP/IP四层、五层模型层数不同,但其实是同一张网络地图的三种切法。

OSI七层模型
  • 7层结构,物理到应用逐层封装
  • ISO理论标准,先有模型后填协议
  • 追求通用性,层间接口严格标准化
  • 理论完美但落地复杂,协议支持有限
TCP/IP四层模型
  • 4层结构,应用/传输/网际/网络接口
  • ARPANET实战沉淀,先有协议后归纳
  • 追求实用性,协议实现灵活可演进
  • 工程现实标准,几乎所有互联网设备遵循
教学用五层模型:把网络接口层拆为物理+链路层,逐层对应OSI讲解,既保留层次清晰,又贴近工程现实。
19第 19 页 · 三种模型的层次对应

数据的封装过程

数据从应用层一路下传到物理层,每层都加上自己的首部甚至尾部,逐层封装成最终能在介质上传输的比特流。

1
应用层产生数据
用户数据或应用报文,是封装的源头
2
传输层加首部
加TCP/UDP首部,形成段(Segment)
3
网络层加首部
加IP首部,形成分组(Packet)
4
链路层加首尾
加MAC首部和FCS尾部,形成帧(Frame)
5
物理层转为比特
帧变成比特流,送到传输介质上
20第 20 页 · 数据的封装过程

数据的解封装过程

数据从物理层到应用层逐层拆封,最终还原为原始信息。

1
物理层收比特
网卡将电信号或光信号还原为比特流
2
链路层拆帧
剥去帧头帧尾,校验MAC地址后上传
3
网络层拆包
剥去IP头部,根据目的地址转发
4
传输层拆段
剥去TCP/UDP头部,按端口号定位应用
5
应用层还原
将数据交付给目标应用程序
21第 21 页 · 数据的解封装过程

端到端与逐跳的区别

左右两栏对比同一通信过程的网络层与传输层视角:网络层看到多跳路径,传输层只看到一条端到端逻辑通道。

图解渲染中…
b1路由器只解读IP头部选下一跳,不感知TCPe2传输层连接状态只在两端主机维护
22第 22 页 · 端到端与逐跳的区别

PDU各层名称对照

上一页数据每过一层就被加一次头,可每加一次包装,「身份称呼」也跟着换——就像快递在不同站点有不同叫法。

应用层:报文
用户产生的原始数据,如 HTTP 请求正文、电子邮件内容
传输层:段/报文
TCP 称段 Segment,UDP 称报文 Datagram
网络层:包/分组
加 IP 头后变 Packet,路由器依据它转发
数据链路层:帧
加 MAC 头尾后变 Frame,交换机依据它转发
物理层:比特
比特流 Bit stream,真正落到线缆、光纤、电波上
快递从寄件到装车对应 →数据从应用到物理

下单=报文→装箱=段→贴面单=包→装货柜=帧→车跑=比特

23第 23 页 · PDU各层名称对照

章节自测

点击作答

传输层的可靠传输与数据链路层的可靠传输,最本质的区别是?

24第 24 页 · 章节自测

核心要点回顾

  • 分层是把复杂系统切成独立可设计的小块
  • OSI 七层是参考框架,TCP/IP 四层才是实际互联网
  • 对等层之间靠协议说话,上下层之间靠服务交接
  • 发送方逐层封装加头,接收方逐层解封装剥头
  • 路由器只看网络层,交换机只看数据链路层
延伸主题:物理层编码与调制原理TCP/IP 协议族详解网络安全在各层的作用
25第 25 页 · 核心要点回顾

课后思考

三个问题,先自己琢磨5分钟,再看参考答案。

1协议和服务是同一回事吗?为什么说协议是'水平的',服务是'垂直的'?

参考答案不是一回事。协议描述同层对等实体之间的交互规则(水平);服务描述下层向上层暴露的能力(垂直)。一个谈'对等通信',一个谈'层间接口'。

2如果把OSI七层压成两层,你会合并哪几层?判断依据是什么?

参考答案常见组合:物理+数据链路→网络接入层;会话+表示+应用→应用层。判据是相邻层之间是否还存在独立的服务原语——如果没有,合并更经济。

3端到端原则说'智能放在边缘',但QoS、防火墙让核心也'聪明'起来——这矛盾吗?

参考答案不矛盾,是层次不同。端到端原则谈'应用智能该由谁懂';QoS、防火墙谈'基础设施该提供哪些保障'。前者是哲学,后者是工程,二者可以并存。

26第 26 页 · 课后思考
概述 · 知识图解