计算机网络体系结构-程序员宅基地

技术标签: 网络  网络协议  计算机网络  

一、计算机网络分层结构

网络体系结构定义:

计算机网络的各层及其协议的集合称为网络的体系结构(Architecture)。换言之,计算机网络的体系结构就是这个计算机网络及其所应完成的功能的精确定义。要强调的是,这些功能究竟是用何种硬件或软件完成的,是一个遵循这种体系结构的实现(Implementation)问题。

体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。计算机网络体系结构通常都具有可分层的特性,它将复杂的大系统分成若干较容易实现的层次。

分层的基本原则如下:

1)每层都实现一种相对独立的功能,降低大系统的复杂度。
2)各层之间的接口自然清晰,易于理解,相互交流尽可能少。
3)各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。
4)保持下层对上层的独立性,上层单向使用下层提供的服务
5)整个分层结构应能促进标准化工作。

在计算机网络分层结构中,第n层中的活动元素通常称为第n层实体。具体来说,实体指任何可发送或接收信息的硬件或软件进程,通常是某个特定的软件模块。不同机器上的同一层称为对等层,同一层的实体称为对等实体,第n层实实现的服务为第n+1层所用。在这种情况下,第n层称为服务提供者,第n+1层则服务于用户。

在计算机网络体系结构中,对等层之间传送的数据单位称为该层的协议数据单元(PDU),第n层的 PDU 记为 n-PDU。各层的 PDU 都分为数据控制信息两部分。

服务数据单元(SDU):为完成用户所要求的功能而传送的数据。第n层的SDU 记为n-SDU

协议控制信息(PCI):  控制协议操作的信息。第n层的PCI记为n-PCI

每层的协议数据单元都有一个通俗的名称,如物理层的PDU称为比特流;数据链路层的PDU称为;网络层的PDU 称为分组;传输层的PDU 称为报文段

当在各层之间传输数据时,将从第n+1层收到的PDU 作为第n层的 SDU,加上第n层的PCI,就封装成了第n层的PDU,交给第n-1层后作为SDU发送,接收方接收时做相反的处理,因此可知三者的关系为n-SDU+n-PCI=n-PDU=(n-1)-SDU

具体地,层次结构的含义包括如下几方面:

1)  第n层的实体不仅要使用第n-1层的服务来实现自身定义的功能,而且要向第n+1层提供本层的服务,该服务是第n层及其下面各层提供的服务总和

2)  最低层只提供服务,是整个层次结构的基础;最高层面向用户提供服务。

3)上一层只能通过相邻层间的接口使用下一层的服务,而不能调用其他层的服务。

4)当两台主机通信时,对等层在逻辑上有一个直接信道:表现为能直接将信息传送到对方。

二、计算机网络协议、接口、服务的概念

1. 协议

要在网络中做到有条不紊地交换数据,就必须遵循一些事先约定好的规则,其规定了所交换数据的格式及有关的同步问题。为了在网络中进行数据交换而建立的这些规则、标准或约定称为网络协议(Network Protocol),是控制在对等实体间进行通信的规则的集合,是水平的。不对等实体之间是没有协议的,如用 TCP/IP协议栈通信的两个结点A和结点 B,结点A的传输层和结点B的传输层之间存在协议,但结点A的传输层和结点B的网络层之间不存在协议。

协议由语法语义同步三部分组成。

1)语法,数据与控制信息的格式。例如,TCP报文段格式就是由TCP 协议的语法定义的。

2)语义,即需要发出何种控制信息、完成何种动作及做出何种应答。例如,在建立TCP连接的三次握手时所执行的操作就是由 TCP 协议的语义定义的。

3)同步(或时序),执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。例如,建立 TCP连接的三次握手操作的时序关系就是由TCP协议的同步定义的。

2. 接口

同一结点内相邻两层的实体交换信息的逻辑接口称为服务访问点(ServiceAccessPoint,SAP)。每层只能为紧邻的层之间定义接口,而不能跨层定义接口。服务是通过SAP 提供给上层使用的,第n层的SAP就是第n+1层可以访问第n层服务的地方。

例如,在5层体系结构中,数据链路层的服务访问点为帧的“类型”字段,网络层的服务访问点为数据报的“协议”字段,传输层的服务访问点为“端口号”字段。

3. 服务

服务是指下层为紧邻的上层提供的功能调用,垂直的。对等实体在协议的控制下,使得本层能为上层提供服务,但要实现本层协议,还需要使用下层提供的服务。当上层使用下层提供的服务时,必须与下层交换一些命令,这些命令称为服务原语

OSI参考模型将原语划分为四类:

1 )  请求(Request)。由服务用户发往服务提供者,请求完成某项工作。
2 )  指示(Indication)。由服务提供者发往服务用户,指示用户做某件事情。
3 )  响应(Response)。由服务用户发往服务提供者,作为对指示的响应。
4 )  证实(Confirmation)。由服务提供者发往服务用户,作为对请求的证实。

这四类原语用于不同的功能,如建立连接、传输数据和断开连接等。有应答服务包括全部四类原语,而无应答服务则只有请求和指示两类原语。

注意,协议和服务概念上是不一样的。首先,只有本层协议的实现才能保证向上一层提供服务。本层的服务用户只能看见服务而无法看见下面的协议,即下面的协议对上层的服务用户是透明的。其次,协议是“水平的”,即协议是控制对等实体之间通信的规则。但是,服务是“垂直的”,即服务是由下层通过层间接口向上层提供的。另外,并非在一层内完成的全部功能都称为服务,只有那些能够被高一层实体“看得见”的功能才称为服务。

计算机网络提供的服务可按以下三种方式分类。

(1)  面向连接服务无连接服务
在面向连接服务中,通信前双方必须先建立连接,分配相应的资源(如缓冲区),以保证通信能正常进行,传输结束后释放连接和占用的资源。因此这种服务可分为连接建立、数据传输和连接释放三个阶段。例如,TCP就是一种面向连接服务的协议。

在无连接服务中,通信前双方不需要先建立连接,需要发送数据时可直接发送,将每个带有目的地址的包(报文分组)传送到线路上,由系统选定路线进行传输。这种服务常被描述为“尽最大努力交付”,是一种不可靠的服务。例如,IP、UDP就是一种无连接服务的协议。

(2)  可靠服务不可靠服务
可靠服务是指网络具有纠错、检错、应答机制,能保证数据正确、可靠地传送到目的地。不可靠服务是指网络只是尽量让数据正确、可靠地传送到目的地,是一种尽力而为的服务。

对于提供不可靠服务的网络,其网络的正确性、可靠性要由应用或用户来保障。例如,用户收到信息后要判断信息的正确性,若不正确,则用户就要把出错信息报告给信息的发送者,以便
发送者采取纠正措施。通过用户的这些措施,可将不可靠服务变成可靠服务。

(3)  有应答服务无应答服务
有应答服务是指接收方在收到数据后向发送方给出相应的应答,该应由传输系统内部自动实现,而不由用户实现。发送的应答既可以是肯定应答,又可以是否定应答,通常在接收到的数据有错误时发送否定应答。例如,文件传输服务就是一种有应答服务。

无应答服务是指接收方收到数据后不自动给出应答。若需要应答,则由高层实现。例如,对于 WWW 服务,客户端收到服务器发送的页面文件后不给出应答。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/TSUKI_Yu/article/details/137872642

智能推荐

php实现在线oj,详解OJ(Online Judge)中PHP代码的提交方法及要点-程序员宅基地

文章浏览阅读537次。详解OJ(Online Judge)中PHP代码的提交方法及要点Introduction of How to submit PHP code to Online Judge SystemsIntroduction of How to commit submission in PHP to Online Judge Systems在目前常用的在线oj中,codeforces、spoj、uva、zoj..._while(fscanf(stdin, "%d %d", $a, $b) == 2)

java快捷键调字体_设置MyEclipse编码、补全快捷键、字体大小-程序员宅基地

文章浏览阅读534次。一、设置MyEclipse编码(1)修改工作空间的编码方式:Window-->Preferences-->General-->Workspace-->Text file encoding(2)修改一类文件的编码方式:Window-->Preferences-->General-->content Types-->修改default Encoding(..._java修改快捷缩写内容

解析蓝牙原理_蓝牙原理图详解-程序员宅基地

文章浏览阅读1.4w次,点赞19次,收藏76次。1.前言市面上关于Android的技术书籍很多,几乎每本书也都会涉及到蓝牙开发,但均是上层应用级别的,而且篇幅也普遍短小。对于手机行业的开发者,要进行蓝牙模块的维护,就必须从Android系统底层,至少框架层开始,了解蓝牙的结构和代码实现原理。这方面的文档、网上的各个论坛的相关资料却少之又少。分析原因,大概因为虽然蓝牙协议是完整的,但是并没有具体的实现。蓝牙芯片公司只负责提供最底层的API_蓝牙原理图详解

从未在一起更让人遗憾_“从未在一起和最终没有在一起哪个更遗憾”-程序员宅基地

文章浏览阅读7.7k次。图/源于网络文/曲尚菇凉1.今天早上出门去逛街,在那家冰雪融城店里等待冰淇淋的时候,听到旁边两个女生在讨论很久之前的一期《奇葩说》。那期节目主持人给的辩论题是“从未在一起和最终没有在一起哪个更遗憾”,旁边其中一个女生说,她记得当时印象最深的是有个女孩子说了这样一句话。她说:“如果我喜欢一个人呢,我就从第一眼到最后一眼,把这个人爱够,把我的感觉用光,我只希望那些年让我成长的人是他,之后的那些年他喝过..._从未在一起更遗憾

【CSDN精选】基于龙芯1B200的rt-thread基础_龙芯1b200参数-程序员宅基地

文章浏览阅读927次,点赞15次,收藏13次。龙芯是中国的一款自主设计的处理器架构,由中国科学院计算技术研究所(ICT)主导研发。龙芯处理器最早的版本为Loongson-1,其后发展出Loongson-2、Loongson-3等系列。这些处理器主要用于高性能计算、服务器、嵌入式系统等领域。Loongson架构具有独立知识产权,是中国自主研发的一种指令集架构。龙芯的设计旨在实现对计算机体系结构的自主掌握,减少对外部知识产权的依赖。RT-Thread(Real-Time Thread)是一个开源的实时嵌入式操作系统。_龙芯1b200参数

Python函数知识点(详解)-程序员宅基地

文章浏览阅读6w次,点赞584次,收藏2.9k次。本篇总结了Python函数相关的基础知识点,代码案例超详细,欢迎阅读,交流!_python函数知识点

随便推点

一文看懂:行业分析怎么做?_码工小熊-程序员宅基地

文章浏览阅读491次。大家好,我是爱学习的小xiong熊妹。在工作和面试中,很多小伙伴会遇到“对XX行业进行分析”的要求。一听“行业分析”四个字,好多人会觉得特别高大上,不知道该怎么做。今天给大家一个懒人攻略,小伙伴们可以快速上手哦。一、什么是行业?在做数据分析的时候,“行业”两个字,一般指的是:围绕一个商品,从生产到销售相关的全部企业。以化妆品为例,站在消费者角度,就是简简单单的从商店里买了一支唇膏回去。可站在行业角度,从生产到销售,有相当多的企业在参与工作(如下图)在行业中,每个企业常常扮._码工小熊

LLaMA 简介:一个基础的、650 亿参数的大型语言模型_llma-程序员宅基地

文章浏览阅读1.6w次,点赞2次,收藏2次。还需要做更多的研究来解决大型语言模型中的偏见、有毒评论和幻觉的风险。我们在数万亿个令牌上训练我们的模型,并表明可以仅使用公开可用的数据集来训练最先进的模型,而无需诉诸专有和不可访问的数据集。在大型语言模型空间中训练像 LLaMA 这样的小型基础模型是可取的,因为它需要更少的计算能力和资源来测试新方法、验证他人的工作和探索新的用例。作为 Meta 对开放科学承诺的一部分,今天我们公开发布 LLaMA(大型语言模型元 AI),这是一种最先进的基础大型语言模型,旨在帮助研究人员推进他们在 AI 子领域的工作。_llma

强化学习在制造业领域的应用:智能制造的未来-程序员宅基地

文章浏览阅读223次,点赞3次,收藏5次。1.背景介绍制造业是国家经济发展的重要引擎,其产能和质量对于国家经济的稳定和发展具有重要意义。随着工业技术的不断发展,制造业的生产方式也不断发生变化。传统的制造业通常依赖于人工操作和手工艺,这种方式的缺点是低效率、低产量和不稳定的质量。随着信息化、智能化和网络化等新技术的出现,制造业开始向智能制造迈出了第一步。智能制造的核心是通过大数据、人工智能、计算机视觉等技术,实现制造过程的智能化、自动化...

ansible--安装与使用_pip安装ansible-程序员宅基地

文章浏览阅读938次。系列文章目录文章目录系列文章目录 前言 一、ansible是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言菜鸟一只,刚开始使用,仅作以后参考使用。边学习,边记录,介绍一下最基础的使用,可能会有理解不到位的地方,可以共同交流,废话不多说,走起。一、ansible 简介?ansible是自动化运维工具的一种,基于Python开发,可以实现批量系统配置,批量程序部署,批量运行命令,ansible是基于模块工作的,它本身没有批量部署的能力,真正.._pip安装ansible

RPMs系列卟啉框架材料ZnMn-RPM/AZn-RPM/FeZn-RPM/ZnPO-MOF齐岳供应金属-四羧基苯基卟啉(M-TCPPs)及三维框架卟啉材料[Cu(TPyP)Cu2Mo3O1]_fezn-5是什么意思-程序员宅基地

文章浏览阅读298次。RPMs系列卟啉框架材料ZnMn-RPM/AZn-RPM/FeZn-RPM/ZnPO-MOF齐岳供应金属-四羧基苯基卟啉(M-TCPPs)及三维框架卟啉材料[Cu(TPyP)Cu2Mo3O1]_fezn-5是什么意思

51单片机与ESP8266-01s模块通讯点灯_51单片机与eps826601s通信-程序员宅基地

文章浏览阅读9.9k次,点赞10次,收藏92次。前言 本文章为方便新手上手直接用最简单的点灯展示,关于ESP8266-01s的AT指令类就上网搜有很多这就不多讲了。接线ESP-01S USB转TTL 51单片机 VCC 3.3V 3.3V GND GND GND EN 3.3V 3.3V TX RX P3.0 RX TX P3.1 IO0(注刷固件时插) GND(注刷固件时插) 一、ESP8266-01S接US..._51单片机与eps826601s通信

推荐文章

热门文章

相关标签