计算机网络第一章:计算机网络的基本概念
Posted 九死九歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络第一章:计算机网络的基本概念相关的知识,希望对你有一定的参考价值。
§1.1.1 概念、组成、功能,及分类
一、计算机网络的概念
1.如图所示,ios和android手机,以及Windows和macOS电脑都可以叫计算机系统 ,也可以叫端系统,这些路由器或者交换机则叫做通信设备,连接器计算机系统与通信设备的蓝线叫做线路。
2.计算机网络即是一个将分散的、具有独立功能的计算机系统(端系统),通过通信设备与线路;连接起来,由功能完善的软件实现资源共享和信息传递的系统。
3.计算机网络是一种互连的、自治的计算机集合:
- 互连指互联互通,即图中的IOS存在一条线路经过通信链路通往任意一个计算机系统。
- 自治是指计算机系统之间无主从关系,不能彼此控制对方。
二、计算机网络的功能
1.数据通信(即连通性,ps:重要):即计算机系统可以依赖计算机网络来传输数据
2.资源共享:
- 硬件资源共享:例如多台电脑可以共用一台打印机。
- 软件资源共享:例如部分软件不需要下载到电脑上就可以和别的电脑共享的使用
- 数据资源共享(最常用的功能):例如PornHub上同一个影片可以很多人用不同的计算机系统一起看
PS:3、4、5两点的重要程度不及前两点
3.分布式处理:多台计算机可以各自承担统一工作任务的不同部分(例如Hadoop平台)
4.提高可靠性:在计算机网络中,若一台计算机宕机了,导致它所分配的任务无法完成,网络中的其他计算机可以代替他的工作。
5.负载均衡:多台计算机分配统一工作,大家各司所职,干活不累,是计算机之间更加亲密。
三、计算机网络的组成
1.组成部分:
- 硬件:硬件包括端系统即主机、链路,例如双绞线光纤、还有通信设备,例如路由器。
- 软件:软件首先是应用软件,而且是要联网的,比如浏览器QQ微信
- 协议:协议是计网的核心,它是一系列规则约定的集合。
2.工作方式(重要):
- 边缘部分:
即主机所存在的部分,叫做边缘部分,用户可以直接使用。
包括两种方式: - C/S方式:即客户端/服务器模式。
- p2p方式:大家都是对等的,没有服务器客户端的概念。
- 核心部分:包括一部分服务器和大部分网络
PS:边缘部分想要实现网络通信,必须有强大的核心部分作支持。 - 功能组成:
(详见二、计算机网络的功能)
1.通信子网:用来实现数据通信
2.资源子网:用来实现资源共享/数据处理
如图为OSI七层模型示意图:上三层是资源子网,下三层是通信子网
四、计算机网络的分类
1.按分布范围分:
- 广域网WAN:跨度非常广,通常要跨国。常用于交换技术。
- 城域网MAN:一个城市内的跨度
- 局域网LAN:方圆一千里左右,例如常用的WLAN(我的命根)。常用于广播技术。
- 个人区域网PAN:方圆十米以内,例如蓝牙耳机。
2.按使用者分:
- 公用网:三大运营商移动电信联通的网,只要交钱钱就能用。想用交钱就行。
- 专用网:军队医院等专用的网络。不是想用就能用。
3.按照交换技术分:电路交换、报文交换、分组交换。
(这些内容涉及到OSI七层模型的物理层,此处不做解释,详解见计网学习笔记第二章:物理层)
4.按拓扑结构分:
PS:网状型结构常用于局域网
5.按照传输技术分:
- 广播式网络:共享公共通信信道
校园广播喊人去干饭,发现是你你就去,发现不是你你就不去了,一对多的。 - 点对点式网络:使用分组存储转发和路由选择机制
正在上计网课,你同桌悄咪咪给你让你去干饭,一对一的。
五、本节思维导图
§1.1.2 标准化工作及相关组织
一、标准化工作
标准化对于计算机网络而言十分重要!
若标准不统一就会造成如下结果:
1.概念:要实现不同厂商的软、硬件之间的相互连通,必须遵从统一的标准。这就叫标准化工作。
2.标准的分类:
- 法定标准:由权威机构所定制的正式的,合法的标准。例如OSI标准
- 事实标准:某些公司的产品在市场竞争中占据了主流,时间长了,这些产品中的协议和技术就成了标准。例如TCP/IP协议
3.RFC(request for comments)标准:请求评论标准,因特网标准的形式,因特网标准一定是RFC,但是RFC不一定是因特网标准。
RFC标准要上升到因特网正式标准的四个阶段:
- 1.因特网草案(Internet Draft):这个阶段还不是RFC文档——需要将自己的草案邮寄给rfc编辑的邮箱,并等待回复。(邮箱地址:rfc-editor@rfc-editor.org)
- 2.建议标准(Proposed Standard):从这个阶段开始成为RFC文档——如果rfc编辑觉得草案可行,则草案即可成为一个RFC文档。当然如果觉得你的草案不够freestyle,也会给你说谢谢惠顾。
- 3.草案标准(Draft Standard):你的标准已经可以交给IETF、IAB去进行审核
(PS:第三阶段已从2011年开始取消了) - 4.因特网标准(Internet Standard):若第三阶段审核通过,则该标准便成为了一个正真意义上的因特网标准。
二、标准化工作的相关组织
1.国际标准化组织ISO(重要):主要贡献是建立了OSI参考模型、和HDLC协议
2.国际电信联盟ITU:制定了通信规则
3.国际电气电子工程师协会IEEE:这是一个学术机构,制定了IEEE802系列标准、以及5G技术相关协议
4.Internet工程任务组IETF:与IAB一同负责因特网相关标准的制定
三、本节知识导图
§1.1.3 速率相关的性能指标
一、速率
1.概念:速率又称数据率,或数据传输率或比特率。即连接在计算机网络上的主机在数字信道上传送数据位数的速率。
速率的概念就是我们常见的b/s、kb/s、Mb/s了
PS:
①速率是发送端发送到信道上的速率,而不是传送到接收端的比特流的速率。如图:
发送端和接收端之间的杠杠就是信道。
②注意单位换算
1kb/s = 1000b/s -> b是比特
1kB/s = 210B/s -> B是字节
速率一般用比特每秒b/s描述,单位换算为1000
内存一般用字节B描述。单位换算为210
二、带宽
1.“带宽”原本指某个频率具有的频带宽度,及最高频率与最低频率之差,单位是赫兹Hz。
2.在计算机科学中,带宽指网络的通信线路传送数据的能力,通常是指单位时间内从网络的某一点到另一点所能通过的“最高数据率”。单位与速率同样是比特每秒。
3.通俗来讲,带宽就是网络设备所能支持的最高速度。
例如你买了一个一百M的交换机,那它所能达到的最高速度就是100Mb/s
(这些内容涉及到OSI七层模型的物理层,此处不做解释,详解见计网学习笔记第二章:物理层)
例1: 设某主机通过光纤传输信息的速率为3Mb/s,而光纤内光线的传播速率为 c = 3 * 108m/s,假设光纤中只能存在2Byte的信息,请问这条光纤有多长?
如图:
三、吞吐量
1.概念:吞吐量表示在单位时间内通过某个网络(或信道,或接口)的数据量。单位为比特每秒。吞吐量受到网络的带宽或网络的额定速率限制。
2.带宽与吞吐量的区别:带宽是极限值,是不变的;吞吐量是实际值,是变化的。例如你有一辆宝马z4,带宽就是说不要命了把油门踩到底能跑多快,这和车的性能有关,是不变的。吞吐量就是你没耍酒疯,开到马路上有多快,这和车的性能,你喝的是白开水还是白酒,你走的是子午大道还是绕城高速等等都有关,是变化的。
§1.1.4 时延、时延带宽积、RTT和利用率
一、时延
1.概念:指数据(报文、分组、比特流)从网络(或链路)的一端传送到另一端的时间。也叫延迟或迟延。单位是s
2.时延的四大类:
-
发送时延(传输时延):
从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需要的时间。
发送时延 = 数据长度 / 信道带宽(发送速率)
(PS:带宽是最高可到达的速率,正常情况下速率没有这么快。但实体里面一般只给带宽,那你就只能拿带宽去算了。) -
传播时延:
数据在信道上的传输所需要的时间。取决于电磁波传播速度和链路长度。
传播时延 = 信道长度 / 电磁波在信道上的传播速率
-
排队时延:
等待输入/输出链路可用所要等待的时间。
数据进入通信设备(例如路由器)后要排队,在通信设备里面存储一段时间,这段时间叫做排队时延。
-
处理时延:
处理时间即是通信设备对数据进行检错所需要的时间。
如果提高了带宽,那么同等大小的数据的发送时延会减少,但是传播时延并不会,传播时延只取决于信道长度和传播速率。提高带宽叫做高速链路。
假如通信设备就像是三号线的小寨,那么信道就是从你加到小寨的那一段路,比特流就像是坐地铁的男男女女。那么发送时延是你在家里洗洗漱漱穿鞋背包准备坐地铁出门,传播时延就是你做公交去小寨地铁口,排队时延就是在地铁站排队过安检的时间,而处理时延就是排队完了,到你该安检了。
二、时延带宽积
时延带宽积 = 传播时延 *带宽 单位是bite。
时延带宽积用来描述一条链路里可以存在的数据量。即“某条链路现在有多少比特”。
相当于是一个埋在西邮下面的运水管子,连通了西北政法和陕师大,把陕师大的自来水运到西北政法,这个水管子里面能存储多少吨位的水,就说明这个管子的时延带宽积有多大。
三、往返时延RTT
1.概念:从发送方发送数据开始,到发送方接收到接收方的确认(接收方接收到数据后立即发送确认,不会发呆)总共经历的时延。
举一个像我一样学后端的应该都明白的例子,服务器开启后,一个客户端发送请求,被服务器接收到有一定时延,服务器接收到请求后立即响应请求,并将信息发送到客户端上,这又有一个时延。请求发送给客户端的时延加上响应发送给客户端的时延之和就叫做往返时延
2.如何查看往返时延RTT:
在终端输入ping命令,如图:
3.相关
RTT越大,在收到确认之前,可以发送的数据越多。
往返时延RTT包括:
- 往返传播时延 = 传播时延 * 2
- 末端处理时间,接收方的处理,相当于服务器对客户端请求的一个处理过程。
自然不包括发送时延了
四、利用率
1.分类:
-
信道利用率:
信道利用率 = 有数据通过的时间 / 没有数据通过的时间 * 100%
低信道利用率就像是宽阔的大马路上只有两三辆车,修恁宽没啥用,利用率低。
高信道利用率就是……印度火车……我只能说懂得都懂,这里面的水太深了。不懂的也就不要试着去懂。
-
网络利用率:
网络利用率是把所有信道的信道利用率加权再求平均值。在数据结构里面网络又名加权无向图,信道就相当于两个节点之间的路径了。
这个玩意儿懂图论就好理解,当然不懂也好理解。
2.时延与利用率之间的关系:
就如同上面那个例子,利用率高就相当于马路上全都是车,马路上车多了不就堵车了,一堵车能快?
五、思维导图
这个是这一节和上一节的思维导图,因为两节内容都少,所以归并成一张图了。
§1.2.1 分层结构、协议、接口、服务
一、为什么要分层?
发送文件之前要完成的工作有:
① 发起通信的计算机必须将数据通信的通路进行激活。
② 告诉网络如何识别目的主机。
③ 发送通信的计算机要查明目的主机是否开机,并且与网络链接正常。
④ 发起通信的计算机要弄清楚,对方的计算机中文件管理程序是否已经做好准备工作。即是否做好接收文件的准备,是否有足够的内存空间存储接收文件。
⑤ 确保差错和意外可以解决。
⑥ 等等等等
由此可见发送文件是个繁杂的大问题。而我们数据结构与算法中学过分治算法,将繁杂的大问题分成许多简单的小问题逐个解决。七层协议的划分也可以说是应用到了分治算法,分成七层协议逐个击破,更加高效方便。
二、怎么分层?
1.分层中的一些概念:
① 实体:第n层的活动元素就称为第n层实体,类似于数据结构中节点的概念。例如我送你一本书《深入了解java虚拟机》,连书带包装纸带包装盒等等一系列都叫做实体。
② 对等实体:处于同一层的实体就互为对等实体。我还正在包装的书和过了几天后你收到了的我的书并且正在开包装,这两个状态下的书就是对等实体。同样的,书从我所住的西安运往西安市分拣中心,和书从宇宙都市曹县分拣中心到你在曹六环贫民窟的四层别墅这一段路,这两个过程下的书也叫对等实体。
③ 协议:为进行网络中的对等实体数据交换而提供的规则、标准或约定称为网络协议。我装书的时候,先把书拿胶带捆起来,再放到塑料泡沫里,再放到硬纸板里,再把硬纸板用胶带粘住。那书到了你取书的时候就要反向的先去掉硬纸板包装上的胶带,再打开硬纸板……等等,知道把书上的胶带扯下来(希望书的封面没事)装书和取书所要遵循的一系列规则就叫做快递网络七层模型中装书取书层所遵循的协议。
关于协议的三个概念:
④ 接口(访问服务点SAP):接口是上层使用下层服务的入口。每两层相邻协议之间都存在接口。例如书包装好了以后先要让快递小哥把书包裹送到分拣中心,我包装书和快递小哥送书是两个分层。而我就要把包裹放到菜鸟驿站,好让快递小哥拿包裹,实现两层对接,那么菜鸟驿站就是两层之间的接口。
⑤ 服务:下层为相邻上层提供的功能调用。七层协议相邻的两层中,下层要为上层提供服务,而
上层要使用下层提供的服务。我为快递小哥提供服务,快递小哥为分拣中心提供服务,分拣公司为长途大巴提供服务。虽然现实情况不是这样,但可以这么理解。
2.分层的基本原则:
① 每层之间相互独立,每层只实现一种相对独立的功能。
② 每层之间界面自然清晰,易于理解,相互交流尽可能少。
③ 结构上要分隔开。每层都可采用最合适的技术。
④ 保持上层和下层的独立性,上层单向使用下层提供的服务。
⑤ 整个分层结构应该可以促进标准化工作。
三、正式认识分层结构
如图所示,计算机网络中逐层递减的过程中,数据越来越大,这并不是因为toncent的的畏信团队代理了计算机网络,如图:
几个概念:
① SDU服务数据单元:为完成用户所要求的功能而应传送的数据。
② PCI协议控制信息:控制协议操作的信息。
③ PDU协议数据单元:对等层次之间传送的数据单元。PDU几十下一层的SDU。
四、本节概念总结
1.网络体系结构是从功能上描述计算机网络结构。
2.计算机网络体系结构简称网络体系结构是分层结构。
3.每层遵循某个/些网络协议以完成本层功能。
4.计算机网络体系结构是计算机网络各层协议的集合。
5.第n层在向n + 1层提供服务时,此服务不仅包括第n层本身的功能,还包含由下层服务提供的功能。
6.仅仅在相邻层间有服务,且所提供服务的具体实现细节对上一层完全屏蔽。
7.体系结构是抽象的,而实现是指运行的一些软件和硬件。
五、本节思维导图
§1.2.2 OSI参考模型(1)
一、OSI七层参考模型的由来
第一个被提出的网络体系结构的是IBM公司提出的SNA,随后还有DEC的DNA、美国国防部的TCP/IP等等。一人一个样样,用起来不方便,所以国际标准化组织(ISO)便于1984年提出了开放系统互联(OSI)模型,就相当于是普通话之于南腔北调。
然后OSI模型尽管理论上是成功的,但是市场上市失败的,大家并不买单。所以他只是一个法定的标准,而真正的市场通用模型是TCP/IP模型。
二、OSI七层参考模型简介
记忆顺口溜:物联网淑惠试用 (物链网数会示用)(自下而上)
上三层是资源子网,用于数据处理。下三层是通信子网,用于数据通信。
三、OSI参考模型解释通信过程
如图,A主机和B主机中存在通信设备,这个通信设备可以是路由器、交换机、网桥等等。
数据在主机上传输时七层都要通过,在通信设备上只需要在下三层上传输。
数据在上四层上的传输是“端对端”式的,一定会指定重点。
数据在下三层上的传输是“点对点”式的,不一定会制定重点,但一定要制定下一个目标,是主机B还是下一个路由器、或者下一个交换机。
数据从发送端主机到达发送端物理层的时候,就像是在一步一步给要送给别人的书在包包装。从发送端物理层到达发送端主机的过程就好像是在拆包裹。而中间的通信设备就相当于是快递公司。
数据链路层比别人都多一个字,所以他不仅要在首部加点东西,还要在尾部也加点东西上去。
物理层是个小憨憨,啥东西都不忘啥价,只负责把数据转化成比特流。
§1.2.3 OSI参考模型(2)
一、应用层
1.概念:
所有能与用户交互并产生网络流量的程序。
例如QQ、微信、bilibili,不联网没法用,就算。植物大战僵尸、Minecraft,不联网也能玩的起飞,就不包含于应用层的范围了。
2.典型的应用层服务及其协议:
文件传输:FTP
电子邮件:SMTP
万维网:HTTP
二、表示层
1.概念:
用于处理在两个通信系统中想交换信息的表示方式(语法和语义)
2.功能:
-
数据格式变换:
相当于翻译官的作用,把比特流转换成相应的文件。
-
数据加密解密:
例如我发微信告诉你我今天吃的是旭日一楼的宏兴快餐,就可以不用加密,直接传输
如果我告诉你我的qq密码是多少,就要进行发送端加密,接收端解密的处理了。
-
数据压缩和恢复
太大的文件直接传有点颇烦,然后你就可以先在发送端把文件压缩了,在传送到接收端,接收端把文件解压掉。
三、会话层
1.概念:
向表示层实体/用户进程提供建立连接并在连接上有序地传输数据。这个过程叫做会话,也叫建立同步(SYN)
比如你在某个标签页上用b站打开了复变函数的网课,同时又在另一个标签页上用p站打开了某种视频。两个视频同时播放,当你观看复变函数的时候,点了快进,复变函数的视频就会快进,你懂的视频不会。这就是会话层的作用。
如果会话层出现了问题,很有可能会出现的情况就是你在b站上点了快进,结果你懂的视频确快进了。
2.功能:
- 建立、管理、终止会话。上面那个例子中,b站和p站都相当于是一个会话。
- 使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。在p站下片子,下一版一不小心把p站关了,会话关闭掉了,视频暂停下载。重新打开p站下片子,发现有校验点,就会从校验点的地方开始下载,不会重新从头开始下载。
3.主要协议:
ADSP、ASP
四、传输层
1.概念:
传输层主要负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。
2.特点:
传输层链接起了上三层资源子网和下三层通信子网。
上四层端到端,下三层点到点。上三层相当于你要给别人寄一本书,你只需要管从哪里寄到哪里,只用管终点和起点,所以是端到端。而下面的快递员还要管咱从西安到曹县,中途没准还要经过渭南啦、济南啦等等,所以是点到点。
3.功能:
-
可靠传输、不可靠传输
可靠传输是不仅要把数据发上去,还要让接收端主机确认数据有没有发上去,如果没有发上去,发送端还要重新再发一遍。(TCP)
不可靠传输人也不管那么多,直接发。收不收得到看天。(UDP)
-
差错控制
发的数据有问题了的话,传输层就要弥补修复错误。
-
流量控制
如果发送方一下子发十来TB的文件,接收方也许无法一下子接受这么多,那就要控制发送端的速度了。
-
复用分用
-
复用:多个应用层的进程可同时使用下面传输层的服务(八车道变一车道)
-
分用:传输层把收到的信息分别交付给上面应用层中相应的进程(一车道变八车道)
-
五、网络层
1.概念
主要任务是把分组从源端传送到目的端,为分组在交换网上的不同主机提供通信服务。网络层传输单位是数据报。
当数据报过长的时候,会将数据包进行切割,切割成多个分组。
2.功能
-
路由选择
相当于还是从西邮运一本书到曹县,路上的城市就是路由器。那你可以先从西安到郑州再到济南,最后到曹县牛批666窝里宝贝儿。也可以西安太原石家庄、济南再到曹县。网络层需要通过路由选择的方式选择出一条最佳路径去运书。
-
流量控制
水管子从陕师范通过地下管道运水到西北政法,运太快了的话,西北政法就要通过水管告诉陕师范:“太快了、温柔点”。以控制水的流量。
-
差错控制
找到运输数据有错误就要纠错,以保证传输层的数据是没有问题的。
-
拥塞控制
若网络中所有节点都来不及接收分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定积极措施,缓解这种拥塞。
与拥塞控制相比,流量控制是只控制发送端的速度。而拥塞控制要控制全局的速度。
3.主要协议
IP IPX ICMP IGMP ARP RARP OSPF
六、数据链路层
1.概念
数据链路层的主要任务是把网络层传下来的数据报组装成帧。数据链路层的传输单位是帧。
2.功能
-
成帧(定义帧的开始和结束)
定义一串比特流从哪开始是帧的开始,到哪里是帧的结束。
-
控制差错
这个功能可以检错也可以纠错
- 帧错:丢弃或修改差错的帧
- 位错:丢弃或修改差错的比特位
-
流量控制
概念同上两层(OSI之所以被淘汰就是因为重复的功能太多了【狗头】)
-
访问(接入)控制
控制对信道的访问,就像如下这样的拓扑图中,多个主机有共享的信道,不能同时使用共享信道。
数据链路层就要控制在某一时刻到底让谁使用共享的信道。
3.主要协议
SDLC HDLC PPP STP
七、物理层
1.概念
物理层不许需要对数据做任何处理。主要任务是在物理媒体上实现比特流的透明传输,物理层传输单位是比特。
透明传输是指不管所传数据是什么样的比特组合,都应当能在链路上传输。例如介质是光纤,就把比特流转化成一明一暗。如果介质是网线,就转化成高低电压。
2.功能
-
定义接口特性
例如电缆要有多少引脚,引脚又要怎么连接等。
-
定义传输模式
- 单工:谁谁谁是发送端、谁谁谁是接收端就已经定义好了,不能改变了。只能我说你听,或者只能你说我听。
- 半双工:两个人都可以是接收方发送方,但是同一时间只能有一个发送一个接收。要么我说你听,你么你说我听,都行。
- 双工:咱俩同时一遍听对方说话,一边说话。
-
定义传输速率
-
比特同步
-
比特编码
即用啥表示一,用啥表示零。
3.主要协议
Rj45 802.3
八、本节思维导图
§1.2.4 TCP、IP参考模型和五层参考模型
一、OSI参考模型与TCP/IP参考模型的关系
1.两者关系
如图所示
OSI参考模型是一群老学者提出的,没有市场应用过,所以被淘汰掉了。
TCP/IP参考模型的协议栈在很早之前就存在了,并应用于实践。
然后才有了TCP/IP参考模型。
它比OSI参考模型更加合理且市场应用广泛。
2.两者相同点
- 1.都分层
- 2.都基于独立的协议栈
- 3.都可以实现异构网络互联(就是说所有厂家的计算机系统都可以应用。windows给安卓发消息,安卓给maxOS发消息都可以用OSI参考模型或者TCP/IP参考模型)
3.两者不同点
OSI参考模型 | TCP/IP参考模型 | |
---|---|---|
基本概念 | OSI模型先于协议发明 定义了三点:服务、协议、接口 | TCP/IP协议先于模型发明 在设计之初就考虑到易购网互联问题,将IP作为重要层次 |
网络层 | 无连接 ① + 面向连接 ② | 无连接 |
传输层 | 面向连接 | 无连接 + 面向连接 |
①:无连接相较于面向连接而言没有那么多过程,直接进行数据传输。(UDP)
②:面向连接分为三个阶段,第一是建立连接,在此阶段,发出一个建立连接的请求。只有在连接成功建立之后,才能开始数据传输,这是第二各阶段,当数据传输完毕,第三个阶段释放连接。(TCP)
二、五层参考模型
1.基本概念
OSI七层模型的优点是每一层的功能清晰完善。
TCP/IP四层参考模型的优点是层次少,每层之间的功能重复少。
而五层参考模型则吸收了这两者各自的优点。
2.五层参考模型的数据封装与解封装
如图所示
(PS:该笔记所对应的学习资料b站链接:2019 王道考研 计算机网络)
以上是关于计算机网络第一章:计算机网络的基本概念的主要内容,如果未能解决你的问题,请参考以下文章