0x00-计算机网络绪论

0x00:计算机网络先导语

接入互联网的几种场景:你可能通过

  1. 单位的局域网上网
  2. 通过家庭宽带上网
  3. 通过无线上网

互联网是由多种不同类型传输网络不同类型终端互连在一起的网际网。
不同传输网络的传输方式数据格式有所不同。所以,他们互联之后想交换数据,就需要进行格式转换

0x01:计算机网络的内涵

计算机网络的特征:

  1. 资源共享- 软件、硬件和数据
  2. 自治系统- 连接到计算机网络的每一个设备都是一个自治系统
  3. 遵循统一的通信标准- 最重要的特征

为何要遵循统一的通信标准呢?
搞出来计算机网络的目的就是为了资源共享,要实现资源共享就要交换数据,交换数据就需要有一个统一的通信标准。
这就好比货币体系,我用1袋米换你10斤肉,你觉得吃亏。好,没关系,我们都量化成钱,量化后继续交易。

0x02:互联网的发展过程

1969年,arpanet
20世纪80年代 arpanet—>internet

网络速度的描述:
带宽- 数据传输速率
传输速率(也称比特率):每秒发送或接收的二进制位数。单位为比特/秒,也可写为b/s,bps。

主干网、接入网、局域网对速率的要求是不同的。

  1. 局域网速度:10Mbps–>100Mbps–>1Gbps–>10Gbps–>40Gbps
  2. 接入网-拨号上网PSTN上行速率为33.6Kbps,下行速率为56Kbps
  3. 接入网-ADSL上行32Kbps或64Kbps,下行为1Mbps或2Mbps
  4. 接入网-以太网 10Mbps→100Mbps
  5. 主干网-数字数据网DDN-
    传输速率:2.048Mbps→8.448Mbps→34.368Mbps→139.264Mbps
  6. 主干网-异步传输模式ATM-
    传输速率:155~622Mbps
  7. 主干网-同步数字体系-
    传输速率:2.5Gbps和10Gbps

数据网络–>统一网络。
统一网络是能够同时实现语音、视频和数据传输的数据网络。
统一网络要求很高的实时性同步性。(因为语音,视频对这方面要求很高)

Internet–>移动Internet
接入方式

-无线局域网
-GPRS、3G、4G

信息安全的重要性。

0x03:电路交换

交换技术:

  1. 电路交换
  2. 分组交换

网络的目的:实现网络上任意终端之间的数据通信。
为了实现这一目的,需要:

  1. 建立连接在网络上的任何两个终端之间的数据传输通路的机制
  2. 控制数据沿着源终端至目的终端传输通路完成传输过程的机制
    在这里插入图片描述
    交换的本质就是这两种机制的集合。
    数据必须要转化成信号才能传输。传输信号的传输通道叫做信道

数据沿信道传输过程:

  1. 发送端将数据转换成信号
  2. 信号经过信道传播到达接收端
  3. 接收端将信号还原成数据

在这里插入图片描述

建立信道的一种方式:每两个终端之间都建立一个信道。他的优缺点如下:

  • 优点:1、终端可以随时通过信道传输数据 2、终端可以同时和所有其他终端通信
  • 缺点:如果终端数目过多,会建立很多很多的信道,造成资源浪费。n个终端需要n*(n-1)个信道。

但是,这种方式纯属鸡肋。因为一个终端不需要同时与其他终端通信,也不需要同时两两通信。所以说我们应该引入按需建立信道的机制。

按需建立信道就需要:

  1. 通过(中间)设备连接终端。
  2. 由设备按需建立终端之间的信道。

在这里插入图片描述

由上图所示,终端之间的信道由3段物理链路组成。终端B到电路交换机的2号端口;电路交换机的2号端口到电路交换机的6号端口;电路交换机的6号端口到终端F。

由电路交换机按需在两个终端之间动态建立信道的过程称为电路交换过程
也称为连接建立过程,两个终端之间的信道建立方式称为电路交换方式。

数据传输通路的建立机制:

  1. 建立连接:两个终端在进行数据传输之前,必须完成两个终端之间的连接建立过程。
  2. 释放连接:完成两个终端的数据传输之后,必须释放两个终端之间的连接。

电路交换的特点

