Skip to content

02 网络模型

任务分层

本节讨论的主题

发送方,接收方和载体 Sender, Receiver, and Carrier 层次结构 Hierarchy

在日常生活中,我们使用分层的概念。例如,两个好朋友通过发送邮件来进行通信,如果没有邮局所提供的服务,那么两个人的通信过程会非常的复杂。

发送信件所包含的任务

c660c19c-2125-4ba2-b5b0-75026b876437

理解协议的分层

网购协议:甲方、乙方、商品、流程、顺序

39394bf6-991d-4fbe-8127-c88298df61e2

快递协议:收件人、寄件人信息、物品信息——向网购协议提供服务

f22a572f-dada-4769-95c5-ce598ba65555

理解协议

66cca758-7ff1-44db-b266-80897664ae56

ecfe7d65-d40b-45cb-b760-3011b8043809

f82098e3-7c00-419a-9e69-735cafe0d026

网络协议的三要素

为网络中数据交换而制定的规则、约定与标准称为协议。协议定义了在两个或多个通信实体之间交换的报文的格式和顺序,以及报文的发送/接收或其他事件所采取的操作。

  • 语法:规定用户数据与控制信息的结构与格式。
  • 语义:定义需要发出何种控制信息,以及完成的动作与响应。
  • 时序:对事件实现顺序的详细说明。

OSI 模型

本节讨论的主题

  • 分层结构 Layered Architecture
  • 对等进程 Peer-to-Peer Processes
  • 封装 Encapsulation
  • 国际标准化组织(International Organization for Standardization, ISO)成立于 1947 年,它是一个致力于在全世界范围内建立统一国际化标准的多国组织。
  • 一个包含网络通信的 ISO 标准是开放系统互联模型(Open System Interconnection , OSI),它最初形成于上世纪 70 年代。

OSI 参考模型的定义

  • 体系结构(Architecture):OSI 参考模型定义了开放系统的层次结构、层次之间的相互关系,以及各层可能提供的服务。它作为一个框架来协调与组织各层协议的制定,也是对网络内部结构的精炼概括与描述。
  • 服务定义(Service Definition):OSI 参考模型的服务定义详细说明了各层所提供的服务。某层提供的服务是指该层及以下各层的一种能力,这种服务通过接口提供给相邻高层。各层提供的服务与这些服务的具体实现无关。
  • 协议说明(Protocol Specification):在 OSI 参考模型的范围内,只要各种协议是可以实现的,各种产品只要遵循 OSI 的协议就可以互连。也就是说,OSI 参考模型并不是一个标准,而是一种在制定标准时使用的概念性框架。

邮政系统和计算机网络的相似点

  • 层次(Layer)是处理复杂问题的基本方法。将要实现的功能分配在不同层次,对每个层次的功能及实现流程有明确规定。高层使用低层提供的服务时,无需知道低层服务的实现方法。
  • 接口(Interface)是同一结点内相邻层之间交换信息的连接点。同一结点的相邻层之间存在明确规定的接口,低层通过接口向高层提供服务。低层功能的实现方法与技术的变化不会影响整个系统。
  • 网络体系结构(Network Architecture)是网络层次结构模型与各层协议的集合。各层之间相对独立,高层只需知道下层能提供的服务,而无需知道低层的服务如何实现。每层的功能与提供的服务都已有精确说明,这有利于促进协议的标准化。

OSI 模型的结构

OSI 参考模型采用典型的分层结构。每层是一个模块,用于执行某种基本功能,并具有一套相应的协议。OSI 划分层次的原则是:

  • 各结点都具有相同的层次。
  • 不同结点的同等层具有相同的功能。
  • 同一结点内相邻层之间通过接口通信。
  • 每层可以使用下层提供的服务,并向其上层提供服务。
  • 不同结点的同等层通过协议来实现对等层之间的通信。

OSI 七层模型

以下是进一步详细的表格描述:

层次英文功能
物理层Physical负责网络硬件的实际连接和信号传输,定义接口特性、传输介质和信号类型。包括电压电平、脉冲调制、数据速率、物理拓扑(如总线、环形、星型)、接插件类型等细节。支持二进制数据比特在设备间以电信号、光信号或无线信号形式的传输。
数据链路层Data Link提供设备间可靠的数据帧传输,负责将物理层的比特流划分为数据帧。支持帧同步、错误检测与纠正、重发机制、流量控制等功能。分为逻辑链路控制(LLC)子层和介质访问控制(MAC)子层,用于管理不同协议的通信以及在共享介质上的冲突检测与避免(如 CSMA/CD)。
网络层Network实现数据的寻址、路由和转发,确保数据包可以通过多个网络到达目的地。提供逻辑地址(如 IP 地址)管理、路由选择协议(如 OSPF、BGP)、流量管理(如 QOS),并处理拥塞控制、分段和重组等操作。支持跨网关的数据包传输。
传输层Transport确保应用之间的端到端通信,管理数据传输的可靠性和顺序性。提供传输协议(如 TCP/UDP)支持,处理分段与重组、错误检测与纠正、数据重传机制、流量控制和端口地址管理(如应用标识)。TCP 提供可靠的连接,UDP 提供快速但不可靠的服务。
会话层Session负责建立、管理和终止会话,确保双向通信的协调。支持会话同步(如标记断点以便恢复)、对话组织(如全双工或半双工模式)和权限管理。提供检查点机制,以防止长时间传输中的数据丢失。
表示层Presentation处理数据的格式化和表示形式,确保数据在不同系统之间的兼容性。支持字符集翻译(如 Unicode 与 ASCII 转换)、数据压缩和解压缩(如图像或视频数据)、数据加密和解密(如 TLS/SSL),以提高数据传输的效率和安全性。
应用层Application直接面向用户,提供网络服务的接口。支持具体应用程序协议(如 HTTP 用于浏览网页、FTP 用于文件传输、SMTP 用于电子邮件)。负责服务请求与响应的处理,支持用户认证、资源访问、数据显示等功能。实现网络功能和用户需求的对接,例如浏览网页、发送邮件、文件下载等操作。

adf1876f-9b17-4076-8db6-0ff7bd91826c

OSI 模型层次间的相互作用

相邻两层之间的接口是服务访问点 SAP

16826582-d6e1-4b78-8dcf-35b9fae9ba46

使用 OSI 模型传输过程

H2:封装 encapsulation,H3:头部 Header,T2:尾部 Trailer

bc55188b-ccbe-401d-be66-1d330520701e

OSI 环境中的数据传输过程

0beb0868-aed6-4e6e-aff3-c7150bebfa16

OSI 模型的各个层

在本节简要介绍 OSI 模型的各层的功能。

本节讨论的主题

  • 物理层
  • 数据链路层
  • 网络层
  • 传输层
  • 会话层
  • 表示层
  • 应用层

物理层

  • 物理层包含在物理介质上传输位流所需的功能,定义了接口与传输介质的机械和电气特性。
  • 物理层负责从一跳(节点)到另一跳(节点)的传递。
  • 传输的是透明比特流
  • 位的表示
  • 数据速率
  • 位同步
  • 线路配置
  • 拓扑结构
  • 传输方式

96718bf5-84c3-4396-9c98-8f0bc2152633

数据链路层

  • 数据链路层将物理层的数据无差错地传递给网络层。
  • 数据链路层负责从一跳(节点)到下一跳(节点)传递。
  • 成帧
  • 物理寻址
  • 流量控制
  • 差错控制
  • 访问控制

4f4e1e1c-2813-454c-b14c-6259df88143f

跳到跳的传递

c1b6fa6b-8d25-48dd-aed8-aac54a6b20cb

网络层

  • 网络层负责将各个分组从源地址传递到目的地址。
  • 逻辑寻址
  • 路由选择

2b15f9bd-9f52-466b-85db-afafdf2de4d9

源到目的传递

6dbff3a8-6242-47bf-903a-e5744025e4cd

传输层

  • 传输层负责一个报文从一个进程到另一个进程的传递。
  • 服务访问点 SAP/端口 Port
  • 分段 Segment 和组装
  • 连接控制
  • 流量控制
  • 差错控制

e9df1930-ab56-4ed9-8eaa-3437210cdd83

一个报文在进程间的可靠传递

f8cb17aa-cd24-4005-a554-b496dbcefa51

会话层

  • 会话层负责对话控制和同步。
  • 对话控制
  • 同步
  • Session 经常在套接字中使用

bce5f12d-daee-4d24-9185-c131f7a730dc

表示层

  • 表示层负责翻译、加密和压缩数据。
  • 翻译:语义与语法的转换
  • 加密
  • 压缩

cbb486f7-58b1-41b6-90a7-1421ae619b3b

应用层

  • 应用层负责向用户提供服务。
  • 向用户提供服务
  • 虚拟终端
  • FTP
  • E-MAIL
  • Directory 服务

3f1cfcf0-5551-4a67-9f68-24c58c6fd0ee

各层功能的总结

7163a95c-4170-4a05-a891-3f1fe6783cde

