当前位置: 首页 > news >正文

详谈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.lryc.cn/news/599307.html

相关文章:

  • Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
  • STM32与ADS1220实现多通道数据采集的完整分析和源程序
  • 【WPS】office邮件合并,怎么将数据源excel中的下一条拼接在文档中的下一个位置
  • 目标导向的强化学习:问题定义与 HER 算法详解—强化学习(19)
  • Android Kotlin 协程全面指南
  • C++ : list的模拟
  • 【数据结构】长幼有序:树、二叉树、堆与TOP-K问题的层次解析(含源码)
  • 安全风险监测平台:被动应对向主动预防的转变
  • Nginx 安装与 HTTPS 配置指南:使用 OpenSSL 搭建安全 Web 服务器
  • 【IDEA】idea怎么修改注册的用户名称?
  • OAuth 2.0 安全最佳实践 (RFC 9700) password 授权类型已经不推荐使用了,将在计划中移除
  • 关于新学C++编程Visual Studio 2022开始,使用Cmake工具构建Opencv和SDK在VS里编译项目开发简介笔记
  • 《汇编语言:基于X86处理器》第9章 编程练习
  • vscode 登录ssh记住密码直接登录设置
  • vscode 字体的跟换
  • Web前端:JavaScript Math选字游戏 斯特鲁普效应测试
  • 短剧广告变现系统全栈开发指南:从架构设计到高并发实践
  • 动态规划Day1学习心得
  • RocketMQ常见问题梳理
  • kafka如何保证数据不丢失
  • 2025年7月25日训练日志
  • Elasticsearch-8.17.0 centos7安装
  • Flink 自定义类加载器和子优先类加载策略
  • 第一章:Go语言基础入门之流程控制
  • k8s-MongoDB 副本集部署
  • 呼叫中心系统管理权限功能配置
  • gig-gitignore工具实战开发(四):使用ai辅助生成gitignore
  • 熵与交叉熵:从信息论到机器学习的「不确定性」密码
  • 有关于k8s中的CSI和CRI的有关知识
  • [硬件电路-85]:一款高集成度热电制冷器(TEC)控制器芯片ADN8835ACPZ