网络基础教案.doc

上传人:创****公 文档编号:76751139 上传时间:2023-03-12 格式:DOC 页数:25 大小:284.50KB
返回 下载 相关 举报
网络基础教案.doc_第1页
第1页 / 共25页
网络基础教案.doc_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《网络基础教案.doc》由会员分享,可在线阅读,更多相关《网络基础教案.doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第一章 网络基础1.1 概述1.1.1 计算机网络定义和应用计算机网络是计算机技术和通信技术相结合的产物。自从1946年第一台电子计算机ENIVAC问世以来,由于计算机网络技术和软件技术的不断发展,人们使用计算机的方式有了根本的改变,由多人通过终端使用一台计算机到现在一人通过计算机网络使用多台计算机。计算机网络是由多个独立的计算机通过通信线路和通信设备互连起来的系统,以实现彼此交换信息和共享资源的目的。计算机网络具有以下功能:数据通信,网络系统中各相连的计算机能够相互传送数据信息,使相距很远的用户之间能够直接交换数据。资源共享,网络中的软件,硬件资源如外部设备,文件系统和数据等可为多个用户所共

2、享。并行和分布式处理,在计算机网络中用户可根据问题的性质和要求选择网内最合适的资源来处理。对于综合性的大问题,可以采用合适的算法,将任务分散到不同的计算机上进行分布和并行处理。提高可靠性,由于控制、数据、软件和硬件的分散型(不存在集中环节),资源冗余以及结构上可动态重组提高了可靠性。好的可扩充性,随着用户需求的增长,包括性能方面和功能方面的增长,只需增加新节点数,而不必替换整个系统。由于可扩充性,可以避免较大的初始投资,以及用多个微小型机可以代替一个大型主架机,获得很好的性能价格比。计算机的应用领域:随着计算机网络的日益普及,它已经应用在各个领域中,我们在日常生活中常见的采用计算机的服务项目,

3、如银行的提款机,销售点的终端,支票和发票的核实等都依赖于计算机网络。下面是计算机网络应用的一些典型领域:服务业:通过计算机网络系统进行酒店和航空公司的在线订票、订房,远程购物等等。金融服务业:现在的金融服务都依赖于计算机网络,如外汇汇兑和投资服务,电子资金转账服务等。企业管理:通过网络信息系统对企业生产、销售、财务等方面进行管理。制造业:计算机网络在制造业的多个方面包括制造过程本身,都有应用。如计算机辅助设计(CAD)和计算机辅助制造(CAM),这两种业务都允许同时有许多用户在同一个项目上工作。电子消息传递:最广泛的应用如电子邮件。信息服务:如电子公告板和WWW站点。实时信息传递:如音频和视频

4、会议,视频点播,远程教学等。总之,计算机网络的应用已经深入到社会和经济生活的各个方面。随着计算机网络应用的不断推广和普及,网络软件的设计和开发越来越流行,目前绝大多数系统软件(例如:操作系统UNIX、Linux、Windows系列等)和应用软件是网络版的。掌握网络程序设计的原理和方法对于设计和开发网络应用程序是十分重要的。1.1.2 计算机网络组成和结构计算机网络要完成数据处理和数据通信两大功能,同这两大功能对应,它的结构可以分成两大部分:负责数据处理的计算机和终端;负责数据通信的通信控制处理机CPP(Communication Control Processor)、通信线路。计算机网络从逻辑

5、功能上可以分为两个子网:资源子网和通信子网,其结构如图1-1。资源子网由计算机系统、网络终端、外部设备(如打印机等)、各种软件资源与数据资源组成。资源子网负责全网的数据处理业务,向网络用户提供各种网络资源与网络服务。通信子网由网络通信控制处理机(如存储转发处理机、集中器、网络协议变换器、报文分组装配/拆卸设备等),通信线路与其他通信设备组成。通信子网完成全网数据传输、转发等通信处理工作。图1-1 资源子网和通信子网1.2 OSI参考模型1.2.1 网络分层体系结构网络协议。计算机网络由若干个相互连接的节点组成,在这些节点之间要不断地进行数据交换。要进行正确的数据传输,每个节点就必须遵守一些事先

