计算机网络参考模型
目录
编辑
简介
1.分层模型
1.1 分层的思想
1.2 OSI参考模型与TCP/IP协议簇
1.OSI 参考模型
2.TCP/IP 参考模型
简介
本章大家将学习网络参考模型的概念,对干参考模型的讲解将会贯穿网络课程的始终,因为它是理解网络这个全新世界的关键所在,如果将网络工程师的技能比作一门绝世武功,那么对于网络参考模型的理解就是内功心法。本章的主要内容有三个部分:各层的名称,功能,数据在各层之间的传输过程,TCP/P协议簇,由于大家初次接触网络参考模型,因此本章内容讲解得比较浅显,对于TCP/IP协议只达到简介的层面,并非本章的重点。而本章最核心的内容是第2.2节,即数据在各层之间的传输过程,据此也可以对各层功能有更好的理解。
1.分层模型
我们对这个世界的认识往往只是冰山一角,大部分的“真相”都掩藏在海平面以下,网络世界
更是如此。平时在家里访问各种网页或聊QQ 时,我们的操作无外乎双击图标,打几个字而已,但
对于计算机和网络中转设备来说,这是一个相当复杂的过程,就好像邮寄一份礼物给远方的朋友
我们需要做的只是将这份礼物交给邮局并注明正确的地址,如果不出意外,这位友人将在一两周后
收到,但是这份礼物中间经历了哪些复杂的过程,传递礼物的双方就不得而知了。对于网络的最终
用户,了解到这个层次已经足够了,但如果想成为一名网络专业人员,就必须对这个过程了如指掌,这样才能分析排查网络的常见故障。
1.1 分层的思想
下面将开始研究网络传输的真正的过程,但是这个过程非常复杂,因此应首先建立分层模型分层模型是一种用于开发网络协议的设计方法。而分层思想本质上讲就是把节点间通信这个复杂问
题分成若干相对简单的问题逐一解决,而每个问题对应一层,每一层实现一定的功能,相互协作即
可实现数据通信这个复杂任务。
让我们试想一下,早上时间比较紧张的时候,冲一杯牛奶是一种不错的早餐方案,作为最终用户,我们并没有感受到喝一杯牛奶有多难,因为我们只是把奶粉从超市买回家,用水冲开而已,但奶粉的生产者将面临一系列复杂的问题,例如,如何选择物美价廉的奶源,如何将牛奶运送到奶粉厂且保证牛奶不变质,奶粉的整个生产工艺(包括检验),如何包装能更吸引客户,如何与各大超市洽谈,如何与物流公司沟通等。作为一名奶粉厂的管理者,应该如何应对这么复杂的事情呢?最好的方法就是用分层的思想,将整个生产销售流程分成几个不同的管理模块,每个模块由专门的负责人管理协调,干是奶粉厂就会出现各个部门,原料采购部 奶源加工车间奶粉生产车间奶粉包装车间,销售部门等,如图所示,

这样奶粉加工生产的整个过程一下就变得很清晰了,更重要的是,如果出现各种问题,如奶粉质量问题,管理者可以很快确定问题的原因,从而有针对性地解决问题。这些部门有着各自相对独立的职责,又是彼此相关联的,处于流程前端的部门为后续部门服务,后续部门也需要在前端部门的基础上实现其功能。例如,原料采购部为奶源加工车间服务,因为只有优质的奶源才能保证加工的半成品的质量,奶源加工车间的工作又是在原料采购部的基础上完成的。一旦在最后的成品中发现细菌超标,可以很容易确定是奶源加工车间出了问题。
现在让我们从现实世界回到网络世界,网络节点间通信也体现了这种思想,赋予每一层一定的功能,相邻层之间通过接口来通信,下层为上层提供服务,一旦网络发生故障,很容易确定问题是由哪一层的功能没有实现而导致的,将故障产生的原因聚焦于一点,有助于更加清晰明了地分析问题,解决问题,另外,对于还处于学习阶段的我们,首先将网络最终的通信目标分解成各个子层的目标,然后逐一研究每一层的功能是如何实现的,这种思想有助于将复杂问题简单化,清晰化。
1.2 OSI参考模型与TCP/IP协议簇
在网络环境中常用的分层模型有两种:OSI参考模型与 TCP/IP参考模型,下面将分别介绍这两
种模型。
1.OSI 参考模型
通过之前的例子,大家应该可以理解分层模型对于网络管理而言,就像是企业组织架构对于企业管理一样具有至关重要的地位。由于各个计算机厂商都采用私有的网络模型,因此给通信带来了诸多麻烦,ISO于1984年颁布了OSI参考模型OSI参考模型是一个开放式体系结构,它规定将络
分为七层,从下往上依次是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层,如
图所示,