1、优点:

  1. 无需建立控制数据传输过程的机制
  2. 终端之间信道具有固定的数据传输速率,适合语音传输

PSTN是典型的电路交换网络

2、缺点:

  1. 独占两个终端之间的信道,导致信道经过的物理链路利用率低(接通电话不说话)
  2. 不能保证多对终端之间同时进行通信
  3. 信道经过的物理链路要求相同的传输速率,物理链路的连接方式受到严格限制(是优点也是缺点。缺点是连接方式受限,优点是传输速率非常的稳定,适合语音通话)

总结一下:
交换就是要建立两种机制:

  1. 建立数据传输通路
  2. 控制数据完成传输过程

电路交换建立传输通路机制:按需建立信道

  1. 通过电路交换机互连终端
  2. 由电路交换机按需建立终端之间的信道

✳✳电路交换最主要的特点:独占信道,不需要传输控制。

0x04:虚电路交换

电路交换引发的问题:一旦建立两个终端之间的信道,该对终端将独占
该信道经过的物理链路的带宽。这当然对于语音通话很有优势,但是这对于资源是一种很大的浪费。
解决方案:允许多对终端共享某段物理链路带宽

但是物理链路共享又引发出了一些问题:

  1. 交换机如何转发数据的问题
  2. 平滑流量的问题

关于第一个问题,如果多对终端之间共享两个交换机之间的物理链路,由于交换机内部端口之间不允许存在连接,交换机如何转发数据就成了一个问题。
关于第二个问题,要求在一段时间内,三对终端之间传输的数据量必须小于交换机之间物理链路相同时间段内能够传输的数据量。
由于终端之间数据具有间歇性、突发性,在某一瞬间,可能发生三对终端之间的数据量短暂大于交换机之间物理链路能够传输的数据量的情况。

解决问题的手段:

  1. 解决如何转发数据的问题:标识符和分组,转发表
  2. 解决平滑流量问题:存储转发

在这里插入图片描述
数据标识符:对每一对终端之间传输的数据分配唯一的标识符
在这里插入图片描述
数据和标识符放在一起被称为分组。标识符是分组的控制信息。

在这里插入图片描述
转发表:建立不同终端对之间的传输路径,并将数据标识符与传输路径绑定在一起。
比如说:终端A与终端D进行通信,只需要将标识符置为1.
标识符和转发表实现了不同终端对之间的数据传输过程。

分组交换机转发数据过程:
在这里插入图片描述

  1. 交换机将通过输入端口接收到的信号还原成分组并存储在输入端口的输入队列中
  2. 从分组中分离出标识符,根据输入分组的端口和标识符在转发表中找到匹配的转发项
  3. 将分组从输入端口输入队列转移到输出端口输出队列
  4. 输出队列中的分组按照先到先输出的原则通过输出端口输出

分组交换机采用存储-转发的原因:

  1. 由于多个端口输入的分组需要从同一个端口输出的情况,可能交换结构和输出端口来不及处理多个来自不同端口的分组,需要将来不及处理的分组存储在输入队列或者输出队列
  2. 由于端口之间没有连接,无法将从一个端口输入的信号直接从另一个端口输出,需要完成将信号还原成分组,从分组中分离出标识符,根据标识符和接收分组的端口确定分组输出端口,并将分组从输入端口转移到输出端口的过程。

虚电路是指一对终端间的传输路径,且该传输路径通过转发表建立,并与唯一标识该对终端之间传输的数据的标识符绑定在一起。
通过建立虚电路实现数据交换的方式称为虚电路交换
数据标识符能够唯一确定数据传输路径,因此也称为虚电路标识符
虚电路与电路交换建立的两个终端之间的信道相对应,多对终端之间的虚电路可以共享某段物理链路。
虚电路:

  • 建立数据传输通路机制:数据标识符、转发表
  • 控制数据传输过程机制:存储转发

0x05:数据报交换

