计算机网络的七层结构、五层结构和四层结构

news2024/11/18 23:28:49

为什么要分层:

        这个就和我们平常写程序一样,高内聚、低耦合。将网络进行分层我们就可以根据每一层的功能分开开发设计,将复杂的网络问题分解为更简单和清晰的小问题,方便设计、实现和标准化。无需在意其他层是如何实现的,再使用时只要调用其接口就好了。

         假如某一时刻某一层的技术得到了大幅度进步,此时直接应用就好了,无需考虑其他层。这样也提高的网络设计的灵活性。

有哪些分层模型:

        由图可得现在流传着三种模型,分别是OSI七层模型、TCP/IP五层模型和四层模型。

其中七层模型是国际化标准组织ISO为了使全世界不同体系结构的计算机能够互联,提出的模型。但是这个模型过于复杂,再某些层之间功能有些冗余,比较不实用,开发效率不高,所以没有被广泛采用。

而TCP/IP四层模型从结构上很明显的可以看出是OSI七层模型的简化版,但二者的核心是很相似的,虽然七层模型是官方提出,但由于四层模型于七层模型更早投入实际开发,所以现今再实际开发中按照的是四层模型。而七层模型几乎只出现在教科书中。

而此时那个TCP/IP五层协议的由来是七层和四层的结合体,因为四层贴近于开发,不易于理解,而七层又过于复杂,所以目前大多教学说的都是TCP/IP五层模型。

各个层的介绍:

我先说一下啊应用层、表示层和会话层。因为这三个层再TCP/IP模型中属于同一个应用层。

  • 应用层:为计算机用户提供服务,因为再这一层就相当于接口了,用户可以之间访问网址调用他所提供的服务了,如http.baidu.com。
  • 表示层:进行数据处理,接受到其他端传来的数据,要再这一层进行对数据的处理,让其能够使用。
  • 会话层:管理(建立、维护、重连)应用程序之间的会话。两个程序进行数据传输要记录状态,例如session就是这层的应用。

        会话层的功能是会话控制和同步,表示层是解决两个系统间交换信息的语法与语义问题,还有数据表示转化(转为主机无关编码),加解密和压缩与解压缩功能。很明显这两层在实际应用中很难保持统一性,应用通常会选择不同的加解密方式,不同的语义和时序,谈不上复用的东西作为协议的一部分自然是没有意义的,所以这两层的功能交给应用开发者作为应用层的一部分功能开发是比较合适的。这些功能可以根据不同的应用需求进行定制和选择。

        因此,将这三个层归为一个层的好处是可以让应用开发者有更多的灵活性和自主性,不需要受限于固定的协议和标准。同时,也可以简化协议的复杂性和开销,提高网络的效率和性能。

  • 传输层:为两台主机进程之间的通信提供通用的数据传输服务。也就是说两台主机间通过这一层的协议规定了发送端是如何发送数据,接受端要怎么接受数据,并将它还原,再这一层中最常见的协议就是TCP和UDP协议了。
  • 数据链路层:再介绍网络层之前我先介绍一下数据链路层,数据链路层就是管理相邻节点之间的通信,因为两个主机一个在中国,一个在俄罗斯,不可能直接就是传输端直接传输数据到接受端,而是通过好多类似于中间节点进行转发。而这一层就是规定相邻节点之间的直接通信的数据传输格式,规则。
  • 网络层:这个层路由和寻址(决定数据在网络中游走的路径),因为两节点之间的通信是经过很多节点转发的,此时这个第一个数据就会带着源ip还有目的ip在网络节点中寻找目的主机,这个寻找的过程就是由网络层的协议决定。
  • 物理层:用物理手段为数据链路提供支持,给节点间传输比特流(01)

        在一开始就只有真正的数据,然后一层层的往下,不断进行包装每一层的协议所需的内容,到了物理层传输。带接受方拿到数据包再根据协议进行拆包,最后拿到真正的数据。进行操作使用

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

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

相关文章

【框架源码篇 04】Spring源码手写篇-Bean定义配置化

Spring源码手写篇-Bean定义配置化 一、Bean定义配置分析 我们前面实现了手写IoC和AOP的功能,但是我们在使用的时候发现我们的调用代码还是非常的繁琐,会给应用者很不好的体验。 上面的代码很直观的看到重复代码很多,要用户设置的内容也很多&…

基于springboot实现学生综合测评系统项目【项目源码+论文说明】

基于springboot实现学生综合测评系统演示 摘要 随着信息化时代的到来,管理系统都趋向于智能化、系统化,学生综合测评系统也不例外,但目前国内仍都使用人工管理,学校规模越来越大,同时信息量也越来越庞大,人…

运营商大数据精准营销,击碎你的固化营销思维

大数据精准营销服务是大数据应用的典型场景之一,也是依托大数据和互联网提升企业效率的一种有效手段。但是,在选择大数据服务的很多时候,企业往往要考虑法律与合规的问题,其中比较重要的是数据获取渠道与数据是否脱敏。在所有大数…

CSS 两栏布局

