系统分析师-参考模型

news2024/11/26 9:35:59

前言

网络术语中的参考模型指的是OSI参考模型,由ISO(国际标准化组织)制定的一套普遍适用的规范集合,以使得全球范围的计算机平台可进行开放式通信。
ISO创建了一个有助于开发和理解计算机的通信模型,即开放系统互联OSI参考模型。OSI参考模型将网络结构划分为七层:即物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层均有自己的一套功能集,并与紧邻的上层和下层交互作用。在顶层,应用层与用户使用的软件进行交互。在OSI参考模型的底端是携带信号的网络电缆和连接器。总的说来,在顶端与底端之间的每一层均能确保数据以一种可读、无错、排序正确的格式被发送。OSI参考模型是对发生在网络中两节点之间过程的理论化描述。

一、OSI参考模型

  • 物理层
    物理层是OSI参考模型的最低层或第一层,该层包括物理联网媒介,如电缆连线连接器。物理层的协议产生并检测电压以便发送和接收携带数据的信号。在你的桌面PC上插入网络接口卡,你就建立了计算机连网的基础。换言之,你提供了一个物理层。尽管物理层不提供纠错服务,但它能够设定数据传输速率并检测数据出错率。网络物理问题,如电线断开,将影响物理层。同样地,如果你没有将网络接口卡在计算机的电路板中插得足够深,计算机也将在物理层出现网络问题。
    IEEE已制定物理层协议的标准,特别IEEE802规定了以太网和令牌环网应如何处理数据。术语“第一层协议”和“物理层协议”,均是指描述电信号如何被放大及通过电线传输的标准。
  • 数据链路层
    数据链路层是OSI参考模型的第二层,它控制网络层与物理层之间的通信。它的主要功能是将从网络层接收到的数据分割成特定的可被物理层传输的帧。帧是用来移动数据的结构包,它不仅包括原始数据,或称“有效荷载”,还包括发送方和接收方的网络地址以及纠错和控制信息。其中的地址确定了帧将发送到何处,而纠错和控制信息则确保帧无差错到达。
    数据链路层的功能独立于网络和它的节点和所采用的物理层类型,由于它们要对帧解码并使用帧信息将数据发送到正确的接收方,所以它们是工作在数据链路层的。
  • 网络层
    网络层,即OSI参考模型的第三层,其主要功能是将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方。网络层通过综合考虑发送优先权、网络拥塞程度、服务质量以及可选路由的花费来决定从一个网络中节点A到另一个网络中节点B的最佳路径。
    由于网络层处理路由,而路由器因为即连接网络各段,并智能指导数据传送,属于网络层。在网络中,“路由”是基于编址方案、使用模式以及可达性来指导数据的发送。网络层协议还能补偿数据发送、传输以及接受的设备能力的不平衡性。为完成这一任务,网络层对数据包进行分段和重组。分段即是指当数据从一个能处理较大数据单元的网络段传送到位能处理较小数据单元的网络段是,网络层减小数据单元的大小的过程。
  • 传输层
    传输层主要负责确保数据可靠、顺序、无错地从A点到传输到B点。因为如果没有传输层,数据将不能接受发给验证或解释,所以,传输层常被认为是OSI参考模型中最重要的一层。传输协议同时进行流量控制或是基于接收方可接受数据的快慢程度规定适当的发送速率。
    除此之外,传输层按照网络能处理的最大尺寸将较长的数据包进行强制分割,例如,以太网无法接受1500字节的数据包。发送方节点的传输层将数据分割成较小的数据片,同时对每一数据片安排一系列好,以便数据到达接收方节点的传输层时,能以正确的顺序重组。该过程即被称为排序。
  • 会话层
    会话层负责在网络中的两节点之间建立和维持通信。术语“会话”指在两个实体之间建立数据交换的连接;常用于表示终端与主机之间的通信。所谓终端时指将几乎不具有自己的处理能力或硬盘容量,而只依靠主机提供应用程序和数据处理服务的一点之间的对话,决定通信是否被中断以及通信中断时决定从何处重新发送。
  • 表示层
    表示层如同应用程序和网络之间的翻译官,在表示层,数据将按照网络能理解的方案进行格式化;这种格式化也因所使用网络的类型不同而不同。表示层管理数据的解密与加密,表示层协议还对图片和文件格式信息进行解码和编码。
  • 应用层
    OSI参考模型的顶端也即第七层是应用层。应用层负责对软件提供接口以使程序能适应网络服务。术语“应用层”并不是指运行在网络上的某个特别应用程序。应用层提供的服务包括文件传输、文件管理以及电子邮件的信息处理。
    在这里插入图片描述

