第 1 章 网络体系结构

第 1 章 网络体系结构

1、思维导图

image-20201210122814961

2、计算机网络的概念和功能

2.1、计算机网络的定义

计算机网络需要干什么?然后实现什么功能?

计算机网络:是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。

  1. 各种电话设备、电视设备、计算机设备、电网设备组成的网络

    image-20201210131258427

  2. 每台设备之间通过通信线路,实现设备之间的互联

    image-20201210131856082

计算机网络是互连的、自治的计算机集合

  1. 互连:每台设备通过通信链路互联互通
  2. 自治:每台设备之间无主从关系

2.2、计算机网络的功能

数据通信 & 资源共享 & 分布式处理

  1. 数据通信:我们使用微信、QQ等聊天工具,不就是在进行数据通信嘛~

    image-20201210132603094

  2. 资源共享:在图书馆,我们只要登录任意一台电脑,就能共享图书馆打印机啦~~~

    image-20201210132719506

  3. 分布式处理:多台计算机各自承担同一工作任务的不同部分,比如 Hadoop 分布式系统

    1. 提高可靠性:不怕有一两台机器 down 掉,因为还有替代机
    2. 负载均衡:将任务平分给各个机器执行

    image-20201210135128415

2.3、计算机网络的发展

计算机网络发展的第一阶段

  1. 美国政府害怕苏联老大哥把他们的指挥部给炸了,于是美国国防部高级研究计划局(ARPA)设计一个分散的指挥系统,这就是最初的 ARPAnet(阿帕网)

    image-20201210140240118

  2. 为了实现不同网络之间的互联,外国大佬们又提出了 internet(interconnected network) 互联

    image-20201210140331636

  3. 1983 年阿帕网接受 TCP/IP,选定Internet为主要的计算机通信

    image-20201210140429031

  4. ​ internet 与 Internet 的区别:网络把许多计算机连接在一起,而互联网(Internet)则把许多网络连接在一起,因特网(internet)是世界上最大的互联网。

计算机网络发展的第二阶段

1985 年起,美国国家科学基金会 NSF 围绕 6 个大型计算机中心建设计算机网络, 即国家科学基金网 NSFNET,这个三层模型是是现今网络分层模型的前身

image-20201210140652492

计算机网络发展的第三阶段

  1. 随着因特网的发展,主干网的规模越来越大,于是将主干网交由一些运营厂商管理和维护
  2. ISP:因特网服务提供者/因特网 服务提供商,是一个向广大用户 综合提供互联网接入业务、信息 业务、和增值业务的公司,如中 国电信、中国联动、中国移动等。 分为主干ISP、地区ISP和本地ISP
  3. 如果每次同级的设备通信都需要经由主干 ISP,显示通信效率不会很高,于是在某些地区 ISP 之间搭建了 因特网交换点(IXP)

image-20201210140814314

2.4、本节课总结

image-20201210141229347

3、计算机网络的组成和分类

3.1、计算机网络的组成

1、按组成部分分类:由硬件、软件、协议组成

软件部署在各个设备上,并通过一定的协议在各个设备之间传输数据

image-20201210192903641

2、按工作方式分类:由边缘部分和核心部分组成

  1. 边缘部分由一系列的端系统组成,端系统之间的通信为进程之间的通信,边缘部分的进程通信主要 C/S 和 P2P 两种方式
    1. C/S(Client Server):我们常常使用的微信聊天就是这种方式,微信客户端安装在我们手机上。发送微信消息时会先将此消息发送到微信服务器上,再由微信服务器将消息转发到对方手机微信上。可以看出当聊天人数上来之后,微信服务器就可能会吃不消了,即客户端数量越少对服务器压力就越小。类似的方式有 B/S(Browser/Server)
    2. P2P(Peer to Peer):对等连接,参照迅雷下载,没有严格意义上的客户端和服务器,因为每一台机器既有可能是客户端,也有可能是服务器。比如我想下载一部小电影,恰好小红已经下载好了这个电影,我就可以从小红那儿下载,同样,小蓝也想下载这部电影,他可以从我这儿下,我的机器从小明那儿获得了服务,又为小蓝提供了服务
  2. 核心部分为边缘部分提供连接服务,这样边缘服务才能实现端系统与端系统之间的通信

