计算机网络从20世纪60年代发展至今,是计算机技术与通信技术相结合的产物,其定义如下
定义 计算机网络是用通信设备和通信链路连接起来,使用网络协议进行数据通信,实现资源共享的计算机的集合。
计算机网络由硬件和软件组成,硬件为
通信子网:通信设备和通信介质,用来传输数据;
资源子网:计算机及其硬件,用来存储和处理数据。
软件为
一系列网络协议:保证数据通信正确进行。
计算机网络类型众多,如局域网、广域网;有线网、无线网。最大的计算机网络为因特网。
1.1 什么是因特网
因特网(Internet):一个世界范围的计算机网络,互联遍及全世界的计算设备,是全球性的网络的网络。其具体由硬件(计算机、通信设备、通信链路)和软件(采用五层结构的一系列协议)构成,为分布式应用程序提供通信服务。
计算机(Computer):也称为主机或端系统,功能为运行分布式应用程序,进行数据存储与处理。其类型有传统设备(PC、工作站、服务器等)和非传统设备(智能手机、游戏机等)。
通信链路(communication link):连接不同设备的物理线路。类型有同轴电缆、双绞线、光纤、无线链路等。通信链路的数据指每秒传输多少位数据,单位bps;不同链路传输速率不同。

网络分为两大部分,网络边缘(资源子网)如端系统和外围设备,分布式应用程序,网络核心(通信子网)如路由器、交换机,通信链路。

网络核心由分组交换机和链路组成,用于数据传输。传输方式有电路交换和分组交换。
电路交换(circuit switching):面向连接,提前预留通信路径上所需通信资源(缓存,链路带宽),发送双方独占使用预留资源以恒定速率在同一物理连接上连续传送数据,如固定电话网。物理连接指固定路径。优点是保证恒定速率,通信质量好,缺点是创建电路、预留资源过程复杂,且静默期效率较低。发送方发送一个文件的时间为创建电路时间加文件传输时间。
多路复用(multiplexing):在一条通信链路上分别为不同连接传输数据。电路交换网的多路复用有频分多路复用FDM(frequenct-division multiplexing),链路的频谱划分成若干频段,每个频段专用于一个连接,和时分多路复用TDM(time-division multiplexing),链路的传输时间划分为若干固定时长的帧,帧再划分为固定数量的时隙,每一个时隙专用于一个连接的一块数据的传输。
分组交换(packet switching):可面向连接和无连接,不会预留资源,通信时按需共享使用资源,以分组的方式采用逻辑连接或无连接方式传送,可能要排队等待,速率不恒定,如因特网。逻辑连接指底层数据走不同路径,中上层通过采取措施,使得从应用程序看起来是同一路径过来的一样。分组交换的工作过程为,源端将报文划分为较小的分组(含控制信息),每个分组独自通过一系列链路和分组交换机传送到达目的端,目的端组合并恢复原报文。共享使用链路,以最大速率传输。
分组交换的存储转发:分组交换机将输入的整个分组接收下来存储,计算处理后,再从某输出链路传输出去(转发)。
输出的排队时延:输出缓存指用于保存准备发往某个链路的分组,每个链路端口都有一个。排队时延指分组在输出缓存中等待发送的时间,是变化的,与网络拥塞有关。分组丢失指当缓存已满,后续再有分组进入,根据规则丢弃一些分组。
报文交换(message switching):将要发送的整个信息作为一个报文(message)发送,如电报网络。其类似分组交换,也采用存储转发,但以整个报文为单位。
分组交换网分为面向连接的虚电路网络和无连接的数据报网络。
虚电路网络:分组交换机根据虚电路号ID转发分组,要先建立虚电路连接(非专用的物理电路),每个虚电路有一个标识符ID,分组带有此ID,交换机据此决定下一跳,通过措施保证相同ID的分组沿同一虚电路按序到达。如X.25、帧中继FR、异步传递方式ATM网络。
数据报网络:分组交换机根据目的地址转发分组,不需建立连接,每个分组携带目的地址,交换机据此决定下一跳。
网络的分类:
1)根据交换方式

