2024考研408-计算机网络 第一章-计算机网络体系结构学习笔记

文章目录

  • 前言
  • 一、计算机网络概述
    • 1.1、概念及功能
      • 1.1.1、计算机网络的概念
      • 1.1.2、计算机网络的功能
        • 功能1、数据通信
        • 功能2、资源共享
        • 功能3、分布式处理
        • 功能4、提高可靠性(分布式处理引申功能)
        • 功能5、负载均衡(也是分布式处理引申功能)
      • 1.1.3、因特网发展阶段
        • 第一阶段:阿帕网
        • 第二阶段:三级结构
        • 第三阶段:多层次ISP结构(认识IXP)
      • 学习回顾与重要总结
    • 1.2、组成与分类
      • 1.2.1、计算机网络的组成部分
        • 1.2.1.1、组成部分(硬件、软件、协议)
        • 1.2.1.2、工作方式(边缘部分、核心部分)
        • 1.2.1.3、功能组成(通信子网、资源子网)
      • 1.2.2、计算机网络的分类
        • 1.2.2.1、按照分布范围分(含局域网与广域网区别)
        • 1.2.2.2、按照使用者来分(公用网、专用网)
        • 1.2.2.3、按照交换技术来分(电路、报文、分组)
        • 1.2.2.4、按照拓扑结构分类(总线、星、环、网)
        • 1.2.2.5、按照传输技术分类(广播式、点对点)
      • 知识回顾脑图
    • 1.3、标准化工作及相关组织
      • 1.3.1、标准化工作
      • 1.3.2、标准化分类(法定、事实标准)
      • 1.3.3、RFC及其发展为因特网标准的四个阶段
      • 1.3.4、标准化工作的相关组织
      • 脑图时刻
    • 1.4、性能指标
      • 1.4.1、速率
      • 1.4.2、带宽
      • 1.4.3、吞吐量
      • 1.4.4、时延
        • ①发送时延
        • ②传播时延
        • ③排队时延
        • ④处理时延
      • 1.4.5、时延带宽积
      • 1.4.6、往返时间RTT
      • 1.4.7、利用率
      • 脑图时刻
  • 二、计算机网络体系结构与参考模型
    • 2.1、分层结构、协议、接口、服务
      • 2.1.1、引出分层,为什么要分层?
      • 2.1.2、如何进行分层?(实际举例以及理解名词)
      • 2.1.3、正式认识分层结构(名词真实含义,协议三大要素)
      • 2.1.4、分层之间的数据关系(SDU、PCI、PDU)
      • 概念总结
      • 脑图时刻
    • 2.2、OSI参考模型
      • 2.2.1、认识计算机分层标准
      • 2.2.2、认识ISO/OSI参考模型以及怎么来的?
      • 2.2.3、认识ISO/OSI参考模型七层
      • 2.2.4、ISO/OSI参考模型解释通信过程
        • 2.2.4.1、简单理解数据传输的过程
        • 2.2.4.2、理解各层是属于端到端还是点到点?
        • 2.2.4.3、各层之间数据以及协议的增、拆过程(数据封装流程)
      • 2.2.5、ISO/OSI参考模型七层功能介绍
        • ①应用层
        • ②表示层
        • ③会话层
        • ④传输层
        • ⑤网络层
        • ⑥数据链路层
        • ⑦物理层
        • 脑图时刻
    • 2.3、TCP/IP参考模型与五层参考模型
      • 2.3.1、比较OSI与TCP/IP模型
      • 2.3.2、OSI参考模型与TCP/IP参考模型的相同点与不同点
      • 2.3.3、五层参考模型
      • 2.3.4、5层参考模型的数据封装与解封装
      • 脑图时刻
  • 第一章知识总结

前言

目前正在备考24考研,现将24计算机王道的408学习整理的知识点进行汇总整理。

博主博客文章目录索引:博客目录索引(持续更新)

计算机网络无处不在,现实中计网的场景有十分多如下

image-20230722173008319

  • RTT指的是往返传输时延,当你发送一个指令让这个人往前走一步,接着游戏的服务器端收到指令给你返回一个对应的响应这一时延,称为RTT。

image-20230722173021323

  • 区块链:每一个记账本都可以在云端被大家看到,同样也是通过网络。

实际计算机网络体系结构是基于层次来划分,每一个层次都实现一些具体的功能。

image-20230722173106524

整一章节的思维导图如下:

image-20230722173146710

image-20230722173311893

  • 分层结构就好比为类;实例则是ISO/OSI(七层)、TCP/IP模型(四层)。

实际在考研当中是五层:物理层、数据链路层、网络层、传输层、应用层。


一、计算机网络概述

1.1、概念及功能

1.1.1、计算机网络的概念

image-20230722174727549

  • 人体内神经网络:由许多神经元组成的网络系统。
  • 电信网络:通过电话线,链路链接起来的这样一个网状系统。
  • 有线电视网络:通过电缆和光缆,将录制好的一个节目传送给千家万户,构成了非常庞大的网状系统。

常说的三网指的是:电信网络、有线电视网络、计算机网络,上图画圈的。

目前这三网有一个很潮流的名字:三网融合,通过计算机网络非常关键的媒介实现的。

  • 目前社会是高度信息化的社会,数字技术,就广泛应用于计算机网络当中。我们可以把所有的媒体,文字,图片,视频等等全部转换成零或一这样的一个数字比特流的形式,再放到链路上面进行传输,这样就可以实现不同的节点之间的通信以及资源的共享。

我们可以将电信网络当中的音频信号编码为数字信号,可以把有线电视网络当中的图像,还有音频等等全部编码成数字信号再放到链路上面进行传输,这样可以靠计算机网络将有线电视、网络和电信网络融合在一起。

目前还流行的有四网:包含电网。

image-20230722174704064

  • 举例路灯:对于路灯控制管理与维护十分重要,可以结合电信网络、计算机网络、有线电视网络实现无线路灯的监控方案,此时若是有人偷路径,那么报警信息会实时的传到这个负责人的相关电子设备中。

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

image-20230722175201871

  • 其中的线路是逻辑线路,因为这个线路可以是无线、有线的(例如连接WIFI这个局域网网官中),实现了一个逻辑上连接,接着由功能完善的软件来实现资源共享和信息传递。

对于仅仅建立网络连接是不够的,还需要有软件的支撑才能够实现每个终端和终端之间的资源共享以及信息的传递。

一些名词介绍

  • 计算机网络是互连的、自治的计算机集合。
  • 互连:通过通信链路互联互通。
  • 自治:各个节点之间无主从关系,高度自治的。

1.1.2、计算机网络的功能

功能1、数据通信

image-20230722193030132

两台主机之间可以进行相互传输数据文件。


功能2、资源共享

同一个计算机网络上的其他计算机可使用某台计算机的计算机资源的行为,可共享硬件、软件、数据

  • 硬件共享:例如网络式打印机,将打印机连在一个网络里,同时给打印机设置一个固定的静态IP地址,接着我们的手机可以通过网络和这个打印机连在一起。即可实现所有人对这台打印机的共享。
  • 软件共享:例如电脑上远程访问另一台电脑,然后使用这个电脑上面远程访问另一台电脑,接着使用另一台电脑上面的办公软件,或者是画图,此时就实现了软件的资源共享。
  • 数据共享:例如在百度文库上上传或者下载文件,这些都是数据的共享,这个网络资源的共享并不一定是免费的,它还会有收费的情况。

功能3、分布式处理

场景:一台计算机它的负载过大,那么此时可以使用多台计算机可以各自承担统一工作任务的不同部分,此时工作效率就会变高。

举例:非常典型的应用则是hadoop这样的一个分布式平台,可以进行高速的运行以及分布式的存储。


功能4、提高可靠性(分布式处理引申功能)

若是分布式处理网络中一台主机宕机了,那么此时可以让另一台机器作为替代机实现。


功能5、负载均衡(也是分布式处理引申功能)

使用了分布式处理后,可以使多台计算机各自承担一部分的工作任务,相对比较均衡。


1.1.3、因特网发展阶段

第一阶段:阿帕网

美苏冷战时期,美国国防部有一个单一,十分集中的点,这个中心是否被害怕被核武器给摧毁,一旦中心被摧毁,那么全国的局势系统就会瘫痪,因为所有的节点都依附在这一个只会中心上,此时就想着是不是能够设计一个比较分散的指挥系统?

  • 预想的一个指挥系统:在指挥系统中有一个个分散的指挥点组成,一旦其中的指挥点被炸掉了,那么还会有其他节点可以接替工作,并且还可以实现彼此之间的通信。

该组织就是 美国国防部高级研究计划局(ARPA),设计了一个网络叫做阿帕网

image-20230722194450128

阿帕网的原型就是四个分布在不同地区的节点组成,通过无线分组交换网以及卫星通信网连接,若是其中的一个节点消失不见,那么另外其他节点还是可以继续工作和通信的。

image-20230722194632000

与此同时阿帕网在每一个节点后都介入了很多其他的终端,一些电脑,从而扩大了阿帕网的规模,但是有一个弊端则是阿帕网只能够连接到同一类型的网络,随着这个信息量的增长,它们系统可以实现不同网络的互连,也就是实现一个相互连接的网络interconnected network(简称internet,互联网)。

image-20230722194857325

此时为了这个目标,出现了这个协议叫做TCP/IP协议,可以实现不同网络的连接,其中这个IP协议可以实现不同网络的连接,TCP协议则是基本的一个通信协议,帮助IP实现可靠传输的一个协议。通过这两个协议联合起来就可以实现网络的互连。

对于阿帕网,在1983年正式也接收了这个协议,再此之前使用的是一个旧的协议。同时选择了internet为主要的计算机通信系统,最终得到了常说的因特网Internet

  • 所以阿帕网就是因特网的前身。

image-20230722195147754

对于网络本质上就是有若干个节点和连接这些节点的链路组成,这些都叫做节点

对于节点它们之间连接的链路,那么构成了一朵云彩就叫做网络,将网络和网络通过路由器连接起来,就构成了一个大型的网络,也就是互联网。

image-20230722195603899

关于三个名词之间的关联:网络互联网因特网

  • 网络把所有计算机连接在一起,而互联网则把许多网络连接在一起,因特网是世界上最大的互联网。

第二阶段:三级结构

1985年,美国国家科学基金会NSF围绕6个大型计算机中心建设计算机网络,即国家科学基金网NSFNET

这样的网络是由三层结构构成,最底层就是校园网或者企业网,对于最底层用户若是想要连接到互联网,就需要连接到第二层的地区网,并且第二层地区网再去连接到第一层的主干网,此时就形成了逻辑比较清晰的三层网络结构

image-20230722200440585

  • 对于这种三级的计算机网络结构,实际已经覆盖了当时美国大部分的学校以及研究所,并且成为了因特网当中的主要组成部分。

第三阶段:多层次ISP结构(认识IXP)

随着技术的发展,越来越多用户、公司连接到互联网中,此时就会导致网络的信息量急剧增大,而美国当时所掌握的这个因特网已经满足不了大量的要求了,此时美国政府则将因特网的主干网交给一些私人公司来经营,并且开始对介入因特网的单位来进行收费。

  • 这些第三方的公司则被称为ISP

ISP(因特网服务提供者/因特网服务提供商):是一个向广大用户综合提供互联网接入业务、信息业务和增值业务的公司,如中国电信、中国联通、中国移动等。并且分为主干ISP、地区ISP和本地ISP。

  • 无论在校园还是将,我们都需要交网费,这个就是给ISP的服务费,通过支付服务费方式我们才能够使用ISP的服务来得到一个IP地址在网络冲浪。

image-20230722201519434

  • 简洁来说:全世界有一个非常大的IP池,叫做因特网管理机构来管理,如果ISP供应商要给用户提供服务,给他们分配IP,就需要在这个IP池里要到一些IP地址,得到一个网段的IP地址此时就能够进行上网。

理解ISP

  • 只要每一个本地ISP都安装路由器连接到地区ISP,接着地区ISP也有路由器连接到主干ISP,那么就可以完成因特网当中所有的数据分组转发的任务,此时我们就能够畅游网络,访问各个网站的资源。
  • 我们可以在百度搜索ip地址就能够看到当前你所在属于的本地ISP了。

image-20230722201839366

提问:若是随着流量的激增,人们对于网络的要求也越来越高,那么所有的网络请求都需要进入到主干ISP之后才能够进行网络数据交换吗?

  • 人们开始研究如何更快的转发数据,此时诞生出了一个概念 “因特网交换点IXP”。

原本a与b通信需要经历一层又一层的ISP结构,通过本地ISP到地区ISP再到主干ISP,此时若是有了IXP之后,那么我们可以直接允许这两个网络相连接,此时就不需要第三个网络转发分组了。

image-20230722202249032

效果:大大提升了信息传递和资源共享的速度。


学习回顾与重要总结

image-20230722202402533


1.2、组成与分类

1.2.1、计算机网络的组成部分

1.2.1.1、组成部分(硬件、软件、协议)

组成:硬件、软件、协议(一系列规则和约定的集合)。

image-20230722204255165

  • 硬件:端系统(边缘末端的系统)以及中间的路由器,交换机等等中间设备。
  • 软件:附在端系统上,甚至是包括这个中间设备上也有一定软件,将软件来布到硬件上。
  • 协议:协议穿梭在各个硬件当中,构成了计算机网络,计算机网络的每一个层次,都是有很多协议的,根据这个协议来规定数据如何封装、打包、传输。

1.2.1.2、工作方式(边缘部分、核心部分)

工作方式:边缘部分、核心部分

边缘部分

边缘部分:就是一系列的端系统组成,这些端系统,不仅仅包含一些计算机,也可以包括非常大的一些服务器、大型计算机,还可以是一些非常小的网络摄像头,实时的捕获到一些信息,并将这些信息实时发布出去。

  • 端系统:边缘末端的系统。
  • 端和端的通信:指的是两个端系统之间的进程通信。举例:主机A某个进程如QQ与主机B某个进程如QQ直接进行发送、接收消息,这就是两个端系统之间的进程通信。

image-20230722210822353

两个端之间通信(用户直接使用)包括两种方式:C/S方式【或B/S方式】、P2P方式。

  • C/S方式:client/server通信。例如微信(client)之间聊天发送消息都是通过的服务器(server)来进行转发。【B/S则是浏览器与服务器】
  • P2P方式(peer-to-peer):对等连接。所有的主机都有两个身份,一面提供服务的服务者,另一面就是使用服务的享受者,既可以充当客户也可以充当服务器。

P2P举例子:例如a用户有一部500M的电影,此时B、C、D都想看,此时先给B发了200M,接着B又向C发送150M,并且C又向获取剩余的电影文件,当C得到了之后就是D了,对于A、B、C此时都有这部电影资源此时就都可以给D发送资源,此时D获取资源的速度最快。

image-20230722210701508

结论:对于B、C、D既可以作为客户端也可以作为服务器,各自之间既承担了上传的功能,也同时享受到了下载的服务。主机越多,下载越快。

核心部分

核心部分:计算机网络只有边缘部分不够,还需要使用核心部分的一些服务,通过核心部分提供服务,边缘部分才能够实现端系统与端系统之间的通信。

image-20230722211024211

简述:主要是给边缘部分提供服务的,包括路由器以及一些中间设备,还有一些网络连接起来,此时构成了计算机网络。


1.2.1.3、功能组成(通信子网、资源子网)

