计网 - 图解OSI 七层模型 和 TCP/IP 四层模型

news2024/10/7 14:28:12

文章目录

  • OSI 七层模型
  • TCP/IP四层模型
  • 图解 OSI
  • 图解 TCP/IP
  • 小结

在这里插入图片描述


OSI 七层模型

OSI(开放系统互联模型,Open Systems Interconnection Model)是一个用于理解和描述计算机网络体系结构的标准化框架,由国际标准化组织(ISO)于1984年制定。该模型将计算机网络通信划分为七个不同的层次,每个层次都执行特定的功能,并且每个层次都依赖于其下一层的服务。

这种分层的方法使不同厂商和技术之间的互操作性更容易实现。

以下是OSI模型的七个层次,从物理层到应用层:

  1. 物理层(Physical Layer):

    • 物理层是网络通信的最底层,主要关注物理媒介和传输数据的硬件特性。
    • 它定义了数据传输的物理介质,如电缆、光纤、无线电波等。
    • 主要任务包括数据的编码、传输速率、电压水平等。
  2. 数据链路层(Data Link Layer):

    • 数据链路层负责将原始比特流组织成数据帧,并在物理介质上进行可靠的传输。
    • 这一层还负责物理地址(MAC地址)的识别和帧的错误检测与校正。
    • 常见的数据链路协议包括以太网(Ethernet)和Wi-Fi。
  3. 网络层(Network Layer):

    • 网络层的主要任务是路由数据包,决定数据包的最佳路径从源到目的地。
    • IP(Internet Protocol)是网络层最著名的协议,负责地址分配和数据包转发。
  4. 传输层(Transport Layer):

    • 传输层提供端到端的数据传输服务,确保数据的可靠性和完整性。
    • 常见的传输层协议包括TCP(传输控制协议)和UDP(用户数据报协议)。
  5. 会话层(Session Layer):

    • 会话层负责建立、管理和终止会话(会话是指两个设备之间的通信会话)。
    • 它还可以处理会话中的同步和恢复问题。
  6. 表示层(Presentation Layer):

    • 表示层主要关注数据的格式化和编解码,以确保不同系统间的数据交换。
    • 它可以处理数据的加密、压缩和数据格式转换。
  7. 应用层(Application Layer):

    • 应用层是最高层,为最终用户提供应用程序和网络服务。
    • 这包括诸如Web浏览器、电子邮件客户端、文件传输协议(FTP)等应用。
    • 与用户界面和应用程序通信的所有应用层协议都属于此层。

TCP/IP四层模型

TCP/IP四层模型,也被称为Internet协议套件。与OSI七层模型不同,TCP/IP模型将网络协议分为四个主要层次,这是实际互联网通信所采用的标准模型。以下是TCP/IP四层模型的层次:

  1. 网络接口层(Network Interface Layer)

    • 这一层与OSI模型的数据链路层和物理层合并在一起,负责管理物理硬件和数据链路协议,以便将数据从一个设备传输到下一个。
    • 它包括了硬件和驱动程序,如以太网卡,Wi-Fi适配器等,以及与数据链路相关的协议,如以太网、Wi-Fi等。
  2. 网络层(Internet Layer)

    • 这一层与OSI模型的网络层相对应,负责路由数据包,确保它们能够从源主机传输到目的主机。
    • IP协议是网络层的核心协议,用于标识和定位设备,以及确定数据包的最佳路径。
  3. 传输层(Transport Layer)

    • 传输层与OSI模型的传输层相对应,它负责端到端的数据传输,确保数据的可靠性和完整性。
    • 在TCP/IP模型中,最著名的协议是TCP和UDP。TCP提供可靠的、面向连接的通信,而UDP提供不可靠但更快速的通信。
  4. 应用层(Application Layer)

    • 应用层与OSI模型的应用层相对应,它包括了应用程序和用户接口。
    • 在这个层次,各种应用层协议和服务运行,如HTTP(用于Web浏览)、SMTP(用于电子邮件)、FTP(用于文件传输)等。

与OSI模型不同,TCP/IP模型较为简化,因为它将数据链路层和物理层合并为一个单独的网络接口层,并且更贴近实际互联网协议的使用情况。它是构建和管理互联网通信的基础,因此更常见和实际。但请注意,TCP/IP模型与OSI模型之间存在类似的概念和对应关系,只是层次划分不同。


图解 OSI

在这里插入图片描述

在这里插入图片描述


图解 TCP/IP

在这里插入图片描述


小结

在这里插入图片描述

OSI七层模型和TCP/IP四层模型是两种不同的网络协议层次模型,用于帮助理解和描述计算机网络通信的不同方面。它们有一些相似之处,但也有明显的区别:

