1.1
:material-circle-edit-outline: 约 1314 个字 :material-clock-time-two-outline: 预计阅读时间 4 分钟
计算机网络体系结构
网络协议
network protocol,简称为协议,是为进行网络中的数据交换而建立的规则、标准或约定。
- 三个组成要素
- 语法:数据与控制信息的结构或格式 。
- 语义:需要发出何种控制信息,完成何种动作以及做出何种响应。
- 同步:事件实现顺序的详细说明。
计算机网络的体系结构
Network Architecture,是计算机网络的各层及其协议的集合,就是这个计算机网络及其构件所应完成的功能的精确定义(不涉及实现)。
教材用的是右边的五层协议体系结构
各层的主要功能
- 应用层
- 任务:通过应用进程间的交互来完成特定网络应用。
- 协议:定义的是应用进程间通信和交互的规则
- 把应用层交互的数据单元称为报文(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)的传输。
- 确定连接电缆的插头应当有多少根引脚,以及各引脚应如何连接。
- 注意:传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议的下面。
- 任务:实现比特(0 或 1)的传输。
数据在各层之间的传递过程
主机发送
数据经过每层都会添加相应层的首部,链路层除了首部还有一个尾部
链路层的首尾部成为最终数据的首尾部
经过路由器
经路由器后,原先的首尾部会被替换
末端接收
逐层去除首尾部
对等层与协议数据单元
OSI 参考模型把对等层次之间传送的数据单位称为该层的协议数据单元 PDU (Protocol Data Unit)
任何两个同样的层次把 PDU (即数据单元加上控制信息)通过水平虚线直接传递给对方。这就是所谓的“对等层”之间的通信。
各层协议实际上就是在各个对等层之间传递数据时的各项规定。
实体、协议、服务和服务访问点
- 实体 (entity) :表示任何可发送或接收信息的硬件或软件进程。
- 协议:控制两个对等实体进行通信的规则的集合。
- 在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
- 要实现本层协议,还需要使用下层所提供的服务。
注意:协议和服务在概念上是不一样的
- 在同一系统中相邻两层的实体进行交互(即交换信息) 的地方,通常称为服务访问点 SAP (Service Access Point)。
- SAP 是一个抽象的概念,它实际上就是一个逻辑接口。
OSI 把层与层之间交换的数据的单位称为 服务数据单元 SDU (Service Data Unit)
SDU 可以与 PDU 不一样。例如:可以是多个 SDU 合成为一个 PDU,也可以是一个 SDU 划分为几个 PDU。
互联网中客户-服务器工作方式
同时运行多个服务器进程同时为多个客户进程提供服务
TCP/IP 的体系结构
现在互联网使用的 TCP/IP 体系结构已经发生了演变,即某些应用程序可以直接使用 IP 层,或甚至直接使用最下面的网络接口层。