消息队列篇--通信协议篇--网络通信模型(OSI7层参考模型,TCP/IP分层模型)

一、OSI参考模型(Open Systems Interconnection Model)

OSI参考模型是一个用于描述和标准化网络通信功能的七层框架。它由国际标准化组织(ISO)提出,旨在为不同的网络设备和协议提供一个通用的语言和结构,以促进相互操作和标准化。

OSI模型将网络通信过程划分为七个层次,每一层都有特定的功能,并与相邻层进行交互。
从下到上,这七层分别是:
1、物理层(Physical Layer)
2、数据链路层(Data Link Layer)
3、网络层(Network Layer)
4、传输层(Transport Layer)
5、会话层(Session Layer)
6、表示层(Presentation Layer)
7、应用层(Application Layer)

示例图:
在这里插入图片描述

1、物理层(Physical Layer)

功能:

  • 定义物理连接:规定了如何通过物理媒介(如电缆、光纤、无线电波等)传输原始比特流。
  • 硬件接口:定义了网络硬件(如网卡、中继器、集线器等)的标准和接口类型。
  • 信号传输:规定了电压水平、传输速率、物理拓扑(如总线型、星型等)和物理连接器(如RJ45、BNC等)。

主要设备:

  • 网卡(NIC)
  • 中继器(Repeater)
  • 集线器(Hub)

示例:

  • 以太网标准(IEEE 802.3)
  • 光纤通信

2、数据链路层(Data Link Layer)

功能:

  • 帧同步:将物理层传来的比特流组织成帧(Frame),并在帧之间添加控制信息(如起始位和结束位)
  • 错误检测与纠正:使用校验和(如CRC)来检测传输中的错误,并在某些情况下进行纠正。
  • 流量控制:确保发送方不会发送过多的数据,导致接收方溢出。
  • 介质访问控制(MAC):在共享介质(如以太网)上协调多个设备之间的数据传输。

主要设备:

  • 交换机(Switch)
  • 网桥(Bridge)

子层:

  • 逻辑链路控制子层(LLC, Logical Link Control):负责帧的封装和解封装,以及差错控制和流量控制。
  • 介质访问控制子层(MAC, Media Access Control):负责定义设备如何访问物理介质,并处理介质访问冲突(如CSMA/CD)。

示例:

  • 以太网帧格式
  • PPP(点对点协议)

3、网络层(Network Layer)

功能:

  • 路由选择:确定数据包从源地址到目的地址的最佳路径,通常通过路由器实现。
  • IP寻址:为每个设备分配唯一的IP地址,并管理这些地址。
  • 分组转发:将数据包从一个网络段转发到另一个网络段,直到到达目的地。
  • 拥塞控制:监控网络状态,避免网络拥塞。

主要设备:

  • 路由器(Router)

协议示例:

  • IP(Internet Protocol)
  • ICMP(Internet Control Message Protocol)
  • OSPF(Open Shortest Path First)

示例:

  • IPv4和IPv6
  • 路由算法(如RIP、OSPF)

4、传输层(Transport Layer)

功能:

  • 端到端通信:提供应用程序之间的端到端通信服务,确保数据能够可靠地从一个应用程序传输到另一个应用程序
  • 可靠性:TCP提供可靠的传输服务,保证数据包按顺序到达且不丢失;UDP提供无连接、不可靠的传输服务,适合实时应用。
  • 流量控制和拥塞控制:防止发送方发送过多数据导致接收方溢出或网络拥塞。

协议示例:

  • TCP(Transmission Control Protocol)
  • UDP(User Datagram Protocol)

示例:

  • HTTP使用TCP进行网页内容传输
  • DNS使用UDP进行域名解析

5、会话层(Session Layer)

功能:

  • 会话管理:负责建立、维护和终止应用程序之间的会话
  • 同步:提供同步机制,允许在会话过程中发生中断时恢复数据传输。
  • 对话控制:控制不同应用程序之间的对话方式(如半双工或全双工)。

示例:

  • RPC(Remote Procedure Call)
  • NetBIOS(Network Basic Input Output System)

6、表示层(Presentation Layer)

功能:

  • 数据格式转换:负责数据的加密、压缩和编码,确保不同系统之间的数据可以正确理解和处理
  • 字符编码:将数据从一种字符集转换为另一种字符集(如ASCII到Unicode)。
  • 数据加密:提供数据加密和解密功能,确保数据的安全性。

