网络分层模型( OSI、TCP/IP、五层协议)

1、网络分层模型

计算机网络是一个极其复杂的系统。想象一下最简单的情况:两台连接在网络上的计算机需要相互传输文件。不仅需要确保存在一条传输数据的通路,还需要完成以下几项工作:

  1. 发起通信的计算机必须激活数据通路,这包括发出信令以确保数据能够在通路上正确发送和接收。
  2. 需要告知网络如何识别接收数据的计算机。
  3. 发起通信的计算机必须确认对方计算机已开机并且连接到网络。
  4. 应用程序需要明确对方计算机中的文件管理程序是否准备好接收和存储文件。
  5. 如果计算机的文件格式不兼容,至少一台计算机需要进行格式转换。
  6. 需要确保针对各种差错和意外事件(如数据传输错误、重复或丢失,网络结点交换机故障等)有可靠的措施,以确保对方计算机最终能够正确接收文件。

因此,相互通信的两个计算机系统必须高度协调合作,这种协调是相当复杂的。为了设计这样复杂的计算机网络,早在ARPANET设计初期就提出了分层方法。通过分层,庞大而复杂的问题被转化为较小的局部问题,更易于研究和解决。1974年,IBM公司推出了系统网络体系结构SNA(System Network Architecture),这一网络标准也是按照分层方法制定的。至今,使用IBM大型机构建的专用网络仍在使用SNA。随后,其他公司也纷纷推出具有不同名称的体系结构。

全球经济的发展导致对不同网络体系结构的用户迫切希望能够互相交换信息。为实现不同计算机网络体系结构的互连,国际标准化组织ISO于1977年设立了专门机构。他们提出了试图使世界范围内各种计算机互连成网的标准框架——开放系统互连基本参考模型OSI/RM(Open Systems Interconnection Reference Model),简称OSI。"开放"指的是非独家垄断。因此,只要遵循OSI标准,一个系统就可以与世界上任何其他遵循相同标准的系统进行通信。

2、网际互联及OSI七层模型

开放系统互连基本参考模型OSI/RM(Open Systems Interconnection Reference Model)包括七层模型,分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
在这里插入图片描述

在这里插入图片描述

  1. 物理层(Physical Layer)

    • 作用:主要任务是在物理媒体上实现比特流的透明传输
    • 主要功能:定义接口特性、定义传输模式(单工、半双工、双工)、定义传输速率、比特同步、比特编码
    • 传输单位:bit(比特)
    • 典型协议:Rj45、802.3
    • 设备:集线器(Ethernet Hub)、转发器(Repeater);
    • 备注:没有寻址的概念;
  2. 数据链路层(Data Link Layer)

    • 作用:主要任务是把网络层传下来的数据报组装成帧;
    • 传输单位:frame(帧)
    • 主要功能:成帧(定义帧的开始和结束)、差错控制(帧错+位错)、流量控制、访问(接入)控制(控制对信道的访问)
    • 典型协议:SDLC、HDLC、PPP、STP
    • 设备:以太网交换机(Ethernet Switch)、桥接器(bridge,网桥);
    • 备注:交换机通过MAC地址转发数据,逻辑链路控制;
  3. 网络层(Network Layer)

    • 作用:主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务;
    • 主要功能:路由选择、流量控制、差错控制、拥塞控制;
    • 典型协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF;
    • 传输单位:packet(数据包);
    • 设备:路由器(Router)
    • 备注:实现寻址
  4. 传输层(Transport Layer)

    • 作用:主要任务是负责主机中两个进程的通信,即端到端的通信;
    • 主要功能:可靠传输、差错控制、流量控制、复用分用;
    • 典型协议:TCP、UDP、SPX、port(65535个端口)、EIGRP、OSPF;
    • 传输单位:fragment(段);
    • 设备:网关(gateway);
    • 备注:负责网络传输和会话建立;
  5. 会话层(Session Layer)

    • 作用:主要任务是负责在数据传输中设置和维护计算机网络中两台计算机之间的通信连接
    • 主要功能:建立、管理、终止会话;使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步;
    • 典型协议:NFS、SQL、ASP、PHP、JSP、RSVP(资源源预留协议);
    • 传输单位:message(报文);
    • 设备:网关(gateway);
    • 备注:负责会话建立;
  6. 表示层(Presentation Layer)

    • 作用:主要任务是用于把数据转换为能与接收者的系统格式兼容并适合传输的格式;
    • 典型协议:ASCII, JPEG. PNG, MP3. WAV, AVI;
    • 传输单位:message(报文);
    • 设备:网关(gateway);
    • 备注:可以提供加密服务;
  7. 应用层(Application Layer)

    • 作用:主要任务是控制应用程序;
    • 典型协议:telnet, SSH, HTTP, FTP, SMTP, RIP, BGP
    • 传输单位:message(报文);
    • 设备:网关(gateway);
    • 备注:为应用程序提供网络服务;