6、约定好的规则,这些规则就是网络协议。网络协议是在主机与主机之间、主机与通信子网之间或子网中各通信节点之间的通信而使用的,是通信双方必须遵守的,事先约定好的规则、标准或约定。一个网络协议主要由以下三个要素组成:(1) 语法。即数据与控制信息的结构或格式。如:数据格式、信号电平等规定。(2) 语义。即需要发出何种控制信息,完成何种动作,以及做出何种应答。包括用于调整和进行差错处理的控制信息。(3) 时序(同步)。即事件实现顺序的详细说明,包括速度匹配和顺序。对于复杂的网络协议,其结构最好是采用层次式的。大体来讲,计算机网络中的协议采用层次结构,分层有以下几个好处:(1) 各层之间是独立的。一个层次

7、并不需要知道它下面的一层是如何实现的,而仅需知道该层通过层间的接口所提供的服务,及调用此服务所需要的格式和参数。(2) 灵活性好。当任何一层发生变化时,只要接口关系保持不变,则其他层次均不受影响。(3) 结构上可分隔开。各层可以采用最合适的技术来实现。(4) 易于实现和维护。这种结构使得一个复杂系统的实现和调试变得简单。因为整个系统已被分解为若干个小的易于处理的部分。(5) 有利于标准化工作。每一层的功能以及向其他层所提供的服务都有了精确的说明。因此对于标准化工作是十分方便的。我们将计算机网络的各个层次及其相关协议的集合,称为网络体系结构。网络体系结构是计算机网络所应完成的功能的精确定义。体系

8、结构与其具体实现是不同的,网络体系结构中的功能无论是用硬件实现,还是用软件实现,则是一个遵循这种体系结构的实现问题。由此可见,网络体系结构是抽象的,是对功能的精确描述。而实现是具体的,是真正运行的硬件和软件。1.2.2 分层的原则和目标分层虽然是一个处理复杂问题的有效方法,但分层本身并不是一项简单的工作。目前还不存在一个最佳的层次划分方法。下面介绍分层的一些主要原则:(1) 当需要有一个不同等级的抽象时,就应当有一个相应的层次;(2) 每层的功能应当是十分明确的;(3) 层与层的边界应当选择合适,使通过这些边界的信息量尽量少些;(4) 层数太少会使每一层的协议太复杂,但层数太多则在描述和综合各

9、层的系统任务时会有较大的困难。现代的计算机网络是围绕着分层协议或分层功能的概念来设计的。这些技术的发展是为了实现如下目标:(1) 把一个复杂的网络合乎逻辑地分为若干个较小的,比较容易理解的部分(层);(2) 在各个网络功能之间提供标准接口,例如软件之间的标准接口;(3) 网络中各节点执行功能的对称性,网络中各个节点的相同层执行相同的功能;(4) 为预测和控制网络逻辑(软件或微码)的修改提供手段;(5) 为网络设计者、开发者讨论网络功能时提供一种标准的语言。世界上第一个网络体系结构是美国IBM公司在1974年提出的,取名为系统网络体系结构(System Network ArchitectureS

10、NA)。凡是遵循SNA标准的设备就称为SNA设备,这些SNA设备可以很方便的进行互连。此后许多计算机公司纷纷建立了自己的网络结构。这些体系结构大同小异,均采用分层技术,但各有特点以适合本公司生产的计算机网络,比较具名的网络体系结构还有:DNA(Digital Network Architecture)DEC公司;BNA(Burroughs Network Architecture)宝莱公司;DSA(Distributed Systems Architecture)Honeywell公司。为了使不同厂家的网络产品能够相互通信,需要制定一个国际通用的标准的网络体系结构。1.2.3 ISO OSI/

11、RM国际标准化组织(International Standards Organization-ISO)经过反复地研究,在已有的网络体系结构(如DNA、SNA等)的基础上,制定了开放系统互连参考模型(Open Systems Interconnection Reference ModelOSI/RM)。供设计、实现和应用各种计算机网络参考。一个系统是开放的,是指它可与世界上任何地方的遵守相同标准的其他任何系统通信。在OSI/RM中采用了如图1-2所示的7个层次的体系结构:图中的各层协议是通信双方在通信过程中的约定,规定有关部件在通信过程中的操作以保证正确地进行通信。各层的主要功能如下:1. 物理

12、层:规定在一个节点内如何把计算机连接到通信介质上,规定了机械的、电气的功能;该层负责建立、保持和拆除物理链路;规定如何在此链路上传送原始比特流;比特如何编码,使用的电平,极性,连接插头插座的插脚如何分配等。所以在物理层数据的传送单位是比特(bit)。2. 数据链路层:它把相邻两个节点间不可靠的物理链路变成可靠的无差错的逻辑链路,包括把原始比特流分帧、排序、设置检错、确认、重发、流控等功能;数据链路层传动信息的单位是帧(frame),每帧包括一定数量的数据和一些必要的控制信息,在每帧的控制信息中,包括同步信息、地址信息、差错控制信息、流量控制信息等;同物理层相似,数据链路层负责建立、维护和释放数

13、据链路。3. 网络层:它连接网络中任何两个计算机节点,从一个节点上接收数据,正确的传送到另一个节点;在网络层,传送的信息单位是分组或包(packet)。网络层的主要任务是要选择合适的路由和交换节点,透明地向目的站交付发送站所发的分组或包,这里的透明表示收发两端好像是直接连通的。另外网络层还要解决网络互连、拥挤控制和记账等问题。上述三层组成了所谓的通信子网,用户计算机连接到此子网上。通信子网负责把一个地方的数据可靠地传送到另一个地方,但并未实现两个地方主机上进程之间的通信。通信子网的主要功能是面向通信的。图1-2 ISO OSI/RM4. 传输层:真正地实现了端端间通信,把数据可靠地从一方的用户

14、进程或程序送到另一方的用户进程或程序。这一层的控制通常由通信两端的计算机完成,中间节点一般不提供这一层的服务,这一层的通信与通信子网无关。从这一层开始的以上各层全部是针对通信的最终的源端目的端计算机的进程之间的。传输层传送的信息单位是报文(message)。传输层向上一层提供一个可靠的端端的服务,使上一层看不见下面几层的通信细节。正因为如此,传输层成为网络体系结构中最关键的一层。对于传输层的功能,主要在主机内实现。而对于物理层、数据链路层以及网络层的功能均在报文接口机中实现。对于传输层以上的各个层次的功能通常在主机中实现。5. 对话层:又称会话层。它允许两个计算机上的用户进程建立对话连接,双方

15、相互确认身份,协商对话连接的细节;它可管理对话是双向同时进行的,还是任何时刻只能一个方向进行。在后一种情况下,对话层控制哪一方有权发送数据;对话层还提供同步机制,在数据流中插入同步点机制,在每次网络出现故障后可以仅重传最近一个同步点以后的数据,而不必从头开始。以上两层为两个计算机上的用户进程或程序之间提供了正确传送数据的手段。6. 表示层:主要解决用户信息的语法表示问题。表示层将数据从适合于某一系统的语法转变为适合于OSI系统内部使用的语法。具体地讲,表示层对传送的用户数据进行翻译或解释、编码和变换,使得不同类型的机器对数据信息的不同表示方法可以相互理解。另外,数据加密、解密、信息压缩等都是本

16、层的典型功能。7. 应用层:应用层确定进程之间通信的性质以满足用户的需要;负责用户信息的语义表示,并在两个通信者之间进行语义匹配。具体地说,应用层处理用户的数据和信息,由用户程序(应用程序)组成,完成用户所希望的实际任务。这一层包括人们普遍需要的协议,例如,虚拟终端协议、文件传送协议、电子邮件等。1.3 通信方式与服务1.3.1 层间通信与对等层间通信1. 层间通信网络中每层使用定义好的协议与它相邻各层通信,图1-3用OSI分层表示两台网络主机之间的连接,每层之间的箭头表示他们之间的通信通道。主机发送的数据从最上层传递到最底层(物理层)。在物理层中,数据通过实际的通信通道水平地传送到目的主机。

17、在目的主机,数据从最底层向上传递到最上层。2. 对等层间通信从概念上讲,当两台主机进行通信时,他们的相应层也进行通信。把网络中不同主机内的相应层称为对等层,对等层之间两个通信的实体称为对等层实体。图1-3中,对等层之间画了一条虚线。3. 实通信和虚通信除物理层之外,对等层之间的通信叫做虚通信,实际上网络中计算机之间的通信只发生在网络的最底层(物理层),只有在那里才存在真正的物理连接。电信号只在物理层才通过通信介质在计算机之间传送。层间以及物理层之间的通信才叫做实通信。从图1-3中可知,发送方的任意一层发送的数据最终要到达目的主机的相应层。网络不直接在对等层之间传输数据。两台主机相应层之间进行虚

18、拟通信时,它们之间好像发生了对话。实际上,它们之间没有真正发生通信。网络设计人员通过使用虚通信,可以忽略通信实体下面的分层细节。图1-3 层间通信与对等层间通信1.3.2 服务和数据单元1. 数据的传输方式数据在网络中各节点内是沿层次传送的。如图1-3所示,数据从发送进程出发,在应用层中加上报头AH后,送到表示层。表示层不能区分AH及其后的数据部分,把这两部分看作一个整体,作为应用层来的数据,简单地加上表示层的报头PH后送到对话层。重复同样的过程,一直传送到物理层。物理层亦不区分来自数据链路层的报文含义,而只简单地看作一系列比特流,然后将其转换成电信号通过介质传送到接收进程所在的节点的物理层。

