前端开发之计算机网络模型认识

上一篇👉: 前端开发之HTTP3

文章目录

  • 网络模型
  • 1.OSI七层模型详解
      • 1.应用层
      • 2.表示层
      • 3.会话层
      • 4.传输层
      • 5.应网络层
      • 6.数据链路层
      • 7.物理层
  • 2.TCP/IP五层协议模型
  • 3.DNS解析过程及缓存
  • 4.HTTP长连接与短连接
  • 5.HTTPS的工作原理及与HTTP区别
        • 工作原理:在HTTP基础上加入SSL/TLS协议,实现数据加密和身份验证,确保数据传输安全。
        • 与`HTTP`区别:
  • 6.HTTPS的优缺点
  • 7.数字签名与数字证书
  • 8.Cookie与Session
  • 9.网络安全与加密技术
      • SSL/TLS协议细节
      • 加密算法
  • 10.网络性能优化
      • TCP拥塞控制
      • HTTP/2与HTTP/3
      • CDN

网络模型

层次OSI七层模型TCP/IP五层模型
应用层提供网络服务给最终用户,如HTTP, FTP, SMTP应用层(包含OSI的会话层、表示层、应用层)
表示层数据的加密、解密、压缩、解压缩等——
会话层管理会话建立、维护、终止等——
传输层提供端到端的连接,如TCP, UDP传输层(功能相同)
网络层负责路径选择和IP寻址,如IP网络层(功能相同)
数据链路层提供介质访问,错误检测,如以太网、PPP网络接入层(数据链路层+物理层)
物理层比特流传输,定义电器、机械特性——

说明:

  • OSI七层模型是理论模型,详细划分了网络通信的每一个步骤,每一层都有明确的功能和职责。
  • TCP/IP五层模型是实际应用中更为常见的模型,它简化了OSI模型,将OSI的会话层和表示层的功能合并到了应用层,同时将数据链路层和物理层合并为网络接入层。

1.OSI七层模型详解

1.应用层

  • 作用:直接面向用户,为用户提供应用服务,如Web浏览、电子邮件、文件传输等。具体协议包括HTTP、HTTPS、FTP、SMTP、POP3等。
  • 举例:当你在浏览器输入网址,应用层通过HTTPHTTPS协议与服务器沟通,获取网页内容。

2.表示层

  • 作用:处理数据的表现形式,如数据加密、压缩、解码等,确保数据以适当的形式呈现给应用层。
  • 举例:发送图片前,使用JPEG格式编码(表示层操作),确保接收端能正确解码显示。

3.会话层

  • 作用:管理会话的建立、维护和结束,提供会话的连续性和同步控制。
  • 举例:视频会议应用中,会话层确保视频流的连续播放,不因短暂网络中断而中断会话。

4.传输层

  • 作用:提供端到端的可靠或不可靠数据传输服务。TCP提供可靠、有序的数据流传输,UDP提供无连接、快速传输。
  • 举例:视频直播应用可能使用UDP,因为它对实时性要求高,能容忍少量丢包。

5.应网络层

  • 作用:负责数据包的路由选择和转发,使用IP协议,确保数据跨越网络从源到目的地传输。
  • 举例:当你从中国发送一封电子邮件到美国,网络层决定数据包的最佳传输路径。

6.数据链路层

  • 作用:在相邻网络节点间传输数据帧,提供错误检测和纠正功能,使用MAC地址标识网络设备。
  • 举例:以太网卡通过MAC地址识别数据帧的接收者,并进行错误校验。

7.物理层

  • 作用:定义了网络设备间物理连接的规格,包括电压、线缆类型、接口标准等。
  • 举例:双绞线、光纤、无线电波等,都是物理层的传输介质。

2.TCP/IP五层协议模型

  • 应用层:与OSI的应用层、表示层、会话层相对应,提供所有高层协议服务。
  • 传输层:与OSI传输层相同,负责端到端通信。
  • 网络层:与OSI网络层相同,主要协议为IP。
  • 数据链路层:与OSI数据链路层相同,但在实际应用中可能进一步细分为逻辑链路控制子层(LLC)和媒体访问控制子层(MAC)。
  • 物理层:与OSI物理层相同。

3.DNS解析过程及缓存

  • 解析过程:包括递归查询和迭代查询,从本地DNS服务器开始,逐步向上至根域名服务器,直至找到目标域名的IP地址。
  • 缓存:在本地DNS服务器和客户端都有缓存机制,减少重复查询,提升效率。

4.HTTP长连接与短连接

  • 长连接(Keep-Alive):单个TCP连接可以用于多次HTTP请求,减少连接建立和关闭的开销,适用于频繁交互场景。
  • 短连接:每次HTTP请求都建立一个新的TCP连接,请求完成后连接关闭,适用于偶尔或一次性请求。

5.HTTPS的工作原理及与HTTP区别

工作原理:在HTTP基础上加入SSL/TLS协议,实现数据加密和身份验证,确保数据传输安全。
HTTP区别:
  • 安全性:HTTPS通过加密保证数据传输安全,HTTP不加密,易被窃听。
  • 开销:HTTPS需要加密处理,消耗更多CPU和内存资源。
  • 端口:HTTP默认端口80HTTPS默认端口443
  • 性能:理论上HTTPS较慢,但实际上优化和硬件加速等因素影响,差距在缩小。

6.HTTPS的优缺点

  • 优点:提供数据加密,增强数据传输安全性;支持身份验证,保护用户免受中间人攻击。
  • 缺点:增加计算资源消耗,可能降低页面加载速度;需要购买和维护SSL证书,增加成本;旧版浏览器或设备可能不支持。
特性HTTPHTTPS
定义超文本传输协议,明文传输数据增强版HTTP,通过SSL/TLS加密数据
安全性❌ 低,易遭窃听、篡改✅ 高,数据加密,防窃听、篡改
性能⚡️ 稍快,无需加密解密🐢 稍慢,涉及加密解密处理
成本💰 低成本,无需证书费用💸 高成本,需要购买SSL证书
信任度❓ 无验证,易受中间人攻击✅ 验证服务器身份,提升信任度
SEO😐 无明显影响😊 搜索引擎偏好,有利于排名
适用场景内部系统、非敏感信息传输电商、银行、登录等敏感信息传输

注释:

  • 安全性: HTTPS通过加密提供了数据的安全性,而HTTP的数据以明文形式传输,容易被截取和篡改。
  • 性能: HTTP由于不涉及加密处理,因此在传输速度上可能略优于HTTPS,尤其是在资源加载和页面响应时间上。
  • 成本: 使用HTTPS需要购买和维护SSL证书,这是一笔额外的开销;而HTTP则没有这些成本。
  • 信任度: HTTPS通过证书验证服务器身份,提高了网站的可信度,有助于防止中间人攻击。
  • SEO: 搜索引擎如Google倾向于给采用HTTPS的网站更高的搜索排名,因为这被视为良好实践的一部分。
  • 适用场景: 根据数据的敏感性和对外服务的需求,选择适合的协议。对于涉及用户隐私和敏感信息的场景,HTTPS是首选。

7.数字签名与数字证书

  • 数字签名:使用发送者的私钥对消息摘要进行加密,接收者用公钥解密验证,确保消息未被篡改且来自可信源。
  • 数字证书:由权威第三方(CA)签发,包含公钥和持有者身份信息,用于验证服务器身份,确保数据传输安全。

8.Cookie与Session

  • Cookie:储存在客户端的小型文本文件,用于保存用户会话信息或个性化设置,但可被用户禁用或清除。
  • Session:服务器端存储的用户会话信息,通过Session ID与特定用户关联,安全性较高但需管理服务器存储资源,且跨域问题需解决。

9.网络安全与加密技术

SSL/TLS协议细节

  • 握手过程:SSL/TLS握手分为四个主要阶段:握手开始、服务器认证和密钥交换、客户端认证(可选)、密钥材料的生成与验证。在握手过程中,双方协商加密套件、交换必要的密钥材料,并验证对方的身份。
  • 加密套件:决定加密算法的具体组合,包括密钥交换算法、对称加密算法、消息认证码算法和哈希函数,如TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • 版本演进:TLS 1.3相比TLS 1.2做了大量优化,包括更快的握手过程(一次往返即可完成握手)、移除不安全的加密套件、强制使用前向安全算法等。

加密算法

  • 对称加密:如AES(Advanced Encryption Standard),用于加密大量数据,速度快,但密钥需安全共享。常用的模式有CBC、CTR、GCM等。
  • 非对称加密:RSA、ECC(椭圆曲线密码学)等,用于安全地交换对称密钥,速度相对较慢,但解决了密钥分发问题。
  • 哈希函数:如SHA-256,用于数据完整性校验和密码存储安全,不可逆且碰撞难度高

10.网络性能优化