二、TCP/IP参考模型

  1. 应用层
    应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等.
  2. 传输层
    传输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP).
    TCP协议提供的是一种可靠的、通过“三次握手”来连接的数据传输服务;而UDP协议提供的则是不保证可靠的(并不是不可靠)、无连接的数据传输服务.
  3. 网际互联层
    网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。注重重新赋予主机一个IP地址来完成对主机的寻址,它还负责数据包在多种网络中的路由。该层有三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。
    IP协议是网际互联层最重要的协议,它提供的是一个可靠、无连接的数据报传递服务。
  4. 网络接入层(即主机-网络层)
    网络接入层与OSI参考模型中的物理层和数据链路层相对应。它负责监视数据在主机和网络之间的交换。事实上,TCP/IP本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。地址解析协议(ARP)工作在此层,即OSI参考模型的数据链路层。

在这里插入图片描述

三、模型比较

  • 共同点
    (1)OSI参考模型和TCP/IP参考模型都采用了层次结构的概念。
    (2)都能够提供面向连接和无连接两种通信服务机制。
  • 不同点
    (1)OSI采用的七层模型,而TCP/IP是四层结构。
    (2)TCP/IP参考模型的网络接口层实际上并没有真正的定义,只是一些概念性的描述。而OSI参考模型不仅分了两层,而且每一层的功能都很详尽,甚至在数据链路层又分出一个介质访问子层,专门解决局域网的共享介质问题。
    (3)OSI模型是在协议开发前设计的,具有通用性。TCP/IP是先有协议集然后建立模型,不适用于非TCP/IP网络。
    (4)OSI参考模型与TCP/IP参考模型的传输层功能基本相似,都是负责为用户提供真正的端对端的通信服务,也对高层屏蔽了底层网络的实现细节。所不同的是TCP/IP参考模型的传输层是建立在网络互联层基础之上的,而网络互联层只提供无连接的网络服务,所以面向连接的功能完全在TCP协议中实现,当然TCP/IP的传输层还提供无连接的服务,如UDP;相反OSI参考模型的传输层是建立在网络层基础之上的,网络层既提供面向连接的服务,又提供无连接的服务,但传输层只提供面向连接的服务。
    (5)OSI参考模型的抽象能力高,适合与描述各种网络;而TCP/IP是先有了协议,才制定TCP/IP模型的。
    (6)OSI参考模型的概念划分清晰,但过于复杂;而TCP/IP参考模型在服务、接口和协议的 区别上不清楚,功能描述和实现细节混在一起。
    (7)TCP/IP参考模型的网络接口层并不是真正的一层;OSI参考模型的缺点是层次过多,划分意义不大但增加了复杂性。
    (8)OSI参考模型虽然被看好,由于没把握好时机,技术不成熟,实现困难;相反,TCP/IP参考模型虽然有许多不尽人意的地方,但还是比较成功的。

四、相关考点

TCP

TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。
在这里插入图片描述

  1. TCP报文格式
    固定长度20字节,可变长度40字节。TCP的最大报文段长度即MSS一般是1460字节(1500MTU-20IP Head-20TCP Head)。MSS(最大分段大小)指数据的长度最大1460字节
  2. ACK确认机制
  3. TCP会话建立——三次握手
  4. TCP会话结束——四次握手
  5. TCP流量控制——滑动窗口协议
  6. TCP可靠传输机制

UDP

UDP无面向连接服务DLNS
无面向连接服务——在通信前要不需要建立会话连接,直接开始传输数据,不可靠

UDP适用场景

传输小数据包的场景(UDP不会主动重传,只有接收方重新申请时才会重传)

对实时性要求高的场景(直播比赛等)

报文格式
在这里插入图片描述

源端口 Source port

标识哪个应用程序发送的

目标端口 Destination Port

标识哪个应用程序接收的

长度 Length

UDP头部+UDP数据的字节数,最小为8字节

检验和 Checksum

对头部和内容进行校验

IP协议