19、数据链路层与其它层不同的是,在数据链路层不仅要加上报头DH,还要加上报尾DT。接收节点上的数据链路层收到物理层送来的比特流后根据数据链路层协议能识别出报头DH和报文尾DT(但不能识别出此数据部分中网络层报头NH),把DH和DT去掉后将其余的部分传送到网络层。重复此过程,依次通过以后各层次并去掉相应的报头。最后,应用层把发送进程发来的纯数据部分交给接收进程。2. 服务、服务访问点和数据单元ISO OSI/RM的每层为其上面各层提供专门的通信服务。也就是说,每层完成的功能是其上各层工作的基础。除了最底层(物理层)外,上面各层都依赖下一层完成其特定的功能。在ISO OSI/RM中,设物理层为第1层,

20、应用层为第7层,在N层和N+1层的接口处,由N层向N+1层提供服务。这里N层是服务的提供者,而N+1层则是该服务的用户。服务是通过一组服务原语来执行的。层间接口处提供服务的地方称为服务访问点SAP(Service Access Point),每个服务访问点都有一个唯一的标示地址。例如,一个传输层的服务访问点TSAP地址可表示成:。相邻层在提供服务的过程中要传递信息,这些信息的单位在OSI模型中称为服务数据单元(Service Data UnitSDU)。在N层和N-1层间传递的数据单元,记为(N)SDU。SDU在服务访问点处穿过接口时,通常要加上一些辅助信息(比如说服务原语中的某些参数),这些

21、辅助信息在OSI模型中统称为接口控制信息(Interface Control InformationICI)。SDU和ICI一起构成接口数据单元(Interface Data UnitIDU)。IDU在离开接口的SAP时去掉ICI。对等层间交换的信息单位称为协议数据单元(Protocol Data UnitPDU)。N层的PDU由N层的SDU加上该层的协议控制信息(Protocol Control InformationPCI)构成。这里的PCI就是图1-3中各层所加上去的报头。从图1-4中可以看出,(N+1)PDU是通过(N)SDU传递到N层,加上(N) PCI后构成(N)PDU的。看上去似

22、乎(N+1)PDU就等同于(N)SDU,虽然在许多情况下确实如此,但却并不总是这样。有时可以将多个(N+1)PDU拼成一个(N)SDU,称为拼接(Concatenation)。当然,在发送方若进行了拼接,在接受方的对等层就要进行相反的分割(Separation)。另外,一个(N)SDU若太大,也可以分成若干段,分别加上协议控制信息,构成多个(N)PDU。这在发送方称为分段(Segmenting),而接收方则要进行相反的合段(reassembling)。图1-4 各种数据单元的关系1.3.3 服务原语1. 服务原语类型服务原语是引用服务的工具,(N+1)层实体通过使用(N)层的服务原语向(N)层

23、实体要求某个(N)层服务。对一个服务的引用通常是要用多个有关的服务原语来实现。在OSI参考模型中定义了四种类型的服务原语(Service Privities):(1)请求(request)原语,这是由(N+1)层实体向(N)层实体发出的,要求这个(N)层实体向它提供指定的(N)层服务,如进行一次数据传送。(2)指示(indication)原语,这是由(N)层实体向(N+1)层实体发出的,通知这个(N+1)层实体某个特定的(N)层服务已经开始。(3)响应(response)原语,这是由(N+1)层实体向(N)层实体发出的,表示对这个(N)层实体送来的指示原语的响应。(4)证实(confirm)原

24、语,这是由(N)层实体向(N+1)层实体发出的,表示它请求的(N)层服务已经完成。为了方便起见,服务原语所涉及的服务常常就在原语名中反映出来,如传输层中的数据传送原语名为T-DATA,而表示层中的数据传送原语名P-DATA等。2. 服务原语的相互关系按在一次服务调用中服务原语的相互作用关系,可将服务分成两类:证实型服务和非证实型服务。(1)证实型服务。在这种服务中,服务原语的相互作用过程如下:a. 首先由发起这次服务调用的本地(N+1)层实体向本地(N)层实体发出这个(N)层服务的请求原语,本地(N)层实体将这个请求原语送到与其对接的远程(N)层实体。b. 远程(N)层实体将收到的请求原语转变

