一、协议层次
网络是一个复杂的系统!
- 网络功能繁杂:数字信号的物理信号承载、点到点、路由、rdt、进程区分、应用等
- 现实来看,网络的许多构成元素和设备:
- 主机
- 路由器
- 各种媒体的链路
- 应用
- 协议
- 硬件,软件
问题是: 如何组织和实现这个复杂的网络功能?
例子1: 现实生活中的例子:航线系统

例子2: 两位异地哲学家的交流

航线的功能层次

层次化方式实现复杂网络功能:
- 将网络复杂的功能分层功能明确的层次 ,每一层实现了其中一个或一组功能 ,功能中有其上层可以使用的功能:服务
- 本层协议实体相互交互执行本层的协议动作,目的是实现本层功能,通过接口为上层提供更好的服务
- 在实现本层协议的时候,直接利用了下层所提供的服务
- 本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功能(上层可以利用的)+ 更下层所提供的服务
二、服务模型
服务和服务访问点
- 服务 (Service):低层实体向上层实体提供它们之间的通信的能力
- 服务用户 (service user)
- 服务提供者 (service provider)
- 原语 (primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的 --- 形式
- 服务访问点 SAP (Services Access Point) :上层使用下层提供的服务通过层间的接口 --- 地点;
- 例子:邮箱
- 地址 (address):下层的一个实体支撑着上层的多个实体,SAP 有标志不同上层实体的作用
- 可以有不同的实现,队列
- 例子:传输层的 SAP: 端口 (port)
服务的类型
- 面向连接的服务和无连接的服务 - 方式
- 面向连接的服务 (Connection-oriented Service)
- 连接 (Connection):两个通信实体为进行通信而建立的一种结合
- 面向连接的服务通信的过程:建立连接,通信,拆除连接
- 面向连接的服务的例子:网络层的连接被成为虚电路
- 适用范围:对于大的数据块要传输;不适合小的零星报文
- 特点:保序
- 服务类型:
- 可靠的信息流 传送页面 (可靠的获得,通过接收方的确认)
- 可靠的字节流 远程登录
- 不可靠的连接 数字化声音
- 面向连接的服务 (Connection-oriented Service)
面向连接的服务和无连接的服务
- 无连接的服务 (Connectionless Service)
- 无连接服务:两个对等层实体在通信前不需要建立一个连接,不预留资源;不需要通信双方都是活跃;(例:寄信)
- 特点:不可靠、可能重复、可能失序
- IP 分组,数据包;
- 适用范围:适合传送零星数据;
- 服务类型:
- 不可靠的数据报 电子方式的函件
- 有确认的数据报 挂号信
- 请求回答 信息查询
服务与协议的区别
- 服务 (Service):低层实体向上层实体提供它们之间的通信的能力,是通过原语 (primitive) 来操作的,垂直
- 协议 (protocol) :对等层实体 (peer entity) 之间在相互通信的过程中,需要遵循的规则的集合,水平
服务与协议的联系
- 本层协议的实现要靠下层提供的服务来实现
- 本层实体通过协议为上层提供更高级的服务

分层处理和实现复杂系统的好处?
对付复杂的系统
- 概念化:结构清晰,便于标示网络组件,以及描述其相互关系
- 分层参考模型
- 结构化:模块化更易于维护和系统升级
- 改变某一层服务的实现不影响系统中的其他层次
- 对于其他层次而言是透明的
- 如改变登机程序并不影响系统的其它部分
- 改变 2 个秘书使用的通信方式不影响 2 个翻译的工作
- 改变 2 个翻译使用的语言也不影响上下 2 个层次的工作
- 分层思想被认为有害的地方?
五层模型

- 应用层 : 网络应用
- 为人类用户或者其他应用进程提供网络应用服务
- FTP, SMTP, HTTP,DNS
- 传输层 : 主机之间的数据传输
- 在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠地通信
- TCP, UDP
- 网络层 : 为数据报从源到目的选择路由
- 主机主机之间的通信,端到端通信,不可靠
- IP, 路由协议
- 链路层 : 相邻网络节点间的数据传输
- 2 个相邻 2 点的通信,点到点通信,可靠或不可靠
- 点对点协议 PPP, 802.11 (wifi), Ethernet
- 物理层: 在线路上传送 bit
ISO/OSI 参考模型

- 表示层:允许应用解释传输的数据,e.g.,加密,压缩,机器相关的表示转换
- 会话层:数据交换的同步,检查点,恢复
- 互联网协议栈没有这两层!
- 这些服务,如果需要的话,必须被应用实现
- 需要吗?


各层次的协议数据单元
- 应用层:报文 (message)
- 传输层:报文段 (segment):TCP 段,UDP 数据报
- 网络层:分组 packet(如果无连接方式:数据报 datagram)
- 数据链路层:帧 (frame)
- 物理层:位 (bit)
三、总结
(一)协议分层核心概念
1. 分层目的
- 解耦设计:各层独立变化,互不影响
- 模块化开发:分层实现与测试
- 标准化接口:层间通过明确定义的接口通信
- 抽象封装:下层对上层隐藏实现细节
2. 关键分层模型
OSI 七层模型 | TCP/IP 四层模型 | 核心功能 |
---|---|---|
7. 应用层(Application) | 4. 应用层 | 用户接口(HTTP, FTP, SMTP) |
6. 表示层(Presentation) | (合并至应用层) | 数据加密/压缩/编码转换 |
5. 会话层(Session) | (合并至应用层) | 建立/管理/终止会话 |
4. 传输层(Transport) | 3. 传输层 | 端到端连接(TCP, UDP) |
3. 网络层(Network) | 2. 网络层 | 寻址和路由(IP, ICMP) |
2. 数据链路层(Data Link) | 1. 网络接口层 | 介质访问控制(MAC, ARP) |
1. 物理层(Physical) | (包含在网络接口层) | 比特流传输(电缆, 光纤, 无线电) |
模型对比:TCP/IP 模型更贴近实际协议栈,OSI 模型更具理论指导性
(二)核心协议层次详解
1. 应用层(Application Layer)
- 功能:提供用户可直接使用的网络服务
- 关键协议 :
- HTTP/HTTPS:Web 通信
- FTP:文件传输
- SMTP/POP3/IMAP:电子邮件
- DNS:域名解析
- SSH:安全远程登录
2. 传输层(Transport Layer)
特性 | TCP(传输控制协议) | UDP(用户数据报协议) |
---|---|---|
连接性 | 面向连接(三次握手) | 无连接 |
可靠性 | 可靠传输(ACK/重传) | 不可靠传输 |
流量控制 | 滑动窗口机制 | 无 |
拥塞控制 | AIMD、慢启动等算法 | 无 |
数据单元 | 分段(Segments) | 数据报(Datagrams) |
典型应用 | Web、Email、文件传输 | 视频流、DNS、VoIP |
3. 网络层(Network Layer)
- 核心功能 :
- 逻辑寻址(IP地址)
- 路由选择(OSPF, BGP, RIP)
- 分组转发
- 拥塞控制
- 关键协议 :
- IPv4/IPv6:互联网协议
- ICMP:错误报告(如ping)
- ARP:IP→MAC地址解析
- IGMP:组播管理
4. 数据链路层(Data Link Layer)
- 核心功能 :
- 物理寻址(MAC地址)
- 帧封装与解封装
- 差错检测(CRC校验)
- 介质访问控制(MAC)
- 子层划分 :
- LLC(逻辑链路控制):帧同步/流量控制
- MAC(介质访问控制):控制物理介质访问(如CSMA/CD)
- 典型协议:PPP, Ethernet (IEEE 802.3), Wi-Fi (IEEE 802.11)
5. 物理层(Physical Layer)
- 核心功能 :
- 比特流传输
- 定义电气/机械特性
- 比特同步
- 传输模式(单工/半双工/全双工)
- 传输介质:双绞线、同轴电缆、光纤、无线电波
- 关键概念:调制解调、码元速率、带宽
(三)服务模型(Service Models)
1. 面向连接 vs 无连接
特性 | 面向连接服务(如TCP) | 无连接服务(如UDP) |
---|---|---|
建立连接 | 需要显式连接建立 | 无需预先连接 |
可靠性 | 保证数据按序到达 | 不保证可靠性 |
流量控制 | 支持 | 不支持 |
路径 | 固定路径传输 | 独立路由每个分组 |
适用场景 | 文件传输、关键数据 | 实时应用、广播 |
2. 服务质量(QoS)参数
- 带宽:单位时间数据传输量
- 时延:数据包从发送到接收的时间
- 抖动:时延变化程度
- 丢包率:传输中丢失的数据包比例
- 吞吐量:实际成功传输的数据量
3. 典型服务模型实现
- TCP服务模型 :
- 可靠字节流传输
- 拥塞感知的速率控制
- 全双工通信
- IP服务模型 :
- 尽力而为(Best-Effort)服务
- 无可靠性保证
- 支持分片与重组
(四)分层交互关键机制
-
封装与解封装 :
应用层数据 → 传输层头部(TCP/UDP) → 网络层头部(IP) → 数据链路层头部/尾部 → 物理层比特流
-
多路复用/解复用:
- 传输层通过端口号区分应用
- 网络层通过协议字段区分传输协议
- 分层寻址:
- 应用层:域名(www.example.com)
- 传输层:端口号(80, 443)
- 网络层:IP地址(192.168.1.1)
- 数据链路层:MAC地址(00:1A:C2:7B:00:47)
(五)分层设计优势总结
- 降低复杂性:各层只需关注自身功能实现
- 促进标准化:每层可独立制定标准(如IEEE 802系列)
- 技术兼容性:下层技术升级不影响上层(如以太网→光纤)
- 故障隔离:易于定位和解决特定层次的问题
- 灵活替换:可替换单层实现(如IPv4→IPv6过渡)
(六)核心协议对比表
层级 | 协议 | 特点 | 应用场景 |
---|---|---|---|
应用层 | HTTP | 无状态,超文本传输 | 网页浏览 |
FTP | 文件传输 | 文件上传/下载 | |
DNS | UDP为主,域名解析 | 域名到IP地址映射 | |
传输层 | TCP | 可靠、面向连接 | 网页加载、文件传输 |
UDP | 不可靠、无连接 | 视频流、DNS查询 | |
网络层 | IP | 无连接,分组独立传输 | 跨网络通信 |
ICMP | 网络诊断 | ping 、traceroute |
|
数据链路层 | ARP | IP地址映射到MAC地址 | 局域网内通信 |
完结撒花🎉