1)物理层
物理层(PhysicalLayer)的主要功能是完成相邻节点之间原始比特流的传输。物理层协议关心的典型问题是使用什么样的物理信号来表示数据1和0一位持续的时间有多长,数据传输是否可同时在两个方向上进行,最初的连接如何建立及完成通信后连接如何终止,物理接口(插头和插座)有多少针及各针的用处。物理层的设计要涉及物理层接口的机械、电气,功能和过程特性,以及物理层接口连接的传输介质等问题。另外,物理层的设计还涉及通信工程领域内的一些问题。
2)数据链路层
数据链路层(DataLinkLayer)负责将上层数据封装成固定格式的帧,在数据帧内封装发送和接收端的数据链路层地址(在以太网中为MAC地址,MAC地址是用来标识网卡的物理地址;在广城网中点到多点的连接情况下,可以是一个链路的标识),并且为了防止在数据传输过程中产生误码,要在帧尾部加上校验信息,当发现数据错误时,可以重传数据帧。
3)网络层
网络层(NetworkLayer)的主要功能是实现数据从源端到目的端的传输,在网络层,使用逻辑地址来标识一个点,将上层数据封装成数据包,在包的头部封装了源和目的端的逻辑地址。网络层
根据数据包头部的逻辑地址选择最佳的路径,将数据送达目的端。
4)传输层
传输层(TransportLayer)的主要功能是实现网络中不同主机上用户进程之间的数据通信,网络层和数据链路层负责将数据送达目的端的主机,而这个数据需要什么用户进程去外理,就需要传输层帮忙了。
例如,用QQ发送消息,网络层和数据链路层负责将消息转发到接收人的主机,而接收人应该
用QQ程序来接收还是用IE浏览器来接收,就是在传输层进行标识。
传输层要决定对会话层用户(最终的网络用户)提供什么样的服务,因此,我们经常把1~3层的协议称为点到点的协议,而把4~7层的协议称为端到端的协议。
由于绝大多数主机都支持多进程操作,因此机器上会同时有多个程序访问网络,这就意味着将有多条连接进出于这台主机,因此需要以某种方式区别报文属于哪条连接。识别这些连接的信息可以放在传输层的报文头中,除了将几个报文流多路复用到一条通道上,传输层还必须管理跨网连接的建立和拆除,这就需要某种命名机制,使机器内的进程能够说明它希望交谈的对象。
5)会话层
会话层(SessionLayer)允许不同机器上的用户之间建立会话关系。会话层允许进行类似传输层
的普通数据传送,在某些场合还提供了一些有用的增强型服务;允许用户利用一次会话在远端的分
时系统上登录,或在两台机器间传递文件。
会话层提供的服务之一是管理对话控制。会话层允许信息同时双向传输,或任意一个时刻只能单向传输,如果属于后者,则类似于物理信道上的半双工模式,会话层将记录此时该轮到哪一方。
一种与对话控制有关的服务是今牌管理(TokenManaqement)。有些协议会保证双方不能同时进行同样的操作,这一点很重要。为管理这些活动,会话层提供了令牌,令牌可以在会话双方之间移动,只有持有令牌的一方可以执行某种关键性操作。另一种会话层服务是同步的,如果在平均每小时出现一次大故障的网络上,两台机器间要进行一次两小时的文件传输,会出现什么样的问题呢?每一次传输中途失败后,都不得不重新传送这个文件,当网络再次出现大故障时,可能又会半途而废。
为解决这个问题,会话层提供了一种方法,即在数据中插入同步点。当每次网络出现故障后,仅需重传最后一个同步点以后的数据。
6)表示层
表示层(PresentationLayer)用于完成某些特定功能,对这些功能人们常常希望找到普遍的解决
方法,而不必由每个用户自己来实现,值得一提的是,表示层以下各层只关心从源端机到目标机可
靠地传送比特,而表示层关心的是所传送信息的语法和语义。表示层服务的一个典型例子是用一种
大家一致选定的标准方法对数据进行编码。大多数用户程序之间并非交换随机比特,而是交换诸如
人名,日期,货币数量和发票之类的信息,这些对象是用字符串,整型数,浮点数的形式,以及由
几种简单类型组成的数据结构来表示的。
在网络上,计算机可能采用不同的数据表示法,所以在数据传输时需要进行数据格式转换。例如,在不同的机器上常用不同的代码来表示字符串(ASCI码和EBCDIC)整型数(二进制反码或补
码)及机器字的不同字节顺序等。为了让采用不同数据表示法的计算机之间能够相互通信并交换数
据,我们在通信过程中使用抽象的数据结构(如抽象语法表示ASN.1)来表示所传送的数据,而在
机器内部仍然采用各自的标准编码,管理这些抽象数据结构,并在发送方将机器的内部编码转换为
适合网上传输的传送语法及在接收方做相反的转换等工作都是由表示层来完成的。
另外,表示层还涉及数据压缩和解压,数据加密和解密等工作。
7)应用层
联网的目的在于支持运行于不同计算机上的进程之间的通信,而这些进程则是为用户完成不同任务而设计的。应用是多方面的,不受网络结构的限制。应用层(ApplicationLayer)包含大量人们
普遍需要的协议,显然,对于需要通信的不同应用来说,应用层的协议都是必需的,例如PC(Personal Computer,个人计算机)用户利用仿真终端软件通过网络使用该远程主机的资源。这个仿真终端程序使用虚拟终端协议将键盘输入的数据传送到主机的操作系统,并接收显示干屏幕的数据。
又如,当用户想要获得远程计算机上的一个文件副本时,他要向本机的文件传输软件发出请求,这个软件与远程计算机上的文件传输进程通过文件传输协议进行通信,这个协议主要处理文件名。用户许可状态和其他请求细节的通信。远程计算机上的文件传输进程使用其他进程来传输文件内容。
由于每个应用有不同的要求,因此应用层的协议集在OS参考模刑中并没有定义但是 有此确定的应用层协议,包括虚拟终端、文件传输和电子邮件等都可作为标准化的候选。
2.TCP/IP 参考模型
另外一个著名的模型是TCP/IP模型。TCP/IP是传输控制协议/网际协议(Transmission Control
Protocol/InternetProtocol)的简称,早期的TCP/P模型是一个四层结构,从下往上依次是网络接口层,互联网层、传输层和应用层。在后来的使用过程中,借鉴OSI的七层参考模型,将网络接口层划分为物理层和数据链路层,形成了一个新的五层结构。TCP/IP是一系列协议的集合,所以严格的称呼应该是TCP/P协议簇。
TCP/IP协议簇的前四层与OSI参考模型的前四层相对应,其功能也非常类似,而应用层则与OSI参考模型的最高三层相对应,如图所示。