网络接入(network access):将端系统连接到边缘路由器。接入方式有住宅接入(家庭用户),公司接入(学校、单位),无线接入(移动设备)。
边缘路由器(edge router):端系统到网络的第一台路由器。
住宅接入即将家庭的端系统(如PC)与边缘路由器相连接,可通过拨号调制解调器或使用新型宽带接入技术。
1)通过拨号调制解调器:端系统通过模拟电话线和调制解调器与因特网服务提供商(ISP)的路由器相连。但上网速度慢,通信不稳定,不能同时上网和拨打固定电话。
2)新型宽带接入技术:常用的有数字用户线DSL(Digital Subscriber Line),混合光纤同轴电缆HFC(Hybrid Fiber Coaxial cable),光纤入户FTTH(Fiber To The Home),无线方式。
公司接入先将多个端系统连接成局域网,再与边缘路由器连接,边缘路由器负责与外网连接。
无线接入用于无线移动设备的接入,有无线局域网(wireless LAN),广域无线接入网(wide-area wireless access network)。前者也称Wi-Fi,后者即4G等技术。
物理媒体(physical medium):将网络中不同设备互连起来的物理链路,通过传播电磁波来传输比特流,也称传输介质、通信链路。分为电磁波沿固体媒体传播的导引型媒体如双绞线、同轴电缆、光缆等,和电磁波在空气或外层空间中传播的非导引型媒体。
双绞线(twisted pair,TP):两根绝缘的铜线螺旋形式扭合在一起,减少对邻近双绞线的电气干扰。可以传输模拟信号或数字信号,传输速率与铜线的直径和传输距离有关。
同轴电缆(Coaxial Cable):套在一起的两个同心铜导体,内导体传递数据,外导体用作地线及屏蔽干扰,分基带同轴电缆和宽带同轴电缆。抗干扰能力强,数据率高。
光纤(Fiber):由纤芯和包层构成,纤芯用来传导光波。很细(几微米)、传送光脉冲(每个脉冲表示一个比特)、频带宽(最高10GHz以上)、抗干扰能力强。
陆地无线电信道:利用无线电波在空间传播实现通信,不需物理线路,能穿透墙壁连接移动用户,性能与环境和距离有关。分局域(Wi-Fi)和广域(4G)。
卫星无线电信道:通过通信卫星连接两个或多个位于地球的微博发射方/接收方。
1.5 ISP和因特网主干
端系统通过接入ISP与因特网相连,因特网由数以亿计的用户和几十万个网络构成,其结构采用分层ISP的方式,属于”网络的网络“。
第一层ISP(tier-1 ISP)位于最顶层,数量少,是因特网主干网络,覆盖国际。与一般网络类似,但速率高,ISP之间互相对等(peer),不存在从属关系。
第二层ISP常为区域的覆盖,可与多个第一层ISP相连,与第一层为客户与提供商关系。第二层相互之间是对等关系。
第三层ISP和接入ISP最靠近端系统,通过第二层ISP与因特网相连,是第二层的客户。

一段链路有四种时延:处理时延、排队时延、传输时延、传播时延。

处理时延(processing delay):检查比特差错,查路由表决定输出链路时的时延,通常是微秒级。
排队时延(queuing delay):分组在输出缓存上等待传输的排队时间,与正在排队的分组数量、到达分组的数量、到达该队列流量的强度和性质有关。可以是毫秒到微妙级。
传输时延(transmission delay):路由器将分组的所有比特推向链路所需时间。传输时延$=L/R$,$L$为分组长度(b),$R$为链路的传输速率(bps),与传播速率区分开来。通常在毫秒到微秒级。
传播时延(propagation delay):一个比特从链路的起点到下一节点传播所需要的时间。传播时延$=d/s$,$d$为两节点之间的距离,$s$为信号在链路上单位时间内传送的距离。
一个节点与一段链路的总时延$d{nodal}=d{proc}+d{queue}+d{trans}+d_{prop}$。
其中排队时延最为复杂,因为传输时每个分组的排队时延不同,因此使用统计量计算排队时延。排队时延的大小取决于流量到达队列的速率、到达流量的性质(周期性或突发形式)和链路传输的速率。
流量强度(traffic intensity):比特到达队列的速率与从队列输出的速率之比。
令$a=$平均分组到达速率(bps),则流量强度$=La/R$。

因特网采用分层的体系结构,每层实现相对独立的功能,每层利用下一层次所提供的服务。分层的优点在于能简化复杂系统的实现,且易于维护和更新。只要保持向上层提供的服务和向下层使用的服务不变,某层内部的变化不会影响其他层次。
协议分层:每层都有一系列协议,协议通过软件、硬件实现,运行在不同设备中,称为协议栈(protocol stack)。OSI协议栈有七层;TCP/IP协议栈有五层。
OSI/RM(Open System Interconnection/Reference Model 开放系统互连参考模型)如下
| 序号 | 名称 | 主要解决问题 | 主要功能 | 负责范围 | 单位 |
|---|---|---|---|---|---|
| 1 | 物理层 | 物理上可达 | 定义机械、电气、功能、规程特性 | 物理线路 | 比特 |
| 2 | 数据链路层 | 相邻结点间(链路上)无差错 | 帧的检错与纠错(CRC码);多路访问;链路层寻址 | 链路 | 帧 |
| 3 | 网络层 | 主机-主机的路由、拥塞控制等网络选路问题 | 实现主机到主机的路由;拥塞控制 | 主机-主机 | 分组 |
| 4 | 运输层 | 进程端口-进程端口的端到端传输问题 | 实现进程到进程的传输中的复用;流量控制;可靠性 | 端口-端口 | 报文段 |
| 5 | 会话层 | 会话时序问题(什么时候连接、传输和关闭连接等) | 规定通信时序;数据交换的同步,建立检查点等 | 应用程序 | 报文 |
| 6 | 表示层 | 压缩、加密等表示问题 | 规定数据的表示、格式转换等 | 应用程序 | 报文 |
| 7 | 应用层 | 为用户和分布式应用程序提供访问网络的接口 | 为用户和分布式应用程序提供访问网络的接口 | 应用程序 | 报文 |
OSI协议栈详细而复杂,未被工业界所使用。而因特网协议栈(TCP/IP协议栈)只实现必要功能,已成为事实上的工业标准,其内容如下。
应用层:为主机各种分布式应用程序提供所需网络服务,处理单元为报文,用软件实现。FTP、SMTP、HTTP、SNMP。
运输层:在不同主机进程之间传输报文段,用软件实现。TCP和UDP。
网络层:在主机之间传输IP数据报(IP分组),硬件、软件混合。IP、IGMP、选路协议。
链路层:在相邻节点之间无差错的传输帧,硬件实现。PPP、以太网、无线网协议。
物理层:在节点之间传输比特流,硬件实现。传输媒体、拓扑结构。
数据传递中发送方将数据自顶向下逐层封装,接收方将收到的数据自底向上逐层解封。
