计算机网络——网络模型

news2025/4/20 20:30:10

一、OSI七层模型

(1)客户端发送请求时 OSI 七层模型的运作流程

  1. 应用层(Application Layer)
    1. 用户通过浏览器输入URL(如https://example.com),根据协议类型(HTTP/HTTPS)确定使用何种应用层协议
    2. 生成HTTP请求报文:包含请求行(如GET /index.html HTTP/1.1)、请求头(Host、User-Agent等)、请求体(POST数据)
    3. 补充:DNS解析(将域名转为IP地址)也在此层完成(通过DNS协议)
  2. 表示层(Presentation Layer)
    1. 数据转换:对应用层数据进行格式化(如JSON转二进制)
    2. 加密:如果使用HTTPS,SSL/TLS协议会在表示层对数据进行加密(注:实际中SSL/TLS协议横跨会话层和传输层,OSI模型中的表示层更多是理论划分)
    3. 压缩:对数据进行压缩(如GZIP)
  3. 会话层(Session Layer)
    1. 管理会话生命周期(建立、维持、终止)
    2. 实际实现
      1. 在TCP/IP模型中,会话管理通常由传输层(TCP三次握手)和应用层(如HTTP Keep-Alive)共同完成
      2. 例如,TCP连接的建立(三次握手)属于传输层,但会话层在OSI中理论上负责逻辑会话管理
  4. 传输层(Transport Layer)
    1. 分段:将数据分割为更小的段(Segment),并为每个段编号(序列号)
    2. 端口标识:添加源端口(随机)和目标端口(HTTP:80,HTTPS:443)
    3. 协议选择:根据需求选择TCP(可靠传输)或UDP(快速传输)
    4. 补充:TCP的三次握手在此层完成,确保连接可靠性
  5. 网络层(Network Layer)
    1. 封装IP头:添加源IP(客户端IP)和目标IP(服务器IP),形成数据包(Packet)
    2. 路由选择:根据路由表确定下一跳路由器,通过IP协议进行寻址
  6. 数据链路层(Data Link Layer)
    1. ​​​​​​​封装帧:添加帧头(源MAC地址、目标MAC地址)和帧尾(CRC校验码),形成数据帧(Frame)
    2. MAC寻址:通过ARP协议将目标IP转换为目标MAC地址
    3. 差错检测:通过CRC校验确保数据完整性
  7. 物理层(Physical Layer)
    1. ​​​​​​​信号转换:将数据帧转换为比特流(0和1)
    2. 物理传输:通过网线、光纤、WiFi等介质将比特流发送到下一跳设备(如路由器)

(2)服务器接收请求时 OSI 七层模型的运作流程

  1. 物理层 → 数据链路层
    1. ​​​​​​​物理层:接收比特流,转换为数据帧
    2. 数据链路层
      1. 检查帧头中的目标MAC地址是否为本机
      2. 校验CRC,若错误则丢弃帧
      3. 剥离帧头和帧尾,将数据包上传至网络层
  2. 网络层
    1. ​​​​​​​检查IP头中的目标IP是否为本机
    2. 若IP匹配,剥离IP头,将数据段上传至传输层
    3. 若为路由器,则根据路由表转发数据包
  3. 传输层
    1. ​​​​​​​根据目标端口(如80或443)将数据段交给对应的应用进程(如Web服务器)
    2. 若为TCP协议,发送ACK确认,并重组数据段为完整数据
  4. 会话层 → 表示层 → 应用层
    1. ​​​​​​​会话层:维护会话状态(如保持TCP连接)
    2. 表示层:解密(HTTPS)、解压缩、数据格式转换
    3. 应用层
      1. 解析HTTP请求报文(如提取URL、请求头)
      2. 处理请求(如读取文件、查询数据库)
      3. 生成HTTP响应报文(状态行、响应头、响应体)

二、TCP/IP四层模型

OSI七层模型TCP/IP四层模型
应用层应用层
表示层应用层
会话层应用层
传输层传输层
网络层网络层
数据链路层网络接口层
物理层网络接口层

三、总结

  1. TCP/IP模型更实用,实际网络协议栈(如Linux)基于此实现
  2. 常见协议归属TCP(传输层)、IP(网络层)、HTTP(应用层)、DNS(应用层)

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

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

相关文章

Spark-SQL核心编程2

路径问题 相对路径与绝对路径:建议使用绝对路径,避免复制粘贴导致的错误,必要时将斜杠改为双反斜杠。 数据处理与展示 SQL 风格语法:创建临时视图并使用 SQL 风格语法查询数据。 DSL 风格语法:使用 DSL 风格语法查询…

STM32单片机入门学习——第41节: [12-1] Unix时间戳

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做! 本文写于:2025.04.18 STM32开发板学习——第41节: [12-1] Unix时间戳 前言开发板说明引用解答和科普一…

无人机自主导航与路径规划技术要点!

一、自主导航与路径规划技术要点 1. 传感器融合 GPS/北斗定位:提供全局定位,但在室内或遮挡环境下易失效。 惯性测量单元(IMU)**:通过加速度计和陀螺仪实时追踪姿态,弥补GPS信号丢失时的定位空缺。 …

AI绘画SD中,如何保持生成人物角色脸部一致?Stable Diffusion精准控制AI人像一致性两种实用方法教程!

在AI绘画StableDiffusion中,一直都有一个比较困难的问题,就是如何保证每次出图都是同一个人。今天就这个问题分享一些个人实践,大家和我一起来看看吧。 一. 有哪些实现方式 方式1:固定Seed种子值。 固定Seed种子值出来的图片人…

RK3588S开发板将SPI1接口改成GPIO

参考官方教程:ROC-RK3588S-PC 一.基本知识: 1.GPIO引脚计算: ROC-RK3588S-PC 有 5 组 GPIO bank:GPIO0~GPIO4,每组又以 A0~A7, B0~B7, C0~C7, D0~D7 作为编号区分,常用以下公式计算引脚:GPIO…

PLOS ONE:VR 游戏扫描揭示了 ADHD 儿童独特的大脑活动

在孩子的成长过程中,总有那么一些“与众不同”的孩子。他们似乎总是坐不住,课堂上小动作不断,注意力难以集中,作业总是拖拖拉拉……这些行为常常被家长和老师简单地归结为“淘气”“不听话”。然而,他们可能并不只是“…

DemoGen:用于数据高效视觉运动策略学习的合成演示生成

25年2月来自清华、上海姚期智研究院和上海AI实验室的论文“DemoGen: Synthetic Demonstration Generation for Data-Efficient Visuomotor Policy Learning”。 视觉运动策略在机器人操控中展现出巨大潜力,但通常需要大量人工采集的数据才能有效执行。驱动高数据需…

@JsonView + 单一 DTO:如何实现多场景 JSON 字段动态渲染

JsonView 单一 DTO:如何实现多场景 JSON 字段动态渲染 JsonView 单一 DTO:如何实现多场景 JSON 字段动态渲染1、JsonView 注解产生的背景2、为了满足不同场景下返回对应的属性的做法有哪些?2.1 最快速的实现则是针对不同场景新建不同的 DTO…

15 nginx 中默认的 proxy_buffering 导致基于 http 的流式响应存在 buffer, 以 4kb 一批次返回

前言 这也是最近碰到的一个问题 直连 流式 http 服务, 发现 流式响应正常, 0.1 秒接收到一个响应 但是 经过 nginx 代理一层之后, 就发现了 类似于缓冲的效果, 1秒接收到 10个响应 最终 调试 发现是 nginx 的 proxy_buffering 配置引起的 然后 更新 proxy_buffering 为…

安卓手机万能遥控器APP推荐

软件介绍 安卓手机也能当“家电总控台”?这款小米旗下的万能遥控器APP,直接把遥控器做成“傻瓜式操作”——不用配对,不连蓝牙,点开就能操控电视、空调、机顶盒,甚至其他品牌的电器!雷总这波操作直接封神&…

PH热榜 | 2025-04-18

1. Wiza Monitor 标语:跟踪工作变动,接收Slack和电子邮件的提醒。 介绍:Wiza Monitor是一款用于追踪职位变动的工具,可以实时跟踪客户和潜在客户的工作变动,还可以通过电子邮件和Slack发送提醒,让你的客户…

Android平台 Hal AIDL 系列文章目录

目录 1. Android Hal AIDL 简介2. AIDL 语言简介3. Android 接口定义语言 (AIDL)4. 定义AIDL 接口5. AIDL 中如何传递 Parcelable 对象6. 如何使用AIDL 定义的远程接口进行跨进程通信7. 适用于 HAL 的 AIDL8. Android Hal AIDL 编译调试9. 高版本Android (AIDL HAL) 沿用HIDL方…

十、数据库day02--SQL语句01

文章目录 一、新建查询1.查询窗口的开启方法2. 单语句运行方法 二、数据库操作1.创建数据库2. 使用数据库3. 修改数据库4. 删除数据库和查看所有数据库5. 重点:数据库备份5.1 应用场景5.2 利用工具备份备份操作还原操作 5.3 扩展:使用命令备份 三、数据表…

实时直播弹幕系统设计

整个服务读多写少,读写比例大概几百比1. 如果实时性要求高的话,可以采用长连接模式(轮询的话,时效性不好,同时对于评论少的直播间可能空转) websocket 和 SSE架构 只要求服务端推送的话,可以…

[Java · 初窥门径] Java 语言初识

🌟 想系统化学习 Java 编程?看看这个:[编程基础] Java 学习手册 0x01:Java 编程语言简介 Java 是一种高级计算机编程语言,它是由 Sun Microsystems 公司(已被 Oracle 公司收购)于 1995 年 5 …

【SQL Server】数据探查工具1.0研发可行性方案

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 想抢先解锁数据自由的宝子,速速戳我!评论区蹲一波 “蹲蹲”,揪人唠唠你的超实用需求! 【SQL Server】数据探查工具1.0研发可行性方案…

谓词——C++

1.一元谓词 1.定义 2.案例 查找容器有没有大于五的数字 #include<stdio.h> using namespace std; #include<string> #include<vector> #include<set> #include <iostream> class myfind { public:bool operator()(int a){return a > 5;} …

『前端样式分享』联系我们卡片式布局 自适应屏幕 hover动效 在wikijs中使用 (代码拿来即用)

目录 预览效果分析要点响应式网格布局卡片样式&#xff1a;阴影和过渡效果 代码优化希望 长短不一的邮箱地址在左右居中的同时,做到左侧文字对齐(wikijs可用)总结 欢迎关注 『前端布局样式』 专栏&#xff0c;持续更新中 欢迎关注 『前端布局样式』 专栏&#xff0c;持续更新中…

MySQL 缓存机制全解析:从磁盘 I/O 到性能优化

MySQL 缓存机制全解析&#xff1a;从磁盘 I/O 到性能优化 MySQL 的缓存机制是提升数据库性能的关键部分&#xff0c;它通过多级缓存减少磁盘 I/O 和计算开销&#xff0c;从而提高查询和写入的效率。 1. 为什么需要缓存&#xff1f; 数据库的性能瓶颈通常集中在磁盘 I/O 上。…

1.1 设置电脑开机自动用户登录exe开机自动启动

本文介绍两个事情&#xff1a; 1.Windows如何开机自动登录系统&#xff08;不用输密码) 2. 应用程序(.exe)如何开机自动启动 详细解释如下&#xff1a; 一、Windows如何开机自动登录系统&#xff08;不用输密码) 设备上的工控机&#xff0c;如果开机后都需要操作人员输入密码&…