计算机网络主要两个功能为数据通信、资源共享,根据这两个功能可以对计算机网络来进行划分:通信子网、资源子网。

  • 通信子网:实现数据通信。
  • 资源子网:实现资源共享/数据处理。

按照OSI参考模型可以划分为七层,对于下三层则是通信子网由各种传输介质通信设备、网络协议组成,可以让这个网络具有传输、交换、控制和存储的能力,同时还可以实现联网,计算机之间的数据通信。

image-20230722211948819

上三层主要是对数据进行封装处理,下三层主要是将这个数据送上路,对于中间的传输层,起到一个非常重要的融会贯通的作用。

  • 传输层:主要是为了弥补上面三层要求的服务和网络层提供服务之间的差距,并且向高层用户屏蔽通信子网当中的一些细节。
  • 实际举例子:你在网上商城上下了订单,此时商家就会根据订单中的宝贝进行打包包裹,那么对于封装好了宝贝之后就需要送上去,而对于具体下一站送到哪里,如何送上车,是空运还是邮寄,我们都无需管。这个中间传输的过程就是传输层要做的事情。

1.2.2、计算机网络的分类

1.2.2.1、按照分布范围分(含局域网与广域网区别)

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

  • 广域网WAN:范围十分广,几十到几千公里,广域网算是因特网的核心了,任务就是通过比较长的距离可以跨国家的距离来运行主机之间要发送的一些数据。
  • 城域网MAN:可以覆盖一个城市的网络。
  • 局域网LAN:地理上比较小,例如一个学校、一个办公楼都是局域网范围。
  • 个人区域网PAN:个人工作的地方,将自己的一些电子设备,如电脑、智能手表、手环等,通过无线技术连接起来的网络称为无线个人局域网,范围在10米左右。

对于局域网与广域网的区别

①不能够仅仅只是凭借物理距离来判定,而是要根据实际使用的技术来决定。

举例:我和邻居相隔很近,但是由于各自使用自己的wifi,那么我们直接发短信通信,这个实际上是在网络中进行一个交换和传递,这个网络就是互联网,虽然说我们物理距离离得很近,但是实际上使用的广域网的技术来进行通信的。

②局域网使用的是广播技术;广域网使用的是交换技术

如何巧记

  • 局域网广播技术例子:例如在一个村子里,我们只需要打开广播,吼一声,那么全村人都可以听见了。
  • 广域网交换技术例子:你在一个县,接着你要和另一个省的人说哈,此时就不是吼一声的事情了,此时需要使用的就是交换技术,通过路由器等等一些中间设备,将数据一点一点的转发存储并交换出去。

1.2.2.2、按照使用者来分(公用网、专用网)

按照使用者来分:公用网、专用网。

  • 公用网:一般是国有或者私有出资建造的一些大型网络,包括电信、联通、移动。

image-20230722215354642

  • 专用网:某个部分或者某个行业,为了自己的一些特殊工作需要构建的网络。比如说军队、政府或者说是我们现在很多互联网公司一个办公室,整个办公间使用的都是专用网,是内网。

image-20230722215401021


1.2.2.3、按照交换技术来分(电路、报文、分组)

按照交换技术来分:电路交换、报文交换、分组交换

  • 这三种交换实际就是在讲数据怎么交换的。

电路交换:特点就是在通话的时间内通过的双方会完全占着中间的资源,不能够被其他人所使用。

  • 电路交换原理:①建立连接,占用一个通信资源。②构建连接,双方一直占用资源。③释放连接,把电话挂了之后即可断开连接。
  • 举例:打电话就是电路交换,包含几个步骤,首先拨号若是对方接听了,那么此时建立号一个链接,其他人若是给你打电话就会出现正在通话中无法插入,此时就表示已经占线了。

报文交换、分组交换:两者之间都是采用的存储转发方式,仅仅只是对于主体并不相同。

  • 存储转发介绍:若是此时将一个数据(报文或者是分组)放在网络上进行传输,这个数据可能会交由一个路由器,接着这个路由器会存储下来这个报文或者分组,检查一下要往哪里发,此时若是有好几条路,此时就会选择一个更近的路由器来进行转发给它。
  • image-20230722215426743

报文交换与分组交换的不同点:主要是主体不一样,报文是一个大的一整个文件,而分组则是将一整块报文拆分成一个个分组。

报文交换与分组交换的共通点:都是采用的存储转发,并且占用线路是一段一段的,并不是向电路交换一样独享占用。若是有其他数据也是在同一条链路上发送也是可以的。


1.2.2.4、按照拓扑结构分类(总线、星、环、网)

拓扑结构:将网络中的节点(可以是路由器、交换机、或者段系统的主机),将这些节点变为一个个小质点,小圆圈,接着将通信链路抽象成一条线,将这个圆圈儿和线组合在一起称为拓扑结构。

总线型:所有的端系统或者说节点都连接在这个总线上面。

image-20230722215946456

星型:由中间这个节点四散开来链接每一个节点。

  • 关于星型这一块主要考察节点的个数以及中间链路数的关系。如果说是有6个节点,那么需要的是五条链路。

    image-20230722215958037

环型:将所有的节点连接在一起构成环。

image-20230722220005758

网状型:可在广域网中常用的拓扑结构,多对多的关系。

image-20230722220024054


1.2.2.5、按照传输技术分类(广播式、点对点)

按照传输技术分为:广播式网络、点对点网络

广播式网络共享公共通信信道

  • 具体介绍:是在局域网当中一种网络,是共享公共通信信道的,通常使用的是这个总线型拓扑结构,共享中间的这样一条公共的信道,所有的这个联网的计算机都可以享用这个信道,并且当一条计算机向这个共享信道发送报文分组的时候,所有计算机都会收到这个分组。

点对点网络:使用分组存储转发路由选择机制。

  • 具体介绍:通常是对应广域网,广域网基本都是点对点的网络,指的是若是网络当中两台主机想要实现通信,但是没有直接连接的话,它就需要很多中间节点来实现分组的存储,转发和路由选择。
  • 与广播区别:发的信息并不是所有计算机都能够收到,只有目标的计算机才能够收到。

知识回顾脑图

image-20230722220655430


1.3、标准化工作及相关组织

1.3.1、标准化工作

若是没有制定相统一的一些标准时,例如在线游戏的版本不一致,那么一些游戏会在启动时提示如下信息:

image-20230723140617761

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


1.3.2、标准化分类(法定、事实标准)

标准分类分为:法定标准、事实标准

  • 法定标准:由权威机构制定的正式的、合法的标准。可以是国内也可以是国际上的法定标准,比较常见的是书中提到的OSI标准。
  • 事实标准:某些公司的产品在竞争中占据了主流,TCP/IP时间长了,这些产品中的协议和技术就成了标准。

image-20230723140947501

  • Nano SIM卡是苹果在iPhone 5开始使用的小卡,微型卡一采用之后,其他厂家分分跟着苹果学,目前俩看的话此时NANO SIM卡就成为了一个事实上的标准。

1.3.3、RFC及其发展为因特网标准的四个阶段

RFC(Request For Comments,请求评论):因特网标准的形式。

RFC要上升为因特网正式标准的四个阶段

1)因特网草案(Internet Draft)这个阶段还不是RFC文档。

  • 首先在这个阶段并不能够算是一个rfc的文档,只能说是一个构思,假如说目前想要制定一个标准,此时就可以先拟出一个因特网草案出来,实际就是一个我个人觉得可以成立的标准。

2)建议标准(Proposed Standard)从这个阶段开始称为了RFC文档。

  • 构建出来之后此时可以发邮件给:rfc-editor@rfc-editor.org,若是他们回复你觉得很棒,那么此时就会进入到下一个阶段;若是回复欢迎下次再来,就表示没有通过。

3)草案标准(Draft Standard)

  • 可以开始请求评论,将rfc文档放到因特网上,等着很多人给你进行修改意见,来对RFC文档进一步进行完善,完善之后此时就会形成了一个草案标准。

4)因特网标准(Internet Standard)

  • 此时进入最终阶段,会将这个草案标准拿给IETF、IAB组织来进行审核,若是最后一关也通过了,那么因特网草案就成为了一个因特网的标准。

注意:在2011年之后,第三个阶段就取消了。


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

国际标准化组织(ISO):OSI模型、HDLC协议。

国际电信联盟(ITU):制定通信规则。(负责电信电话这一方面)。

电器和电子工程师协会(IEEE):学术机构、IEEE802系列标准、5G。

Internet工程任务组(IETF):负责因特网相关标准的制定、RFC xxxx。

其中最重要的则是这个国际标准化组织ISO


脑图时刻

image-20230723142742242


1.4、性能指标

1.4.1、速率

速率:数据率或称数据传输率或比特率。连接在计算机网络上的主机在数字信道上传输数据位数的速率。

  • 比特:表示1或者0,最小单位。

其中的单位是b/s,kb/s,Mb/s、Gb/s、Tb/s

接下来是速率的换算单位及存储容量比较

image-20230723143610845

注意:数据传输速率(通信领域)是103为换算单位,对于存储容量(形容大小)是210作为换算单位,1024。


1.4.2、带宽

带宽:原本指某个信号具有的频带宽度,即最高频率与最低频率之差,单位是赫兹(Hz)。

  • 计算机网路中,带宽用来表示网络的通信线路传送数据的能力,通常是指单位时间内从网络中的某一点另一点所能通过的"最高数据率"。单位是比特/s,例如:b/s、kb/s、Mb/s、Gb/s。

带宽举例:网络设备中所能支持的最高速度,例如有一台交换机,有一个口是100M的口,也就是说交换机这个100M的口最多极限的传输速率就是100M比特每秒,如果说这个交换机这边连一个百兆的网卡,那么两个就可以实现一起通信,在通信的过程中,一秒最多这个交换机能往信道或者链路上面传输的比特数为100M比特。

注意:带宽指的是在这个入口位置发送数据的速率,而不是指在链路上传播的速率。实际在链路上都是以电磁波的形式来传播的。带宽就是发送端最高能发送的数据率,也就是理想当中极限的传输数据率。

下面使用图示来理解速率与带宽的区别

情况1:我们这里的有一条链路:①首先链路带宽=1Mb/s,换算下来主机在1us可向链路发送1bit数据。②传播速率为2x108m/s,电磁波1us可向前传播200m。

下面是表示在1us、2us、3us的时候在链路中bit的位数以及传输情况:

image-20230723151928093

  • 在第1us的时候发送出来一个bit,在第2us的时候第一个bit传输了200米,并且此时再次发出1个bit;在第3us的时候再次发送了一个bit,并且前2us发送的bit同时传输了100米。

情况2:接下来是链路带宽为2Mb/s的情况:

image-20230723152310991

  • 对比上一个1Mb/s差别就是一个是每1秒发送1个bit,当前这个则是1秒发送两个bit,图是在3us时链路中的情况。

结论:若是带宽变大,那么就表示单位时间内往链路中注入的数据或者数据量比特数变多了,但是不会影响这个比特在链路上传播的速度,只能说发送的变快了。


1.4.3、吞吐量

举例:例如一个景区的门口,在十分钟之内,进出了多少人,这就是景区门口的吞吐量。

吞吐量:表示在单位时间内通过某个网络(或信道、接口)的数据量。单位b/s、kb/s、Mb/s等。

首先我们有一台主机和交换机,我们自己的计算机与交换机都有百兆口,那么对于链路带宽就是100Mb/s。

  • 百兆口:我们这台计算机往外发送速率最快是100Mb每秒,交换机同时往外发送的速率也是100Mb/s。
  • **那主机和交换机的接收速率是多少?**接收的速率是看相对应的缓存多少来决定。

image-20230723153646313

此时主机开始访问两个服务器里的网页,对于服务器1也就是上面这一个速率为20Mb/s,对于服务器2下面一个速率为10Mb/s,对于这个速率实际上是受这个服务器自身的发送速率限制的。

image-20230723154528705

  • 此时我们可以看到的带宽(理想的状态,一般情况下服务器、主机的传输速率比带宽小的),此时我们可以计算一下当前链路上吞吐量为20Mb/s+10Mb/s = 30Mb/s,也就是将两个服务器的传输速率加起来。

简单理解带宽、速率、吞吐率区别:链路带宽实际就是带宽标准的最高数据量(理想的),吞吐量(实际的,所有链路相加),速率(指的是单个服务器、单个主机能够发出的速率)。

通俗易懂例子:如吃方便面,我个人胃口最大可以吃100碗(带宽),对于这个碗数可以不分厂家,此时一个厂家1s给了20包(速率),另一个厂家1s给我30包(速率),那么我这1s只能够吃50包(吞吐量)。


1.4.4、时延

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

时延包含四大类

  1. 发送时延(传输时延)。
  2. 传播时延。
  3. 排队时延。
  4. 处理时延。

①发送时延

发送时延(传输时延):指的是从发送分组的第一个比特算起,到该分组的最后一个比特发送完所需的时间。

发送时延受两个因素影响:①多长的数据。②发送的快慢。

公式发送时延 = 数据长度/信道带宽

  • 其中信道带宽指的就是发送速率。在实际生活当中传输速率或发送速率是达不到信道的带宽的,而在做题时我们一般都是使用带宽来作为发送速率

举例:我们有10bit数据,带宽为10b/s,此时我们的发送时延为10bit / (10b/s) = 1s,此时我们的发送时延就是1s。实际就是我们将所有的数据推送到信道的时间。

image-20230723164306105


②传播时延

传播时延:是在信道上传播一定距离所花费的时间,取决于电磁波传播速度和链路。

  • 信道长度,链路长度可以理解为一端介质,链路信道可以是光纤、同轴电缆等。
  • 电磁波的传输速度一般为3x108bit/s,不过在实际应用中是在固体介质上进行传输,那么会有一定的损耗最终速度一般是2x108bit/s。

为什么电磁波在信道上传输呢,不应该是比特流或者信号在传输吗?

  • 我们的信号会经过一定的调制手法,把信道的这个电磁波作为载体进行传输。
  • 通俗理解:电磁波就像是一个工人,这个电磁波可以背着比特流向前跑,所以这个比特流在信道上面传输的速率显示效果就是电磁波在上传传播的速率。

公式传播时延 = 信道长度 / 电磁波在信道上的传输速率

例子:如下图我们数据在信道上传输到达路由器为止刚好等候的这一段时间就是传播时延。

test

对比发送时延:发送时延一般发生在主机内部,发生在网络适配器当中也就是机器内部的发送器里;传播时延则是发生在机器外的,发生在这个信道上面的。


③排队时延

排队时延:等待输出或者输入链路可用所需要的等待时间。

例子:我们主机传输的信息到达路由器,但是还没有被处理此时在外面待得时间就可以称为是排队时延。

image-20230723165753917


④处理时延

处理时延:若是数据排队结束此时可以进行一些转发的工作了,对于这个转发过程也是需要时间,主要包含有检错、找出口。

对于排队时延与处理时延的举例:拿机场过安检作为例子,我们人已经在安检后的队伍里了,此时我们前面还有很多人,此时就需要等待,这个时间就是【排队时延】;终于过了很久以后,排到我们了,此时上安检台,这个在安检台上检测处理的过程就是【处理时延】。

发送速率与传播时延是否有无关系?

若是我们将发送速率增加换为100bit/s(原先10bit/s),此时发送速率或信道带宽就提高了,在数据长度不变的情况下,发送时延肯定会变小。

  • 衍生:高速链路中发送速率的提高,只会影响信道带宽、发送速率变高以及发送时延减小,并不会影响电磁波的传输速率以及传播时延。

