数据通信与计算机网络——网络模型

embedded/2025/3/19 20:21:09/

主要内容

·任务分层

·OSI模型

·OSI模型的各层功能

·TCP/IP协议族 

·寻址

一、任务分层

        设想一个情景,两个好朋友通过邮件相互通信,如果没有邮局所提供的服务,两个人的通信过程会非常复杂。在这个过程中,有三个主体,发送方、接收方和载体,并且存在一个层次结构,每一层都使用其下层提供的服务。

图2.1  发送信件所包含的任务

分层体系结构

        在解决复杂系统时,可采用分解为若干个容易处理的子系统,然后“分而治之”的方法,这就是分层的思想,是系统分解的最好方法之一。

层次结构的好处:

        ·使每一层实现一种相对独立的功能。

        ·每一层的功能相对简单且易于实现和维护。

        ·分层结构有利于交流、理解和标准化。

二、OSI模型

        国际标准化组织(ISO)成立于1947年,是一个致力于在全世界范围内建立统一国际化标准的多国组织,它提出了ISO网络模型标准:开放系统互联OSI(Open System Interconnection)七层参考模型。模型由七个相互独立但又互相关联的层次组成,每一层定义了网络通信的一部分功能,是一组协议,允许任何两个不同系统相互通信,而不管其底层结构如何。

        OSI七层模型为人们描述了进行网络互连的理想框架和蓝图,具有重要的理论指导意义,但从来没有完全实现过。

图2.2  OSI七层模型 

图2.3  OSI模型层次间的交互 

注:

        1、中间节点通常只涉及下三层。

        2、每一层调用下一层提供的服务。

        3、两台机器同一层次之间的通信由一系列被称为协议的规则和规约来控制。

        4、特定层次上的通信过程,被称为对等过程,机器间的通信就是使用适用于给定层次的协议的对等过程。

发送端:每一层都把从上层传来的报文加上自己的控制信息(封装),并将整个分组传给直接下层。

接收端:报文被一层一层地打开(解封装);每一层接收并提取对它有意义的数据。

        层间接口定义了该层必须向上层提供的信息和服务,良好定义的接口和层功能可使网络高度模块化,具有很好的可维护性。

图2.4  使用OSI模型的传输过程

三、OSI模型的各层功能

        物理层:在物理介质上传输位流所必需的功能。定义了接口与传输介质的机械和电气特性,以及物理设备和接口为了传输而必须执行的过程和功能。

       · 接口与介质的物理特性;

       · 位的表示:位必须编码成电磁信号,定义编码类型;

      ·  数据速率:比特率;

      ·  位同步:时钟要同步;

      ·  线路配置:设备与介质的连接,点到点或者多点共享;

       · 物理拓扑结构; 传输方式:单工、半双工或全双工

  物理层负责位从一个节点 到另一个节点的传递。

图2.5  物理层

        数据链路层将物理层对数据不作任何改动的传输通道变成可靠的链路,将数据无差错的传递给网络层。

        ·成帧:将网络层的位流划分成帧

        ·物理寻址:帧头部添加相应的物理地址

        ·流量控制:防止接收方过载

        ·差错控制:通常指差错检测和重传,检测与重发损坏帧或丢失帧,还可以防止重复帧

        · 访问控制:链路共享(比如早期以太网的CSMA/CD机制)

 数据链路层负责帧从一跳(节点) 到下一跳(节点)传递。

图2.6  数据链路层

 图2.7  跳到跳的传递

注:三个节点之间交换的帧具有不同的头部值。

        网络负责将分组(packet)从源地址传递到目的地址,可能会通过多个网络(或链路)或多跳。如果两个系统连接在同一条链路上,则通常不需要网络层(就可以完成);然而如果两个系统在不同的网络(链路)上并通过网络(链路)之间的设备连接,就需要网络层以完成源端到目的端的传递。

        ·逻辑寻址

        ·路由选择

        ·可能进行分片(源端-IPv6 或 源端和中间节点-IPv4)和重组(目的端)

  网络层负责将各个分组 从源地址传递到目的地址。

图2.8  网络

图2.9  源到目的传递

        传输层负责整个报文(而不是分组,网络层将每个分组独立处理)进程到进程传递(process-to-process delivery) 

        ·服务点寻址:报文头部包含服务访问点SAP或端口地址

        ·分段和组装:将报文分解成可传输的片段并编号

        ·连接控制:面向连接和无连接

        ·流量控制:端到端流控(区别于数据链路层单条链路的流控)

        ·差错控制:确保报文无差错(端到端全程无差错,注意与数据链路层的区别)

传输层负责报文 从一个进程到另一个进程的传递。

图2.10  传输层

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

注:

        1、网络层:主机到主机的传递 

        2、传输层:进程到进程的传递

        会话层负责对话控制(允许两系统会话及会话方式控制)和同步(增加检查点或同步点)。

图2.12  会话层

        表示层负责翻译、加密和压缩数据。

        应用层负责向用户提供服务。

图2.14  应用层:提供用户接口和服务支持

各层功能小结

 图2.15  各层功能小结

四、TCP/IP协议族

        TCP/IP协议族在OSI模型之前开发,是事实上的互联网标准。TCP/IP协议族的层次与OSI模型的层次并不严格对应—— TCP/IP协议族被定义为四个层次:主机到网络层(或网络接口层)、互联网层、传输层和应用层。

        然而,当将TCP/IP与OSI模型比较时,通常将其分为五层:物理层、数据链路层、网络层、传输层和应用层。