OSI模型的传输数据封装过程如下:

在这里插入图片描述

3、TCP/IP 四层模型:

ARPA 在研究 ARPAnet 时提出了 TCP/IP 模型,模型从低到高依次为网络接口层(对应 OSI
参考模型中的物理层和数据链路层)、网际层、传输层和应用层(对应 OSI参考模型中的会话层
表示层和应用层)。TCP/P 由于得到广泛应用而成为事实上的国际标准。
在这里插入图片描述

  1. 应用层(Application Layer):应用层是最靠近用户的一层,负责处理特定应用程序的通信细节。在这一层,各种应用程序通过使用不同的协议来实现数据交换,比如HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)等。

  2. 传输层(Transport Layer):传输层主要负责在网络中传输数据。其中的TCP协议提供了可靠的数据传输机制,确保数据的完整性和顺序性;而UDP协议提供了一种更快速但不可靠的传输方式。

  3. 网络层(Network Layer):网络层负责在不同网络之间传输数据包。其中的IP协议定义了数据包的传输规则和地址分配,确保数据能够正确地从源主机传输到目标主机。

  4. 数据链路层(Data Link Layer):数据链路层负责在直接相连的两个节点之间传输数据。它将数据包转换为比特流,并控制数据在物理介质上传输的方式。

TCP/IP模型与OSI模型相比,将传输层和网络层合并到一起,更加符合实际网络通信的需求。因此,在实际应用中,TCP/IP模型被广泛应用于互联网和局域网等网络环境中,成为了网络通信的基础。

TCP/IP模型的传输数据封装过程如下:
在这里插入图片描述

4、五层参考模型:

OSI的七层协议体系结构提出的概念清晰,理论完整,但它既复杂又不够实用。相比之下,TCP/IP体系结构则更简洁实用,并且在实际应用中得到了广泛应用。TCP/IP是一个四层体系结构,包括应用层、运输层、网际层和网络接口层(网际层的命名强调解决不同网络间的互连问题)。

然而,实质上,TCP/IP只有最上面的三层被广泛使用,因为最底层的网络接口层并没有明确定义的内容。因此,在学习计算机网络原理时,通常采取综合OSI和TCP/IP的优点的办法,采用一种只有五层协议的体系结构。这种简化的五层模型既简洁又能很清楚地阐述概念。为了方便,有时也将最底下的两层称为网络接口层。