image-20201210194419299

3、按功能组成分类:由通信子网和资源子网组成

  1. 通信子网:实现数据通信
  2. 资源子网:实现资源共享(数据处理)

image-20201210194650862

3.2、计算机网络的分类

1、按分布范围分类:广域网WAN、城域网MAN、局域网LAN、个人区域网PAN

  1. 广域网技术使用交换技术,局域网技术使用广播技术
  2. 世界上最遥远的距离不是我住在你隔壁,而是我们之间的微信聊天隔着一道广域网

2、按使用者分类:公用网、专用网

  1. 公用网:电信、移动、联通提供的网络服务
  2. 专用网:军队、政府专门搭建的网络

3、按交换技术分类:电路交换、报文交换、分组交换

电路交换需要独占一条线,所以经常听到:对不起,你拨打的用户正在通话中,请您稍后再拨

报文交换和分组交换采用存储转发的技术,将条长长的通信线路,切成好多小段,每一小段都有设备负责存储转发

4、按拓扑结构分类:总线型、星型、环型、网状型

  1. 总线型:常用于局域网(都在一条线上方便广播)

    image-20201210195720534

  2. 星型

    image-20201210195723612

  3. 环型

    image-20201210195726603

  4. 网状型:常用于广域网(分成小段方便数据转发)

    image-20201210195729883

5、按传输技术分类:广播式网络、点对点网络

  1. 广播式网络共享公共通信信道
  2. 点对点网络使用分组存储转发和路由选择机制

3.3、本节课总结

image-20201210200042726

4、计算机网路的标准化

4.1、标准化的意义

实现异构网络互连呗

要实现不同厂商的硬、软件之间相互连通,必须遵从统一的标准。

4.2、计算机网络的标准

法定标准 & 事实标准

  1. 法定标准:由权威机构制定的正式的、合法的标准,比如 OSI 参考问题
  2. 事实标准:某些公司的产品在竞争中占据了主流,比如 TCP/IP 使用时间长了,这些产品中的协议和技术就成了标准

4.3、自定义计算机网络标准

跟小论文投稿一样的步骤。。。

RFC(Request For Comments): 因特网标准的形式,RFC要上升为因特网正式标准的四个阶段:

  1. 因特网草案(Internet Draft):给编辑发邮件([email protected]),你们可以试试哦,这个阶段还不是RFC文档。
  2. 建议标准(Proposed Standard):编辑同意你的草案,从这个阶段开始成为RFC文档。
  3. 请求评论(Request For Comments):将草案放到因特网上,接收大家的意见和评论
  4. 因特网标准(InternetStandard):论文录用通知发下来了。。。

4.4、标准化工作的相关组织

都是大佬组织。。。

  1. 国际标准化组织ISO:负责制定OSI模型、HDLC协议
  2. 国际电信联盟ITU:负责制定通信规则
  3. 电气和电子工程师协会IEEE:学术机构、IEEE802系列标准、5G
  4. Internet工程任务组IETF:负责因特网相关标准的制定,比如RFC xxx Version

4.5、本节课总结

image-20201210213744290

5、计算机网络的性能指标

5.1、速率

速率的定义

速率(数据率、数据传输率、比特率)连接在计算机网络上的主机在数字信道上传送数据位数的速率,单位是 b/s,kb/s,Mb/s,Gb/s,Tb/s


假如说发送端在 1s 给接收端发送了 10b 的数据,则速率为 10b/s

image-20201210205605852

解答一波多年的疑惑:关于电信办网 20M 带宽

  1. 一般在速率方面,Kb 代表 103 比特,Mb 代表 103 Kb,且为小写 b
  2. 一般在存储容量方面,KB 代表 210 比特,MB 代表 210 KB,且为小写 B
  3. 运营商说的下行流量 20M 指的是 20Mb,折算为存储容量约为 19M

image-20201210205752779

5.2、带宽

