计算机网络体系结构详解:协议与分层

news2024/11/23 15:45:04

在学习计算机网络时,理解网络协议与分层体系结构是至关重要的。本文将详细介绍这些概念,帮助基础小白快速入门。

1. 什么是网络协议

网络协议是计算机网络中用于数据交换的规则和标准。这些规则规定了数据格式时序以及发送和接收数据时的动作。网络协议主要由以下三要素组成:

  • 语法:数据与控制信息的结构或格式。例如,地址字段的长度及其位置。
  • 语义:各个控制信息的具体含义,包括需要执行的动作和响应。
  • 同步:事件实现的顺序和时间,包括数据发送的时机和速率。

举例说明

在我们的日常生活中也存在类似的协议。例如,在邮政系统中,信封的书写规范就是一种协议,规定了收信人和发信人的地址、姓名、邮政编码的书写要求。协议不仅存在于网络中,也在我们的生活中无处不在

20205244130)

在计算机网络中,任何一个通信任务都需要由多个通信实体协作完成,因此,网络协议是计算机网络不可缺少的组成部分。实际上,只要我们想让连接在网络上的另一台计算机做点什么事情(例如,从网络上的某个主机下载文件),就需要有协议。

协议必须在计算机上或通信设备中用硬件或软件来实现,有时人们将实现某种协议的软件也简称为协议。我们经常会听到有人说在计算机上安装某协议,注意,这里的协议指的是协议软件,即实现该协议的软件。

2. 计算机网络的分层体系结构

分层体系结构是将网络系统分为多个模块或子系统,方便处理和设计。这样可以将注意力集中在某个特定部分,更好地理解和管理复杂系统。常见的分层体系结构有OSI七层模型TCP/IP四层模型

在这里插入图片描述

2.1 OSI七层模型

OSI模型是一个七层协议体系结构,每一层都有特定的功能:

  1. 物理层传输比特流,考虑传输媒体的类型。物理层负责实际的物理连接,通过电缆、光纤或无线电波传输二进制数据。
  2. 数据链路层:在相邻结点之间传送帧。数据链路层确保数据在物理层上传输时不发生错误,并提供帧的同步、流量控制和错误检测
  3. 网络层:负责分组交换网上的不同主机提供通信服务。网络层选择路径,并通过路由器转发数据包
  4. 传输层:为应用进程之间提供通用的数据传输服务。传输层提供端到端的通信服务,确保数据包的有序和可靠传输。
  5. 会话层:管理会话,实现数据的顺序传输。会话层负责建立、管理和终止应用程序之间的会话
  6. 表示层数据格式和加密解密处理。表示层负责数据格式的转换、加密、解密和压缩。
  7. 应用层:为应用进程提供服务。应用层提供网络服务和应用程序的接口,如电子邮件、文件传输和远程登录。

2.2 TCP/IP四层模型

TCP/IP模型是一个四层协议体系结构,包含:

  1. 网络接口层:处理与传输媒体的接口。网络接口层负责数据链路层和物理层的功能,处理硬件设备和介质访问。
  2. 网际层:负责路由选择和数据包的传输。网际层主要协议是IP,负责数据包的寻址和路由选择。
  3. 传输层:提供可靠的数据传输服务(如TCP)和无连接的传输服务(如UDP)。传输层提供端到端的通信服务,确保数据包的有序和可靠传输。
  4. 应用层:支持各种网络应用(如HTTP、SMTP、FTP)。应用层为用户提供接口,支持各种网络应用和服务。

2.3 五层协议体系结构

为了简化学习,常用的五层协议体系结构综合了上述两种模型的优点:

  1. 应用层:提供网络应用服务。应用层协议定义了应用进程间的通信规则,如HTTP、SMTP、FTP等。
  2. 传输层:提供通用的数据传输服务。传输层协议如TCP和UDP,确保数据在网络中可靠传输。
  3. 网络层路由选择和数据传输。网络层负责将数据包从源地址传送到目的地址,主要协议是IP。
  4. 数据链路层:管理相邻结点之间的帧传输。数据链路层协议如以太网协议,确保数据在物理层上传输时不发生错误。
  5. 物理层传输比特流。物理层负责将数据转换为电信号、光信号或无线信号,通过传输介质进行传播。

在这里插入图片描述

3. 协议、服务与分层的关系

在网络体系结构中,协议定义了对等实体间的通信规则,服务则是由下层向上层通过接口提供的功能。分层设计的优点包括:

  • 各层独立:某一层的实现不影响其他层。每一层只需关心自己的任务,不需要了解其他层的实现细节。
  • 灵活性好:技术变化时,只需修改相关层,不影响整体。例如,网络层的路由算法变化不会影响传输层和应用层。
  • 易于实现和维护:将复杂系统分解为相对独立的子系统。每一层可以独立开发和调试,简化了系统的实现和维护。
  • 促进标准化:标准化有利于不同系统的互连和通信。各层功能定义明确,便于制定标准和实现互操作性。

举例说明

在TCP/IP模型中,应用层的HTTP协议定义了浏览器与服务器之间的通信规则,而传输层的TCP协议则保证数据可靠传输。这种分层设计使得每一层只需关注自己的任务,简化了系统的实现和维护。

4. OSI模型与TCP/IP模型的比较

OSI模型的优点

  • 标准化了路由器、交换机、主板等硬件。
  • 降低复杂性,促进模块化工程。
  • 确保技术间的互操作性。
  • 允许协议替换,支持连接式和无连接式服务。

OSI模型的缺点

  • 协议适配复杂。
  • 仅用作参考模型,未定义具体协议。
  • 层间重复服务,不允许层并行工作。

TCP/IP模型的优点

  • 协议适配复杂。
  • 仅用作参考模型,未定义具体协议。
  • 层间重复服务,不允许层并行工作。

TCP/IP模型的缺点

  • 设置和管理复杂。
  • 传输层不保证数据包传递。
  • 替换协议困难。
  • 无明确的服务、接口和协议分离。

5. 五层协议体系结构的详细介绍

在这里插入图片描述

5.1 应用层

应用层是原理体系结构中的最高层。应用层的任务是通过应用进程间的交互来完成特定的网络应用。应用层协议定义的是应用进程间通信和交互的规则。不同的网络应用需要不同的应用层协议。互联网中的应用层协议很多,比如支持万维网应用的HTTP、支持电子邮件的SMTP,支持文件传送的FTP等。我们将应用层交互的数据单元称为报文(Message)。

5.2 运输层

运输层的任务是向两台主机中进程之间的通信提供通用的数据传输服务。应用进程利用该服务传送应用层报文。由于一台主机可同时运行多个进程,因此运输层有复用和分用的功能。复用就是多个应用层进程同时使用下面运输层的服务,分用则是运输层把收到的信息分别交付上面应用层中的相应进程。

互联网中主要有以下两个运输层协议:

  1. 传输控制协议(TCP) :提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段。
  2. 用户数据报协议(UDP) :提供无连接的、尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。

5.3 网络层

网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。在TCP/IP体系中,由于网络层使用IP,因此分组也叫作IP数据报,或直接称为IP分组。

网络层的一个重要任务是选择合适的路由(Route) ,将源主机运输层所传下来的分组,通过网络中的路由器的转发,最后送达目的主机。

5.4 数据链路层

数据链路层常简称为链路层。计算机网络由主机、路由器和连接它们的链路组成,从源主机发送到目的主机的分组必须在一段一段的链路上传送。数据链路层的任务是将分组从链路的一端传送到另一端。我们将数据链路层传送的数据单元称为帧(Frame) 。因此数据链路层的任务是确保数据在相邻结点之间传输的可靠性。

5.5 物理层

物理层是原理体系结构的最底层,完成计算机网络中最基础的任务,即在传输媒体上传送比特流,将数据链路层帧中的每个比特从一个结点通过传输媒体传送到下一个结点。物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。物理层还要考虑所采用的传输媒体的类型,如双绞线、同轴电缆、光缆等。

6. 实体、协议和服务

当研究开放系统中的信息交换时,我们往往使用实体(Entity) 这一较为抽象的名词来表示任何可发送或接收信息的硬件或软件进程。在许多情况下,实体就是一个特定的软件模块。

协议是控制两个对等实体(或多个实体)进行通信的规则的集合其次,协议是“水平的”,即协议是控制对等实体之间通信的规则;但服务是“垂直 的”,即服务是由下层向上层通过层间接口提供的。 协议的语法方面的规则定义了所交换的信息的格式,而协议的语义方面的规则定义了发送者或接收者所要完成的操作,例如,在何种条件下数据必须重传或丢弃。