建立虚电路的两种方式:
动态建立虚电路:需要建立虚电路,释放虚电路,导致传输时延长。特别是传输的数据量特别小的时候这种弊端特别明显。
事先建好虚电路:需要两两之间建立虚电路,而且会导致转发项数目过大的问题。要求存储的空间大,处理的时间长。
虚电路交换虽然解决了电路交换无法共享物理链路的问题,但是他自身也存在很多问题。上面已经叙述过了。
虚电路交换可能产生的问题:
1、事先两两之间建立虚电路:可能大量虚电路是长时间不作用的,浪费处理时间和存储空间。
2、动态建立虚电路:可能发生终端之间实际传输数据的时间远小于终端之间建立、释放虚电路所需要的时间的情况。
虚电路交换不适用于面向终端之间通信的网络
为此,我们要改进虚电路交换:
在这里插入图片描述
作以下改动:

  • 虚电路标识符改为每个终端地址
  • 每一对终端之间传输路径改为指向终端的传输路径
  • 用源和目的终端地址取代分组中的虚电路标识符
  • 用分组目的地址查找转发表确定通往目的终端的传输路径

在这里插入图片描述
在这里插入图片描述
包发到某个交换机,这个交换机就会查看包的目的地址。然后根据目的地址决定转发路径。
比如,A想给B发送数据。交换机A发现目的地址是B,从转发表中查表得到应该转发给端口2。

数据报交换的特征:

  • 为终端分配地址,修改分组格式
  • 转发表中的转发项给出通往每一个终端的传输路径
  • 以分组目的地址查找转发表,确定分组转发端口
    具有以上特征的交换方式称为数据报分组交换,简称数据报交换

多交换机的数据报交换过程:
在这里插入图片描述
接受数据报的终端B会核对源地址A,得知这个数据是从A发送过来的。

分组传输会独立选择传输路径,分组发送与接收顺序可能不一致。
分组传输优点:

  1. 均衡网络负载
  2. 容错性好

小结:
在这里插入图片描述

0x06:交换方式复习课

在这里插入图片描述

电路交换分组交换是一次飞跃。

分组交换:

  1. 数据封装成分组
  2. 存储转发机制

分组交换:

  • 实现了物理链路带宽的共享
  • 适合间歇性、突发性的通信方式
  • 数据报交换中每一个分组独立转发
  • 提高了数据传输过程的容错性

交换方式的应用场景:

  • 电路交换:PSTN、SDH
  • 虚电路交换:帧中继、ATM
  • 数据报交换:以太网、路由器IP转发分组
    在这里插入图片描述
    在这里插入图片描述
    因为路由器的数量基本稳定,用虚电路交换还要有标识符开销,这样就不需要大费周章的用虚电路交换了,还是电路交换更好一点。
    在这里插入图片描述
    小结:
    在这里插入图片描述

0x07:分层结构

为什么要分层呢?这是社会发展的必然。
众口难调,所以就要有一个领导者。也就有了阶级,阶层。所以分层是符合人类社会思想的,也是很容易理解的。
在这里插入图片描述
分层结构 :将复杂的功能体,分解为若干层功能子体,每一层功能子体完成功能体的部分功能,所有功能子体协调完成功能体的全部功能。

分层结构应该是这个样子的:

  1. 对每一层进行定义
  2. 对相邻层之间的接口进行定义

对每一层的定义应该是这样的:

  • 下一层为本层提供的服务#也就是说低层为高层提供服务
  • 本层为上一层提供的服务
  • 本层需要完成的功能

对相邻层之间的接口的定义应该是这样的:

  • n层通过接口发出服务请求,n-1层通过接口提供服务响应。
  • 只要n-1层与n层之间的接口不变,其他层的变化不会对n层实现过程产生影响
    在这里插入图片描述

分层的基本原则:

  • 每一层的功能相对独立,相邻层之间功能划分清晰
  • 功能层越多,功能层实现越简单,但网络运行效率低
  • 功能层越少,功能层实现越复杂,但网络运行效率高
  • 必须综合考虑实现难度与运行效率

现实生活中的分层实例刚刚已经说过一个学校的管理方式。现在来看一个计算机方面的实例:
在这里插入图片描述
分层结构使得windows操作系统适用于不同主板的PC
在这里插入图片描述
下面来看看邮局系统:
在这里插入图片描述
这个东西有以下几个特点:

  1. 一是信件投递过程涉及寄信人一端和收信人一端
  2. 二是两端都分为三层:寄信人或收信人、邮局和公共运输系统
  3. 三是两端位于相同位置的层的功能是相同的

垂直方向是分层的,水平方向是两端功能相同的层之间的协调。