图2.16  TCP/IP和OSI模型

 TCP/IP协议族各层次协议

物理层数据链路层:支持所有标准和专门的协议,支持所有网络类型。

网络:主要协议IP(不可靠、无连接,主机到主机协议)和4个支持协议(ICMP、IGMP和ARP、RARP); 注意:ARP和RARP也可以看成数据链路层的协议。

传输层:TCP、UDP(进程到进程,即端到端协议)和SCTP(面向报文的可靠协议)。

应用层:多种协议,比如http、ftp、smtp、pop3、snmp等,处理应用细节。

五、寻址

        采用TCP/IP协议族的互联网使用4层地址: 物理(链路)地址、逻辑(IP)地址、端口地址和专用地址。

图2.18  TCP/IP的地址与层的关系

物理地址

        物理地址,也称为链路地址,是局域网或广域网定义的节点地址,包含在数据链路层所用的帧中,是最低级的地址。

例2.1:

        在图2.19中,物理地址为10的节点向物理地址为87的节点发送了一个帧。这两个节点通过链路连接(总线结构的局域网),如图所示,物理地址为10的计算机是发送方,物理地址为87的计算机是接收方。

图2.19  物理地址

 例2.2:

        大多数的局域网使用48位(6个字节)的物理地址,这个物理地址被写成12个十六进制的数字;每个字节(2个十六进制数)用冒号分开,如下面所示:

07:01:02:01:2C:4B

6个字节(12个十六进制)物理地址

逻辑地址

        逻辑地址对于全球通信是必须的,它唯一的标识了每台主机(或每个网络接口)。逻辑地址与它下面的物理网络无关,物理地址不适用于互联网的环境,因为不同网络可能有不同的地址格式,为此,设计了逻辑地址,目前包含两种不同类型,分别为IPv4地址和IPv6地址。

例2.3:

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

图2.20  IP地址 

注:跳到跳时物理地址将改变,但逻辑地址保持不变(全局有效)。

图2.21  端口地址:赋予进程的标识符 

注:跳到跳时物理地址将改变, 但是逻辑地址和端口地址保持不变。

例2.5:

        16位端口地址用一个十进制数表示,如下所示:

753

16位端口地址用单个数字表示

专用地址

        某些面向用户的应用设计了专用地址,比如电子邮件地址和Web中的统一资源定位符URL(互联网上标准资源的地址)。


知识点考察

答案:


http://www.ppmy.cn/embedded/173942.html

相关文章

大型语言模型(LLM)部署中的内存消耗计算

在部署大型语言模型(LLM)时,显存(VRAM)的合理规划是决定模型能否高效运行的核心问题。本文将通过详细的公式推导和示例计算,系统解析模型权重、键值缓存(KV Cache)、激活内存及额外开…

HTML语言的贪心算法

HTML语言的贪心算法:理论与实践 引言 在编程和算法研究中,贪心算法是一种广泛应用的解决问题的方法。它通过对每一阶段选择最优解的方式来构建整个问题的解决方案。贪心算法不一定能在所有情况下得到最优解,但在许多实际问题中,…

【机器学习】基于conda虚拟环境的gcc、g++版本升级

最近在学习大模型部署,需要安装flash-attn,在编译时报错 c: error: unrecognized command line option ‘-stdc17’centos7.9默认gcc最高版本为4.8.5 (base) [rootxx ~]# cat /proc/version Linux version 3.10.0-1160.el7.x86_64 (mockbuildkbuilder.…

MySQL 5.7 vs MySQL 8.0 高频面试题解析

一、基础概念与核心差异 1. 默认字符集的变化 问: MySQL 5.7 和 8.0 的默认字符集有何不同?为什么要修改? 答: MySQL 5.7 默认字符集为 latin1,可能导致中文乱码。MySQL 8.0 默认改为 utf8mb4(支持4字节…

深度探索DeepSeek部署的安全底线

摘要 在本地部署DeepSeek时,必须严格遵守安全底线。攻击者可能通过服务接口对DeepSeek模型数据进行篡改,包括删除模型或修改模型训练数据。此外,攻击者还可能注入恶意代码或删除关键组件,从而导致服务崩溃。因此,在部署…

【综述】An Introduction to Vision-Language Modeling【二】

介绍 第一节的内容 该文章对视觉语言模型进行介绍,解释了什么是视觉语言模型,怎么训练的,如果基于各种研究目标来有效评估它。这项工作不是一个现有工作的综述,而是对视觉语言模型进行清晰易理解的介绍,以便更好入门…

烽火HG680-KB_海思HI3798MV310_安卓9.0_U盘强刷固件包及注意点说明

之前发布过这个固件包,关于烽火HG680-KA/HG680-KB_海思HI3798MV310_安卓9.0_U盘强刷固件包详细说明一下,汇总总结一些常遇到的情况,这次固件会分开发布,以免混淆。 上一个帖子地址:烽火HG680-KA&#xff0…

OpenGL 将屏幕上的二维坐标转换为三维空间中的一个点

本文主要介绍将屏幕上的二维坐标转换为三维空间中的一个点,该点位于 近 平面上(即 Z 坐标为 -1)。 一、步骤概述 屏幕坐标到标准化设备坐标 (NDC): 将屏幕坐标 (x, y) 转换为 NDC 坐标系。NDC 到相机空间: 使用逆投影矩阵将 NDC 坐标转换到相…