带宽的定义

  1. “带宽”原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹为 Hz
  2. 计算机网络中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。单位是“比特每秒”,b/s,kb/s,Mb/s,Gb/s
  3. 带宽一般指发送方向通信链路中注入比特流的最高速率,用于描述通信的物理极限能力
  4. 带宽是一个理想速率,实际通信中速率肯定达不到带宽这么高啦

举个栗子

一般电磁波在固体介质上传输速率为 2*108m/s ,即电磁波在 1us 可在通信介质内向前传播 200m,则:

链路带宽 = 1Mb/s,主机在 1us 内可向链路发 1bit 数据

  1. 第 1us 的传输情况

    image-20201210210651290

  2. 第 2us 的传输情况

    image-20201210210700495

  3. 第 3us 的传输情况

    image-20201210210711823


链路带宽 = 2Mb/s,主机在 1us 内可向链路发 2bit 数据

  1. 第 1us 的传输情况

    image-20201210210746275

  2. 第 2us 的传输情况

    image-20201210210749649

  3. 第 3us 的传输情况

    image-20201210210753114

5.3、吞吐量

吞吐量的定义

  1. 吞吐量表示在单位时间内通过某个网络(或信道、接口)的数据量。单位 b/s,kb/s,Mb/s 等
  2. 吞吐量受网络的带宽或网络的额定速率的限制,

主机通过交换机访问两台服务器,主机发送速率与交换机接收速率均为 100Mb/s,其链路带宽为 100Mb/s,但是服务器的速率只能达到 20Mb/s 和 10Mb/s,所以该条链路的吞吐量为 30Mb/s,可以看到实际的吞吐量一般小于链路带宽

image-20201210210847069

5.4、时延

时延的定义

时延指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间,也叫延迟或迟延,单位是 s,时延分为四类:

  1. 发送时延(传输时延):是指结点在发送数据时使数据块从结点进入到传输媒体所需的时间,也就是从数据块的第一个比特开始发送算起,到最后一个比特发送完毕所需的时间
  2. 传播时延:是指电磁信号或光信号在传输介质中传播一定的距离所花费的时间,即从发送端发送数据开始,到接收端收到数据(或者从接收端发送确认帧,到发送端收到确认帧),总共经历的时间
  3. 排队时延:分组在经过网络传输时,要经过许多的路由器。但分组在进入路由器后要现在输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发
  4. 处理时延:主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组的首部、从分组中提取数据部分、进行差错或查找适当的路由等等。

5.5、时延带宽积

时延带宽积的定义

  1. 时延带宽积(bit) = 传播时延(s) * 带宽 (bit/s)
  2. 时延带宽积又称为以比特为单位的链路长度,即“某段链路现在有多少比特”,即链路管道的比特容量

image-20201210214450719

5.6、往返时间RTT

往返时间 RTT 的定义

  1. 从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认),总共经历的时延
  2. 注意:从发送方第一个发送的比特位开始算起,以发送方接收到的第一个确认信号为结束
  3. RTT 越大,在收到确认之前,可以发送的数据越多。
  4. RTT 包括两个部分:
    1. 往返传播时延,= 传播时延 * 2,占 RTT 的大头
    2. 末端处理时间,在接收方接收到第一个比特位之后,处理后发出确认信号需要时间

ping 指令中 time 字段表示 RTT

image-20201210214500912

5.7、利用率

利用率的定义

利用率分为:信道利用率和网络利用率

image-20201210215020876


一般来说,当利用率接近 1 时,时延急剧上升,导致通信速率下降

image-20201210215105527

5.8、本节课总结

image-20201210215250011

6、计算机网络的分层结构

6.1、为什么要分层

一句话:大事化小,小事好办

发送文件前要完成的工作:

  1. 发起通信的计算机必须将数据通信的通路进行激活。
  2. 要告诉网络如何识别目的主机。
  3. 发起通信的计算机要查明目的主机是否开机,并且与网络连接正常。
  4. 发起通信的计算机要弄清楚,对方计算机中文件管理程序是否己经做好准备工作。
  5. 确保差错和意外可以解决。
  6. 。。。

image-20201211132237097


说白了,还是将一个大问题分割为一系列的小问题,然后逐个击破各个小问题,就完事儿。。。

6.2、如何进行分层