分层的好处:

  • 分层可以简化复杂系统实现过程
  • 每一层的实现技术对其他层是透明的#也就是说不用care其他层的实现技术
  • 可以屏蔽底层差异#不管你怎么做的,给我接口就行,只care接口
  • 可以借用已有公共服务#比如邮件系统借用传统运输服务
  • 分层容易使每一层功能实现过程专业化
  • 分层容易使每一层功能实现过程标准化

小结:
在这里插入图片描述

0x08:网络体系结构与协议

之前讲到一个邮政系统,这个给了我们一些启示
在这里插入图片描述
网络也可以按照这个思路进行设计
在这里插入图片描述
由于发送端、接收端和互联设备还是挺复杂的,所以我们可以把它分成若干个层。
在这里插入图片描述
设计过程中两个很重要的概念:

  • 对等层:指在两端分层结构中处于同一地位,起相同作用的功能层。 把真正完成所处层功能的硬件和软件集合称为实体
  • 协议:两端对等层之间的约定和规范

协议由三要素构成:

  • 语法
  • 语义
  • 时序

语法规定了相互交换的信息的结构和格式
语义规定了相互交换的信息种类,接收方应该做出的反应
时序规定了各个事件的发生顺序

这样看好像不是很容易懂。好,举个栗子:
异地通过互通信件求职
语法:规定招聘表的栏目、位置及文字要求等(比如有姓名,性别之类的)
语义:对招聘表内容的解释和处理(比如看到姓名居然是vczh就知道这是个月入二狗并且技术不错的家伙)
时序:招聘流程
在这里插入图片描述
网络体系结构是分层结构协议的集合:

  • 垂直方向的分层结构
  • 水平方向的两端功能相同的层之间的协议

0x09:OSI模型

什么是OSI?
OSI是国际标准化组织(ISO)最早定义的网络体系结构。
它的全称是开放系统互连。
在这里插入图片描述
OSI模型采用分层结构,将网络功能划分成7层,分别是物理层、数据链路层(简称链路层)、网络层、传输层、会话层、表示层和应用层。

OSI各层的功能:

  • 物理层:实现二进制位流的传输过程:是建立用于传播信号的信道,是完成二进制位流与信号之间的转换过程,是实现信号传输过程。物理层的实体有网卡,调制解调器等。
  • 数据链路层:是差错控制功能,是将需要传输的数据封装成分组。所谓的差错控制就是数据出错了该如何处理。
  • 网络层:核心功能是路由,也就是为分组选择正确的传输路径。网络层只负责把信息从一个终端送到另一个终端。至于具体给哪个程序,这是传输层的事儿。
  • 传输层:实现进程间通信。数据携带进程标识符(PID)。终端里有很多进程,比如QQ、微信等。
  • 会话层:管理两个进程间的会话过程。比如迅雷支持的断点续传等。
  • 表示层:UTF-8等编码格式的控制。
  • 应用层:提供常见的网络应用服务。

在这里插入图片描述
两个比较重要的名词:
对等层传输的数据单位称为协议数据单元(PDU)
上层协议数据单元提交给下层时,作为下层的服务数据单元(SDU)
本层在服务数据单元的基础上增加本层的协议控制信息后,产生本层的协议数据单元

也就是说,本层的协议数据单元到了下一层就变成了下一层的服务数据单元。
越往下走越大。

OSI模型的特点:

  • 分层结构,基于特定网络环境定义每一层的功能
  • 每一层只定义了功能,没有系统制订对等层之间的协议
  • 由于没有制定协议,所以每一层的封装信息也没有具体定义
  • 没有真正基于OSI体系结构的实际网络(因为不成熟,连协议都没有谁敢用)

OSI体系结构的作用:

  • 分层结构和每一层的功能为网络设计和实现提供了依据
  • 分层结构和每一层的功能为理解网络提供了思路

0x0A:TCP/IP体系结构

TCP/IP所处的网络环境:
在这里插入图片描述
网络环境包含了不同类型网络的互连:

  • 实现同一网络终端之间通信过程(以太网等)
  • 实现不同网络终端之间通信过程

由于:

  • 不同传输网络互连方式不同
  • 不同传输网络交换方式不同

