THM学习笔记——OSI模型和TCP/IP模型

全是文字

比较枯燥

建议视频

OSI模型由七个层次组成:

第7层 -- 应用层:

OSI模型的应用层主要为在计算机上运行的程序提供网络选项。它几乎专门与应用程序一起工作,为它们提供一个界面以用于传输数据。当数据传递到应用层时,它会被传递到表示层。

第6层 -- 表示层:

表示层从应用层接收数据。这些数据通常以应用程序理解的格式呈现,但不一定是接收计算机中应用层能够理解的标准化格式。表示层将数据转换为标准化格式,并处理数据的任何加密、压缩或其他转换。完成这些步骤后,数据传递到会话层。

第5层 -- 会话层:

当会话层从表示层接收到正确格式的数据时,它会尝试与网络中的另一台计算机建立连接。如果无法建立连接,则发送错误消息,过程就此中止。如果可以建立会话,则会话层的任务是维护连接,并与远程计算机的会话层合作,以同步通信。会话层特别重要,因为它创建的会话是与相关通信唯一对应的。这就允许你同时向不同端点发出多个请求,而无需混淆所有数据,当会话层成功记录主机和远程计算机之间的连接后,数据传递到第4层:传输层。

第4层 -- 传输层:

它的第一个目的是选择要传输数据的协议。传输层中最常见的两种协议是TCP和UDP;使用TCP时,传输是基于连接的,这意味着建立并保持了计算机之间的连接,以便在请求的整个过程中进行通信。这允许可靠的传输,因为连接可用于确保所有数据都到达正确的位置。TCP连接使两台计算机能够保持持续通信,以确保数据以可接受的速度发送,并重新发送任何丢失的数据。与之相反,使用UDP时情况正好相反;数据包基本上被抛给接收计算机 -- 如果它跟不上,那就是它的问题。这意味着TCP通常会用于对准确性更看重的情况(例如文件传输或加载网页),而UDP则用于更看重速度的情况(例如视频流)。

选择了协议后,传输层将传输分解成一小块一小块的部分(在TCP中称为段,在UDP中称为数据报),这使得成功传输消息变得更容易。

第3层 -- 网络层:

网络层负责找到请求的目标。例如,互联网是一个庞大的网络;当你要从网页请求信息时,网络层会获取页面的IP地址并找到最佳路由。在这个阶段,我们使用的是所谓的逻辑寻址(即IP地址),这仍然受软件控制。逻辑地址用于为网络提供顺序,对其进行分类并允许我们正确地对其进行排序。目前最常见的逻辑寻址形式是IPV4格式。

第2层 -- 数据链路层:

数据链路层关注传输的物理寻址。它从网络层接收一个包(其中包含远程计算机的IP地址)并添加接收端的物理(MAC)地址。每台启用网络的计算机内都有一张网卡(NIC),带有用于标识它的唯一MAC地址。

MAC地址由制造商设置,并被烧录到卡中;它们无法更改,尽管可以伪造。当信息通过网络发送时,实际上是物理地址用于标识从何处发送信息。

此外,数据链路层的任务还包括以适合传输的格式呈现数据。

当数据链路层接收数据时,它还扮演着重要的角色,因为它检查接收到的信息,以确保在传输过程中未损坏,而这在数据被传输的第1层:物理层时可能发生。

第1层 -- 物理层:

物理层涉及到计算机的硬件。这是数据在网络上传输时发送和接收的电脉冲所在的地方。物理层的任务是将传输的二进制数据转换为信号并将其传输到网络,以及接收传入信号并将其转换回二进制数据。

随着数据在模型的每一层传递下去,都会添加有关特定层的细节的信息到传输的起始位置。例如,网络层添加的标头将包括源和目标IP地址,传输层添加的标头将包括有关所选协议的信息。数据链路层在传输结束时还添加了一段用于验证传输时数据未被损坏;这也具有增加安全性的附加优势,因为数据无法在不破坏封套的情况下被拦截和篡改。整个过程被称为封装;这是从一台计算机发送数据到另一台计算机的过程。

请注意,在整个过程中,封装的数据在不同步骤中被赋予不同的名称。在第7、6和5层,数据简称为数据。在传输层,封装的数据称为段或数据报(取决于选择了TCP还是UDP作为传输协议)。在网络层,数据称为数据包。当数据包传递到数据链路层时,它变成了帧,到达网络时,帧已经被分解为位。

当消息被第二台计算机接收时,它会反转这个过程 -- 从物理层开始工作,直到达到应用层为止,并在过程中剥离附加的信息。这被称为*去封装*。因此,可以将OSI模型的各个层视为每台具有网络功能的计算机内的存在。虽然实际上并非如此清晰,但所有计算机都遵循相同的封装过程以发送数据,并在接收时进行去封装。

TCP/IP模型在许多方面与OSI模型非常相似。它比OSI模型早几年,并且是实际网络的基础。TCP/IP模型包括四个层次:应用、传输、互联网和网络接口。它们共同涵盖了OSI模型的七个层次的相同功能范围。

这两个模型大致如下匹配:

封装和去封装的过程在TCP/IP模型中与OSI模型完全相同。在TCP/IP模型的每一层,都会在封装期间添加标头,并在去封装期间删除标头。

分层模型作为一种视觉辅助工具非常好用 -- 它向我们展示了数据如何封装并通过网络发送的一般过程,但它实际上是如何发生的呢?

当我们谈论TCP/IP时,考虑到一个具有四个层次的表格是很好的 -- 它向我们展示了一个协议套件 -- 定义了如何执行某项操作的一组规则。TCP/IP的名称来自于其中两个最重要的协议:传输控制协议控制两个端点之间数据流的协议,以及互联网协议,它控制如何寻址和发送数据包。

如前所述,TCP是一种基于连接的协议。换句话说,在通过TCP发送任何数据之前,必须首先在两台计算机之间形成一个稳定的连接。形成这种连接的过程被称为三次握手。

当您尝试建立连接时,您的计算机首先向远程服务器发送一个特殊请求,指示它想要初始化一个连接。此请求包含一种称为SYN的位,它在启动连接过程中实质上是首次接触。服务器然后会用包含SYN位以及另一个称为ACK的“确认”位的数据包响应。最后,您的计算机将发送一个仅包含ACK位的数据包,确认连接已成功建立。通过成功完成三次握手,可以在两台计算机之间可靠地传输数据。任何在传输过程中丢失或损坏的数据都会被重新发送,从而导致看起来无损失的连接。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大数据Doris(五十九):SQL函数之字符串函数(三)

文章目录 SQL函数之字符串函数(三) 一、​​​​​​​NULL_OR_EMPTY (VARCHAR str)

防御保护---防火墙(安全策略、NAT策略实验)

防御保护---防火墙(安全策略、NAT策略实验) 1.实验需求2.实验说明及思路3.实验配置3.1 配置IP地址以及VLAN3.2 配置防火墙IP地址及划分区域3.3 配置防火墙安全策略3.4 配置防火墙NAT策略 1.实验需求 1.生产区在工作时间内可以访问服务器区,仅…

Adobe XD 57.1.12.2软件安装教程(附软件下载地址)

软件简介: 软件【下载地址】获取方式见文末。注:推荐使用,更贴合此安装方法! Adobe XD 57.1.12.2是一款功能强大的图形化界面UI/UX设计工具,它集成了原型设计、界面设计和交互设计等功能。无论是网站还是移动应用程序…

代码随想录算法训练营第14天| Leetcode 102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树

目录 Leetcode 102.二叉树的层序遍历 Leetcode 226.翻转二叉树 Leetcode 101.对称二叉树 Leetcode 102.二叉树的层序遍历 题目链接:Leetcode 102.二叉树的层序遍历 题目描述:给你二叉树的根节点root ,返回其节点值的 层序遍历 。 &#xff…

Unity学习之坦克游戏制作(2)游戏场景的制作

文章目录 1. 基础场景的搭建2. 游戏主面板2.1 拼出面板2.2 创建新面板2.3 设置面板复用2.4 退出界面 3. 坦克基类3.1 创建基类脚本3.1.1 基类基本属性3.1.2 抽象开火函数3.1.3 受伤虚函数3.1.4 死亡虚函数 4 玩家——基础移动旋转摄像机跟随4.1 玩家对象脚本4.2 控制坦克移动4.…

【Docker】实战案例 - CI/CD