5层网络模型是一种简化后的网络体系结构,通常用于描述计算机网络中不同层级的功能和协议。这种模型包括以下五个层级:

  1. 应用层(Application Layer):应用层是最靠近用户的一层,负责处理特定应用程序的通信细节。在这一层,各种应用程序通过使用不同的协议来实现数据交换,比如HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)等。

  2. 传输层(Transport Layer):传输层主要负责在网络中传输数据。其中的TCP(Transmission Control Protocol)提供了可靠的数据传输机制,确保数据的完整性和顺序性;而UDP(User Datagram Protocol)提供了一种更快速但不可靠的传输方式。

  3. 网络层(Network Layer):网络层负责在不同网络之间传输数据包。其中的IP(Internet Protocol)定义了数据包的传输规则和地址分配,确保数据能够正确地从源主机传输到目标主机。

  4. 数据链路层(Data Link Layer):数据链路层负责在直接相连的两个节点之间传输数据。它将数据包转换为比特流,并控制数据在物理介质上传输的方式。

  5. 物理层(Physical Layer):物理层是网络模型的最底层,负责传输原始比特流,将数据转换为电信号或光信号,并在物理媒介(如网线、光纤)中进行传输。

这种5层网络模型综合了OSI模型和TCP/IP模型的优点,简化了网络体系结构并且清晰地划分了不同层级的功能。通过这种模型,我们可以更好地理解和描述计算机网络中各个部分的作用和协作关系。

5层网络模型的传输数据封装过程如下:

在这里插入图片描述

5. OSI、TCP/IP、五层协议的体系结构对比

在这里插入图片描述

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

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

相关文章

采药 刷题笔记 (动态规划)0/1背包

P1048 [NOIP2005 普及组] 采药 - 洛谷 | 计算机科学教育新生态 动态规划 0/1背包 的本质在于继承 一行一行更新 上一行是考虑前i个物品的最优情况 当前行是考虑第i1个物品的情况 当前行的最优解 来自上一行和前i个物品的最优解进行比较 如果当前装了当前物品&#xff…

汽车操作系统详解

目录 1. 车控汽车操作系统 2. 车载汽车操作系统 3. OEM定制操作系统 刚开始工作的时候,接触的是汽车控制相关的开发工作,天真地以为汽车操作系统就是指实时操作系统,例如FreeRTOS、OSEK OS、AUTOSAR OS等等;然而,随…

Shire 1.1 发布:更强大的交互支持,升级 AI 智能体与 IDE 的整合体验

在经过多个项目上的试用后,我们进入了持续的修修补补,以及功能的增强阶段。终于,我们发布了 Shire 1.1 版本,这个版本带来了更强大的交互支持, 多功能升级 AI 与 IDE 的整合体验。 交互:丰富与大量 IDE 插件…

Springboot(四十九)SpringBoot3整合jetcache缓存

上文中我们学习了springboot中缓存的基本使用。缓存分为本地caffeine缓存和远程redis缓存。现在有一个小小的问题,我想使用本地caffeine缓存和远程redis缓存组成二级缓存。还想保证他们的一致性,这个事情该怎么办呢? Jetcache框架为我们解决了这个问题。 ‌JetCache‌是一个…

学习笔记052——Spring Boot 自定义 Starter

文章目录 Spring Boot 自定义 Starter1、自定义一个要装载的项目2、创建属性读取类 ServiceProperties3、创建 Service4、创建自动配置类 AutoConfigration5、创建 spring 工程文件6、将项目打成 jar 包7、jar 打包到本地仓库8、配置application.yml Spring Boot 自定义 Starte…

专业清洁艺术,还原生活本色——友嘉高效除菌洗碗机

生活中,每个人都渴望拥有一份洁净的生活环境。而家,作为我们最温馨的港湾,对洁净的追求更是无时无刻不在进行。每当饭后的欢声笑语过后,面对一堆沾满油渍、藏匿着细菌的餐具,我们不禁感到一丝烦忧。然而,有…

C++类与对象(二)

一、默认成员函数 class A{}; 像上面一样,一个什么都没有的类叫做空类,但是这个什么都没有并不是真正的什么都没有,只是我们看不见,空类里面其实是有6个默认成员函数的,当我们在类里面什么都不写的时候,编译…

PHP RabbitMQ连接超时问题