TCP拥塞控制

  • 慢启动:连接初期快速增加拥塞窗口大小,尽快利用带宽。
  • 拥塞避免:当检测到丢包时减小拥塞窗口,避免网络拥塞。
  • 快速重传与恢复:快速响应丢包情况,减少等待时间,快速恢复数据传输速率。

HTTP/2与HTTP/3

  • HTTP/2特性:多路复用(一个TCP连接上并行传输多个请求响应)、头部压缩(HPACK算法减少传输数据量)、服务器推送。
  • HTTP/3:基于QUIC协议,使用UDP而非TCP,解决了TCP队头阻塞问题,实现了更低的延迟和更好的连接复用。

👉: 前端开发之HTTP3

CDN

  • 工作原理:通过在全球部署的边缘节点缓存静态资源,用户请求时从最近的节点获取内容,减少延迟,提高访问速度和可用性。工作原理:通过在全球部署的边缘节点缓存静态资源,用户请求时从最近的节点获取内容,减少延迟,提高访问速度和可用性。
  • 智能调度:根据地理位置、网络状况、负载情况等动态分配用户请求到最佳节点。

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

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

相关文章

【MATLAB】语法

MATLAB 基本语法(%{和%}) 赋值 函数名值&#xff1b;for for i1:10循环语句 end//while x0; sum0; while x<100sumsumx;x; end//if if x > 1f x^2 1; elsef 2 * x endswitch onum input(请输入一个数); switch num case -1 //注意case后面没有冒号disp(I am…

大数据与人工智能在保险行业数字化转型中的应用

随着科技的快速发展&#xff0c;大数据和人工智能&#xff08;AI&#xff09;技术在保险行业中扮演着越来越重要的角色&#xff0c;推动了保险行业的数字化转型。通过收集和分析海量的用户数据&#xff0c;利用先进的人工智能算法&#xff0c;保险公司能够更准确地评估风险&…

7z压缩文件解压缩遇到文件末端错误

错误如上。我是之前使用7zip压缩软件压缩本地视频为7z格式&#xff0c;然后将压缩包上传到阿里云盘。今天通过阿里云盘下载这个文件&#xff0c;结果使用7zip解压压缩软件 解压缩这个文件遇到“文件末端错误”&#xff0c;然后在网上找了一圈也没有找到解决办法。 我用winrar解…

window11 系统更新失败处理办法

方法一&#xff1a;运行 Windows 更新疑难解答 按 Win I 打开设置。选择“系统”。选择“疑难解答”&#xff0c;然后点击“其他疑难解答”。找到“Windows 更新”&#xff0c;并运行疑难解答。 方法二&#xff1a;使用 DISM 工具修复系统文件 在开始菜单中搜索“命令提示符…

Perplexity AI — 探索网络,发掘知识,沟通思想

体验地址&#xff1a;Perplexity AI &#xff08;国外网站访问需要梯子&#xff09; Perplexity AI是一款功能强大的人工智能搜索引擎&#xff0c;其特点和优势主要体现在以下几个方面&#xff1a; 功能&#xff1a; 自然语言搜索&#xff1a;Perplexity AI可以理解用户的自然…

【AI实践】Dify调用本地和在线模型服务

背景 Ollama可以本地部署模型&#xff0c;如何集成私有数据、如何外部应用程序对接&#xff0c;因此需要有一个应用开发框架 Dify功能介绍 欢迎使用 Dify | 中文 | Dify 下文将把dify部署在PC上&#xff0c;windows环境&#xff1b; 安装部署 安装dify及docker jacobJacobs…

Jira,一个强大灵活的项目和任务管理工具 Python 库

目录 01初识 Jira 为什么选择 Jira? 02安装与配置 安装 jira 库 配置 Jira 访问 获取 API token: 配置 Python 环境: 03基本操作 创建项目 创建任务 查询任务 更新任务 删除任务 04高级操作 处理子任务 搜索任务 添加附件 评论任务 05实战案例 自动化创建…

消息队列-概述-JMS和AMQP

JMS和AMQP JMS是什么 JMS&#xff08;JAVA Message Service,java 消息服务&#xff09;是 Java 的消息服务&#xff0c;JMS 的客户端之间可以通过 JMS 服务进行异步的消息传输。JMS&#xff08;JAVA Message Service&#xff0c;Java 消息服务&#xff09;API 是一个消息服务…

消息队列-概述-什么是消息队列