image-20230723170957742


1.4.5、时延带宽积

时延带宽积:时延和带宽的乘积。用来描述数据量或者信息量的一个性能属性。

  • 这里的时延指的是传播时延,是发送端在发送数据时可以达到最高数据量率。指的是电磁波在信道上传输所花费的时间单位是s。
  • 带宽:则是b/s。

公式时延带宽积 = 传播时延 x 带宽

  • 传播时延以秒为单位,带宽则是以b/s为单位(几比特每秒为单位),那么时延带宽积的单位就是bit。

更加生动理解时延带宽积:就是从链路开始-链路借位的所有数据容量。

image-20230723171648588

时延带宽积又称为以比特为单位的链路长度,通俗易懂说就是"某段链路现在有多少比特",指的是此刻链路当中的数据容量性能指标。


1.4.6、往返时间RTT

一般打游戏时会出现这个RTT,若是数字比较大,那么打起来就非常卡,若是数字很小,打起来就十分流畅。

RTT定义:指从发送方发送数据开始,到发送方收到接收方的确认(接收方收到数据后立即发送确认),总共经历的时延。

  • RTT越大,在收到确认之前,可以发送的数据越多。

RTT组成:①往返传播时延 = 传播时延 * 2。②末端处理时间。

  • 其中传播时延指的就是在信道上传输的时间,与电磁波速率以及信道长度有关,往返的话就是两倍的传播时延。
  • 末端处理时间指的就是接收方可能会对这个数据进行处理到发出一个确认帧的处理时间。【一般的话题目会直接计算两倍的传播时延,对于末端处理时间会直接忽略】

注意:RTT是不包含传输时延的(指的是将所有的数据从主机放到信道上的时间),仅仅只是传输数据是在信道上的时间。

实际例子:在MAC电脑上进行ping百度的域名,此时就会有相应的RTT往返时延时间。

image-20230725154917474


1.4.7、利用率

利用率定义:利用的效率,主要就是看这个链路上有多少时间是由数据的,若是链路上一直有数据在进行传输,那么就说明链路的利用率核稿,若是没有数据传输,那么利用率比较低即为0。

利用率分类:信道利用率、网络利用率。

  • 信道利用率公式:有数据通过时间 / (有+无)数据通过时间
  • 网络利用率公式:信道利用率加权平均值

相关联的性能指标:若是时延越大,那么就表明此时在信道上传输的数据很多,利用率也会无限靠近1,相对应的速率实际上会降低

举例

场景一:在同样长的信道上,仅仅只有几个数据在进行同行,那么就表示利用率比较低。

image-20230725155655199

场景二:在同样长的信道上,有大量的数据在进行传输,数据更多,那么利用率更高。

image-20230725155738962


脑图时刻

image-20230725160118866


二、计算机网络体系结构与参考模型

2.1、分层结构、协议、接口、服务

2.1.1、引出分层,为什么要分层?

image-20230725180414335

发送一个文件之间需要完成的工作

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

可以看到仅仅是发送一个文件就涉及到一系列的大问题,那么这么多的问题放在一起肯定无法直接一连串解决,那么此时可以进行分解成小问题来实现。

解决方案:分层结构。


2.1.2、如何进行分层?(实际举例以及理解名词)

实际生活中寄快递的例子

image-20230725181015388

理解多个名词:实体、对等实体、协议、接口、服务。

  • 实体:要寄送的物品,也就是对方实际要接收到的数据。
  • 对等实体:两个活动对象很类似的物品,两个统称叫做对等实体。
  • 协议:固定每一层要如何包装,如何解包装,只有对等实体才有协议。
    • 举例不符合协议的案例:例如软包装以及拆木箱,本身并不是对等实体,那么两层不对等的实体之间是没有协议的。
  • 接口:逻辑接口,规范定义。
  • 服务:每两个层之间所提供的东西,叫做服务。上层是使用下层的服务的,下级要为上级提供服务。

image-20230725181702037

分层的基本原则

1、各层之间相互独立,每层只实现一种相对独立的功能。

2、每层之间界面自然清晰,易于理解,相互交流尽可能少。

3、结构上可分割开,每层都采用最合适的技术来实现。

4、保持下层对上层的独立性,上层单向使用下层提供的服务

5、整个分层结构应该促进标准化工作。


2.1.3、正式认识分层结构(名词真实含义,协议三大要素)

image-20230725183937374

下面来重新正式认识多个名词在上图中的表示说明

1、实体:第n层中的活动元素称为n成实体。同一层的实体叫做对等实体。

2、协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议。【水平】

  • 例如4层协议无法与3层协议对等。

协议的三大要素:语法、语义、同步。

  • 语法:规定传输数据的格式。
  • 语义:规定所要完成的功能。
  • 同步:规定各种操作的顺序。

下面例子采用一个二进制数来举例各个要素在其中表示的含义:001000100111001

  • 语法举例:按照0或1数字形式来阐述 或 从哪里开始分割。
  • 语义举例:之前语法说会进行分段,那么对于每段的含义也是要进行规定规范的,实现什么功能。
  • 同步举例:规定各种操作的顺序,如规定哪个部分数据先发及后发,这是顺序的规定。

3、接口(访问服务点SAP):上层使用下层服务的入口。

对于相邻之间都会有接口,通过这个接口来作为一个桥梁,这种联系是需要使用服务。

4、服务:下层为相邻上层提供的功能调用。【垂直】

  • 服务是单向的,上层是使用,下层则是提供服务。

垂直与水平说明:垂直是上下两层之间的名词,垂直方向;协议则是相同层次、对等层次之间的名词,水平方向。


2.1.4、分层之间的数据关系(SDU、PCI、PDU)

对第五层、第四层、第三层分别抽出来看下对应三层之间存在一种什么样的数据包含关系,分别为:SDU、PCI、PDU。

image-20230725184036816

SDU服务数据单元(Service Data Unit):为完成用户所要求的功能而应传输的数据。

  • 简单来说:就是每一层要传送的数据,有用的部分。

PCI协议控制信息(Protocol Control Information):控制协议操作信息。

  • 简单描述:指的是控制协议操作的信息,简单理解为一些控制信息。

PDU协议数据单元(Protocol Data Unit):SDU加上PCI控制协议,实际对等层之间传送的数据单位。

叙述每层之间数据关系:每一层的PDU会作为下一层的SDU,再加上相对应层的PCI协议信息即可再次构成PDU。


概念总结

1、网络体系结构是从功能上描述计算机网络结构。

2、计算机网络体系结构简称网络体系结构是分层结构

3、每层遵循某个/些网络协议以完成本层功能。

4、计算机网络体系结构是计算机网络的各层及其协议的集合。

5、第n层在向n+1层提供服务时,此服务不仅包含第n层本身的功能,还包含由下层服务提供的功能。

6、仅仅在相邻间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。

7、体系结构是抽象的,而实现是指能运行的一些软件和硬件。


脑图时刻

image-20230725184609869


2.2、OSI参考模型

2.2.1、认识计算机分层标准

计算机分层结有多种标准:7层OSI参考模型、4层TCP/IP参考模型。

7层OSI参考模型:法定标准。

  • 法定标准指的是发来规定的计算机网络参考模型标准。

4层TCP/IP参考模型:事实标准。

  • 事实标准指的是目前现实生活中通用的一个参考模型,用户体验好。

通过总结优缺点,接着得到一个新的五层体系结构,主要是为了学习更方便、思路更清晰所产生的。


2.2.2、认识ISO/OSI参考模型以及怎么来的?

为了解决计算机网络复杂的大问题,按照功能来进行分层结构

为什么会出现ISO/OSI参考模型呢?

