【计算机网络】网络模型

OSI七层网络模型

七层模型如图所示

每层的概念和功能

  1. 物理层

    职责:将数据以比特为单位,通过不同的传输介质将数据传输出去。

    主要协议:物理媒介相关的协议,如RS232,V.35,以太网等。

  2. 数据链路层

    职责:

    • 将物理层的比特数据加上MAC地址封装成帧

    • 对数据差错校验

    • 通过流控制来平衡传输端和发送端之间的不对称。

    主要协议:有点对点协议PPP(Point-to-Point Protocol)高级数据链路控制协议HDLC(High-Level Data Link Control)、以太网协议等。

  3. 网络层

    职责:地址管理和路由,路由器根据数据包中的IP地址路由转发

    主要协议:IP协议、网关协议(ARP)、路由协议(RIP、OSPF、BGP等)等。

  4. 传输层

    职责:

    • 在网络层的端到端基础上实现了服务进程到服务进程之间的传输。

    • 管理两个节点的传输,负责可靠传输和不可靠传输。

    • 通过流量控制来保证传输速度。

    • 通过错误控制来进行数据的完整接收。

    主要协议:TCP协议、UDP协议。

  5. 会话层

    职责:

    • 建立会话后,网站服务可以保持用户的登录状态的。比如可以记录用户的账号密码,避免多次重复登录。

    • 负责同步服务。比如上次登录时观看电影的状态,在下一次登录后依然时上次退出前的状态。(历史记录、观看进度等等)

    会话:主要实现了不同计算机之间的会话控制,为高层协议提供一个传输数据的会话环境。

  6. 表示层

    职责:

    • 负责数据的编码和解码

    • 负责数据的加密

    • 负责数据的压缩

  7. 应用层

    职责:

    • 负责应用之间的交互,包括文件传输、电子邮件、远程登录等。

    主要协议:HTTP、FTP、SMTP、DNS、TELNET、SNMP等。

各层之间的数据名称、负责的地址及服务功能都有多不同:

客户端请求服务器端的过程

1.客户端发送报文给服务器端。(应用层)

2.报文来到传输层,将报文和源端口、目标端口一起封装成段。

3.段来到网络层,将段和源IP、目标IP封装成包。

目标IP和源IP一般在不同的网络分区,因此需要通过默认网关。

4.使用ARP协议来广播获取网关MAC,将包数据和客户端MAC、目标MAC(广播地址)封装成帧,发送给交换机。

  • 交换机中记录着接口和MAC地址,由交换机帮忙广播;

  • 目标网关收到广播后,解析帧,会发现发送端的MAC地址;

  • 再解析包中的信息,就会发现发送端的IP地址;

  • 网关就会把发送端的ip地址和MAC地址进行关联;

  • 网关将包信息和客户端MAC地址、网关MAC地址封装成帧,响应给客户端;

  • 客户端解析帧信息,就可以知道网关地址。

    这部分就是ARP协议。

5.客户端中在数据链路层将包信息和源MAC、目标MAC封装成为帧发送给网关。

6.网关解析帧信息发现是发送给自己的,再解析包信息,发现了目标IP地址;

7.目标IP在另一个网络中,通过路由转发,将数据发送给目标网络。

8.服务器网关将包信息和源MAC地址、目标MAC地址封装成帧,发动给服务器。

服务器网关获取的是目标网络IP,如果这时找不到对应的MAC地址,则可以通过ARP协议进行广播。

9.服务器收到数据帧之后逐个解析,发现MAC和IP地址都是自己。进而解析段,发现源端口号和目标端口号,最终将报文交给端口对应的服务去处理进行相应。

五层网络模型

四层网络模型

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

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

相关文章

Spring AI

Spring AI 文章目录 Spring AI关于 Spring AI使用Spring CLISpring Initializr添加 Milestone 和 Snapshot Repositories依赖管理为特定组件添加依赖项Embeddings ModelsChat ModelsImage Generation ModelsVector Databases 示例工程 关于 Spring AI github : https://github…

mapbox中filter表达式

起初让我研究的原因使一个报错: layers.TRSA.filter[2][1][2]: string, number, or boolean expected, array found 我很确定筛选条件没问题,那么为何报错呢?百度,找到原因: https://docs.mapbox.com/style-spec/refe…

【WSL报错】执行:wsl --list --online;错误:0x80072ee7

【WSL报错】执行:wsl --list --online;错误:0x80072ee7 问题情况解决方法详细过程 问题情况 C:\Users\17569>wsl --list --online 错误: 0x80072ee7 解决方法 开系统代理,到外网即可修复!!!!&#x…

电商市场已饱和,各大平台都在卷价格?那是你不了解视频号小店

大家好,我是电商笨笨熊 现在做电商除了疯狂内卷就是疯狂内卷; 各大平台都是内卷价格,嘴上说着不想成为拼多多一样的平台,实际做的却是低价再低价,都希望能通过低价吸引用户提高转化; 因此现在很多玩家对…

windows驱动系列-概述

