玄子Share-计算机网络参考模型

玄子Share-计算机网络参考模型

分层思想

利用七层参考模型,便于在网络通信过程中,快速的分析问题,定位问题并解决问题

  • 将复杂的流程分解为几个功能相对单一的子过程

  • 整个流程更加清晰,复杂问题简单化

  • 更容易发现问题并针对性的解决问题

计算机网络介绍

计算机网络是指一组计算机或网络设备通过有线或者无线连接起来,按照一定的规则,进行通信的集合

覆盖范围分类

  • 广域网(WAN):覆盖范围是国家之间
  • 城域网(MAN):覆盖范围是城市之间
  • 局域网(LAN):覆盖范围是家庭、公司或校园内的网络

应用范围分类

  • 公用网(电信、联通、移动)
  • 专用网(校园网、企业网)

OSI 七层参考模型

国际标准化组织(ISO)1984年颁布了开放系统互连(OSI)参考模型,一个开放式体系结构,将网络分为七层

分层功能交换单元
应用层网络服务与最终用户的一个接口APDU
表示层数据的表示、安全、压缩PPDU
会话层建立、管理、中止会话SPDU
传输层定义传输数据的协议端口号,以及流控和差错校验报文(数据段,Segment)
网络层进行逻辑地址寻址,实现不同网络之间的路径选择分组(数据包,Packet)
数据链路层建立逻辑连接,进行硬件地址寻址,差错校验等功能数据帧(Frame)
物理层建立、维护、断开物理连接比特流(Bit)

物理层

物理层(Physical Layer)的主要功能是完成相邻节点之间原始比特流的传输

  • 用于建立、断开、维护物理连接
  • 以比特流的方式进行数据传输,传输信号使用0和1表示
  • 可以数据双向传输(收发数据可以同时进行,即数据的双向传输)
  • 对应设备:网卡

数据链路层

数据链路层(Data Link Layer)负责将上层数据封装成固定格式的帧

  • 把传输的数据帧进行封装和解封装,数据链路层传输的数据称为数据帧
  • 数据帧封装的地址:源MAC地址、目标MAC地址
  • 数据校验功能
  • 对应设备:交换机

网络层

网络层(Network Layer)的主要功能是实现数据从源端到目的端的传输

  • 把传输的数据包进行封装和解封装,网络层传输的数据称为数据包
  • 数据包的地址:源IP地址、目标IP地址
  • 根据包头字段中的地址进行选路(路由器中的路由表进行数据包的转发)
  • 对应设备:路由器

传输层

传输层(Transport Layer)的主要功能是实现网络中不同主机上用户进程之间的数据通信

  • 实现用户进程间通信,如:在计算机上安装QQ进程
  • 承上启下,呈上:对应的会话层或应用层,启下:对应的网络层
  • 对应设备:防火墙

会话层

会话层(Session Layer)允许不同机器上的用户之间建立会话关系

  • 建立用户间的会话关系
  • 对应设备:计算机/应用程序

表示层

表示层(Presentation Layer)用于完成某些特定功能,对这些功能人们常常希望找到普遍的解决方法,而不必由每个用户自己来实现

  • 定义传输数据的标准格式(语法和语义)
  • 对传输的数据进行压缩解压缩、加密解密、编码解码
  • 对应设备:计算机/应用程序

应用层

联网的目的在于支持运行于不同计算机上的进程之间的通信,而这些进程则是为用户完成不同任务而设计的

  • 提供与用户的接口(定义两端使用统一程序接口)
  • 对应设备:计算机/应用程序

OSI 每层的名称及作用

  • 物理层:通过网卡,网线完成比特流传输
  • 数据链路层:将上层数据封装成固定的帧格式(MAC地址头部)
  • 网络层:将数据包从源地址准确无误的转发到目的地址
  • 传输层:实现数据网路中不同主机上用户进程之间的数据通信
  • 会话层:建立用户之间的会话连接,以便于数据的传输
  • 表示层:在传输数据时,实现对数据的加密解密,压缩解压等功能
  • 应用层:发送方与接收方在不同的计算机上通过进程实现数据的传输

TCP/IP 五层模型

OSI 与 TCP/IP

  • OSI 七层参考模型,是一种理论参考模型,也称为经典模型

  • 实际应用中,采用是 TCP/IP 五层模型,即把会话层、表示层、应用层合并为一层应用层

  • OSI 七层参考模型是由 TCP/IP 五层模型演进而来的

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

TCP/IP 协议族的组成

分层协议
应用层HTTP,FTP,TFTP,SMTP,SNMP,DNS
传输层TCP,UDP
网络层ICMP,IGMP,IP,ARP,RARP
数据链路层,物理层由底层网络定义的协议