25、成指示原语并把他交给远程(N+1)层实体。c. 远程(N+1)层实体根据原语及其参数的要求作完相应的动作后,就向它下层的(N)层实体发出一个响应原语以报告有关动作的完成及其结果。该(N)层实体将这个响应原语发回给对应的本地(N)层实体。d. 本地(N)层实体将这个响应原语转变成证实原语后再发给其上层的本地(N+1)层实体,以报告所要求的服务已完成。图1-5表示了证实型服务中服务原语的相互关系。图1-5 证实型服务中服务原语的相互关系(2)非证实型服务。在这种服务中,这种类型服务仅需单向的原语发送,即只需证实型服务过程的前半部分,服务原语的相互作用过程如下:a. 首先由发起这次服务调用的本地(N

26、+1)层实体向本地(N)层实体发出这个(N)层服务的请求原语,本地(N)层实体将这个请求原语送到与其对接的远程(N)层实体。b. 远程(N)层实体将收到的请求原语转变成指示原语并把他交给远程(N+1)层实体。图1-6表示了非证实型服务中服务原语的相互关系。图1-6 非证实型服务中服务原语的相互关系因此,证实型服务需要在对等实体间进行一次交互,按顺序使用请求、指示、响应和证实这四种原语,需要对等实体间来回通信一次;而使用非证实型服务,对等实体之间之作一次单向通信。3. 服务原语的组成一个完整的服务原语由三部分组成:原语名字、原语类型和原语参数。原语名字指出是哪一层提供的何种服务。例如,当传输层的

27、用户(即对话实体)要利用传输服务建立传输连接时,它使用请求建立连接的服务原语T-CONNECT.request,其中T是传输层的缩写名。在OSI定义了四中原语类型。原语参数是在标准中预先定义好的,例如,目的地址、源地址、类型及服务质量等。1.3.4 面向连接的和无连接的服务从通信的角度来看,在OSI参考模型中,下层能向上层提供两种不同形式的服务:面向连接的服务和面向无连接的服务。1. 面向连接的服务所谓连接,就是两个对等实体为进行数据通信而进行的一种结合。面向连接服务在进行数据交换前,先建立连接。当数据传输结束后,应释放这个连接。因此,采用面向连接的服务进行数据传送要经历三个阶段:(1) 建立

28、连接阶段:在有关的服务原语以及协议数据单元中,必须给出源用户和目的用户的完整地址。同时可以协商服务质量和其他一些选项。(2) 数据交换阶段:在这个阶段,每个报文中不必包含完整的源用户和目的用户的完整地址,而是使用一个连接标识符来代替。由于连接标识符相对于地址信息要短得多,因此使控制信息在报文中所占的比重相对减小,从而可减小系统的额外开销,提高信道的利用率。另外,报文的发送和接收都是按固定顺序的,即发送方先发送的报文,在接受方先收到。(3) 释放连接阶段:通过相应的服务原语完成释放操作。从面向连接服务的三个阶段来看,连接就像一个管道,发送者在其一端依次发送报文,接受者依次在其另一端按同样的顺序接

29、收报文。这种连接又称虚拟电路。它可以避免报文的丢失、重复和乱序。若两个用户经常需要通信,则可以建立永久虚电路。这样可以免除每次通信时建立连接和释放连接着两个阶段。这点与电话网中的专线很相似。2. 面向无连接的服务在无连接服务的情况下,两个实体之间的通信不必事先建立一个连接。相对于面向连接的服务,无连接服务灵活方便且快速。但它不能防止报文的丢失、重复和乱序。由于它的每个报文必须包括完整的源地址和目的地址,因此开销较大。面向无连接服务主要有三种类型:(1) 数据报:它的特点是发完报文就结束,而对方不做任何响应。数据报的服务简单,额外开销少,但可靠性差,它比较适合于数据具有很大的冗余度以及要求有较高

30、的实时性的通信场合。(2) 证实交付:又称可靠的数据报。这种服务对每一个报文产生一个证实给发送方,不过这种证实不是来自对应方用户,而是来自提供服务的层。这种证实只能保证报文已经发给目的站了,而不能保证对应方用户正确地收到报文。(3) 请求回答:这种类型服务是接收端用户每收到一个报文,即向发送端用户发送一个应答报文。但是双方发送的报文都有可能丢失。如果接收端发现报文有错误,则回送一个表示有错误的报文。在OSI模型中提供了两种通信服务方式,究竟选择哪种服务方式进行通信主要看使用的要求。数据报是比较基本的服务方式,若报文到达的次序无关紧要时可使用该方式。而面向连接的服务方式主要应用在可靠性要求较高的