之前一直长期做windows驱动开发,但是一直将这些技术知识点进行整理和总结,最近又开始做一套新的驱动,于是就打算趁这个机会,将一些windows驱动开发的技术知识系统性的整理出来。 目录如下: windows驱动开发知识-设计目标 windo…

第十四章大数据和数据科学4分

14.1 引言 14.1.3 科学理念 1.数据科学 数据科学将数据挖掘、统计分析和机器学习与数据集成整合,结合数据建模能力,去构建预测模型、探索数据内容模式。 数据科学依赖于: 1)丰富的数据源。具有能够展示隐藏在组织或客户行为中不…

jpa分页插件对象Pageable出现了错误异常如何解决?

jpa分页插件对象Pageable出现了错误异常如何解决?! 一般来说,遇到这种的错误异常情况,通常情况 下,都是因为程序员把传递的分页页码数字写错了。 正常情况下,分页页码起始数字应该是0;而不是1…

区块链钱包开发——专业区块链开发

随着区块链技术的发展,钱包开发成为了一项至关重要的任务。本文将探讨区块链钱包开发的重要性,分析当前面临的挑战,并展望未来的发展趋势。 一、区块链钱包概述 区块链钱包是一种用于存储和管理数字货币的软件工具。它为用户提供了一个安全的…

揭开ChatGPT面纱(2):OpenAI主类源码概览

文章目录 〇、使用OpenAI的两个步骤一、初始化方法__init__()1.源码2.参数解析 二、提供的接口1.源码2.接口说明主要接口说明 OpenAI版本1.6.1 〇、使用OpenAI的两个步骤 在上一篇博客中,我实现并运行了一个OpenAI的demo,我们可以发现,想要使…

Unity的旋转实现一些方法总结(案例:通过输入,玩家进行旋转移动)

目录 1. Transform.Rotate 方法 使用 2. Transform.rotation 或 Transform.localRotation 属性与四元数 使用方式: 小案例 :目标旋转角度计算:targetRotation(Quaternion类型) 玩家发现敌人位置,玩家…

ubuntu20 中设置桌面背景任务

1. 下载conky 使用 Conky 在 Ubuntu 中显示信息,例如你的阅读计划,可以分几个步骤来完成。Conky 是一款灵活的轻量级系统监视器,能够在桌面上显示各种信息。以下是基本的设置步骤: 安装 Conky 首先,你需要在 Ubuntu…

js面试---闭包、作用域及作用域链、执行上下文

1、什么是闭包 闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,创建的函数可以访问到当前函数的局部变量。 闭包的作用: a、使我们在函数外部能够访问到函数内部的变量。通过使用闭包…

道可云元宇宙每日资讯|济南起步区:加快建设元宇宙政务大厅

道可云元宇宙每日简报(2024年4月23日)讯,今日元宇宙新鲜事有: 济南起步区:加快建设元宇宙政务大厅 济南起步区以“元宇宙”赋能智慧政务,集成政务服务智能办理、数字人智能引导交互服务、沉浸式漫游体验、…

【学习记录】autoware标定相机与激光雷达外参

一、autoware选择 这里踩了好几个坑,首先autoware作为一个无人驾驶知名框架,其内部实际上是有两套标定的东西的,这一点绝大多数博客没有提到。其中最常用的是一个叫标定工具箱的东西,这个ros包已经在1.10往后的版本中被删掉了&am…

hive SQL谓词下推

Sql 优化:谓词下推(PPD 定义 谓词下推的概念其实出现在sql中,在关联查询时(join,left join ,right join),因为涉及两个大表之间的关联(特别是在hive)造成资源消耗会比较大, 因为建议在join之前先将两个表进行过滤(hive…

Android 获取sha1的快速有效的简单方法

第一步 下载apk 点击下载(https://download.csdn.net/download/xiaohui2015/9751428) 第二步 试用Windows键R键打开命令行 输入 adb install把apk用鼠标左键拖动到命令行自动输入路径 回车安装 第三步 打开apk 选择你要查看的apk,一键…

Spring 1、初识Spring

初识Spring 了解Spring家族了解Spring发展史Spring Framework系统架构学习路线 了解Spring家族 官网spring.io Spring形成了一种开发的生态圈,Spring提供了若干个项目,每个项目用于完成特定的功能。 Spring Framework(最基础的东西&#x…

qemu参考

手把手教你搭建ARM64 QEMU环境 - 知乎

SpringCloud Alibaba--nacos配置中心

目录 一.基础介绍 1.1概念 1.2 功能 二.实现 2.1 依赖 2.2 新建配置文件 2.3 克隆 2.4 配置bootstap.yml文件 三.测试 一.基础介绍 1.1概念 在微服务架构中,配置中心就是统一管理各个微服务配置文件的服务。把传统的单体jar包拆分成多个微服务后&#xf…

NameError: name ‘_mysql‘ is not defined 安装mysqlclient报错

安装mysqlclient报错 The error message you’re seeing indicates that the pkg-config utility is not installed on your system, or it is not able to find the necessary configuration for mysqlclient. pkg-config is used to determine the compilation options for …