详谈OSI七层模型和TCP/IP四层模型以及tcp与udp为什么是4层,http与https为什么是7层

一、网络模型:OSI七层 vs TCP/IP四层

    OSI七层模型 (理论参考模型):

        目的:提供一个标准化的理论框架,用于理解网络通信过程和各层的功能划分,促进不同厂商设备的互操作性。它是一个理想化的模型。

        分层 (从下到上):

  •  物理层:传输原始比特流 (光、电信号),定义物理接口特性。
  •  数据链路层:在直接相连的节点间可靠传输数据帧 (Frame),处理物理寻址 (MAC地址)、错误检测。
  •  网络层:负责跨网络的数据包 (Packet) 路由和寻址 (IP地址),实现主机到主机的通信。
  •  传输层:提供端到端 (进程到进程) 的可靠或不可靠数据传输服务 (TCP/UDP),处理分段、流量控制、错误恢复。
  •  会话层:管理、建立、维护和终止应用会话。
  •  表示层:处理数据的表示格式,如加密/解密、压缩/解压缩、字符编码转换。
  •   应用层:为应用程序提供网络服务接口 (HTTP, FTP, SMTP, DNS等)。

    TCP/IP四层模型 (实际应用模型):

        目的:描述互联网实际运行所依赖的核心协议栈。它是OSI模型的简化、实用化版本。

        分层 (从下到上):

  •  网络接口层:对应OSI的物理层和数据链路层。负责在本地链路上发送和接收数据帧 (如以太网、Wi-Fi)。
  •  网际层:对应OSI的网络层。核心协议是IP协议,负责主机到主机的逻辑寻址 (IP地址) 和路由。
  •  传输层:对应OSI的传输层。核心协议是TCP和UDP,负责端到端 (应用进程到应用进程) 的通信。
  •  应用层:对应OSI的会话层、表示层和应用层。包含了所有高层协议和应用 (HTTP, HTTPS, FTP, SSH, SMTP, DNS, Telnet等)。

关键区别总结

OSI七层模型TCP/IP四层模型
目的理论参考模型,标准化框架实际实现模型,描述互联网核心协议
分层7层 (物理、数据链路、网络、传输、会话、表示、应用)4层 (网络接口、网际、传输、应用)
对应关系---网络接口层 ≈ OSI物理+数据链路层
网际层 ≈ OSI网络层
传输层 ≈ OSI传输层
应用层 ≈ OSI会话+表示+应用层
实用性主要作为学习和设计参考是互联网实际运行的基础
核心协议无具体协议绑定明确绑定IP, TCP, UDP, HTTP等核心协议

二、为什么TCP和UDP是传输层(四层)协议?

    核心功能定位:

        TCP和UDP的核心职责是解决“端到端”(End-to-End) 的通信问题,即运行在不同主机上的应用程序进程之间如何可靠地或高效地传输数据。

        它们建立在网络层(IP层) 提供的“主机到主机”通信能力之上。IP层负责把数据包从源主机送到目的主机,但不关心主机上哪个应用程序接收数据。

        TCP/UDP通过端口号(Port) 来标识主机上的特定应用程序进程,从而实现了进程到进程的通信。

    提供的关键服务:

        连接管理: TCP提供面向连接的、可靠的通信 (建立连接、确认、重传、流量控制、拥塞控制)。UDP提供无连接的、尽最大努力交付的通信。

        数据分段与重组: 将应用层下传的大块数据分割成适合网络层传输的大小 (Segment),并在接收端重组。

        错误检测: 提供校验和机制检测传输过程中数据的损坏 (TCP/UDP头都有校验和字段)。

    在TCP/IP模型中的位置:

        它们直接位于网际层(IP层)之上,为应用层的各种协议提供服务。应用层协议(如HTTP、FTP、DNS)明确指定使用TCP还是UDP作为其传输载体。

        在TCP/IP四层模型中,它们位于第三层:传输层。

        在OSI七层模型中,它们位于第四层:传输层。

总结: TCP/UDP的核心职责是管理运行在不同主机上的应用程序进程之间的数据传输,这一定位清晰地划分在传输层。

