Skip to content

Latest commit

 

History

History
94 lines (53 loc) · 6.57 KB

File metadata and controls

94 lines (53 loc) · 6.57 KB

计算机网络基础知识

Abstract: 理解基本术语,浅析网络协议

基本术语

值得注意的是:在本篇中所涉及的计算机网络基本术语多为宏观上支撑我们接下来学习所必须了解的(如性能指标,基本网络的分类、交换方式等,协议的基本概念等),不包括具体参考模型的协议层中特有的知识点,这些内容将在之后的TCP/IP Reference Model章节对应部分进行解读。如不需要基础知识点的入门指引,可直接移步下一章的学习内容~
描述网络性能指标:
  1. 速率:连接在计算机网络上的主机在数字信道上传送数据的速率,也称为数据率或比特率。

  2. 带宽:网络的通信线路传送数据的能力。即:在单位时间内从网络中的某一个点到另一点所能通过的“最高数据率”。

  3. 吞吐量:在单位时间内通过某个网络(信道/接口)的数据量。

  4. 时延:数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。

    发送时延:主机或路由器发送数据帧所需要的时间,即:从发送数据帧的第一个比特算起到该帧的最后一个比特发送完毕所需要的时间。

    传播时延:电磁波在信道中传播一定的距离需要花费的时间。

    处理时延:主机或路由器在收到分组时要花费一定的时间进行处理。例如:分析分组的首部信息、从分组中提取数据部分、进行差错检验或查找适当的路由等等。

    排队时延:分组在经过网络传输时,要经过许多路由器。但分组在进入路由器后要先在输入队列中排队等待处理。

注意:对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率而不是比特在链路上的传播速率。

  1. 时延带宽积:传播时延*带宽
  2. 往返时间RTT:从发送方发送数据开始,到发送方收到来自接收方的确认总共经历的时间。
  3. 利用率:信道利用率和网络利用率两种
网络分类:
  1. 按交换技术: 电路交换网络 | 报文交换网络 |分组交换网络 | 混合交换网络

  2. 按通信传输方式: 广播型网络 | 点到点传播网络

  3. 按网络拓扑结构: 星型网络 | 环型网络 | 总线网 | 树型网 | 网状型网

  4. 按距离尺度:

    个域网(PAN)|局域网(LAN)|城域网(MAN)| 广域网(WAN)|网际网(Internet)

  5. 按传输介质:

    有线网 | 无线网

交换方式:
  1. 电路交换 公共电话网(PSTN网)和移动网(包括GSM和CDMA网)采用的都是电路交换技术,它的基本特点是采用面向连接的方式,在双方进行通信之前,需要为通信双方分配一条具有固定宽带的通信电路,通信双方在通信过程中一直占用所分配的资源,直到通信结束,并且在电路的建立和释放过程中都需要利用相关的信令协议。这种方式的优点是在通信过程中可以保证为用户提供足够的带宽,并且实时性强,时延小,交换设备成本低,但同时带来的缺点是信道利用率低,一旦电路被建立不管通信双方是否处于通话状态分配的电路一直被占用。

  2. 报文交换 报文交换是以报文为数据交换的单位,报文携带有目标地址、源地址等信息,在交换结点采用存储转发的传输方式;由于报文长度差异很大,长报文可能导致很大的时延;为了满足各种长度报文的需要并且达到高效的目的,节点需要分配不同大小的缓冲区,否则就有可能造成数据传送的失败,这样对每个节点来说缓冲区的分配也比较困难。另外一个缺点是出错时,整个报文都将重传。

  3. 分组交换 分组交换仍采用存储转发传输方式,但将一个长报文先分割为若干个较短的分组,然后把这些分组(携带源、目的地址和编号信息)逐个地发送出去。采用分组交换技术,在通信之前不需要建立连接,每个节点首先将前一节点送来的分组收下并保存在缓冲区中,然后根据分组头部中的地址信息选择适当的链路将其发送至下一个节点,这样在通信过程中可以根据用户的要求和网络的能力来动态分配带宽。分组交换比电路交换的信道利用率高,但时延较大。分组转发的带来的问题:排队时延以及增加头部带来的开销。

网络协议

协议是对等实体之间的通信规程,主要对实体间通信的语法、语义、同步、纠错四大方面进行约定。

Protocol-Hierarchies

协议的层次结构:

要理解网络协议的内涵,我们还需要知道这里所提对等实体,即通信双方对应层的实体,即Sender的物理层对应Receiver的物理层,相同主机层与层之间只通过服务与接口通信,而不同主机间只有对应的层次能够感知到双方的通信。

服务是各层向它上层提供的一组原语。服务定义了两层间的接口,上层是服务用户向,下层是服务提供者

只要不改变提供给用户的服务,实体可以任意的改变他们的协议。

由上我们也可以明白,之所以将网络协议进行层次的划分,是为了降低在网络设计时的复杂程度,简化了层与层间的数据交换,类比Java等面向对象的语言,这种封装与独立的思想其实并不难理解。

协议层的设计问题

理解了为什么我们将网络通信通过协议垂直划分为多个层次,那么我们还需要做知道一些在写一设计时需要考虑的质量因素,包括:

质量指标 解释
可靠性 保证网络正常运行的设计问题
可扩展性 体现网络互联的需求
资源分配 包括带宽分配、流量控制、服务质量(吞吐量、延时)
安全性 用于抵抗不同的网络威胁,通常通过以下几点来实现,如保密性、认证、完整性等
面向连接/无连接服务
协议与服务的关系