TCP/IP 每层对应的协议

  • 网络层

    • IP(网际协议)
    • ARP(地址解析协议)
    • RARP(逆地址解析协议)
    • ICMP(网际控制报文协议)
    • IGMP(网际组管理协议)
  • 传输层

    • TCP(传输控制协议)
    • UDP(数据报文协议)
  • 应用层

    • HTTP(超文本传输协议)
    • HTTPS(安全的超文本传输协议)
    • FTP(文件传输协议)
    • SMTP(简单邮件传输协议)
    • DNS(域名解析协议)

TCP/IP 五层模型每层对应的设备

  • 物理层:网卡,网线
  • 数据链路层:交换机
  • 网络层:路由器
  • 传输层:防火墙
  • 应用层:计算机应用程序

TCP/IP 封装与解封装的过程

发送方到接收方:数据封装过程从高到低

  • 应用层:上层数据
  • 传输层:TCP头部+上层数据
  • 网络层:IP头部+TCP头部+上层数据
  • 数据链路层:MAC头部+IP头部+TCP头部+上层数据
  • 物理层:转换为比特流通过网卡在网线中传输到接收方

接收方到发送方:数据解封过程从低到高

  • 物理层:通过网卡网线接收发送方数据
  • 数据链路层:去掉 MAC 头部:IP 头部+TCP 头部+上层数据
  • 网络层:去掉 IP 头部:TCP 头部+上层数据
  • 传输层:去掉:TCP 头部:上层数据
  • 应用层:还原成上层数据,通过计算机应用程序接收

TCP 与 UDP 两种协议的区别

  • 应用场景
    • TCP协议:应用于外部网络,即Internet 互联网,主要应用于大型网络服务,如Web服务,数据服务,邮件服务
    • UDP协议:应用于内部网络,即公司网络,主要用于及时通信软件
  • 安全性
    • TCP协议:通过三次握手,四次挥手,以确保数据传输的安全
    • UDP协议:在数据传输过程中,不进行数据安全的校验,所以数据传输过程中安全性低
  • 传输效率
    • TCP协议:传输数据慢,效率较低
    • UDP协议:传输数据快,效率高

TCP/IP 每层对应的交换单元

  • 应用层:上层数据
  • 传输层:数据段
  • 网络层:数据包
  • 数据链路层:数据帧
  • 物理层:比特流

玄子Share-计算机网络参考模型 2024-02-25

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

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

相关文章

【Java开发指南 | 第十七篇】Java 方法

读者可订阅专栏:Java开发指南 |【CSDN秋说】 文章目录 简介语法实例构造方法 简介 Java中的方法是用来执行特定任务的一组语句,可以重复使用。它们包含在类或对象中,并通过调用来执行。 举个例子,println() 是一个方法&#xff…

动态内存管理 柔性数组

文章目录 动态内存函数 malloc freecallocrealloc 重新开辟空间realloc 也可以第一个参数为NULL,则是直接开辟内存,类似于malloc用法 常见的动态内存错误对空指针进行解引用操作对开辟的内存越界访问对非动态开辟的内存使用free释放使用free释放动态开辟…

(四)相关性分析 学习简要笔记 #统计学 #CDA学习打卡

目录 一. 相关性分析简介 二. 相关性分析方法 1)连续型变量vs连续型变量:Pearson/Spearman (a)Pearson (b)Spearman等级相关系数 2)二分类变量(自然)vs连续型变量&…

macos知名的清理软件 cleanmymac和腾讯柠檬哪个好 cleanmymacx有必要买吗

MacOS是一款优秀的操作系统,但是随着使用时间的增加,它也会产生一些不必要的垃圾文件,占用磁盘空间和内存资源,影响系统的性能和稳定性。为了保持MacOS的清洁和高效,我们需要使用一些专业的清理软件来定期扫描和清除这…

【Golang】Gin教学-获取请求信息并返回

安装Gin初始化Gin处理所有HTTP请求获取请求的URL和Method获取请求参数根据Content-Type判断请求数据类型处理JSON数据处理表单数据处理文件返回JSON响应启动服务完整代码测试 Gin是一个用Go(又称Golang)编写的HTTP Web框架,它具有高性能和简洁…

Event loop(Message loop)

事件循环(消息循环) 浏览器的进程模型 进程 程序运行需要有它自己专属的内存空间,可以把这块内存空间简单的理解为进程 每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要双方同意。 线程 …

【Linux学习】Linux权限(二)

文章目录 🚀Linux权限管理🚀修改文件的所有者🚀修改文件或目录的所属组🚀同时修改为念的拥有者与所属组🚀文件类型🚀file指令🚀目录权限🚀umask指令🚀粘滞位 &#x1f68…

