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

news2024/10/2 18:21:13

全是文字

比较枯燥

建议视频

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位的数据包,确认连接已成功建立。通过成功完成三次握手,可以在两台计算机之间可靠地传输数据。任何在传输过程中丢失或损坏的数据都会被重新发送,从而导致看起来无损失的连接。

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

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

相关文章

3dmax效果图渲染出现曝光怎么解决?

在使用3ds Max完成效果图渲染工作时,有时会遇到曝光过度的问题,这会使得渲染的图像出现光斑或者过亮,损害了效果的真实感和美观度。那么解决解决3dmax曝光问题呢?一起看看吧! 3dmax效果图渲染出现曝光解决方法 1、相机…

yml配置文件怎么引用pom.xml中的属性

目录 前言配置测试 前言 配置文件中的一些参数有时要用到pom文件中的属性,做到pom文件变配置文件中也跟着变,那如何才能做到呢,下面咱们来一起探讨学习。 配置 1.首先要在pom.xml中做如下配置,让maven渲染src/main/resources下配…

YOLOv5全网独家首发:Powerful-IoU更好、更快的收敛IoU,效果秒杀CIoU、GIoU等 | 2024年最新IoU

💡💡💡本文独家改进:Powerful-IoU更好、更快的收敛IoU,是一种结合了目标尺寸自适应惩罚因子和基于锚框质量的梯度调节函数的损失函数 💡💡💡MS COCO和PASCAL VOC数据集实现涨点 收录 YOLOv5原创自研 https://blog.csdn.net/m0_63774211/category_1251193…

力扣1143. 最长公共子序列

动态规划 思路: 假设 dp[i][j] 是 text1[0:i] 和 text2[0:j] 最长公共子序列的长度;则 dp[0][j] 0,(空字符串和任何字符串的最长公共子序列的长度都是 0);同理 dp[i][j] 0;状态转移方程&…

腾讯云服务器上发送邮件连接超时

腾讯云会将服务器25端口禁用(腾讯云默认禁用),开启后发送正常 https://console.cloud.tencent.com/secctrl 参考 腾讯云服务器上发送邮件连接超时(无法发送)的相关问题

深度强化学习(王树森)笔记02

深度强化学习(DRL) 本文是学习笔记,如有侵权,请联系删除。本文在ChatGPT辅助下完成。 参考链接 Deep Reinforcement Learning官方链接:https://github.com/wangshusen/DRL 源代码链接:https://github.c…

防御保护---NAT实验

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一. 练习 PC4配置 FW2配置 sys int g0/0/0 ip add 192.168.100.3 24 service-manage all permit sys int l0 ip add 1.1.1.1 24 int g0/0/0 ip add 12.0.0.1 24 int g0/0/2 ip add 21.0.0.1 …

Qlik Sense : Store With Retry (保存重试机制)

Background sometime you cannot store the file directly ,maybe there are another process are reading/storeing the file , so you would need to wait another proecess done and retry . then we come up this solution . 有时您不能直接存储文件,可能还有…

四、Kotlin 表达式

1. 常量 & 变量 1.1 可读写变量(var) var x initValue // x 称为可读写变量注意:当 var 声明的变量做成员属性时,默认提供 setter/getter 方法。 1.2 只读变量(val) val x initValue // x 称为只…

vivado 预设文件、IP设置(_P)、用户参数、以太网时钟处理、GT位置限制、当前可识别板的IP列表

了解预设文件 预设文件有助于在特定配置中自定义IP核心。PS7、axi_emc和当linear_flash或DDR3_SDRAM 界面是在Vivado IP集成商的Board选项卡中选择的。预设文件使用XML格式。preset_file是为特定的Board文件定义的&#xff0c;可以是用于将预设应用于多个IP。 <ip_presets…

[SwiftUI]修改状态栏文字颜色