相似之处

  1. 分层结构:两种模型都采用了分层的方法,将网络通信划分为多个层次,每个层次负责特定的功能。这有助于模块化网络设计和协议的开发,提高了互操作性。

  2. 应用层:两种模型都包括应用层,这是最高层,为最终用户提供应用程序和服务。

  3. 传输层:在两种模型中都有传输层,负责端到端的数据传输,确保数据的可靠性和完整性。

  4. 网络层:两种模型中都有网络层,负责路由数据包,决定数据包的路径。

  5. 数据链路/网络接口层:虽然名称不同,但它们都包括处理物理层和数据链路层功能的层次。

不同之处

  1. 层次数量

    • OSI模型有七个层次,而TCP/IP模型只有四个层次。
    • OSI模型更详细地分解了网络通信的不同方面,包括会话层和表示层,而TCP/IP模型较为简化。
  2. 具体协议

    • OSI模型没有指定具体的协议,而只是提供了一种通用的框架。因此,不同的协议可以用于每个层次。
    • TCP/IP模型在每个层次上定义了特定的协议,如IP、TCP、UDP等。这些协议在实际互联网通信中广泛使用。
  3. 实际应用

    • TCP/IP模型是实际互联网通信的基础,因为它更直接地反映了实际使用的协议和体系结构。
    • OSI模型更常用于教育和理论领域,而实际网络工程更多地采用TCP/IP模型。
  4. 历史背景

    • OSI模型是由国际标准化组织(ISO)制定,于1984年发布,旨在提供一种通用的网络参考模型。
    • TCP/IP模型是在实际互联网的发展中逐渐演化而来,更贴近实际需求,最早是由美国国防部(DoD)开发的。

总的来说,OSI七层模型和TCP/IP四层模型都有其用途,但在实际网络工程和互联网通信中,TCP/IP模型更为常见和实际。它们之间的对应关系可以帮助理解和比较不同协议和网络技术。

总结一下,OSI七层模型提供了一个通用的框架,用于理解计算机网络通信的不同方面。每一层都有其特定的功能和任务,通过这种分层的方法,不同层次之间的交互变得更加清晰和可维护。不同的网络协议和技术在这个模型中可以很容易地定位到其相应的层次。

在这里插入图片描述

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

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

相关文章

基于Xml方式Bean的配置-beanName个别名配置

SpringBean配置详解 Bean的基础配置 例如前文涉及到的配置文件 <bean id"userService" class"com.example.Service.Impl.UserServiceImpl"/>此时存储到Spring容器&#xff08;singleObjects单例池&#xff09;中的beanName是userService&#xf…

【Java】IDEA 将 Java 项目打包成 Jar 包

在工件中添加 JAR 构建&#xff08;Build&#xff09;工件&#xff0c;JAR 包会生成在 out 目录下

【系统架构】什么是集群?为什么要使用集群架构?

什么是集群&#xff1f;为什么要使用集群架构&#xff1f; 1.什么是集群&#xff1f;2.为什么要使用集群&#xff1f;2.1 高性能2.2 价格有效性2.3 可伸缩性2.4 高可用性2.5 透明性2.6 可管理性2.7 可编程性 3.集群的常见分类3.1 负载均衡集群3.2 高可用性集群3.3 高性能计算集…

Vue2+Vue3

文章目录 Vue快速上手Vue是什么第一个Vue程序插值表达式Vue核心特性&#xff1a;响应式 Vue指令v-htmlv-show 与 v-ifv-else 与 v-else-ifv-onv-bindv-forv-model指令修饰符 计算属性watch侦听器&#xff08;监视器&#xff09;watch——简写watch——完整写法 Vue生命周期 和 …

c语言输出杨辉三角

#include<stdio.h> int main() {int x 0; //表示杨辉三角的的大小int y 1;printf("请输入x的值: ");scanf("%d", &x);for (int i 0; i < x; i) {for (int j 0; j < i; j) {if (j 0 || i 0) {y 1;}else {y y * (i - j 1) / j;}pri…

[mockjs]-mockjs的使用

Mock主要是用于前后端分离时&#xff0c;模拟交互时的返回数据 接下来介绍一下其它几种Mock的方式 json-server 与 express 之前介绍过json-server,可以启动一个express创建的mock的服务&#xff0c;通过接口获取数据&#xff1b;json-server也可以通过命令直接启动一个json…

【深度学习】大模型卷到机器人上了

当一项变革性技术出现后&#xff0c;以此为基础的技术就会像雨后春笋般蔓延。 就像Transformer出现后&#xff0c;以此为基础的大语言模型ChatGPT&#xff0c;视觉基础模型Segment Anything相继横空出世&#xff0c;并展现出强大的涌现能力。生成式AI可谓百花齐鸣&#xff0c;…

性能测试-性能工程落地的4个阶段(21)

