计网第一章学习笔记
Last updated on
1.前言
经历快一个月的磨磨蹭蹭,考试作业这样那样的事情拖延下来,终于在今天正式开始学习计网了,花了半个上午多点的时间,把一些比较基础的概念过了一遍,现在用笔记记录一下,以达到加深印象的目的。
2.三种交换方式
交换方式,以我的理解来看,就是在计算机网络中传输信息的模式。如果从计算机网络的OSI分层标准体系结构来看的话,网络层、数据链路层、物理层都有涉及。例如如何从主机A传输数据到主机B,中间有中转站进行分发的这样一种模式。
交换方式分为三类:电路交换、报文交换、分组交换,我们接下来分别讲述它们的定义与特征。
2.1.电路交换
如上图所示,在电路交换中,主机A与B通过中间的交换机以及中继线等传输线路连接起来。
在A需要与B进行通信时,将会尝试建立连接,当请求被B接收并同意之后,两者之间成功建立通信,此时两者之间可以通过通信线路进行自由通信。
整个流程大致为:
然而它有一个非常明显的缺点。我们可以注意到,当A与B建立连接后,正如上面所说,信道被独占,C与D无法调用信道传输资源,哪怕此时A与B之间实际并没有数据在传输,但只要资源没有被释放(连接没有断开),其他主机就无法调用。
这无疑会造成传输资源的极大浪费,因为两者建立通信之后并非时时刻刻都在传输数据,当两者之间暂时未有数据传输却又未断开通信时,就会使得这条线路的通信资源被浪费,无法满足其他通信需求。
简单来讲,就是资源的静态分配导致未能被充分利用。
2.2.报文交换
如图,我们可以看到,报文交换将需要传输的信息转换为报文,并在前端加上报头,报头中含有目标地址等信息。
报文交换的核心是存储-转发,它将一整块报文发出,由中转站接收后进行处理。
报文交换不会像电路交换那样长时间地占用通信线路,当信息被一个节点成功接收时,可以在这个节点进行转存。在此期间,通信线路仍然可供其他主机之间进行信息的传输。
而报文交换同样具有它的缺点。根据我们上面所说的,信息可以在中转节点进行转存,这就需要中转节点具有足够大的空间进行存储,而如果对每个中转节点都分配足够大的空间的话,显然在大部分时间,这些空间并没有被利用,造成了空间资源的浪费。
2.3.分组交换
分组交换和报文交换的原理其实是类似的,但不同的点在于,它将数据分成了许多个组,每个组附加一些信息,像这个组在原数据中是怎么排列的,还有需要传输到哪里这样的信息。
然后像报文交换那样,将这些组,或者我们常说的包,逐个发出,让中转节点选择处理方式。
中转节点接收到包之后,可以分配它走哪条路径去往目标节点,最终当目标节点成功接收到所有包,即代表数据传输成功。
分组交换的核心优势在于流水线并行传输,当分组1还在发往下一个节点的过程中,分组2就可以立即占领当前的节点,减少了排队延迟。
2.4.小结与对比
| 交换方式 | 建立连接 | 延迟 | 资源利用率 |
|---|---|---|---|
| 电路交换 | 必须 | 传输延迟小 | 极低 |
| 报文交换 | 不需要 | 很大(整发整存) | 较高 |
| 分组交换 | 不需要 | 较小 | 最高 |
所以在当前的应用场景下,我们大部分都是使用的分组交换。
3.计算机网络的定义与分类
3.1.定义
一句话:一些互相连接的、自治的计算机的集合
关键词为互联、自治、集合
3.2.分类
1.按交换技术分类
- 电路交换网络
- 报文交换网络
- 分组交换网络
2.按使用者分类
- 公用网
- 专用网:校园网这样的
3.按传输介质分类
- 有线网络
- 无线网络
4.按覆盖范围分类
- 广域网(WAN)
- 城域网(MAN)
- 局域网(LAN)
- 个域网(PAN)
5.按拓扑结构分类
- 总线型网络:一条线把所有节点连起来,一个地方断了这个网络废了
- 星型网络:由一个中心节点进行信息中转,缺点是中心节点对故障敏感度极高
- 环形网络:一个环串起来,也有单环和复环之分
- 网状型网络:目前泛用性最广,最为稳定的结构,采用手段使得任意两个节点之间至少有两条路径相连,即不存在割点或桥(Tarjan又在攻击我)
4.计算机网络的性能指标
-
速率:衡量单位时间内传输的数据多少,单位为bps
-
带宽:描述传输介质中单位时间内能传输的数据的上限,单位也为bps,在信号处理语境下为Hz
-
吞吐量:某个节点在某段时间内接收和发出的数据的多少
-
时延:顾名思义,即数据在网络传输过程中所用时间,分为发送时延、传输时延、处理时延。
其中 ,
大概列出三种介质中的传播速率:
- 自由空间:
- 铜线:
- 光纤:
-
时延带宽积:同样顾名思义,时延与带宽的乘积,描述在第一个数据包到达目标节点时,路径上仍有多少数据在传输
-
往返时间:数据发送到目标节点再收到返回结果的总时间
-
利用率:描述一段信道中有多少部分正在传输数据。注意这并不是越高越好。
根据排队论的 模型,设 为空闲时的时延, 为当前时延, 为当前的信道利用率,则近似有以下公式:
根据曲线特征,我们可以得出结论:当利用率维持在 左右时为最佳实践。
-
丢包率:这就涉及到我们上面所说的分组交换。我们知道分组交换将数据拆分为多个小段进行传输,这些小段就是”包”,而丢包率就是指在传输过程中,未能成功传输到目标节点的包占发出所有包的比率
5.计算机网络体系结构
为了方便我们对计算机网络中不同层次的问题分别进行研究,如在运输过程中的信号转换,以及端到端之间的连接建立方式,我们将整个体系划分为不同层次,你知道的,就像写代码要高内聚低耦合一样。
5.1.常见的计算机网络体系结构
大概有三种:
-
OSI体系结构:分为七层,学者们提出,但由于当时TCP/IP协议已经盛行,外加该体系结构过于复杂,应用中难于构建传输,故逐渐退出应用
- 应用层
- 表示层
- 会话层
- 运输层
- 网络层
- 数据链路层
- 物理层
-
TCP/IP体系结构:分为四层,为当前应用中最为盛行的体系结构
- 应用层:HTTP, SMTP, DNS, RTP等协议
- 运输层:TCP, UDP等协议
- 网际层:IP协议(IP for everything & Everything for IP)
- 网络接口层:不同网络间通过通用的网络接口进行连接
-
原理体系结构:分为五层,是前两者的折中,方便教学
- 应用层:解决通过应用进程的交互来实现特定网络应用的问题
- 运输层:解决进程之间基于网络的通信问题
- 网络层:解决分组在多个网络上传输(路由)的问题
- 数据链路层:解决分组在一个网络或一段链路上传输的问题
- 物理层:解决使用何种信号来传输比特的问题
5.2.计算机网络体系结构中的专用术语
-
实体:任何可发送或接收信息的硬件或软件进程
-
对等实体:收发双方相同层次中的实体,这里的层次即为上面体系结构中的层次
-
协议:控制两个对等实体进行逻辑通信的规则的集合
比如应用层的HTTP, SMTP,链路层的传统以太网CSMA/CD等
为什么叫逻辑通信?因为这种通信实际上并不存在,比如两个运输层直接并没有直接相连的路径,用协议来描述,是为了忽略其他层级对该层级的影响,只专注于两者之间的数据交互,至于数据实际的传输方式被略过。
-
协议三要素:语法、语义、同步
- 语法:定义所交换信息的格式
- 语义:定义收发双方所要完成的操作
- 同步:定义收发双方的时序关系
-
服务:在协议控制下,两个对等实体间的逻辑通信使得本层级能够向上一层提供服务
-
服务访问点:在同一系统中相邻两层的实体交换信息的逻辑接口,用于区分不同的服务类型
-
协议数据单元PDU:对等层次之间传输的数据包
-
服务数据单元SDU:同一系统内,层与层之间交换的数据包