31、场合。关于面向连接服务和面向无连接服务的主要差别见表1-1。表1-1 面向连接和无连接服务的主要差别项目面向连接面向无连接初始化设置,状态保持需要不需要目的地址仅在建立连接时需要每个包均需要包的顺序传送保证不保证差错控制提供不提供流量控制提供不提供任选项协商提供不提供连接标识符使用不使用路由选择仅在建立连接时需要每个包均需要节点失效的影响严重不严重网内负载平衡不支持支持数据速率低高1.4 传输层原理1.4.1 传输层概述传输层又称运输层。在ISO/OSI参考模型中,传输层正好处于通信子网和资源子网之间,是整个协议层次中最核心的一层。它的作用是在优化网络服务的基础上,为源主机上的进程和目的主机上

32、的进程之间提供可靠的透明数据传送,使高层用户在相互通信时不必关心通信子网实现的细节。若从面向通信和面向数据处理来划分,传输层属于面向通信的低层中的最高层。但从用户功能和网络功能来划分,则传输层属于用户功能的高层中的最底层。这里应该注意,传输层不属于通信子网的范畴,它存在通信子网以外的主机中。上述关系如图1-7,因此,有人把传输层称为中间层。图1-7 传输层与通信子网和资源子网的关系常常会有多个程序同时在一台计算机上运行,因此,信源到信宿的传递就意味着不仅是从一台计算机传递到另一台计算机,而且是从一台计算机上的一个特定程序传递到另一台计算机上的一个特定程序。因此,传输层消息报文头就必须包含一种叫

33、做服务点的地址(也叫做端口地址)。网络层将每个包送到指定的计算机上,而传输层则将整个消息(报文)传送给该计算机上的指定程序。传输层的消息报文头还包括顺序号,或称分段号、编号。当传输层从上层获得将要传输的报文时,它将其分成可以传输的片段。为了便于这些片段在接受方重新组装成完整的报文,在报文头中有指明片段在整个报文中的顺序的序号。传输层可以在两个传输端点之间建立一个连接,建立一条连接有三个步骤:连接建立,数据传输,连接释放。通过建立连接,传输层可以对顺序、流量、错误检测和恢复有更多的控制机制。总之,传输层的具体功能包括:l 端到端的报文传递。在传输终点需要监管一个报文中的所有数据包的传输和到达。l

34、 服务点的寻址。在一台运行多道程序的计算机上,保证报文被传输到正确的程序。l 拆分和组装。将报文分解成可传输的片段,并且给这些片段编上序号。这些序号不仅使传输层可以在接收端将报文正确地重组,而且可以用来标示和替换传输中丢失的包。l 连接控制。决定是否通过一条单独路经来传输所有的包。传输层服务是有两个传输实体之间使用传输层协议来实现的。传输层的工作原理类似于数据链路层。然而,数据链路层是设计来在单个网络中传输数据的,而传输层是在跨越许多网络的互连网络上提供数据传输服务的。数据链路层控制物理层,而传输层控制所有三个低层。1.4.2传输层地址在ISO/OSI模型中,传输层和会话层的功能交互作用。但是

35、,许多协议(或协议栈,即不同层次上交互作用的协议组)将会话层,表示层和应用层协议结合成单个软件包,称为应用程序。因此,通信不仅仅是发生在从源计算机到目的计算机,而且是从端应用程序到端应用程序。由一台计算机上的应用程序所产生的数据不仅必须被另外一台计算机所接收,而且必须被这台计算机上正确的应用程序所接收。在大多数情况下,通信是在两个传输服务点(TSAP)之间进行的。图1-8表示了两个应用程序通过传输服务点进行通信。图1-8 应用程序使用传输服务点通信为了保证从传输服务点到传输服务点的正确传送,我们需要在数据链路层和网络层之外的另一种地址方式。传输层的地址就是传输服务点的地址,传输服务点的地址称为

36、端口号。数据链路层需要知道在一个网络中的那两台计算机在相互通信。网络层协议需要知道在一个互连网络中的那两台计算机在相互通信。而在传输层,协议需要知道的是哪个程序正在进行通信。当一个应用程序想同一个远程应用程序通信时,它必须知道两个地址,一个是TSAP地址,另一个是NSAP(网络服务访问点)地址。例如在TCP/IP网络中,一个程序同另一个远程程序通信时,它必须知道远程程序的端口号,还必须知道远程程序所在主机的IP地址。1.4.3 传输层复用功能为了提高传输效率,传输层常提供复用的功能。传输层的复用分为两个方面:向上复用和向下复用。向上复用意味着多个传输层连接使用同一个网络层连接;而向下复用意味着

