基于IDRP的BGP改进和在LINUX下的实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
今天的Internet,如果一个路由器想要计算一个面向所有节点的最佳路由,那么在它的路由表中必须保持Internet上每一个有关网络的条目。大部分路由器是做不到这一点的,因为对它们来说路由表将太大。所以在这些路由器中只维护Internet上一部分子网,或者使用“默认路由”指向其它网络。但对于Internet网络传输提供商的骨干路由器这种简化是不适用的,这些路由器必须维护完成的路由表。这样,这些提供商就必须随这Internet的发展不断升级他们的配置。
    1989年,IETF发表了BGP协议的第一个版本,次年发表了第二版,1991发表了第三版。这些版本相应的被称为BGP-1,BGP-2,BGP-3。到目前为止最新的版本是1995年制订的BGP-4。由于在实际研究中仍然广泛使用BGP-4作为IPv6域间路由的协议来使用,并不断得到改进,尤其是在从IPv4向IPv6的过渡之中,BGP-4仍将大量使用。BGP作为一种域间路由选择协议,它的主要功能是在各实现了BGP协议地系统之间交换网络层可达性信息。它是目前不同路由域之间交换路由表的首选。由于INTERNET的快速发展, BGP需要解决诸如报文安全,更高的交互性,更快的收敛性,还有IPV6迅猛发展所出现的一些问题。域间路由协议(IDRP)是一个EGP(Exterior Gateway Protocol,外部网关协议)协议。同时IDRP是一个路径矢量协议,在OSI机构中是设计在CLNP ISO 8473协议使用,在Internet上作为EGP从BGP-4(边界网关协议版本4,RFC1771)得出。IDRP虽然未能得到广泛的使用,但也不能否认其也有自己本身的长处。在上面本人综合分析了BGP和IDRP两个协议,兼各所长,以求能找到一种更好的解决方案。
    由于实验环境有限,另外路由器的核心计算并未象其他一些技术为大家所共享,再者本人也相信路由器作为一种高利润的高成本的东西,最终必须走向大众化。而大众化的实现就需要象当前的LINUX一样,有某一种大家都能得到其源码的东西,大家能参与近来的东西对主流的东西进行冲击,甚至能最终替换掉后者成为主流。ZEBRA无疑也是一种可能。其符合GNU标准,大家都能阅读到它的源码,并且有不少软件的爱好者参与近来对其进行学习,对其进行升级,对其进行讨论。不少商务路由器都采用了在此软件基础上的开发自己的路由器操作系统,例如美国IP Infusion开发的“ZebOS”。因此本人主要以Linux操作系统为平台,以ZEBRA为服务器平台,编写一个基于IDRP的BGP的协议的服务实现。本人主要做了以下工作:
    分析BGP和IDRP两个协议,包括他们的路由算法,传输机制,报文格式,路径属性,状态机,安全机制等方面。我们通过比较两个协议,对两个协议进行结合,考虑到IDRP协议自己对流控制进行处理,而BGP协议则提供相应的179端口来实现路由域之间交换报文,流控制由底层完成,这样就无须显式地进行分片,重传,确认和排序。所以保留了TCP的机制,不过采用的端口号为180;
    由于BGP协议没有提供安全的认证机制,而IDRP协议中对安全的认证机制有详细的阐述。在分析的基础上,本人把IDRP协议安全认证的一些想法引进过来,提出一些解决方案,例如认证类型的确定,加密结果的附加等,对BGP协议进行相应的修改;
    添加了CEASE报文,使管理员能够主动的关闭连接。关闭连接过程
    
    
    需要双方发送CEASE报文和状态的迁移。另外在守护程序中能对CEASE报文进行监控,相关信息记录到LOG文件中。修改了BGP的状态机,添加了CLOSEWAIT一种状态,还有Receive_CEASE_message和CloseWait_timer_expired两种事件。并且对于CLOSEWAIT状态设置定时器,初始化为180秒;
    支持DIST_LIST_INCL,DIST_LIST_EXCL, TRANSIT_DELAY,RESIDUAL ERROR,PRIORITY和RD_HOP_COUNT等几种新的属性,其中DIST_LIST_INCL属性是一个知名可选属性。它包含这个UPDATE PDU中的NLRI应被分发的路由域和邦联的路由域ID的列表。DIST_LIST_EXCL是一个知名可选属性。它包含这个UPDATE PDU中的NLRI不应被分发的路由域和邦联的路由域ID的列表。DIST_LIST_INCL不能和DIST_LIST_EXCL同时出现在同一UPDATE PDU中。TRANSIT DELAY是一个知名可选的两字节长属性,用来通知某一BIS通往目的地的路径的传输延迟由这个属性值决定。RESIDUAL ERROR是一个4字节长的知名可选属性,用来通知某一BIS通往目的地的路径的剩余的错误概率由这个属性值决定。它是一个范围在0到<2^32>-1之间的一个正数。当BIS给其它路由域内的BIS重新公告它包含RESIDUAL ERROR 属性的UPDATE报文的路由时,它需要在发送给其它路由域内的BIS时更改这个属性的值。更改的值遵循下面的公式:K * (1 - ((1-(RRE/K))*(1-(RDLRE/K))))。其中 K 是常量<2^32>1, 并且表达式的结果需要向上取整。RD_HOP_COUNT是一个一个字节长的知名强制属性,用来指出本UPDATE PDU所经过的路由域的数目。在发送UPDATE报文给邻接路由域之前,BIS应对这个属性进行加1,然后放到输出UPDATE报文中的RD_HOP_COUNT域中。在ISO 8473中限制最大的RD_HOP_COUNT为256。PRIORITY是一个一字节的知名可选属性。这个域的内容是一个范围在0到14的整型。它使路径根据ISO 8473优先级参数的值区分开来。在ISO 8473中,值0是默认的正常优先级。从1到14,优先级逐渐增加?