值得注意的是,OSl参考模型没有考虑任何一组特定的协议,因此OSI更具有通用性;而TCP/IP参考模型与TCP/P协议簇吻合得很好,虽然该模型不适用于其他任何协议栈,但如今的网络多以TCP/IP协议簇作为基础,这使得在分层设计上没有过多考虑协议的OSI分层理念,所以没有广泛地应用于实际工作中,相反,人们更多地应用TCP/IP分层模型在实际工作中分析问题,解决问题。
TCP/IP五层模型应用得更广泛,因此本书及以后的内容在讨论问题时一律采用五层模型,下面是该模型对应的一些常见协议,如图所示,

1)物理层和数据链路层
在物理层和数据链路层,TCP/IP并没有定义任何特定的协议,它支持所有标准的,专用的协议,网络可以是局域网(如广泛使用的以太网)、城域网或广域网。所以,TCP/IP实际上只有三个层次。
2)网络层
在网络层,TCP/IP定义了P(InternetProtocol,网际协议),而P又由四个支撑协议成:ARP(地
址解析协议)、RARP(逆地址解析协议)、ICMP(网际控制报文协议)和IGMP(网际组管理协议)。
3)传输层
传统上,TCP/IP有两个传输层协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP协议传输更加稳定可靠,UDP协议传输效率更高。
4)应层
在应用层,TCP/IP定义了许多协议,如HTTP(超文本传输协议),FTP(文件传输协议)、SMTP
(简单邮件传输协议)DNS(域名系统)等。
上述这些协议将在后续课程中具体讲解,这里大家只要明确协议与各层的对应关系即可,当我们研究具体协议的应用时,结合该协议所在层的功能来理解和分析问题将事半功倍。\
未完待续
相关文章:
计算机网络参考模型
目录 编辑 简介 1.分层模型 1.1 分层的思想 1.2 OSI参考模型与TCP/IP协议簇 1.OSI 参考模型 2.TCP/IP 参考模型 简介 本章大家将学习网络参考模型的概念,对干参考模型的讲解将会贯穿网络课程的始终,因为它是理解网络这个全新世界的关键所在&…...
【React基础全篇】
文章目录 一、关于 React二、脚手架2.1 create-react-app 脚手架的使用2.2 项目目录解析2.3 抽离配置文件2.4 webpack 二次封装2.4.1 集成 css 预处理器2.4.2 配置解析别名 2.5 setupProxy 代理 三、JSX3.1 jsx 语法详解3.2 React.createElement 四、组件定义4.1 类组件4.2 函数…...
如何使用 Vue.js 侦听嵌套数据?
new Vue({el: "#app",data: {target: {list: [],},},watch: {"target.list": {handler(newVal, oldVal) {},deep: true,},} }); 给target的list属性增加侦听器,需要在watch中使用字符串的写法 "target.list" 来标记侦听的内容 han…...
Spring AOP详解
Spring AOP是Spring框架中的一个模块,它允许开发人员使用面向切面编程(AOP)的思想来解耦系统的不同层次。 Spring AOP的核心概念是切面(aspect)、连接点(join point)、通知(advice)、切点(pointcut)和引入(introduction)。 切面(aspect):切面是一个类, 它…...
linux iptables安全技术与防火墙
linux iptables安全技术与防火墙 1、iptables防火墙基本介绍1.1netfilter/iptables关系1.2iptables防火墙默认规则表、链结构 2、iptables的四表五链2.1四表2.2五链2.3四表五链总结2.3.1 规则链之间的匹配顺序2.3.2 规则链内的匹配顺序 3、iptables的配置3.1iptables的安装3.2i…...
TCP性能机制
延迟应答 为什么有延迟应答 发送方如果长时间没有收到ACK应答,则会触发超时重传机制,重新发送数据包。但如果接收数据的主机立刻返回ACK应答, 这时候返回的窗口可能比较小,发送方一次只能发少量数据,效率较低。 举个例子理解一…...
qt信号槽同步问题
目录 信号槽: 注意事项: 具体例子: 线程安全问题的例子: 信号槽: 在Qt编程中,信号(Signal)和槽(Slot)是一种用于在对象之间进行通信的机制。信号用于发出…...
七夕特惠-8折抢购,从速
在七夕这个特殊的日子,我们推出了8折优惠活动,具体如下: 不管是充值会员,还是购买套路文章,一律享受8折优惠,活动截止时间为2023年8月24日12时。 甚至还有免费抽奖活动 兑奖方式,复制兑奖码…...
[NLP]LLM--transformer模型的参数量
1. 前言 最近,OpenAI推出的ChatGPT展现出了卓越的性能,引发了大规模语言模型(Large Language Model, LLM)的研究热潮。大规模语言模型的“大”体现在两个方面:模型参数规模大,训练数据规模大。以GPT3为例,GPT3的参数量…...
5 Python的面向对象编程
概述 在上一节,我们介绍了Python的函数,包括:函数的定义、函数的调用、参数的传递、lambda函数等内容。在本节中,我们将介绍Python的面向对象编程。面向对象编程(Object-Oriented Programming, 即OOP)是一种…...
卷积神经网络——上篇【深度学习】【PyTorch】【d2l】
文章目录 5、卷积神经网络5.1、卷积5.1.1、理论部分5.1.2、代码实现5.1.3、边缘检测 5.2、填充和步幅5.2.1、理论部分5.2.2、代码实现 5.3、多输入多输出通道5.3.1、理论部分5.3.2、代码实现 5.4、池化层 | 汇聚层5.4.1、理论部分5.4.2、代码实现 5、卷积神经网络 5.1、卷积 …...
【从零学习python 】54. 内存中写入数据
文章目录 内存中写入数据StringIOBytesIO进阶案例 内存中写入数据 除了将数据写入到一个文件以外,我们还可以使用代码,将数据暂时写入到内存里,可以理解为数据缓冲区。Python中提供了StringIO和BytesIO这两个类将字符串数据和二进制数据写入…...
速通蓝桥杯嵌入式省一教程:(九)AT24C02芯片(E2PROM存储器)读写操作与I2C协议
AT24C02芯片(又叫E2PROM存储器、EEPROM存储器),是一种通过I2C(IIC)协议通信的掉电保存存储器芯片,其内部含有256个8位字节。在介绍这款芯片之前,我们先来粗略了解一下I2C协议。 I2C总线是一种双向二线制的同步串行总线…...
负载均衡:优化性能与可靠性的关键
在现代互联网时代,数以万计的用户访问着各种在线服务,从即时通讯、社交媒体到电子商务和媒体流媒体,无不需要应对海量的请求和数据传输。在这个高并发的环境下,负载均衡成为了关键的技术,它旨在分散工作负载࿰…...
T113-S3-TCA6424-gpio扩展芯片调试
目录 前言 一、TCA6424介绍 二、原理图连接 三、设备树配置 四、内核配置 五、gpio操作 总结 前言 TCA6424是一款常用的GPIO(通用输入输出)扩展芯片,可以扩展微控制器的IO口数量。在T113-S3平台上,使用TCA6424作为GPIO扩展芯…...
奥威BI数据可视化工具:个性化定制,打造独特大屏
每个人都有自己独特的审美,因此即使是做可视化大屏,也有很多人希望做出不一样的报表,用以缓解审美疲劳的同时提高报表浏览效率。因此这也催生出了数据可视化工具的个性化可视化大屏制作需求。 奥威BI数据可视化工具:个性化定制&a…...
13 秒插入 30 万条数据,批量插入!
数据库表 CREATE TABLE t_user (id int(11) NOT NULL AUTO_INCREMENT COMMENT 用户id,username varchar(64) DEFAULT NULL COMMENT 用户名称,age int(4) DEFAULT NULL COMMENT 年龄,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8 COMMENT用户信息表; User实体 /*** …...
Nginx代理转发地址不正确问题
使用ngix前缀去代理转发一个地址,貌似成功了,但是进不到正确的页面,能够访问,但是一直404远处出来nginx会自动拼接地址在后面 后面才知道要将这段代码加上去,去除前缀转发...
HyperMotion高度自动化云迁移至华为HCS8.1解决方案
项目背景 2020 年以来,金融证券已经成为信创落地最快的领域。2021 年证监会发布的《证券期货业科技发展十四五规划》中,将“加强信创规划与实施”作为证券行业重点建设任务之一。为了符合国家信创标准,某证券企业计划将网管系统、呼叫中心管…...
pbootcms系统安全防护设置大全
PbootCMS系统简介 PbootCMS是全新内核且永久开源免费的PHP企业网站开发建设管理系统,是一套高效、简洁、 强悍的可免费商用的PHP CMS源码,能够满足各类企业网站开发建设的需要。系统采用简单到想哭的模板标签,只要懂HTML就可快速开发企业网站…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...
文件上传漏洞防御全攻略
要全面防范文件上传漏洞,需构建多层防御体系,结合技术验证、存储隔离与权限控制: 🔒 一、基础防护层 前端校验(仅辅助) 通过JavaScript限制文件后缀名(白名单)和大小,提…...