问题&#xff1a; 如图&#xff0c;在项目 Info.plist 中&#xff0c;将 UIViewControllerBasedStatusBarAppearance 设置为 NO&#xff0c;将UIStatusBarStyle设置为Light Content后&#xff0c;APP的状态栏字体颜色仍然是黑色没变成白色。 修复&#xff1a; https://stacko…

了解WPF控件:TextBlock 常用属性与用法(十一)

掌握WPF控件&#xff1a;TextBlock 熟练常用属性&#xff08;十一&#xff09; TextBlock 一个用于显示静态文本的UI元素&#xff0c;它提供了丰富的格式化选项和灵活性&#xff0c;相比Label控件&#xff0c;TextBlock支持更复杂的文本样式和布局。它可以显示单行或多行文本…

Mediasoup Demo-v3笔记(五)——Mediasoup 的启动

Mediasoup是由两部分组成的&#xff0c;一部分是js的控制模块&#xff0c;一部分是c的传输模块&#xff0c;在这里我们用mediasoup demo的代码开始&#xff0c;分析整个进程的启动过程 1、在mediasoup-demo-3的server.js中&#xff0c;调用启动方法 mediasoup-demo-3是一个dem…

【基础配置】Python2/Python3并存安装配置教程

Nx01 产品简介 Python是一种高级的、解释型的、面向对象的通用编程语言&#xff0c;具有简单易学、代码可读性强、功能强大、可移植性好等特点。它可以应用于多种领域&#xff0c;如Web开发、数据科学、人工智能、机器学习、科学计算、自动化测试等。Python由Guido van Rossum于…

Python邮件封装

一、smtplib库 是SMTP 简单邮件传输协议的操作模块&#xff0c;发送邮件时起到服务器之间的通信作用。 发送一封邮件分为&#xff1a;设置服务器信息-编写邮件主体信息-进行登录发送 发送一个文本邮件 import smtplib from email.header import Header from email.mime.text…

静态独享长效IP的优点有哪些?静态独享长效IP有哪些应用场景?

随着互联网的不断发展&#xff0c;IP地址作为网络通信中的重要标识&#xff0c;其重要性日益凸显。静态独享长效IP作为一种特殊的IP地址类型&#xff0c;具有许多优点&#xff0c;适用于多种应用场景。本文将详细介绍静态独享长效IP的优点以及适用场景。 一、静态独享长效IP的优…

RegGAN:打破医学图像转换困境 --- 数据未对齐、噪声干扰和未配对图像

RegGAN&#xff1a;打破医学图像转换困境 医学图像转换困境网络结构效果总结 论文&#xff1a;https://arxiv.org/pdf/2110.06465.pdf 代码&#xff1a;https://github.com/Kid-Liet/Reg-GAN.git 医学图像转换困境 一、传统的Pix2Pix方法要求输入图像必须是精确成对且对齐的。…

day32_CSS

今日内容 0 复习昨日 1 css属性 2 盒子模型 【重点】 3 css扩展属性 4 Bootstrap【重点】 0 复习昨日 1 表格标签 table表格里面有tr , (行)行内有单元格,td行合并,rowspan列合并,colspan 2 写出input标签type属性的值 文本框 text 密码框 password 单选框 radio 复选框 checkb…

Sublime Text 3配置 Java 开发环境

《开发工具系列》 《开发语言-Java》 Sublime Text 3配置 Java 开发环境 一、引言二、主要内容1. 初识 Sublime Text 32. 初识 Java3. 接入 Java3.1 JDK 下载3.2 安装和使用 java3.3 环境变量配置 4. 配置 Java 开发环境5. 编写 Java 代码6. 编译和运行 Java 代码7. 乱码问题 三…

PuLP库-多数线性规划问题

投标价格重预算 背景 甲方需要采购一批物资&#xff0c;采购数量为甲方给定的预计采购数量&#xff0c;并限制了采购总价。例甲方采购预算清单如下&#xff0c;采购总预算为不超过 3175 元 采购内容采购数量投标单价投标报价合计电脑10空调20洗衣机8桌子7打印机35合计 注&a…