Today’s Internet,if a router wants to compute a the best route to all the nodes,then in its route table it should support every item related to the network in the Internet.So in these routers they only support some subnet in the Internet,or use the default route to point other network.But this predigestion’s not suitable for backbone routers of Internet network transmisson providers.These routers must maintain complete route table.Thus,along with the development of Internet,these providers must always upgrade they configuration.
    
    In 1989,IETF released the first edition of BGP protocol,then the second edition in the next year,in 1991 released the third edition.According to it,these editions are called BGP-1,BGP-2 and BGP-3.Up to these days,drawed in 1995,the BGP-4 is the edition up to date.Because in the pratical research,BGP-4 is the broader protocol which is used in ipv6 route domain route,and it’s continuingly mended without interruption.Especially in the transition from ipv4 to ipv6,BGP-4 slathers yet.As a intra-domain routeing protocol,its main function is that realizes switching NLRI between the systems with BGP protocol.At present,it’s preferred which exchanges route table between various route domains.For the Internet’s rapid development,BGP requires to resolve the problems such as protocol data unit security,higher mutuation,fastest astringency,arised in the ipv6 quick expand.IDRP is an EGP(Exterior Gateway Protocol)protocol. IDRP is also an distance vector protocol,in OSI framework,it’s designed to use in CLNP ISO 8473 protocol,as EGP comes from BGP-4(Border Gateway protocol 4,rfc1771) in the Internet.Although IDRP is not broad used,we can not deny that it have good quanlities itself.In the above,I colligate and anylisis BGP protocol and IDRP protocol,in an attempt to find out a best resolution via learn the good qualities from the two protocol.
    
    Due to limited experiment contitions,and the route kernel technique is not served for the masses as others,and I believe that the route as a big return and big cost thing,it must tend towards a popular style in the end.Realization of popular style requires something as current Linux, we can obtain its source,we can take part in it,and carry through a strike on the artery,indeed it can replace the latter and become the artery in the end.It is undoubtedly that ZEBRA is a possibility.It accord with GNU standard,everybody can read its source,and a lot of software fans take part in study it,upgrade it,and dicuss with it.Some business router adopt ZEBRA to open up router operation system.For example,American IP Infusion’s “ZebOS”.So I mainly use the Linux as the operation system platform,and ZEBRA as server platform,write an implement of BGP protocol
    
    
    serve based on IDRP.I mostly do following work:
    
    I analyze BGP protocol and IDRP protocol,including their route algorithm,transmission machanism,PDU format,path attributes,state machine,security machanism.I compare with the two protocols,and combine with the two protocols.Considering IDRP protocol can deal with the flow control itself,and BGP protocol provider the 179 port to exchange PDU between the route domains,its flow control complete with the bottom,it need not to apparently rappen slice,repeat transmission,acknowledge and compose the sequence.So I reserve the TCP machnism,and adopt the 180 port;
    Due to BGP protocol does not provide secure authentication mechanism,and that IDRP protocol have detailed expatiation on sucure authentication mechanism,based on the analisis,I introduce some ideas from IDRP protocol’s security authentication into BGP,and advance some resolutions such as acknowledgement of authentication type,annexation of encryption,and relevant modification of BGP protocol.In the realization,I use MD5 as the authentication algorithm,and DES algorithm of ECB mode in OPENSSL as the encryption algorithm;
    The administor is capable of voluntary shutdown connection by the CEASE PDU.Shutdown connection process need both sides to send CEASE PDU and change the state.Besides,when daemon
