1.1计算机网络概述
    一、 计算机网络的概念
    计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。简而言
    之,计算机网络就是一些互联的、自治的计算机系统的集合。
    二、 计算机网络的组成
    从不同的角度,可以将计算机网络的组成分为如下几类:
    1. 从组成部分上看:一个完整的计算机网络主要由硬件、软件、协议三大部分组成,缺一不可。协议是计算机网络的核心。
    2. 从工作方式上看:计算机网络(这里主要指Internet,即因特网)可分为边缘部分和核心部分。边缘部分由所有连接到因特网上、供用户直接使用的主
    机组成,用来进行通信(如传输数据、音频或视频)和资源共享;核心部分由大量的网络和连接这些网络的路由器组成,它为边缘部分提供连通性和交
    换服务。
    3. 从功能组成上看:计算机网络由通信子网和资源子网组成。通信子网由各种传输介质、通信设备和相应的网络协议组成,它使网络具有数据传输、交
    换、控制和存储的能力,实现联网计算机之间的数据通信。资源子网是实现资源共享功能的设备及其软件的集合,向网络用户提供共享其他计算机上的
    硬件资源、软件资源和数据资源的服务。
    三、计算机网络的功能
    1. ★数据通信
    它是计算机网络最基本和最重要的功能,用来实现联网计算机之间各种信息的传输,并将分散在不同地理位置的计算机联系起来,进行统一的调配、控
    制和管理。
    2. ★资源共享
    资源共享可以是软件共享、数据共享,也可以是硬件共享。它使计算机网络中的资源互通有无、分工协作,从而极大地提高硬件资源、软件资源和数据
    资源的利用率。
    3. 分布式处理
    当计算机网络中的某个计算机系统负荷过重时,可以将其处理的某个复杂任务分配给网络中的其他计算机系统,从而利用空闲计算机资源以提高整个系
    统的利用率。
    4. 提高可靠性
    计算机网络中的各台计算机可以通过网络互为替代机。
    5. 负载均衡
    将工作任务均衡地分配给计算机网络中的各台计算机。
    除以上几大主要功能外,计算机网络还可以实现电子化办公与服务、远程教育、娱乐等功能,满足了社会的需求,方便了人们学习、工作和生活,具有
    巨大的经济效益。
    四、计算机网络的分类
    1. 按分布范围分类
    (1) 广域网(WAN)。其覆盖范围通常是直径为几十千米到几干干米的区域,也称远程网。广域网是因特网的核心部分。连接广域网的各结点交换机的链
    路一^都是高速链路,具有较大的通信容量。
    (2) 城域网(MAN)。城域网的覆盖范围可以跨越几个街区甚至整个城市,覆盖区域的直径范围是5~50km。城域网大多采用以太网技术,因此有时也常
    并入局域网的范围讨论。
    (3) 局域网(LAN)。局域网一般用微机或工作站通过高速线路相连,覆盖范围较小,通常是直径为几十米到几干米的区域。传统上,局域网使用广播技
    术,而广域网使用交换技术。
    ⑷个人区域网(PAN)。个人区域网是指在个人工作的地方将消费电子设备(如平板电脑、智能手机等)用无线技术连接起来的网络,也常称为无线个
    人区域网(WPAN),覆盖区域的直径约为10m。
    ID若中央处理器之间的距离非常近(如仅1m的数量级或甚至更小),则一般称为多处理器系统,而不称为计算机网络。
    2. 按传输技术分类
    (1) 广播式网络。所有联网计算机都共享一个公共通信信道。当一台计算机利用共享通信信道发送报文分组时,所有其他的计算机都会“收听”到这个分
    组。接收到该分组的计算机将通过检查目的地址来决定是否接收该分组。局域网基本上都采用广播式通信技术,广域网中的无线、卫星通信网络也采用广播
    式通信技术。
    (2) 点对点网络。每条物理线路连接一对计算机。若通信的两台主机之间没有直接连接的线路,则它们之间的分组传输就要通过中间结点进行接收、存储
    和转发,直至目的结点。是否采用分组存储转发与路由选择机制是点对点式网络与广播式网络的重要区别,广域网基本都属于点对点网络。
    3.按拓扑结构分类
    网络拓扑结构是指由网中结点(路由器、主机等)与通信线路(网线)之间的几何关系(如总线形、环形)表示的网络结构,主要指通信子网的拓扑结
    构。
    (1) 总线形网络。用单根传输线把计算机连接起来。总线形网络的优点是建网容易、增/减结点方便、节省线路。缺点是重负载时通信效率不高、总线任意
    一处对故障敏感。
    (2) 星形网络。每个终端或计算机都以单独的线路与中央设备相连。中央设备早期是计算机,现在一般是交换机或路由器。星形网络便于集中控制和管
    理,因为端用户之间的通信必须经过中央设备。缺点是成本高、中心设备对故障敏感。
    (3) 环形网络。所有计算机接口设备连接成一个环。环形网络最典型的例子是令牌环局域网。环可以是单环,也可以是双环,环中信号是单向传输的。
    (4) 网状网络。一般情况下,每个结点至少有两条路径与其他结点相连。其有规则型和非规则型两种。其优点是可靠性高,缺点是控制复杂、线路成本
    局。
    以上4种基本的网络拓扑结构可以互联为更复杂的网络。星形、总线形和环形网络多用于局域网,网状网络多用于广域网。
    4. 按使用者分类
    (1) 公用网(Public Network)。指电信公司出资建造的大型网络。“公用”的意思是指所有愿意按电信公司的规定交纳费用的人都可以使用这种网络,
    因此也称公众网。
    (2) 专用网(Private Network)。指某个部门为满足本单位特殊业务的需要而建造的网络。这种网络不向本单位以外的人提供服务。例如铁路、电力、
    军队等部门的专用网。
    5. 按交换技术分类
    交换技术是指各台主机之间、各通信设备之间或主机与通信设备之间为交换信息所采用的数据格式和交换装置的方式。按交换技术可将网络分为如下几
    种:
    (1) 电路交换网络。在源结点和目的结点之间建立一条专用的通路用于传送数据,包括建立连接、传输数据和断开连接三个阶段。最典型的电路交换网是
    传统电话网络。该类网络的主要特点是整个报文的比特流连续地从源点直达终点,好像是在一条管道中传送。优点是数据直接传送、时延小。缺点是线路利
    用率低、不能充分利用线路容量、不便于进行差错控制。
    (2) 报文交换网络。用户数据加上源地址、目的地址、校验码等辅助信息,然后封装成报文。整个报文传送到相邻结点,全部存储后,再转发给下一个结
    点,重复这一过程直到到达目的结点。每个报文可以单独选择到达目的结点的路径。报文交换网络也称存储-转发网络,主要特点是整个报文先传送到相邻
    结点,全部存储后查找转发表,转发到下一个结点。优点是可以较为充分地利用线路容量,可以实现不同链路之间不同数据传输速率的转换,可以实现格式
    转换,可以实现一对多、多对一的访问,可以实现差错控制。缺点是増大了资源开销(如辅助信息导致处理时间和存储资源的开销),増加了缓冲时延,需
    要额外的控制机制来保证多个报文的顺序不乱序,缓冲区难以管理(因为报文的大小不确定,接收方在接收到报文之前不能预知报文的大小)。
    (3) 分组交换网络,也称包交换网络。其原理是,将数据分成较短的固定长度的数据块,在每个数据块中加上目的地址、源地址等辅助信息组成分组
    (包),以存储-转发方式传输。其主要特点是单个分组(它只是整个报文的一部分)传送到相邻结点,存储后查找转发表,转发到下一个结点。除具备报
    文交换网络的优点外,分组交换网络还具有自身的优点:缓冲易于管理;包的平均时延更小,网络占用的平均缓冲区更少;更易于标准化;更适合应用。现
    在的主流网络基本上都可视为分组交换网络。
    6. 按传输介质分类
    传输介质可分为有线和无线两大类,因此网络可以分为有线网络和无线网络。有线网络又分为双绞线网络、同轴电缆网络等。无线网络又可分为蓝牙、
    微波、无线电等类型。
    五、计算机网络的性能指标
    1. 速率(Speed)。网络中的速率是指连接到计算机网络上的主机在数字信道上传送数据的速率,也称数据传输速率、数据率或比特率,单位为b/s (比
    特/秒)(或bit/s,有时也写为bps)。数据率较高时,可用kb/s (k=103 )、Mb/s (M = 106 )或Gb/s (G = 109 )表示。在计算机网络中,通常把最高
    数据传输速率称为带宽。
    2. 带竞(Bandwidth)。本来表示通信线路允许通过的信号频带范围,单位是赫兹(Hz)。在计算机网络中,带宽表示网络的通信线路所能传送数据的
    能力,通常是指单位时间内从网络中的某一点到另一点所能通过的“最高(传输)数据率”,单位是b/s。
    3. 吞吐量(Throughput)。指单位时间内通过某个网络(或信道、接口)的数据量。吞吐量受网络带宽或网络额定速率的限制。
    4. 时延(Delay)。指数据(报文/分组/比特流)从网络(或链路)的一端传送到另一端所需的时间。它由4部分构成:发送时延、传播时延、处理时延和
    排队时延。
    •发送时延。结点将分组的所有比特推向(传输)链路所需的时间,即从发送分组的第一个比特算起,到该分组的最后一个比特发送完毕所需的时间,因
    此也称传输时延。计算公式为:发送时延=分组长度/信道宽度。
    •传播时延。电磁波在信道中传播一定的距离需要花费的时间,即一个比特从链路的一端传播到另一端所需的时间。计算公式为:传播时延=信道长度/电
    磁波在信道上的传播速率。
    •处理时延。数据在交换结点为存储转发而进行的一些必要的处理所花费的时间。例如,分析分组的首部、从分组中提取数据部分、进行差错检验或查找适当的路由等。
    •排队时延。分组在进入路由器后要先在输入队列中排队等待处理。路由器确定转发端口后,还要在输出队列中排队等待转发,这就产生了排队时延。
    数据在网络中经历的总时延就是以上4部分时延之和:总时延=发送时延+传播时延+处理时延+排队时延。
    注:做题时,排队时延和处理时延一般可忽略不计(除非题目另有说明)。另外,对于高速链路,提高的仅是数据发送速率而非比特在链路上的传播速率。
    提高数据的发送速率只是为了减少数据的发送时延。
    5.时延带宽积。指发送端发送的第一个比特即将到达终点时,发送端已经发出了多少个比特,因此又称以比特为单位的链路长度,即时延带宽积=传播时
    延x信道带宽(考虑一个代表链路的圆柱形管道,其长度表示链路的传播时延,横截面积表示链路带宽,则时延带宽积表示该管道可以容纳的比特数
    量)。
    6. 往返时延(Round-Trip Time, RTT)。指从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后立即发送确认),总共经历的
    时延。在互联网中,往返时延还包括各中间结点的处理时延、排队时延及转发数据时的发送时延。
    7. 信道利用率。指出某一信道有百分之多少的时间是有数据通过的,即信道利用率=有数据通过时间/ (有+无)数据通过时间。
    1.2计算机网络体系结构与参考模型
    -计算机网络分层结构
    计算机网络的体系结构就是这个计算机网络及其所应完成的功能的精确定义,它是计算机网络中的层次、各层的协议及层间接口的集合。

    •网络体系结构是从功能上描述计算机网络结构。这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种体系结构的实现问题。体系结构是抽象
    的,而实现是指能运行的一些软件和硬件。
    •计算机网络体系结构简称网络体系结构是分层结构。每层遵循某个/些网络协议以完成本层功能。第n层在向n+1层提供服务时,此服务不仅包含第n层
    本身的功能,还包含由下层服务提供的功能,仅仅在相邻层间有接口,且所提供服务的具体实现细节对上一层完全屏蔽。
    分层的基本原则如下:
    (1) 每层都实现一种相对独立的功能,降低大系统的复杂度。
    (2) 各层之间界面自然清晰,易于理解,相互交流尽可能少。
    (3) 各层功能的精确定义独立于具体的实现方法,可以采用最合适的技术来实现。
    (4) 保持下层对上层的独立性,上层单向使用下层提供的服务。
    (5) 整个分层结构应能促进标准化工作。
    由于分层后各层之间相对独立,灵活性好,因而分层的体系结构易于更新(替换单个模块),易于调试,易于交流,易于抽象,易于标准化。但层次越
    多,有些功能在不同层中难免重复出现,产生额外的开销,导致整体运行效率越低。层次越少,就会使每层的协议太复杂。因此,在分层时应考虑层次的清
    晰程度与运行效率间的折中、层次数量的折中。
    在计算机网络体系结构的各个层次中,每个报文都分为两部分:一是数据部分,即SDU;二是控制信息部分,即PCI,它们共同组成PDU。
    第n层中的活动元素称为第n层实体,具体来说,实体指任何可发送或接收信息的硬件或软件进程,同通常是一个特定的软件模块。不同机器上的同一
    层成为对等层,同一层的实体叫对等实体。第n层实体实现的服务为第n+1层所利用。在这种情况下,第n层称为服务提供者,第n + 1层则服务于用户。
    •服努数据单元(SDU):为完成用户所要求的功能而应传送的数据。第n层的服务数据单元记为n-SDU0
    •协议控制信息(PCI):控制协议操作的信息。第n层的协议控制信息记为n-PCI。
    .协议数据单元(PDU):对等层次之间传送的数据单位。第n层的协议数据单元记为n-PDU。在实际的网络中,每层的协议数据单元都有一个通俗的名
    称,如物理层的PDU称为比特,数据链路层的PDU称为帧,网络层的PDU称为分组,传输层的PDU称为报文段。
    在各层间传输数据时,把从第n + 1层收到的PDU作为第n层的SDU,加上第n层的PCI,就变成了第n层的PDU,交给第n-1层后作为SDU发送,接收方接收时做相反的处理,n-SDU + n-PCI= n-PDU= (n-1) -SDU。

    (1) 第n层的实体不仅要使用第n-1层的服务来实现自身定义的功能,还要向第n+1层提供本层的服务,该服务是第n层及其下面各层提供的服务总和。
    (2) 最低层只提供服务,是整个层次结构的基础;中间各层既是下一层的服务使用者,又是上一层的服务提供者;最高层面向用户提供服务。
    (3) 上一层只能通过相邻层间的接口使用下一层的服务,而不能调用其他层的服务下一层所提供服务的实现细节对上一层透明。
    (4) 两台主机通信时,对等层在逻辑上有一条直接信道,表现为不经过下层就把信息传送到对方。
    二、 计算机网络协议、接口、服务的概念(待芫善)
    协议:为进行网络中的对等实体数据交换而建立的规则、标准或约定称为网络协议。【水平】
    •语法:规定传输数据的格式
    •语义:规定所要完成的功能
    •同步:规定各种操作的顺序
    接口(访问服务点SAP):上层使用下层服务的入口。
    服务:下层为相邻上层提供的功能调用。【垂直】
    三、ISO/OSI参考模型和TCP/IP模型
    1. osi参考模型
    国际标准化组织(ISO)提出的网络体系结构模型,称为开放系统互连参考模型(OSI/RM),通常简称为0SI参考模型。0SI参考模型有7层,自下而上
    依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。低三层统称为通信子网,它是为了联网而附加的通信设备,完成数据的传输功
    能;高三层统称为资源子网,它相当于计算机系统,完成数据的处理等功能。传输层承上启下。

    1. TCP/IP模型
      ARPA在研究ARPAnet时提出了TCP/IP模型,模型从低到高依次为网络接口层(对应OSI参考模型中的物理层和数据链路层)、网际层、传输层和应用层
      (对应0SI参考模型中的会话层、表示层和应用层)。TCP/IP由于得到广泛应用而成为事实上的国际标准。
      TCP/P模型与OSI参考模型的比较:
      相似之处:
      1. 二者都采取分层的体系结构,将庞大且复杂的问题划分为若干较容易处理的、范围较小的问题,而且分层的功能也大体相似。
      2. 二者都是基于独立的协议栈的概念。
      3. 二者都可以解决异构网络的互联,实现世界上不同厂家生产的计算机之间的通信。
      区別:
      1. OSI参考模型的最大贡献就是精确地定义了三个主要概念:服务、协议和接口,这与现代的面向对象程序设计思想非常吻合。而TCP/IP模型在这三个概
      念上却没有明确区分,不符合软件工程的思想。
      2. OSI参考模型产生在协议发明之前,没有偏向于任何特定的协议,通用性良好。但设计者在协议方面没有太多经验,不知道把哪些功能放到哪一层更
      好。TCP/IP模型正好相反,首先出现的是协议,模型实际上是对已有协议的描述,因此不会出现协议不能匹配模型的情况,但该模型不适合于任何其他
      非TCP/IP的协议栈。
      3. TCP/IP模型在设计之初就考虑到了多种异构网的互联问题,并将网际协议(IP)作为一个单独的重要层次。OSI参考模型最初只考虑到用一种标准的公
      用数据网将各种不同的系统互联。OSI参考模型认识到的重要性后,只好在网络层中划分出一个子层来完成类似于TCP/IP模型中的P的功能。
      4. ★OSI参考模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信。而TCP/IP模型认为可靠性是端到端的问题,因此它在网际层
      仅有一种无连接的通信模式,但传输层支持无连接和面向连接两种模式。
      学习计算机网络时,往往采取折中的办法,即综合OSI参考模型和TCP/P模型的优点,采用一种只有5层协议的体系结构,即物理层、数据链路层、网络
      层、传输层和应用层。