计算机网络系统结构制作:陈学明计算机网络系统所具有的共性 1、保证存在一条有效的传输路径;进行数据链路控制、误码检测、数据重发,以保证实现数据无误码的传输;2、实现有效的寻址和路径选择,保证数据准确无误的达到目的地;3、进行同步控制,保证通信双方传输速率的匹配;对报文进行有效的分组和组合,适应缓冲容量,保证数据传输质量;4、进行网络用户对话管理和实现不同编码、不同控制方式的协议转换,保证各终端用户进行数据识别OSI开放系统参考模型 开放是指系统是按OSI标准建立的,能与其他也按OSI标准建立的系统相互连接计算机网络体系结构的形成 相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的分层”可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理划分层次的概念举例 计算机 1 向计算机 2 通过网络发送文件可以将要做的工作进行如下的划分第一类工作与传送文件直接有关确信对方已做好接收和存储文件的准备双方协调好一致的文件格式两个计算机将文件传送模块作为最高的一层剩下的工作由下面的模块负责两个计算机交换文件 文件传送模块计算机 1计算机 2文件传送模块只看这两个文件传送模块好像文件及文件传送命令是按照水平方向的虚线传送的把文件交给下层模块进行发送把收到的文件交给上层模块再设计一个通信服务模块 文件传送模块计算机 1计算机 2文件传送模块只看这两个通信服务模块好像可直接把文件可靠地传送到对方把文件交给下层模块进行发送把收到的文件交给上层模块通信服务模块通信服务模块再设计一个网络接入模块 文件传送模块计算机 1计算机 2文件传送模块通信服务模块通信服务模块网络接入模块网络接入模块通信网络网络接口网络接口网络接入模块负责做与网络接口细节有关的工作例如,规定传输的帧格式,帧的最大长度等。
分层的好处 各层之间是独立的灵活性好结构上可分割开易于实现和维护能促进标准化工作层数多少要适当 若层数太少,就会使每一层的协议太复杂层数太多又会在描述和综合各层功能的系统工程任务时遇到较多的困难定义和划分层次的原则 划分层次要根据理论上需要的不同等级划分 层次的划分要便于标准化 各层内的功能要尽可能的具有相对独立性 相类似的功能应尽可能放在同一层内 各层的划分要便于层与层之间的衔接 各界面的交互要尽量的少 根据需要,在同一层内可以再形成若干个子层次 扩充某一层次的功能或协议,不能影响整体模型的主体结构OSI 与 TCP/IP体系结构 应用层运输层网络层表示层会话层数据链路层物理层7654321OSI 的体系结构应用层网络接口层网际层 IP(各种应用层协议如TELNET,FTP,SMTP 等)运输层(TCP 或 UDP)TCP/IP 的体系结构无连接分组交付服务运输服务(可靠或不可靠)各种应用服务TCP/IP 的三个服务层次五层协议的体系结构 TCP/IP 是四层的体系结构:应用层、运输层、网际层和网络接口层最下面的网络接口层并没有具体内容因此往往采取折中的办法,即综合 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构。
五层协议的体系结构 应用层(application layer)运输层(transport layer)网络层(network layer)数据链路层(data link layer)物理层(physical layer)数据链路层5 应用层4 运输层3 网络层2 数据链路层1 物理层计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2应用进程数据先传送到应用层加上应用层首部,成为应用层 PDU计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2应用层 PDU 再传送到运输层加上运输层首部,成为运输层报文计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2运输层报文再传送到网络层加上网络层首部,成为 IP 数据报(或分组)计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2IP 数据报再传送到数据链路层加上链路层首部和尾部,成为数据链路层帧计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2数据链路层帧再传送到物理层最下面的物理层把比特流传送到物理媒体计算机 1 向计算机 2 发送数据 应用层(application layer)5432154321物理传输媒体计算机 1AP2AP1电信号(或光信号)在物理媒体中传播从发送端物理层传送到接收端物理层计算机 2计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2物理层接收到比特流,上交给数据链路层计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2数据链路层剥去帧首部和帧尾部取出数据部分,上交给网络层计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2网络层剥去首部,取出数据部分上交给运输层计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2运输层剥去首部,取出数据部分上交给应用层计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2应用层剥去首部,取出应用程序数据上交给应用进程计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2我收到了 AP1 发来的应用程序数据!计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2应 用 程 序 数 据应用层首部H510100110100101 比 特 流 110101110101注意观察加入或剥去首部(尾部)的层次应 用 程 序 数 据H5应 用 程 序 数 据H4H5应 用 程 序 数 据H3H4H5应 用 程 序 数 据H4运输层首部H3网络层首部H2链路层首部T2链路层尾部计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 210100110100101 比 特 流 110101110101计算机 2 的物理层收到比特流后交给数据链路层H2T2H3H4H5应 用 程 序 数 据H3H4H5应 用 程 序 数 据计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2数据链路层剥去帧首部和帧尾部后把帧的数据部分交给网络层H2T2H3H4H5应 用 程 序 数 据H4H5应 用 程 序 数 据H3H4H5应 用 程 序 数 据计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2网络层剥去分组首部后把分组的数据部分交给运输层H5应 用 程 序 数 据H4H5应 用 程 序 数 据计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2运输层剥去报文首部后把报文的数据部分交给应用层应 用 程 序 数 据H5应 用 程 序 数 据计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2应用层剥去应用层 PDU 首部后把应用程序数据交给应用进程计算机 1 向计算机 2 发送数据 5432154321计算机 1AP2AP1计算机 2我收到了 AP1 发来的应用程序数据!5432154321H3物 理 传 输 媒 体数 据 部 分数 据 部 分数 据 部 分数 据 部 分10100110100101 比 特 流 11 010111010T2计算机 1 1H5H4H2首部尾部AP2AP1应 用 程 序 数 据计算机 2 2比特帧IP数据报IP分组TCP报文段UDP报文段实体、协议、服务 实体(entity)表示任何可发送或接收信息的硬件或软件进程。
协议是控制两个对等实体进行通信的规则的集合在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务要实现本层协议,还需要使用下层所提供的服务实体、协议、服务 本层的服务用户只能看见服务而无法看见下面的协议下面的协议对上面的服务用户是透明的协议是“水平的”,即协议是控制对等实体之间通信的规则服务是“垂直的”,即服务是由下层向上层通过层间接口提供的同一系统相邻两层的实体进行交互的地方,称为服务访问点 SAP(Service Access Point)实体、协议、服务协 议交换原语交换原语服 务 用 户提 供 服 务服 务 提 供 者第 n 层第 n+1 层服 务 用 户SAPSAP3.2.1 物理层的概念 物理层是OSI分层结构体系中最重要最基础的一层它是建立在通信媒体基础上的,实现设备之间的物理接口物理层不是指连接计算机的具体的物理设备或具体的传媒体,而是指在物理媒体之上的为上一层(数据链路层)提供一个传输原始比特流的物理连接物理层定义 在物理信道实体之间合理地通过中间系统,为比特传输所需的物理连接的激活,保持和去活提供机械的、电气的、功能特性和规程特性的手段3.2.2 物理层需要解决的问题和功能 物理层要解决的一系列问题 实现位操作 数据信号的传输 接口设计 信号传输规程物理层的主要功能 一、实现发送端和接收端之间的信号同步。
二、为数据链路层提供物理连接,实现比特流的透明传输所传输数据的单位是比特.DTE数据终端设备 DTE产生的是数字信号,接收的也是数字信号DCE数据线路端接设备 DCE为DTE提供了入网的连接点,通常被认为是通信子网中的设备DTE 和 DCEDTE 通过 DCE 与通信传输线路相连 DTEDCEDCE串行比特传输信号线与控制线用户环境通信环境用户设施通信设施DTE信号线与控制线用户设施用户环境物理层协议的功能主要是:为了在DTE DCE或DCE DCE之间把数据信号由一方经过传输媒体传到另一方3.2.3 物理层的标准 物理层是分层体系结构的最低层,是所有高层协议的基础ISO、CCITT、IEEE、EIA等均为物理层制订了相应的标准和建议3.2.4 物理层的特性 机械特性 电气特性 功能特性 规程特性机械特性 机械特性是指实体间硬件连接接口的特性,它主要考虑如下几个方面内容:接口的形状、大小接口引脚的个数、功能、规格,引脚的分布相应通信媒体的参数和特性电气特性电气特性主要处理如下几个问题:信号产生 传输速率 信号传输 编码 功能特性 功能特性主要反映接口电路的功能,即物理接口各条信号线的用途。
功能特性的标准主要由CCITT规定功能特性标准主要包括接口线功能规定方法和接口线功能分类两方面的内容1)接口线功能规定方法 接口线功能规定方法有每条接口线有一个功能和每条接口线有多个功能两种规定2)接口线功能分类 接口线功能一般分四类:数据、控制、定时和接地规程特性 规程特性反映了利用接口进行传输位流的全过程及事件发生的可能顺序,它涉及到信号传输方式接口:接口与传输过程及传输过程中各事件执行的顺序有紧密的联系传输方式:可选择的传输方式有单工,单双工,全双工传输过程及事件发生执行的先后顺序几种常用的物理层标准 EIA RS 232-C接口标准 EIA RS-449接口标准 CCITT的DTEDCE接口标准 目的:目的:把传输介质的不可靠因素屏蔽起来,通过数据链路层协议的作用,在不可靠的物理线路上进行可靠的数据传输功能:功能:在物理层服务基础上,加上本层功能,向网络层提供服务数据链路层链路层相关概念 链路是数据传输中任何两个相临节点间的点到点的物理线路段,链路间没有任何其他节点存在,网络中的链路是一个很基本的通信单元数据链路是一个数据管道,在这个管道上面可以进行数据通信,因此,数据链路除了必须具有一物理线路外,还必须有一些必要的规程用以控制数据的传输。
把用来实现控制数据传输规程的硬件和软件加到链路上,就构成了数据链路帧与报文 帧与报文都是信息传送的基本单位对用户而言,数据传输的内容是报文,它是由一定位数的二进制代码按一定规则编制而成的数据信息帧是发送方与接收方之间通过链路传送的一个完整的消息组的信息单位通信中,一个报文需要几帧进行传输取决于帧的大小和报文的大小报文格式与帧格式 报文与帧之间的转换关系 信息数据单元在层间的结构变化 协议数据单元 协议数据单元PDU(Protocol Data Unit)是在不同站点的各层对等实体之间,实现该层协议所交换的信息单位协议数据单元由用户数据和协议控制信息两部分组成接口数据单元与服务数据单元 (N)PDU与接口控制信息(N)ICI组成接口数据单元(N)IDU(Interface Data Unit)N)ICI用以控制、协调(N)层实体和(N-1)层实体的操作,(N-1)层实体对(N)IDU中的(N)ICI 进行解释并执行相应的操作 从(N)IDU中提取(N)PDU后形成(N-1)层服务数据单元(N-1)SDUN-1)SDU是发送给对方(N-1)实体的数据信息单位数据链路层的功能 实现系统实体间二进制信息块的正确传输,通过进行必要的同步控制、差错控制、流量控制,为网路层提供可靠、无错误的数据信息。
帧同步是指收方应当从收到的比特流中准确地区分帧的起始与终止链路管理就是对数据链路层连接的建立、维持和释放的操作差错控制 在链路传输帧过程中,由于种种原因不可避免的会出现到达帧为错误帧或帧丢失的情况流量控制 在数据传输过程中,如果对信息流量控制不好就会产生严重的过载和死锁情况,造成数据传输不能正常进行透明传输 在数据链路层中,对所传输的数据无论它们是由什么样的比特组合起来的,在数据链路上都应该能够传输,这就是透明传输识别数据和控制信息 寻址 在多点连接进行数据传输时,要保证每一帧被送到正确的地方,接收方要能够知道谁是发送方,这就需要具有寻址功能通信控制规程 通信控制规程又称传输控制规程它是为实现传输控制所制定的一些规格和顺序数据通信过程包括五个阶段:线路连接、确定发送关系、数据传输、传输结束、拆线每个阶段中都有一定的规定,完成特定的任务在通信控制规程中涉及到数据编码、同步方式、传输控制字符、报文格式、差错控制、应答方式、传输控制步骤、通信方式和传输速率等内容帧定界与同步 数据链路层帧由若干字段构成,各字段之间如何标识和分界,这就是定界问题同步是如何使收发双方取得一致,即如何确定一帧的开始和结束,以保证接收不产生帧定界错误。
数据链路层必须把物理层传送来的比特流组合成帧,其目的是为了利于差错控制当传输出错时,只须将有错的帧重传,不必重发送全部数据字节计数法 用一个特殊字符表示一帧的开始,再用一个字段标明本帧的字节数目的节点数据链路层读该帧的字节计数值,就可以确定帧的结束位置面向字节计数的同步规程采用的这种方法字符填充法 用特定字符定界一帧的开始和结束当帧的数据字段出现同类字符时,就在其前面填加一个转义字符DLE加以区分面向字符的同步规程采用的这种方法比特填充法 用一个标志字段(例如01111110)放在一帧的首和尾,标志一帧的开头和结束采用比特填充的方法避免信息字段中出现相同模式的字段面向比特的高级数据链路控制规程就是采用的这种方法违例编码法 用非法编码序列作为帧的开头和结束标志例如,数据采用曼彻斯特编码,而在帧的开头和结束处采用位中间没有跳变的编码方式,使开头和结束字段与数据字段编码方式不同,从而可以确定帧的边界完全理想化的数据传输所基于的两个假定 假定 1:链路是理想的传输信道,所传送的任何数据既不会出差错也不会丢失假定 2:不管发方以多快的速率发送数据,收方总是来得及收下,并及时上交主机这个假定就相当于认为:接收端向主机交付数据的速率永远不会低于发送端发送数据的速率。
具有最简单流量控制的数据链路层协议 现在去掉上述的第二个假定但是,仍然保留第一个假定,即主机 A 向主机 B传输数据的信道仍然是无差错的理想信道然而现在不能保证接收端向主机交付数据的速率永远不低于发送端发送数据的速率由收方控制发方的数据流,乃是计算机网络中流量控制的一个基本方法两种情况的对比(传输均无差错)ABDATADATADATADATA送主机 B送主机 B送主机 B送主机 BABDATA送主机 BDATA送主机 B时间不需要流量控制需要流量控制实用的停止等待协议时间ABDATA0送主机ACKDATA1送主机ACK(a)正常情况ABDATA0DATA0送主机ACK(c)数据帧丢失重传tout丢失!ABDATA0送主机ACKDATA0丢弃ACK(d)确认帧丢失重传tout丢失!ABDATA0NAKDATA0送主机ACK(b)数据帧出错重传出错四种情况停止等待协议的算法 这里不使用否认帧(实用的数据链路层协议大都是这样的),而且确认帧带有序号 n按照习惯的表示法,ACKn 表示“第 n 1 号帧已经收到,现在期望接收第 n 号帧”ACK1 表示“0 号帧已收到,现在期望接收的下一帧是 1 号帧”;ACK0 表示“1 号帧已收到,现在期望接收的下一帧是 0 号帧”。
停止等待协议中数据帧和确认帧的发送时间关系 ABDATADATAACK传播时延 tp处理时间 tpr确认帧发送时间 ta传播时延 tp处理时间 tprtT时间两个成功发送的数据帧之间的最小时间间隔数据帧的发送时间tf设置的重传时间tout停止等待协议 ARQ 的优缺点 优点:比较简单缺点:通信信道的利用率不高,也就是说,信道还远远没有被数据比特填满为了克服这一缺点,就产生了另外两种协议,即连续 ARQ 和选择重传 ARQ这将在后面进一步讨论需要注意:(1)接收端只按序接收数据帧虽然在有差错的 2号帧之后接着又收到了正确的 3 个数据帧,但接收端都必须将这些帧丢弃,因为在这些帧前面有一个 2 号帧还没有收到虽然丢弃了这些不按序的无差错帧,但应重复发送已发送过的最后一个确认帧(防止确认帧丢失)2)ACK1 表示确认 0 号帧 DATA0,并期望下次收到 1 号帧;ACK2 表示确认 1 号帧 DATA1,并期望下次收到 2 号帧依此类推需要注意:(3)结点 A 在每发送完一个数据帧时都要设置该帧的超时计时器如果在所设置的超时时间内收到确认帧,就立即将超时计时器清零但若在所设置的超时时间到了而未收到确认帧,就要重传相应的数据帧(仍需重新设置超时计时器)。
在等不到 2 号帧的确认而重传 2 号数据帧时,虽然结点 A 已经发完了 5 号帧,但仍必须向回走,将 2号帧及其以后的各帧全部进行重传连续 ARQ 又称为Go-back-N ARQ,意思是当出现差错必须重传时,要向回走 N 个帧,然后再开始重传需要注意:(4)以上讲述的仅仅是连续 ARQ 协议的工作原理协议在具体实现时还有许多的细节例如,用一个计时器就可实现相当于 N 个独立的超时计时器的功能滑动窗口的概念 发送端和接收端分别设定发送窗口和接收窗口发送窗口用来对发送端进行流量控制发送窗口的大小 WT 代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧01234567012发送窗口WT不允许发送这些帧允许发送 5 个帧(a)01234567012不允许发送这些帧还允许发送 4 个帧WT已发送(b)01234567012不允许发送这些帧WT已发送(c)01234567012不允许发送这些帧还允许发送 3 个帧WT已发送 已发送并已收到确认(d)接收端设置接收窗口 在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下若接收到的数据帧落在接收窗口之外,则一律将其丢弃。
在连续 ARQ 协议中,接收窗口的大小 WR=1只有当收到的帧的序号与接收窗口一致时才能接收该帧否则,就丢弃它每收到一个序号正确的帧,接收窗口就向前(即向右方)滑动一个帧的位置同时发送对该帧的确认不允许接收这些帧01234567012WR准备接收 0 号帧(a)不允许接收这些帧01234567012WR准备接收 1 号帧已收到(b)不允许接收这些帧01234567012WR准备接收 4 号帧已收到(c)滑动窗口的重要特性 只有在接收窗口向前滑动时(与此同时也发送了确认),发送窗口才有可能向前滑动收发两端的窗口按照以上规律不断地向前滑动,因此这种协议又称为滑动窗口协议当发送窗口和接收窗口的大小都等于 1时,就是停止等待协议发送窗口的最大值 当用 n 个比特进行编号时,若接收窗口的大小为 1,则只有在发送窗口的大小 WT 2n 1时,连续 ARQ 协议才能正确运行例如,当采用 3 bit 编码时,发送窗口的最大值是 7 而不是 8信道利用率 由于每个数据帧都必须包括一定的控制信息(如帧的序号、地址、同步信息以及其他的一些控制信息),所以即使连续不停地发送数据帧,信道利用率(即扣除全部的控制信息后的数据率与信道容量之比)也不可能达到 100%。
当出现差错时(这是不可避免的),数据帧的不断重传将进一步使信道利用率降低最佳帧长 若数据帧的帧长取得很短,那么控制信息在每一帧中所占的比例就增大,因而额外开销增大,这就导致信道利用率的下降若帧长取得太长,则数据帧在传输过程中出错的概率就增大,于是重传次数将增大,这也会使信道利用率下降由此可见,存在一个最佳帧长,在此帧长下信道的利用率最高选择重传 ARQ 协议 可加大接收窗口,先收下发送序号不连续但仍处在接收窗口中的那些数据帧等到所缺序号的数据帧收到后再一并送交主机选择重传 ARQ 协议可避免重复传送那些本来已经正确到达接收端的数据帧但我们付出的代价是在接收端要设置具有相当容量的缓存空间对于选择重传 ARQ 协议,若用 n 比特进行编号,则接收窗口的最大值受下式的约束WR 2n/2面向比特的链路控制规程 HDLC 1974年,IBM 公司推出了面向比特的规程SDLC(Synchronous Data Link Control)后来 ISO 把 SDLC 修改后称为 HDLC(High-level Data Link Control),译为高级数据链路控制,作为国际标准ISO 3309CCITT 则将 HDLC 再修改后称为链路接入规程 LAP(Link Access Procedure)。
不久,HDLC 的新版本又把 LAP 修改为 LAPB,“B”表示平衡型(Balanced),所以 LAPB 叫做链路接入规程(平衡型)HDLC 的帧结构 标志字段 F(Flag)为 6 个连续 1 加上两边各一个 0 共 8 bit在接收端只要找到标志字段就可确定一个帧的位置比特888可变168信息 Info标志 F标志 F地址 A控制 C帧检验序列 FCS透明传输区间FCS 检验区间网络层概述 网络层的主要功能就是实现整个网络系统内连接,为运输层提供整个网络范围内两个终端用户之间数据传输的通路网络层所研究和解决的问题 为上一层运输层提供服务路径选择路径选择又称路由选择,它解决的问题是:在具有许多节点的广域网里,通过哪一条或哪几条通路能将数据从信源主计算机传送到信宿主计算机中流量控制数据链路层的流量控制是针对数据链路相邻节点进行的网络层的流量控制是对整个通信子网内的流量进行控制,是对进入分组交换网的通信量进行控制连接的建立、保持和终止问题路径选择 路径选择是网络层中最重要的一项服务路径选择的质量对网络质量起着决定性的作用流量控制 网络层中的流量是指计算机网络中的通信量,即计算机网络中的报文流或分组流。
网络层流量控制的作用就是保证通信子网提供能使信息在节点之间畅通无阻,顺利流通的通路它的主要功能是:防止网络过载而引起的网络数据吞吐量下降和延时增加 避免死锁 公平的在用户之间分配资源网络层所提供的服务 面向连接的网络服务和无连接的网络服务所谓连接是两个对等实体为进行数据通信而进行的一种结合面向连接的网络服务是在数据交换之前,必须先建立连接,当数据交换结束后,终止这个连接无连接服务是两个实体之间的通信不需要先建立好一个连接,通信所需的资源无需事先预定保留,所需的资源是在数据传输时动态地进行分配的面向连接的服务是可靠的报文序列服务;无连接服务却不能防止报文的丢失、重发或失序,但无连接服务灵活方便,并且迅速网络层提供的两种服务 在计算机网络领域,网络层应该向运输层提供怎样的服务(“面向连接”还是“无连接”)曾引起了长期的争论争论焦点的实质就是:在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统?电信网的成功经验让网络负责可靠交付 面向连接的通信方式 建立虚电路(Virtual Circuit),以保证双方通信所需的一切网络资源如果再使用可靠传输的网络协议,就可使所发送的分组无差错按序到达终点。
应用层运输层网络层数据链路层物理层应用层运输层网络层数据链路层物理层虚电路服务H1 H2虚电路H1 发送给 H2 的所有分组都沿着同一条虚电路传送虚电路是逻辑连接 虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接请注意,电路交换的通信是先建立了一条真正的连接因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样因特网采用的设计思路 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务网络在发送分组时不需要先建立连接每一个分组(即 IP 数据报)独立发送,与其前后的分组无关(不进行编号)网络层不提供服务质量的承诺即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限尽最大努力交付的好处 由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价格低廉(与电信网的交换机相比较)如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理、流量控制等)采用这种设计思路的好处是:网络的造价大大降低,运行方式灵活,能够适应多种应用。
因特网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性应用层运输层网络层数据链路层物理层应用层运输层网络层数据链路层物理层数据报服务H1 H2IP 数据报丢失H1 发送给 H2 的分组可能沿着不同路径传送虚电路服务与数据报服务的对比对比的方面虚电路服务数据报服务思路可靠通信应当由网络来保证可靠通信应当由用户主机来保证连接的建立必须有不需要终点地址仅在连接建立阶段使用,每个分组使用短的虚电路号每个分组都有终点的完整地址分组的转发属于同一条虚电路的分组均按照同一路由进行转发每个分组独立选择路由进行转发当结点出故障时所有通过出故障的结点的虚电路均不能工作出故障的结点可能会丢失分组,一些路由可能会发生变化分组的顺序总是按发送顺序到达终点到达终点时不一定按发送顺序端到端的差错处理和流量控制可以由网络负责,也可以由用户主机负责由用户主机负责 有关路由选择协议的几个基本概念理想的路由算法 算法必须是正确的和完整的算法在计算上应简单算法应能适应通信量和网络拓扑的变化,这就是说,要有自适应性算法应具有稳定性算法应是公平的算法应是最佳的关于“最佳路由”不存在一种绝对的最佳路由算法所谓“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。
实际的路由选择算法,应尽可能接近于理想的算法路由选择是个非常复杂的问题 它是网络中的所有结点共同协调工作的结果路由选择的环境往往是不断变化的,而这种变化有时无法事先知道从路由算法的自适应性考虑 静态路由选择策略即非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化动态路由选择策略即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大分层次的路由选择协议 因特网采用分层次的路由选择协议因特网的规模非常大如果让所有的路由器知道所有的网络应怎样到达,则这种路由表将非常大,处理起来也太花时间而所有这些路由器之间交换路由信息所需的带宽就会使因特网的通信链路饱和许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议(这属于本部门内部的事情),但同时还希望连接到因特网上自治系统 AS(Autonomous System)自治系统 AS 的定义:在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS之间的路由。
现在对自治系统 AS 的定义是强调下面的事实:尽管一个 AS 使用了多种内部路由选择协议和度量,但重要的是一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略因特网有两大类路由选择协议 内部网关协议 IGP(Interior Gateway Protocol)即在一个自治系统内部使用的路由选择协议目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议外部网关协议EGP(External Gateway Protocol)若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中这样的协议就是外部网关协议 EGP在外部网关协议中目前使用最多的是 BGP-4自治系统和内部网关协议、外部网关协议 用内部网关协议(例如,RIP)自治系统 B自治系统 A用外部网关协议(例如,BGP-4)R1R2 用内部网关协议(例如,OSPF)自治系统之间的路由选择也叫做域间路由选择(interdomain routing),在自治系统内部的路由选择叫做域内路由选择(intradomain routing)这里要指出两点 因特网的早期 RFC 文档中未使用“路由器”而是使用“网关”这一名词。
但是在新的 RFC 文档中又使用了“路由器”这一名词应当把这两个属于当作同义词IGP 和 EGP 是协议类别的名称但 RFC 在使用 EGP 这个名词时出现了一点混乱,因为最早的一个外部网关协议的协议名字正好也是 EGP因此在遇到名词 EGP 时,应弄清它是指旧的协议 EGP 还是指外部网关协议 EGP 这个类别扩散法 节点收到分组后,向除发往该节点以外的所有相邻节点转发分组改进:节点记住已发送的分组标识,重复分组到达时丢弃特点:特点:可靠性高可作为其他路由算法的参考,确定最短路由、最小时延的路经随机路径选择算法 完全随机法 输选法 计程法选择扩散法 节点把接收的分组只向与目的节点方向一致的那些输出线路转发减少了网络的流量应用:应用:只适用于负载较轻的小规模网络固定路由法 每个节点都保存一张固定的到达其他各节点的路由表,表中有该节点到所有可能的目的节点的输出路径根据目的地址,从表中找出输出路径表是事先设计好的,在一段相当时间内保持不变优点:优点:简单,网络拓扑结构不变且通信量稳定,该方法是很好的缺点:缺点:网络拓扑结构发生变化,不能保证正常的分组传输,需要人工加以处理,应用有一定的局限性。