所以,无法定义统一的物理层和链路层
在这里插入图片描述
TCP/IP模型把网络体系结构分成了4层:

  • 应用层
  • 传输层
  • 网际层
  • 网络接口层

现在我们来自底向上的了解一下

网络接口层功能:

  • 将IP分组封装成适合通过该网络传输的帧格式
  • 不同类型的网络有着不同的网络接口层,有着相应的网络接口层协议,但是要注意,网络接口层提供给网际层的接口是一致的。也就是说,具体的同一网络上怎么传数据TCP/IP是不管的,它只管接口。这也是TCP/IP最牛B的地方,使得不同类型的网络都可以接入互联网。

那么同一网络上结点之间的帧传输怎么处理?TCP/IP体系结构不予干涉,交由具体的网络自己去实现。

网际层功能:

  • 实现连接在不同类型网络上的两个终端之间的通信过程。

传输层功能:

  • 传输层功能与OSI体系结构中传输层功能相似,但增加了差错控制拥塞控制功能。

应用层功能:

  • 应用层的功能包含OSI体系结构中应用层、表示层和会话层的功能。

OSI与TCPIP对照

在这里插入图片描述
数据封装过程:
在这里插入图片描述

为了将TCP/IP体系结构的网际层等同于OSI体系结构的网络层,目前通常通过处理对象来确定该功能层的名称。

  • 物 理 层:处理对象是二进制位流
  • 数据链路层:处理对象是特定传输网络对应的帧
  • 网 际 层:处理对象是IP分组

TCP/IP体系结构成功的原因:

  • 简洁的分层结构
  • 网络接口层的开放性
  • 定义了各层的协议

1、分层结构:

  • 较好地平衡了网络系统实现难度和运行效率。
  • 将OSI体系结构中最高三层的功能融合到应用层后,使得应用层的功能定义更加清晰。

2、网络接口层的开放性:

  • IP over X
  • 网络接口层为网际层屏蔽了不同类型网络之间的区别

在这里插入图片描述
3、定义了各层协议:

  • 使得路由器的标准化,网络设备快速发展
  • 便于终端的各功能层实现,应用系统快速发展
    在这里插入图片描述
    TCP/IP体系结构已经成了实际上的Internet标准。

0x0B例题分析:

1、计算数据传输时间
在这里插入图片描述正确的计算步骤:

  1. 计算分组的数量
  2. 选择最短传输路径-最少时间要求数据传输选择最短路径
  3. 计算传输时间

一个分组,要么是控制信息+数据,要么是数据+控制信息。
即 要么是首部加上数据,要么是数据加上尾部。
一个大的数据文件需要切分成若干个分组进行传输。
分组长度1000,控制信息为20,所以数据长度是980
总数据量除以数据长度即为分组个数。 这里是1000个分组。

选择最短传输路径,当然是选直着过去的路径,因为这个只经过两跳分组交换机。

计算时间时的潜规则:

  1. 每个分组交换机可以独立转发分组
  2. 分组交换机在接收分组的同时可以发送其他的分组
  3. 两个分组交换机可以并行转发分组
  4. 交换机在完整接收到一个分组后才能转发

时序图如下:
在这里插入图片描述
H1发送完分组1时,交换机1已经接收完了分组1
H1发送完分组2时,交换机1已经接收完了分组2 并且转发完了分组1 并且交换机2接收完了分组1
H1发送完分组3时,交换机1已经接收完了分组3,转发完了分组2,交换机2接收完了分组2,发送完了分组1,H2接收完了分组1.。。。。。

到H1发送完分组1000时,交换机1也接收完了分组1000
交换机1发送完了分组1000时,交换机2接受完了分组1000
交换机2发送完了分组1000时,H2接收完了分组1000
至此,传输完毕。
所以,所花的时间应该是1002个发送1个分组的时间。
在这里插入图片描述

例题2:
在这里插入图片描述
何为比特时间?
1比特时间就是发送1比特需要的时间。所以比特时间和数据传输速率息息相关。
数据传输速率的倒数就是比特时间。
何为物理长度?
长度等于速度乘以时间,由于是物理的,所以速度要使用信号传播速率(注意与数据传输速率相区别)
需要特别注意的两点:

  1. 数据传输速率和信号传播速率是两个完全不同的概念
  2. 数据传输速率并不取决于信号传播速率

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值