什么是消息队列 我们可以把消息队列看作是一个存放消息的容器&#xff0c;当我们需要使用消息的时候&#xff0c;直接从容器中取出消息供自己使用即可。由于队列 Queue 是一种先进先出的数据结构&#xff0c;所以消费消息时也是按照顺序来消费的。 参与消息传递的双方称为 生产…

emoji_call_read

这道题我觉得可以记录一下。 主要函数&#xff0c;一样&#xff0c;先考虑怎么泄露libc基址。 但&#xff0c;0x20实在太小&#xff0c;组成不了连续3个ret syscall。 而且文件中也没pop rdi;ret这个gadget&#xff0c;只能另寻他法。 我们注意到&#xff1a; main函数中的这…

证照之星 XE版软件怎么下载安装? 【详细安装图文教程】

软件简介&#xff1a; 证照之星是国内顶级的证件照片制作软件&#xff0c;具有一键裁剪&#xff0c; 智能背景替换&#xff0c;批量制作、内置证照规格的四大优势。同时两大独创技术&#xff1a;智能去除皮肤油光、证照服装替换。同时支持联机拍摄&#xff1a;支持网络摄像头及…

Python时间序列分析库

Sktime Welcome to sktime — sktime documentation 用于ML/AI和时间序列的统一API,用于模型构建、拟合、应用和验证支持各种学习任务,包括预测、时间序列分类、回归、聚类。复合模型构建,包括具有转换、集成、调整和精简功能的管道scikit学习式界面约定的交互式用户体验Pro…

【字符串】65. 有效数字

本文涉及知识点 字符串 LeetCode65. 有效数字 给定一个字符串 s &#xff0c;返回 s 是否是一个 有效数字。 例如&#xff0c;下面的都是有效数字&#xff1a;“2”, “0089”, “-0.1”, “3.14”, “4.”, “-.9”, “2e10”, “-90E3”, “3e7”, “6e-1”, “53.5e93”,…

LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS

文章汇总 总体来看像是一种带权重的残差&#xff0c;但解决的如何高效问题的事情。 相比模型的全微调&#xff0c;作者提出固定预训练模型参数不变&#xff0c;在原本权重矩阵旁路添加低秩矩阵的乘积作为可训练参数&#xff0c;用以模拟参数的变化量。 模型架构 h W 0 x △…

【Linux】 进程信号的发生

送给大家一句话&#xff1a; 何必向不值得的人证明什么&#xff0c;生活得更好&#xff0c;乃是为你自己。 -- 亦舒 进程信号的发生 1 何为信号2 信号概念的基础储备3 信号产生kill系统调用alarm系统调用异常core term Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢…

8086汇编 add指令学习

ADD&#xff0c;是Intel x86平台的汇编加法指令&#xff0c;MEM代指操作数为内存或寄存器&#xff0c;REG代指操作数为寄存器&#xff0c;IMM代指立即数&#xff0c;SEG代指操作数为段寄存器。 形式和示例如下&#xff1b; ADD MEM8,REG8 ADD DS:[BXSI],AL ADD MEM16,R…

20240615在WIN11下的串口调试助手的下载安装以及使用

20240615在WIN11下的串口调试助手的下载安装以及使用 2024/6/15 18:06 百度&#xff1a;串口调试助手 blob:https://apps.microsoft.com/df934d29-fd7a-4873-bb6b-a4ab5a7934c9 串口调试助手 Installer.exe 收发的LOG&#xff1a; rootok3588:/# ./uart_test /dev/ttyS0 11520…

MySQL数据操作与查询- 连接查询

一、引入 1、为什么需要使用连接查询&#xff1f; 查询信息的来源如果来自多张表&#xff0c;则必须对这些表进行连接查询。 2、连接查询的分类 内连接和外连接。 二、内连接 1、概述 将两张表的记录组合在一起&#xff0c;产生一个新的结果。 &#xff08;1&#xff09…

docker desktop for mac os如何使用本地代理

在macbook上弄了个代理&#xff0c;然后按照网上所说的去配代理 然后测试下 docker pull busybox 结果无反应&#xff0c;超时。我去&#xff01;&#xff01;&#xff01; 鼓捣了半天&#xff0c;看了docker官网&#xff0c;问了chatgpt &#xff0c;按照它们所说的试了下也没…

PCL 基于八叉树的去噪滤波

目录 一、算法原理1、原理概述2、参考文献二、代码实现三、结果展示1、滤波前2、滤波后本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 1、原理概述 使用八叉树对点云进行噪点删除的滤波方法实现。 …