三、为什么HTTP和HTTPS是应用层(七层)协议?

    核心功能定位:

        HTTP和HTTPS定义了特定应用程序 (主要是Web浏览器和Web服务器) 之间交换信息的语义和语法。它们关注的是数据的内容和交互逻辑。

        HTTP定义了客户端如何请求资源 (如网页、图片),服务器如何响应请求 (状态码、返回资源内容),以及请求/响应的格式 (方法GET/POST、URL、Headers、Body)。

        HTTPS在HTTP的基础上增加了安全层 (通常由TLS/SSL协议实现),提供加密、身份认证和数据完整性保护。

    依赖下层服务:

        HTTP/HTTPS本身不关心数据如何在网络中传输、路由或保证可靠性。它们将这些任务完全委托给传输层协议 (通常是TCP)。

        HTTP/HTTPS协议报文 (请求和响应) 是作为TCP连接上传输的应用层数据存在的。TCP负责将这些数据可靠地、有序地从浏览器进程传输到Web服务器进程(或反之)。

    在模型中的位置:

        TCP/IP模型: 它们位于最顶层:应用层。它们利用传输层(TCP)提供的服务来实现Web应用的功能。

        OSI模型:

            HTTP: 主要属于应用层(第7层),因为它定义了应用级的交互。但其Header信息也涉及一些表示层(如字符编码Content-Type)和会话层(如Cookie管理会话状态)的功能。

            HTTPS: 更加复杂。

                HTTP部分:仍属于应用层。

                TLS/SSL部分:主要工作在表示层(第6层),负责会话建立时的握手协商、加密算法协商、密钥交换、数据加密/解密、数据完整性校验。它也涉及会话层(管理安全会话)。最终,加密后的HTTP数据仍然通过TCP传输。

总结: HTTP/HTTPS定义了Web应用程序做什么和怎么做 (请求什么资源、如何响应、如何保证安全),这些是最高层次的、面向具体应用的逻辑。它们直接为最终用户或应用程序提供服务,并依赖于下层的传输层(TCP)来处理数据传输的细节,因此属于应用层协议。

四、关键结论

    分层思想的核心: 每一层利用下一层提供的服务,并为上一层提供服务。下层关注“如何传输”,上层关注“传输什么”和“为什么传输”。

    TCP/UDP (传输层): 解决进程到进程的通信问题(用端口号标识),提供可靠性(TCP)或效率(UDP)。位于OSI第4层 / TCP/IP第3层。

    HTTP/HTTPS (应用层): 定义特定应用程序(Web) 的交互规则和数据格式。它们依赖传输层(TCP)来传输数据。HTTPS的安全功能(TLS/SSL)主要在OSI的表示层实现。位于OSI最高层(第7层为主) / TCP/IP最高层(第4层)。

    模型对应: TCP/IP的应用层 ≈ OSI的会话层+表示层+应用层。TCP/IP的传输层 ≈ OSI的传输层。因此说HTTP/HTTPS在TCP/IP是4层(应用层),在OSI是7层(应用层),本质上是同一层级(最高层)在不同模型中的名称差异。

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

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

相关文章

ClickHouse 高性能实时分析数据库-索引与数据跳过(查询的“瞬移”能力)

告别等待,秒级响应!这不只是教程,这是你驾驭PB级数据的超能力!我的ClickHouse视频课,凝练十年实战精华,从入门到精通,从单机到集群。点开它,让数据处理速度快到飞起,让你…

Jetpack - Room(Room 引入、Room 优化)

一、Room 引入 1、基本介绍 Room 在 SQLite 上提供了一个抽象层,以便在充分利用 SQLite 的强大功能的同时,能够流畅地访问数据库,官方强烈建议使用 Room 而不是 SQLite 2、演示 (1)Setting 模块级 build.gradle depend…

【江科大CAN】2.1 STM32 CAN外设(上)

2.1 STM32 CAN外设(上)2.1.1 STM32 CAN外设简介2.1.2 外围电路设计2.1.3 STM32 CAN内部结构2.1.4 发送流程详解2.1.5 接收流程详解2.1.6 关键配置位总结STM32 CAN外设讲解 大家好,欢迎继续观看CAN总线入门教程。本节开始,我们正式…

人工智能技术革命:AI工具与大模型如何重塑开发者工作模式与行业格局

引言:AI技术爆发的时代背景过去五年间,人工智能领域经历了前所未有的爆发式增长。从2020年GPT-3的横空出世到2023年多模态大模型的全面突破,AI技术已经从实验室走向了产业应用的前沿。开发者作为技术生态的核心推动者,其工作模式正…

傅里叶变换

傅里叶变换:运用频域的出发点就是能够将波形从时域变换到频域,用傅里叶变换可以做到这一点。有如下3种傅里叶变换类型:1.傅里叶积分(FI); 2.离散傅里叶变换(DFT); 3.快速傅里叶变换(FFT)。傅里叶积分是一种将时域的理想数学表达变换成频域描述的数学技术…

【IQA技术专题】纹理相似度图像评价指标DISTS

纹理一致性图像评价指标: Image Quality Assessment: Unifying Structure and Texture Similarity(2020 PAMI)专题介绍一、研究背景二、方法总览2.1 初始变换2.2 纹理表示和结构表示2.3 DISTS指标2.4 优化DISTS指标三、实验结果四、总结本文将对统一图像…

windows下Docker安装路径、存储路径修改

一、命令行指定安装路径​ ​​下载安装包​​:从Docker官网获取安装程序(如Docker Desktop Installer.exe)。​​运行PowerShell​​: & "H:\Docker Desktop Installer.exe" install --installation-dir"F:…

thingsboard 自定义动作JS编程