引文
[1] C.Kunzinger,"ISO/IEC IS 10747 - Information Processing Systems - Telecommunications and Information Exchange between Systems - Protocol for Exchange of Inter-domain Routing Information among Intermediate Systems to Support Forwarding of ISO 8473 PDUs",IBM, April 1994.
    [2] Yakov Rekhter, " A Border Gateway Protocol 4 (BGP-4)", RFC 1771, T.J. Watson Research Center IBM Corporation, March 1995.
    [3] E. Chen, "Route Refresh Capability for BGP-4", RFC 2918, Redback Networks, September 2000.
    [4] Yakov Rekhter ,and Paul Traina “IDRP for IP v4 and v6” cisco System January 1996.
    [5] Deering, S., Hinden, B., "Internet Protocol, Version 6 (IPv6) Specification", RFC1883, January 1996.
    [6] ISO 9542 - Information Processing Systems – Telecommunications and information exchange between systems - End system to Intermediate system routing exchange protocol for use in conjunction with the Protocol for providing the connectionless-mode network service (ISO 8473).
    [7] Bates, T., Chandra, R., Katz, D. and Y. Rekhter,"Multiprotocol Extensions for BGP-4", RFC 2283, February 1998.
    [8] R. Rivest, " The MD5 Message-Digest Algorithm", RFC 1321, MIT Laboratory for Computer Science and RSA Data Security, Inc, April 1992.
    [9] Baker, F., "Requirements for IP Version 4 Routers", RFC 1812,June 1995.
    [10] Droms, R., "Dynamic Host Configuration Protocol", RFC 1541,October 1993.
    [11] Traina, P., "BGP的自治系统联盟", RFC 1965, June 1996.
    [12] Haskin, D., "A BGP/IDRP Route Server alternative to a full mesh routing", RFC 1863, October 1995.
    [13] Traina, P., "Limited Autonomous System Confederations for BGP",RFC 1965, June 1996.
    [14] Bates, T. and R. Chandra, "BGP Route Reflection An alternative to full mesh IBGP", RFC 1966, June 1996.
    [15] Heffernan, A., "Protection of BGP Sessions via the TCP MD5 Signature Option", RFC 2385, August 1998.
    [16] M. Rose, "SNMP MUX Protocol and MIB", RFC 1227, Performance Systems International, Inc, May 1991
    [17] IPv6 网络 /Marcus Concalves, Kitty Niles著 人民邮电出版社
    [18] 路由 /Microsoft公司著 北京大学出版社
    [19] Internet路由结构分析 /白建军, 钟读杭, 朱培栋等编著 人民邮电出版社
    [20] (美)Loshin.p,《IPv6详解》,沙斐等译,机械工业出版社,2000年4月第1版,33-37
    [21] 伍海桑,陈茂科,《IPv6原理与实践》,人民邮电出版社,2000年7月第1
    
    
    版
    [22] W.Richard Stevens,《UNIX 网络编程(第2版)第1卷:套接口API和X/Open 传输接口API》,施振川 周利民 孙宏晖等译,清华大学出版社,2001年9月第1版
    [23](美)David Iseminger,网络连接服务开发人员参考库 机械工业出版社
    [24](美)Paul Fischer ISDN与Cisco路由器配置 机械工业出版社
    [25] Silvano Gai,萧湘工作室译《IPv6网络互连与Cisco路由器》,机械工业出版社,1999年11月第1版
    [26](美)Mark A.Sportack IP路由原理与应用,电子工业出版社,1998年04期
    [27] 李腊元,动态大型计算机网络的路由通信协议,计算机学报 1998年02期
    [28] 蒋克,胡兵,基于TCP/IP协议的主机路由技术在大型园区网络中的应用研究 计算机工程与应用 1997年04期
    [29] 毕军,吴建平,一种在UNIX内核中实现的高性能路由器. 软件学报 1997年05期
    [30] 曹心田,一种经济适用的远程路由器与工作站连接方式,四川通信技术 1994年04期
    [31] 林生,吴钧多,协议路由器的面向对象设计方法,华南师范大学学报(自然科学版) 1997年01期
    [32] 尹智刚,芦康俊,路由器实现技术,计算机系统应用 1997年09期
    [33] Gary R.Wright W.Richard Stevens,《TCP/IP详解 卷2:实现TCP/IP ILLUSTRATED VOLUME2》,陆雪莹等译,机械工业出版社,2000年7月第1版
    [34] 陈晴,陈骏林,因特网路由选择算法分析 电力情报 1998年03期
    [35] 张文超,网际路由技术及OSI路由协议,中国金融电脑 1997年07期 .
    [36] 金顺根,余小沙,赵军,路由器在网络互联中的应用 中国金融电脑 1997年06期
    [37] 张波,赵保华,屈玉贵,张英堂,基于Tcl的BGP一致性测试系统设计 计算机应用 2003年11期
    [38] 周林,路由器系统配置及管理 数字通信 1996年02期
    [39] 庄文祥,在TCP/IP网络上设置路由的方法 电脑 1995年11期
    [40] 范妮,高锡武,马跃,TCP/IP路由器的实现 通信世界 1995年02期
    [41] 唐志平,汤才木,计算机网络的路由算法 现代电信科技 1996年10期
    [42] 毛玉明,廖昕,沈晓云,路由器原理及路由协议 电信科学 1997年10期
    [43] 肖立权,张民选,徐炜遐,周兴铭,自适应寻径的路由器设计 电子学报 1997年08期
    [44] 李腊元,韦庆如,朱以文,局部双环网络的拓扑优化及其路由算法, 微电子学与计算机 1994年06期
    [45] 徐寿怀,张根度,基于IP协议的路由信息加密机制 计算机研究与发展 1998年08期
    [46] 张明杰,孙海秋,张顺颐,多协议路由器模型的实现 南京邮电学院学报(自然科学版) 1998年02期
    [47] 李磊,网络互联中的路由选择技术,通信世界 1998年05期
    [48] http://www.yesky.com/ServerIndex/77131848890712064/20031029/
    1740102.shtml
    [49] http://www.jswl.cn/course/A1013/wljczs/index0302.htm
    
    [50] http://www.net130.com/netbass/rfc.htm
    [51] http://www.openssl.org/source/
    [52] http://www.chinaitlab.com/www/special/mpls.asp
    [53] http://www.yesky.com/SoftChannel/72342376173010944/20020221/
    218246.shtml
    [54] http://www.linuxfans.org/nuke/modules.php?name=News&
    file=article&sid=1838
    [55] http://citeseer.ist.psu.edu/rekhter91idrp.html
    [56] http://www.zebra.org
    [57] http://hermes.teiath.gr/mbone/other_protocols/GATED/
    [58] http://www.csdn.net/develop/read_article.asp?id=17033
    [59] http://bgp.potaroo.net/
    [60] http://202.38.232.185/html/jsj/js108/25/book3.htm
    [61] http://www-900.ibm.com/developerworks/cn/linux/l-router/
    index.shtml

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700