缘由:很多公司都提出了自己的网络体系结构,对应公司的体系结构是相对应公司的产品的,不同公司只有使用他们的产品才能够使用他们体系结构,此时若是想要所有人进行一个网上的互联互通是十分困难的。

  • 例如第一个提出网络体系结构的IBM公司研发了SNA模型、DEC公司研发了DNA模型,美国国防部研发了TCP/IP协议。

image-20230725191321095

国际标准组织ISO于1984年提出了开放系统互联OSI参考模型

  • 这里的开放是非垄断的,这种开放是全球通用的,不同的网络,不同的设备、软件、硬件都可以在网络上进行一个连接。

OSI参考模型出现的目的:支持异构网络的互联互通。

对于OSI参考模型是否落地呢?

  • 理论是成功,但是市场失败!

主要失败的原因

1、OSI专家比较缺乏实际经验,构想十分好。

2、OSI的协议实现起来比较复杂,运行效率非常低。

3、OSI标准的制定周期太长了。当OSI模型出来时,实际上在市场上已经有非常好的TCP/IP在市场上使用了。

4、OSI层次划分不合理,部分功能会在多个层次中重复出现,有一些弊端不太适用于我们市场需求。TCP/IP则十分符合市场需求,对于OSI只能够成为一个历史,一个法定的标准。


2.2.3、认识ISO/OSI参考模型七层

OSI包含七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

  • 巧记:每个层记一个字 物链网输会示用【物联网淑慧试用】。

上三层属于资源子网主要进行数据处理,下三层则是通信子网主要用来进行数据传输。

image-20230725191555538


2.2.4、ISO/OSI参考模型解释通信过程

2.2.4.1、简单理解数据传输的过程

传输一个数据的过程如下图的1-6步骤:

  • ①首先主机A会经过7层,每一层都会添加相应的控制信息,只有物理层仅仅只是转换为二进制来进行传输;
  • ②通过传输介质传输比特流数据。
  • ③经过一些中间系统(例如路由器、交换机)【整个传输过程中可能会碰到多个】,对于中间系统仅仅只有三层,会进行从物理层-数据链路层-网络层会将比特流还原到数据链路层接着还原到网络层。接着再依次一层层包裹到物理层再次发送出去。
  • ④在中间系统中封装数据包,最终在物理层转为比特流继续传输给目标主机。
  • ⑤通过传输介质传输比特流数据。
  • ⑥目标主机也是有七个层,从物理层开始不断进行拆解。

image-20230725202149020

  • 其中两个端系统都需要经过七层,中间系统如路由器这些只需要经过三层(物理层、数据链路层、网络层)。

注意:物理层并不会添加一些附属控制信息,在物理层中将数据转换成二进制0、1形式。


2.2.4.2、理解各层是属于端到端还是点到点?

主要目的是看一下之前对数据都进行了哪些操作,如接下来要往哪里送

image-20230725202243310

  • 对于上四层,由于中间系统并不涉及,那么实际对于主机A与主机B的上四层实际是端到端的。
  • 对于下三层,由于中间系统也涉及到了这三层,并且中间经过的中间系统可能是多个路由器或者其他转发设备,那么称下三层为点到点的。(每一次只是管下一步走到哪里)

2.2.4.3、各层之间数据以及协议的增、拆过程(数据封装流程)

每一个层次对于数据具体是怎么样操作的

如下图主机A从7-1接着在物理层转换为比特流后传输数据到主机B,之后依次从1-7进行拆解

image-20230725201848382

这里使用主机A来打包过程描述:首先在应用层时,数据会增加PCI控制信息,那么对应的H7中的7表示第七层的头部,此时DATA、H7就组成了一个7-PDU,接着进入到表示层,同样也会加上第六层表示层的头部H6。下面第5、4、3都是如此。

  • 那么拆包过程实际每层做的动作都是相对应的,一个是加控制信息,在拆包这里就是拆解掉控制信息,然后依次不断拆直到取得最后的DATA数据。

额外注意点

  1. 打包过程中对于第2层不仅仅是加了一个首部,还加了一个尾部信息字段。
  2. 打包过程中对于第1层不会添加什么控制信息,只会将第二层的PDU来转换二进制比特流发送出去!

2.2.5、ISO/OSI参考模型七层功能介绍

①应用层

应用层:所有能和用户交互,产生网络流量的程序才会涉及到应用层。反例如记事本仅仅只是文本编辑不会涉及到产生网络流量。

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

image-20230725204458861


②表示层

image-20230725210147584

表示层:与应用层紧邻的一层,用于处理两个通信系统中交换信息的表示方式。

  • 简单说:主要负责最后呈现在我们设备或者屏幕上的一些东西。通常是对语法、语义的一个处理。
  • 两个通信系统指的是:任何两台设备、手机。

表示层协议:JPEG、ASCII。

  • 实际在TCP/IP五层结构中实际表示层会纳入到应用层会话层中,表示层并没有什么单独的协议,若非要说那么就是上面的几个,用于表示图像显示的编码之类的。

下面是表示层的多种功能

功能一:数据格式变换

数据格式变换原因:不同的主机,编码以及表示方式都不太一样,为了使不同的主机能够进行一个数据或者信息的交换,就需要这个表示层,它实现数据格式变换的功能。

实际举例1:例如中国人和泰国人聊天,那么若是各自只懂母语,此时就需要一个翻译官来进行翻译,表示层就是起到翻译的作用。

实际举例2:在数据链路上传输的比特流形式最终在屏幕上会转为一个jpg图片,可以打开预览。

image-20230725205109321

功能二:数据加密解密

加密解密原有:若是我们发送给对方主机是一串密码,若是直接对密码进行转换二进制传输,那么就是明文传输可能会被别人从链路上窃取,此时我们可以在发送端对要传输的数据进行加密,之后再接收端进行解密即可。

实际案例:我发送给对象一串密码,实际中间过程是加密的,对象手机在显示查看的时候则是明文。

image-20230725205351929

功能三:数据压缩和恢复

image-20230725210159236

实际案例:视频聊天的图像在发送时压缩,对方收到时解压,减小数据传输的数据量多大问题。


③会话层

image-20230725230510884

会话层:向表示层实体/用户进程提供建立连接并在连接上有序地传输数据。

  • 只有当建立好一个连接的时候,数据才能够传过去。

负责功能:这是会话,也是建立同步(SYN)。

主要协议:ADSP、ASP。

举例子:例如在浏览器上打开两个窗口,一个是百度,另一个是电影,那么此时打开对应的网址时实际已经建立好连接了,接着我们对任意一个网页进行操作并不会影响其他的窗口网页。

image-20230725210934269

包含功能如下

功能一:建立、管理、终止会话

举例子:浏览器打开一个网页相当于建立一个会话,关闭一个网页相当于终止一个会话。

功能二:使用校验点可使会话在通信失效时从校验点/同步点恢复通信,实现数据同步。

举例子:例如传输一个非常大的文件,实际会将这个数据流拆分为多个部分,每个部分都会插入一个校验点或者说是同步点,一旦若是异常终止,或者说是通信失效,那么此时就会终止会话,有了这个同步/校验点的话,那么我们等待重新连接后直接重新从中断的位置开始重传。

  • 如果说没有这个同步/校验点的话,那么就会从最初始的时候才可以进行重新传送。

④传输层

image-20230725230525245

传输层:负责主机中两个进程的通信,即端到端的通信。

  • 上面四层都是端到端的通信,下面三层则是点到点,因为在传输的过程中可能会经过多个中间系统(路由器、交换机等),对于中间系统也只有最下面的三层,所以说下面三层是点到点。
  • 端到端通信指的是运行在不同主机内两个进程之间的通信,每个进程都会使用一个编号来标识它,即端口号。

传输单位:报文段或者用户数据报。

主要协议:TCP、UDP。

包含四个功能有如下:

功能一:可靠传输、不可靠传输

image-20230725231631695

  • 可靠传输基于确认机制的过程:发送一个大文件时,实际会切成多个报文接着一个个放到链路上面进行传输,传输到接收端之后,对于每一个收到的报文,接收端都会返回一个确认告诉你表示我收到了,接着发送端收到了这个确认消息后才能够继续往下发送。若是有一个发送端发送的报文没有收到确认消息,此时发送端会再次发送一遍直到收到确认为止才会继续发送新的报文。
  • 不可靠传输的方式:对于一些十分小的数据,我们实际无需采用可靠传输方式,我们没有必要先建立连接之后发,因为先建立连接会十分耗时,我们直接直接一个数据包发送过去。

功能二:差错控制

解释:对于发生的任何差错进行控制,如我们传送的一些报文段丢失了,顺序错了,那么传输层就会来纠正这些错误,来修正错误。

功能三:流量控制

解释:控制这个发送端发送数据的速度,若是接收方来不及接收或者说链路拥挤一些原因,此时接收方会告知接着发送方就会缓解自己的发送速率,因此这个就叫做流量控制。

功能四:复用分用

  • 复用:多个应用层进程可同时使用下面运输层的服务。
  • 分用:运输层把收到的信息分别交付给上面应用层中相应的进程。

举个例子理解复用与分用:手机A中有两个应用一个是QQ占用进程1,另一个是微信占用进程2(手机B的QQ与微信进程也是一致端口),此时QQ与微信都向手机B发送一条信息,【复用】此时会将发送的两个信息以报文段的形式,QQ的信息则会带上进程号,微信的也是会放到传输层上进行下一步的传输。【分用】接收端实际上会将发送过来的报文拆开接着根据相对应的进程号来去复制到指定进程的用户区当中。

image-20230725235547385

巧记四个功能:可查流用(可差的也能留用)。


⑤网络层

网络层:主要任务是将分组从源端传到目的端,为分组交换网上的不同主机提供通信服务。

网络层传输单位:数据报。

理解数据报与分组的关系:数据报过长的时候可以对数据报进行切割,切割成一个又一个小的分组,接着放到链路上传递。这样可以让我们在传输的时候变得更加灵活,消耗也会更小。

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

四大功能:

功能一:路由选择。

image-20230726000232856

用途:选择合适的路由。 此时若是有一个发送端要发送一个数据,此时可能会有多个方向都可以走,可以根据当时的网络情况以及相应的路由算法来计算选出一个最佳路径,也就是最合适的路由方式,让这个分组从发送端正确或者说顺利的到达这个接收端。

功能二:流量控制。

用途:用来协调发送端和接收端的一个速度问题,若是发送端发送的速度太快,接收端来不及接收此时可以告知发送端,这样的话就可以对发送的速度进行控制。

功能三:差错控制。

用途:通信两节点之间约定一些特定规则,如奇偶校验码等,接收方会根据这个规则检查收到的分组有没有错误,若是有错误会进行纠错,此时就可以将这个分组扔掉,可以确保上面传输层所提交的数据都是没有问题的。

功能四:拥塞控制。

用途:对比流量控制主要是限制发送方的速度,若是拥塞控制则是针对于全局的,宏观上的来看整体控制一下速度。

  • 若是所有节点都来不及接受分组,而要丢弃大量分组的话,网络就处于拥塞状态,因此要采取一定措施缓解这种阻塞。

⑥数据链路层

image-20230726001921896

数据链路层:将网络层传输下来的数据报组装成

数据链路层/链路层的传输单位

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

包含的功能如下

功能一:成帧(定义帧的开始和结束)

例如:…100000010110010101

数据包组装成帧之后,会形成一个比较长的比特流序列,我们对于这样的一个比特流序列要定义帧的开始、结束在哪里。定义几种帧的开始和帧的结束0、1组合,这样子定义好之后,接收端会收到一个帧的时候提取出帧的部分数据,进而交给网络层,实现下一步的解封装。

功能二:差错控制(帧错 + 位错)

对于这两种错误,数据链路层都会有相应的检错或者说纠错的方法,若是发现有差错,那么会简单的丢弃差错的帧,以免继续传输下去浪费资源,如果说需要改正数据纠错可以次啊用一些可靠传输协议来纠正出现的错误。

在这里差错控制可以检错,也可以纠错。

功能三:流量控制

用途:发送方与接收方的协调问题。若是接收方缓存不够,那么此时发送过来的数据都会丢弃,此时会告诉发送方慢点发,等有缓存空间再发,再加快速度。

功能四:访问(接入)控制

核心:控制对信道的访问。

用途:此时有四个主机,采用的是这种总线型方式连接,如果在广播式网络中,数据内容层就要处理这种访问接入控制的问题,指定控制哪台主机,现在可以占用一个信道,因为在广播式网络中同一时间只能有一个人发送消息,其他人都是监听状态,所以数据内容层可以控制这样一个对于共享信道的访问,是由特殊子层也就是介质访问子层来专门处理控制这个问题。

image-20230726001858159


⑦物理层

image-20230726001934316

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

  • 物理媒体包含有:同轴电缆、双绞线、无线电波。

物理层传输单位是比特

物理层主要协议:RJ45、802.3。

透明传输:指的是所传数据是什么样的组合,都应该能够在链路上传输。(你给我什么,我就发什么),若是收来了一系列的比特流,那么物理层只是单纯的把它们转换成电信号的形式,接着放到链路上传播。

image-20230726002227261

功能包含如下:

功能一:定义接口特性。

例如:要确定连接电缆的插头应该有多少根引脚,或者说每条引脚应该如何连接,都属于接口特性的部分。

功能二:定义传输模式

三种:单工、半双工、双工。

  • 单工:只可以单方向,同一时间只能够一个人说话。
  • 半双工:两个人都可以作为接收方或者发送方,但是同一时间也只能够一个人说话。
  • 双工:发送端两个人都可以作为接收方或者发送方,同一时间两个人都可以说话。

功能三:定义传输速率。

例如十兆,百兆,都是物理层进行定义的。

功能四:比特同步。

同步指的是发送端发送一个1,接收端可以收到一个1,保证比特的同步,需要一个适中的速度。

功能五:比特编码。

例如曼彻斯特编码等,主要就是对0、1进行规定,什么样的电压表示1,什么样的电压表示0。


脑图时刻

image-20230726002845631


2.3、TCP/IP参考模型与五层参考模型

2.3.1、比较OSI与TCP/IP模型

OSI是一个法定标准;TCP/IP则是现实标准。

image-20230726133647287

首先是诞生于TCP/IP的协议栈,接着根据这个协议来进行一个分层,分分层出这样的一个参考模型

  • OSI是先理论,但是没有实践;TCP/IP是先有实践,接着才有一个参考模型的理论。

image-20230726133630433

  • 网络接口层:仅仅说是相当于一个接口,并没有规定其中的一些细节。
  • 网际层:功能与OSI相似的,将数据报拆分成的分组发给任何的网络,并进行一个路由选择。
  • 传输层:实现端到端或者进程与进程之间的通信。
  • 应用层:将表示、会话、应用层合并一起,将三层所用到的协议综合到了一起。

TCP/IP协议名字的由来:首先是一个栈的结构,一层又一层,是先出现的协议栈后出的参考模型。并且自上而下中对于TCP协议以及IP协议是非常常用的两个协议,所以取名为TCP/IP协议,当然这个协议栈不止包括这两个协议。


2.3.2、OSI参考模型与TCP/IP参考模型的相同点与不同点

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

1、都采用了分层。

2、基于独立的协议栈的概念。

3、可以实现异构网络互联。

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

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

2、OSI先出现参考模型,接着出现协议,不偏向特定协议;而TCP/IP则是先出现协议后来进行设计参考模型。

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