在 ThingsBoard 中实现 自定义动作(Custom Action)的 JavaScript 编程,主要通过“Custom action (with HTML template)”方式完成,适用于创建弹窗、编辑实体、控制设备等交互行为。 实现步骤(以添加设备或资…

Spring Boot 简单接口角色授权检查实现

一、背景与目标在Spring Boot应用开发中,接口级别的权限控制是系统安全的重要组成部分。本文将介绍一种简单直接的接口角色授权检查实现方案,适合快速开发和安全合规检查场景。二、技术方案概述本方案采用自定义注解拦截器的方式实现,具有以下…

PytorchLightning最佳实践日志篇

在 PyTorch Lightning(PL)中,日志系统是 “炼丹” 过程中复现实验、对比效果、排查问题的核心工具。结合实际工程经验,总结以下最佳实践和技巧,帮助提升实验效率: 一、日志工具的选择与配置 PL 通过统一的s…

基于JavaWeb的兼职发布平台的设计与实现

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7数据库工具:Navicat12开发软件:eclipse/myeclipse/ideaMaven包:Maven3.6系统展示系统首页用户登录招聘信…

Linux学习--C语言(指针3)

1.指针函数和函数指针1.1 指针函数指针函数是函数&#xff0c;函数的返回值是指针不能返回局部变量的地址指针函数返回的地址可以作为下一个函数调用的参数1.2 函数指针函数指针是指针&#xff0c;指针指向一个函数#include <stdio.h>int Add(int x, int y) {return x y…

【JAVA EE初阶】多线程(上)

目录 1.预备知识 1.1 冯诺依曼体系结构&#xff1a; 1.2 现代CPU主要关心指标&#xff08;和日常开发密切相关的&#xff09; 1.3 计算机中&#xff0c;一个汉字占几个字节&#xff1f; 1.4 Windows和Linux的区别 1.5 PCB的一些关键要点 2.线程和进程 2.1 创建线程的写法…

用互联网思维扩展电商后台的 CRUD 功能

一、自定义实现MyBatis-Plus逆向工程 多数据源的问题解决了&#xff0c;接下来开始进行实际开发时&#xff0c;你会发现&#xff0c;最麻烦的一件事情就是要创建与数据库表对应的POJO了。这些没什么难度&#xff0c;但是繁琐的内容会占据大量的开发时间。比如一个PmsProducr对…

无代码测试平台ATECLOUD全场景测试方案

ATECLOUD 智能云测试平台是有纳米软件开发的一款以无代码架构与弹性扩展体系为核心的自动化测试平台&#xff0c;通过数据模型驱动的创新设计&#xff0c;为研发、产线等多场景提供高效可控的测试解决方案。​无代码架构 ATECLOUD 打破传统技术壁垒&#xff0c;构建完全可视化的…

当 AI 重构审计流程,CISA 认证为何成为破局关键

在南京审计大学最新发布的《面向审计行业 DeepSeek 大模型操作指南》中&#xff0c;一组数据引发行业深思&#xff1a;通过自动化数据处理、智能风险识别和定制化报告生成&#xff0c;AI 大模型能帮助审计人员降低 40% 以上的人工成本&#xff0c;同时将风险识别准确率提升至 9…

NAT技术、代理服务器

NAT/NAPT技术NAT的全称是network address translation&#xff0c;网络地址转换。NAT 能在对外通信时够将源 IP 转为新源 IP&#xff0c;对内通信时将目的ip转换成新目的ip&#xff0c;实现这个操作&#xff0c;靠的是地址转换表但NAT的说法其实是不准确的&#xff0c;因为多个…

【硬件-笔试面试题】硬件/电子工程师,笔试面试题-45,(知识点:负反馈的作用,基础理解,干扰和噪声的抑制)

目录 1、题目 2、解答 步骤一&#xff1a;明确负反馈的作用原理 步骤二&#xff1a;逐一分析选项 3、相关知识点 一、负反馈的基本原理 二、负反馈对干扰和噪声的抑制机制 三、选项分析与答案 四、扩展思考&#xff1a;如何抑制不同位置的干扰&#xff1f; 总结 题目…

Flutter蓝牙BLE开发完全指南(内含高级功能扩展)

Flutter蓝牙BLE开发完全指南 我将为您提供一个完整的Flutter蓝牙BLE实现方案,包含UI设计、权限处理、设备扫描、连接通信等完整功能。 完整实现方案 1. 添加依赖与权限配置 pubspec.yaml dependencies:flutter:sdk: flutterflutter_blue_plus: ^1.10.0permission_handler…

使用 Canvas 替代 <video> 标签加载并渲染视频

在部分浏览器环境或业务场景下&#xff0c;直接使用 <video> 标签加载视频会出现首帧延迟的情况。以下方法通过 WebGPU Canvas 2D 将视频帧绘制到自定义 Canvas 上&#xff0c;让 <video> 只做解码&#xff0c;WebGPU 接管渲染&#xff0c;通过最小化对象创建 精…