IP信息包传送
IP是网络之间信息传送的协议,可将IP信息包从源设备(例如用户的计算机)传送到目的设备(例如某部门的www服务器)。为了达到这样的目的,IP必须依赖IP地址与IP路由器两种机制来实现。
IP地址
IP规定网络上所有的设备都必须有一个独一无二的IP地址,就好比是邮件上都必须注明收件人地址,邮递员才能将邮件送到。同理,每个IP信息包都必须包含有目的设备的IP地址,信息包才可以正确地送到目的地。同一设备不可以拥有多个IP地址,所有使用IP的网络设备至少有一个唯一的IP地址。
IP路由
互联网是由许多个网络连接所形成的大型网络。如果要在互联网中传送IP信息包,除了确保网络上每个设备都有一个唯一的IP地址之外,网络之间还必须有传送的机制,才能将IP信息包通过一个个的网络传送到目的地。此种传送机制称为IP路由。
各个网络通过路由器相互连接。路由器的功能是为IP信息包选择传送的路径。换言之,必须依靠沿途各路由器的通力合作,才能将IP信息包送到目的地。在IP路由的过程中,由路由器负责选择路径,IP信息包则是被传送的对象。
IP地址与IP路由是IP信息包传送的基础。此外,IP信息包传送时还有一项很重要的特性,即使用非连接式的传送方式。非连接式的传送方式是指IP信息包传送时,源设备与目的设备双方不必事先连接,即可将IP信息包送达。即源设备完全不用理会目的设备,而只是单纯地将IP信息包逐一送出。至于目的设备是否收到每个信息包、是否收到正确的信息包等,则由上层的协议(例如TCP)来负责检查。
使用非连接式的优点是过程简单化,可提高传输的效率。此外,由于IP信息包必须通过IP路由的机制,在一个个路由器之间传递,非连接式的传送方式较易在此种机制中运行。
相对于非连接式的传送方式,也有连接式的传送方式,也就是源与目的设备双方必须先建立连接,才能进一步传输数据,TCP就是使用连接式的传送方式

数据包的传输过程

通过http发起一个请求时,应用层、传输层、网络层和链路层的相关协议依次对该请求进行包装并携带对应的首部,最终在链路层生成以太网数据包,以太网数据包通过物理介质传输给对方主机,对方接收到数据包以后,然后再一层一层采用对应的协议进行拆包,最后把应用层数据交给应用程序处理。

网络通信就好比送快递,商品外面的一层层包裹就是各种协议,协议包含了商品信息、收货地址、收件人、联系方式等,然后还需要配送车、配送站、快递员,商品才能最终到达用户手中。

一般情况下,快递是不能直达的,需要先转发到对应的配送站,然后由配送站再进行派件。

配送车就是物理介质,配送站就是网关, 快递员就是路由器,收货地址就是IP地址,联系方式就是MAC地址。

快递员负责把包裹转发到各个配送站,配送站根据收获地址里的省市区,确认是否需要继续转发到其他配送站,当包裹到达了目标配送站以后,配送站再根据联系方式找到收件人进行送件。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1554344.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

openwrt 编译mysql数据库固件,并调用

前言 openwrt 编译源码mysql数据库,并编写demo调用 一、整体架构设计 作者要做一个项目,没有后端服务,只有一个电脑,需要在电脑上安装mysql服务端。然后在设备上安装mysql客户端。 二、PC安装mysql 1.官网链接 自行百度安装&a…

一文彻底搞懂spring循环依赖