37、一个传输层连接使用多个网络层连接。1向上复用如果传输层使用基于下三层服务的虚电路,通常,下面的网络为每个虚电路收费。为了使一条建立的电路具有最高的成本效率,传输层可以通过复用绑定若干个沿同一路经到同一目标站点的传输。如图1-9a所示。图1-9 传输层复用2向下复用向下复用允许传输层将单个传输分散到不同的路径中来提高传输速度。这个功能在下层网络的能力很低或速度很慢时是非常有用的。例如,一些网络协议对它所能处理的包序号的大小有限制。X.25使用3比特的编码,因此序列号限制在07的范围内,在必须收到确认之前只有8个包可以发送,在这种情况下,效率很低。为了解决这个问题,传输层可以选择在网络层使用多于一

38、条的虚电路来提高效率。通过同时发送多个段,传输速率可以变得更快。图1-9b是向下复用的情况。1.4.4 可靠传输在传输层,可靠传输包括四个方面:差错控制、序列控制、丢失控制和重复控制。1差错控制在传输数据时,可靠性的主要目标是差错控制。在这一层中,差错处理的机制是基于差错检测和重传的。差错处理通常是使用软件实现的,通常采用检查和算法来实现。既然我们在数据链路层已经有了差错处理,为什么在传输层还需要差错处理呢?这是因为,数据链路层的功能保证每条链路中节点到节点的无差错传输。然而节点到节点的可靠性并不保证端到端的可靠性。图1-10显示了一种差错出现的情况,在这种情况下,差错不能被数据链路层差错处理

39、所发现。数据链路层保证在每个网络之间所传输的包是无差错的。但是当包在路由器内部处理时,可能引入差错。这个差错将不会被下一个链路中的数据链路功能所发觉,这时因为数据链路功能仅仅检查在链路起始和终止之间是否有差错被引入。传输层因此必须进行自己的端到端检查,以保证包可以正确地到达。图1-10 数据链路层和传输层的差错处理范围2次序控制在传输层所实现的可靠性传输的第二个方面是次序控制。在发送方,传输层负责从上层所接收到的数据单元可以被下层所使用。在接收方,传输层则负责保证一次传输的不同片段将按照所期待的顺序到达目的地。l 分段和连接。当从上层所接收到的数据单元对于网络层数据报或数据链路层的帧来说太大时

40、,传输层实体将会把它分割成更小的,下层可处理的块。划分的过程被称为分段。在另一方面,当属于一个会话的数据单元太小,以至于可以把多个这样的数据单元放到单个数据报或数据帧中时,传输层协议将会把它们结合到单个数据报或数据帧中。这个过程称为连接。l 序列编号。大多数传输层服务在每个段的结尾增加一个序列编号。如果一个大的数据单元被分段,这个编号将指明重新组合的顺序。如果多个小单元被连接,这个编号则指明了每个子单元的结尾,同时使它们能够在接收端被正确地分割。另外,每个段有一个域指明该段是一次传输的最后段还是有后续需要传输的中间段。图1-11表示了在发送端分段,而在接收端组合的情况。图1-12表示了在发送端

41、连接,而在接收端分割的情况。在图1-11中,从上层来的数据含有传输服务点(端口)地址j和k,其中j是发送端应用程序的端口地址,而k是接收端应用程序的端口地址。因为整个数据的大小超过了网络处理的最大单元,发送方传输层必须将数据进行分段,它将数据分成了两段,分别标为序号1和序号2,分两个包进行传送,每个包还保持原有的传输服务点地址。这两个包分别送到网络层,在网络层被加上网络地址A和P。数据包可能经过不同的路径以任意顺序出现在接收端。当这两个包被送到目的端的传输层后,接收端的传输层根据这两个包的序号组合成一个完整的数据单元,并将这个数据单元传递给上层。在图1-12中,发送方的传输层从上层获得两个数据