在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。

7. TCP/IP体系结构

在互联网所使用的各种协议中,最重要的和最著名的就是TCP和IP两个协议。现在人们经常提到的TCP/IP并不一定是单指TCP和IP这两个具体的协议,而往往是表示互联网所使用的整个TCP/IP协议簇,互联网的体系结构也被称为TCP/IP体系结构。

图1—19用另一种方法来表示TCP/IP协议簇,它的特点是上下两头大而中间小:应用层和网络接口层都有多种协议,而中间的IP层很小,上层的各种协议都向下汇聚到一个协议中。这种沙漏计时器形状的TCP/IP协议簇表明,TCP/IP可以为各式各样的应用提供服务,同时TCP/IP也允许IP在各式各样的网络构成的互联网上运行。正因为如此,互联网才会发展到今天的全球规模。从图中不难看出IP在互联网中的核心作用。

在这里插入图片描述

结论

通过理解网络协议和分层体系结构,可以更好地掌握计算机网络的基本概念。这些知识不仅有助于优化网络性能,还能提升数据传输的效率和可靠性。希望这篇详细的文章能帮助基础小白快速入门计算机网络。


希望这篇文章对你有所帮助!如果你觉得有用,请点赞、收藏并分享给更多人。💡
图文来源:《计算机网络教程》

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

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

相关文章

【2024_CUMCM】数据预处理、数据分析、数据可视化

目录 2023-c题-问题1 问题分析 偏度 峰度 箱线图 读图 重采样、降采样、升采样 重采样 降采样 升采样 解题代码 2023-c题-问题1 问题分析 问题说白了就是探究品类和销售量这两个数据他们各自内在联系,根据题意,我们先进行数 据预处理&#…

归并排序的实现(递归与非递归)

概念 基本思想:归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide andConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使…

【数据结构】经典链表题目详解集合(反转链表、相交链表、链表的中间节点、回文链表)

文章目录 一、反转链表1、程序详解2、代码 二、相交链表1、程序详解2、代码 三、链表的中间节点1、程序详解2、代码 四、回文链表1、程序详解2、代码 一、反转链表 1、程序详解 题目:给定单链表的头节点 head ,请反转链表,并返回反转后的链…

Open3D 删除点云中重叠的点(方法二)

目录 一、概述 1.1原理 1.2应用 二、代码实现 三、实现效果 3.1原始点云 3.2处理后点云 3.3数据对比 一、概述 在点云处理中,重叠点(即重复点)可能会对数据分析和处理的结果产生负面影响。因此,删除重叠点是点云预处理中常…

element-plus的文件上传组件el-upload

el-upload组件 支持多种风格,如文件列表,图片,图片卡片,支持多种事件,预览,删除,上传成功,上传中等钩子。 file-list:上传的文件集合,一定要用v-model:file-…

数据库系统原理练习 | 作业1-第1章绪论(附答案)

整理自博主本科《数据库系统原理》专业课完成的课后作业,以便各位学习数据库系统概论的小伙伴们参考、学习。 *文中若存在书写不合理的地方,欢迎各位斧正。 专业课本: 目录 一、选择题 二:简答题 三:综合题 一、选择…

验证回文串-string题目

用双指针&#xff0c;left right从两头往中间对比&#xff0c;不是字母的都略过&#xff0c;比的时候化成小写字母 125. 验证回文串 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:bool isPalindrome(string s) {if(s.size() < 1)return true;int left …

一.2.(2)基本共射放大电路组成、工作原理;

1.基本共射放大电路组成 共什么取决于输入输出&#xff0c;共剩下的那一极 2.工作原理 输入信号ui通过电容C1加到三极管的基 极&#xff0c;引起基极电流iB的变化&#xff0c;iB的变化又使集电极电流ic发生变 化&#xff0c;且ic的变化量是iB变化量的β倍。由于有集电极电压&…

谷哥剪映助手使用教程-剪映自动化批量视频剪辑软件-批量混剪素材替换

谷哥剪映助手是一款提高视频剪辑效率的软件&#xff0c;很多人问具体怎么使用&#xff0c;我会抽点时间把各个功能拆分开来&#xff0c;一个个介绍。 一、按组精准替换素材 该功能可以按组精确替换图片或视频素材&#xff0c;如果你草稿里只有一个素材需要替换&#xff0c;请…