问题背景 Error: The connection timed out after 3 sec while awaiting incoming data 看到这个报错,我不以为意,认为是我设置的超时时间不够导致的,那就设置长一点 Error: The connection timed out after 300 sec while awaiting incom…

在21世纪的我用C语言探寻世界本质——字符函数和字符串函数(2)

人无完人,持之以恒,方能见真我!!! 共同进步!! 文章目录 一、strncpy函数的使用二、strncat函数的使用三、strncmp函数的使用四、strstr的使用和模拟实现五、strtok函数的使用六、strerror和perr…

使用CertD全自动申请和部署SSL证书至服务器

1. Certd简介 Certd是一个开源的证书生命周期管理系统,专注于帮助开发者和组织更加便捷、安全地管理他们的数字证书。无论是在小型个人项目中还是大型企业环境中,Certd都能提供强大的功能,确保您的HTTPS服务始终处于安全状态。 1.1. 技术分…

uniapp实现加密Token并在每次请求前动态更新(vue、微信小程序、原生js也通用!)

导语:在Web开发中,Token作为一种身份验证的机制,被广泛应用于前后端交互过程中。本文将为大家介绍如何在每次请求前动态设置加密的Token,并在请求一次后使Token值加1(或其他动态改变的逻辑),从而…

idea打jar包或引入包

一,通过Maven的方式打jar包 将相要打包的依赖写入到pom.xml文件中,如下所示: 然后使用打包命令: maven package 就能按照pom.xml中设置的打包了。 二,通过idea打包 前段时间遇到一个情况是使用Maven打包的时候src主程…

uniapp在App端引用echarts组件,解决无法渲染formatter问题

在App端option里面直接写上formatter,是无法执行方法的。 解决办法: 需要在echarts组件里面给options再重新赋值 效果图

pytest(二)excel数据驱动

一、excel数据驱动 excel文件内容 excel数据驱动使用方法 import openpyxl import pytestdef get_excel():excel_obj openpyxl.load_workbook("../pytest结合数据驱动-excel/data.xlsx")sheet_obj excel_obj["Sheet1"]values sheet_obj.valuescase_li…

ubuntu 和windows时区设置和时间修改

windows 时区设置 查看当前时区 tzutil /g 列出可选的时区,参考 时区列表备份 tzutil /l 设置时区 tzutil /s "China Standard Time" 修改日期和时间,直接输入date或者time修改 ubuntu 时区设置 timedatectl指令列表:list-timez…

卷积神经网络(CNN)的层次结构

卷积神经网络(CNN)是一种以其处理图像和视频数据的能力而闻名的深度学习模型,其基本结构通常包括以下几个层次,每个层次都有其特定的功能和作用: 1. 输入层(Input Layer): 卷积神经网…

图像与文字的创意融合:使用Python进行视觉艺术创作

原图: 处理过的: import cv2 import numpy as np from PIL import Image, ImageDraw, ImageFont import os# 字体文件路径 vfont ./fonts/方正像素字体.ttfdef text_paint(img_path, text, font_path, font_size):# 使用 OpenCV 加载图片img cv2.i…

【Markdown编辑器】

Markdown编辑器 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个注脚注…

Vue 90 ,Element 13 ,Vue + Element UI 中 el-switch 使用小细节解析,避免入坑(获取后端的数据类型自动转变)

目录 前言 在开发过程中,我们经常遇到一些看似简单的问题,但有时正是这些细节问题让我们头疼不已。今天,我就来和大家分享一个我在开发过程中遇到的 el-switch 使用的小坑,希望大家在使用时能够避免。 一. 问题背景 二. 问题分…

el-select 修改样式

这样漂亮的页面,搭配的却是一个白色风格的下拉框 ,这也过于刺眼。。。 调整后样式为: 灯红酒绿总有人看着眼杂,但将风格统一终究是上上选择。下面来处理这个问题。 分为两部分。 第一部分:是修改触发框的样式 第二部…