网络通信协议与网络模型¶
约 1797 个字 预计阅读时间 9 分钟
网络通信协议¶
通信的三个要素:
- 源 - 即发送方,向其他人或设备发送消息
- 通道 - 由为消息从源地址传送到目的地址提供路径的介质组成
- 目的 - 即接收方,接受并解释消息
成功的计算机网络通信需要遵守一定的规则或协议,这些通信协议由消息的源、通道和目的的特性决定,比如不同的通道采取不同的协议。
通信协议定义消息传输和传递的详细方式,包括五个方面:
- 消息编码
- 编码是发送消息后执行的第一个操作,为了方便传输,编码器会根据协议将信息转换为另一种可供传输的形式
- 解码是编码的逆向过程,其目的是还原信息
- 消息格式与封装
- 为方便传输和处理,计算机网络通信消息也需要进行封装
- 每条计算机消息在通过网络发送之前都以特定的格式封装,称为帧 (Frame)
- 帧就像信封一样, 它提供目的地址和源地址等必要信息
- 消息大小
- 帧的长度有所限制,所以需要将长消息分割成符合要求的多个帧
- 如以太网帧: 64~1518 字节
- 消息时序
- 主要是访问方法、流量控制和响应超时
- 消息传输选项或模式
- 一对一传输选项称为单播
- 一对多传输选项称为组播或多播
- 一对全体传输选项称为广播
常用的网络传输协议有超文本传输协议 (HTTP) 、文件传输协议 (FTP) 、传输控制协议 (TCP) 、Internet协议 (IP)
执行某种通信功能所需的一组内在相关协议称为协议族 (协议簇或协议栈),其显示为分层结构,上层服务依赖于下层协议的功能
网络分层模型¶
TCP/IP 模型 和 开放式系统互联(OSI)模型 是研究和讨论网络功能时使用的主要的模型和通用语言。
使用分层模型的优点
有助于协议设计:对在特定层工作的协议而言,其工作方式和接口均确定
其中 OSI 模型各层功能可以看下图。
而 TCP/IP 模型将几个如今功能边界比较模糊的层合并,定义了成功通信所必需的四类功能。
数据封装¶
数据分段发送有两个主要好处:
- 提高速度 - 由于将大数据流分段成为数据包,因此可以在不独占通信链路的情况下,通过网络发送大量数据。这允许许多不同的会话在称为多路复用的网络上交错。
- 提高效率 - 如果单个数据段由于网络故障或网络拥塞而无法到达其目的地,则只需要重新传输该段,而不需要重新发送整个数据流。
TCP 负责对单独的数据段进行排序
在通过网络介质传输应用程序数据的过程中,随着数据沿协议栈向下传递,每层都要添加各种协议信息。此过程称为 封装
一段数据在任意协议层的表示形式称为协议数据单元 (PDU)。在封装过程中,后续的每一层都根据使用的协议封装其从上一层接收的 PDU。在该过程的每个阶段,PDU 都以不同的名称来反映其新功能。尽管目前对 PDU 的命名没有通用约定,但本课程中根据 TCP/IP 协议簇的协议来命名 PDU。图中显示了每种形式数据的 PDU。
其中各个 PDU 一般对应 OSI 协议簇中层数如下:
- 数据 - 泛指应用层使用的 PDU
- 数据段 - 传输层 PDU
- 数据包 - 网络层 PDU
- 帧 - 数据链路层 PDU
- 位 - 通过介质实际传输数据时使用的物理层 PDU (01串)
数据访问¶
IEEE
即电气电子工程师协会,负责维护网络标准,包括以太网和无线标准等,每项技术标准都有其编号,指代负责该标准的委员会
如以太网为 802.3,无线局域网为 802.11(802.11ac=WiFi 5,802.11ax=WiFi6, 802.11be=WiFi7)
网络层和数据链路层负责将数据从源设备传输到目的设备,两层中的协议都包含源地址和目的地址,但它们的地址具有不同的用途。
- 网络层源地址和目的地址
- 负责将 IP 数据包从原始源设备传输到可能处于同一网络或远程网络中的最终目的设备。
- 即 IP 地址,共 32 bit
- 数据链路层源地址和目的地址
- 负责将数据链路帧从一个网络接口卡 (NIC) 传输到同一网络上的另一个 NIC。
- 即 MAC 地址,共 48 bit
使用命令 ipconfig /all
查看电脑上网卡的 MAC 地址及 IP 地址
我们仅分析下图例子:
其中,帧头存放数据发送的目的 MAC 地址以及源 MAC 地址,据图可知该数据从 PC1 的网卡发送到交换机连接的路由器 R1 的网卡上。
数据到达路由器 R1 ,它会被路由器解包最外层帧头,以查看内部目的网络 IP 地址;在将数据转发给其它路由器之前,R1 会重新封装一个帧头,其中源 MAC 地址为 R1 的网卡地址,目的 MAC 地址为要转发的路由器的网卡的 MAC 地址
同理,在中间层经过的每一个路由器都会改变该数据的帧,最后到达目的 IP 地址的网络,由该网络的交换机负责转发消息
ARP 协议
在本地网络中,仅当帧所包含的目的 MAC 地址与某主机 MAC 地址相同或为广播 MAC 地址时,该主机才会接受该帧,但网络应用常常仅通过目的 IP 地址来找到目标,故需要 ARP 协议来发现同一本地网络中已知 IP 地址的任意主机的 MAC 地址
ARP 协议发现和存储主机 MAC 地址分为三个步骤:
- 发送主机创建并发送一个广播帧,该帧的目的地址为广播 MAC 地址,数据包中含有想知道的目的主机的 IP 地址
- 网络中每台主机都会收到该广播帧,并将消息中 IP 地址与自己比较,如果匹配,则将自己的 MAC 地址传回原始发送主机
- 发送主机收到回送消息后,将该 MAC 地址与 IP 地址信息成对保存在 ARP 表中,以后再对同一 IP 请求,就不再需要发出 ARP 请求了