零知识证明技术:隐私保护的利器

在当今信息时代&#xff0c;数据安全和隐私保护的重要性日益凸显。随着技术的发展&#xff0c;密码学在保障信息安全方面发挥着越来越重要的作用。其中&#xff0c;零知识证明技术作为一种新兴的密码学方法&#xff0c;为隐私保护提供了强有力的支持。本文将简要介绍零知识证明…

【ETABS】【RHINO】案例:Swallow to ETABS

文章目录 01. Swallow Overview总览1 LOAD&#xff1a;Defination of LoadCase、Response Combo2 SectionArea Section and Area Load&#xff08;面截面定义与指定&#xff0c;面荷载指定&#xff09;Frame Section with rebarattr and linear load&#xff08;带钢筋属性框架…

【JVM基础篇】Java的四种垃圾回收算法介绍

文章目录 垃圾回收算法垃圾回收算法的历史和分类垃圾回收算法的评价标准标记清除算法优缺点 复制算法优缺点 标记整理算法&#xff08;标记压缩算法&#xff09;优缺点 分代垃圾回收算法&#xff08;常用&#xff09;JVM参数设置使用Arthas查看内存分区垃圾回收执行流程分代GC算…

传统IO和NIO文件拷贝过程

参考&#xff1a;https://blog.csdn.net/weixin_57323780/article/details/130250582

【代码管理的必备工具:Git的基本概念与操作详解】

一、Git 初识 1.提出问题 不知道你工作或学习时&#xff0c;有没有遇到这样的情况&#xff1a;我们在编写各种⽂档时&#xff0c;为了防止⽂档丢失&#xff0c;更改失误&#xff0c;失误后能恢复到原来的版本&#xff0c;不得不复制出⼀个副本&#xff0c;比如&#xff1a; “…

跨越界限的温柔坚守

跨越界限的温柔坚守 —— 郑乃馨与男友的甜蜜抉择在这个光怪陆离、瞬息万变的娱乐圈里&#xff0c;每一段恋情像是夜空中划过的流星&#xff0c;璀璨短暂。然而&#xff0c;当“郑乃馨与男友甜蜜约会”的消息再次跃入公众视野&#xff0c;它不仅仅是一段简单的爱情故事&#xf…

html+css+JavaScript 实现两个输入框的反转动画

开发时遇到了一个输入框交换的动画 做完之后觉得页面上加些许过渡或动画&#xff0c;其变化虽小&#xff0c;却能极大的提升页面质感&#xff0c;给人一种顺畅、丝滑的视觉体验。它的实现过程主要是通过css中的transition和animation来实现的。平时在开发的时候增加一些动画效…

Spring源码十六:Bean实例化入口探索

上一篇Spring源码十六&#xff1a;Bean名称转化我们讨论doGetBean的第一个方法transformedBeanName方法&#xff0c;了解Spring是如何处理特殊的beanName&#xff08;带&符号前缀&#xff09;与Spring的别名机制。今天我们继续往方法下面看&#xff1a; doGetBean 这个方法…

zabbix 与 grafana 对接

一.安装 grafana 1.初始化操作 初始化操作 systemctl disable --now firewalld setenforce 0 vim /etc/selinux/config SELINUXdisabled 2.上传数据包并安装 cd /opt grafana-enterprise-9.4.7-1.x86_64.rpm #上传软件包 yum localinstall -y grafana-enterprise-9.4.7-1…

Ubuntu编译 OSG

目录 一、安装步骤 二、配置 1、数据文件配置 2、OSG环境变量配置 一、安装步骤 在Ubuntu上安装OSG(OpenSceneGraph),你可以按照以下步骤操作: 打开终端,更新你的包管理器的包列表: sudo apt update 安装必要的依赖库 sudo apt install libglu1-mesa-dev freeglu…

java IO流(1)

一. 文件类 java中提供了一个File类来表示一个文件或目录(文件夹),并提供了一些方法可以操作该文件 1. 文件类的常用方法 File(String pathname)构造方法,里面传一个路径名,用来表示一个文件boolean canRead()判断文件是否是可读文件boolean canWrite()判断文件是否是可写文…