【计算机网络】第1章:概述—协议层次及服务模型

一、协议层次

网络是一个复杂的系统!

  • 网络功能繁杂:数字信号的物理信号承载、点到点、路由、rdt、进程区分、应用等
  • 现实来看,网络的许多构成元素和设备:
    • 主机
    • 路由器
    • 各种媒体的链路
    • 应用
    • 协议
    • 硬件,软件

问题是: 如何组织和实现这个复杂的网络功能?

例子1: 现实生活中的例子:航线系统

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

航线的功能层次

层次化方式实现复杂网络功能:

  • 将网络复杂的功能分层功能明确的层次 ,每一层实现了其中一个或一组功能 ,功能中有其上层可以使用的功能:服务
  • 本层协议实体相互交互执行本层的协议动作,目的是实现本层功能,通过接口为上层提供更好的服务
  • 在实现本层协议的时候,直接利用了下层所提供的服务
  • 本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功能(上层可以利用的)+ 更下层所提供的服务

二、服务模型

服务和服务访问点

  • 服务 (Service):低层实体向上层实体提供它们之间的通信的能力
    • 服务用户 (service user)
    • 服务提供者 (service provider)
  • 原语 (primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的 --- 形式
  • 服务访问点 SAP (Services Access Point) :上层使用下层提供的服务通过层间的接口 --- 地点;
    • 例子:邮箱
    • 地址 (address):下层的一个实体支撑着上层的多个实体,SAP 有标志不同上层实体的作用
    • 可以有不同的实现,队列
    • 例子:传输层的 SAP: 端口 (port)

服务的类型

  • 面向连接的服务和无连接的服务 - 方式
    • 面向连接的服务 (Connection-oriented Service)
      • 连接 (Connection):两个通信实体为进行通信而建立的一种结合
      • 面向连接的服务通信的过程:建立连接,通信,拆除连接
      • 面向连接的服务的例子:网络层的连接被成为虚电路
      • 适用范围:对于大的数据块要传输;不适合小的零星报文
      • 特点:保序
      • 服务类型:
        • 可靠的信息流 传送页面 (可靠的获得,通过接收方的确认)
        • 可靠的字节流 远程登录
        • 不可靠的连接 数字化声音

面向连接的服务和无连接的服务

  • 无连接的服务 (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:组播管理
  • 核心功能
    • 物理寻址(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)服务
    • 无可靠性保证
    • 支持分片与重组

(四)分层交互关键机制

  1. 封装与解封装

    应用层数据 → 传输层头部(TCP/UDP) → 网络层头部(IP) → 数据链路层头部/尾部 → 物理层比特流

  2. 多路复用/解复用

  • 传输层通过端口号区分应用
  • 网络层通过协议字段区分传输协议
  1. 分层寻址
  • 应用层:域名(www.example.com
  • 传输层:端口号(80, 443)
  • 网络层:IP地址(192.168.1.1)
  • 数据链路层:MAC地址(00:1A:C2:7B:00:47)

(五)分层设计优势总结

  1. 降低复杂性:各层只需关注自身功能实现
  2. 促进标准化:每层可独立制定标准(如IEEE 802系列)
  3. 技术兼容性:下层技术升级不影响上层(如以太网→光纤)
  4. 故障隔离:易于定位和解决特定层次的问题
  5. 灵活替换:可替换单层实现(如IPv4→IPv6过渡)

(六)核心协议对比表

层级 协议 特点 应用场景
应用层 HTTP 无状态,超文本传输 网页浏览
FTP 文件传输 文件上传/下载
DNS UDP为主,域名解析 域名到IP地址映射
传输层 TCP 可靠、面向连接 网页加载、文件传输
UDP 不可靠、无连接 视频流、DNS查询
网络层 IP 无连接,分组独立传输 跨网络通信
ICMP 网络诊断 pingtraceroute
数据链路层 ARP IP地址映射到MAC地址 局域网内通信

完结撒花🎉

相关推荐
YUNYINGXIA34 分钟前
LVS+Keepalived高可用集群
网络·lvs·keepalived
昭阳~36 分钟前
LVS+Keepalived 高可用群集
服务器·网络·lvs
modem协议笔记1 小时前
5G NTN卫星通信发展现状(截止2025年3月)
网络·5g·智能手机
观音山保我别报错1 小时前
TCP协议
网络·网络协议·tcp/ip
会飞的土拨鼠呀4 小时前
dis css port brief 命令详细解释
前端·css·网络
天翼云开发者社区5 小时前
WAAP对提升网站访问速度有什么作用?
网络
qq2439201615 小时前
搭建frp内网穿透
服务器·网络·运维开发
老六ip加速器5 小时前
不同电脑同一个网络ip地址一样吗?如何更改
网络·tcp/ip·电脑
IUings5 小时前
Window Server 2019--08 网络负载均衡与Web Farm
网络·虚拟机·windows服务器·vmvare·web负载均衡
小王努力学编程7 小时前
【Linux网络编程】传输层协议TCP,UDP
linux·网络·c++·udp·tcp