计算机网络(第八版)学习笔记
第一章 概述
1.1计算机网络在信息时代中的作用
21世纪的重要特征是数字化、网络化和信息化,主要以网络为核心的信息时代。
常见的网络有电信网络、有线电视网络和计算机网络。
Internet的两种译名:(1)因特网;(2)互联网。
internet是由极大数量的各种计算机网络连起来的。
互联网是覆盖全球的,具有连通性和共享性(资源共享);局部范围互联起来的计算机网络,称为互连网。
1.2互联网概述
1.2.1网络的网络
计算机网络(简称为网络)由若干节点(node)和连接节点的链路(link)组成。
互连网(internetwork或Internet)是“网络中的网络”。
网络把许多计算机连接在一起,而互连网则是把许多网络通过路由器连接在一起。与网络相连的计算机常称为主机。
1.2.2互联网基础结构发展的三个阶段
(1)第一个阶段是从单个网络ARPANET像互联网发展的过程。
ARPA开始研究多种网络(如分组无线电网络)互连技术,导致互连网络出现,成为现今互联网(Internet)的雏形。
internet(互连网)是一个通用名词,它泛指有多个计算机网络互连而成的计算机网络。
Internet(互联网,或因特网)则是一个专用名词,它指当前全球最大的、开放的、由众多网络相互连接而成的特定互连网,它采用TCP/IP协议族作为通信的规则,且其前身是美国的ARPANET。
(2)第二个阶段建成了三级结构的互联网。
NSFNET是三级计算机网络,分为主干网、地区网和校园网(或企业网)。
(3)第三个阶段逐渐形成了全球范围的多层次ISP结构的互联网。
NSFNET逐渐被若干个商用的互联网主干网代替。
互联网服务提供者ISP(Internet Service Provider),又常译为互联网服务提供商。
互联网交换点IXP(Internet eXchange Point)的主要作用就是允许两个ISP网络直接相连并交换分组,而不需要在通过第三个网络转发分组。
当前互联网最主要的流量就是视频文件的传送。内容提供者(content provider)向所有用户提供视频文件。
万维网WWW(World Wide Web)由欧洲原子核研究组织CERN开发的。
1.2.3互联网的标准化工作
互联网协会(Internet Society,简称ISOC)[W-ISOC]的技术组织互联网体系结构委员会IAB(Internet Architecture Board),负责管辖互联网有关协议的开发。
IAB下面又设有两个工程部:
(1)互联网工程部IETF(Internet Engineering Task Force)
IETF是由许多工作组WG(Working Group)组成的论坛(forum),具体工作由互联网工程指导小组IESG(Internet Engineering Steering Group)管理。
(2)互联网研究部IRTF(Internet Research Task Force)
IRTF是由研究组RG(Research Group)组成的论坛(forum),具体工作由互联网研究指导小组IRSG(Internet Research Steering Group)管理。
制定互联网的正式标准要经过以下三个阶段:
(1)互联网草案(Internet Draft)——有效期6个月,这个阶段不算RFC(Request For Comments 请求评论)文档。
(2)建议标准(Proposed Standard)——成为RFC文档。
(3)互联网标准(Internet Standard)——经过长期检验,证明了某个建议标准可以成为互联网标准时,就给它分配编号,记为STDxx.
1.3互联网的组成
互联网的拓扑结构,从工作方式上,可划分为两大块:
(1)边缘部分
由所有链接在互联网上的主机组成。这部分是用户直接使用的,用来进行通信(传送数据、音频或视频)和资源共享。
(2)核心部分
由大量网络和连接这些网络的路由器组成。这部分是为边缘部分提供服务的(提供联通性和交换)。
1.3.1互联网的边缘部分
处在互联网边缘的部分就是连接在互联网上的所有主机,这些主机称为端系统(end system)。
主机A的某个进程和主机B上的另一个进程进行通信,简称为“计算机之间通信”。
在网络边缘的端系统之间的通信方式通常划分为两类:
1、客户-服务器方式
客户(client)和服务器(server)都是通信中涉及的两个应用进程。
客户是服务请求方,服务器是服务提供方。
客户程序的主要特点:
(1)被用户调用后执行,在通信时主动向远地服务器发起通信(请求服务)。因此,客户必须知道服务器程序的地址。
(2)不需要特殊的硬件和很复杂地操作系统。
服务器程序的主要特点:
(1)是一种专门提供某种服务的程序,可同时处理多个远地或本地客户的请求。
(2)系统启动后即一直不断地运行着,被动地等待并接受来自各地的客户的通信请求。因此,服务器不需要知道客户程序的地址。
(3)一般需要强大的硬件和高级的操作系统支持。
客户和服务器本来都指的是计算机的进程(软件)。
2、对等方式(P2P方式)
对等连接(peer-to-peer),支持大量对等用户同时工作。
1.3.2互联网的核心部分
在网络核心部分起特殊作用的是路由器(Router),它是一种专用计算机(但不叫作主机)。路由器是实现分组交换(packet switching)的关键构件,其任务是转发收到的分组。
1.电路交换的主要特点
从信息资源的分配角度来看,交换(switching)就是按照某种方式动态地分配传输线路的资源。
电路交换的三个步骤:
建立连接(占用通信资源)——通话(一直占用通信资源)——释放链接(归还通信资源)
电路交换的一个重要特点:在通话的全部时间内,通话的两个用户始终占用端到端的通信资源。
电路交换传送计算机数据时,其线路的传输效率往往很低。
2.分组交换的主要特点
分组交换采用存储转发技术。
报文指要发送的整块数据。
在每一个数据段前面,加上必要的控制信息组成的首部(header)后,就构成了一个分组(packet)。分组又称为“包”,而分组的首部也可称为“包头”。
主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。
路由器则用来转发分组,即进行分组转发。
在讨论互联网核心部分中的路由器转发分组的过程时,往往把单个的网络简化成一条链路,而路由器成为核心部分的节点。
优点 | 所采用的手段 |
高效 | 在分组传输过程中动态分配传输带宽,对通信链路逐段占用 |
灵活 | 为每一个分组独立的选择最合适的转发路由 |
迅速 | 以分组作为传送单位,不先建立连接就能向其他主机发送分组 |
可靠 | 保证可靠性的网络协议;分布式多路由的分组交换,使网络有很好的生存性 |
分组交换的问题:
(1)分组在各路由器存储转发时需要排队,会造成一定的时延。
(2)各分组必须携带的控制信息,会造成一定的开销。
报文交换(message switching)采用基于存储转发原理。
三种交换方式的主要特点:
电路交换——整个报文的比特流连续地从源点直达终点,像在一个管道中传送。
报文交换——整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点。
分组交换——单个分组(整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点。
1.4计算机网络在我国的发展
1.5计算机网络的类别
1.5.1计算机网络的定义
计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的。
1.5.2几种不同类别的计算机网络
1.按照网络作用范围进行分类
(1)广域网WAN(Wide Area Network) 作用范围通常为几十到几千公里,有时也称远程网(long haul network)。
(2)城域网MAN(Metropolitan Area Network) 作用范围一般是一个城市,可跨越几个街区甚至整个城市,作用距离5~50km。
(3)局域网LAN(Local Area Network) 作用范围一般是1km,适用校园网或企业网。
(4)个人区域网PAN(Personal Area Network) 也称为无线个人区域网WPAN(Wireless PAN),范围10m左右。
中央处理机之间的距离非常近(1m或更小),则一般称之为多处理机系统而不称为计算机网络。
2.按照网络者的使用者进行分类
(1)公用网(public Network) 或称为公众网。
(2)专用网(private Network)
3.用来把用户接入到互联网的网络
接入网AN(Access Network),它又称为本地接入网或居民接入网。
1.6计算机网络的性能
1.6.1计算机网络的性能指标
1.速率
计算机发送的信号都是数字形式。比特(bit)指“二进制数字”,1或者0。比特也是信息论中使用的信息量的单位。网络技术中的速率指的是数据的传送速率,它也称为数据率(data rate)或者比特率(bit rate)。
当提到网络的速率时,往往指的是额定速率或者标称速率,而并非网络实际上运行的速率。
2.带宽
“带宽”(bandwidth)有一下两种不同的意义:
(1)带宽本来是指某个信号具有的频带宽度。带宽的单位是赫(或千赫、兆赫、吉赫等)。表示某信道允许通过的信号频率范围就称为该信道的带宽(或通频带)。频域称谓
(2)在计算机网络中,带宽表示网络中某通道传送数据的能力,网络带宽表示在单位时间内网络中的某信道所能通过的“最高数据率”。带宽的单位是数据率的单位bit/s,是“比特每秒”。时域称谓
3.吞吐量
吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的实际数据量。
4.时延
时延(delay或latency)是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需要的时间。也称延迟或迟延。
(1)发送时延 (transmission delay)是主机或路由发送数据帧所需要的时间。也叫传输时延。
发送时延=数据帧长度(bit)/发送速率(bit/s)
(2)传播时延(Propagation delay)是电磁波在信道中传播一定的距离需要花费的时间。
发送时延发生在机器内部的发送器,与传输信道的长度(或信号传送的距离),没有任何关系。
但传播时延则发生在机器外部的传输信道媒体上,而与信号的发送速率无关。信号传送的距离越远,传播时延就越大。
传播时延=信道长度(m)/电磁波在信道上的传播速率(m/s)
(3)处理时延 主机或者路由器在收到分组时要花费一定的时间进行处理。
(4)排队时延 分组在进行网络传输时,要经过许多路由器。但分组在进入路由器后要先输入队列中排队等待处理。在路由器确定了转发接口后,还要在输出队列中排队等待转发。
总时延=发送时延+传播时延+处理时延+排队时延
对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。
提高数据的发送速率只是减少了数据的发送时延。
数据的发送速率的单位是每秒发送多少个比特,这是指某个点或某个接口上的发送速率。
而传播速率的单位是每秒传播多少公里,是指在某一段传输线路上比特的传播速率。
5.时延带宽积
时延带宽积=传播时延 X 带宽
链路的时延带宽积又称为以比特为单位的链路长度。
6.往返时间RTT(Round-Trip Time)
往返时间RTT双向交互一次所需的时间。表示从发送数据包到接收到对应的确认数据报所经历的时间。RTT也称为往返时延(Round-Trip Time delay)
7.利用率
(1)信道利用率 指某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。信道利用率并非越高越好。
(2)网络利用率 是全网络的信道利用率的加权平均值。
信道利用率或网络利用率过高就会产生非常大的时延。
1.6.2计算机网络的非性能特征
1.费用
2.质量
3.标准化
4.可靠性
5.可扩展性和可升级性
6.易于管理和维护
1.7计算机网络体系结构
分层次的体系结构(或架构)是最基本的。
1.7.1计算机网络体系结构的形成
开放系统互连基本参考模型OSI/RM(Open Systems Interconnection Reference Model)简称OSI。“开放”是指非独家垄断。
最广泛应用的不是法律上的国际标准OSI,而是非国际标准TCP/IP。TCP/IP常被称为事实上的国际标准。
1.7.2协议与划分层次
规则明确规定了所交换的数据的格式以及有关的同步问题。同步含有时序的意思。
网络协议(Network protocol),为进行网络中的数据交换而建立的规则、标准或约定。
网络协议主要由三各要素组成:
(1)语法,即数据与控制信息的结构或格式;
(2)语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;
(3)同步,即事件实现顺序的详细说明。
分层的好处:
(1)各层之间是独立的。
(2)灵活性好。
(3)结构上可分割开。
(4)易于实现和维护。
(5)能促进标准化工作。
通常各层要完成的功能主要有:
(1)差错控制 使相应层次对等方的通信更加可靠。
(2)流量控制 发送端的发送速率必须使接收端来得及收,不要太快。
(3)分段和重装 发送端将要发送的数据划分为更好的单位,在接收端将其还原。
(4)复用和分用 发送端几个高层绘画复用一条低层的连接,在接收端在进行分用。
(5)连接建立和释放 交换数据前先建立一条逻辑连接,数据传送结束后释放连接。
计算机网络的各层及其协议的集合就是网络的体系结构。计算机网络体系结构就是这个计算机及其构件所应完成的功能的精确定义。
体系结构是抽象的,而实体规则是具体的,是真正在运行的计算机硬件和软件。
1.7.3具有五层协议的体系结构
体系结构中的底层叫做链路层,链路层就是媒体接入层或网络接口层的[COME06]或子网层的[PETE12]。
(1)应用层
任务:通过应用进程间的交互完成特定网络应用。
应用层协议定义的是应用进程间通信和交互的规则。进程是指主机中正在运行的程序。
应用层交互的数据单元称为报文(message)。
(2)运输层
任务:负责两台主机进程间的通信提供通用数据传输服务。
运输层主要使用的协议:
1.传输控制协议TCP(Transmission Control Protocol)——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)。
2.用户数据报协议UDP(User Datagram Protocol)——提供无线连接的尽最大努力的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报。
(3)网络层
任务:负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据封装成分组或包进行传送。
在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫IP数据报,简称数据报。本书把“分组”和“数据报”作为同义词使用。
无论哪一层传送的数据单元,都可笼统地用“分组”来表示。
互联网有大量的异构(heterogeneous)网络通过路由器(Router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议IP(Internet Protocol)和许多种路由选择协议,因此互联网的网络层也叫作网际层或IP层。
(4)数据链路层
数据链路层简称链路层。
在两个相邻节点之间传送数据时,数据链路层把网络层交下来的IP数据报组装成帧(framing),在两个相邻节点间的链路上传送帧(frame)。每一帧包括数据和必要的控制信息。
(5)物理层
物理层传送数据的单位是比特。
发送方发送1(或0)时,接收方应收到1(或0)而不是0(或1)。物理层要考虑用多大的电压代表“1”或“0”,以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当由多少根引脚以及各引脚应如何连接。
协议数据单元PDU(Protocol Data Unit):对等层次之间传送数据的单位。
1.7.4实体、协议、服务和服务访问点
实体(entity):表示可发送或接收信息的硬件或软件进程。
协议:是控制两个对等实体(或多个实体)进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议还需要使用下面一层所提供的服务。
使用本层服务的实体只能看见服务而无法看见下面的协议。下面的协议对上面的实体是透明的。
协议是“水平的”,即协议是控制对等实体之间通信的规则。
服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
能够被高一层实体“看得见”的功能才能成为“服务”。
上层使用下层所提供的服务必须通过与下层交换一些命令,这些命令成为服务原语。
服务访问点SAP(Service Access Point):在同一系统中相邻两层的实体进行交互(即交换信息)的地方。
服务数据单元SDU(Service Data Unit):层与层之间交换的数据的单位。
计算机网络的一个重要特点,协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的。必须仔细检查协议能否应付任何一种出现概率极小的异常情况。