1.1 互联网的组成
计算机网络由结点和连接结点的链路组成,结点可以是终端设备计算机,也可以是集线器、交换机、路由器等,网络与网络互连被称为互连网,如下图所示。
网络把许多计算机连接在一起,而互连网则通过多个路由器将多个网络连接在一起。网络互连不仅仅是把计算机简单做物理连接,为了信息交互还需要计算机上有能够通信的软件。
1.1.1 互联网的边缘部分
由所有连接在互联网上的主机组成,用户直接使用,用来进行通信和资源共享。
边缘部分的主机又称为端系统,端指的是末端,所谓主机间的通信指的是主机A和主机B上运行的进程间的通信
- 通信方式分为两种:C/S客户端服务器模式和P2P对等方式
C/S模式:描述的是进程之间服务和被服务的关系,客户机向服务器发送请求,服务器给予响应,客户端是请求方,服务器服务提供方。
P2P模式:所有的主机都是对等关系,用C/S模型描述就是主机既可以是客户端也可以是服务器,如果主机A为B提供服务,那A是B的服务器,但A同时向C请求服务,那A又是C的客户端。
1.1.2 互联网的核心部分
由大量网络和连接这些网络的路由器组成,主要是为边缘部分提供交换和连通服务。
路由器提供分组交换功能,其任务是转发收到的分组。
目前网路中的交换有两种:分组交换和电路交换
- 电路交换:建立连接(占用物理通信资源)->通话(一直占用通信资源)->释放连接(归还通信资源)
- 特点:在通话的全部时间内,通话的用户双方始终占用端到端的资源。
- 缺点:如果是计算机数据在电路交换上传输,线路的传输效率很低,因为计算机业务大多是突发的,链路上真正用来传送数据的时间往往不到10%。
- 分组交换:使用存储转发技术,把一个报文划分为多个分组后再传输,通常把发送的整块数据成为一个报文。
- 优点:

- 缺点:存储转发时需要排队,造成额外时延;不是占用整个端到端资源,无法保证端到端的带宽;分组头必要的开销。
- 报文交换(几乎不用了):整个报文先传送到邻点,全部存储下来,再找转发表转发到下个结点。

- 总结:如果要传输大量数据,且连续传输,则电路交换中连接建立的时间可以忽略不计,且少了存储转发的时延,电路交换的所需时间最少;如果是突发业务则分组交换和报文交换更优,而分组交换每次是以一个分组为单位,比起以报文为单位更灵活,每次存储转发所需要的时延更少。
位于网络边缘的主机和网络核心部分的路由器都是计算机,作用不同,主机为用户进行信息处理,路由器则用来转发分组,路由器接收到一个分组后会先暂存一下,检查首部查找转发表,按照分组首部的目的地址转发。
1.2 计算机的网络性能
1.2.1 计算机网络的性能指标
- 速率:网络中数据的传输速率bit/s,一般指额定速率,而非实际速率
- 带宽:原指某个信号具有的频带宽度,允许通过的信号频带范围就称为带宽;网络中的带宽指的是允许通过某通道的最大比特率(bit/s),两者表述分别对应频域和时域。
- 吞吐量:表示单位时间内通过某个网络(信道)的实际数据量(bit/s)。
- 时延:数据从网络的一端传输到另一端所需的时间。
- 传输时延(发送时延):主机或路由器发送数据帧所需要的时间,发送数据帧的第一个bit到最后一个bit发完所需的时间。传输时延 = 数据帧长度(bit)/发送速率(bit/s)
- 传播时延:电磁波在信道中传播一定距离所需要的时间,传播时延 = 信道长度(m) / 电磁波传播速率(m/s),电磁波在自由空间的传播速率为光速3x10^8m/s。
- 处理时延:主机或路由器处理分组的时间
- 排队时延:经过网络传输时,进入路由器种在处理前需要进行排队等待的时间,排队时延长度往往取决于网络中的通信量,如果网络中的数据很多,则很容易出现队列溢出,导致分组丢失。

- 需要注意:传输速率指的是从节点发送数据到传输通道的速率,以每秒多少bit衡量;传播速率值得是每bit在链路上每秒能传输多远,它和bit的多少无关,因此传输速率快不一定总时延小,因为它还受传播时延的影响。
- 时延带宽积:时延X带宽,表示以bit为单位的链路长度,指该链路上最多可以容纳的数据量。
- 往返时间RTT:A和B双方互相通信,A只有在收到B的应答后才能继续发下一帧数据,B的应答帧从发出到A收到的时间,就称为往返时间RTT。
- 利用率:分为信道利用率和网络利用率两种,前者指某信道有百分之几的时间被占用,后者则是信道利用率的加权平均值。利用率并非越大越好,如果利用率越高,相应地排队时间也会增大,网络总时延也会增大。
1.2.2 计算机网络的非性能指标
- 费用
- 质量
- 标准化
- 可靠性
- 可拓展性和可升级性
- 易于管理和维护
1.3 计算机网络体系结构
1.3.1 协议与划分层次
目前使用TCP/IP体系结构比OSI七层模型更多,后者很多功能重复且复杂。
为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,其三要素如下:
- 语法:数据与控制信息的结构或格式;
- 语义:需要发出何种控制信息,完成何种动作以及做出何种相应;
- 同步:事件实现顺序的详细说明。
1.3.2 五层协议的体系结构
- 应用层:最高层,通过应用程序间的交互完成特定网络应用,其协议定义的是应用进程间的通信和交互规则,常用协议有HTTP、SMTP、DNS,基础交互数据单元叫报文。
- 传输层:负责向两台主机中进程之间的通信提供通用的数据传输服务,应用层可利用该层传输报文,常用协议有面向连接的TCP和面向无连接的UDP。
- 网络层:为分组交换网上不同主机提供通信服务,传输数据为分组(将上层的数据报进行封装),主要有寻址、连接建立、分组转发的功能。
- 数据链路层:为点到点的主机提供通信服务,将网络层的分组封装成帧进行传输,提供必要的控制信息(同步、地址、差错控制)。
- 物理层:提供比特传输服务的物理通道,而传输媒介(双绞线、光纤等)在物理层之下,物理媒介作为第0层。

1.3.3 实体、协议、服务和服务访问点
- 实体:可发送或接受信息的硬件或软件进程,往往是一个特定的软件模块
- 协议:控制两个对等实体进行通信的规则的集合
- 服务:在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,实现本次协议还需要使用下一层向上提供的服务。 服务是垂直的,协议是水平的,而上层使用下层的服务时需要使用一些命令称为服务原语
- 服务访问点(SAP):相邻两层的实体进行交互的地方称为服务访问点,上层通过服务访问点发送服务原语到下层,从而使用下层提供的服务。
1.3.4 TCP/IP体系结构
以下两张图分别是TCP/IP体系结构两种表现形式


下图是TCP/IP协议族,其特点是两头大中间小:应用层和网络接口层都有多种协议,而中间的IP层很小。TCP/IP协议可以为各式各样的应用提供服务,同时TCP/IP协议也允许IP协议在各式各样的网络构成的互联网上运行。
T
示例:

