Skip to content

1.1

:material-circle-edit-outline: 约 1314 个字 :material-clock-time-two-outline: 预计阅读时间 4 分钟

计算机网络体系结构

网络协议

network protocol,简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。

  • 三个组成要素
    • 语法:数据与控制信息的结构或格式 。
    • 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
    • 同步:事件实现顺序的详细说明。

计算机网络的体系结构

Network Architecture,是计算机网络的各层及其协议的集合,就是这个计算机网络及其构件所应完成的功能的精确定义(不涉及实现)。

image-20240919110020679

教材用的是右边的五层协议体系结构

各层的主要功能

image-20240919110900932

  • 应用层
    • 任务:通过应用进程间的交互来完成特定网络应用。
    • 协议:定义的是应用进程间通信和交互的规则
      • 把应用层交互的数据单元称为报文(message)。
    • 例如:DNS,HTTP,SMTP
  • 运输层
    • 任务:负责向两台主机中进程之间的通信提供通用的数据传输服务。
      • 具有复用和分用的功能。
    • 主要使用两种协议: 传输控制协议 TCP / 用户数据报协议 UDP
  • TCP (Transmission Control Protocol)
    • 提供面向连接的、可靠的数据传输服务。
    • 数据传输的单位是报文段 (segment)。
  • UDP (User Datagram Protocol)
    • 提供无连接的尽最大努力 (best-effort) 的数据传输服务(不保证数据传输的可靠性)
    • 数据传输的单位是用户数据报。
  • 网络层
    • 为分组交换网上的不同主机提供通信服务。
    • 两个具体任务
      • 路由选择:通过一定的算法,在互联网中的每一个路由器上,生成一个用来转发分组的转发表。
      • 转发:每一个路由器在接收到一个分组时,要依据转发表中指明的路径把分组转发到下一个路由器。

互联网使用的网络层协议是无连接的网际协议 IP (Internet Protocol) 和许多种路由选择协议,因此互联网的网络层也叫做网际层或 IP 层

IP 协议分组也叫做 IP 数据报,或简称为数据报。

  • 数据链路层
    • 简称为链路层
    • 任务:实现两个相邻节点之间的可靠通信。
      • 在两个相邻节点间的链路上传送帧(frame)。
      • 如发现有差错,就简单地丢弃出错帧。
      • 如果需要改正出现的差错,就要采用可靠传输协议来纠正出现的差错。这种方法会使数据链路层协议复杂。
  • 物理层
    • 任务:实现比特(0 或 1)的传输。
      • 确定连接电缆的插头应当有多少根引脚,以及各引脚应如何连接。
    • 注意:传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面。

数据在各层之间的传递过程

主机发送

数据经过每层都会添加相应层的首部,链路层除了首部还有一个尾部

链路层的首尾部成为最终数据的首尾部

image-20240919111216118

经过路由器

经路由器后,原先的首尾部会被替换

image-20240919111314668

末端接收

逐层去除首尾部

image-20240919111514888

对等层与协议数据单元

OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU (Protocol Data Unit)

任何两个同样的层次把 PDU (即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”之间的通信。

各层协议实际上就是在各个对等层之间传递数据时的各项规定。

image-20240919111721968

实体、协议、服务和服务访问点

  • 实体 (entity) :表示任何可发送或接收信息的硬件或软件进程。
  • 协议:控制两个对等实体进行通信的规则的集合。
    • 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
    • 要实现本层协议,还需要使用下层所提供的服务。

注意:协议和服务在概念上是不一样的

image-20240919111848909

  • 在同一系统中相邻两层的实体进行交互(即交换信息) 的地方,通常称为服务访问点 SAP (Service Access Point)
    • SAP 是一个抽象的概念,它实际上就是一个逻辑接口。

OSI 把层与层之间交换的数据的单位称为 服务数据单元 SDU (Service Data Unit)

SDU 可以与 PDU 不一样。例如:可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。

image-20240919112104198

互联网中客户-服务器工作方式

image-20240919112959951

同时运行多个服务器进程同时为多个客户进程提供服务

image-20240919113015701

TCP/IP 的体系结构

image-20240919112818137

现在互联网使用的 TCP/IP 体系结构已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。

image-20240919112849331

image-20240919112913710