⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 overview.texi

📁 大名鼎鼎的路由器源码。程序分ZEBRA、OSPFRIP等3个包。程序框架采用一个路由协议一个进程的方式
💻 TEXI
字号:
@node Overview, Installation, Top, Top@comment  node-name,  next,  previous,  up@chapter Overview@cindex Overview  Zebra is a routing software package that provides TCP/IP basedrouting services with routing protocols support such as RIPv1, RIPv2,RIPng, OSPFv2, OSPFv3, BGP-4, and BGP-4+ (@pxref{Supported RFC}).Zebra also supports special BGP Route Reflector and Route Serverbehavior.  In addition to traditional IPv4 routing protocols, Zebraalso supports IPv6 routing protocols.  With SNMP daemon which supportsSMUX protocol, Zebra provides routing protocol MIBs (@pxref{SNMPSupport}).  Zebra uses an advanced software architecture to provide you with ahigh quality, multi server routing engine.  Zebra has an interactiveuser interface for each routing protocol and supports common clientcommands.  Due to this design, you can add new protocol daemons to Zebraeasily.  You can use Zebra library as your program's client userinterface.  Zebra is an official @sc{gnu} software and distributed under the@sc{gnu} General Public License.@menu* About Zebra::                 Basic information about Zebra* System Architecture::         The Zebra system architecture* Supported Platforms::         Supported platforms and future plans* Supported RFC::               Supported RFCs* How to get Zebra::            * Mailing List::                Mailing list information* Bug Reports::                 Mail address for bug data@end menu@node About Zebra, System Architecture, Overview, Overview@comment  node-name,  next,  previous,  up@section About Zebra@cindex About Zebra  Today, TCP/IP networks are covering all of the world.  The Internethas been deployed in many countries, companies, and to the home.  Whenyou connect to the Internet your packet will pass many routers whichhave TCP/IP routing functionality.  A system with Zebra installed acts as a dedicated router.  With Zebra,your machine exchanges routing information with other routers usingrouting protocols.  Zebra uses this information to update the kernelrouting table so that the right data goes to the right place.  You candynamically change the configuration and you may view routing tableinformation from the Zebra terminal interface.  Adding to routing protocol support, Zebra can setup interface's flags,interface's address, static routes and so on.  If you have a smallnetwork, or a stub network, or xDSL connection, configuring the Zebrarouting software is very easy.  The only thing you have to do is to setup the interfaces and put a few commands about static routes and/ordefault routes.  If the network is rather large, or if the networkstructure changes frequently, you will want to take advantage of Zebra'sdynamic routing protocol support for protocols such as RIP, OSPF or BGP.Zebra is with you.  Traditionally, UNIX based router configuration is done by@command{ifconfig} and @command{route} commands.  Status of routingtable is displayed by @command{netstat} utility.  Almost of thesecommands work only if the user has root privileges.  Zebra has a differentsystem administration method.  There are two user modes in Zebra.  One isnormal mode, the other is enable mode.  Normal mode user can only viewsystem status, enable mode user can change system configuration.  ThisUNIX account independent feature will be great help to the routeradministrator.  Currently, Zebra supports common unicast routing protocols.  Multicastrouting protocols such as BGMP, PIM-SM, PIM-DM will be supported inZebra 2.0.  MPLS support is going on.  In the future, TCP/IP filteringcontrol, QoS control, diffserv configuration will be added to Zebra.Zebra project's final goal is making a productive, quality free TCP/IProuting software.@node System Architecture, Supported Platforms, About Zebra, Overview@comment  node-name,  next,  previous,  up@section System Architecture@cindex System architecture@cindex Software architecture@cindex Software internals  Traditional routing software is made as a one process program whichprovides all of the routing protocol functionalities.  Zebra takes adifferent approach.  It is made from a collection of several daemonsthat work together to build the routing table.  There may be severalprotocol-specific routing daemons and zebra the kernel routing manager.  The @command{ripd} daemon handles the RIP protocol, while@command{ospfd} is a daemon which supports OSPF version 2.@command{bgpd} supports the BGP-4 protocol.  For changing the kernelrouting table and for redistribution of routes between different routingprotocols, there is a kernel routing table manager @command{zebra}daemon.  It is easy to add a new routing protocol daemons to the entirerouting system without affecting any other software.  You need to run onlythe protocol daemon associated with routing protocols in use.  Thus,user may run a specific daemon and send routing reports to a centralrouting console.  There is no need for these daemons to be running on the same machine.You can even run several same protocol daemons on the same machine.  Thisarchitecture creates new possibilities for the routing system.@example@group+----+  +----+  +-----+  +-----+|bgpd|  |ripd|  |ospfd|  |zebra|+----+  +----+  +-----+  +-----+                            |+---------------------------|--+|                           v  ||  UNIX Kernel  routing table  ||                              |+------------------------------+    Zebra System Architecture@end group@end example  Multi-process architecture brings extensibility, modularity andmaintainability.  At the same time it also brings many configurationfiles and terminal interfaces.  Each daemon has it's own configurationfile and terminal interface.  When you configure a static route, it mustbe done in @command{zebra} configuration file.  When you configure BGPnetwork it must be done in @command{bgpd} configuration file.  This can be avery annoying thing.  To resolve the problem, Zebra provides integrateduser interface shell called @command{vtysh}.  @command{vtysh} connects toeach daemon with UNIX domain socket and then works as a proxy for user input.  Zebra was planned to use multi-threaded mechanism when it runs with akernel that supports multi-threads.  But at the moment, the threadlibrary which comes with @sc{gnu}/Linux or FreeBSD has some problems withrunning reliable services such as routing software, so we don't usethreads at all.  Instead we use the @command{select(2)} system call formultiplexing the events.  When @command{zebra} runs under a @sc{gnu} Hurd kernel it will act as akernel routing table itself.  Under @sc{gnu} Hurd, all TCP/IP services areprovided by user processes called @command{pfinet}.  Zebra will provideall the routing selection mechanisms for the process.  This feature willbe implemented when @sc{gnu} Hurd becomes stable.@node Supported Platforms, Supported RFC, System Architecture, Overview@comment  node-name,  next,  previous,  up@section Supported Platforms@cindex Supported platforms@cindex Zebra on other systems@cindex Compatibility with other systems@cindex Operating systems that support Zebra  Currently Zebra supports @sc{gnu}/Linux, BSD and Solaris.  Below is a listof OS versions on which Zebra runs.  Porting Zebra to other platforms isnot so too difficult.  Platform dependent codes exist only in@command{zebra} daemon.  Protocol daemons are platform independent.Please let us know when you find out Zebra runs on a platform which is notlisted below.@sp 1@itemize @bullet@itemGNU/Linux 2.2.x@itemGNU/Linux 2.4.x@itemFreeBSD 4.x@itemFreeBSD 5.x@itemNetBSD 1.6.x@itemOpenBSD 3.x@itemSolaris 8@end itemize@sp 1  Some IPv6 stacks are in development.  Zebra supports following IPv6stacks.  For BSD, we recommend KAME IPv6 stack.  Solaris IPv6 stack isnot yet supported.@sp 1@itemize @bullet@itemLinux IPv6 stack for GNU/Linux 2.2.x and higher.@itemKAME BSD IPv6 stack@end itemize@node Supported RFC, How to get Zebra, Supported Platforms, Overview@comment  node-name,  next,  previous,  up@section Supported RFC  Below is the list of currently supported RFC's.@table @asis@item @asis{RFC1058}@cite{Routing Information Protocol. C.L. Hedrick. Jun-01-1988.}@item @asis{RF2082}@cite{RIP-2 MD5 Authentication. F. Baker, R. Atkinson. January 1997.}@item @asis{RFC2453}@cite{RIP Version 2. G. Malkin. November 1998.}@item @asis{RFC2080}@cite{RIPng for IPv6. G. Malkin, R. Minnear. January 1997.}@item @asis{RFC2328}@cite{OSPF Version 2. J. Moy. April 1998.}@item @asis{RFC2740}@cite{OSPF for IPv6. R. Coltun, D. Ferguson, J. Moy. December 1999.}@item @asis{RFC1771} @cite{A Border Gateway Protocol 4 (BGP-4). Y. Rekhter & T. Li. March 1995.}@item @asis{RFC1965}@cite{Autonomous System Confederations for BGP. P. Traina. June 1996.}@item @asis{RFC1997}@cite{BGP Communities Attribute. R. Chandra, P. Traina & T. Li. August 1996.}@item @asis{RFC2545}@cite{Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing. P. Marques, F. Dupont. March 1999.}@item @asis{RFC2796}@cite{BGP Route Reflection An alternative to full mesh IBGP. T. Bates & R. Chandrasekeran. June 1996.}@item @asis{RFC2858}@cite{Multiprotocol Extensions for BGP-4. T. Bates, Y. Rekhter, R. Chandra, D. Katz. June 2000.}@item @asis{RFC2842}@cite{Capabilities Advertisement with BGP-4. R. Chandra, J. Scudder. May 2000.}@end table  When SNMP support is enabled, below RFC is also supported.@table @asis@item @asis{RFC1227}@cite{SNMP MUX protocol and MIB. M.T. Rose. May-01-1991.}@item @asis{RFC1657}@cite{Definitions of Managed Objects for the Fourth Version of theBorder Gateway Protocol (BGP-4) using SMIv2. S. Willis, J. Burruss,J. Chu, Editor. July 1994.}@item @asis{RFC1724}@cite{RIP Version 2 MIB Extension. G. Malkin & F. Baker. November 1994.}@item @asis{RFC1850}@cite{OSPF Version 2 Management Information Base. F. Baker, R. Coltun.November 1995.}@end table@node How to get Zebra, Mailing List, Supported RFC, Overview@comment  node-name,  next,  previous,  up@section How to get Zebra  Zebra is still beta software and there is no officiallyreleased version.  So currently Zebra is distributed from Zebra beta ftpsite located at:@url{ftp://ftp.zebra.org/pub/zebra}  Once Zebra is released you can get it from @sc{gnu} FTP site andits mirror sites.  We are planning Zebra-1.0 as the first releasedversion.  Zebra's official web page is located at:@url{http://www.gnu.org/software/zebra/zebra.html}.  There is a Zebra beta tester web page at: @url{http://www.zebra.org/}.  You can get the latest beta software information from this page.@node Mailing List, Bug Reports, How to get Zebra, Overview@comment  node-name,  next,  previous,  up@section Mailing List@cindex How to get in touch with Zebra@cindex Mailing Zebra@cindex Contact information@cindex Mailing lists  There is a mailing list for discussions about Zebra.  If you have anycomments or suggestions to Zebra, please send mail to@email{zebra@@zebra.org}.  New snapshot announcements, improvementnotes, and patches are sent to the list.  To subscribe to the @email{zebra@@zebra.org, Zebra mailing list},please send a mail to @email{zebra-request@@ml.zebra.org} with a message with a subject:@quotationsubscribe@end quotation  To unsubscribe from the list, please send a mail to@email{zebra-request@@ml.zebra.org} with a message body that includes only:@quotationunsubscribe@end quotation@node Bug Reports,  , Mailing List, Overview@comment  node-name,  next,  previous,  up@section Bug Reports@cindex Bug Reports@cindex Bug hunting@cindex Found a bug?@cindex Reporting bugs@cindex Reporting software errors@cindex Errors in the software  If you think you have found a bug, please send a bug report to@email{bug-zebra@@gnu.org}.  When you send a bug report, please becareful about the points below.@itemize @bullet@item Please note what kind of OS you are using.  If you use the IPv6 stackplease note that as well.@itemPlease show us the results of @code{netstat -rn} and @code{ifconfig -a}.Information from zebra's VTY command @code{show ip route} will also behelpful.@itemPlease send your configuration file with the report.  If you specifyarguments to the configure script please note that too.@end itemize  Bug reports are very important for us to improve the quality of Zebra.Zebra is still in the development stage, but please don't hesitate tosend a bug report to @email{bug-zebra@@gnu.org}.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -