计算机网络总复习.docx
《计算机网络总复习.docx》由会员分享,可在线阅读,更多相关《计算机网络总复习.docx(27页珍藏版)》请在冰豆网上搜索。
计算机网络总复习
计算机网络总复习
第1章概述
1.1计算机网络在信息时代的作用
网络是指电信网络(主要的业务是电话,但也有其他业务,如传真、数据等)、有线电视网络(即单向电视节目的传送网络,但现已开始逐渐向双向传输网络改造)和计算机网络。
这三种网络通常简称为“三网”。
1.2计算机网络的发展过程
1.2.1计算机网络的产生
一百多年来,电话交换机虽然经过多次更新换代,但交换的方式一直都是电路交换。
传统电话网使用电路交换
这种必须经过“建立连接→通信→释放连接”三个步骤的连网方式称为面向连接的(connection-oriented)。
这里我们要指出,电路交换必定是面向连接的。
但面向连接的却不一定是电路交换,因为分组交换也可以使用面向连接的方式(如广域网的X.25网络和ATM网络)。
分组交换则采用存储转发技术。
通常我们将欲发送的整块数据称为一个报文(message)。
在每一个数据段前面,加上一些必要的控制信息组成的首部(header)后,就构成了一个分组(packet)。
分组又称为“包”,而分组的首部也可称为“包头”。
不先建立连接而随时可发送数据的连网方式,称为无连接的(connectionless)。
分组交换网由若干个结点交换机(nodeswitch)和连接这些交换机的链路组成,
结点交换机处理分组的过程是:
将收到的分组先放入缓存,再查找转发表(转发表中写有到何目的地址应从何端口转发的信息),然后由交换机构从缓存中将该分组取出,传递给适当的端口转发出去。
电路交换与分组交换的区别:
电路交换——整个报文连续从源点直达终点,好像在一个管道中传送。
报文交换——整个报文先传送到相邻结点,全部存储下来后查找转发表,转发到下一个结点。
分组交换——单个分组(这只是整个报文的一部分)传送到相邻结点,存储下来后查找转发表,转发到下一个结点。
1.2.2因特网时代
美国国家科学基金会NSF认识到计算机网络对科学研究的重要性,因此从1985年起,美国国家科学基金会就围绕其六个大型计算机中心建设计算机网络。
1986年,NSF建立了国家科学基金网NSFNET。
NSFNET后来接管了ARPANET,并将网络改名为Internet,即因特网。
1.3计算机网络的分类
1.3.1计算机网络的不同定义
计算机网络的精确定义并未统一。
关于计算机网络的最简单的定义是[TANE96]:
一些互相连接的、自治的计算机的集合。
最简单的计算机网络就只有两台计算机和连接它们的一条链路。
最复杂的计算机网络就是因特网。
它由非常多的计算机网络通过许多路由器互连而成。
因此因特网也称为“网络的网络”(networkofnetworks)。
1.3.2计算机网络的几种不同分类方法
1.从网络的交换功能进行分类
电路交换;报文交换;分组交换;混合交换。
2.按网络的作用范围进行分类
广域网WAN(WideAreaNetwork)
局域网LAN(LocalAreaNetwork)
城域网MAN(MetropolitanAreaNetwork)
接入网AN(AccessNetwork)
3.按网络的使用者分类
从网络的使用范围可分为公用网和专用网两种。
公用网(publicnetwork)
专用网(privatenetwork)
1.4计算机网络的主要性能指标
1.4.1带宽
“带宽”本来的意思是指某个信号具有的频带宽度。
带宽的单位是赫兹(Hz)、千赫(kHz)、兆赫(MHz)等。
对于数字信道,“带宽”是指在信道上(或一段链路上)能够传送的数字信号的速率,即数据率或比特率。
比特(bit)是计算机中的数据的最小单元,它也是信息量的度量单位。
带宽的单位就是比特每秒(bit/s)。
带宽有时也称为吞吐量。
1.4.2时延
时延(delay或latency)是指一个报文或分组从一个网络(或一条链路)的一端传送到另一端所需的时间。
时延是由以下几个不同的部分组成的。
(1)传播时延
传播时延是电磁波在信道中传播所需要的时间。
传播时延的计算公式是:
传播时延=信道长度电磁波在信道上的传播速率
(2)发送时延
发送时延是发送数据所需要的时间。
又称传输时延。
发送时延的计算公式是:
发送时延=数据块长度信道带宽
(3)处理时延
这是数据在交换结点为存储转发而进行一些必要的处理所花费的时间。
数据经历的总时延就是以上三种时延之和:
总时延=传播时延+发送时延+处理时延
1.4.3时延带宽积和往返时延
网络性能的两个度量——传播时延和带宽——相乘,就得到另一个很有用的度量:
传播时延带宽积,即[(传播时延)(带宽)]。
在计算机网络中,往返时延RTT(Round-TripTime)也是一个重要的性能指标,它表示从发送端发送数据开始,到发送端收到来自接收端的确认,总共经历的时延。
例如:
设某段链路的传播时延为20ms,带宽为10Mb/s。
算出
时延带宽积=20*10-3*10*106=2*105bit
往返时延RTT是40ms。
往返时延带宽积是4*105bit
1.5计算机网络的体系结构
1.5.1计算机网络体系结构的形成
为了使不同体系结构的计算机网络都能互连,国际标准化组织ISO于1977年成立了专门机构,提出一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连基本参考模型OSI/RM(OpenSystemsInterconnectionReferenceModel),简称为OSI。
1.5.2划分层次的必要性
为进行网络中的数据交换而建立的规则、标准或约定即称为网络协议。
一个网络协议主要由以下三个要素组成:
(1)语法,即数据与控制信息的结构或格式;
(2)语义,即需要发出何种控制信息,完成何种动作以及做出何种响应;
(3)同步,即事件实现顺序的详细说明。
计算机网络的各层及其协议的集合称为网络的体系结构(architecture),也就是说,计算机网络的体系结构就是这个计算机网络及其部件所应完成的功能的精确定义。
体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件。
1.5.3具有五层协议的体系结构
TCP/IP是一个四层的体系结构,它包含应用层、运输层、网际层和网络接口层。
在学习计算机网络的原理时往往采取折衷的办法,也就是综合OSI和TCP/IP的优点,采用一种只有五层协议的体系结构(如图所示)
1.5.4实体、协议、服务和服务访问点
实体(entity)这一名词表示任何可发送或接收信息的硬件或软件进程。
协议是控制两个对等实体进行通信的规则的集合。
在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。
要实现本层协议,还需要使用下面一层所提供的服务。
1.5.5面向连接服务与无连接服务
从通信的角度看,各层所提供的服务可分为两大类,即面向连接的(connection-oriented)与无连接的(connectionless)。
1.面向连接服务
所谓连接,就是两个对等实体为进行数据通信而进行的一种结合。
面向连接服务是在数据交换之前,必须先建立连接。
当数据交换结束后,则应终止这个连接。
面向连接服务具有连接建立、数据传输和连接释放这三个阶段。
面向连接服务在网络层中又称为虚电路服务。
2.无连接服务
在无连接服务的情况下,两个实体之间的通信不需要先建立好一个连接,因此其下层的有关资源不需要事先进行预定保留。
这些资源将在数据传输时动态地进行分配。
无连接服务的另一特征就是它不需要通信的两个实体同时是活跃的(即处于激活态)。
是一种不可靠的服务,被称为“尽最大努力交付”,“尽力而为”。
面向连接服务也并不等同于“可靠的服务”。
1.6应用层的客户–服务器方式
在TCP/IP的进程之间的通信经常使用客户–服务器方式。
应用层协议并不是解决用户各种具体应用的协议,而是为最终用户提供服务。
为了解决具体的应用问题而彼此通信的进程就称为“应用进程”。
而应用层的具体内容就是规定应用进程在通信时所遵循的协议。
客户(client)和服务器(server)都是指通信中所涉及的两个应用进程。
第2章物理层
2.1物理层的基本概念
用于物理层的协议也常称为物理层规程(procedure)。
可以将物理层的主要任务描述为确定与传输媒体的接口的一些特性,即:
(1)机械特性。
(2)电气特性。
(3)功能特性。
(4)规程特性。
在物理连接上的传输方式一般都是串行传输,即一个比特一个比特地按照时间顺序传输。
但是,有时也可以采用多个比特的并行传输方式。
物理连接的方式很多(如点对点,多点连接或广播连接)
传输媒体的种类也很多(如架空明线、双绞线、对称电缆、同轴电缆、光缆,以及各种波段的无线信道等)。
2.2数据通信的基础知识
2.2.1数据通信系统的模型
数据(data)是运送信息的实体,而信号(signal)则是数据的电气的或电磁的表现。
无论数据或信号,都可以是模拟的或数字的。
所谓“模拟的”就是连续变化的,而“数字的”就表示取值是离散的。
因此,数字数据(digitaldata)就是用不连续形式表示的数据。
将数字数据转换为模拟信号的过程叫作调制。
一般说来,模拟数据和数字数据都可以转换为模拟信号或数字信号。
因此我们有以下四种情况:
(1)模拟数据、模拟信号。
(2)模拟数据、数字信号。
(3)数字数据、模拟信号。
(4)数字数据、数字信号。
2.2.2有关信道的几个基本概念
从通信的双方信息交互的方式来看,可以有以下三种基本方式。
(1)单向通信:
又称为单工通信,即只能有一个方向的通信而没有反方向的交互。
(2)双向交替通信:
又称为半双工通信,即通信的双方都可以发送信息,但不能双方同时发送(当然也就不能同时接收)。
这种通信方式是一方发送另一方接收,过一段时间后再反过来。
(3)双向同时通信:
又称为全双工通信,即通信的双方可以同时发送和接收信息。
有时也常用“单工”这个名词表示“双向交替通信”。
信道可以分成传送模拟信号的模拟信道和传送数字信号的数字信道两大类。
但应注意,数字信号在经过数模变换后就可以在模拟信道上传送,模拟信号在经过模数变换后也可在数字信道上传送。
信道上传送的信号还有基带(baseband)信号和宽带(broadband)信号之分。
2.2.3信道上的最高码元传输速率
奈氏准则:
理想低通信道的最高码元传输速率=2WBaud(2-1)
这里W是理想低通信道①的带宽,单位为赫(Hz);
Baud是波特,是码元传输速率的单位,1波特为每秒传送1个码元。
另一种表达方法是:
每赫带宽的理想低通信道的最高码元传输速率是每秒2个码元。
对于具有理想带通矩形特性的信道②(带宽为W),奈氏准则就变为:
理想带通信道的最高码元传输速率=WBaud(3-2)
即每赫带宽的带通信道的最高码元传输速率为每秒1个码元。
强调以下两点:
(1)一个实际的信道所能传输的最高码元速率,要明显地低于奈氏准则给出的这个上限数值。
(2)波特是码元传输的速率单位,它说明每秒传多少个码元。
码元传输速率也称为调制速率、波形速率或符号速率。
比特是信息量的单位,与码元的传输速率“波特”是两个完全不同的概念。
信息传输速率“比特/秒”与码元的传输速率“波特”在数量上有一定的关系。
一个码元携带nbit的信息量,则MBaud的码元传输速率所对应的信息传输速率为M*nb/s。
书上的例子P37.
2.2.4信道的极限信息传输速率
香农公式:
信道的极限信息传输速率C可表达为
C=Wlog2(1+S/N)bit/s(2-3)
其中:
W为信道的带宽(以Hz为单位);
S为信道内所传信号的平均功率;
N为信道内部的高斯噪声功率。
香农公式表明,信道的带宽或信道中的信噪比越大,则信息的极限传输速率就越高。
2.3物理层下面的传输媒体
传输媒体也称为传输介质或传输媒介,它就是数据传输系统中在发送器和接收器之间的物理通路。
传输媒体可分为两大类,即导向传输媒体和非导向传输媒体。
在导向传输媒体中,电磁波被导向沿着固体媒体(铜线或光纤)传播,而非导向传输媒体就是指自由空间,在非导向传输媒体中电磁波的传输常称为无线传输。
2.3.1导向传输媒体
1.双绞线
把两根互相绝缘的铜导线并排放在一起,然后用规则的方法绞合(twist)起来就构成了双绞线。
2.同轴电缆
同轴电缆由内导体铜质芯线(单股实心线或多股绞合线)、绝缘层、网状编织的外导体屏蔽层(也可以是单股的)以及保护塑料外层所组成。
通常按特性阻抗数值的不同,将同轴电缆分为两类:
(1)50同轴电缆
50同轴电缆又称为基带同轴电缆。
(2)75同轴电缆
用于模拟传输系统,它是有线电视系统CATV中的标准传输电缆。
75同轴电缆又称为宽带同轴电缆。
在计算机通信中,“宽带系统”是指采用了频分复用和模拟传输技术的同轴电缆网络。
3.光缆
光纤通常由非常透明的石英玻璃拉成细丝,主要由纤芯和包层构成双层通信圆柱体。
可以存在许多条不同角度入射的光线在一条光纤中传输。
这种光纤就称为多模光纤。
若光纤的直径减小到只有一个光的波长,则光纤就像一根波导那样,它可使光线一直向前传播,而不会产生多次反射。
这样的光纤就称为单模光纤。
2.3.2非导向传输媒体
1.无线传输
2.地面微波接力通信
3.卫星通信
2.4模拟传输与数字传输
2.4.2调制解调器
1.调制解调器的作用
调制解调器(modem)就是由调制器(MOdulator)和解调器(DEModulator)这两个字各取其字头合并而成的。
调制器的主要作用就是个波形变换器,解调器的作用就是个波形识别器。
2.几种最基本的调制方法
所谓调制就是进行波形变换。
或者更严格些,是进行频谱变换,将基带数字信号的频谱变换成为适合于在模拟信道中传输的频谱。
最基本的二元制调制方法有以下几种(如图2-16所示):
(1)调幅(AM
(2)调频(FM)
(3)调相(PM)
3.调制解调器使用异步通信方式
数据通信可分为同步通信和异步通信两大类。
2.5信道复用技术
2.5.1频分复用、时分复用和统计时分复用
频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)。
时分复用的所有用户是在不同的时间占用同样的频带宽度。
统计时分复用STDM(StatisticTDM)是一种改进的时分复用,它能明显地提高信道的利用率。
2.5.2波分复用
波分复用就是光的频分复用。
2.5.3码分复用
码分复用CDM(CodeDivisionMultiplexing)是另一种共享信道的方法。
实际上,人们更常用的名词是码分多址CDMA(CodeDivisionMultipleAccess)每一个用户可以在同样的时间使用同样的频带进行通信。
由于各用户使用经过特殊挑选的不同码型,因此不会造成干扰。
码分复用最初是用于军事通信,因为这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现。
第3章数据链路层
3.1数据链路层的基本概念
链路(link)就是从一个结点到相邻结点的一段物理线路,中间没有任何其他的交换结点。
数据链路(datalink)则是另一个概念。
这是因为当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要通信协议来控制这些数据的传输。
也可将链路分为物理链路和逻辑链路。
物理链路就是上面所说的链路,而逻辑链路就是上面的数据链路,是物理链路加上必要的通信协议。
3.2停止等待协议
停止等待(stop-and-wait)协议是最简单但也是最基本的数据链路层协议。
3.2.5停止等待协议的算法
停止等待协议在收发两端各设置一个本地状态变量V(S)和V(R)(都各占1bit)。
发送端的状态变量V(S)用来对将要发送的数据帧进行编号;
接收端的状态变量V(R)则用来检查所接收的数据帧的序号是否就是自己所期望接收的帧。
在发送结点:
(1)从主机取一个数据帧。
(2)V(S)←0。
{发送状态变量初始化}
(3)N(S)←V(S);{将发送状态变量的数值写入发送序号}将数据帧送交发送缓存。
(4)将发送缓存中的数据帧发送出去。
(5)设置超时计时器。
{选择适当的超时重传时间tout}
(6)等待。
{等待以下3个事件中最先出现的一个}
(7)若收到确认帧ACK,则:
从主机取一个新的数据帧;
V(S)←[1V(S)];{更新发送状态变量,变为下一个序号}
转到(3)。
(8)若收到否认帧NAK,则转到(4)。
{重传数据帧}
(9)若超时计时器时间到,则转到(4)。
{重传数据帧}
在接收结点:
(1)V(R)←0。
{接收状态变量初始化,其数值等于欲接收的数据帧的发送序号}
(2)等待。
(3)当收到一个数据帧,就检查有无产生传输差错(如用CRC)。
若检查结果正确无误,则执行后续算法;否则转到(8)。
(4)若N(S)=V(R),则执行后续算法;{收到发送序号正确的数据帧}否则丢弃此数据帧,然后转到(7)。
(5)将收到的数据帧中的数据部分送交主机。
(6)V(R)←[1V(R)]。
{更新接收状态变量,准备接收下一个数据帧}
(7)发送确认帧ACK,并转到
(2)。
(8)发送否认帧NAK,并转到
(2)。
状态变量的概念很重要,一定要弄清以下几点:
(1)每发送一个数据帧,都必须将发送状态变量V(S)的值(即0或1)写到数据帧的发送序号N(S)上。
但只有收到一个确认帧ACK后,才更新发送状态变量V(S)一次(将1变成0或0变成1)并发送新的数据帧。
(2)在接收端,每接收到一个数据帧,就要将发送方在数据帧上设置的发送序号N(S)与本地的接收状态变量V(R)相比较。
若二者相等就表明是新的数据帧,否则为重复帧。
(3)在接收端,若收到一个重复帧,则丢弃它(即不做任何处理),且接收状态变量不变,但此时仍须向发送端发送一个确认帧ACK。
由于发送端对出错的数据帧进行重传是自动进行的,所以这种差错控制体制常简称为ARQ(AutomaticRepeatreQuest),直译是自动重传请求,但意思是自动请求重传。
3.2.6停止等待协议中的几个重要时间关系
停止等待协议中的几个重要时间关系,如图3-9所示。
重传时间为:
tout=tp+tpr+ta+tp+tpr
3.3连续ARQ协议
3.3.1连续ARQ协议的工作原理
连续ARQ协议的工作原理。
它的要点就是在发送完一个数据帧后,不是停下来等待确认帧,而是可以连续再发送若干个数据帧。
如果这时收到了接收端发来的确认帧,那么还可以接着发送数据帧。
由于减少了等待时间,整个通信的吞吐量就提高了。
连续ARQ协议一方面因连续发送数据帧而提高了信道的利用率;
但另一方面,在重传时又必须把原来已传送正确的数据帧进行重传,这种做法又使传送效率降低。
若传输信道的传输质量很差因而误码率较大时,连续ARQ协议不一定优于停止等待协议。
3.3.2滑动窗口的概念
从停止等待协议中得到启发,发送序号循环使用0和1这两个序号。
对于连续的ARQ协议,也可循环使用已收到确认的那些序号。
发送窗口用来对发送端进行流量控制,而发送窗口的大小WT就代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。
发送窗口的规则归纳如下:
(参考书上图4-7,图4-8)
(1)发送窗口内的帧是允许发送的帧,而不考虑有没有收到确认。
发送窗口右侧所有的帧都是不允许发送的帧。
图3-7(a)说明了这一情况。
(2)每发送完一个帧,允许发送的帧数就减1。
但发送窗口的位置不变。
图3-7(b)说明已经发送了0号帧,因此允许发送的帧数就少了一个,即只有4个。
(3)如果所允许发送的5个帧都发送完了,但还没有收到任何确认,那么就不能再发送任何帧了。
图3-7(c)表示这种情况。
这时,发送端就进入等待状态。
(4)每收到对一个帧的确认,发送窗口就向前(即向右方)滑动一个帧的位置。
图3-7(d)表示发送端已经收到了0,1和2号帧共3个帧的确认,因此发送窗口可以向前滑动3个帧的位置。
于是,发送端现在又可以继续发送3个帧(即5~7号帧)。
在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。
接收窗口的规则很简单,归纳如下:
(1)只有当收到的帧的序号与接收窗口一致时才能接收该帧。
否则,就丢弃它。
(2)每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置。
同时向发送端发送对该帧的确认。
图3-8(a)表明一开始接收窗口处于0号帧处,接收端准备接收0号帧。
一旦收到0号帧,接收窗口即向前滑动一个帧的位置(图3-8(b)),准备接收1号帧,同时向发送端发送对0号帧的确认信息。
当陆续收到1号至3号帧后,接收窗口的位置应如图3-8(c)所示。
正因为收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议。
当发送窗口和接收窗口的大小都等于1时,就是我们最初讨论的停止等待协议。
3.3.3信道利用率与最佳帧长
若信道质量很好时,采用较长的数据帧可提高信道利用率。
若信道质量不好,数据帧出错的概率就会增大,因而成功发送一个数据帧需要重传多次,这样信道利用率降低,就应采用较短的帧长以便减小数据帧出错的概率。
数据帧长的选择与信道质量的好坏有很大的关系。
3.4选择重传ARQ协议
为进一步提高信道的利用率,可设法只重传出现差错的数据帧或者是计时器超时的数据帧。
3.6因特网的点对点协议PPP
现在全世界使用得最多的数据链路层协议是非常简单的点对点协议PPP(Point-to-PointProtocol)。
PPP协议有如下三个组成部分:
(1)一个将IP数据报封装到串行链路的方法。
PPP既支持异步链路(无奇偶检验的8比特数据),也支持面向比特的同步链路。
IP数据报在PPP帧中就是其信息部分。
这个信息部分的长度受最大接收单元MRU(MaximumReceiveUnit)的限制。
MRU的默认值是1500字节。
(2)一个用来建立、配置和测试数据链路连接的链路控制协议LCP(LinkControlProtocol)。
通信的双方可协商一些选项。
在[RFC1661]中定义了11种类型的LCP分组。
(3)一套网络控制协议NCP(NetworkControlProtoco