第1章 计算机网络体系结构
1.1 计算机网络概述
计算机网络是一个将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。计算机网络是互连的、自洽的计算机系统的集合。
一个完整的计算机网络主要由硬件、软件、协议三大成分组成,缺一不可。硬件由主机(端系统)、通信链路(双绞线、光纤)、交换设备(路由器、交换机)、通信处理机(网卡)等组成。
计算机网络由通信子网和资源子网组成。
计算机网络的功能:数据通信、资源共享、分布式处理、提高可靠性、负载均衡
计算机网络的分类
按分布范围分:广域网(WAN)、城域网(MAN)、局域网(LAN)、个人区域网(PAN)。
按交换技术分:电路交换网络、分组交换网络、报文交换网络。
按拓扑结构分:星形网络、总线型网络、环形网络、网状形网络
按传播技术分:广播式网络、点对点网络
按使用者分:公用网、专用网
按传输介质分:有线网、无线网
RFC(Request For Comments)上升为因特网正式标准需经过以下四个阶段:因特网草案、建议标准(这个阶段开始成为RFC文档)、草案标准、因特网标准。
计算机网络的性能指标:
带宽:网络的通信线路所能传送数据的能力,单位是『比特每秒(b/s)』
时延:指数据(一个报文或分组)从网络(或链路)的一段传送到另一端所需要的总的时间。
n 发送时延:节点将分组的所有比特推向(传输)链路所需的时间。也称传输时延。
发送时延=分组长度/信道宽度
n 传播时延:电磁波在信道中传播一定的距离需要花费的时间。
传播时延=信道长度/电磁波在信道上的传播速度
n 处理时延:数据在交换节点为存储转发而进行的一些必要的处理所花费的时间。
n 排队时延:等待输入队列和输出队列处理所需时间。
总时延=发送时延+传播时延+处理时延+排队时延 //排队时延和处理时延一般忽略不计
高速链路提高的仅是数据发送速率而不是比特在链路上的传播速度。
时延带宽积:若发送端连续发送数据,再发送的第一个比特即将到达终点时,表示发送端已经发出的比特数。 时延带宽积=传播时延*信道带宽
往返时延:表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后立即发送确认),总共经历的时延。
吞吐量:表示在单位时间内通过某个网络(或信道、接口)的数据量。吞吐量受网络的带宽或网络的额定速率的限制。
速率:网络中的速率是指链接在计算机网络上的主机在数字信道上传送数据的速率,也称数据率或比特率,单位是b/s(或bit/s, bps)或Kb/s、Mb/s、Gb/s。在计算机网络中,通常把最高数据率称为带宽。
1.2 计算机网络体系结构与参考模型
计算机网络的各层及其协议的集合称为网络的体系结构。
计算机网络可分层,分层的原则是:
1) 每一层都实现一种相对独立的功能,降低大系统的复杂度。
2) 各层之间界面自然清晰,易于理解,相互交流尽可能少。
3) 隔层的功能的精确定义独立与具体的实现方法,可以采用最合适的技术来实现。
4) 保持下层对上层的独立性,上层单向使用下层提供的服务。
5) 整个分层结构应能促进标准化工作。
第n层中的活动元素通常称为n层实体,实体指任何可以发送或接收信息的硬件或软件进城,通常是一个特定的软件模块。不同机器上同一层称为对等层,同一层的实体叫对等实体。
数据服务单元(SDU):为完成用户所要求的功能而应传送的数据。
协议控制信息(PCI):控制协议操作的信息。
协议数据单元(PDU):对等层次之间传送的数据单位称为该层的PDU。物理层的PDU叫比特,链路层的PDU叫帧,网络层的PDU叫分组,传输层的PDU叫报文。
为进行网络中的数据交换而建立的规则、标准或约定称为网络协议,是控制两个(或多个)对等实体进行通信的规则的集合,是水平的。
协议由语法、语义、同步三部分组成。语法规定传输数据的格式;语义规定所要完成的功能,即需要发出何种控制信息、完成何种动作以及做出何种应答;同步规定了执行各种操作的条件、时序关系等,即实现顺序的详细说明。
接口是同一节点内相邻两层间交换信息的连接点,是一个系统内部的规定。不能跨层定义接口。同一结点相邻两层的实体通过服务访问点进行交互。
服务是指下层为紧相邻的上层提供的功能调用,是垂直的。
服务原语分类:
1) 请求(Request):由服务用户发往服务提供者,请求完成某项工作。
2) 指示(Indication):由服务提供者发往服务用户,指示用户做某件事。
3) 响应(Response):由服务用户发往服务提供者,作为对指示的响应。
4) 证实(Conformation):由服务提供者发往服务用户,作为对服务的证实。
有应答服务包括全部四类原语,无应答服务则只有请求和指示两个原语。
本成协议的实现才能保证向上一层提供服务,本成的服务用户只能看见服务而无法看见下面的协议。
计算机网络提供的服务可按以下三种方式分类:
1) 面向连接服务和无连接服务
2) 可靠服务和不可靠服务
3) 有应答服务和无应答服务
并非在一个层内完成的全部功能都称之为服务,只有那些能够被高一层实体『看得见』的功能才能称为服务。
² OSI参考模型:
国际标准化组织(ISO)提出的网络体系结构模型称为开放系统互联网参考模型(OSI/RM),通常称为OSI参考模型。
1) 物理层:物理层的传输单位是比特,任务是透明的传输比特流,功能是在物理媒体上为数据端设备透明的传输原始比特流。物理层主要定义数据终端设备(DTE)和数据通信设备(DCE)的物理和逻辑连接方法,所以物理层协议也称为物理层接口标准。
物理层规定了通信链路与通信结点连接所需要的电路接口的参数,也规定了通信链路上传输的信号的意义和电器特征
2) 数据链路层:数据链路层的传输单位是帧,任务是将网络层传输下来的IP数据报组装成帧,数据链路层的功能可以概括为:成帧、差错控制、流量控制和传输管理。
典型的数据链路层协议有SDLC、HDLC、PPP、STP和帧中继等。
3) 网络层:网络层的传输单位是数据报,它关心的是通信子网的运行控制,主要任务是把网络层的协议数据单元(分组)从源端传到目的端,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和互联网等功能。
网络层的协议有:IP、IPX、ICMP、IGMP、ARP、RARP、OSPF等。
4) 传输层:也叫运输层,传输单位是报文段(TCP)或用户数据报(UDP),传输层的任务是负责主机中两个进程之间的通信。功能是为端到端连接提供可靠的传输服务;为端到端连接提供流量控制、差错控制、服务质量、数据传输管理等服务。
数据链路层提供的是点到点的通信,传输层提供的端到端的通信。
复用就是多个应用层进程可同时使用下面的运输层服务,分用则是运输层把收到的信息分别交付给上面应用层中相应的进程。
传输层的协议有:TCP、UDP。
5) 会话层:会话层允许不同主机上各进程之间的会话。会话层利用传输层提供的端到端的服务,向表示层提供它的增值服务,此服务主要是向表示层或用户进程提供建立连接并在连接上有序地传输数据,这就是会话也称建立同步(SYN)。
会话层负责管理主机间的会话进程,包括建立、管理以及终止进程间的会话。
6) 表示层:表示层主要用于处理在两个通信系统中交换信息的表示方式。不同机器采用的编码和表示方法不同,使用的数据结构也不同。为使不同表示方法的数据和信息之间能互相交换,表示层才用抽象的标准定义数据结构,才用标准的编码形式。数据压缩、加密和解密也是表示层可提供的数据表示变换功能。
7) 应用层:应用层是OSI模型的最高层,是用户与网络的界面。应用层为特定类型的网络应用提供访问OSI环境的手段。
典型的协议有文件传送的FTP、电子邮件的SMTP、万维网应用的HTTP等。
² TCP/IP模型
1) 网络接口层(对应OSI的物理层和数据链路层),表示与物理网络的接口。网络接口曾的责任是从主机或结点接收IP分组,并把它们发送到指定的物理网络上。
2) 网际层(主机-主机)是TCP/IP体系结构的关键部分。网际层定义了标准的分组格式和协议,即IP协议。
3) 传输层(应用-应用,或进程-进程):功能与OSI中的传输层类似,使发送端和目的端主机上的对等实体可以进行会话。主要使用以下两种协议:
A. 传输控制协议(Transmission Control Protocol,TCP):面向连接的,数据传输的单位是报文段,能提供可靠的支付。
B. 用户数据报协议(User Datagram Protocol,UDP):无连接的,数据传输的单位是用户数据报,不保证提供可靠的支付,只提供『尽最大努力交付』。
4) 应用层(用户-用户):包含所有的高层协议,如虚拟终端协议(Telnet)、文件传输协议(FTP)、域名解析服务(DNS)、电子邮件协议(SMTP)和超文本传输协议(HTTP)。
IP协议是因特网中的核心协议,TCP/IP可以为各式各样的用户提供服务,同时TCP也允许IP协议在各种各样的网络构成的互联网上运行。
学习计算机网络一般采用五层协议的体系结构:物理层、数据链路层、网络层、传输层、应用层。
1.3 本章小结
计算机网络与分布式计算机系统的主要区别是什么?
分布式计算机系统最主要的特点是整个系统的各个计算机对用户都是透明的。用户通过输入命令就可以运行程序,但用户并不知道是哪一台计算机在为它运行程序。是操作系统为用户选择一台最合适的计算机来运行程序,并将运行的结果传送到最合适的地方。
计算机网络则不同,用户必须先在欲运行程序的计算机上进行登录,然后按照计算机地址,将程序通过计算机网络传送到该计算机上运行。最后根据用户的命令将结果传送到指定的计算机。二者的区别主要是软件的不同。
为什么一个网络协议必须把各种不利的情况都考虑到?
因为网络协议如果不全面考虑不理情况,当情况发生变化时,协议就回保持理想状态,一直等下去。所以判断一个计算机网络是否正确,不能只看在正常情况下是否正确,而且还必须非常仔细地检查协议能否应付各种异常情况。
因特网使用的IP协议是无连接的,因此其传输是不可靠的。这样容易使人们感到因特网很不可靠。为什么当初不把因特网的传输设计成为可靠的?
计算机网络的先驱们认为,计算机网络和电信网的一个重大区别就是终端设备的性能差别很大。于是采用『端到端的可靠传输』策略,即在运输层使用面向连接的TCP协议。这样既可以使计算机网络部分价格便宜且灵活可靠,又能够保证端到端的可靠传输。
当带宽或发送速率提高后,比特在链路上向前传播的速率并没有提高,只是每秒注入链路的比特数增加了。『速率提高』就提现在单位时间内发送到链路上的比特数增多了,并不是比特在链路上跑得更快。
端到端和点到点通信有什么区别?
本质上,由物理层、数据链路层和网络层组成的通信子网为网络环境中的主机提供点到点的服务,而传输层为网络中的主机提供端到端的通信。
直接相连的结点之间叫点到点通信,只提供一台机器到另一台机器之间的通信,不涉及程序或进程的概念。端到端通信建立在点到点通信的基础上,由一段段点到点通信信道构成,比点到点通信更高级。『端』指用户程序的端口,端口号标识了应用层中不同的进程。
如何理解传输速率、带宽、传播速率?
传输速率是指主机在数字信道上发送数据的速度,也称数据率或比特率,单位是『比特每秒』,即b/s。常用的是Kb/s、Mb/s、Gb/s、Tb/s。1Tb/s=1000Gb/s=1000,000Mb/s=1000,1000,000Kb/s
带宽在计算机网络中指数字信道上所能传送的『最高数据传输速率』,用于表示网络的通信线路传送数据的能力,单位与传输速率的单位相同。
传播速率是指电磁波在信道中传播的速度,单位是『米每秒』。电磁波在光纤中的传播速率约为2*10⁸m/s。
如何理解传输时延、发送时延和传播时延?
传输时延又叫发送时延,是主机或路由器发送数据帧所需要的时间,即从数据帧的第1个比特算起,到该数据帧的最后一个比特发送完毕所需要的时间。
发送时延=数据帧长度/信道宽度
传播时延是电磁波在信道中传播一定距离所花费的时间。
传播时延=信道长度/电磁波在信道上的传播速率