1、第一章 计算机网络概述第一节 计算机网络基本概念1.计算机网络的定义:(1)计算机网络是互连的、自治的计算机的集合。(2)目前最大的、应用最广泛的计算机网络是Internet或称因特网。2.协议的定义:(1)协议是网络通信实体之间在数据交换过程中需要遵循的规则或约定,是计算机网络有序运行的重要保证。(2)计算机网络中存在很多协议,例如:HTTP、TCP、IP、ARP等。3.协议三要素:语法、语义和时序。(1)语法:定义实体之间交换信息的格式与结构,或者定义实体之间传输信号的电平等。(2) 语义:定义实体之间进行数据传输时,除了要发送的信息外,还要发送哪些控制信息,以保证交换信息的正确性。(3)
2、时序:也称为同步,定义实体之间交换信息的顺序以及如何匹配或适应彼此的速度。4.计算机网络的功能:(1)在不同主机之间实现快速的信息交换。通过信息交换,计算机网络可实现其核心功能资源共享。(2)资源共享包括:硬件资源共享、软件资源共享和信息资源共享。(3)SaaS(软件即服务)是目前互联网环境下软件共享的典型形式,也代表了软件共享的主流趋势。5.计算机网络的分类:(1)按覆盖范围分类(从小到大):个域网;局域网;城域网;广域网。(2)按拓扑结构分类:网络拓扑是指网路中的主机、网络设备间的物理连接关系与布局。星形拓扑结构:该网络包括一个中央结点,主机之间的通信都需要通过中央结点进行。该结构类型网络
3、多见于局域网、个域网中。主要优点:易于监控与管理,故障诊断与隔离容易。主要缺点:中央结点是网络的瓶颈,一旦故障,全网瘫痪,网络规模受限于中央结点的端口数量。总线型拓扑结构:该结构类型网络常见于早期的局域网中。主要优点:结构简单,所需电缆数量少,易于扩展;主要缺点:通信范围受限,故障诊断与隔离较困难,易于产生冲突。环形拓扑结构:该结构网络多见于早期的局域网、园区网和城域网中。主要优点:所需电缆短,可以使用光纤,易于避免冲突;主要缺点:某结点的故障容易引起全网瘫痪,新结点的加入或撤出过程比较麻烦,存在等待时间问题。网状拓扑结构:该结构网络比较多见于广域网、核心网络等。主要优点:网络可靠性高,一条或
4、多条链路故障时,网络仍然可联通。主要缺点:网络结构复杂,造价成本高,选路协议复杂。树形拓扑结构:目前很多局域网采用该结构网络。主要优点:易于扩展,故障隔离容易。主要缺点:对根结点的可靠性要求高,一旦根结点故障,则可能导致网络大范围无法通信。混合拓扑结构:绝大多数实际网络的拓扑都属于该结构网络。主要优点:易于扩展,可以构建不同规模网络,并可根据需要优选网络结构;主要缺点:网络结构复杂,管理与维护复杂。(3)按交换方式分类:按网络所采用的数据交换技术,计算机网络可以分为电路交换网络、报文交换网络和分组交换网络。(4)按网络用户属性分类:公用网;私用网。 第二节 计算机网络结构1、计算机规模不同,其
5、构造复杂程度也不同,大规模现代计算机网络的结构包括网络边缘、接入网络与核心网络。2、网络边缘:为用户提供了网络应用服务。3、接入网络:接入网络是实现网络边缘的端系统与网络核心连接与接入的网络。4、网络核心:核心网络是由通信链路互连的分组交换设备构成的网络,作用是实现网络边缘中主机之间的数据中继与转发。比较经典的分组交换设备是路由器和交换机等。第三节 数据交换技术1、数据交换的概念:计算机网络的根本目的是在网络边缘的主机之间实现相互的数据传输、信息交换。(1)常见的数据交换技术包括电路交换、报文交换和分组交换。(2)基于不同交换技术构建的网络分别称之为电路交换网络、报文交换网络和分组交换网络。2
6、、电路交换:(1)电路交换是最早出现的一种交换方式,电话网络是最早、最大的电路交换网络。(2)利用电路交换进行通信包括建立电路、传输数据和拆除电路3个阶段。建立电路:在电路交换网络中,首先需要通过中间交换结点在两台主机之间建立一条专用的通信线路,称为电路。传输数据:利用建立的电路进行数据的传输。拆除电路:数据传输完毕后,需要拆除该电路。3、报文交换:(1)发送方要把发送的信息附加上接受主机的地址等控制信息,构成一个完整的报文。然后以报文为单位在交换网络的各结点之间以存储-转发的方式发送,直到发送给接受主机。(2)交换网络中的结点会先接受报文,若此时该节点没有要发送的另一个报文,则直接向下一个节
7、点发送该报文;否则就先将该报文进行缓冲存储,轮到该报文时在发送,即“排队”。交换节点的这种接受-暂存-转发的工作方式,就称为“存储-转发”交换方式。(3)当节点收到的报文过多而存储空间不够或者输出链路被占用不能及时转发时,就不得不丢弃报文,这是报文交换的缺点。现代计算机网络没有采用报文交换技术的。(4)一个报文在每个节点的延迟时间,等于接收报文所需的时间加上向下一个节点转发所需的排队延迟时间之和。4、分组交换:分组交换是目前计算机网络广泛采用的技术。分组交换是报文交换的改进版,它与报文交换的最主要区别在于是否将报文拆分成更小的分组。(1)分组交换的基本原理:将一个完整的报文拆分成若干小组,然后
8、依次将这些小的分组发送出去。每个小分组的长度有限,这使得每个节点所需的存储能力降低。(2)分组交换的优点:交换设备存储容量要求低;交换速度快;可靠传输效率高;更加公平。第四节 计算机网络性能1、速率与带宽:(1)速率是计算机网络中最重要的性能指标之一,它是指网络单位时间内传送的数据量,用以描述网络传输数据的快慢,也称为数据传输速率或数据速率。有时也会用“带宽”这一术语描述速率。(2)计算机网络传输的数据是以“位”为信息单位的二进制数据,速率的基本单位是bit/s(位/秒),有时也称速率为比特率。2、时延:时延是评价计算机网络性能的另一个重要的性能指标,也称为延迟。时延是指数据从网络的一个节点到
9、达另一个节点所需的时间。(1)计算机网络中,通常将连接两个节点的直接链路称为一个“跳步”,简称“跳”。(2)分组的每跳传输过程中主要产生4类时间延迟:结点处理时延、排队时延、传输时延和传播时延。节点处理时延:分组到达节点时,交换设备需要对分组进行相关的处理,比如检查分组是否出错等,花费的这部分时间称为节点处理时延,记为dc。排队时延:从分组被存储开始,到轮到该分组被传输为止,这段时间称为排队时延,记为dq。排队时延的大小取决于网络的拥塞程度,网络拥塞越严重,平均排队时延就越长,反之越短。传输时延:当轮到分组被传输到下一个节点时,从传输该分组第一位开始,到传输完该分组最后一位为止,这段传输数据所
10、花费的时间称为传输时延,记为dt。假设分组长度为Lbit,链路带宽为Rbit,则dt = L/R传播时延:若两节点之间的物理链路长度为Dm,信号传输速度为Vm/s,则传播时延dp=D/V。综上,一个分组经过一跳,所需时间为dh = dc + dq + dt + dp 。3、时延带宽积:传播时延与带宽的乘积。G=dp x R时延带宽积的单位是位,它表示一段传输链路可以容纳的数据位数。4、丢包率:当网络拥塞特别严重时,新到达的分组无法再背交换节点存储,此时交换节点会丢弃分组,造成“丢包”现象。5、吞吐量:表示在单位时间内,源主机通过网络向目标主机发送数据的实际速率,单位为bit/s,记为Thr。吞
11、吐量受网络链路带宽、网络连接复杂性、网络协议、网络拥塞程度等因素影响。Thr = min(R1,R2Rn)第五节 计算机网络体系结构1、计算机网络分层体系结构:(1)复杂的计算机网络需要很多协议的协助以实现计算机所有的复杂功能,在制定这些网络协议时的思路是将复杂的网络通信功能划分为由若干协议分别去完成,然后将这些协议按一定方式组织起来,以实现网络通信的所有功能。(2)最典型的划分方式就是采用分层的方式来组织协议,分层的核心思路是上一层的功能建立在下一层功能的基础上,并且在每一层内均要遵守一定的通信规则,即协议。(3)计算机网络所划分的层次以及各层协议的集合称为计算机网络体系结构。这种分层体系结
12、构通常是按功能划分的,并不是按实现方式划分的。(4)体系结构应当具有足够的信息,以便软件设计人员为每层编写实现该层协议的有关程序,即协议软件。(5)典型的层次化体系结构有OSI参考模型和TPC/IP参考模型两种。2、OSI参考模型:(1)OSI参考模型采用分层机构化技术,由底层到高层分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。每一层都有特定的功能,并且上一层利用下一层的功能所提供的服务,完成本层功能。(2)第N层接收到第N+1层的协议数据单元(PDU)后,按照第N层的协议对其进行封装,构成第N层的PDU,再传给下一层,以此类推,最后,数据链路层PDU(通常称为数据帧)传
13、递给最底层的物理层。(3)13层主要是完成数据交换和数据传输,称为网络底层;57层主要是完成信息处理服务的功能,称为网络高层;低层与高层之间由第4层传输层衔接。物理层:主要功能是在传输介质上实现无结构比特流输出。该层协议规定了4个特性:机械特性、电气特性、功能特性和规程特性。数据链路层:主要功能是实现在相邻结点之间数据可靠而有效的传输。网络层:主要功能是数据转发与路由。传输层:主要功能包括复用/分解(区分发送和接收主机上的进程)、端到端的可靠数据传输、连接控制、流量控制和拥塞控制机制等。会话层:指用户与用户之间的连接,通过两台计算机间建立、管理和终止通信来完成对话。表示层:处理应用实体之间交换
14、数据的语法、解决格式和数据表示的差别。应用层:该层提供的服务非常丰富,包括文件传输,电子邮件等。3、OSI参考模型有关术语:(1)数据单元:在层的实体之间传送的比特组称为数据单元。在对等之间传输数据单元是按照本层协议进行的,这时的数据单元称为协议数据单元(PDU)。PDU在不同层中往往有不同的叫法,在物理层称为位流或比特流;在数据链路层称为帧,在网络层称为分组或包;在传输层称为数据段或报文段;在应用层称为报文。(2)面向连接的服务和无连接的服务:在分层的体系结构中,下层向上层提供服务通常有两种形式:面向连接的服务和无连接的服务。面向连接的服务以电话系统最为典型,要进行“建立链路、传输数据和拆除
15、电路”三步;无连接的服务没有建立链路和拆除链路的过程,又称为数据报服务。4、TCP/IP参考模型:TCP/IP参考模型包括4层:应用层、传输层、网络互联层和网络接口层。(1)应用层:TCP/IP参考模型将OSI参考模型中会话层和表示层的功能合并到了应用层来实现。每一个应用层协议一般会使用两个传输层协议之一进行数据传输:面向连接的传输控制协议TCP和无连接的用户数据报协议UDP。(2)传输层:主要包括面向连接、提供可靠数据流传输的传输控制协议TCP和无连接不提供可靠数据传输的用户报协议UDP。(3)网络互联层:网络互联层是整个TCP/IP参考模型的核心,主要解决把数据分组发送目的网络或主机的问题
16、。网络互联层的核心协议是IP。(4)网络接口层:这一层未被定义,所以其具体的实现方法将随着网络类型的不同而不同。这一层对应OSI模型中的数据链路层和物理层。5、五层参考模型:对比TCP/IP参考模型与OSI参考模型,TCP/IP模型缺少OSI参考模型中功能比较少的表示层与会话层,而TCP/IP参考模型的网络接口层相当于合并了OSI参考模型的数据链路层和物理层。第二章 网络应用第一节 计算机网络应用体系结构1、计算机网络应用很多,从体系结构角度可以分为:客户/服务器(C/S)结构、纯P2P结构和混合结构3种类型。2、客户/服务器(C/S)结构网络应用:客户/服务器(C/S)结构的网络应用是最典型
17、、最基本的网络应用,C/S网络应用最主要的特征是通信只在客户与服务器之间进行。3、纯P2P结构网络应用:P2P应用中的对等端是一个服务器与客户的结合体。4、混合结构网络应用:混合结构网络应用将C/S应用于P2P应用相结合,既有中心服务器的存在,又有对等端(客户)间的直接通信。第二节 网络应用通信基本原理1、应用层协议定义了应用进程间交换的报文类型、报文构成部分具体含义以及交换时序等内容,即语法、语义和时序等协议三要素内容。2、(1)典型的网络应用编程接口是套接字(Socket),套接字是每个应用进程与其他应用进程进行网络通信时,接收和发送报文的通道。(2)每个套接字进行编号,用于标识该套接字,
18、该编号称为端口号。(3)IP地址是Internet的网络层地址,用于唯一标识一个主机或路由器接口。3、Internet传输层能提供的服务只有两类:面向连接的可靠字节流传输服务(TCP)和无连接的不可靠的数据报传输服务(UDP)。当某个应用程序调用TCP作为其传输协议时,该应用程序就能获得来自TCP的两种服务:面向连接的服务和可靠的数据传输服务。4、面向连接的服务:(1)在应用层报文开始传送之前,TCP客户端和服务器相互交换传输层控制信息,完成握手。在客户进程与服务器进程的套接字之间建立一条逻辑的TCP连接。(2)这条连接是全双工的,即连接双发的进程都可以在此连接上同时进行报文收发。(3)当应用
19、程序结束报文发送时,必须拆除该连接。5、可靠的数据传送服务:应用进程能够依靠TCP,实现端到端的无差错、按顺序交付所有发送数据的服务。当应用程序的一端将字节流通过本地套接字传送时,它能够依靠TCP将相同的字节流交付给接收方的套接字,而没有字节的丢失和冗余。第三节 域名系统(DNS)1、实现将域名映射为IP地址的过程,称为域名解析。域名服务器分布在整个互联网上,每个域名服务器只存储了部分域名信息。2、层次化域名空间:(1)国家顶级域名nTLD:如cn表示中国、us表示美国等。(2)通用顶级域名gTLD:最早的顶级域名是com(公司和企业)、net(网络服务机构)等。(3)基础机构域名:这种顶级域
20、名只有一个,即arpa,用于反向域名解析,又称反向域名。3、域名服务器:(1)DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位。域名服务器根据其主要保存的域名信息以及在域名解析过程中的作用等,可分为:根域名服务器、顶级域名服务器、权威域名服务器、中间域名服务器。(2)其中根域名服务器是最重要的域名服务器,在因特网上共有13个不同IP地址的根域名服务器。它们的名字是用一个英文字母命名,从a到m。任何一个拥有域名的主机,其域名与IP地址的映射关系等信息都存储在所在网络的权威域名服务器上。4、域名解析过程:域名解析分为递归解析和迭代解析,通常本地域名服务器都提供递归查询服务。(1)递归查
21、询服务:主机在进行域名解析查询时,本地域名服务器如果没有被查询域名的信息,则代理主机查询根域名服务器或其他域名服务器。(2)迭代查询服务:本地域名服务器如果没有被查域名的信息,则代理主机查询根域名服务器,若仍未查到域名信息,则根域名不会代理主机继续查询下去,而是将查询任务交给本地域名服务器。第四节 万维网应用1、万维网应用结构:万维网应用也称为Web应用。(1)Web应用主要包括Web服务器、浏览器与超文本传输协议(HTTP)等部分,浏览器是Web应用的客户端软件。(2)在Web应用中,通过一个URL地址来寻址一个Web页或Web对象,每个URL地址主要由两部分组成:存放对象的服务器主机域名(
22、或IP地址)和对象的路径名。2、HTTP:(1)HTTP概述:HTTP是Web应用的应用层协议,定义浏览器如何向Web服务器发送请求以及Web服务器如何向浏览器进行响应。(2)HTTP连接:HTTP基于传输层的TCP传输报文。浏览器在向浏览器发送请求之前,首先需要建立TCP连接,然后才能发送HTTP报文,并接受HTTP响应报文。根据HTTP在使用TCP连接的策略不同,可以分为非持续连接的HTTP和持续的HTTP。(3)非持久连接的HTTP1.0:非持久连接的HTTP1.0中,客户HTTP需先向Web服务器发送请求建立TCP连接的请求报文,等待Web服务器的响应报文,这一来一回的一个往返时间为一
23、个RTT;Web服务器响应HTTP客户后,HTTP客户再请求Web页面,Web服务器响应后,告知HTTP客户该网页有多少个图片应用,并通知TCP断开次TCP连接。随后HTTP客户再次请求TCP连接,Web响应后,再请求第一个图片的TCP连接,等待响应,Web响应后通知TCP连接断开此TCP连接。以此类推,获取含有3个图片的完整Web网页内容需要花费8RTT。(4)并行连接HTTP1.0:同上述的HTTP1.0的工作原理相同,不过在请求建立图片的TCP连接时,可以建立多条TCP请求;配置了3条并行TCP连接后,请求含有3个图片的完整Web网页内容只需花费4RTT。(5)持续连接的HTTP1.1:
24、非流水方式持久连接的HTTP1.1:在非流水方式持久连接的HTTP1.1中,只需建立一条TCP连接即可,全部的请求结束后再断开TCP连接;请求含有3张图片的完整Web内容只需花费5RTT。流水方式持续连接HTTP1.1:同上述的HTTP1.1的工作原理相同,不过可以进行多个图片请求;包含3个图片的完整Web网页内容只需3RTT。(6)HTTP报文:HTTP报文由四部分组成:起始行、首部行、空白行和实体主体。HTTP报文可以分为两类:请求报文和响应报文,请求报文由浏览器发送给Web服务器,响应报文由Web服务器发送给浏览器。请求报文与响应报文最主要区别是起始行不同,请求报文的起始行是:响应报文的
25、起始行是: URL定位所请求的资源;状态码用于通告客户端对请求的响应情况。(7)HTTP典型的请求方法有GET、HEAD、POST、OPTION、PUT等。GET:请求读取由URL所标识的信息,是最常见的方法。HEAD:请求读取由URL所标识的信息的首部,即无需在响应报文中包含对象。POST:给服务器添加信息。OPTION:请求一些选型的信息。PUT:在指明的URL下存储一个文档。3、Cookie:Cookie中文名称为小型文本文件,是由Web服务器端生成,发送给浏览器,并存储在用户本地终端上的数据。(1)Web应用引入Cookie机制,用于跟踪用户。(2)最常见的用途包括以下几点:网站可以利
26、用Cookie的ID来准确统计网站的实际访问人数等数据。网站可以利用Cookie限制某些特定用户的访问。网站可以存储用户访问过程中的操作习惯和偏好,有针对性的为用户提供服务,提升用户体验感。记录用户登录网站使用的用户名、密码等信息,当用户多次登陆时,无需每次都从键盘输入这些繁琐的字符和数字。电子商务网站利用Cookie可以实现“购物车”功能。第五节 Internet电子邮件1、电子邮件系统结构:主要包括邮件服务器、简单邮件传输协议(SMTP)、用户代理和邮件读取协议等。(1)邮件服务器:功能是发送和接收邮件,是电子邮件体系结构的核心。(2)SMTP:是实现邮件服务器间发送邮件的应用层协议。(3
27、)用户代理:为用户提供使用电子邮件的接口,典型的电子邮件用户代理有微软的Outlook、Apple Mail和Fox Mail等。(4)邮件读取协议:支持接收邮件的用户主动连接服务器,对其邮箱中的邮件进行操作或申请向本地传输的应用层协议。典型的邮件读取协议有POP、IMAP等。2、SMTP:是Internet电子邮件中核心应用层协议,实现邮件服务器之间或用户代理到邮件服务器之间的邮件传输。(1)SMTP使用传输层TCP实现可靠数据传输,发送邮件时,SMTP客户端首先请求与服务器端的25号端口建立TCP连接。(2)SMTP只能传输7位ASCII码文本内容。3、电子邮件格式与MIME:MIME定义
28、了将非7位ASCII码内容转换为7位ASCII码的编码规则。4、邮件读取协议:SMTP是“推动”协议,不能使用户从自己邮箱中读取邮件,而POP3和IMAP可作为邮件读取协议。在Web邮件系统中,HTTP是邮件读取协议。第六节 FTP1、文本传输协议(FTP)是在互联网的两个主机之间实现文件互传的网络应用,其应用层协议也称为FTP。2、FTP使用两个“并行”的TCP连接:控制连接和数据连接。3、FTP客户发出的传送请求通过控制连接发送给服务器端的控制进程的熟知端口(21),但控制连接不用来传输文件,用于传输文件的是数据连接,其对应FTP服务器熟知端口(20)。第三章 传输层第一节 传输层的基本服
29、务1、传输层功能:传输层寻址;对应用层报文进行分段和重组;对报文进行差错检测;实现进程间的端到端可靠数据传输控制;面向应用层实现复用与分解;实现端到端的流量控制;拥塞控制等。2、无连接服务与面向连接服务:传输层提供的服务可分为无连接服务和面向连接服务两大类。(1)面向连接服务:发送方和接收方在进行信息传输时,需要先建立传输链路,然后才能进行信息传输,信息传输完毕后再拆除该传输链路。(2)无连接服务:不经过面向连接服务的“建立传输链路”、“拆除传输链路”,直接进行数据传输。第二节 传输层的复用和传输1、无连接的多路复用与多路分解:(1)Internet传输层提供无连接服务的传输层协议是UDP。U
30、DP利用一个二元组唯一标识一个UDP套接字,从而可以实现精确分解。(2)为UDP套接字分配端口号的两种方法:创建一个UDP套接字时,传输层自动的为该套接字分配一个端口号,该端口号当前未被该主机中任何其他UDP套接字使用。在创建一个UDP套接字后,通过调用bind()函数为该套接字绑定一个特定的端口号。2、面向连接的多路复用与多路分解:(1)Internet传输层提供面向连接服务的是TCP。TCP利用一个四元组唯一标识一个TCP套接字,从而实现精确分解。(2)四元组中的源端口号和目的端口号是TCP报文段首部字段,而源地址和目的地址则是封装TCP报文段的IP数据段的首部字段。第三节 停等协议与滑动
31、窗口协议1、可靠数据传输的基本原理:(1)差错检测:利用差错编码实现数据报传输过程中的比特差错检测。(2)确认:接收方向发送方反馈数据接收状态。(3)重传:发送方重新发送接收方没有正确接收的数据。(4)序号:对数据包进行编号,确保数据按序提交。(5)定时器:解决数据丢失问题,若在一定时间内发送发未收到接受方的反馈,则重新发送数据。2、停-等协议:(1)当发送方向接收方发送一个报文段时后,就停下来等待接收方的确认;(2)若收到接收方的报文段已正确接收的确认信息ACK,则继续发送下一个报文段;若收到接收方的报文段错误接收的否定信息NAK,则重新发送该报文段。(3)若在一定时间内没有收到ACK或NA
32、K,则重新发送该报文段。(4)这种重传机制的可靠数据传输协议称为自动重传请求(ARQ)协议,最简单的ARQ协议就是停-等协议。3、滑动窗口协议:(1)滑动窗口协议的发送方和接收方各维护一个窗口,分别称为发送窗口Ws和接收窗口Wr。发送窗口的大小表示了发送方可以一次性发送的未被确认分组的最大数量,接收窗口的大小则表示了接收窗口可以接收并缓存的正确到达的分组的最大数量。显然,在停-等协议中,Ws=Wr=1。(2)若发送窗口接到接收窗口关于基序号“5”的确认接收ACK,则发送窗口向右滑动一位。(3)两种最具代表性的滑动窗口协议是:回退N步(GBN)协议和选择重传(SR)协议。4、GBN协议:GBN协
33、议的发送窗口Ws1,接收窗口Wr=1。(1)对于发送方,在发送数据前检查发送窗口是否已满,若未满则用“下一个可用序号”对要发送的数据进行编号,送入发送窗口中等待发送。GBN协议发送只是用一个计时器,且只对发送窗口中的基序号分组进行计时,若在计时结束前收到基序号分组的ACK,则发送窗口右移一位,并对下一个基序号分组重新计时;若超时,则重新发送所有发送窗口中已发送但未收到ACK的分组(由此特性,在发送方未收到基序号的ACK时,及时发送方收到基序号后面分组的ACK,这些分组仍是不确定接受的,仍需要重发);这也是GBN协议称为“回退N步”协议的原因。(2)对于接收方,当正确接收到序号为n的分组时,想发
34、送方发送一个ACKn,并将该分组提交给上层,这时接收窗口滑动到序号n+1位置,准备接收序号为n+1的分组;(分组的序号在传输过程中可能会出错,比如丢失或乱序)若这时接收的分组序号不是n+1,接收方丢弃该分组并向发送方发送ACKn,这会使发送方再次受到ACKn,这时发送发可以不予理会。5、SR协议:SR协议的发送窗口Ws1,接收窗口Wr 1。在GBN协议中由于只有一个定时器,所以发送方无法全部确定接收方已经正确接收的分组序号,故不等不重新发送接收方已经正确接收的分组,而SR协议就是GBN协议的优化改进版。(1)对于发送方,SR协议与GBN协议最大的不同是在发送窗口中采用多个计时器,如此一来,发送
35、方就可以实现对多个分组是否已被接收方正确接收的确认。(2)对于接收方,在正确收到序号为n的分组后,接收窗口滑动到序号n+1位置,准备接收序号为n+1的分组;若此时接收到的分组序号不是n+1,则先将该分组缓存,此时接收窗口不滑动,继续准备接收序号为n+1的分组;若此时接收的分组序号为n+1,则将该分组与之前缓存的分组一起按序号提交给上层。第四节 用户数据报协议(UDP)1、UDP是Internet传输层协议,提供无连接、不可靠、数据包尽力传输服务。UDP提供一种不可靠数据传输,不保证将报文送达目的地,即使送到了也可能是乱序的。2、UDP传输协议的优点:虽然UDP提供不可靠传输服务,但通过一定措施
36、,使用UDP仍可以实现可靠传输。UDP的优点如下:(1)应用进程更容易控制发送什么数据以及何时发送,实时性高;(2)无需建立连接,传输数据前不必建立连接,节省时间;(3)无连接状态,因不必建立连接,所以不必维护该连接链路,故开销小;(4)首部开销小,相比首部开销至少有20字节的TCP报文段,UDP仅有8字节。3、UDP数据包结构:每个UDP数据报首部只有4个字段,每个字段由2个字节组成,每个字节中有8位,也就是32位。第五节 传输控制协议(TCP)1、TCP是Internet的一个重要传输层协议,提供面向连接、可靠、有序、字节流服务。TCP是面向连接的传输层协议,并且提供全双工通信服务,即允许
37、通信双方的应用进程在任何时候都能发送和接收数据。2、TCP报文段结构:TCP报文段由首部字段和一个数据字段组成,在TCP首部中有20个字节的固定首部,也就是说TCP首部至少含有20个字节。3、TCP可靠数据传输:TCP的可靠数据传输服务保证了传输的数据流是无差错、无缺失、无冗余以及无乱码的字节流,可靠数据传输的实现机制包括:差错编码、确认、序号、重传、计时器等。4、TCP流量控制:流量控制的目的是协调发送方与接收方间的数据发送和接收速度,避免发送方发送数据的速度太快,超出接收方的数据接收和处理能力,导致数据丢失等问题。5、TCP拥塞控制:拥塞控制就是通过合理调度、规范、调整向网络中发送数据的主
38、机数量、发送速率或数据量,以避免拥塞或尽快消除已发生的拥塞。TCP的拥塞控制算法包括了慢启动、拥塞避免、快速重传和快速恢复四部分。6、TCP拥塞控制的图表解读:(1)RTT:图标中的横轴RTT表示时间,发送方发送数据并接收到接收方对这个数据的ACK确认信息,这段时间称为一个RTT。(2)拥塞窗口:滑动窗口的大小,它的具体数值称为阈值,单位为MSS;(3)慢启动阶段:通常拥塞窗口的初值为1,在慢启动阶段,每收到一个确认ACK阈值增加1MSS,所以没经过一个RTT阈值就增加为2倍;(4)拥塞避免:通常阈值的初值为16,当阈值增长到16MSS时进入第一个拥塞避免阶段;在拥塞避免阶段,没经过一个RTT
39、,阈值才增加一个MSS;(5)快速恢复:在拥塞避免阶段,若发送方收到3次重复ACK,则说明网络拥塞,将阈值缩减到一半,然后继续进入拥塞避免阶段;(6)计时器超时:在拥塞避免阶段,若发送方出现计时器超时现象,则说明网络严重拥塞,直接将阈值缩减到1MSS,然后经过慢启动阶段到达缩减前的一半的阈值时,进入拥塞避免阶段。第四章 网络层第一节 网络层服务1、网络层需要实现两项重要功能:转发和路由选择。(1)、转发:当通过一条链路接收到分组时,交换设备比如路由器,需要决策该通过哪条输出链路将分组发出。(2)路由选择:将分组从源主机发送给目的主机时,必须通过某种方式决定分组要经过的路径,计算分组所要经过的路
40、径的算法被称为路由算法。第二节 数据报网络与虚电路网络1、数据包网络:按照目的主机地址进行路由选择的网络称为数据报网络,提供无连接服务。2、虚电路网络:虚电路网络在网络层提供面向连接的分组交换服务。一条虚电路(VC)由3个要素构成:(1)从源主机到目的主机之间的一条路径。(2)该路径上的每条链路各有一个虚电路标识(VCID);(3)该路径上每台分组交换机的转发表中记录虚电路表示的接续关系。3、虚电路分组交换的类型:有永久型和交换型两种。(1)永久型虚电路(PVC):是一种提前建立,长期使用的虚电路,虚电路的建立时间开销基本上可以忽略。(2)交换型虚电路(SVC):是根据通信需要而临时建立的虚电
41、路,通信结束后立即拆除,虚电路的建立和拆除时间开销有时相对影响较大。4、虚电路交换与数据包交换的主要差别表现为:是将顺序控制、差错控制和流量控制等功能交由网络来完成,还是由端系统来完成。(1)虚电路网络通常由网络完成这些功能,想端系统提供无差错数据传送服务,而端系统则可以很简单;(2)数据包网络实现的功能很简单,如基本的路由与转发、顺序控制、差错控制和流量控制等功能由端系统来完成。第三节 网络互联与网络互联设备1、异构网络互联:异构网络主要是指两个网络的通信技术和运行协议不同,实现异构网络互联的基本策略主要包括协议转换和构建虚拟互联网络。而实现同构网络互连的典型技术则是隧道技术。2、路由器:路
42、由器是最典型的网络层设备,从功能体系结构的角度,可将路由器分为输入端口、交换结构、输出端口与路由处理器。(1)输入端口:负责从物理接口接收信号;还原数据链层帧;提取IP数据报,根据IP数据报的目的IP地址检索路由表;决策需要将该IP数据报交换到哪个输出端口。(2)交换结构:实现将输入端口的IP数据报交换到指定的输出端口,主要基于三种交换结构:基于内存交换(性能最低也最便宜)、基于总线交换和基于网络交换(性能最好也最贵)。(3)输出端口:提供缓存排队功能,对将要发送的数据分进行相应的封装,并通过物理接口发送出去。(4)路由处理器:即路由器的CPU,负责执行路由器的各种指令。第四节 网络层拥塞控制
43、1、网络拥塞:拥塞控制就是端系统或网络结点,通过采取某种措施来避免拥塞的发生,或者对已发生的拥塞作出反应,以便尽快消除拥塞。发生拥塞的原因主要有以下4种:(1)缓冲区容量有限;(2)传输路线的带宽有限;(3)网络结点的处理能力有限;(4)网络中某些部分发生了故障。2、准入控制:是一种广泛应用于虚电路网络的拥塞控制技术,若新建立的虚电路会导致网络变的拥塞,则网络会拒绝建立该虚电路。3、负载脱落:是消除拥塞的另一个方法,即通过有选择的主动丢弃一些数据报,来减轻网络负载,从而缓解或消除拥塞。当路由器中的数据报得不到及时处理,可能面临被丢弃的危险时,路由器就主动将该数据丢弃掉。第五节 Internet
44、网络层1、Internet是目前世界上最大、最重要的计算机网络,Internet网络层主要包括网际协议(IP)、路由协议以及互联网控制报文协议(ICMP)。2、IP协议:IP目前有两个版本:IPV4和IPV6,目前Internet以IPv4为主。IP是Internet网络层最核心的协议。3、IP数据报格式:数据报中的标志位字段占3位。(1)其中最高位保留,而当DF=0则表示允许路由器将该IP数据报分片;当DF=1则表示禁止路由器将该IP数据报分片,此时若IP数据报的总长度超过路由器的最大传输单元,则路由器会丢弃该数据报。(2)而当MF=1则表示这是IP数据报的一个分片且不是最后一个分片;当MF
45、=0则表示IP数据报未被分片或是最后一个分片。4、IPv4编址:IPv4地址长度为32位,常用3种常用的标记法:二进制标记法、点分十进制标记法、十六进制标记法。5、分类地址:类前缀长度前缀首字节A8位0xxxxxxx0127B16位10xxxxxx xxxxxxxx128191C24位110xxxxx xxxxxxxx xxxxxxxx1922236、子网划分:现实中,IP地址不够用,所以为了提高IP地址空间利用率,采用两种策略:子网划分和超网化。7、路由聚合:(1)路由聚合:在路由器转发模块中,将接收到的目的IP地址与路由表中的每个子网掩码进行运算,求出对应的子网地址;若该子网地址与路由表中
46、的某个网络地址对应,则将该目的IP地址从该网络地址对应的接口发送出去。若目的IP地址经运算后能对应多个网络地址,则与前缀最长的网络地址相匹配;如果不对应任何一个网络地址,则从默认接口发出该目的IP地址。(2)一个路由表中的网络地址是可以进行合并的,但是它们所对应的子网掩码和接口必须相同。8、ICMP:互联网控制报文协议(ICMP)的主要功能是进行逐级或路由器间的网络层产错报告与网络探测,ICMP发送的报文可分为差错报告报文和查询报文。9、IPv6地址:IPv6地址长度为128位,采用8组16位冒号分隔的十六进制地址形式表示,例如:5000:0000:00A1:0123:4500:0000:59
47、E6:ABCD;IPv6地址中可能包含连续多组“0000”,例如:8000:0000:0000:0000: 4558:254A:4587:ABCD,可以用两个连续的“:”代替连续多个“0000”,即可压缩表示为8000:4558:254A:4587:ABCD,需要注意的是IPv6地址中最多只能使用一个“:”,而不能出现第二个“:”。IPv6地址包括单播地址、组播地址和任播地址三种类型。(1)单播地址:可作为IPv6数据报的源地址和目的地址;(2)组播地址:只能用作IPv6数据报的目的地址。(3)任播地址:也只能用作IPv6数据报的目的地址。第六节 路由算法与路由协议1、路由选择:可将路由选择算