分层的基本原则

  1. 各层之间相互独立,每层只实现一种相对独立的功能。
  2. 每层之间界线自然清晰,易于理解,相互交流尽可能少。
  3. 结构上可分割开。每层都采用最合适的技术来实现。
  4. 保持下层对上层的独立性,上层单向使用下层提供的服务。
  5. 整个分层结构应该能促进标准化工作。

6.3、正式认识分层结构

分层的术语

  1. 实体:第n层中的活动元素称为n层实体。同一层的实体叫对等实体。
  2. 协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议。【水平方向】
    1. 语法:规定传输数据的格式
    2. 语义:规定所要完成的功能
    3. 同步:规定各种操作的顺序
  3. 接口(访问服务点SAP):上层使用下层服务的入口。
  4. 服务:下层为相邻上层提供的功能调用。【垂直】

image-20201211132536437


SDU & PCI & PDU

  1. SDU服务数据单元:为完成用户所要求的功能而应传送的数据。
  2. PCI协议控制信息:控制协议操作的信息。
  3. PDU协议数据单元:对等层次之间传送的数据单位。

image-20201211132610566

上一层的PDU会作为下一层的SDU,再加上下一层的PCI信息,构成下一层的PDU

6.4、分层概念总结

总结

  1. 网络体系结构是从功能上描述计算机网络结构。
  2. 计算机网络体系结构简称网络体系结构,是一种分层的结构。
  3. 每层遵循某个/些网络协议以完成本层功能。
  4. 计算机网络体系结构是计算机网络的各层及其协议的集合。
  5. 第n层在向n+l层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。
  6. 仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
  7. 体系结构是抽象的,而实现是指能运行的一些软件和硬件。

6.5、本节课总结

image-20201211133100964

7、OSI 参考模型

7.1、为什么提出 OSI 参考模型

提出 OSI 参考模型的背景

  1. 为了解决计算机网络复杂的大问题,需要使用分层结构(按功能)来解决如此复杂的问题
  2. 背景:各个公司提出的网络架构不一致,导致不同公司的系统相互之间无法完成通信
  3. 目的:支持异构网络系统的互联互通。国际标准化组织(ISO)于1984年提出开放系统互连(OSI)参考模型。但是!理论成功,市场失败。

最终演变成了常用的 4 层或 5 层体系结构

image-20201211141344847

7.2、OSI 七层参考模型

七层参考模型

image-20201211140227631

7.3、OSI 参考模型通信过程

端系统与中间系统通信上的差异

各个端系统之间通过中间系统连接起来,端系统工作于上四层之中,中间系统工作于下三层之中,对于端系统来说,下三层的细节实现完成被隐藏

端系统之间是端到端通信,中间系统之间是点到点通信

image-20201211140253729

举个栗子:以“你吃了吗?”为例,进行讲解

  1. 发送方
    1. 每一层打包(RUA)一下,加一个头部信息,每一层的 PDU 作为下一层的 SDU
    2. 数据链路层除了加头部信息,还加了尾部信息呦~
    3. 物理层就是来打黑工的,负责将数据链路层的数据转为比特流发送出去
  2. 接收方:
    1. 每一层脱一件衣服,脱到第七层得到了“你吃了吗?”
    2. 裤子都脱了,就给我看这个???

image-20201211140321702

7.4、应用层

应用层的功能

提供与用户与网络的界面,即所有能和用户交互产生网络流量的程序,比如 QQ,邮箱等

image-20201211151025158

应用层的协议

典型的应用层服务有:文件传输(FTP),电子邮件(SMTP),万维网(HTTP)

7.5、表示层

表示层的功能

表示层用于处理在两个通信系统中交换信息的表示方式(语法和语义)

  1. 功能一:数据格式变换(翻译官)
  2. 功能二:数据加密解密
  3. 功能三:数据压缩和恢复

表示层的协议

主要协议:JPEG、ASCII

7.6、会话层

会话层的功能

会话层向表示层实体/用户进程提供建立连接并在连接上有序地传输数据。这是会话,也是建立同步(SYN)

  1. 功能一:建立、管理、终止会话
  2. 功能二:使用校验点可使会话在通信失效时从校验点/同步点继续恢复通信,实现数据同步。