作者主页: 正函数的个人主页 文章收录专栏: Docker 欢迎大家点赞 👍 收藏 ⭐ 加关注哦! CI/CD 持续集成(Continuous integration) 是一种软件开发实践,每次集成都通过自动化的构建(包括编译,发…

Dockerfile里ADD * 保留原来的目录结构

1、问题 给新模块写Dockerfile,很多静态资源分散在各个目录,于是Dockerfile里我直接一句: ADD ./* /dest/镜像出来后,启动容器,进入容器种后发现:文件拷贝成功,但原来的目录结构都不在了&…

Rabbitmq调用FeignClient接口失败

文章目录 一、框架及逻辑介绍1.背景服务介绍2.问题逻辑介绍 二、代码1.A服务2.B服务3.C服务 三、解决思路1.确认B调用C服务接口是否能正常调通2.确认B服务是否能正常调用A服务3.确认消息能否正常消费4.总结 四、修改代码验证1.B服务异步调用C服务接口——失败2.将消费消息放到C…

2024水资源、智慧城市与绿色发展国际会议(ICWRSCGD 2024)

2024水资源、智慧城市与绿色发展国际会议(ICWRSCGD 2024) 会议简介 2024年国际水资源、智慧城市与绿色发展大会(ICWRSCGD 2024)将在中国杭州举行。会议聚焦“水资源、智慧城市、绿色发展”这一最新研究领域,致力于促进世界顶级创新者、科学…

01 Redis的特性+下载安装启动

1.1 NoSQL NoSQL(“non-relational”, “Not Only SQL”),泛指非关系型的数据库。 键值存储数据库 : 就像 Map 一样的 key-value 对。如Redis文档数据库 : NoSQL 与关系型数据的结合,最像关系…

代码随想录算法训练营第十一天 | 二叉树基础

代码随想录算法训练营第十一天 | 二叉树基础 文章目录 代码随想录算法训练营第十一天 | 二叉树基础1 二叉树的理论基础1.1 二叉树的类型1.2 二叉树的存储方式1.3 二叉树的遍历方式1.4 二叉树的定义 2 二叉树的递归遍历2.1 前序遍历2.2 中序遍历2.3 后序遍历 3 二叉树的迭代遍历…

C++特殊类的设计

目录 一、不能被拷贝的类 二、只能在堆上创建对象的类 三、只能在栈上创建对象的类 四、不能被继承的类 五、只能创建一个对象的类(单例模式) 下面说几种特殊要求的类的设置,主要学习其中所运用的一些思想,融会贯通 一、不能被拷贝的类 C98可以将拷…

高质量谷歌seo外链平台有哪些?

明确的说,没有任何必要,这里说的没必要指的是没必要寻找什么高质量的外链平台 所谓高质量的外链平台是什么?你期待在这种平台发外链能获得什么效果?高质量的外链平台,无非就是网站排名高,能发相关的外链的平…

iOS推送通知

文章目录 一、推送通知的介绍1. 简介2. 通知的分类 二、本地通知1. 本地通知的介绍2. 实现本地通知3. 监听本地通知的点击 三、远程通知1. 什么是远程通知2. 为什么需要远程通知3. 远程通知的原理4. 如何做远程通知5. 远程通知证书配置6. 获取远程推送要用的 DeviceToken7. 测试…

外贸SOHO产品怎么选?海洋建站选品方法?

外贸SOHO应该如何选产品?跨境电商独立站选品策略? 越来越多的人选择通过外贸SOHO创业,将业务拓展到国际市场。然而,面对琳琅满目的外贸SOHO产品,许多初创企业主可能会感到困惑。海洋建站将为您提供一些建议&#xff0…

直播核心岗位基础内容

一.直播间核心岗位 1.直播间前端岗位 前端岗位分工 (1)主播岗位职责 (2)场控岗位职责 (3)助理岗位职责 中端岗位分工 (1)运营岗位职责 (2)中控岗位职责 …

2024年Java SpringBoot 计算机软件毕业设计题目推荐

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作✌ 主要内容:SpringBoot、Vue、SSM、HLM…

Hbuilder从gitlab上面拉取项目

要先下载TortoiseGit-2.15.0.0-64bit这个软件 在HBuilder中从GitLab上拉取项目,请按照以下步骤操作: 1. 打开HBuilder,点击左上角的“文件”菜单,然后选择“新建”->“项目”。 2. 在弹出的对话框中,选择“从Git导…

解决 [Vue warn]:Avoid mutating a prop directly 警告

错误信息 [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop’s value. Prop being mutated: “xxx” 错误原因 所有的 prop 都使得…

vue中使用canvas给图片绘制水印,即使下载图片也是带水印的

先看效果 话不多说直接上组件 1、Watermark.vue <template><div><canvas ref"canvas" :width"width" :height"height"></canvas></div> </template><script>export default {props: {// 图片地址ur…