网盘——私聊

在私聊这个功能实现中,具体步骤如下: 1、实现步骤: A、客户端A发送私聊信息请求(发送的信息包括双方的用户名,聊天信息) B、如果双方在线则直接转发给B,不在线则回复私聊失败,对方…

Sping源码(七)—ConfigurationClassPostProcessor创建流程

序言 前两篇文章介绍了invokeBeanFactoryPostProcessors的执行流程,和自定义实现BeanDefinitionRegistryPostProcessor类的方式方法。 这篇文章会主要介绍Spring启动加载xml时,ConfigurationClassPostProcessor类是如何加载到Spring中,并且…

【数学建模】最优旅游城市的选择问题:层次分析模型(含MATLAB代码)

层次分析法(The analytic hierarachy process,简称AHP)是一种常用的决策分析方法,其基本思路是将复杂问题分解为多个组成部分,然后对这些部分进行逐一评估和比较,最后得出最优解决方案。(例如&a…

JVM知识点总结二

参考文章:【Java面试题汇总】JVM篇(2023版)_jvm面试题2023-CSDN博客 1、说说你了解的JVM内存模型: JVM由三部分组成:类加载子系统、运行时数据区、执行引擎 JVM内存模型: 内存模型里的运行时数据区&#…

ruby 配置代理 ip(核心逻辑)

在 Ruby 中配置代理 IP,可以通过设置 Net::HTTP 类的 Proxy 属性来实现。以下是一个示例: require net/http// 获取代理Ip:https://www.kuaidaili.com/?refrg3jlsko0ymg proxy_address 代理IP:端口 uri URI(http://www.example.com)Net:…

机器学习 | 使用Scikit-Learn实现分层抽样

在本文中,我们将学习如何使用Scikit-Learn实现分层抽样。 什么是分层抽样? 分层抽样是一种抽样方法,首先将总体的单位按某种特征分为若干次级总体(层),然后再从每一层内进行单纯随机抽样,组成…

Django项目使用uwsgi+nginx部署上线

Django项目使用uwsginginx部署上线 前言settings 配置安装uwsgi 和配置uwsgi推荐配置文件启用wsgi不使用nginx的配置(不推荐)使用nginx的配置 安装 nginx和配置niginx 配置 运行参考资料 前言 代码已经开发完成,正式部署上线 settings 配置…

Redmi Turbo 3新品发布,天星金融(原小米金融)优惠加持护航新机体验

Redmi新十年使命不变,挑战不断升级。Redmi Turbo 3,作为Turbo系列的开篇之作,将自身定位为新生代性能旗舰,决心重塑中端性能新格局。据悉,Redmi Turbo 3于4月10日已正式发布。预售期间更是连续数日,蝉联小米…

SSL证书在HTTP与HTTPS中的角色差异是什么?

在互联网的广泛应用背景下,随着网络攻击和数据泄露事件频发,保障用户的数据安全已成为至关重要的议题。传统的HTTP协议在传输数据时不进行加密处理,导致数据在传输过程中暴露于潜在的窃听和篡改风险中,安全性薄弱。而通过引入SSL/…

解决Keil V5.38 和 ST-Link V3 Debug不能运行问题

目录 概述 1 问题描述 1.1 情况一 1.2 情况二 1.3 情况三 2 解决方法 2.1 认识Keil Mico Lib 2.2 使能Keil Mico Lib 3 验证 3.1 进入C程序Main验证 3.2 断点验证 3.3 上电重启验证 4 结论 笔者使用的验证代码下载地址: stm32-freeRTOS-queue资源-CSD…

微信小程序日期增加时间完成订单失效倒计时(有效果图)

效果图 .wxml <view class"TimeSeond">{{second}}</view>.js Page({data: {tiem_one:,second:,//倒计时deadline:,},onLoad(){this.countdown();},countdown(){let timestamp Date.parse(new Date()) / 1000;//当前时间戳let time this.addtime(2024…

k8s 部署 kube-prometheus监控

一、Prometheus监控部署 1、下载部署文件 # 使用此链接下载后解压即可 wget https://github.com/prometheus-operator/kube-prometheus/archive/refs/heads/release-0.13.zip2、根据k8s集群版本获取不同的kube-prometheus版本部署 https://github.com/prometheus-operator/k…

VSCode断点调试(ROS)

0、安装ros插件 在扩展商店中安装ROS插件&#xff08;Microsoft&#xff09; 1、修改CMakeList.txt # set(CMAKE_BUILD_TYPE "Release") // 注释Release模式 set(CMAKE_BUILD_TYPE "Debug") // 设置为Debug模式 # set(CMAKE_CXX_FLAGS_RELEASE &…