4、OSI参考模型与TCP/IP模型在网络层、传输层上的区别

image-20230726134218827

  • 传输层应当是为了实现可靠传输而存在的,所以在两个参考模型中都有面向连接。
  • 面向连接:①建立连接,在当前阶段发出一个建立连接的请求。②只有在连接成功建立之后,才能开始数据传输。③当数据传输完毕,必须释放连接。
  • 面向无连接:没有连接建立、关闭阶段,直接进行数据传输。

2.3.3、五层参考模型

5层参考模型:综合了OSI和TCP/IP的优点

image-20230726135140157

应用层:支持各种网络应用。

  • 协议:FTP、SMTP、HTTP。

传输层:进程-进程的数据传输。

  • 协议:TCP、UDP。

网络层:源主机到目的主机的数据分组路由与转发。

  • 协议:IP、ICMP、OSPF。

数据链路层:把网络层传下来的数据报组装成帧。

  • 协议:Ethernet(以太网)、PPP。

物理层:比特传输。

  • 协议:RJ45、802.3。

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

举例:主机A向主机B发送消息。

image-20230726135700827

主机A发送过程:①首先数据进入到应用层,此时会加上相应的PCI协议组成报文。②进入到传输层时,会将报文切成一个个报文段并且再次加上传输层的控制信息。③进入到网络层会将报文段封装为数据报。④进入到数据链路层则是要进行成帧。⑤直接将帧转为比特流形式发送出去。

主机B接收过程:首先时物理层接收到比特流,接着到每一层依次来进行还原,最终得到主机A发送的数据。


脑图时刻

image-20230726140449375


第一章知识总结

image-20230726143444996


整理者:长路 时间:2023.7.22-26

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/52701.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

机器学习的关键词和算法总结

随着全球各行业的数据治理、数字化转型智能化辅助的引入发展,机器学习(包括深度学习)在逐步深入到各行各业,所以,有必要对机器学习的常见术语,经典算法及应用场景进行一次总结,其实机器学习兴起…

Java Design and development -- QQ chat

About ARTS - Complete one ARTS per week: ● Algorithm: Do at least one LeetCode algorithm per week Review: Read and comment on at least one technical article in English ● Tips: Learn at least one technical trick ● Share: Share a technical article with op…

基于新浪微博海量用户行为数据、博文数据数据分析:包括综合指数、移动指数、PC指数三个指数

基于新浪微博海量用户行为数据、博文数据数据分析:包括综合指数、移动指数、PC指数三个指数 项目介绍 微指数是基于海量用户行为数据、博文数据,采用科学计算方法统计得出的反映不同事件领域发展状况的指数产品。微指数对于收录的关键词,在指…

指针应用基础练习

(1)一级指针,二级指针 void getString(char **p) {*p "hello world"; }int main(void) {char *str NULL;getString(&str);printf("%s\n", str); } 代码分析: 定义了一个char型指针str,…

Vue 3:玩一下web前端技术(五)

前言 本章内容为VUE语法的简单学习与相关语法讨论。 上一篇文章地址: Vue 3:玩一下web前端技术(四)_Lion King的博客-CSDN博客 下一篇文章地址: Vue 3:玩一下web前端技术(六)_L…

复习之linux存储的基本管理

一、实验环境的设定 1. 实验环境的搭建 本节内容只需要一台虚拟机 westosa reset重置虚拟机,保证实验环境的纯净配置网络实现ssh连接 重置虚拟机后,配置网络,设定ip:172.25.254.100,保证与主机可以通信 实现ssh连接…

chatgpt 接口使用(一)

使用api实现功能 参考链接:https://platform.openai.com/examples 安装库: pip3 install openai 例如: import os import openaiopenai.api_key os.getenv("OPENAI_API_KEY") response openai.ChatCompletion.create(model&q…

配置tomcat内存大小(windows、linux)

一、参数说明 -Xms: JVM初始分配的堆内存 -Xmx: JVM最大允许分配的堆内存,按需分配 -XX:PermSize: JVM初始分配的非堆内存 -XX:MaxPermSize: JVM最…

QT服务器练习

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//给服务器指针实例化空间server new QTcpServer(this); }Widget::~Widget() {delete ui; }//启动服务器按钮对…

阿里云域名备案

最好的爱情,不是因为我们彼此需要在一起,而是因为我们彼此想要在一起。 阿里云的域名如何备案,域名备案和ICP备案一样吗?? 截至我所掌握的知识(2021年9月),阿里云的域名备案和ICP备案…

什么是嵌入式软件开发?

嵌入式软件一般是在交叉的开发环境下进行的,这样的运行环境能够让软件开发过程中更加稳定、可靠和安全,在很大程度上提升了软件开发的质量和效率,同时也使得软件开发的难度和程度大大降低。 嵌入式软件的交叉开发环境,反映了用于…

Spire.Office for.NET Crack

Spire.Office for.NET Crack Spire.Office for.NET是E-iceblue提供的企业级Office.NET API的组合。它包括Spire.Doc、Spire.XLS、Spire.Seadsheet、Spire.Presentation、Spire_PDF、Spire.DataExport、SpireOfficeViewer、Spire-PDFViewer、Spire.DocViewer、Spire.Barcode和Sp…

windows版docker部署springcloud项目

材料: 1.windows版docker环境(其他版教程可能道理一样但是比如文件后坠名上可能有差异) 2.运行好的数据库容器(实现教程) 3.所有jar包 实现: 最后整好的文件夹结构图(原工程文件机密&#xf…

【Git】git reset 版本回退 git rm

前言 在日常开发时,我们经常会需要撤销之前的一些修改内容或者回退到之前的某一个版本,这时候reset命令就派上用场了 git reset 用法1——所有文件回退到某个版本 1、使用git reflog查看要回退的commit对象 2、使用git reset [-- hard/soft /mixed] …

【Linux后端服务器开发】IP协议

目录 一、IP协议概述 二、协议头格式 三、网段划分 四、IP地址的数量限制 五、路由 六、分片和组装 一、IP协议概述 主机:配有IP地址,但是不进行路由控制的设备 路由器:即配有IP地址,又能进行路由控制 节点:主…

application.yml 或 application.properties 配置文件乱码问题

一、idea写application.yml配置文件, 用到了中文注释,写的时候好好地,但是运行项目后,出现乱码情况,如下: 二、解决方法 将文件编码方式 设置成UTF-8即可 File-Setting-Editor-File Encodings 再次运行项…

【《React Hooks实战》——指导你使用hook开发性能优秀可复用性高的React组件】

使用React Hooks后,你很快就会发现,代码变得更具有组织性且更易于维护。React Hooks是旨在为用户提供跨组件的重用功能和共享功能的JavaScript函数。利用React Hooks, 可以将组件分成多个函数、管理状态和副作用,并且不必声明类即…

FreeRTOS源码分析-7 消息队列

目录 1 消息队列的概念和作用 2 应用 2.1功能需求 2.2接口函数API 2.3 功能实现 3 消息队列源码分析 3.1消息队列控制块 3.2消息队列创建 3.3消息队列删除 3.4消息队列在任务中发送 3.5消息队列在中断中发送 3.6消息队列在任务中接收 3.7消息队列在中断中接收 1 消…

导出文件下载进度条简单实现

前言 今天要跟大家分享的是一个导出数据进度条的简单实现,适用场景用在数据量大、组织数据耗时的情况下的简单实现。 一、设计思路 1、导出数据生成文件上传到OSS, 2、导出数据状态存redis缓存, 3、前端发导出请求后,返回的文件k…

动态sql以及常用的标签

什么是动态sql: 指根据不同的条件生成不同的sql 搭建环境: 建表: create table blog( id varchar(50) not null comment 博客id, title varchar(100) not null comment 博客标题, author varchar(30) not null comment 博客作者, create_ti…