目录 CSS两栏布局(左列定宽,右列自适应宽) 方法一:浮动margin 方法二:定位margin 方法三:浮动BFC 方法四:Flex布局 方法五:able布局 CSS两栏布局(左列不定宽&#…

一、Qt简介

1. 什么是Qt? Qt是一个基于C的图形用户界面(GUI)开发框架,但图形用户界面并不是Qt的全部,因为Qt还包含了很多非图形化的开发功能:多线程、数据库、图像图形处理、音视频处理、网络通信、文件IO等。 一方面…

【智慧工地源码】基于AI视觉技术赋能智慧工地

伴随着技术的不断发展,信息化手段、移动技术、智能穿戴及工具在工程施工阶段的应用不断提升,智慧工地概念应运而生,庞大的建设规模催生着智慧工地的探索和研发。 建筑施工具有周期长、环境复杂、工序繁杂、人员流动性大等特点,所以…

10个基于.Net开发的Windows开源软件项目

分享10个适合程序员的神器,都是基于.Net开发的,可以用来学习,日常工作也可以使用。(点击标题,查看详情) 1、基于.NET的强大文件格式开源转换工具 一个基于.NET平台的开源文件格式转换工具,可以…

仿写el-upload组件,彻底搞懂文件上传

用了那么久的Upload组件,你知道是怎么实现的么,今天就来仿写一个饿了么el-upload vue组件,彻底搞懂前端的文件上传相关知识! 要实现的props 参数说明action必选参数,上传的地址headers设置上传的请求头部multiple是否…

Linux内存管理(2):memblock

一、memblock分配器初始化 在内核初始化过程中也需要分配内存,使用的页帧分配器叫memblock(早期的内核版本使用BootMem,新版本内核已不再用)。 memblock是系统启动过程中的一个中间阶段的内存管理, 负责在系统上电到内核内存管理模型初始化之前这段时间的物理内存分配、预留…

mac 升级node到指定版本

node版本14.15.1升级到最新稳定版18.18.2 mac系统 先查看一下自己的node版本 node -v开始升级 第一步 清除node的缓存 sudo npm cache clean -f第二步 安装n模块【管理模块 n是管理 nodejs版本】 sudo npm install -g n第三步升级node sudo n stable // 把当前系统的 Node…

C++初阶(五)类和对象

文章目录 一、C两大类型二、类的6个默认成员函数三、构造函数1、概念2、特性1、构造函数自动调用特性演示2、无参有参调用两种情况演示3、函数重载演示4、默认构造函数组成及演示5、内置类型成员不初始化的补丁演示 3、析构函数1、概念2、特性1、代码演示2、析构两种情况 4、构…

Android MQTT连接阿里云使用Json解析数据

Android Studio 连接阿里云订阅主题然后使用JSON解析数据非常好用 导入MQTT的JAR包1、在项目中添加依赖然后使用Studio 去下载库2、直接下载JAR包,然后作为库进行导入 环境验证:给程序进行联网权限XML布局文件效果如下: MainActitive.java 主…

PTrade财务数据获取函数的问题

前文介绍了PTrade的get_fundamentals函数,可以用于获取股票的财务数据。但在实际应用中,会遇到如下的问题。 前文我们通过将回测时间设置为2023-05-05进行回测调用get_fundamentals,得到如下查询结果: secu_codepubl_dateend_da…

ThingsBoard 实现设备认领

1. 设备认领的使用场景 设备认领在一种场景下使用,当租户已经生产好设备时,租户把设备卖给了客户, 客户通过认领的方式将设备划分到自己下面,客户变成设备的拥有者。 2. 设备认领的方式 设备认领的方式存在两种: 设备生成密钥 和 服务端生成密钥 2.1. 设备生成密钥 设备…

Zookeeper+Hadoop+Spark+Flink+Kafka+Hbase+Hive 完全分布式高可用集群搭建(保姆级超详细含图文)

说明: 本篇将详细介绍用二进制安装包部署hadoop等组件,注意事项,各组件的使用,常用的一些命令,以及在部署中遇到的问题解决思路等等,都将详细介绍。 1.环境说明 1.1 ip规划 iphostname192.168.1.11node1192.168.1.…

来看看如何使用Proton_实现网络聚合_利用安全的网络协议实现网络通讯---工具箱工作笔记001

首先要去注册proton.com 注册的时候首先去注册一个proton的邮箱@protonmail.com这个邮箱 注册以后进入,然后选择中文 然后再去下载这个CDN加速网址 去下载了以后 选择左侧免费的就可以了

升级版多功能版在线WEB工具箱PHP源码/在线站长工具箱源码/php多功能引流工具箱源码

源码简介: 升级版多功能版在线WEB工具箱PHP源码,这是最新的在线站长工具箱源码,它是一款PHP多功能引流工具箱源码。作为一个多功能的Web工具PHP脚本,包含45种工具,适用于平常任务和开发人员,或者用来推广引…

公有云厂商---服务对照表

各厂商特点: Compute: Network: Storage: Database: Migration Tool: Identify: WAF: 来源:https://comparecloud.in/

p-limit源码解读--30行代码,高大上解决Promise的多并发问题

背景 提起控制并发,大家应该不陌生,我们可以先来看看多并发,再去聊聊为什么要去控制它 多并发一般是指多个异步操作同时进行,而运行的环境中资源是有限的,短时间内过多的并发,会对所运行的环境造成很大的…

《算法通关村第二关——指定区间反转问题解析》

《算法通关村第二关——指定区间反转问题解析》 题目描述 给你单链表的头指针head和两个整数left和right&#xff0c;其中left < right 。 请你反转从位置left到位置right的链表节点&#xff0c;返回反转后的链表。 示例1&#xff1a; 输入&#xff1a; head [1,2,3,4,5…