《链路状态路由算法模拟本科毕业论文.doc》由会员分享,可在线阅读,更多相关《链路状态路由算法模拟本科毕业论文.doc(39页珍藏版)》请在金锄头文库上搜索。
1、1前 言随着网络技术和通讯技术的高速发展,不同网络的大区域的连接是必需的,而路由器是连接不同网络的重要网络设备,因此对路由技术的不断研究尤其重要。路由技术是网络中的一个重要技术,一个好的路由算法可以减少网络开销、提高网络的可靠性。为了更好地研究基于链路状态的网络路由技术,对链路状态路由算法的模拟是一个有效的途径。本文主要对基于链路状态的网络路由技术进行研究,我的主要工作是归纳和整理网络路由技术相关知识并研作出链路状态路由算法的模拟,这个模拟有助于更好更深层次地理解链路状态路由。在内容方面,这份论文分5个部分。第1部分绪论,简单介绍了网络体系结构的相关基础知识。第2部分紧接着计算机网络基础知识介
2、绍了网络路由技术基础,内容还包括了链路状态路由和距离向量路由的优缺点。第3部分重点介绍链路状态路由原理的五个过程。第4部分介绍算法模拟部分,根据路由原理设计了一个链路状态路由算法的模拟。最后一个部分是总结与展望。由于网络路由技术发展非常迅速,涉及的知识面广,加之作者水平有限,虽然艰苦努力,但文中难免有错漏之处,希望各位老师能给予批评和指正。1 绪论随着网络技术的深入,新型网络应用不断涌现,小型小区的网络已经不能再满足大众的要求。而路由器是连接各种不同网络的核心设备,要保证各网络用户之间正常的相互通信路由技术至关重要。不同的路由算法有它的优缺点,链路状态路由算法有收敛快等优点,因此无论是理论上还
3、是应用上,对链路状态路由算法的研究对网络通信有着重大的意义。路由器是工作在网络层的设备,用于实现网络互联。路由选择是IP协议的一项重要功能,它完成Internet中IP报文的正确转发。在Internet中,完成路由选择的设备是网络路由器。网络路由器有两大功能:一是将IP报文正确发送下一个路由器;二是根据路由算法(或协议)与其他路由器不断交换路由信息,更新路由表,这是路由器最主要的工作。1.1 网络体系结构现代的计算机网络都采用了层次化的结构,但是不同的体系结构划分的层次数是不尽相同的,层与层之间的功能划分也不一样。下面将介绍两种参考模型,一种是在理论上起指导意义的分层模型框架开放式系统互联参考
4、模型OSI/RM;另一种是应用非常广泛的网络级互联参考模型TCP/IP参考模型。1.1.1 应用OSI参考模型的必要性在网络上,多个厂商生产的多种计算机及网络设备(包括大型主机、PC、服务器、无盘工作站、路由器、交换机、网络打印机等)之间要想进行通信,必须使它们采用相同的信息交换规则,这和在路上跑的各种牌子和型号的车都必须遵守相同的交通规则的道理是一样的。今天的网络浩大繁杂,网络设备品种繁多,使用的协议也是多种多样的。如果这些不同的厂商生产的不同网络设备,以及在这些网络设备上使用的不同的操作系统和应用软件没有一个统一的数据信息交换规则,那么我们的网络就没有办法相互通信了,互联网就不会具有今天的
5、规模。所以在网络上应用标准化的信息交换规则,已经成文网络继续向前发展的重要依据和前提条件。我们把在计算机网络中用于规定数据信息的格式及如何发送和接收信息的一套规则称为网络协议(network protocol)或通信协议(communication protocol)。为了减少网络协议设计的复杂性,网络设计者并不是设计一个单一、巨大的协议为所有形式的通信规定完整的细节,而是采用把通信问题划为为许多个小问题,然后为每个小问题设计一个单独的协议的方法。这样做使得每个协议的设计、分析、编码和测试都比较容易。所以我们使用分层模型(laying model)这种设计方法来开发网络协议。本质上,分层模型给
6、出了把通信问题划分为几个层次,一个或几个小问题对应于其中的一层设计方法。同时,网络的故障排除也要求对网络的通信规则进行分层的设计。通过使用层次结构,我们可以把网络的故障定位在数据通信的某一阶段,而不是在通信的整个过程中寻找故障点,这大大提高了定位故障点的准确度,加快了故障排除的速度。由于上述原因,国际标准化组织(ISO)指定了标准化开放式计算机网络层次结构模型开放式系统互联(OSI)参考模型。开放式是指能使任何两个遵守参考模型和有关标准的系统进行互联通信。正是由于该参考模型具有很强的开放性,现在网络的发展和开发都不约而同地以它为基础。OSI参考模型包括体系结构、服务定义和协议规范三个具体方面。
7、OSI参考模型的体系结构定义了一个七层模型,用以进行进程间的通信,并作为一个框架来协调各层标准的制定。OSI参考模型的服务定义描述了各层所提供的服务,以及层与层之间的抽象接口和交互用的服务原语。OSI参考模型各层的协议规范精确地定义了应当放松何种控制信息及通过何种过程解释该控制信息。我们需要明确的是,OSI参考模型并不是一个能够具体实现网络工作的协议或者协议集合,它只是一个为了制定网络中的通信标准而提供的概念性框架。而那些具体地承担网络通信任务的协议或者协议集合,其设计应该符合OSI参考模型所定义的网络通信标准。目前,在实际网络中,计算机及其他网络设备基本上都在使用符合OSI参考模型标准的协议
8、,从而实现它们之间的互联。1.1.2 ISO/OSI模型ISO/OSI模型将计算机网络划分为七个层次,从上到下依次为物理层(Physical Layer)、数据链路层(Data Link)、网络层(Network)、传输层(Transport)、会话层(Session)、表示层(Presentation)、应用层(Application)。基于OSI模型的“开放系统”不同于以往各个厂商的只能和同种计算机互连的各自封闭的系统,它可以和遵循同样国际标准的任何其它系统通信而相互开放。OSI模型为计算机网络体系结构层次的划分建立了一个标准的框架,有助于计算机网络结构的分析和设计。目前OSI模型已经为国
9、际社会所普遍接受,成为新一代计算机网络体系结构的基础。图1.1 OSI/ISO参考模型ISO/OSI层次模型如图1.1所示,PH、DL、N、T、S、P和A分别代表OSI七层模型从下到上各层。可以看出,整个开放系统环境由作为信息源和目的端的开放系统及若干中继开放系统通过物理媒体连接构成。不同开放系统对等层之间的虚通信必须遵循相应层的协议(A层协议、P层协议等)1。在统一开放系统中,相邻层次间称为接口,在接口处由低层向高层提供服务。OSI模型各层的功能如下:物理层在物理媒体上传输原始的数据比特流;数据链路层通过校验、确认和反馈重发等手段将原始物理连接改造成无差错的数据链路;网络层通信子网的运行控制
10、,解决如何把网络协议数据单元(通常称为分组)从源传送到目的,也就是在通信子网中进行路由选择;传输层为上层用户提供端对端的透明优化的数据传输服务;会话层允许不同主机上各种进程之间进行对话,提供了在数据流中插入同步点的机制,在每次网络出现故障后可以仅重传最近一个同步点以后的数据,而不必从头开始;表示层为上层用户提供共同需要的数据或信息语法表示变换,即完成信息的编码和解码、加密等功能;应用层为特定类型的网络应用提供访问OSI环境的手段。1.1.3 TCP/IP参考模型TCP/IP参考模型定义了4层,每一层都封装来自上一层的消息,加上自己的数据头和数据尾,在接收端,每一层协议都抽取附加的数据,将消息传
11、到上一层,直至应用层为止1。图1.2 TCP/IP协议下信息的传输四层从上到下依次为:应用层提供通信应用程序,诸如FTP,Telent,电子邮件,域名系统服务DNS等。传输层(TCP)提供应用程序间(即端到端)的通信,TCP和UDP(用户数据报协议)在信息包中加入传输数据,然后将其传给网际互联层。其功能包括:格式化信息流和提供可靠传输。网际互联层(IP)负责相邻计算机之间的通信。其功能包括:处理来自传输层的分组发送请求,加上IP信息后传给网络接口层;处理输入数据报,IMCP报文。网络接口层它是TCP/IP的最低层,负责接收IP数据报并通过网络发送,或者从网络上接收物理帧,抽出IP数据报,交给I
12、P层。1.1.4 OSI参考模型和TCP/IP参考模型的比较OSI参考模型和TCP/IP参考模型有很多相似之处。它们都是基于独立的协议栈的概念;而且层的功能也大体相似。例如,在两个模型中,传输层及传输层以上的层都为希望通信的进程提供端到端的、与网络无关的传输服务。这些层形成了传输提供者。同样,在两个模型中,传输层以上的层都是传输服务的由应用主导的用户2。OSI参考模型层描述OSI层号TCP/IP模型层描述应用层7应用层表示层6会话层5传输层4传输层网络层3互联网层数据链路层2网络接口层物理层1图1.3 OSI参考模型和TCP/IP参考模型比较OSI模型明确定义了服务、接口和协议这三个概念,而T
13、CP/IP参考模型最初没有明确区分服务、接口和协议。因此,OSI模型中的协议比TCP/IP参考模型的协议具有更好的隐藏性,在技术发生变化时能相对比较容易地替换掉。同时,OSI模型在网络层支持无连接和面向连接的通信,但在传输层仅有面向连接的通信;然而TCP/IP模型在网络层仅有一种通信模式(无连接),但在传输层支持两种模式,给了用户选择的机会。与OSI参考模型不同,TCP/IP模型更侧重于互联设备间的数据传送,而不是严格的功能层次划分。它通过解释功能层次分布的重要性来做到这一点,但它仍为设计者具体实现协议留下很大的余地。因此,OSI参考模型在解释互联网络通信机制上比较适合,但TCP/IP成为了互
14、联网络协议的市场标准。TCP/IP参考模型比OSI模型更灵活,TCP/IP参考模型是在它所解释的协议出现很久以后才发展起来的,更重要的是,由于它更强调功能分布而不是严格的功能层次的划分,因此它比OSI模型更灵活。1.2 路由器路由器是TCP/IP互联网的标准组件,是用于实现网络互联的硬件设备。路由器在物理上类似于网桥,每台路由器都有处理器和内存,对所有连接的每个网络都有一个单独的输入/输出接口。当数据从一个物理网络传输到另一个物理网络时,可通过路由器来完成。路由器的主要工作是接收IP报文,然后查找路由表寻找与目的地址相匹配的项并将IP报文发送到下一个路由器或目的主机。这样某个单位或组织就可以根
15、据要求选择适当的物理网络技术,然后用路由器把所有的网络连起来构成单一、无缝的互联网。路由器区别于网桥或局域网交换机的一个关键特征是:路由器工作在网络层,用于实现网络级互联;而网桥或局域网交换机工作在数据链路层,主要用于连接不同的局域网。其次,用网桥或交换机沟灌成的扩展局域网中不能包含环路,所以必须采用生成树算法来避免回路;而用路由构成的互联网中可以存在回路,在路由选择时根据某种策略来从多条路径中选择一条最佳路径。另外,它们在安全策略、实现技术、性能和价格方面都有所不同4。IP路由器的实现如图1.4所示。应用程序TCP或UDPIP物理接口A应用程序IP物理接口BTCP或UDPIP网络A网络B接口A接口B图1.4 IP路由器的实现1.3 路由器的功能路由器是网络间的连接设备,它重要工作之一是路径选择。这个功能是路由器智能的核心,它是由管理员的配置和一系列的路由算法实现的。不同的网络之间通过路由器进行数据通信,其中路由器起着重要的作用。路由器工作在网络层,为通信双方提供无连接服务和通信的线路。下面先介绍网络层相关知识,再介绍路由器的功能。1.3.1 网络层在OSI参考模型中,网络层位于数据链路层之上。它在