示例:

  • JPEG、PNG图像格式
  • ASCII、UTF-8字符编码
  • SSL/TLS加密

7、应用层(Application Layer)

功能:

  • 用户接口:为用户提供直接与网络交互的接口,支持各种网络应用(如浏览器、电子邮件客户端等)。
  • 应用协议:定义应用程序之间如何通信,包括请求和响应的格式、语义等
  • 服务访问点:为其他层提供服务访问点,使得应用程序可以直接调用底层的服务。

协议示例:

  • HTTP(超文本传输协议)
  • SMTP(简单邮件传输协议)
  • FTP(文件传输协议)
  • DNS(域名系统)

示例:

  • 浏览器通过HTTP访问网站
  • 邮件客户端通过SMTP发送邮件

8、OSI模型各层之间的关系

OSI模型的每一层都只与相邻的上下层进行交互。

上下层关系:

  • 上层(如应用层)向下层(如表示层)发出请求,并传递数据。下层则根据请求执行相应的功能,并将结果返回给上层。
  • 下层(如物理层)只关心如何通过物理媒介传输数据,而不关心数据的具体内容和格式。上层(如应用层)则只关心数据的格式和语义,而不关心底层的传输细节。

具体示例:(展示每个层级作用)
例如,当用户通过浏览器访问一个网页时,整个过程涉及以下步骤。
(1)、应用层(HTTP):浏览器向服务器发送HTTP请求,请求指定URL网页内容。
(2)、表示层:确定请求资源类型以及是否被加密或压缩等。
(3)、会话层:建立并维护浏览器与服务器之间的会话。
(4)、传输层:将HTTP请求信息再次封装成TCP段,并提供数据的可靠传输。
(5)、网络层:将TCP段封装成IP数据报,并选择最佳路径将其发送到目标服务器。
(6)、数据链路层:将IP数据报封装成帧,并通过本地网络传输到下一路由器或目标服务器。(注意:传输过程可能会经过多次路由器转发,最终达到目标服务器)
(7)、物理层:通过物理媒介(如电缆、光纤)传输比特流。

9、OSI模型与实际网络协议的关系

虽然OSI模型是一个理论上的参考框架,但它帮助我们理解网络通信的各个层次及其功能。许多实际使用的网络协议并不严格遵循OSI模型的七层划分,但它们仍然可以映射到OSI模型的相应层次。

例如:

  • TCP/IP协议栈是目前最常用的网络协议栈,它简化了OSI模型,只有四层:
    • 应用层:对应OSI模型的应用层、表示层和会话层这三个层级。
    • 传输层:对应OSI模型的传输层。
    • 互联网层:对应OSI模型的网络层。
    • 网络接口层:对应OSI模型的数据链路层和物理层。

尽管如此,OSI模型仍然是一个非常有用的工具,用于分析和设计网络系统,并帮助人们更好地理解网络通信的工作原理。

10、OSI模型总结

OSI参考模型将网络通信过程划分为七个层次,每一层都有特定的功能,并与相邻层进行交互。通过这种分层的方式,OSI模型不仅帮助我们理解网络通信的复杂性,还促进了不同网络设备和协议之间的互操作性和标准化。

二、TCP/IP分层模型

TCP/IP模型,也称为互联网协议套件(Internet Protocol Suite),是实际用于实现现代互联网通信的网络模型。与OSI七层模型相比,TCP/IP模型更为简洁,通常分为四层或五层结构。尽管它没有OSI模型那么详细,但它更贴近实际应用,并且在设计和实现上更加灵活。

准确说:OSI的7层参考模型是基于TCP/IP的4层模型衍生出来的更细分的模型。实际上TCP/IP模型是先提出的,之后才有的OSI模型。

TCP/IP模型的四层结构:(从上到下)
1、应用层(Application Layer)
2、传输层(Transport Layer)
3、互联网层(Internet Layer)
4、网络接口层(Network Interface Layer)

有些文献会将网络接口层进一步细分为数据链路层和物理层,形成一个五层模型:
1、应用层(Application Layer)
2、传输层(Transport Layer)
3、互联网层(Internet Layer)
4、数据链路层(Data Link Layer)
5、物理层(Physical Layer)

1、应用层(Application Layer)