TCP/IP 协议族

  • TCP/IP 协议族 是在 OSI 模型之前所开发的,因此 TCP/IP 协议族的各层并不与 OSI 模型的各层严格对应。TCP/IP 协议族被定义为四个层次:主机到网络层,互联网层,传输层和应用层
  • 然而,当 TCP/IP 与 OSI 模型进行比较的时候,可以说 TCP/IP 协议族有五层:物理层,数据链路层,网络层,传输层和应用层

本节讨论的主题

  • 物理层和数据链路层
  • 网络层
  • 传输层
  • 应用层

TCP/IP 参考模型的层次结构

  • TCP/IP 是互联网中重要的通信规程,规定了计算机之间通信使用的命令与响应、PDU 格式、相应的动作等。
  • TCP/IP 的主要特点:
    • 开放的协议标准;
    • 独立于特定的计算机硬件与操作系统;
    • 独立于特定的网络硬件;
    • 它拥有统一的网络地址分配方案;
    • 使用标准化的应用层协议。

171d95a5-ce67-40aa-b033-effd174fdeb3

TCP/IP 和 OSI 模型

流控制传输协议 SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)是 IETF 新定义的一个传输层协议(2000 年)

c311886c-78e6-4d20-ac67-7ee482d994a1

PDUs(Protocol Data Unit) in TCP/IP

ebe967c0-8a02-40e7-a7d6-aa9fb4e669a0

  • 协议数据单元 PDU 是指对等层次之间传递的数据单位。
  • 物理层的 PDU 是数据位(bit),数据链路层的 PDU 是数据帧(frame),网络层的 PDU 是数据包/数据报(packet),传输层的 PDU 是数据段(segment),其他更高层次的 PDU 是数据(data)。

Some Protocols in TCP/IP Suite

df7dbf63-5210-4318-b7ff-70c9b779f8e5

TCP/IP Concepts

3fdb3524-e045-4903-b507-9b0e7cc16bfd

寻址

TCP/IP 协议簇的应用网络中使用 4 层地址:物理地址、逻辑地址、端口地址和专用地址

本节讨论的主题

  • 物理地址 Physical Addresses
  • 逻辑地址 Logical Addresses
  • 端口地址 Port Addresses
  • 专用地址 Specific Addresses

TCP/IP 中的地址

e33660dc-8966-46d4-b42b-881ea4a3703f

TCP/IP 协议中的各层与地址的关系

09459e79-0c05-4767-9ddd-195e26a3b250

物理地址

  • 物理地址,也称链路地址、硬件地址、MAC 地址,是局域网或广域网定义的节点地址。
  • 它包含在数据链路层的帧中,是最低级的地址。其长度和格式是可变的,与网络有关。
  • 通常以太网使用 6 个字节(48 位)物理地址,在网络接口卡上标明。
  • 物理地址为 10 的节点向物理地址为 87 的节点发送了一个帧,这两个节点通过链路相连接(总线结构局域网)。
  • 物理地址为 10 的计算机是发送方,物理地址为 87 的计算机是接收方。

52300ebe-9694-44cd-92de-e6ab272e0772

  • 大多数的局域网使用 48 位(6 个字节)的物理地址,这个物理地址被写成 12 个十六进制的数字;每个字节(2 个十六进制数)用冒号分开。
  • 例如:07:01:02:01:2C:4B 6 个字节 (12 个十六进制) 物理地址。

IP 地址

  • 下图显示了由两个路由器连接三个局域网的互联网的一部分。为了相互的连接,每个设备(计算机或者路由器)都有一对地址(物理地址和逻辑地址)。
  • 在下面的例子中,每台计算机只与一个链路相连,因此只有一对地址。然而,每个路由器和三个网络相连(在图中只显示了两个)。因此每个路由器有三对地址,一对地址对应一个连接。

跳到跳时物理地址将改变,但逻辑地址保持不变。

6006e9cb-8a1a-4782-b102-3ad5e6c78ed5

端口地址

  • 下图表示两台计算机通过网络进行通信。
  • 发送方计算机有三个进程正在进行,分别使用端口 a,b,c。同时,接收方计算机有两个进程正在进行,端口地址分别是 j 和 k。
  • 在发送方计算机中的进程 a 需要和在接收方计算机的进程 j 进行通信。
  • 尽管从跳到跳物理地址会改变,但是逻辑地址和端口地址从源地址到目的地址均保持不变。

d091e814-269c-40b0-bd0f-8dd6c3fa195e

  • 16 位的端口地址是用十进制数所表示。
  • 例如:753:一个 16 位端口地址被表示成一个数字。

专用地址

  • 有些面向用户的应用被设计为专用地址。
  • 如电子邮件地址和统一资源定位符 URL。电子邮件地址定义邮件收发人,统一资源定位符用于在万维网中寻找一个文档。这些地址由发送计算机转换成对应的端口地址和逻辑地址。