网络分层模型( 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、五层协议的体系结构对比

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity中使用Sqlite存储本地数据

sqlite-net sqlite下载页 我的环境:win11、unity团结1.3.4 1.下载sqlite-net,将SQLite.cs脚本导入Unity 2.下载各平台依赖项,如dll、aar等。导入Unity并设置 3.简单列子,打包测试 using System; using System.IO; using SQLi…

详解LeetCode地下城游戏(动态规划)——区分两种状态表示形式

地下城游戏 题目链接:174. 地下城游戏 状态表示: 按照以往题的表示,dp[i][j]表示:从起点(0,0)位置到达(i,j)位置时,所需的最小初始健康值。但是…

【JAVA】Java第十三节:String类(String相关方法,以及StrinBuftrer , StringBulder相关方法)

本文详细介绍了String类以及常用的String相关方法,以及StrinBuftrer , StringBulder相关方法的使用,建议有印象即可,不需要都记住,使用时去查取即可 一、创建一个String类型的变量 我们平时创建String类型的变量一般是第一种形式…

JavaWeb文件上传

文件上传总览 文件上传主要是指将本地文件(包括但不限于图片、视频、音频等)上传到服务器,提供其他用户浏览或下载的过程。在日常生活中,我们在很多情况下都需要使用文件上传功能,比如:发微博、发朋友圈等…

Doris的基础架构

Doris的基础架构 Frontend(FE):主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。Backend(BE):主要负责数据存储、查询计划的执行。 我的Github地址,欢迎大家加入我的开…

Shell test 命令

Shell test 命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。 数值测试 参数说明-eq等于则为真-ne不等于则为真-gt大于则为真-ge大于等于则为真-lt小于则为真-le小于等于则为真 实例 num1100 num2100 if test $[n…

Kafka的消费消息是如何传递的?

大家好,我是锋哥。今天分享关于【Kafka的消费消息是如何传递的?】面试题。希望对大家有帮助; Kafka的消费消息是如何传递的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Kafka 的消息传递是通过 消费者&#xff08…

Linux-ADC驱动实验

上一章我们讲解了如何给 ICM20608 编写 IIO 驱动,ICM20608 本质就是 ADC,因此纯粹的 ADC 驱动也是 IIO 驱动框架的。本章我们就来学习一下如何使用 I.MX6ULL 内部的 ADC,并且在学习巩固一下 IIO 驱动。 ADC 驱动源码简析 设备树下的 ADC 节点…

如何制作“优美”PPT

目录 1.免费PPT模板网站: 2.免费有较好质量的图片网站: 免费图片资源 免费透明PNG图片资源: 免费icon图片资源: 3.选择好的图片: 图片底色 4.要与不要 千万不要: 一定要: 6.一些建议…

SSRF对Redis进行内网渗透

SSRF对Redis进行内网渗透 一 环境搭建 准备一台服务器&#xff0c;开启lampp和redis&#xff0c;redis只允许内网访问 使用kali进行端口扫描&#xff0c;扫不到6379 使用kali连接redis&#xff0c;也连不上 ssrf漏洞代码 <?php ​$url $_GET[url]; ​// 创建一个cUR…

面经自测——死锁/死锁的必要条件/死锁的预防/进程通信的方式

前言 本文是作者专门用来自测Java后端相关面试题的&#xff0c;所有问题都是在牛客、知识星球或网上找到的最近最新的面试题&#xff0c;全文回答都是作者按自己的真实水平仿照真实环境的回答&#xff0c;所以答案不一定真实&#xff08;但回答一定真诚&#x1f923;&#xff0…

计算机网络研究实训室建设方案

一、概述 本方案旨在规划并实施一个先进的计算机网络研究实训室&#xff0c;旨在为学生提供一个深入学习、实践和研究网络技术的平台。实训室将集教学、实验、研究于一体&#xff0c;覆盖网络基础、网络架构、网络安全、网络管理等多个领域&#xff0c;以培养具备扎实理论基础…

React开发 - 技术细节汇总一

React简介 React 是一个声明式&#xff0c;高效且灵活的用于构建用户界面的 JavaScript 库。使用 React 可以将一些简短、独立的代码片段组合成复杂的 UI 界面&#xff0c;这些代码片段被称作“组件”。 ui render (data) -> 单向数据流 MVC // model var myapp {}; // …

嵌入式蓝桥杯学习4 lcd移植

cubemx配置 复制前面配置过的文件 打开cubemx&#xff0c;将PB8,PB9配置为GPIO-Output。 点击GENERATE CODE. 文件移植 1.打开比赛提供的文件包&#xff0c;点击Inc文件夹 2.点击Inc文件夹。复制fonts.h和lcd.h&#xff0c;粘贴到我们自己的工程文件夹的bsp中&#xff08…

迭代器模式的理解和实践

引言 在软件开发中&#xff0c;我们经常需要遍历容器对象&#xff08;如数组、列表、集合等&#xff09;中的元素。如果每个容器对象都实现自己的遍历算法&#xff0c;那么代码将会变得冗余且难以维护。为了解决这个问题&#xff0c;迭代器模式应运而生。迭代器模式是一种行为型…

STM32一keil5更换芯片后报错问题的解决。

目录 一、STM32型号认识二、报错问题三、常用的启动配置文件四、问题解决 一、STM32型号认识 二、报错问题 当我们在原来工程下修改芯片时&#xff0c;原本可以编译通过的代码突然很多报错。如下所示&#xff0c;这是因为我们的启动文件配置错误。对于不同型号的芯片其flash容量…

人工智能-自动驾驶领域

目录 引言自动驾驶与人工智能的结合为什么自动驾驶领域适合发表文章博雅智信的自动驾驶辅导服务结语 引言 自动驾驶技术的崛起是当代交通行业的一场革命。通过结合先进的人工智能算法、传感器技术与计算机视觉&#xff0c;自动驾驶不仅推动了技术的进步&#xff0c;也使得未来…

c++数据结构算法复习基础--11--高级排序算法-快速排序-归并排序-堆排序

高阶排序 1、快速排序 冒泡排序的升级算法 每次选择一个基准数&#xff0c;把小于基准数的放到基准数的左边&#xff0c;把大于基准数的放到基准数的右边&#xff0c;采用 “ 分治算法 ”处理剩余元素&#xff0c;直到整个序列变为有序序列。 最好和平均的复杂度&#xff1a…

修改MySQL存储路径

1.查看原路径 show variables like ‘%datadir%’; 2.停止MYSQL 以管理员身份运行命令提示符 net stop MySQL84 在服务中直接停止MySQL 3.编辑配置文件 可能会遇到无权限修改&#xff0c;可以先修改my.ini的权限。可以通过&#xff1a;右键my.ini → 属性 → 安全→ 编辑 …

微信小程序报错:http://159.75.169.224:7300不在以下 request 合法域名列表中,请参考文档

要解决此问题&#xff0c;需打开微信小程序开发者工具进行设置&#xff0c;打开详情-本地设置重新运行&#xff0c;该报错就没有啦