文章目录 1. 什么是循环依赖2. Spring怎么解决循环依赖3. 无法处理的循环依赖 1. 什么是循环依赖 Spring 中的循环依赖是指两个或多个 Bean 之间相互依赖,形成一个循环引用的情况。在 Spring 容器中,循环依赖通常指的是单例(Singleton&#…

使用 Idea 快速搭建 SpringMVC 项目的详细步骤

一、开篇 SpringMVC 是一款当下流行的优秀的 MVC 框架,关于 MVC 的概念、作用、优点等内容介绍,在作者之前的一篇 Chat 《深入理解 MVC 框架原理:自定义 Struts2 框架》中有详细的描述。描述了关于另一款主流 MVC 框架的原理介绍,…

Docker-Container

Docker ①什么是容器②为什么需要容器③容器的生命周期容器 OOM容器异常退出容器暂停 ④容器命令清单总览docker createdocker rundocker psdocker logsdocker attachdocker execdocker startdocker stopdocker restartdocker killdocker topdocker statsdocker container insp…

unrealbuildtool 无法找到,执行 Generate Visual Studio Project 错误

参考链接 Generate cpp project Couldnt find UnrealBuildTool - Pipeline & Plugins / Plugins - Epic Developer Community Forums (unrealengine.com) 错误提示如下图: 解决方案: 打开 UnrealBuildTool,生成解决方案就可以了

学习Fast-LIO系列代码中相关概念理解

目录 一、流形和流形空间(姿态) 1.1 定义 1.2 为什么要有流形? 1.3 流形要满足什么性质? (1) 拓扑同胚 (2) 可微结构 1.4 欧式空间和流形空间的区别和联系? (1) 区别: (2) 联系: 1.5 将姿态定义在流形上比…

【Python实用标准库】argparser使用教程

argparser使用教程 1.介绍2.基本使用3.add_argument() 参数设置4.参考 1.介绍 (一)argparse 模块是 Python 内置的用于命令项选项与参数解析的模块,其用主要在两个方面: 一方面在python文件中可以将算法参数集中放到一起&#x…

CavalierContours 二维线操作

CavalierContours 二维线操作 2D polyline library for offsetting, combining, etc. 用于偏移、交并补等组合等操作的 2D 多折段线库。 Polyline Structure 多段线结构 Polylines are defined by a sequence of vertexes and a bool indicating whether the polyline is cl…

关系型数据库mysql(7)sql高级语句①

目录 一.MySQL常用查询 1.按关键字(字段)进行升降排序 按分数排序 (默认为升序) 按分数升序显示 按分数降序显示 根据条件进行排序(加上where) 根据多个字段进行排序 ​编辑 2.用或(or&…

【C语言】内存函数(memmove)的使用和模拟实现

目录 前言memmove定义1.在cplusplus中的定义 memmove的模拟实现1、思路2、难点3、解决方法 模拟实现代码 前言 这篇文章讲述了memcpy的使用、模拟实现和一个未解决的问题内存函数(memcpy)的使用和模拟实现 当我们使用我们模拟的my_memcpy拷贝,当源拷贝地址与目标拷…

C语言编译与链接

前言 我们想一个问题,我们写的C语言代码都是文本信息,电脑能直接执行c语言代码吗?肯定不能啊,计算机能执行的是二进制指令,所以将C语言转化为二进制指令需要一段过程,这篇博客讲一下编译与链接,…

ISAC代码仿真学习笔记

文章目录 A. MIMO Communication ModelB. MIMO Radar Model III. Joint Waveform and Phase Shift Matrix Design for Given Radar BeampatternA. Problem FormulationB. Proposed Algorithm IV. JOINT DESIGN WITH TRADE-OFF BETWEEN RADAR AND COMMUNICATION PERFORMANCEA. P…

boost::asio::ip::tcp/udp::socket::release 函数为什么限制 Windows 8.1 才可以调用?

如本文题目所示,这是因为只有在 Windows 8.1(Windows Server 2012 RC)及以上 Windows 操作版本才提供了运行时,修改/删除完成端口关联的ABI接口。 boost::asio 在 release 函数底层实现之中是调用了 FileReplaceCompletionInform…

Ubuntu20安装python3.10

1、添加 deadsnakes PPA 到源列表 add-apt-repository ppa:deadsnakes/ppa apt update 2、安装 apt install python3.10 3设置默认版本为 Python3.10 查看所有python版本 ls -l /usr/bin/python* update-alternatives --install /usr/bin/python3 python3 /usr/bin/pytho…

java-pytorch 使用手动下载FashionMNIST数据集进行测试

java-pytorch 使用手动下载FashionMNIST数据集进行测试 先定义训练数据和测试数据的位置查看一下读取到的标签数据格式使用loc和iloc访问下数据,便于下面操作使用read_image函数查看下图片的数据大小开始写数据集使用DataLoader去加载我们自己的数据看下加载后的dat…

亚马逊跨境电商迎来崭新时代,武汉星起航携手卖家共赴新征程

随着全球经济一体化的深入发展,跨境电商已成为推动国际贸易的重要力量。据最新数据显示,2023年中国跨境电商出口规模达到1.83万亿元,同比增长19.6%,增速远超电商行业整体水平。在这一背景下,2024年有望成为中国跨境电商…

ForkJoinPool、CAS原子操作

ForkJoinPool ForkJoinPool是由JDK1.7后提供多线程并行执行任务的框架。可以理解为一种特殊的线程池。 1.任务分割:Fork(分岔),先把大的任务分割成足够小的子任务,如果子任务比较大的话还要对子任务进行继续分割。 …

构造器练习

练习一 题目 案例: (1)定义Student类,有4个属性:String name;int age;String school;String major;(2)定义Student类的3个构造器:- 第一个构造器Student(String n, int a)设置类的name和age属性; - 第二个构造器Student(String n, int a, St…

大话设计模式之策略模式

策略模式是一种行为设计模式,它允许在运行时选择算法的行为。这种模式定义了一族算法,将每个算法都封装起来,并且使它们之间可以互相替换。 在策略模式中,一个类的行为或其算法可以在运行时改变。这种模式包含以下角色&#xff1…

2024/3/29 IOday2

所有人&#xff0c;今日作业&#xff1a;用fwrite 和 fseek功能&#xff0c;将一张bmp格式的图片更改成 德国国旗 #include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, const char *argv[]) {FILE* fpfopen("./rising_free…