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

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

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.mzph.cn/diannao/41722.shtml

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

相关文章

基于java+springboot+vue实现的流浪动物管理系统(文末源码+Lw)277

摘 要 在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对流浪动物信息管理的提升&…

【React】React18 Hooks之useState

目录 useState案例1(直接修改状态)案例2(函数式更新)案例3(受控表单绑定)注意事项1:set函数不会改变正在运行的代码的状态注意事项2:set函数自动批量处理注意事项3:在下次…

[数据集][目标检测]护目镜检测数据集VOC+YOLO格式888张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):888 标注数量(xml文件个数):888 标注数量(txt文件个数):888 标注类别…

ORB 特征点提取

FAST关键点 选取像素p,假设它的亮度为Ip; . 设置一个阈值T(比如Ip的20%); 以像素p为中心,选取半径为3的圆上的16个像素点; 假如选取的圆上,有连续的N个点的亮度大于IpT或小于…

Redis 八股文

标题 1. Redis主从同步原理:判断下线的条件:故障转移如何保证Sentinel高可用 1. Redis主从同步原理: 1、slave执行命令向master建立连接 2、master执行bgsave(后台存储),生成rdb快照(redis备份方式&#x…

日志自动分析-Web---360星图GoaccessALBAnolog

目录 1、Web-360星图(IIS/Apache/Nginx) 2、Web-GoAccess (任何自定义日志格式字符串) 源码及使用手册 安装goaccess 使用 输出 3-Web-自写脚本(任何自定义日志格式字符串) 4、Web-机器语言analog(任何自定义日…

游戏AI的创造思路-技术基础-强化学习(1)

我们“强化”一下机器的“学习”,让机器变得更强~~~~ 目录 1. 强化学习的定义 2. 发展历史 3. 强化学习的基本概念和函数 3.1. 基本概念和函数 3.1.1. 基本概念和函数 3.1.2. Q函数 3.1.2.1. 定义与作用 3.1.2.2. 数学表示 3.1.2.3. 更新规则 3.1.2.4. 算…

AI时代算法面试:揭秘高频算法问题与解答策略

三种决策树算法的特点和区别 ID3算法:基本的决策树算法,适用于简单的分类问题C4.5算法:改进了ID3算法,适用于更复杂的分类问题,可以处理连续型数据和缺失值CART算法:更加通用的决策树算法,适用于…

云服务器在 Web 应用程序中作用

云服务器在Web应用程序中扮演着至关重要的角色,它不仅是现代Web应用程序的基石,还是推动业务发展和提升用户体验的关键技术之一。下面将详细探讨云服务器在Web应用程序中的重要作用及其优势。 首先,云服务器为Web应用程序提供了高度可扩展的…

【postgresql】索引

见的索引类型: B-tree 索引:这是最常用的索引类型,适用于大多数查询。B-tree索引可以高效地处理范围查询。 Hash 索引:适用于等值查询,但不支持范围查询。 GiST 索引:通用搜索树(GiST&#xf…

怀念旧的Windows声音?以下是如何在Windows 11中恢复它们

如果你渴望旧的Windows声音,希望能在Windows 11上再次听到,那你就很幸运了。我们将向你展示如何下载必要的声音包并创建复古的声音方案。 如何获取旧Windows声音的声音包 你需要做的第一件事是下载一个包含旧Windows版本声音的声音包。此外,请确保它包含的每个声音都是WAV…

在 Vue 项目中使用 FullCalendar

1、先安装依赖包,根据自己的需求安装,建议使用cnpm安装,不然会很慢有时候会出现安装不上的情况。 npm i fullcalendar/vue --save npm i fullcalendar/core --save // 在月视图或日视图中操作事件 npm i fullcalendar/daygrid --save // 在…

记录discuz修改用户的主题出售价格

大家好,我是网创有方的站长,今天遇到了需要修改discuz的主题出售价格。特此记录下 方法很简单: 进入用于组-》选择论坛-》批量修改

【shell编程小项目】

目录 一、项目拓扑二、要求三、shell编程 一、项目拓扑 二、要求 环境准备: 准备两个虚拟机,按照环境配置好对应的 IP 地址和对应的主机名和 SSH 密钥登录在 workstation.exam.com 节点实现如下需求: 1、编写 Shell 脚本,要求代码…

0803实操-Windows Server系统管理

Windows Server系统管理 系统管理与基础配置 查看系统信息、更改计算机名称 网络配置 启用网络发现 Windows启用网络发现是指在网络设置中启用一个功能,该功能允许您的计算机在网络上识别和访问其他设备和计算机。具体来说,启用网络发现后&#xff…

Qt5.9.9 关于界面拖动导致QModbusRTU(QModbusTCP没有测试过)离线的问题

问题锁定 参考网友的思路: Qt5.9 Modbus request timeout 0x5异常解决 网友认为是Qt的bug, 我也认同;网友认为可以更新模块, 我也认同, 我也编译了Qt5.15.0的code并成功安装到Qt5.9.9中进行使用,界面拖…

Mybatis原生使用

一、MyBatis初次使用 2.1 环境搭建步骤 MyBatis 的 API : https://mybatis.org/mybatis-3/zh/getting-started.html 1.引入依赖包 2.准备核心配置件 db.properties drivercom.mysql.cj.jdbc.Driver urljdbc:mysql://123.57.206.19:3306/demo?useUnicodetrue&am…

如何选择最佳的照片和视频恢复软件

您是否意外从硬盘或 USB 卡中删除了照片或视频?最好的视频和照片恢复软件可以帮到您!如果您一直在寻找最好的照片恢复软件,那么您来对地方了。本文将分享一些帮助您找到最佳视频恢复软件的提示。 重要提示:事实:媒体文…

【LabVIEW学习篇 - 3】:程序结构——顺序结构、for循环、while循环

文章目录 顺序结构案例一案例二 for循环while循环 顺序结构 LabVIEW中的顺序结构是一种常用的控制结构,用于按顺序执行程序的不同部分。顺序结构在程序中按照从左到右的顺序依次执行各个子结构,类似于传统的文本编程语言中的顺序执行。 案例一 案例一…

JAVA的线性表数据结构的超详解

目录 顺序表的顺序存储结构 1.数组 2.顺序表 顺序表的声明,存储操作以及效率分析 1.泛型类 2.顺序表的插入操作 3. 顺序表的删除操作 4.顺序表查询操作 5.顺序表的应用 线性表的链式存储结构 单链表的基本操作 顺序表的顺序存储结构 数组是实现顺序存储…