性能工程按照不同的内容和目的划分为4个阶段,分别是线下单系统压测分析阶段、线下全链路压测分析阶段、生产只读业务压测及容量评估阶段、生产读写业务全链路压测及容量评估阶段。(也可以理解为一个企业性能测试体系的发展阶段) 线下单系统压测分析阶段 针对单系统的性能…

那些你不得不知道的CSS知识点

目录 1、CSS的盒子模型1.1 css盒子模型有哪些&#xff1a;1.2 css盒子模型的区别1.3 通过css如何转换css盒子模型 2、css优先级3、line-height和height的区别4、如果用css画一个三角形&#xff1f;5、CSS选择符有哪些&#xff1f;哪些属性可以继承&#xff1f;6、一个盒子不给宽…

《已解决 Go Error: panic: runtime error: index out of range BUG 》

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f405;&#x1f43e; 猫头虎建议程序员必备技术栈一览表&#x1f4d6;&#xff1a; &#x1f4a1; 后端技术 Backend: 编程语言: &#…

【计算机视觉】Image Data Augmentation算法介绍合集(二)

文章目录 一、Random Grayscale二、GridMask三、Adversarial Color Enhancement四、Population Based Augmentation五、MaxUp六、SuperpixelGridCut, SuperpixelGridMean, SuperpixelGridMix七、InstaBoost八、Random Mix-up九、Sample Redistribution十、Batchboost十一、CutB…

人工智能前景如何?人工智能所对应到企业中是什么样的岗位呢?

目录 分布式计算在硕士阶段主要是在干什么呢&#xff0c;主要修的课程是些什么呢&#xff1f; 分布式计算所对应到企业中是什么样的岗位呢&#xff1f; 分布式计算前景如何&#xff1f; 人工智能在硕士阶段主要是在干什么呢&#xff0c;主要修的课程是些什么呢&#xff1f;…

vue国际化教程

需求背景 项目需求要做国际化&#xff0c;结果网上找了好几篇文章&#xff0c;没有一个可以一次性搞定&#xff0c;现在这里总结一下。首先&#xff0c;我们分为两部分处理&#xff0c;一个是前端页面的静态文字&#xff0c;这个由前端vue.json自行处理。第二部分就是后端的错…

基于springboot漫画管理系统springboot001

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的管理系统应运而生&#xff0c;各行各业相继进入信息管理时代&…

vue+element-ui el-descriptions 详情渲染组件二次封装(Vue项目)

目录 1、需求 2.想要的效果就是由图一变成图二 ​编辑 3.组件集成了以下功能 4.参数配置 示例代码 参数说明 5,组件 6.页面使用 1、需求 一般后台管理系统&#xff0c;通常页面都有增删改查&#xff1b;而查不外乎就是渲染新增/修改的数据&#xff08;由输入框变成输…

十四、流式编程(2)

本章概要 中间操作 跟踪和调试流元素排序移除元素应用函数到元素在 map() 中组合流 中间操作 中间操作用于从一个流中获取对象&#xff0c;并将对象作为另一个流从后端输出&#xff0c;以连接到其他操作。 跟踪和调试 peek() 操作的目的是帮助调试。它允许你无修改地查看…

CMU 15-445 Project #3 - Query Execution(Task #1、Task #2)

文章目录 一、题目链接二、准备工作三、SQL 语句执行流程四、BusTub 表结构五、Task #1 - Access Method Executors5.1 顺序扫描执行器5.2 插入执行器5.3 删除执行器5.4 索引扫描执行器 六、Task #2 - Aggregation & Join Executors6.1 聚合执行器6.2 循环连接执行器6.3 索…

设计模式Java实战

文章目录 一、前置1.1 目的1.2 面向对象1.3 接口和抽象类 二、七大设计原则2.1 单一职责2.2 接口隔离原则2.3 依赖倒转原则2.4 里氏替换原则2.5 开闭原则2.6 不要重复原则2.7 迪米特最少知道法则 三、23种设计模式3.1创建型&#xff1a;创建对象3.1.1 单例模式定义最佳实践场景…

【基础篇】ClickHouse 表引擎之集成Kafka

文章目录 0.前言1.集成示例官方教程示例1&#xff1a;示例2&#xff1a;配置Kerberos 支持 虚拟列 参考文档 0.前言 ClickHouse为了方便与Kafka集成&#xff0c;提供了一个名为Kafka引擎的专用表引擎。Kafka引擎允许你在ClickHouse中创建一个表&#xff0c;这个表的数据源来自…

react的状态管理简单钩子方法

1.recoil useProvider文件: import { atom, useRecoilState } from recoil;const initState atom({key: initState,default: {state: [],}, })// 将业务逻辑拆分到一个单独文件中&#xff0c;方便进行状态管理 export interface StateProps {id: number;text: string;isFini…