功能:

  • 用户接口:提供用户直接与网络交互的接口,支持各种网络应用。
  • 应用协议:定义应用程序之间如何通信,包括请求和响应的格式、语义等
  • 服务访问点:为其他层提供服务访问点,使得应用程序可以直接调用底层的服务。

常见协议:

  • HTTP/HTTPS:超文本传输协议/安全超文本传输协议,用于网页浏览。
  • SMTP/IMAP/POP3:简单邮件传输协议/互联网消息访问协议/邮局协议,用于电子邮件传输。
  • FTP:文件传输协议,用于文件上传和下载。
  • DNS:域名系统,用于将域名解析为IP地址。
  • Telnet/SSH:远程登录协议,用于远程管理设备。
  • SNMP:简单网络管理协议,用于网络设备管理和监控。

示例:

  • 浏览器通过HTTP访问网站。
  • 邮件客户端通过SMTP发送邮件,通过IMAP或POP3接收邮件。

2、传输层(Transport Layer)

功能:

  • 端到端通信:提供应用程序之间的端到端通信服务,确保数据能够可靠地从一个应用程序传输到另一个应用程序
  • 可靠性:TCP提供可靠的传输服务,保证数据包按顺序到达且不丢失;UDP提供无连接、不可靠的传输服务,适合实时应用。
  • 流量控制和拥塞控制:防止发送方发送过多数据导致接收方溢出或网络拥塞。

常见协议:

  • TCP(Transmission Control Protocol):面向连接、可靠的传输协议,适用于需要高可靠性的应用,如HTTP、FTP、SMTP等。
  • UDP(User Datagram Protocol):无连接、不可靠的传输协议,适用于对实时性要求较高的应用,如DNS、VoIP、视频流等。

示例:

  • HTTP使用TCP进行网页内容传输。
  • DNS使用UDP进行域名解析。

3、互联网层(Internet Layer)

功能:

  • 路由选择:确定数据包从源地址到目的地址的最佳路径,通常通过路由器实现。
  • IP寻址:为每个设备分配唯一的IP地址,并管理这些地址
  • 分组转发:将数据包从一个网络段转发到另一个网络段,直到到达目的地。
  • 拥塞控制:监控网络状态,避免网络拥塞。

常见协议:

  • IP(Internet Protocol):负责在网络中进行数据包的传输和路由选择。
  • ICMP(Internet Control Message Protocol):用于报告网络错误和管理网络通信(如ping命令)。
  • ARP(Address Resolution Protocol):用于将IP地址解析为MAC地址。
  • IGMP(Internet Group Management Protocol):用于多播通信中的组成员管理。

示例:

  • IPv4和IPv6
  • 路由算法(如RIP、OSPF)

4、网络接口层(Network Interface Layer)

功能:

  • 物理连接:规定了如何通过物理媒介(如电缆、光纤、无线电波等)传输原始比特流
  • 帧同步:将互联网层传来的数据包组织成帧(Frame),并在帧之间添加控制信息(如起始位和结束位)。
  • 介质访问控制(MAC):在共享介质(如以太网)上协调多个设备之间的数据传输。
  • 硬件接口:定义了网络硬件(如网卡、交换机、集线器等)的标准和接口类型。

常见协议和技术:

  • 以太网(Ethernet):最常用的局域网技术。
  • Wi-Fi(IEEE 802.11):无线局域网技术。
  • PPP(Point-to-Point Protocol):点对点通信协议,常用于拨号上网。

示例:

  • 以太网帧格式
  • Wi-Fi通信

5、五层结构版本

如果是五层结构,将网络接口层进一步细分为数据链路层和物理层

(1)、数据链路层(Data Link Layer)

功能:

  • 帧同步:将互联网层传来的数据包组织成帧,并在帧之间添加控制信息(如起始位和结束位)。
  • 错误检测与纠正:使用校验和(如CRC)来检测传输中的错误,并在某些情况下进行纠正。
  • 流量控制:确保发送方不会发送过多的数据,导致接收方溢出。
  • 介质访问控制(MAC):在共享介质(如以太网)上协调多个设备之间的数据传输。

子层:

  • 逻辑链路控制子层(LLC, Logical Link Control):负责帧的封装和解封装,以及差错控制和流量控制。
  • 介质访问控制子层(MAC, Media Access Control):负责定义设备如何访问物理介质,并处理介质访问冲突(如CSMA/CD)。

常见协议:

  • 以太网(Ethernet)
  • PPP(Point-to-Point Protocol)
  • HDLC(High-Level Data Link Control)
(2)、物理层(Physical Layer)

功能:

  • 信号传输:规定了电压水平、传输速率、物理拓扑(如总线型、星型等)和物理连接器(如RJ45、BNC等)。
  • 硬件接口:定义了网络硬件(如网卡、中继器、集线器等)的标准和接口类型。

常见设备:

  • 网卡(NIC)
  • 中继器(Repeater)
  • 集线器(Hub)

6、TCP/IP模型与OSI模型的对比

在这里插入图片描述

主要区别:

  • 简化:TCP/IP模型比OSI模型更简化,只有四层或五层,而OSI模型有七层。
  • 实用性:TCP/IP模型更接近实际应用,许多互联网协议(如HTTP、FTP、SMTP等)都基于TCP/IP模型设计。
  • 灵活性:TCP/IP模型允许不同的网络技术共存,如以太网、Wi-Fi、PPP等都可以作为网络接口层的一部分。

7、TCP/IP模型总结

TCP/IP模型是一个用于实现现代互联网通信的实际网络模型,它简化了OSI模型的复杂性,并提供了更为实用的分层结构。TCP/IP模型通常分为四层(应用层、传输层、互联网层、网络接口层),有时也可以进一步细分为五层(增加数据链路层和物理层)。每一层都有特定的功能,并与相邻层进行交互,共同完成网络通信任务。
通过理解TCP/IP模型的各层功能及其常见协议,我们可以更好地理解互联网的工作原理,并为网络设计和故障排除提供指导。

乘风破浪!Dare to Be!!!

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

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

相关文章

【creo】CREO配置快捷键方式和默认单位

了解CREO工作目录设置 设置快捷方式启动目录,就能自动加载其中的配置。 一、通过键盘快捷方式 保存配置 creo_parametric_customization.ui 文件: 二、通过映射键录制 通过这种方式可以监听鼠标的点击事件。使用键盘快捷方式无法找到需要的动作时候可…

多模态论文笔记——TECO

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细解读多模态论文TECO(Temporally Consistent Transformer),即时间一致变换器,是一种用于视频生成的创新模型&…

自由学习记录(32)

文件里找到切换颜色空间 fgui中的 颜色空间是一种总体使用前的设定 颜色空间,和半透明混合产生的效果有差异,这种问题一般可以产生联系 动效就是在fgui里可以编辑好,然后在unity中也准备了对应的调用手段,可以详细的使用每一个具…

【教学类-99-01】20250127 蛇年红包(WORD模版)

祈愿在2025蛇年里, 伟大的祖国风调雨顺、国泰民安、每个人齐心协力,共同经历这百年未有之大变局时代(国际政治、AI技术……) 祝福亲友同事孩子们平安健康(安全、安全、安全)、巳巳如意! 背景需…

当高兴、尊重和优雅三位一体是什么情况吗?