42、单元,由于这两个数据单元太小,传输层将这两个数据单元进行连接,将它们放到一个数据包中进行传送。在接收方,传输层从网络层中获得这样的数据包时,将它分割成两个数据单元传送给它的上层。从发送方和接收方的观点来看,传送片段按照什么样的的顺序传输是无关紧要的,重要的是在目的地,它们必须能够被正确的重组。图1-11 分段和组合图1-12 连接和分割3丢失控制可靠性传输的第三个方面是丢失控制。传输层确保所有的一次传输的所有片段都会到达目的地,而不是只有其中一些可以到达目的地。当数据被分段传输时,一些段可能在传输中丢失了,序列编号使接收方的传输层协议可以识别出丢失的段,并要求重传。4重复控制传输层可靠性传输的

43、第四个方面是重复控制。传输层的功能必须保证没用一个数据片段会重复到达上层。正如允许识别丢失的包一样,序列编号使接收方可以识别并丢弃重复的段。1.4.5 传输层流量控制和数据链路层一样,传输层也负责流量控制。但是,传输层中的流量控制是作用在端到端上的,而不是作用在单条链路上的。传输层流量控制也使用滑动窗口协议,但是传输层中的窗口在大小上是可以变化的,以适应可使用的缓冲区的变化情况。传输连接是建立在网络连接的基础上,网络连接是建立在虚电路的概念上,主机与主机之间的通信所需的传输层连接个数远比链路数目多得多。例如某主机最多可建立128个传输连接,如果采用类似于数据链路层中的帧接收协议。如果报文顺序号

44、的位数为n,通信双方各需22n个缓冲区,一半用于发送窗口,一半用于接收窗口。在全双工工作的情况下,若选n=3,每个连接需16个缓冲区,8个用于发送窗口,8个用于接收窗口。每个主机就需要12816=2048个缓冲区,显然每个主机是难于提供这么多缓冲区的。另一方面,一个主机同时建立那么多传输连接的可能性很小,这就使得固定滑动窗口大小对于传输层协议来说效率很低。使用动态大小窗口时,传输层协议根据传输数据的需要向主机申请缓冲区,接收方在应答报文中,一方面指出了已经正确接收的报文序号,另一方面指出已申请到的缓冲区数目。当接收方缓冲区用完时,数据传输暂停,等待新的缓冲分配应答后再继续传送。由于窗口大小是可

45、以变化的,窗口实际可以容纳的数据数量是可以协商的。在大多数情况下,窗口大小的控制是接收方的责任。接收方在应答包中可以指明窗口的大小是能够增加的(也可以指明要减小,但是多数协议不允许减小)。在大多数情况下,传输层的滑动窗口是基于接收方所能容纳的字节数,而不是帧数的。图1-13 传输层滑动窗口为了适应窗口大小上的变化,传输层滑动窗口使用三个指针来识别缓冲区(如图1-13)。当发送方收到应答包时,表示窗口左边界的指针向右移动。当数据发送的时候,窗口中间的指针向右移动。窗口右边的指针可以向左或向右移动来改变窗口的大小。如果收到应答包,而没有要求改变窗口的大小,则窗口右边的指针向右移动,以保持窗口的大小

46、不变,因为这时窗口左边的指针右移了。例如,如果5个字节被确认了,同时窗口的大小没有被要求改变,这时,窗口左边的指针右移5个字节,缩小了窗口,因此,窗口右边的指针必须向右移动5个字节以保持窗口大小的不变。如果5个字节被确认,而接收方将窗口大小扩大了10个字节,这时窗口右边的指针必须向右移动15个字节来适应新的大小。图1-14是使用可变大小的滑动窗口进行流量控制的一个例子。尽管传输层的滑动窗口的大小是以字节为单位的,但为了叙述的简单,在这个例子中窗口的大小仍然以包为单位。图1-14 传输层的流量控制(1)步,A请求B分配缓冲区,请求分配8个缓冲区。(2)步,B仅仅申请到4个缓冲区,在应答报文中指出

47、(buf.4)。(3)、(4)和(5)步,发送方连续发送了序列号为0、1、2报文,其中,2号报文丢失。(6)步,接收方发出应答,说明2号报文以前的报文已经正确收到,现在的缓冲区还有3个,也就是说,还有存放2、3、4号报文的缓冲区。(7)、(8)步,接收方收到应答,接着发送3、4号报文,至此不能再发送了。(9)步,发送方在规定的时间内未收到对2号报文的应答,2号报文重发。(10)步,接收方发送应答,说明5号报文以前的报文已经正确收到,现在没有缓冲区。发送方收到这样的应答后,不能继续发送报文。(11)步,接收方发送应答,说明5号报文以前的报文已经正确收到,现有1个缓冲区。(12)步,接收方发送应答,说明5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 事务文书

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