举个栗子

  1. 会话与会话之间不会相互影响,彼此之间各自独立,比如电脑开着百度又开着视频,两者之间并不会相互干扰

    image-20201211151503573

  2. 设置校验点/同步点适用于传输大文件,将大文件分段,用同步点切割为一段一段的小文件,当传输失败时,无需从头再来,只需从同步点续传即可

会话层的协议

主要协议:ADSP、 ASP

7.7、传输层

传输层的功能

传输层负责主机中两个进程的通信,即端到端的通信。传输单位是报文段或用户数据报。

  1. 功能一:可靠传输和不可靠传输
  2. 功能二:差错控制
  3. 功能三:流量控制(控制发送方速率)
  4. 功能四:复用分用
    1. 复用:多个应用层进程可同时使用下面运输层的服务
    2. 分用:运输层把收到的信息分别交付给上面应用层中相应的进程(通过端口号区分)

传输层的协议

主要协议:TCP、UDP

7.8、网络层

网络层的功能

主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。 网络层传输单位是数据报。

  1. 功能一:路由选择(选取最佳路径)
  2. 功能二:流量控制
  3. 功能三:差错控制
  4. 功能四:拥塞控制(相较于流量控制,拥塞控制侧重于全局控制:若所有结点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态。因此要采取一定措施缓解这种拥塞。)

数据包过大会分割为一个一个的分组

网络层的协议

主要协议:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF

7.9、数据链路层

数据链路层的功能

主要任务是把网络层传下来的数据报组装成帧。 数据链路层/链路层的传输单位是帧。

  1. 功能一:成帧(定义帧的开始和结束)
  2. 功能二:差错控制(帧错+位错)
  3. 功能三:流量控制
  4. 功能四:访问(接入)控制控制对信道的访问

数据链路层的协议

主要协议:SDLC、HDLC、PPP、STP

7.10、物理层

物理层的功能

主要任务是在物理媒体上实现比特流的透明传输。物理层传输单位是比特。

  1. 功能一:定义接口特性
  2. 功能二:定义传输模式(单工、半双工、双工)
  3. 功能三:定义传输速率
  4. 功能四:比特同步(通信时钟)
  5. 功能五:比特编码

透明传输:指不管所传数据是什么样的比特组合,都应当能够在链路上传送。

这是一个傻瓜层,它只需要将比特流转换为电信号发送出去就行

物理层的协议

主要协议:Rj45、802.3

7.11、本节课总结

image-20201211150410028

8、TCP/IP & 5层参考模型

8.1、TCP/IP 参考模型

TCP/IP 参考模型所做的改动

  1. 将应用层、表示层、会话层合并为表示层
  2. 将数据链路层和物理层合并为网络接口层
  3. 每一层都有自己对应的协议

image-20201211220857670

OSI参考模型与TCP/IP参考模型相同点

  1. 都分层
  2. 基于独立的协议栈的概念
  3. 可以实现异构网络互联

OSI参考模型与TCP/IP参考模型不同点

  1. OSI定义三点:服务、协议、接口

  2. OSI先出现,参考模型先于协议发明,不偏向特定协议

  3. TCP/IP设计之初就考虑到异构网互联问题,将IP作为重要层次

  4. 对于网络层和传输层的连接方式

    image-20201211221152000

面向连接与无连接

面向连接分为三个阶段,第一是建立连接,在此 阶段,发出一个建立连接的请求。只有在连接成 功建立之后,才能开始数据传输,这是第二阶段。 接着,当数据传输完毕,必须释放连接。而面向 无连接没有这么多阶段,它直接进行数据传输。

8.2、5 层参考模型

综合了 OSI参考模型和 TCP/IP 参考模型的优缺点

image-20201211221259724

5 层参考模型的数据封装与解封装

  1. 应用层封装成报文
  2. 传输层封装成报文段
  3. 网络层封装成数据报
  4. 数据链路层封装成帧
  5. 物理层转换为比特流

image-20201211221346037

9、本章总结

image-20201211221608900

猜你喜欢

转载自blog.csdn.net/oneby1314/article/details/111998603