英语单词 disgrace 表示“失脸,耻辱,不光彩,名誉扫地”一类的含义,可做名词或动词使用,含义基本一致,只是词性不同。 disgrace n.丢脸;耻辱;不光彩;令人感到羞耻的人(或…

基于RIP的MGRE实验

实验拓扑 实验要求 按照图示配置IP地址配置静态路由协议,搞通公网配置MGRE VPNNHRP的配置配置RIP路由协议来传递两端私网路由测试全网通 实验配置 1、配置IP地址 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ip add 15.0.0.1 24 [R1]int LoopBack 0 [R1-LoopBack0]i…

hot100_24. 两两交换链表中的节点

hot100_24. 两两交换链表中的节点 思路1思路2 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入&…

舆情系统的情报搜索功能

引言 随着信息技术的发展和网络媒体的快速发展,舆情监测已成为各行各业不可或缺的工具。舆情系统中的情报搜索功能,作为其核心组成部分,能够帮助用户迅速、全面地捕捉互联网、社交平台、新闻媒体等渠道中的各类信息和舆论动态。情报搜索不仅提…

STM32新建不同工程的方式

新建工程的方式 1. 安装开发工具 MDK5 / keil52. CMSIS 标准3. 新建工程3.1 寄存器版工程3.2 标准库版工程3.3 HAL/LL库版工程3.4 HAL库、LL库、标准库和寄存器对比3.5 库开发和寄存器的关系 4. STM32CubeMX工具的作用 1. 安装开发工具 MDK5 / keil5 MDK5 由两个部分组成&#…

进程间通信

进程间通信 进程间通信介绍 进程间通信⽬的 数据传输:⼀个进程需要将它的数据发送给另⼀个进程 资源共享:多个进程之间共享同样的资源。 通知事件:⼀个进程需要向另⼀个或⼀组进程发送消息,通知它(它们&#xff09…

O(1) 时间插入、删除和获取随机元素

hello 大家好!今天开写一个新章节,每一天一道算法题。让我们一起来学习算法思维吧! 为了实现 RandomizedSet 类,并且保证每个函数的平均时间复杂度为0(1) ,我们可以结合使用数组和哈希表。数组用于存储集合中的元素&am…

Nxopen 直齿轮参数化设计

NXUG1953 Visualstudio 2019 参考论文&#xff1a; A Method for Determining the AGMA Tooth Form Factor from Equations for the Generated Tooth Root Fillet //FullGear// Mandatory UF Includes #include <uf.h> #include <uf_object_types.h>// Internal I…

基于vue和elementui的简易课表

本文参考基于vue和elementui的课程表_vue实现类似课程表的周会议列表-CSDN博客&#xff0c;原程序在vue3.5.13版本下不能运行&#xff0c;修改两处&#xff1a; 1&#xff09;slot-cope改为v-slot 2&#xff09;return background-color:rgb(24 144 255 / 80%);color: #fff; …

Unreal Engine 5 C++ Advanced Action RPG 十一章笔记

第十一章 In Game Widgets 本章节就是做UI2-Template Button Widget 这章节创建不同的UI 结束UI胜利UI暂停菜单主菜单加载UI新建一个按钮小组件作为模版 3-Pause Menu Template Button 继续做更多模版UI 4-Lose Screen(游戏失败UI) 做失败的UI 之前按钮模版的调度程序就在这起…

若依基本使用及改造记录

若依框架想必大家都了解得不少&#xff0c;不可否认这是一款及其简便易用的框架。 在某种情况下&#xff08;比如私活&#xff09;使用起来可谓是快得一匹。 在这里小兵结合自身实际使用情况&#xff0c;记录一下我对若依框架的使用和改造情况。 一、源码下载 前往码云进行…

【数据结构】(1)集合类的认识

一、什么是数据结构 1、数据结构的定义 数据结构就是存储、组织数据的方式&#xff0c;即相互之间存在一种或多种关系的数据元素的集合。 2、学习数据结构的目的 在实际开发中&#xff0c;我们需要使用大量的数据。为了高效地管理这些数据&#xff0c;实现增删改查等操作&…

git相关命令

目录 一、创建 二、添加文件和修改提交文件 1、git add 文件名 添加到暂存区 提交多个文件 撤销回工作区 2、git commit -m "注释" 提交文件到主分支 3、修改后添加&#xff0c;提交 三、版本回退 1、查看日志git log 2、版本回退和撤销 2.1…

第4章 神经网络【1】——损失函数

4.1.从数据中学习 实际的神经网络中&#xff0c;参数的数量成千上万&#xff0c;因此&#xff0c;需要由数据自动决定权重参数的值。 4.1.1.数据驱动 数据是机器学习的核心。 我们的目标是要提取出特征量&#xff0c;特征量指的是从输入数据/图像中提取出的本质的数 …

[c语言日寄]assert函数功能详解

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋&#xff1a;这是一个专注于C语言刷题的专栏&#xff0c;精选题目&#xff0c;搭配详细题解、拓展算法。从基础语法到复杂算法&#xff0c;题目涉及的知识点全面覆盖&#xff0c;助力你系统提升。无论你是初学者&#xff0c;还是…

Canny 边缘检测

步骤 1.降噪 应用高斯滤波器&#xff0c;以平滑图像&#xff0c;滤除噪声。 边缘检测易受噪声影响&#xff0c;所以使用高斯滤波器平滑图像&#xff0c;降低噪声。 2.梯度 计算图像中每个像素点的梯度大小和方向。 计算大小 Sobel算子是一种常用的边缘检测滤波器&#xff…