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

📄 rfc911.txt

📁 RFC 相关的技术文档
💻 TXT
📖 第 1 页 / 共 4 页
字号:
Network Working GroupRequest for Comments: 911                      EGP GATEWAY UNDER BERKELEY UNIX 4.2                                  PAUL KIRTON       University of Southern California, Information Sciences Institute     Visiting Research Fellow from Telecom Australia Research Laboratories                                22 August 1984                                   ABSTRACTThis  report  describes an implementation of the Exterior Gateway Protocol thatruns under the Unix 4.2 BSD operating system.  Some  issues  related  to  localnetwork configurations are also discussed.Status of this Memo:This  memo describes  an implementation of the Exterior Gateway Protocol  (EGP)(in that sense it is a status report).  The memo also discusses  some  possibleextentions  and  some  design  issues   (in that sense it is an invitation  forfurther discussion).  Distribution of this memo is unlimited.    Funding for this research was provided by DARPA and Telecom Australia.RFC 911                                                                       i                               Table of Contents1. INTRODUCTION                                                               11.1 Motivation for Development                                                11.2 Overview of EGP                                                           22. GATEWAY DESIGN                                                             42.1 Routing Tables                                                            4     2.1.1 Incoming Updates                                                   5     2.1.2 Outgoing Updates                                                   52.2 Neighbor Acquisition                                                      62.3 Hello and Poll Intervals                                                  62.4 Neighbor Cease                                                            72.5 Neighbor Reachability                                                     72.6 Sequence Numbers                                                          82.7 Treatment of Excess Commands                                              82.8 Inappropriate Messages                                                    82.9 Default Gateway                                                           93. TESTING                                                                   104. FUTURE ENHANCEMENTS                                                       114.1 Multiple Autonomous Systems                                              114.2 Interface Monitoring                                                     114.3 Network Level Status Information                                         114.4 Interior Gateway Protocol Interface                                      125. TOPOLOGY ISSUES                                                           135.1 Topology Restrictions and Routing Loops                                  13     5.1.1 Background                                                        13     5.1.2 Current Policy                                                    145.2 Present ISI Configuration                                                15     5.2.1 EGP Across ARPANET                                                17     5.2.2 EGP Across ISI-NET                                                17     5.2.3 Potential Routing Loop                                            185.3 Possible Future Configuration                                            18     5.3.1 Gateway to UCI-ICS                                                18     5.3.2 Dynamic Switch to Backup Gateway                                  19          5.3.2.1 Usual Operation                                            19          5.3.2.2 Host Initialization                                        19          5.3.2.3 When Both the Primary and Backup are Down                  20          5.3.2.4 Unix 4.2 BSD                                               206. ACKNOWLEDGEMENT                                                           217. REFERENCES                                                                22RFC 911                                                                       11. INTRODUCTIONThe Exterior Gateway Protocol (EGP) [Rosen 82; Seamonson & Rosen 84; Mills 84a]has been specified to allow autonomous development of different gateway systemswhile  still  maintaining  global distribution of internet routing information.EGP provides a means for  different  autonomous  gateway  systems  to  exchangeinformation about the networks that are reachable via them.This  report  mainly  describes  an  implementation  of EGP that runs as a user                               *                                  **process under the Berkeley Unix  4.2 operating system run on a VAX    computer.Some  related issues concerning local autonomous system configurations are alsodiscussed.The EGP implementation is experimental and is not a part of Unix 4.2 BSD. It isanticipated that Berkeley will incorporate a version of EGP in the future.The program is written in C. The EGP  part  is  based  on  the  C-Gateway  codewritten  by  Liza  Martin at MIT and the route management part is based on Unix4.2 BSD route management daemon, "routed".The EGP functions are consistent with the specification of [Mills  84a]  exceptwhere noted.A  knowledge  of  EGP  as  described  in  [Seamonson  & Rosen 84; Mills 84a] isassumed.This chapter discusses the motivation for the project, Chapter 2 describes  thegateway  design,  Chapter 3 is on testing, Chapter 4 suggests some enhancementsand Chapter 5 discusses topology issues.Further information about running the EGP program and describing  the  softwareis being published in an ISI Research Report ISI/RR-84-145 [Kirton 84].Requests  for  documentation  and  copies  of the EGP program should be sent toJoyce Reynolds (JKReynolds@USC-ISIF.ARPA). Software support is not provided.1.1 Motivation for DevelopmentWith the introduction of EGP, the internet gateways  will  be  divided  into  a"core"  autonomous  system  (AS)  of  gateways  maintained by Bolt, Beranek andNewman  (BBN)  and  many  "stub"  AS's  that  are   maintained   by   differentorganizations  and  have at least one network in common with a core AS gateway.The core AS will act as a  hub  for  passing  on  routing  information  between_______________  *   Unix is a trade mark of AT&T  **    VAX is a trade mark of Digital Equipment CorporationRFC 911                                                                       2different  stub AS's so that it will only be necessary for stub AS's to conductEGP with a core gateway. Further detail is given in [Rosen 82].At the time of this  project  there  were  28  "non-routing"  gateways  in  theinternet.  Non-routing  gateways  did  not  exchange  routing  information  butrequired static entries in the core gateway routing tables.   Since  August  1,1984  these  static  entries  have  been  eliminated and previously non-routinggateways are required to communicate this  information  to  the  core  gatewaysdynamically via EGP [Postel 84].At the USC Information Sciences Institute (ISI) there was a non-routing gatewayto  the  University  of  California  at  Irvine  network  (UCI-ICS).  With  theelimination of  non-routing  gateways  from  the  core  gateway  tables  it  isnecessary to inform the core ISI gateway of the route to UCI-ICS using EGP.Also,  we  would  like a backup gateway between ISI-NET and the ARPANET in casethe core ISI gateway is down. Such, a gateway  would  need  to  convey  routinginformation  via EGP. Details of the ISI network configuration are discussed inSection 5.2.Of the 28 non-routing gateways 23 were implemented by Unix  systems,  includingISI's.  Also, ISI's proposed backup gateway was a Unix system. Thus there was alocal and general need for an EGP implementation to run under Unix. The currentversion  of  Unix  that  included  Department  of  Defense  (DoD) protocols wasBerkeley Unix 4.2 so this was selected.1.2 Overview of EGPThis report assumes a knowledge of EGP, however a brief overview is given  herefor completeness. For further details refer to [Rosen 82] for the background toEGP,  [Seamonson & Rosen 84] for an informal description, and [Mills 84a] for amore formal specification and implementation details.EGP is generally conducted between gateways in  different  AS's  that  share  acommon network, that is, neighbor gateways.EGP  consists  of three procedures, neighbor acquisition, neighbor reachabilityand network reachability.Neighbor acquisition is a two way handshake in which gateways agree to  conductEGP  by exchanging Request and Confirm messages which include the minimum Helloand Poll  intervals.    Acquisition  is  terminated  by  exchanging  Cease  andCease-ack messages.Neighbor  reachability  is  a  periodic exchange of Hello commands and I-H-U (Iheard you) responses to ensure that each gateway is up. Currently a  30  secondminimum interval is used across ARPANET. Only one gateway need send commands asthe   other   can  use  them  to  determine  reachability.  A  gateway  sendingreachability commands is said to be in the active mode, while  a  gateway  thatjust responds is in the passive mode.RFC 911                                                                       3Network  reachability  is  determined by periodically sending Poll commands andreceiving Update responses which indicate the networks  reachable  via  one  ormore  gateways  on  the  shared network. Currently 2 minute minimum interval isused across ARPANET.RFC 911                                                                       42. GATEWAY DESIGNEGP  is a polling protocol with loose timing constraints. Thus the only gatewayfunction requiring good performance is packet forwarding.  Unix 4.2 already haspacket forwarding built into the kernel where best performance can be achieved.At the time of writing Unix 4.2 did not send  ICMP  (Internet  Control  MessageProtocol)  redirect  messages  for  misrouted packets. This is a requirement ofinternet gateways and will later be added by Berkeley.The EGP and route update functions are implemented as a  user  process.    Thisfacilitates  development and distribution as only minor changes need to be madeto the Unix kernel.  This is a similar approach to the Unix route  distributionprogram  "routed"  [Berkeley  83]  which  is  based  on  the  Xerox  NS RoutingInformation Protocol [Xerox 81].2.1 Routing TablesA route consists of a destination network  number,  the  address  of  the  nextgateway  to  use  on  a  directly  connected  network,  and a metric giving thedistance in gateway hops to the destination network.There are two sets of routing  tables,  the  kernel  tables  (used  for  packetforwarding) and the EGP process tables. The kernel has separate tables for hostand  network  destinations.  The EGP process only maintains the network routingtables. The EGP tables are updated when EGP Update messages are received.  Whena  route is changed the kernel network tables are updated via the SIOCADDRT andSIOCDELRT ioctl system calls. At  initialization  the  kernel  network  routingtables  are  read  via the kernel memory image file, /dev/kmem, and copied intothe EGP tables for consistency.This EGP implementation is designed to run on a gateway that is  also  a  host.Because  of  the relatively slow polling to obtain route updates it is possiblethat the host may receive notification of routing changes  via  ICMP  redirectsbefore  the EGP process is notified via EGP. Redirects update the kernel tablesdirectly. The EGP process listens for redirect messages on  a  raw  socket  andupdates its routing tables to keep them consistent with the kernel.The  EGP  process routing tables are maintained as two separate tables, one forexterior routes (via different AS gateways) and one for  interior  routes  (viathe  gateways of this AS).  The exterior routing table is updated by EGP Updatemessages. The interior  routing  table  is  currently  static  and  is  set  atinitialization  time. It includes all directly attached nets, determined by theSIOCGIFCONF ioctl system call and any interior non-routing gateways  read  fromthe  EGP  initialization file, EGPINITFILE. The interior routing table could infuture be updated dynamically by an Interior Gateway Protocol (IGP).Maintaining separate tables for exterior and interior routing  facilitates  thepreparation  of  outgoing  Update  messages which only contain interior routinginformation [Mills 84b].  It also permits alternative external  routes  to  theinternal  routes  to  be  saved  as  a  backup in case an interior route fails.Alternate routes are flagged,  RTS_NOTINSTALL,  to  indicate  that  the  kernelRFC 911                                                                       5

⌨️ 快捷键说明

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