home *** CD-ROM | disk | FTP | other *** search
/ Internet Standards / CD1.mdf / misc / merit / idrprfc.txt < prev    next >
Text File  |  1993-10-22  |  611KB  |  12,510 lines

  1.  
  2.    Network Working Group                                      ISO/IEC 10747
  3.    Request for Comments: 14xx                          C. Kunzinger, Editor
  4.                                                                October 1993
  5.  
  6.                   OSI INTER-DOMAIN ROUTING PROTOCOL (IDRP)
  7.  
  8.    Status of This Memo
  9.  
  10.       This memo provides information for the Internet community.  It does
  11.       not specify an Internet standard.   Distribution of this memo is
  12.       limited to members of the Internet community for the purpose of
  13.       contributing to the process of international standardization.
  14.  
  15.       This memo contains the text and tables of International Standard
  16.       ISO/IEC 10747, "Information Processing Systems - Telecommunications
  17.       and Information Exchange between Systems - Protocol for Exchange of
  18.       Inter-Domain Routeing Information among Intermediate Systems to
  19.       Support Forwarding of ISO 8473 PDUs".  Those figures that could
  20.       easily be rendered in ASCII are included, but it was not possible
  21.       to create ASCII replicas for all figures included in the
  22.       International Standard.  This standard is commonly referred to as
  23.       "Inter-Domain Routing Protocol", or "IDRP".
  24.  
  25.    Security Considerations
  26.  
  27.       Issues concerning the security of routing information exchange
  28.       among border inter-domain routers are discussed in this memo.
  29.  
  30.    Author's Address
  31.  
  32.       Charles A. Kunzinger
  33.       IBM Corporation (C70/673)
  34.       P.O. Box 12195
  35.       Research Triangle Park, NC 27709-2195
  36.  
  37.       Phone: 919 254 4142
  38.       EMail: kunzinger@vnet.ibm.com
  39.  
  40.  
  41.  
  42.  
  43.    Kunzinger                     ISO/IEC 10747                   [ Page 1 ]
  44.  
  45.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  46.  
  47.  
  48.    Contents
  49.  
  50.  
  51.       1.  Scope  . . . . . . . . . . . . . . . . . . . . . . . . . . .   12
  52.  
  53.       2.  Normative references   . . . . . . . . . . . . . . . . . . .   13
  54.  
  55.       3.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . .   15
  56.       3.1  Reference model definitions   . . . . . . . . . . . . . . .   15
  57.       3.2  Network layer architecture definitions  . . . . . . . . . .   15
  58.       3.3  Network layer addressing definitions  . . . . . . . . . . .   16
  59.       3.4  Routeing framework definitions  . . . . . . . . . . . . . .   16
  60.       3.5  Intra-domain routeing definitions   . . . . . . . . . . . .   16
  61.       3.6  Additional definitions  . . . . . . . . . . . . . . . . . .   16
  62.  
  63.       4.  Symbols and abbreviations  . . . . . . . . . . . . . . . . .   19
  64.       4.1  Data unit abbreviations   . . . . . . . . . . . . . . . . .   19
  65.       4.2  Addressing abbreviations  . . . . . . . . . . . . . . . . .   19
  66.       4.3  Other abbreviations   . . . . . . . . . . . . . . . . . . .   20
  67.  
  68.       5.  General protocol information   . . . . . . . . . . . . . . .   21
  69.       5.1  Inter-RD topology   . . . . . . . . . . . . . . . . . . . .   23
  70.       5.2  Routeing policy   . . . . . . . . . . . . . . . . . . . . .   23
  71.       5.3  Types of systems  . . . . . . . . . . . . . . . . . . . . .   24
  72.       5.4  Types of routeing domains   . . . . . . . . . . . . . . . .   24
  73.       5.5  Routeing domain confederations  . . . . . . . . . . . . . .   24
  74.       5.6  Routes: advertisement and storage   . . . . . . . . . . . .   25
  75.       5.7  Distinguishing path attributes and RIB-Atts   . . . . . . .   26
  76.       5.8  Selecting the information bases   . . . . . . . . . . . . .   26
  77.       5.9  Routeing information exchange   . . . . . . . . . . . . . .   29
  78.         5.9.1  Internal neighbor BIS   . . . . . . . . . . . . . . . .   30
  79.         5.9.2  External neighbor BIS   . . . . . . . . . . . . . . . .   30
  80.       5.10  Routeing domain identifiers  . . . . . . . . . . . . . . .   30
  81.       5.11  Formats of RDIs, NETs, and NSAP addresses  . . . . . . . .   31
  82.       5.12  Design objectives  . . . . . . . . . . . . . . . . . . . .   31
  83.         5.12.1  Within the scope of the protocol   . . . . . . . . . .   31
  84.         5.12.2  Outside the scope of the protocol  . . . . . . . . . .   33
  85.  
  86.       6.  Structure of BISPDUs   . . . . . . . . . . . . . . . . . . .   34
  87.       6.1  Header of BISPDU  . . . . . . . . . . . . . . . . . . . . .   34
  88.       6.2  OPEN PDU  . . . . . . . . . . . . . . . . . . . . . . . . .   36
  89.  
  90.    Kunzinger                     ISO/IEC 10747                   [ Page 2 ]
  91.  
  92.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  93.  
  94.       6.3  UPDATE PDU  . . . . . . . . . . . . . . . . . . . . . . . .   42
  95.         6.3.1  Path attribute encoding   . . . . . . . . . . . . . . .   43
  96.         6.3.2  Network layer reachability information  . . . . . . . .   55
  97.       6.4  IDRP ERROR PDU  . . . . . . . . . . . . . . . . . . . . . .   57
  98.       6.5  KEEPALIVE PDU   . . . . . . . . . . . . . . . . . . . . . .   60
  99.       6.6  CEASE PDU   . . . . . . . . . . . . . . . . . . . . . . . .   60
  100.       6.7  RIB REFRESH PDU   . . . . . . . . . . . . . . . . . . . . .   61
  101.  
  102.       7.  Elements of procedure  . . . . . . . . . . . . . . . . . . .   62
  103.       7.1  Naming and addressing conventions   . . . . . . . . . . . .   62
  104.         7.1.1  Interpretation of address information   . . . . . . . .   62
  105.         7.1.2  NSAP address prefixes   . . . . . . . . . . . . . . . .   62
  106.       7.2  Deployment guidelines   . . . . . . . . . . . . . . . . . .   64
  107.         7.2.1  Minimum  configuration of an RD   . . . . . . . . . . .   64
  108.         7.2.2  Deployment of ISs and ESs   . . . . . . . . . . . . . .   64
  109.       7.3  Domain configuration information  . . . . . . . . . . . . .   65
  110.       7.4  Advertising NLRI  . . . . . . . . . . . . . . . . . . . . .   66
  111.       7.5  Receive process   . . . . . . . . . . . . . . . . . . . . .   67
  112.       7.6  BIS-BIS connection management   . . . . . . . . . . . . . .   68
  113.         7.6.1  BIS finite state machines   . . . . . . . . . . . . . .   68
  114.         7.6.2  Closing a connection  . . . . . . . . . . . . . . . . .   83
  115.       7.7  Validation of BISPDUs   . . . . . . . . . . . . . . . . . .   83
  116.         7.7.1  Authentication type 1   . . . . . . . . . . . . . . . .   83
  117.         7.7.2  Authentication type 2   . . . . . . . . . . . . . . . .   84
  118.         7.7.3  Authentication type 3   . . . . . . . . . . . . . . . .   85
  119.         7.7.4  Sequence numbers  . . . . . . . . . . . . . . . . . . .   86
  120.         7.7.5  Flow control  . . . . . . . . . . . . . . . . . . . . .   87
  121.       7.8  Version negotiation   . . . . . . . . . . . . . . . . . . .   90
  122.       7.9  Checksum algorithm  . . . . . . . . . . . . . . . . . . . .   90
  123.       7.10  Routeing information bases   . . . . . . . . . . . . . . .   91
  124.         7.10.1  Identifying an information base  . . . . . . . . . . .   92
  125.         7.10.2  Validation of RIBs   . . . . . . . . . . . . . . . . .   93
  126.         7.10.3  Use of the RIB REFRESH PDU   . . . . . . . . . . . . .   94
  127.       7.11  Path attributes  . . . . . . . . . . . . . . . . . . . . .   95
  128.         7.11.1  Categories of path attributes  . . . . . . . . . . . .   97
  129.         7.11.2  Handling of distinguishing attributes  . . . . . . . .   98
  130.         7.11.3  Equivalent distinguishing attributes   . . . . . . . .   99
  131.       7.12  Path attribute usage   . . . . . . . . . . . . . . . . . .  100
  132.         7.12.1  ROUTE_SEPARATOR  . . . . . . . . . . . . . . . . . . .  100
  133.         7.12.2  EXT_INFO   . . . . . . . . . . . . . . . . . . . . . .  101
  134.         7.12.3  RD_PATH  . . . . . . . . . . . . . . . . . . . . . . .  102
  135.         7.12.4  NEXT_HOP   . . . . . . . . . . . . . . . . . . . . . .  106
  136.         7.12.5  DIST_LIST_INCL   . . . . . . . . . . . . . . . . . . .  109
  137.         7.12.6  DIST_LIST_EXCL   . . . . . . . . . . . . . . . . . . .  111
  138.         7.12.7  MULTI-EXIT_DISC  . . . . . . . . . . . . . . . . . . .  112
  139.         7.12.8  TRANSIT DELAY  . . . . . . . . . . . . . . . . . . . .  112
  140.         7.12.9  RESIDUAL ERROR   . . . . . . . . . . . . . . . . . . .  113
  141.  
  142.    Kunzinger                     ISO/IEC 10747                   [ Page 3 ]
  143.  
  144.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  145.  
  146.         7.12.10  EXPENSE   . . . . . . . . . . . . . . . . . . . . . .  114
  147.         7.12.11  LOCALLY DEFINED QOS   . . . . . . . . . . . . . . . .  114
  148.         7.12.12  HIERARCHICAL RECORDING  . . . . . . . . . . . . . . .  115
  149.         7.12.13  RD_HOP_COUNT  . . . . . . . . . . . . . . . . . . . .  117
  150.         7.12.14  SECURITY  . . . . . . . . . . . . . . . . . . . . . .  117
  151.         7.12.15  CAPACITY  . . . . . . . . . . . . . . . . . . . . . .  118
  152.         7.12.16  PRIORITY  . . . . . . . . . . . . . . . . . . . . . .  118
  153.       7.13  Routeing domain confederations   . . . . . . . . . . . . .  119
  154.         7.13.1  RDC policies   . . . . . . . . . . . . . . . . . . . .  119
  155.         7.13.2  RDC configuration information  . . . . . . . . . . . .  119
  156.         7.13.3  Detecting confederation boundaries   . . . . . . . . .  120
  157.       7.14  Update-Receive process   . . . . . . . . . . . . . . . . .  120
  158.       7.15  Information consistency  . . . . . . . . . . . . . . . . .  121
  159.         7.15.1  Detecting inconsistencies  . . . . . . . . . . . . . .  122
  160.       7.16  Decision process   . . . . . . . . . . . . . . . . . . . .  122
  161.         7.16.1  Phase 1: calculation of degree of preference   . . . .  124
  162.         7.16.2  Phase 2: route selection   . . . . . . . . . . . . . .  124
  163.         7.16.3  Phase 3: route dissemination   . . . . . . . . . . . .  127
  164.         7.16.4  Interaction with update process  . . . . . . . . . . .  129
  165.       7.17  Update-Send process  . . . . . . . . . . . . . . . . . . .  130
  166.         7.17.1  Internal updates   . . . . . . . . . . . . . . . . . .  130
  167.         7.17.2  External updates   . . . . . . . . . . . . . . . . . .  132
  168.         7.17.3  Controlling routeing traffic overhead  . . . . . . . .  133
  169.       7.18  Efficient organization of routeing information   . . . . .  134
  170.         7.18.1  Information reduction  . . . . . . . . . . . . . . . .  134
  171.         7.18.2  Aggregating routeing information   . . . . . . . . . .  135
  172.       7.19  Maintenance of the forwarding information bases  . . . . .  141
  173.       7.20  Error handling for BISPDUs   . . . . . . . . . . . . . . .  143
  174.         7.20.1  BISPDU header error handling   . . . . . . . . . . . .  143
  175.         7.20.2  OPEN PDU error handling  . . . . . . . . . . . . . . .  144
  176.         7.20.3  UPDATE PDU error handling  . . . . . . . . . . . . . .  145
  177.         7.20.4  IDRP ERROR PDU error handling  . . . . . . . . . . . .  148
  178.         7.20.5  Hold timer expired error handling  . . . . . . . . . .  148
  179.         7.20.6  KEEPALIVE PDU error handling   . . . . . . . . . . . .  148
  180.         7.20.7  CEASE PDU error handling   . . . . . . . . . . . . . .  149
  181.         7.20.8  RIB REFRESH PDU error handling   . . . . . . . . . . .  149
  182.  
  183.       8.  Forwarding process for CLNS  . . . . . . . . . . . . . . . .  149
  184.       8.1  Forwarding to internal destinations   . . . . . . . . . . .  150
  185.       8.2  Determining the NPDU-derived distinguishing attributes  . .  150
  186.       8.3  Matching RIB-Att to NPDU-derived distinguishing attributes   152
  187.       8.4  Forwarding to external destinations   . . . . . . . . . . .  154
  188.  
  189.       9.  Interface to ISO 8473  . . . . . . . . . . . . . . . . . . .  156
  190.       9.1  Use of network layer security protocol over ISO 8473.   . .  157
  191.  
  192.       10.  Constants   . . . . . . . . . . . . . . . . . . . . . . . .  158
  193.  
  194.    Kunzinger                     ISO/IEC 10747                   [ Page 4 ]
  195.  
  196.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  197.  
  198.       11.  System management and GDMO definitions  . . . . . . . . . .  158
  199.       11.1  Name binding   . . . . . . . . . . . . . . . . . . . . . .  158
  200.       11.2  Managed objects for IDRP   . . . . . . . . . . . . . . . .  159
  201.       11.3  Packages for IDRP  . . . . . . . . . . . . . . . . . . . .  160
  202.       11.4  Attribute definitions  . . . . . . . . . . . . . . . . . .  166
  203.       11.5  Parameter definitions  . . . . . . . . . . . . . . . . . .  177
  204.       11.6  Behaviour  . . . . . . . . . . . . . . . . . . . . . . . .  179
  205.       11.7  ASN.1 modules  . . . . . . . . . . . . . . . . . . . . . .  179
  206.  
  207.       12.  Conformance   . . . . . . . . . . . . . . . . . . . . . . .  184
  208.       12.1  Static conformance for all BISs  . . . . . . . . . . . . .  184
  209.       12.2  Conformance to optional functions  . . . . . . . . . . . .  186
  210.         12.2.1  Generation of information in reduced form  . . . . . .  186
  211.         12.2.2  Generation of well-known discretionary attributes  . .  186
  212.         12.2.3  Propagation of well-known discretionary attributes      187
  213.         12.2.4  Peer entity authentication   . . . . . . . . . . . . .  187
  214.  
  215.       Annex A.  PICS proforma  . . . . . . . . . . . . . . . . . . . .  188
  216.       A.1  Introduction  . . . . . . . . . . . . . . . . . . . . . . .  188
  217.       A.2  Abbreviations and special symbols   . . . . . . . . . . . .  188
  218.         A.2.1  Status symbols  . . . . . . . . . . . . . . . . . . . .  189
  219.       A.3  Instructions for completing the PICS proforma   . . . . . .  189
  220.         A.3.1  General structure of the PICS proforma  . . . . . . . .  189
  221.         A.3.2  Additional information  . . . . . . . . . . . . . . . .  190
  222.         A.3.3  Exception information   . . . . . . . . . . . . . . . .  191
  223.         A.3.4  Conditional status  . . . . . . . . . . . . . . . . . .  191
  224.       A.4  Identification  . . . . . . . . . . . . . . . . . . . . . .  194
  225.         A.4.1  PICS proforma: IDRP implementation identification   . .  194
  226.         A.4.2  PICS proforma: IDRP protocol summary  . . . . . . . . .  195
  227.         A.4.3  PICS proforma: IDRP general   . . . . . . . . . . . . .  195
  228.         A.4.4  PICS proforma: IDRP update send process   . . . . . . .  198
  229.         A.4.5  PICS proforma: IDRP update receive process  . . . . . .  198
  230.         A.4.6  PICS proforma: IDRP decision process  . . . . . . . . .  198
  231.         A.4.7  PICS proforma: IDRP receive process   . . . . . . . . .  199
  232.         A.4.8  PICS proforma: IDRP CLNS forwarding   . . . . . . . . .  201
  233.         A.4.9  PICS proforma: IDRP authentication  . . . . . . . . . .  201
  234.         A.4.10  PICS proforma: IDRP optional transitive attributes      202
  235.         A.4.11  PICS proforma: Generating IDRP well-known
  236.          discretionary attributes  . . . . . . . . . . . . . . . . . .  203
  237.         A.4.12  PICS proforma: Propagating IDRP well-known
  238.          discretionary attributes  . . . . . . . . . . . . . . . . . .  205
  239.         A.4.13  PICS proforma: Receiving IDRP well-known discretionary
  240.          attributes  . . . . . . . . . . . . . . . . . . . . . . . . .  207
  241.  
  242.       Annex B.  IDRP checksum generation algorithm   . . . . . . . . .  209
  243.       B.1  Mathematical notation   . . . . . . . . . . . . . . . . . .  209
  244.       B.2  Algorithm description   . . . . . . . . . . . . . . . . . .  209
  245.  
  246.    Kunzinger                     ISO/IEC 10747                   [ Page 5 ]
  247.  
  248.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  249.  
  250.       Annex C.  Bibliography   . . . . . . . . . . . . . . . . . . . .  214
  251.  
  252.       Annex D.  Example of authentication type 2   . . . . . . . . . .  215
  253.       D.1  Authentication mechanism  . . . . . . . . . . . . . . . . .  215
  254.  
  255.       Annex E.  Jitter algorithm   . . . . . . . . . . . . . . . . . .  218
  256.  
  257.       Annex F.  Computing a checksum for an Adj-RIB  . . . . . . . . .  220
  258.  
  259.       Annex G.  RIB overload   . . . . . . . . . . . . . . . . . . . .  221
  260.  
  261.       Annex H.  Processor overload   . . . . . . . . . . . . . . . . .  223
  262.  
  263.       Annex J.  Formation of RDCs  . . . . . . . . . . . . . . . . . .  224
  264.       J.1  Forming a new lower level confederation   . . . . . . . . .  224
  265.       J.2  Forming a higher level confederation  . . . . . . . . . . .  226
  266.       J.3  Deleting a lowest level confederation   . . . . . . . . . .  227
  267.       J.4  Deleting a higher level confederation   . . . . . . . . . .  227
  268.  
  269.       Annex K.  Example usage of MULTI-EXIT_DISC attribute   . . . . .  229
  270.  
  271.       Annex L.  Syntax and semantics for policy  . . . . . . . . . . .  234
  272.       L.1  Overview  . . . . . . . . . . . . . . . . . . . . . . . . .  234
  273.         L.1.1  Preference statement  . . . . . . . . . . . . . . . . .  235
  274.         L.1.2  Aggregation statement   . . . . . . . . . . . . . . . .  237
  275.         L.1.3  Distribution statement  . . . . . . . . . . . . . . . .  239
  276.       L.2  Policy configuration language BNF   . . . . . . . . . . . .  241
  277.         L.2.1  PREF statement BNF  . . . . . . . . . . . . . . . . . .  241
  278.         L.2.2  AGGR statement BNF  . . . . . . . . . . . . . . . . . .  241
  279.         L.2.3  DIST statement BNF  . . . . . . . . . . . . . . . . . .  241
  280.         L.2.4  Common BNF symbols  . . . . . . . . . . . . . . . . . .  242
  281.       L.3  Simple example  . . . . . . . . . . . . . . . . . . . . . .  246
  282.         L.3.1  Transit domain 3  . . . . . . . . . . . . . . . . . . .  247
  283.         L.3.2  Policy configuration example  . . . . . . . . . . . . .  248
  284.         L.3.3  Discussion  . . . . . . . . . . . . . . . . . . . . . .  249
  285.  
  286.       Index  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  256
  287.  
  288.  
  289.  
  290.  
  291.    Kunzinger                     ISO/IEC 10747                   [ Page 6 ]
  292.  
  293.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  294.  
  295.    Figures
  296.  
  297.  
  298.        1.  Field of Application  . . . . . . . . . . . . . . . . . . .   14
  299.        2.  Intermediate Routeing Domains and End Routeing Domains  . .   17
  300.        3.  Position of IDRP within Network Layer   . . . . . . . . . .   22
  301.        4.  Inter-domain Routeing Components  . . . . . . . . . . . . .   22
  302.        5.  Structure of the UPDATE PDU   . . . . . . . . . . . . . . .   43
  303.        6.  Illustration of Authentication Types 1 and 3  . . . . . . .   84
  304.        7.  Routeing Information Base   . . . . . . . . . . . . . . . .   92
  305.        8.  A Transitive Fully Connected Subnetwork   . . . . . . . . .  107
  306.        9.  IDRP Naming and Containment Hierarchy   . . . . . . . . . .  160
  307.       10.  An Example of the Authentication Type 2   . . . . . . . . .  217
  308.       11.  Example 1 Configuration   . . . . . . . . . . . . . . . . .  230
  309.       12.  Example 2 Configuration   . . . . . . . . . . . . . . . . .  231
  310.       13.  A Portion of an Internet  . . . . . . . . . . . . . . . . .  247
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.    Kunzinger                     ISO/IEC 10747                   [ Page 7 ]
  322.  
  323.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  324.  
  325.    Tables
  326.  
  327.  
  328.        1.  The IDRP Information Bases  . . . . . . . . . . . . . . . .   27
  329.        2.  BIS Finite State Machine  . . . . . . . . . . . . . . . . .   73
  330.        3.  Path Attribute Characteristics  . . . . . . . . . . . . . .   95
  331.        4.  NPDU-Derived Attribute Set  . . . . . . . . . . . . . . . .  151
  332.        5.  IDRP-CL Primitives  . . . . . . . . . . . . . . . . . . . .  157
  333.        6.  Architectural Constants of IDRP   . . . . . . . . . . . . .  159
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.    Kunzinger                     ISO/IEC 10747                   [ Page 8 ]
  348.  
  349.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  350.  
  351.    Foreword
  352.  
  353.  
  354.       ISO (the International Organization for Standardization) and IEC (the
  355.       International Electrotechnical Commission) form the specialized
  356.       system for worldwide standardization.  National bodies that are
  357.       members of ISO or IEC participate in the development of International
  358.       Standards through technical committees established by the respective
  359.       organization to deal with particular fields of technical activity.
  360.       ISO and IEC technical committees collaborate in fields of mutual
  361.       interest.  Other international organizations, governmental and
  362.       non-governmental, in liaison with ISO and IEC, also take part in the
  363.       work.
  364.  
  365.       In the field of information technology, ISO and IEC have established
  366.       a joint technical committee, ISO/IEC JTC 1.  Draft International
  367.       Standards adopted by the joint technical committee are circulated to
  368.       the national bodies for voting.  Publication as an International
  369.       Standard requires approval by at least 75% of the national bodies
  370.       casting a vote.
  371.  
  372.       International Standard ISO 10747 was prepared by Joint Technical
  373.       Committee ISO/IEC JTC 1, Information Technology.
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.    Kunzinger                     ISO/IEC 10747                   [ Page 9 ]
  383.  
  384.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  385.  
  386.    Introduction
  387.  
  388.  
  389.       This Protocol is one of a set of International Standards which
  390.       facilitate the interconnection of open systems.  They cover the
  391.       services and protocols required to achieve such interconnection.
  392.  
  393.       This Protocol is positioned with respect to other related standards
  394.       by the layered structure defined in ISO 7498, and by the Network
  395.       layer organization defined in ISO 8648.  It is located at the top of
  396.       the Network layer and relies on the services of ISO 8473.  This
  397.       protocol permits a routeing domain to exchange information with other
  398.       routeing domains to facilitate the operation of the routeing and
  399.       relaying functions of the Network Layer.  It applies to the following
  400.       categories of routeing, which are described in ISO TR 9575, making no
  401.       distinction between them:
  402.  
  403.       -   Intra-Administrative Domain routeing between routeing domains
  404.       -   Inter-Administrative Domain routeing between routeing domains.
  405.  
  406.       Within the hierarchical relations between routeing protocols, as
  407.       described in ISO TR 9575, this protocol is situated above the
  408.       intra-domain routeing protocols.  That is, this Inter-domain IS-IS
  409.       protocol:
  410.  
  411.       -   maintains information about the interconnections between routeing
  412.           domains, but does not require detailed information about their
  413.           internal structures
  414.  
  415.       -   calculates path segments on a hop-by-hop basis
  416.  
  417.       This protocol calculates path segments which consist of Boundary
  418.       Intermediate systems and the links that interconnect them.  An NPDU
  419.       destined for an End system in another routeing domain will be routed
  420.       via Intra-domain routeing to a Boundary Intermediate system (BIS) in
  421.       the source routeing domain.  Then, the BIS, using the methods of this
  422.       inter-domain routeing protocol, will calculate a path to a Boundary
  423.       Intermediate system in an adjacent routeing domain lying on a path to
  424.       the destination.  After arriving at the next routeing domain, the
  425.       NPDU may also travel within that domain on its way towards a BIS
  426.       located in the next domain along its path.  This process will
  427.       continue on a hop-by-hop basis until the NPDU arrives at a BIS in the
  428.       routeing domain which contains the destination End system.  The
  429.       Boundary IS in this routeing domain will hand the incoming NPDU over
  430.  
  431.    Kunzinger                     ISO/IEC 10747                  [ Page 10 ]
  432.  
  433.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  434.  
  435.       to the domain's intra-domain routeing protocol, which will construct
  436.       a path to the destination End system.
  437.  
  438.       This inter-domain IS-IS routeing protocol places requirements on the
  439.       type of information that a routeing domain must provide and on the
  440.       methods by which this information will be distributed to other
  441.       routeing domains.  These requirements are intended to be minimal,
  442.       addressing only the interactions between Boundary ISs; all other
  443.       internal operations of each routeing domain are outside the scope of
  444.       this protocol.  That is, this Inter-domain routeing protocol does not
  445.       mandate that a routeing domain run a particular intra-domain routeing
  446.       protocol:  for example, it would be a local choice as to whether a
  447.       domain implements a standard intra-domain protocol (such as ISO/IEC
  448.       10589) or a private protocol.
  449.  
  450.       The methods of this protocol differ from those generally adopted for
  451.       an intra-domain routeing protocol because they emphasize the
  452.       interdependencies between efficient route calculation and the
  453.       preservation of legal, contractual, and administrative concerns.
  454.       This protocol calculates routes which will be efficient, loop-free,
  455.       and in compliance with the domain's local routeing policies.  IDRP
  456.       may be used when routeing domains do not fully trust each other; it
  457.       imposes no upper limit on the number of routeing domains that can
  458.       participate in this protocol; and it provides isolation between its
  459.       operations and the internal operations of each routeing domain.
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.    Kunzinger                     ISO/IEC 10747                  [ Page 11 ]
  469.  
  470.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  471.  
  472.    Information Processing Systems - Telecommunications and Information
  473.    Exchange between Systems - Protocol for Exchange of Inter-domain
  474.    Routeing Information among Intermediate Systems to Support Forwarding
  475.    of ISO 8473 PDUs
  476.  
  477.  
  478.  
  479.    1.  Scope
  480.  
  481.  
  482.       This International Standard specifies a protocol to be used by
  483.       Boundary Intermediate systems (defined in 3.6) to acquire and
  484.       maintain information for the purpose of routeing NPDUs between
  485.       different routeing domains.  Figure 1 illustrates the field of
  486.       application of this International Standard.
  487.  
  488.       This International Standard specifies:
  489.  
  490.       -   the procedures for the exchange of inter-domain reachability and
  491.           path information between BISs
  492.       -   the procedures for maintaining inter-domain routeing information
  493.           bases within a BIS
  494.       -   the encoding of protocol data units used to distribute
  495.           inter-domain routeing information between BISs
  496.       -   the functional requirements for implementations that claim
  497.           conformance to this standard
  498.  
  499.       The procedures are defined in terms of:
  500.  
  501.       -   interactions between Boundary Intermediate systems through the
  502.           exchange of protocol data units
  503.       -   interactions between this protocol and the underlying Network
  504.           Service through the exchange of service primitives
  505.       -   constraints on policy feasibility and enforcement which must be
  506.           observed by each Boundary Intermediate system in a routeing
  507.           domain
  508.  
  509.       The boundaries of Administrative Domains are realized as artifacts of
  510.       the placement of policy constraints and the aggregation of network
  511.       layer reachability information; they are not manifested explicitly in
  512.  
  513.    Kunzinger                     ISO/IEC 10747                  [ Page 12 ]
  514.  
  515.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  516.  
  517.       the protocol.  The protocol described in this International Standard
  518.       operates at the level of individual routeing domains.  The
  519.       establishment of administrative domains is outside the scope of this
  520.       standard.
  521.  
  522.    2.  Normative references
  523.  
  524.  
  525.       The following standards contain provisions which, through reference
  526.       in this text, constitute provisions of this International Standard.
  527.       At the time of publication, the editions indicated were valid.  All
  528.       standards are subject to revision, and parties to agreements based on
  529.       this International Standard are encouraged to investigate the
  530.       possibility of applying the most recent editions of the standards
  531.       listed below.  Members of IEC and ISO maintain registers of currently
  532.       valid International Standards.
  533.  
  534.       ISO 7498: 1984,  Information Processing Systems - Open Systems
  535.         Interconnection - Basic Reference Model
  536.  
  537.       ISO 7498/Add. 1: 1984,  Information Processing Systems - Open Systems
  538.         Interconnection - Addendum to ISO 7498 Covering Connectionless-mode
  539.         Transmission
  540.  
  541.       ISO 7498/Add. 3: 1984,  Information Processing Systems - Open Systems
  542.         Interconnection - Basic Reference Model - Part 3: Naming and
  543.         Addressing
  544.  
  545.       ISO/DIS 7498/Add. 4 (to be published):  Information Processing
  546.         Systems - Open Systems Interconnection - Basic Reference Model -
  547.         Part 4: OSI Management Framework
  548.  
  549.       ISO 8348: 1993,  Information Processing Systems - Telecommunications
  550.         and Information Exchange between Systems - Network Service
  551.         Definition
  552.  
  553.       ISO 8648: 1988,  Information Processing Systems - Telecommunications
  554.         and Information Exchange between Systems - Internal Organization of
  555.         the Network Layer
  556.  
  557.  
  558.    Kunzinger                     ISO/IEC 10747                  [ Page 13 ]
  559.  
  560.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  561.  
  562.    +----------------------------------------------------------------------+
  563.    |                                                                      |
  564.    |                                 inter                                |
  565.    |   +--------------+   +------------------+         +--------------+   |
  566.    |   | End Routeing |   | Transit Routeing |         | End Routeing |   |
  567.    |   |   Domain     |   |      Domain      |         |    Domain    |   |
  568.    |   +--------------+   +------------------+         +--------------+   |
  569.    |          \                  /  |   -                   /             |
  570.    |           \                /   |    -                 /              |
  571.    |            \              /    |     -               /               |
  572.    |             \            /     |      -             /                |
  573.    |        +------------------+    |     +------------------+            |
  574.    |        | Transit Routeing |    |     | Transit Routeing |            |
  575.    |        |      Domain      |    |     |      Domain      |            |
  576.    |        +------------------+    |     +------------------+            |
  577.    |                /     \         |              |                      |
  578.    |               /       \        |              |                      |
  579.    |              /         \       |              |                      |
  580.    |   +--------------+  +------------------+      |                      |
  581.    |   | End Routeing |  | Transit Routeing |      |                      |
  582.    |   |   Domain     |  |      Domain      |      |                      |
  583.    |   +--------------+  +------------------+      |                      |
  584.    |                              |                |                      |
  585.    |                              |                |                      |
  586.    |                              |                |                      |
  587.    |                       +--------------+   +--------------+            |
  588.    |                       | End Routeing |   | End Routeing |            |
  589.    |                       |   Domain     |   |   Domain     |            |
  590.    |                       +--------------+   +--------------+            |
  591.    |                               \               /                      |
  592.    |                                \             /                       |
  593.    |                                 \           /                        |
  594.    |                             +------------------+                     |
  595.    |                             | Transit Routeing |                     |
  596.    |                             |      Domain      |                     |
  597.    |                             +------------------+                     |
  598.    |                                                                      |
  599.    |                                                                      |
  600.    +----------------------------------------------------------------------+
  601.    Figure 1. Field of Application.   The Inter-domain Routeing Protocol
  602.              operates between routeing domains; intra-domain routeing is
  603.              not within its scope.
  604.  
  605.       ISO TR 9577: 1991,  Information Processing Systems -
  606.         Telecommunications and Information Exchange between Systems -
  607.         Protocol identification in the Network Layer
  608.  
  609.    Kunzinger                     ISO/IEC 10747                  [ Page 14 ]
  610.  
  611.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  612.  
  613.    3.  Definitions
  614.  
  615.  
  616.       For the purposes of this International Standard, the following
  617.       definitions apply.
  618.  
  619.    3.1  Reference model definitions
  620.  
  621.       This International Standard uses the following terms defined in
  622.       ISO 7498:
  623.  
  624.       a)  Network entity
  625.       b)  Network Layer
  626.       c)  Network Protocol
  627.       d)  Network Protocol Data Unit
  628.       e)  Network relay
  629.       f)  Network Service Access Point
  630.       g)  Network Service Access Point Address
  631.       h)  Real system
  632.       i)  Routeing
  633.  
  634.       This International Standard uses the following terms defined in ISO
  635.       7498-3:
  636.  
  637.       a)  (N)-entity title
  638.  
  639.    3.2  Network layer architecture definitions
  640.  
  641.       This International Standard uses the following terms defined in
  642.       ISO 8648:
  643.  
  644.       a)  End system
  645.       b)  Intermediate System
  646.       c)  Subnetwork
  647.  
  648.  
  649.  
  650.  
  651.    Kunzinger                     ISO/IEC 10747                  [ Page 15 ]
  652.  
  653.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  654.  
  655.    3.3  Network layer addressing definitions
  656.  
  657.       This International Standard uses the following terms defined in
  658.       ISO 8348/AD2:
  659.  
  660.       a)  Subnetwork point of attachment
  661.  
  662.    3.4  Routeing framework definitions
  663.  
  664.       This International Standard uses the following terms defined in
  665.       ISO 9575:
  666.  
  667.       a)  Administrative Domain
  668.       b)  Common Domain
  669.       c)  Fire wall
  670.       d)  Routeing Domain
  671.  
  672.    3.5  Intra-domain routeing definitions
  673.  
  674.       This International Standard uses the following terms defined in ISO
  675.       10589:
  676.  
  677.       a)  Adjacency
  678.       b)  Link
  679.  
  680.    3.6  Additional definitions
  681.  
  682.       For purposes of this International Standard, the following
  683.       definitions apply:
  684.  
  685.       3.6.1 Intra-domain IS-IS routeing protocol: A routeing protocol that
  686.       is run between Intermediate systems in a single routeing domain to
  687.       determine routes that pass through only systems and links wholly
  688.       contained within the domain.
  689.  
  690.       Note 1:  Unless reference is made to a specific protocol, this term
  691.                is used as a general designator, encompassing both private
  692.                and internationally standardized protocols.
  693.  
  694.       3.6.2 Inter-domain link: A real (physical) or virtual (logical) link
  695.       between two or more Boundary Intermediate systems (see Figure 2).  A
  696.       link between two BISs in the same routeing domain carry both
  697.       intra-domain traffic and inter-domain traffic; a link between two
  698.  
  699.    Kunzinger                     ISO/IEC 10747                  [ Page 16 ]
  700.  
  701.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  702.  
  703.    +----------------------------------------------------------------------+
  704.    |                                                                      |
  705.    |                                 irderd                               |
  706.    |                                                                      |
  707.    +----------------------------------------------------------------------+
  708.    Figure 2. Intermediate Routeing Domains and End Routeing Domains.  The
  709.              classification of a routeing domain as an TRD or an ERD
  710.              depends upon its relaying policies.
  711.  
  712.       BISs located in adjacent routeing domains can carry inter-domain
  713.       traffic, but not intra-domain traffic.
  714.  
  715.       3.6.3 Boundary Intermediate system: An intermediate system that runs
  716.       the protocol specified in this standard, has at least one
  717.       inter-domain link attached to it, and may optionally have
  718.       intra-domain links attached to it.
  719.  
  720.       3.6.4 End Routeing Domain: A routeing domain whose local policies
  721.       permit its BISs to calculate inter-domain path segments only for PDUs
  722.       whose source is located within that routeing domain.  There are two
  723.       varieties of End routeing domains: stub and multi-homed.  A stub ERD
  724.       has inter-domain links to only one adjacent routeing domain, while a
  725.       multi-homed ERD has inter-domain links to several adjacent routeing
  726.       domains.
  727.  
  728.       For example, the domains labelled as multi-homed ERDs in Figure 2
  729.       have policies which prohibit them from providing relaying functions;
  730.       it is these policies, not the topology of their interconnections,
  731.       that make them ERDs.
  732.  
  733.       3.6.5 Transit Routeing Domain: A routeing domain whose policies
  734.       permit its BISs to calculate inter-domain path segments for PDUs
  735.       whose source is located either in the local routeing domain or in a
  736.       different routeing domain.  That is, it can provide a relaying
  737.       service for such PDUs.  See Figure 2 for an illustration of TRDs.
  738.  
  739.       3.6.6 Adjacent RDs: Two RDs ("A" and "B") are adjacent to one another
  740.       if there is a at least one pair of BISs, one located in "A" and the
  741.       other in "B", that are attached to each other by means of a real
  742.       subnetwork.
  743.  
  744.       3.6.7 RD Path: A list of the RDIs of the routeing domains and
  745.       routeing domain confederations through which a given UPDATE PDU has
  746.       travelled.
  747.  
  748.  
  749.    Kunzinger                     ISO/IEC 10747                  [ Page 17 ]
  750.  
  751.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  752.  
  753.       3.6.8 Routeing Domain Confederation: A set of routeing domains which
  754.       have agreed to join together and to conform to the rules in 7.13 of
  755.       this international standard.  To the outside world, a confederation
  756.       is indistinguishable from a routeing domain.
  757.  
  758.       3.6.9 Nested RDCs: A routeing domain confederation "A" (RDC-A) is
  759.       nested within RDC-B when all of the following conditions are
  760.       satisfied simultaneously:
  761.  
  762.       a)  all members of RDC-A are also members of RDC-B
  763.       b)  there are some members of RDC-B that are not members of RDC-A
  764.  
  765.       3.6.10 Overlapping RDCs: A routeing domain confederation (RDC-A)
  766.       overlaps RDC-B when all the following conditions are satisfied
  767.       simultaneously:
  768.  
  769.       a)  there are some members of RDC-A that are also members of RDC-B,
  770.           and
  771.       b)  there are some members of RDC-A that are not members of RDC-B,
  772.           and
  773.       c)  there are some members of RDC-B that are not members of RDC-A.
  774.  
  775.       3.6.11 Disjoint RDCs: Two routeing domain confederations, RDC-A and
  776.       RDC-B, are disjoint from one another when there are no routeing
  777.       domains which are simultaneously members of both RDC-A and RDC-B.
  778.  
  779.       3.6.12 Policy Information Base: The collection of routeing policies
  780.       that a BIS will apply to the routeing information that it learns
  781.       using this International standard.  It is not required that all
  782.       routeing domains use the same syntax and semantics to express policy;
  783.       that is, the format of the Policy Information Base is left as a local
  784.       option.
  785.  
  786.       3.6.13 Route Origin: Each route or component of an aggregated route
  787.       has a single unique origin.  This is the RD or RDC in which the
  788.       route's destinations are located.
  789.  
  790.  
  791.  
  792.  
  793.  
  794.    Kunzinger                     ISO/IEC 10747                  [ Page 18 ]
  795.  
  796.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  797.  
  798.    4.  Symbols and abbreviations
  799.  
  800.  
  801.       The symbols, acronyms, and abbreviations listed in the following
  802.       clauses are used in this International Standard.
  803.  
  804.    4.1  Data unit abbreviations
  805.  
  806.       BISPDU  Boundary Intermediate System PDU
  807.  
  808.       DT PDU  ISO 8473 Data Protocol Data Unit
  809.  
  810.       ER PDU  ISO 8473 Error Protocol Data Unit
  811.  
  812.       NPDU    Network Protocol Data Unit
  813.  
  814.       NSDU    Network Service Data Unit
  815.  
  816.       PDU     Protocol Data Unit
  817.  
  818.    4.2  Addressing abbreviations
  819.  
  820.       AFI     Authority and Format Identifier
  821.  
  822.       DSP     Domain Specific Part
  823.  
  824.       IDI     Initial Domain Identifier
  825.  
  826.       IDP     Initial Domain Part
  827.  
  828.       LSAP    Link Service Access Point
  829.  
  830.       NET     Network Entity Title
  831.  
  832.       NPAI    Network Protocol Address Information
  833.  
  834.       NSAP    Network Service Access Point
  835.  
  836.       SNPA    Subnetwork Point of Attachment
  837.  
  838.  
  839.    Kunzinger                     ISO/IEC 10747                  [ Page 19 ]
  840.  
  841.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  842.  
  843.    4.3  Other abbreviations
  844.  
  845.       BIS     Boundary Intermediate System
  846.  
  847.       CL      Connectionless Mode
  848.  
  849.       CLNS    Connectionless Mode Network Service
  850.  
  851.       CM      Confederation Member
  852.  
  853.       ERD     End Routeing Domain
  854.  
  855.       ES      End System
  856.  
  857.       FIB     Forwarding Information Base
  858.  
  859.       FSM     Finite State Machine
  860.  
  861.       IDRP    Inter-domain Routeing Protocol (an acronym for the protocol
  862.               described in this International Standard)
  863.  
  864.       IPI     Initial Protocol Identifier
  865.  
  866.       MIB     Management Information Base
  867.  
  868.       NLRI    Network layer reachability information
  869.  
  870.       NLSP    Network layer security protocol
  871.  
  872.       OSIE    OSI Environment
  873.  
  874.       PCI     Protocol Control Information
  875.  
  876.       PIB     Policy Information Base
  877.  
  878.       QOS     Quality of Service
  879.  
  880.       RDC     Routeing Domain Confederation
  881.  
  882.       RDI     Routeing Domain Identifier
  883.  
  884.       RIB     Routeing Information Base
  885.  
  886.       SPI     Subsequent Protocol Identifier
  887.  
  888.       SNICP   Subnetwork independent convergence protocol
  889.  
  890.    Kunzinger                     ISO/IEC 10747                  [ Page 20 ]
  891.  
  892.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  893.  
  894.       TRD     Transit Routeing Domain
  895.  
  896.    5.  General protocol information
  897.  
  898.  
  899.       IDRP is a routeing information exchange protocol which is located
  900.       within the Network layer and interfaces to ISO 8473, which serves as
  901.       a SNICP (see Figure 3).  In particular, BISPDUs are encapsulated as
  902.       the data portion of ISO 8473 NPDUs.  IDRP is a connection-oriented
  903.       protocol which is implemented only in Intermediate systems.  Routeing
  904.       and control information is carried in BISPDUs (as in clause 6), which
  905.       flow on connections between pairs of BISs.  Each BISPDU is packaged
  906.       within one or more NPDUs for transmission by the underlying Network
  907.       service.  IDRP relies on the underlying Network service to provide
  908.       for fragmentation and reassembly of BISPDUs.  IDRP queues Outbound
  909.       BISPDUs as input to the underlying Network Layer service, retaining a
  910.       copy of each BISPDU until an acknowledgement is received.  Similarly,
  911.       inbound BISPDUs are queued as input to the BISPDU-Receive process.
  912.  
  913.       IDRP exchanges BISPDUs in a reliable fashion.  It provides mechanisms
  914.       for the ordered delivery of BISPDUs and for the detection and
  915.       retransmission of lost or corrupted BISPDUs.  The mechanisms for
  916.       achieving reliable delivery of BISPDUs are described in 7.7; methods
  917.       for establishing BIS-BIS connections are described in 7.6.
  918.  
  919.       IDRP is consistent with the routeing model presented in ISO TR 9575.
  920.       To emphasize its policy-based nature, the IDRP routeing model
  921.       includes a Policy Information Base, as shown in Figure 4.  IDRP can
  922.       be described in terms of four major components:
  923.  
  924.       a)  BISPDU-Receive Process:  responsible for accepting and processing
  925.           control and routeing information from the local environment and
  926.           from BISPDUs of other BISs.  This information is used for a
  927.           variety of purposes, such as receiving error reports and
  928.           guaranteeing reliable reception of BISPDUs from neighboring BISs.
  929.           (For example, the Update-Receive process (see 7.14) is the part
  930.           of the BISPDU-Receive process that deals with the reception of
  931.           routeing information after a BIS-BIS connection has been
  932.           established.)
  933.  
  934.       b)  BISPDU-Send Process: responsible for constructing BISPDUs which
  935.           contain control and routeing information.  BISPDUs are used by
  936.  
  937.    Kunzinger                     ISO/IEC 10747                  [ Page 21 ]
  938.  
  939.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  940.  
  941.    +----------------------------------------------------------------------+
  942.    |                                                                      |
  943.    |                                idrploc                               |
  944.    |                                                                      |
  945.    |         ----------     +-------------------+                         |
  946.    |              |         |   Inter-Domain    |                         |
  947.    |              |         | Routeing Protocol |                         |
  948.    |              |         |       (IDRP)      |                         |
  949.    |              |         +-------------------+                         |
  950.    |              |         |                   |                         |
  951.    |           Network      |     ISO 8473      |                         |
  952.    |            Layer       |                   |                         |
  953.    |              |         |                   |                         |
  954.    |              |         |                   |                         |
  955.    |         ----------     +-------------------+                         |
  956.    |                                                                      |
  957.    +----------------------------------------------------------------------+
  958.    Figure 3. Position of IDRP within Network Layer
  959.  
  960.           the local BIS for a variety of purposes, such as advertising
  961.           routeing information to other BISs, initiating BIS-BIS
  962.           communication, and validating BIS routeing information bases.
  963.  
  964.       c)  Decision Process: responsible for calculating routes which will
  965.           be consistent with local routeing policies.  It operates on
  966.           information in both the PIB and the Adj-RIBs, using it to create
  967.           the Local RIBs (Loc-RIBs) and the local Forwarding Information
  968.           Bases (see 7.10).
  969.  
  970.       d)  Forwarding Process: responsible for supplying resources to
  971.           accomplish relaying of NPDUs to their destinations.  It uses the
  972.           FIB(s) created by the Decision Process.
  973.  
  974.  
  975.  
  976.    +----------------------------------------------------------------------+
  977.    |                                                                      |
  978.    |                                tr95753                               |
  979.    |                                                                      |
  980.    +----------------------------------------------------------------------+
  981.    Figure 4. Inter-domain Routeing Components
  982.  
  983.    Kunzinger                     ISO/IEC 10747                  [ Page 22 ]
  984.  
  985.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  986.  
  987.    5.1  Inter-RD topology
  988.  
  989.       This protocol views the overall global OSIE as an arbitrary
  990.       interconnection of Transit Routeing Domains and End Routeing Domains
  991.       which are connected by real inter-domain links placed between BISs
  992.       located in the respective routeing domains.  This standard provides
  993.       for the direct exchange of routeing information between BISs, which
  994.       may be located either in the same routeing domain or in adjacent
  995.       routeing domains.
  996.  
  997.    5.2  Routeing policy
  998.  
  999.       The direct exchange of policy information is outside the scope of
  1000.       IDRP.  Instead, IDRP communicates policy information indirectly in
  1001.       its UPDATE PDUs which reflect the effects of the local policies of
  1002.       RDs on the path to the destination.  Since all BISs within a routeing
  1003.       domain must enforce consistent active routeing policies, IDRP
  1004.       provides methods for detecting the existence of active inconsistent
  1005.       policies within a routeing domain.  However, the semantics of
  1006.       routeing policies and the methods for establishing them are outside
  1007.       the scope of this standard.
  1008.  
  1009.       Note 2:  Annex L illustrates a policy description method and its
  1010.                associated semantics as one example of how policies might be
  1011.                expressed.
  1012.  
  1013.       Each routeing domain chooses its routeing policies independently, and
  1014.       insures that all its BISs calculate inter-domain paths which satisfy
  1015.       those policies.  Local routeing policies are applied to information
  1016.       in the Routeing Information Base (RIB) to determine a degree of
  1017.       preference for potential paths (see 7.16).  From those paths which
  1018.       are not rejected by the routeing policy, a BIS selects the paths
  1019.       which it will use locally; from the locally selected paths, the BIS
  1020.       will then select the paths that it will advertise externally.
  1021.  
  1022.       To enforce routeing policies and to insure that policies are both
  1023.       feasible and consistent, this protocol:
  1024.  
  1025.       -   carries path information, expressed in terms of Routeing Domain
  1026.           Identifiers (RDIs) and various path attributes, in its UPDATE
  1027.           PDUs
  1028.  
  1029.       -   permits a routeing domain to selectively propagate its
  1030.           reachability information to a limited set of other routeing
  1031.           domains
  1032.  
  1033.    Kunzinger                     ISO/IEC 10747                  [ Page 23 ]
  1034.  
  1035.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1036.  
  1037.       -   provides a method to detect policy inconsistencies within the set
  1038.           of BISs located in a single routeing domain.
  1039.  
  1040.       -   permits each routeing domain to set its policies individually:
  1041.           that is, global coordination of policy is not required.
  1042.  
  1043.       The set of rules that comprises the routing policy enforced by a BIS
  1044.       are held in a Policy Information Base (PIB), which is separate from
  1045.       the RIB.  Depending on local Security and QOS requirements, the PIB
  1046.       may also contain:
  1047.  
  1048.       a)  rules for the aggregation of routes that include the SECURITY and
  1049.           LOCALLY DEFINED QOS path attributes (see 7.18.2)
  1050.  
  1051.       b)  rules for enforcing local QOS Maintenance Policies and the
  1052.           effective Security Policy, during NPDU forwarding
  1053.  
  1054.       c)  rules for updating SECURITY and LOCALLY DEFINED QOS path
  1055.           attributes in routes that are re-advertised to external routeing
  1056.           domains.
  1057.  
  1058.    5.3  Types of systems
  1059.  
  1060.       An Intermediate system that implements the protocol described in this
  1061.       International Standard is called a Boundary Intermediate system
  1062.       (BIS).  Each BIS resides in a single routeing domain, and may
  1063.       optionally act simultaneously as a BIS and as an intra-domain IS
  1064.       within its own routeing domain.  For example, a single system could
  1065.       simultaneously play the roles of a BIS for Inter-domain routeing and
  1066.       a level-2 IS for Intra-domain routeing as described in ISO/IEC 10589.
  1067.  
  1068.    5.4  Types of routeing domains
  1069.  
  1070.       The protocol described in this International Standard recognizes two
  1071.       types of routeing domains, end routeing domains and transit routeing
  1072.       domains; each of them may contain both ISs and ESs.
  1073.  
  1074.    5.5  Routeing domain confederations
  1075.  
  1076.       IDRP provides support for Routeing Domain Confederations (RDCs); this
  1077.       optional function permits groups of routeing domains to be organized
  1078.       in a hierarchical fashion.
  1079.  
  1080.  
  1081.    Kunzinger                     ISO/IEC 10747                  [ Page 24 ]
  1082.  
  1083.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1084.  
  1085.       An RDC is formed by means outside the scope of this protocol, and
  1086.       composed of a set of confederation members.  Confederation members
  1087.       (CMs) are either individual routeing domains or routeing domain
  1088.       confederations.  Thus, the definition of an RDC is recursive: a
  1089.       confederation member may be a single routeing domain or another
  1090.       confederation.
  1091.  
  1092.    5.6  Routes: advertisement and storage
  1093.  
  1094.       For purposes of this protocol, a route is defined as a unit of
  1095.       information that pairs destinations with the attributes of a path to
  1096.       those destinations:
  1097.  
  1098.       -   Routes are advertised between a pair of BISs in UPDATE PDUS: the
  1099.           destinations are the systems whose NSAP prefixes are reported in
  1100.           the NLRI field, and the path is the information reported in the
  1101.           path attributes fields of the same UPDATE PDU.
  1102.  
  1103.       -   Routes are stored in the Routeing Information Bases:  namely, the
  1104.           Adj-RIBs-In, the Loc-RIBs, and the Adj-RIBs-Out.  Routes that
  1105.           will be advertised to other BISs must be present in the
  1106.           Adj-RIBs-Out; routes that will be used by the local BIS must be
  1107.           present in the Loc-RIBs, and the next hop for each of these
  1108.           routes must present in the local BIS's Forwarding Information
  1109.           Bases; and routes that are received from other BISs are present
  1110.           in the Adj-RIBs-In.
  1111.  
  1112.       -   A Route-ID is assigned to each route that is advertised by a BIS.
  1113.           This identifier is unambiguous in the context of the BIS-BIS
  1114.           connection between the advertising BIS and the receiving BIS.
  1115.  
  1116.       A BIS can support multiple routes to the same destination by
  1117.       maintaining multiple RIBs and the corresponding multiple FIBs.  Each
  1118.       Loc-RIB will be identified by a different RIB-Att (see 5.7 and 5.8);
  1119.       an Adj-RIB-Out shall contain at most one route to a particular
  1120.       destination.
  1121.  
  1122.       If the BIS chooses to advertise the route, it may add to or modify
  1123.       the path attributes of the route before advertising it to adjacent
  1124.       BISs.  For example, it is possible under certain circumstances to
  1125.       aggregate path attributes, NLRI, or entire routes, as described more
  1126.       fully in 7.18.2; or, as another example, the further distribution of
  1127.       a route may be restricted through the use of the DIST_LIST_EXCL
  1128.       attribute, as described in 7.12.6.
  1129.  
  1130.  
  1131.    Kunzinger                     ISO/IEC 10747                  [ Page 25 ]
  1132.  
  1133.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1134.  
  1135.       IDRP also provides mechanisms by which a BIS can inform its neighbor
  1136.       that a previously advertised route is no longer available for use.
  1137.       There are three methods by which a given BIS can indicate that a
  1138.       route has been withdrawn from service:
  1139.  
  1140.       a)  the Route-ID for a previously advertised route can be advertised
  1141.           in the WITHDRAWN ROUTES field of an UPDATE PDU, thus marking the
  1142.           associated route as being no longer available for use
  1143.       b)  a replacement route (with the same distinguishing attributes and
  1144.           NLRI) can be advertised, or
  1145.       c)  the BIS-BIS connection can be closed, which implicitly removes
  1146.           from service all routes which the pair of BISs had advertised to
  1147.           each other.
  1148.  
  1149.    5.7  Distinguishing path attributes and RIB-Atts
  1150.  
  1151.       Certain path attributes are classified as Distinguishing Attributes.
  1152.       Each distinct combination of such attributes identifies a particular
  1153.       information base which will be used to store information about the
  1154.       route.  Each combination of distinguishing attributes is called a
  1155.       RIB-Att (RIB attribute); the RIB-Att is a common identifier for the
  1156.       Adj-RIB-In, Loc-RIB, Adj-RIB-Out, and FIB with which the route
  1157.       information is associated.
  1158.  
  1159.       The number of RIB-Atts is limited by the number of distinct sets of
  1160.       permissible distinguishing attributes (see 7.11.2); this in turn
  1161.       limits the number of RIBs and FIBs that a BIS can support.  The
  1162.       number of RIBs and FIBs can be further constrained by local
  1163.       decisions──a BIS may choose to support only a limited number of
  1164.       distinct routeing information bases (that is, a limited number of
  1165.       RIB-Atts, as described in 7.10.1).
  1166.  
  1167.    5.8  Selecting the information bases
  1168.  
  1169.       Each RIB is identified by a RIB-Att (RIB attribute), and the same
  1170.       RIB-Att also uniquely identifies the associated FIB.
  1171.  
  1172.       For an UPDATE PDU, the BIS determines the ROUTE_ID, LOCAL_PREF, and
  1173.       the set of distinguishing path attributes associated with each route
  1174.       that is advertised.  The set of distinguishing path attributes
  1175.       contained between a pair of consecutively occurring ROUTE_SEPARATORs
  1176.       or between the last ROUTE_SEPARATOR and the end of the BISPDU
  1177.       unambiguously determine the RIB-Att for that route.
  1178.  
  1179.  
  1180.    Kunzinger                     ISO/IEC 10747                  [ Page 26 ]
  1181.  
  1182.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1183.  
  1184.       For an NPDU, the BIS unambiguously determines the FIB that should be
  1185.       used for forwarding this NPDU.  It maps certain fields in NPDU's
  1186.       header into a RIB-Att, which then unambiguously identifies a
  1187.       particular FIB (see 8.2 and 8.3).
  1188.  
  1189.       A summary of IDRP's information bases is presented in Table 1.
  1190.  
  1191.    +----------------------------------------------------------------------+
  1192.    | Table 1 (Page 1 of 2). The IDRP Information Bases.  The indexing     |
  1193.    |                        variables and contents of the RIBs and FIBs   |
  1194.    |                        are shown.                                    |
  1195.    +-----------------+-----------------+----------------------------------+
  1196.    | Information     | Indexed by...   | Contains...                      |
  1197.    | Base            |                 |                                  |
  1198.    +-----------------+-----------------+----------------------------------+
  1199.    |  Adj-RIB-In     | -   NET of      | -   Path attributes              |
  1200.    |                 |     adjacent    | -   NLRI                         |
  1201.    |                 |     BIS         |                                  |
  1202.    |                 | -   RIB-Atts    |                                  |
  1203.    |                 | -   Route-ID    |                                  |
  1204.    +-----------------+-----------------+----------------------------------+
  1205.    |  Loc-RIB        | -   RIB-Atts    | -   Path attributes              |
  1206.    |                 |                 | -   NLRI                         |
  1207.    +-----------------+-----------------+----------------------------------+
  1208.    |  Adj-RIB-Out    | -   NET of      | -   Path attributes              |
  1209.    |                 |     adjacent    | -   NLRI                         |
  1210.    |                 |     BIS         |                                  |
  1211.    |                 | -   RIB-Atts    |                                  |
  1212.    |                 | -   Route-ID    |                                  |
  1213.    +-----------------+-----------------+----------------------------------+
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.    Kunzinger                     ISO/IEC 10747                  [ Page 27 ]
  1222.  
  1223.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1224.  
  1225.    +----------------------------------------------------------------------+
  1226.    | Table 1 (Page 2 of 2). The IDRP Information Bases.  The indexing     |
  1227.    |                        variables and contents of the RIBs and FIBs   |
  1228.    |                        are shown.                                    |
  1229.    +-----------------+-----------------+----------------------------------+
  1230.    | Information     | Indexed by...   | Contains...                      |
  1231.    | Base            |                 |                                  |
  1232.    +-----------------+-----------------+----------------------------------+
  1233.    |  FIB            | -   RIB-Atts    | -   NET of next hop BIS          |
  1234.    |                 | -   NLRI        | -   Output SNPA of local BIS     |
  1235.    |                 |                 | -   Input SNPA of next hop BIS   |
  1236.    |                 |                 | -   minimum priority associated  |
  1237.    |                 |                 |     with this subnetwork, when   |
  1238.    |                 |                 |     the RIB-Att contains the     |
  1239.    |                 |                 |     PRIORITY attribute           |
  1240.    |                 |                 | -   security related information |
  1241.    |                 |                 |     associated with this         |
  1242.    |                 |                 |     subnetwork, when the RIB-Att |
  1243.    |                 |                 |     contains the SECURITY        |
  1244.    |                 |                 |     attribute                    |
  1245.    |                 |                 | -   QOS metric value, when the   |
  1246.    |                 |                 |     RIB-Att contains a RESIDUAL  |
  1247.    |                 |                 |     ERROR, TRANSIT DELAY,        |
  1248.    |                 |                 |     EXPENSE, or LOCALLY DEFINED  |
  1249.    |                 |                 |     QOS attribute                |
  1250.    +-----------------+-----------------+----------------------------------+
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.    Kunzinger                     ISO/IEC 10747                  [ Page 28 ]
  1260.  
  1261.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1262.  
  1263.    +----------------------------------------------------------------------+
  1264.    | Notes:                                                               |
  1265.    |                                                                      |
  1266.    | a)  As a local option, a BIS may elect to apply information          |
  1267.    |     reduction techniques to path attributes and NLRI information.    |
  1268.    |                                                                      |
  1269.    | b)  For each adjacent BIS, a given BIS maintains an Adj-RIB-In for   |
  1270.    |     each RIB-Att (including the Empty RIB-Att) that it supports.     |
  1271.    |                                                                      |
  1272.    | c)  A BIS maintains a separate Loc-RIB for each RIB-Att (including   |
  1273.    |     the Empty RIB-Att) that it supports.                             |
  1274.    |                                                                      |
  1275.    | d)  For each adjacent BIS, a given BIS maintains an Adj-RIB-Out for  |
  1276.    |     each set of RIB-Atts (including the Empty RIB-Att) that it       |
  1277.    |     advertises to that neighbor.                                     |
  1278.    |                                                                      |
  1279.    | e)  A given BIS maintains a separate FIB for each set of RIB-Atts    |
  1280.    |     (including the empty RIB-Att) that it supports── that is, each   |
  1281.    |     FIB corresponds to a Loc-RIB.                                    |
  1282.    |                                                                      |
  1283.    |     To facilitate the forwarding process, a BIS can organize each of |
  1284.    |     its FIBS into two conceptual parts:  one containing information  |
  1285.    |     for NLRI located within its own RD, and another for NLRI located |
  1286.    |     in other RDs (as in clause 8).  For external NLRI, a BIS can     |
  1287.    |     further organize the FIB information based on whether the        |
  1288.    |     next-hop-BIS is located within its own RD or in another RD (see  |
  1289.    |     8.4, items "a" and "b").  And finally, for those next-hop BISs   |
  1290.    |     located in its own RD, the local BIS can organize the            |
  1291.    |     information according to a specific forwarding mechanism (see    |
  1292.    |     8.4, items "b1" and  "b2").                                      |
  1293.    +----------------------------------------------------------------------+
  1294.  
  1295.    5.9  Routeing information exchange
  1296.  
  1297.       This International Standard provides several rules governing the
  1298.       distribution and exchange of routeing information:
  1299.  
  1300.       -   rules for distributing routeing information internally (to BISs
  1301.           within a routeing domain)
  1302.  
  1303.       -   rules for distributing routeing information externally (to BISs
  1304.           in adjacent routeing domains)
  1305.  
  1306.  
  1307.    Kunzinger                     ISO/IEC 10747                  [ Page 29 ]
  1308.  
  1309.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1310.  
  1311.       Routeing information is carried in the protocol's BISPDUs, which are
  1312.       generated on an event-driven basis whenever a BIS receives
  1313.       information which causes it advertise new paths.
  1314.  
  1315.    5.9.1  Internal neighbor BIS
  1316.  
  1317.       Each BIS establishes and maintains communications with all other BISs
  1318.       located in its routeing domain.  The identity of all BISs within a
  1319.       routeing domain is contained in managed object INTERNAL_BIS described
  1320.       in 7.3.
  1321.  
  1322.    5.9.2  External neighbor BIS
  1323.  
  1324.       Each BIS may establish and maintain communications with other BISs in
  1325.       adjacent routeing domains.  A BIS has no direct communications link
  1326.       with any BIS in another routeing domain unless that RD is adjacent to
  1327.       it, as defined in 3.6: that is, a BIS does not communicate directly
  1328.       with a BIS located in a different routeing domain unless the pair of
  1329.       BISs are attached to at least one common subnetwork.  The identity of
  1330.       neighbor BISs in adjacent routeing domains is contained in managed
  1331.       object EXTERNAL-BIS-NEIGHBORS described in 7.3.
  1332.  
  1333.       Note 3:  In the absence of an implementation specific method for
  1334.                ascertaining that a neighbor BIS listed in managed object
  1335.                EXTERNAL-BIS-NEIGHBORS is located on a common subnetwork
  1336.                with itself, a local BIS can include the ISO 8473 Complete
  1337.                Route Record parameter so that the recipient of the BISPDU
  1338.                can determine whether the sending BIS is located on the same
  1339.                subnetwork as itself.
  1340.  
  1341.    5.10  Routeing domain identifiers
  1342.  
  1343.       Each routeing domain (RD) and routeing domain confederations (RDC)
  1344.       whose BIS(s) implement the protocol described in this International
  1345.       Standard shall have an unambiguous routeing domain identifier (RDI),
  1346.       which is a generic Network entity title, as described in ISO 7498.
  1347.  
  1348.       An RDI is assigned statically in accordance with ISO 8348/Add.2, and
  1349.       does not change based on the operational status of the routeing
  1350.       domain.  An RDI identifies a routeing domain or a confederation
  1351.       uniquely, but does not necessarily convey any information about its
  1352.       policies or the identities of its members.
  1353.  
  1354.  
  1355.    Kunzinger                     ISO/IEC 10747                  [ Page 30 ]
  1356.  
  1357.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1358.  
  1359.    5.11  Formats of RDIs, NETs, and NSAP addresses
  1360.  
  1361.       Within routeing domains whose BISs implement the protocol defined in
  1362.       this International Standard, RDIs, NETs and NSAP addresses shall be
  1363.       structured as described in 7.1.
  1364.  
  1365.       All Boundary Intermediate systems shall be able to generate and
  1366.       forward PDUs containing NSAP addresses or NETs whose abstract syntax
  1367.       is as described in ISO 8348/AD2.
  1368.  
  1369.    5.12  Design objectives
  1370.  
  1371.       The protocol described in this international standard was developed
  1372.       with a view towards satisfying certain design goals, while others
  1373.       specifically were not addressed by the mechanisms of this protocol.
  1374.  
  1375.    5.12.1  Within the scope of the protocol
  1376.  
  1377.       This International Standard supports the following design
  1378.       requirements:
  1379.  
  1380.       Control Transit through an RD: It provides mechanisms to permit a
  1381.         given routeing domain to control the ability of NPDUs from other
  1382.         routeing domains to transit through itself.
  1383.  
  1384.       Network Layer Protocol Compatibility: It does not require that any
  1385.         changes be made to the following existing Network layer protocols:
  1386.         ISO 8473, ISO 9542, ISO 10030, ISO 10589, and ISO 8208.
  1387.  
  1388.       Autonomous Operation: It provides stable operation in the global OSIE
  1389.         where significant sections of the interworking environment will be
  1390.         controlled by disjoint entities.
  1391.  
  1392.       Distributed Information Bases: It does not require a centralized
  1393.         global repository for either routeing information or policy
  1394.         information.
  1395.  
  1396.       QOS-based Routeing: It provides the ability to select routes based on
  1397.         the QOS characteristics of the NPDUs.
  1398.  
  1399.       Deliverability: It accepts and delivers NPDUs addressed to reachable
  1400.         routeing domains and rejects NPDUs addressed to routeing domains
  1401.         known to be unreachable.
  1402.  
  1403.  
  1404.    Kunzinger                     ISO/IEC 10747                  [ Page 31 ]
  1405.  
  1406.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1407.  
  1408.       Adaptability: It adapts to topological changes between routeing
  1409.         domains, but not to traffic changes.
  1410.  
  1411.       Promptness: It provides a period of adaptation to topological changes
  1412.         between domains that is a reasonable function of the maximum
  1413.         logical distance between any pair of routeing domains participating
  1414.         in an instance of this protocol.
  1415.  
  1416.       Efficiency: It is efficient in the use of both processing resources
  1417.         and memory resources; it does not create excessive routeing traffic
  1418.         overhead.
  1419.  
  1420.       Robustness: It recovers from transient errors such as lost or
  1421.         temporarily incorrect routeing PDUs, and it tolerates imprecise
  1422.         parameter settings.
  1423.  
  1424.       Stability: It stabilizes in finite time to "good routes", as long as
  1425.         there are no continuous topological changes or corruptions of the
  1426.         routeing and policy information bases.
  1427.  
  1428.       Heterogeneity: It is designed to operate correctly over a set of
  1429.         routeing domains that may employ diverse intra-domain routeing
  1430.         protocols. It is capable of running over a wide variety of
  1431.         subnetworks, including but not limited to:  ISO 8208 and X.25
  1432.         subnetworks, PSTN networks, and the OSI Data Link Service.
  1433.  
  1434.       Availability: It will not result in inability to calculate acceptable
  1435.         inter-domain paths when a single point of failure happens for a
  1436.         pairing of topology and policy that have a cut set greater than
  1437.         one.
  1438.  
  1439.       Fire walls: It will provide fire walls so that:
  1440.  
  1441.         -   Problems within one routeing domain will not affect
  1442.             intra-domain routeing in any other routeing domain
  1443.         -   Problems within one routeing domain will not affect
  1444.             inter-domain routeing, unless they occur on internal
  1445.             inter-domain Links
  1446.         -   Inter-domain routeing will not adversely affect intra-domain
  1447.             routeing.
  1448.  
  1449.       Scaling: It imposes no upper limit on the number of routeing domains
  1450.         that can participate in a single instance of this protocol.
  1451.  
  1452.  
  1453.    Kunzinger                     ISO/IEC 10747                  [ Page 32 ]
  1454.  
  1455.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1456.  
  1457.       Multiple Routeing Administrations: It will accommodate inter-domain
  1458.         route calculations without regard to whether or not the
  1459.         participating routeing domains are under control of one or several
  1460.         administrative authorities.
  1461.  
  1462.    5.12.2  Outside the scope of the protocol
  1463.  
  1464.       The following requirements are not within the design scope of this
  1465.       protocol:
  1466.  
  1467.       User Data Security: The security of user data carried within an NPDU
  1468.         is outside the scope of this protocol.  This protocol is not
  1469.         designed to serve as a substitute for conventional data security
  1470.         practices.  However, it can provide a security-related facility to
  1471.         the extent that route computation can be based upon the contents of
  1472.         the ISO 8473 security parameter.
  1473.  
  1474.       Traffic Adaptation: It does not automatically modify routes based on
  1475.         the traffic load.
  1476.  
  1477.       Guaranteed delivery: It does not guarantee delivery of all offered
  1478.         NPDUs.
  1479.  
  1480.       Repair of Partitioned Routeing Domains: It does not use paths
  1481.         external to a partitioned routeing domain to repair the partition.
  1482.  
  1483.       Repair of Partitioned Routeing Domain Confederations: It does not use
  1484.         paths external to a partitioned routeing domain confederation to
  1485.         repair the partition.
  1486.  
  1487.       Shared Use of Inter-domain Links: It will not permit an external
  1488.         inter-domain link to carry intradomain traffic.
  1489.  
  1490.       Suppression of Transient Loops: Although it provides mechanisms to
  1491.         detect and suppress looping of routeing information, it provides no
  1492.         mechanisms to detect or suppress transient looping of ISO 8473
  1493.         NPDUs.
  1494.  
  1495.  
  1496.  
  1497.  
  1498.    Kunzinger                     ISO/IEC 10747                  [ Page 33 ]
  1499.  
  1500.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1501.  
  1502.    6.  Structure of BISPDUs
  1503.  
  1504.  
  1505.       In this document, the term BISPDU  (Boundary IS PDU) is used as a
  1506.       general term to refer to any of the PDUs defined in this clause.
  1507.  
  1508.       Octets in a PDU are numbered starting from 1, in increasing order.
  1509.       Bits in an octet are numbered from 1 to 8, where bit 1 is the
  1510.       low-order bit and is pictured on the right.  When consecutive octets
  1511.       are used to represent a number, the lower octet number has the most
  1512.       significant value.  The more significant semi-octet of each pair of
  1513.       semi-octets in a given octet is encoded in the high order bit
  1514.       positions (8 through 5).
  1515.  
  1516.       Values are given in decimal, and all numeric fields are unsigned,
  1517.       unless otherwise noted.
  1518.  
  1519.       The types of PDUs used by this protocol are:
  1520.  
  1521.       -   OPEN PDU
  1522.       -   UPDATE PDU
  1523.       -   IDRP ERROR PDU
  1524.       -   KEEPALIVE PDU
  1525.       -   CEASE PDU
  1526.       -   RIB REFRESH PDU
  1527.  
  1528.    6.1  Header of BISPDU
  1529.  
  1530.       Each BISPDU has a fixed size header.  There may or may not be a data
  1531.       portion following the header, depending on the PDU type.
  1532.  
  1533.       The layout of the header fields and their meanings are shown below:
  1534.  
  1535.       +-------------------------------------------------------------------+
  1536.       | Inter-domain Routeing Protocol Identifier (1 octet)               |
  1537.       +-------------------------------------------------------------------+
  1538.       | BISPDU Length (2 octets)                                          |
  1539.       +-------------------------------------------------------------------+
  1540.       | BISPDU Type (1 octet)                                             |
  1541.       +-------------------------------------------------------------------+
  1542.       | Sequence (4 octets)                                               |
  1543.       +-------------------------------------------------------------------+
  1544.  
  1545.    Kunzinger                     ISO/IEC 10747                  [ Page 34 ]
  1546.  
  1547.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1548.  
  1549.       +-------------------------------------------------------------------+
  1550.       | Acknowledgement (4 octets)                                        |
  1551.       +-------------------------------------------------------------------+
  1552.       | Credit Offered (1 octet)                                          |
  1553.       +-------------------------------------------------------------------+
  1554.       | Credit Available (1 octet)                                        |
  1555.       +-------------------------------------------------------------------+
  1556.       | Validation Pattern (16 octets)                                    |
  1557.       +-------------------------------------------------------------------+
  1558.  
  1559.       The meaning and use of these fields are as follows:
  1560.  
  1561.       Inter-domain Routeing Protocol Identifier: An architectural constant
  1562.         for use in identifying the protocol by the methods of ISO DTR 9577.
  1563.  
  1564.       BISPDU Length: The BISPDU Length field is a 2 octet unsigned integer.
  1565.         It contains the total length in octets of this BISPDU, including
  1566.         both header and data portions.  The value of the BISPDU Length
  1567.         field shall be at least MinBISPDULength octets, and no greater than
  1568.         the value carried in the Maximum_PDU_Size field of the OPEN PDU
  1569.         received from the remote BIS.
  1570.  
  1571.         Further, depending on the PDU type, there may be other constraints
  1572.         on the value of the Length field; for example, a KEEPALIVE PDU must
  1573.         have a length of exactly 30 octets.  No padding after the end of
  1574.         BISPDU is allowed, so the value of the Length field must be the
  1575.         smallest value required given the rest of the BISPDU.
  1576.  
  1577.       BISPDU Type: The BISPDU Type field contains a one octet type code
  1578.         which identifies the specific type of the PDU.  The supported type
  1579.         codes are:
  1580.  
  1581.         +----------------------------------------------------+------------+
  1582.         | BISPDU Type                                        | Code       |
  1583.         +----------------------------------------------------+------------+
  1584.         | OPEN PDU                                           | 1          |
  1585.         +----------------------------------------------------+------------+
  1586.         | UPDATE PDU                                         | 2          |
  1587.         +----------------------------------------------------+------------+
  1588.         | IDRP ERROR PDU                                     | 3          |
  1589.         +----------------------------------------------------+------------+
  1590.         | KEEPALIVE PDU                                      | 4          |
  1591.         +----------------------------------------------------+------------+
  1592.         | CEASE PDU                                          | 5          |
  1593.         +----------------------------------------------------+------------+
  1594.         | RIB REFRESH PDU                                    | 6          |
  1595.         +----------------------------------------------------+------------+
  1596.  
  1597.    Kunzinger                     ISO/IEC 10747                  [ Page 35 ]
  1598.  
  1599.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1600.  
  1601.         All other BISPDU type codes are reserved for future extensions.
  1602.  
  1603.       Sequence: The Sequence field contains a 4 octet unsigned integer that
  1604.         is the sequence number of this PDU.  The procedures for generating
  1605.         sequence numbers for the various types of BISPDU are described in
  1606.         7.7.4.
  1607.  
  1608.       Acknowledgement: The Acknowledgment field is a 4 octet unsigned
  1609.         integer that contains the sequence number of the PDU that the
  1610.         sender last received correctly and in sequence number order.
  1611.  
  1612.       Credit Offered: The contents of this field indicate the number of
  1613.         additional BISPDUs that the sender is willing to accept from the
  1614.         remote BIS; it is used by the flow control process described in
  1615.         7.7.5.
  1616.  
  1617.       Credit Available: The contents of this field indicate the number of
  1618.         additional BISPDUs that the sender is able to send to the remote
  1619.         BIS; it is used by the flow control process described in 7.7.5.
  1620.  
  1621.       Validation Pattern: This 16-octet field is used to provide a
  1622.         validation function for the BISPDU.  Depending upon the contents of
  1623.         the field "Authentication Code" of the OPEN PDU, this field can
  1624.         provide:
  1625.  
  1626.         -   data integrity for the contents of the BISPDU (see 7.7.1 and
  1627.             7.7.3), or
  1628.         -   data integrity for the contents of the BISPDU plus
  1629.             authentication of the peer BIS (see 7.7.2).
  1630.  
  1631.    6.2  OPEN PDU
  1632.  
  1633.       The OPEN PDU is used by a BIS for starting a BIS-BIS connection.  The
  1634.       first PDU sent by either side is an OPEN PDU.
  1635.  
  1636.       The OPEN PDU contains a fixed header and the additional fields shown
  1637.       below:
  1638.  
  1639.       +-------------------------------------------------------------------+
  1640.       | Fixed Header                                                      |
  1641.       +-------------------------------------------------------------------+
  1642.       | Version (1 octet)                                                 |
  1643.       +-------------------------------------------------------------------+
  1644.       | Hold Time (2 octets)                                              |
  1645.       +-------------------------------------------------------------------+
  1646.  
  1647.    Kunzinger                     ISO/IEC 10747                  [ Page 36 ]
  1648.  
  1649.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1650.  
  1651.       +-------------------------------------------------------------------+
  1652.       | Maximum PDU Size (2 octets)                                       |
  1653.       +-------------------------------------------------------------------+
  1654.       | Source RDI Length Indicator (1 octet)                             |
  1655.       +-------------------------------------------------------------------+
  1656.       | Source RDI (variable)                                             |
  1657.       +-------------------------------------------------------------------+
  1658.       | RIB-AttsSet (variable)                                            |
  1659.       +-------------------------------------------------------------------+
  1660.       | Confed-IDs (variable)                                             |
  1661.       +-------------------------------------------------------------------+
  1662.       | Authentication Code (1 octet)                                     |
  1663.       +-------------------------------------------------------------------+
  1664.       | Authentication Data (variable)                                    |
  1665.       +-------------------------------------------------------------------+
  1666.  
  1667.       The meaning and use of these fields are as follows:
  1668.  
  1669.       Version: This one octet field contains the version number of the
  1670.         protocol.  Its value is currently 1.
  1671.  
  1672.       Hold Time: This field contains a 2 octet unsigned integer that is the
  1673.         maximum number of seconds that this BIS will allow the FSM for a
  1674.         given BIS-BIS connection to remain in the ESTABLISHED state without
  1675.         receipt of a KEEPALIVE, UPDATE, or RIB REFRESH PDU from the peer
  1676.         BIS.  (See 7.6.1.4 and 7.20.5.)
  1677.  
  1678.       Maximum PDU Size: This field contains a 2 octet unsigned integer that
  1679.         is the maximum number of octets that this BIS will accept in an
  1680.         incoming UPDATE PDU, IDRP ERROR PDU, or RIB REFRESH PDU.
  1681.  
  1682.         Independent of this value, every BIS shall accept KEEPALIVE PDUs or
  1683.         CEASE PDUs of length 30 octets; every BIS shall also accept any
  1684.         OPEN PDU with length less than or equal to 3000 octets.
  1685.  
  1686.         As a minimum, every BIS is required to support reception of all
  1687.         BISPDUs whose size is greater than or equal to MinBISPDULength
  1688.         octets and less than or equal to 1024 octets: that is, the minimum
  1689.         acceptable value for this field is 1024.
  1690.  
  1691.       Source RDI Length Indicator: This one octet field contains the length
  1692.         in octets of the Source RDI field.
  1693.  
  1694.       Source RDI: This variable length field contains the RDI of the
  1695.         routeing domain in which the BIS that is sending this BISPDU is
  1696.         located.
  1697.  
  1698.    Kunzinger                     ISO/IEC 10747                  [ Page 37 ]
  1699.  
  1700.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1701.  
  1702.       RIB-AttsSet: This variable length field contains a list of all
  1703.         RIB-Atts that the local BIS is willing to support when
  1704.         communicating with the neighbor BIS (that is, the BIS to which this
  1705.         OPEN PDU is being sent).  It contains an encoding of all or part of
  1706.         the information contained in managed object RIBAttsSet (See clauses
  1707.         7.3 and 7.10.1).
  1708.  
  1709.         A BIS is not required to list all of its supported RIB-Atts in an
  1710.         OPEN PDU that is sent to a neighbor BIS located in an adjacent
  1711.         routeing domain.  It must include only those RIB-Atts that
  1712.         correspond to Adj-RIBs-Out that the local BIS will use to
  1713.         communicate with the neighbor BIS, and those that correspond to the
  1714.         RIB-Atts of the Adj-RIBs-In that the local BIS supports for storing
  1715.         UPDATE PDUs received from that neighbor BIS.
  1716.  
  1717.         However, a BIS shall include all of the RIB-Atts listed in managed
  1718.         object RIBAttsSet in an OPEN PDU that is sent to another BIS
  1719.         located in its own routeing domain.  Failure to do so will result
  1720.         in an OPEN PDU error, as described in 7.20.2.
  1721.  
  1722.         The encoding of this field is as follows:
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.  
  1732.  
  1733.    Kunzinger                     ISO/IEC 10747                  [ Page 38 ]
  1734.  
  1735.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1736.  
  1737.         +-----------------------------------------------------------------+
  1738.         | Number of Non-empty RIB-Atts                                    |
  1739.         +-----------------------------------------------------------------+
  1740.         | Number of Distinguishing Attributes in First RIB-Att            |
  1741.         +-----------------------------------------------------------------+
  1742.         | First attribute, first RIB-Att                                  |
  1743.         +-----------------------------------------------------------------+
  1744.         | ....                                                            |
  1745.         +-----------------------------------------------------------------+
  1746.         | Last Attribute, first RIB-Att                                   |
  1747.         +-----------------------------------------------------------------+
  1748.         | Number of Distinguishing Attributes in Second RIB-Att           |
  1749.         +-----------------------------------------------------------------+
  1750.         | First attribute, second RIB-Att                                 |
  1751.         +-----------------------------------------------------------------+
  1752.         | ....                                                            |
  1753.         +-----------------------------------------------------------------+
  1754.         | Last Attribute, second RIB-Att                                  |
  1755.         +-----------------------------------------------------------------+
  1756.         | ...                                                             |
  1757.         +-----------------------------------------------------------------+
  1758.         | Number of Distinguishing Attributes in Nth RIB-Att              |
  1759.         +-----------------------------------------------------------------+
  1760.         | First attribute, Nth RIB-Att                                    |
  1761.         +-----------------------------------------------------------------+
  1762.         | ....                                                            |
  1763.         +-----------------------------------------------------------------+
  1764.         | Last Attribute, Nth RIB-Att                                     |
  1765.         +-----------------------------------------------------------------+
  1766.         | ...                                                             |
  1767.         +-----------------------------------------------------------------+
  1768.         | Number of Distinguishing Attributes in Last RIB-Att             |
  1769.         +-----------------------------------------------------------------+
  1770.         | First attribute, last RIB-Att                                   |
  1771.         +-----------------------------------------------------------------+
  1772.         | ....                                                            |
  1773.         +-----------------------------------------------------------------+
  1774.         | Last Attribute, last RIB-Att                                    |
  1775.         +-----------------------------------------------------------------+
  1776.  
  1777.         The field Number of RIB-Atts is one octet long.  It contains the
  1778.         total number of non-empty RIB-Atts supported by this BIS.  Since
  1779.         every BIS supports an empty RIB-Att (see clause 7.10.1), the empty
  1780.         RIB-Att shall not be listed in the OPEN PDU.
  1781.  
  1782.         If a BIS supports no RIB-Atts other than the empty RIB-Att, then
  1783.         the field Number of Non-empty RIB-Atts shall contain 0.
  1784.  
  1785.    Kunzinger                     ISO/IEC 10747                  [ Page 39 ]
  1786.  
  1787.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1788.  
  1789.         If the Number of Non-Empty RIB-Atts is non-zero, then the BIS
  1790.         supports all of the listed RIB-Atts plus the empty RIB-Att.
  1791.  
  1792.         Each field Number of Distinguishing Attributes in the Nth Set is
  1793.         one octet long, and it contains the number of distinguishing
  1794.         attributes that are contained in the Nth RIB-Att.  Since a RIB-Att
  1795.         consists of a set of distinguishing attributes, there is no
  1796.         significance to the order in which the distinguishing attributes of
  1797.         a given RIB-Att are listed.
  1798.  
  1799.         Each of the individual attributes in a set is encoded as follows:
  1800.  
  1801.         -   a type specific distinguishing attribute (see 7.11.2) is
  1802.             encoded as a single octet, using the type code specified in 6.3
  1803.             for the corresponding UPDATE PDU path attribute.
  1804.  
  1805.         -   a type-value-specific distinguishing attribute (see 7.11.2) is
  1806.             encoded as a triple <type, length, value>, using the type code
  1807.             for the attribute, the length in octets of the subsequent
  1808.             value, and the value itself.  The value is encoded as follows
  1809.             for the following distinguishing attributes:
  1810.  
  1811.             SECURITY: The value shall contain the Security Registration
  1812.               Identifier that identifies the Security Authority for which
  1813.               security related information is supported by this RIB-Att,
  1814.               encoded identically to the encoding of the SECURITY attribute
  1815.               specified in 6.3.1.14 including length fields, but with a
  1816.               zero length security information.
  1817.  
  1818.             LOCALLY DEFINED QOS: The value shall comprise the NSAP Address
  1819.               Prefix of the QoS Authority and the QoS value that identifies
  1820.               the QoS measurement, encoded identically to the encoding of
  1821.               the LOCALLY DEFINED QOS attribute specified in 6.3.1.11
  1822.               including length fields, but with a zero length metric.
  1823.  
  1824.       Confed-IDs: This is a variable length field which reports the RDIs of
  1825.         all RDCs that this BIS is a member of.  The encoding of this field
  1826.         is as follows:
  1827.  
  1828.         +-----------------------------------------------------------------+
  1829.         | Number of RDCs (1 octet)                                        |
  1830.         +-----------------------------------------------------------------+
  1831.         | Length of First RDI (1 octet)                                   |
  1832.         +-----------------------------------------------------------------+
  1833.         | RDI of first RDC                                                |
  1834.         +-----------------------------------------------------------------+
  1835.  
  1836.    Kunzinger                     ISO/IEC 10747                  [ Page 40 ]
  1837.  
  1838.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1839.  
  1840.         +-----------------------------------------------------------------+
  1841.         | ....                                                            |
  1842.         +-----------------------------------------------------------------+
  1843.         | Length of Last RDI (1 octet)                                    |
  1844.         +-----------------------------------------------------------------+
  1845.         | RDI of last confederation                                       |
  1846.         +-----------------------------------------------------------------+
  1847.  
  1848.         The 1 octet field Number of RDCs gives the number of RDCs of which
  1849.         this BIS is a member.  A value of zero indicates that this BIS
  1850.         participates in no RDCs.
  1851.  
  1852.         For each such confederation, the following fields give the length
  1853.         and RDI for each confederation, where each RDI is encoded according
  1854.         to the preferred binary encoding of ISO 8348/Add.2.
  1855.  
  1856.       Authentication Code: This 1-octet unsigned integer indicates the
  1857.         authentication mechanism being used:
  1858.  
  1859.         a)  Code 1 indicates that the Validation Pattern field in the
  1860.             header of each BISPDU contains an unencrypted checksum that
  1861.             provides data integrity for the contents of that BISPDU.  Its
  1862.             use is described in 7.7.1 Its use is described in 7.7.1.
  1863.  
  1864.         b)  Code 2 indicates that the Validation Pattern field in the
  1865.             header of each BISPDU provides both peer-BIS authentication and
  1866.             data integrity for the contents of the BISPDU.  The specific
  1867.             mechanism used to generate the validation pattern is mutually
  1868.             agreed to by the pair of BISs, but is not specified by this
  1869.             International Standard.  Its use is described in 7.7.2.
  1870.  
  1871.         c)  Code 3 indicates that the Validation Pattern field in the
  1872.             header of each BISPDU contains an unencrypted checksum covering
  1873.             the concatenation of the contents of the BISPDU with
  1874.             untransmitted password string(s).  Its use is defined in 7.7.3.
  1875.  
  1876.       Authentication Data: The form and meaning of this field is a
  1877.         variable-length field that depends on the Authentication Code, as
  1878.         described in D.1.  The length of the authentication data field can
  1879.         be determined from the Length field of the BISPDU header.
  1880.  
  1881.  
  1882.  
  1883.    Kunzinger                     ISO/IEC 10747                  [ Page 41 ]
  1884.  
  1885.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1886.  
  1887.    6.3  UPDATE PDU
  1888.  
  1889.       An UPDATE PDU is used to advertise feasible routes to a neighbor BIS,
  1890.       or to withdraw multiple unfeasible routes from service (see 5.6).
  1891.       An UPDATE PDU may simultaneously advertise multiple feasible routes
  1892.       and withdraw multiple unfeasible routes from service.  The UPDATE PDU
  1893.       always includes the fixed header, Unfeasible Route Count field, and
  1894.       Total Path Length Attributes field; it can optionally contain the
  1895.       other fields shown in Figure 5:
  1896.  
  1897.       -   if routes are being explicitly withdrawn from service, then the
  1898.           UNFEASIBLE ROUTE COUNT field will be non-zero, and the WITHDRAWN
  1899.           ROUTES fields will be present
  1900.  
  1901.       -   if feasible routes are being advertised, then the TOTAL PATH
  1902.           ATTRIBUTES LENGTH field will be non-zero, and the PATH ATTRIBUTES
  1903.           and NLRI fields will be present.
  1904.  
  1905.       An UPDATE PDU can advertise multiple routes; a route is described by
  1906.       several path attributes, each of which is encoded as a 4-tuple.  All
  1907.       path attributes contained in a given UPDATE PDU apply to the
  1908.       destinations carried in the Network Layer Reachability Information
  1909.       field of the UPDATE PDU.
  1910.  
  1911.       An UPDATE PDU can list multiple routes to be withdrawn from service.
  1912.       Each such route is identified by its Route-ID, which unambiguously
  1913.       identifies the route in the context of the BIS-BIS connection in
  1914.       which it had been previously been advertised.
  1915.  
  1916.       An UPDATE PDU that is used only to withdraw routes from service (but
  1917.       not to advertise any feasible routes) will not include Path
  1918.       Attributes or NLRI.  Conversely, if an UPDATE PDU does not withdraw
  1919.       any routes from service, the UNFEASIBLE ROUTE COUNT field will
  1920.       contain the value 0, and WITHDRAWN ROUTES field will not be present.
  1921.  
  1922.       The components of the UPDATE PDU are described below:
  1923.  
  1924.       +-------------------------------------------------------------------+
  1925.       | Fixed Header                                                      |
  1926.       +-------------------------------------------------------------------+
  1927.       | Unfeasible Route Count (2 octets)                                 |
  1928.       +-------------------------------------------------------------------+
  1929.       | Withdrawn Routes (variable)                                       |
  1930.       +-------------------------------------------------------------------+
  1931.       | Total Path Attributes Length (2 octets)                           |
  1932.       +-------------------------------------------------------------------+
  1933.  
  1934.    Kunzinger                     ISO/IEC 10747                  [ Page 42 ]
  1935.  
  1936.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1937.  
  1938.    +----------------------------------------------------------------------+
  1939.    |                                                                      |
  1940.    |                                update4                               |
  1941.    |                                                                      |
  1942.    +----------------------------------------------------------------------+
  1943.    Figure 5. Structure of the UPDATE PDU
  1944.  
  1945.       +-------------------------------------------------------------------+
  1946.       | Path Attributes (variable)                                        |
  1947.       +-------------------------------------------------------------------+
  1948.       | Network Layer Reachability Information (variable)                 |
  1949.       +-------------------------------------------------------------------+
  1950.  
  1951.       The use of these fields is as follows:
  1952.  
  1953.       Unfeasible Route Count: This is a 2-octet long field that contains an
  1954.         integer whose value is equal to the number of ROUTE-IDs that are
  1955.         included in the subsequent WITHDRAWN ROUTES field.  A value of 0
  1956.         indicates that no routes are being withdrawn from service, and that
  1957.         the WITHDRAWN ROUTES field is not present in this UPDATE PDU.
  1958.  
  1959.       Withdrawn Routes: This is a variable length field that contains a
  1960.         list of Route-IDs for the routes that are being withdrawn from
  1961.         service.  Each Route-ID is 4 octets in length.
  1962.  
  1963.       Total Path Attribute Length: The length of this field is 2 octets.
  1964.         It is the total length of all Path Attributes in the UPDATE PDU in
  1965.         octets.
  1966.  
  1967.       Path Attributes: A variable length sequence of path attributes is
  1968.         present in every UPDATE PDU that is used to advertise a feasible
  1969.         route.
  1970.  
  1971.       Network Layer Reachability Information: A variable length field that
  1972.         lists the destinations for the feasible routes that are being
  1973.         advertised in this UPDATE PDU.
  1974.  
  1975.    6.3.1  Path attribute encoding
  1976.  
  1977.       Each path attribute is a 4-tuple of variable length──<flag, type,
  1978.       length, value>.  The elements are used as follows:
  1979.  
  1980.       -   Flag:
  1981.  
  1982.           The first element of each attribute is a one octet field:
  1983.  
  1984.    Kunzinger                     ISO/IEC 10747                  [ Page 43 ]
  1985.  
  1986.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  1987.  
  1988.           ∙   The high-order bit (bit 8) of the attribute flags octet is
  1989.               the Optional bit. If it is set to 1, the attribute is
  1990.               optional; if set to 0, the attribute is well-known.
  1991.  
  1992.           ∙   The second high-order bit (bit 7) of the attribute flags
  1993.               octet is the Transitive bit.  It defines whether an optional
  1994.               attribute is transitive (if set to 1) or non-transitive (if
  1995.               set to 0).  For well-known attributes, the Transitive bit
  1996.               shall be set to 1.
  1997.  
  1998.           ∙   The third high-order bit (bit 6) of the attribute flags octet
  1999.               is the Partial bit.  It defines whether the optional
  2000.               transitive attribute is partial (if set to 1) or complete (if
  2001.               set to 0).  For well-known attributes and for optional
  2002.               non-transitive attributes the Partial bit shall be set to 0.
  2003.  
  2004.           ∙   The lower order five bits (1 through 5) of the attribute
  2005.               flags octet are reserved.  They shall be transmitted as 0 and
  2006.               shall be ignored when received.
  2007.  
  2008.       -   Type:
  2009.  
  2010.           The second element of each attribute is a one octet field which
  2011.           contains the type code for the attribute.  Currently defined
  2012.           attribute type codes are discussed in clause 7.11.
  2013.  
  2014.           Note 4:  It is not the intention of this International Standard
  2015.                    to define globally understood path attributes for type
  2016.                    codes greater than value 128.  Such codes are reserved
  2017.                    for local use.
  2018.  
  2019.       -   Length:
  2020.  
  2021.           The third field of each path attribute is 2 octets in length; it
  2022.           contains the length in octets of the immediately following Value
  2023.           field.
  2024.  
  2025.       -   Value:
  2026.  
  2027.           The remaining octets of each path attribute field contain the
  2028.           value of the attribute, which is interpreted according to the
  2029.           attribute flags and the attribute type code.  The supported
  2030.           attribute values and their encodings are defined below.
  2031.  
  2032.  
  2033.    Kunzinger                     ISO/IEC 10747                  [ Page 44 ]
  2034.  
  2035.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2036.  
  2037.    6.3.1.1  ROUTE_SEPARATOR (Type Code 1)
  2038.  
  2039.       ROUTE_SEPARATOR is a well-known mandatory attribute whose length is 5
  2040.       octets.  One ROUTE_SEPARATOR attribute shall be present for each
  2041.       feasible route that is advertised in an UPDATE PDU.  Multiple
  2042.       ROUTE_SEPARATORs may appear in a single UPDATE PDU.  Each one
  2043.       provides a 2-tuple <ROUTE_ID, LOCAL_PREF> for the route whose
  2044.       distinguishing attributes immediately follow.  It is encoded as shown
  2045.       below:
  2046.  
  2047.       +-------------------------------------------------------------------+
  2048.       | ROUTE-ID 1 (4 octets)                                             |
  2049.       +-------------------------------------------------------------------+
  2050.       | LOCAL-PREF 1 (1 octet)                                            |
  2051.       +-------------------------------------------------------------------+
  2052.  
  2053.       a)  ROUTE-ID:
  2054.  
  2055.           A four octet field that contains the route identifier for the
  2056.           route associated with the RIB-Att composed of the set of
  2057.           distinguishing path attributes that appear between itself and
  2058.           either the next ROUTE_SEPARATOR attribute or the end of the
  2059.           UPDATE PDU.
  2060.  
  2061.       b)  LOCAL_PREF:  A one octet field that contains the local preference
  2062.           value for route.
  2063.  
  2064.       The usage of this attribute is defined in 7.12.1.
  2065.  
  2066.    6.3.1.2  EXT_INFO (Type Code 2)
  2067.  
  2068.       EXT_INFO is a well-known discretionary attribute that has a length of
  2069.       zero octets; its presence indicates that some (or all) of the path
  2070.       attributes or Network Layer Reachability Information contained in
  2071.       this UPDATE PDU have been obtained by methods not specified by IDRP.
  2072.       Conversely, its absence indicates that all path attributes and NLRI
  2073.       have been learned by methods defined within IDRP.  Its usage is
  2074.       defined in 7.12.2
  2075.  
  2076.  
  2077.  
  2078.  
  2079.    Kunzinger                     ISO/IEC 10747                  [ Page 45 ]
  2080.  
  2081.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2082.  
  2083.    6.3.1.3  RD_PATH (Type Code 3)
  2084.  
  2085.       The RD_PATH attribute is a well-known mandatory attribute composed of
  2086.       a series of RD path segments.  Each path segment is represented by a
  2087.       triple <path segment type, path segment length, path segment value>.
  2088.  
  2089.       The path segment type is a 1-octet long field, with the following
  2090.       values defined:
  2091.  
  2092.       +------------------------------------------------------+------------+
  2093.       | Segment Type                                         | Value      |
  2094.       +------------------------------------------------------+------------+
  2095.       | RD_SET                                               | 1          |
  2096.       +------------------------------------------------------+------------+
  2097.       | RD_SEQ                                               | 2          |
  2098.       +------------------------------------------------------+------------+
  2099.       | ENTRY_SEQ                                            | 3          |
  2100.       +------------------------------------------------------+------------+
  2101.       | ENTRY_SET                                            | 4          |
  2102.       +------------------------------------------------------+------------+
  2103.  
  2104.       An RD_SEQ and a ENTRY_SEQ provide a list of RDIs, for routeing
  2105.       domains or for confederations respectively, in the order that the
  2106.       routeing information has travelled through them.  An RD_SET and an
  2107.       ENTRY_SET provide an unordered list of RDIs, for routeing domains or
  2108.       for confederations respectively; the routeing information has not
  2109.       necessarily travelled through all of the listed domains or
  2110.       confederations.
  2111.  
  2112.       The path segment length is a two octet field containing the length in
  2113.       octets of the path segment value field.
  2114.  
  2115.       The path segment value field contains one or more 2-tuples <length,
  2116.       RDI>. Length is a one octet long field that contains the length of
  2117.       the RDI in octets; RDI itself is encoded according to the preferred
  2118.       binary encoding of ISO 8348/Add.2.
  2119.  
  2120.       Usage of this attribute is defined in clause 7.12.3.
  2121.  
  2122.    6.3.1.4  NEXT_HOP (Type Code 4)
  2123.  
  2124.       This is a well-known discretionary attribute that can be used for two
  2125.       principal purposes:
  2126.  
  2127.       a)  to permit a BIS to advertise a different BIS's NET in the "NET of
  2128.           Next Hop" field
  2129.  
  2130.    Kunzinger                     ISO/IEC 10747                  [ Page 46 ]
  2131.  
  2132.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2133.  
  2134.       b)  to allow a given BIS to report some or all of the SNPAs that
  2135.           exist within the local system
  2136.  
  2137.       It is encoded as shown below:
  2138.  
  2139.       +-------------------------------------------------------------------+
  2140.       | IDRP_Server_Allowed (1 octet)                                     |
  2141.       +-------------------------------------------------------------------+
  2142.  
  2143.       followed by one or more of the following:
  2144.  
  2145.       +-------------------------------------------------------------------+
  2146.       | Proto_type (1 octet)                                              |
  2147.       +-------------------------------------------------------------------+
  2148.       | Proto_length (1 octet)                                            |
  2149.       +-------------------------------------------------------------------+
  2150.       | Protocol (variable)                                               |
  2151.       +-------------------------------------------------------------------+
  2152.       | Length of NET (1 octet)                                           |
  2153.       +-------------------------------------------------------------------+
  2154.       | NET of Next Hop (variable)                                        |
  2155.       +-------------------------------------------------------------------+
  2156.       | Number of SNPAs (1 octet)                                         |
  2157.       +-------------------------------------------------------------------+
  2158.       | Length of first SNPA(1 octet)                                     |
  2159.       +-------------------------------------------------------------------+
  2160.       | First SNPA (variable)                                             |
  2161.       +-------------------------------------------------------------------+
  2162.       | Length of second SNPA (1 octet)                                   |
  2163.       +-------------------------------------------------------------------+
  2164.       | Second SNPA (variable)                                            |
  2165.       +-------------------------------------------------------------------+
  2166.       | ...                                                               |
  2167.       +-------------------------------------------------------------------+
  2168.       | Length of Last SNPA (1 octet)                                     |
  2169.       +-------------------------------------------------------------------+
  2170.       | Last SNPA (variable)                                              |
  2171.       +-------------------------------------------------------------------+
  2172.  
  2173.       The use and meaning of these fields are as follows:
  2174.  
  2175.       IDRP_Server_Allowed: The value X'FF' indicates the recipient of this
  2176.         UPDATE PDU has the option of advertising (in its own outbound
  2177.         UPDATE PDUs) the NET and SNPA information learned from this UPDATE
  2178.         PDU.  If the value is not X'FF', then the recipient of this UPDATE
  2179.         PDU shall not advertise the NET and SNPA information learned from
  2180.         this UPDATE PDU.
  2181.  
  2182.    Kunzinger                     ISO/IEC 10747                  [ Page 47 ]
  2183.  
  2184.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2185.  
  2186.       Proto_type: This field indicates the type of protocol identifier that
  2187.         follows:
  2188.  
  2189.          1  ISO TR 9577 IPI/SPI
  2190.          2  ISO 8802 LSAP
  2191.  
  2192.         For use with ISO 8473, this field shall contain the value 1.
  2193.  
  2194.       Proto_length: This field indicates the length in octets of the
  2195.         protocol identifier that follows.  For use with ISO 8473, this
  2196.         field shall contain the value 1.
  2197.  
  2198.       Protocol: This field carries the identity of the protocol associated
  2199.         with the address information that follows.  For use with ISO 8473,
  2200.         this field shall contain the value X'81'.
  2201.  
  2202.       Length of NET: A 1 octet field whose value expresses the length of
  2203.         the "NET of Next Hop" field as measured in octets
  2204.  
  2205.       NET of Next Hop: A variable length field that contains the NET of the
  2206.         next BIS on the path to the destination system
  2207.  
  2208.       Number of SNPAs: A 1 octet field which contains the number of
  2209.         distinct SNPAs to be listed in the following fields.  The value 0
  2210.         may be used to indicate that no SNPAs are listed in this attribute.
  2211.  
  2212.       Length of Nth SNPA: A 1 octet field whose value expresses the length
  2213.         of the "Nth SNPA of Next Hop" field as measured in semi-octets
  2214.  
  2215.       Nth SNPA of Next Hop: A variable length field that contains an SNPA
  2216.         of the BIS whose NET is contained in the "NET of Next Hop" field.
  2217.         The field length is an integral number of octets in length, namely
  2218.         the rounded-up integer value of one half the SNPA length expressed
  2219.         in semi-octets; if the SNPA has an contains an odd number of
  2220.         semi-octets, a value in this field will be padded with a trailing
  2221.         all-zero semi-octet.
  2222.  
  2223.       Its usage is defined in 7.12.4.  A conforming IDRP implementation may
  2224.       ignore next hop information for all protocols other than ISO 8473.
  2225.       The Decision and Forwarding processes of IDRP for use with protocols
  2226.       other than ISO 8473 are outside the scope of this international
  2227.       standard.
  2228.  
  2229.       Note 5:  The ISO 8802 LSAP format is intended for use with protocols
  2230.                that are identified directly by the use of a particular LSAP
  2231.                value;  in such cases, the value of the Proto_length field
  2232.                should be 1.
  2233.  
  2234.    Kunzinger                     ISO/IEC 10747                  [ Page 48 ]
  2235.  
  2236.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2237.  
  2238.                The ISO TR 9577 IPI/SPI format may include additional
  2239.                information beyond the IPI/SPI value in the Protocol field;
  2240.                for example, if the IPI/SPI value is X'80', an IEEE 802.1a
  2241.                SNAP header might be included.
  2242.  
  2243.    6.3.1.5  DIST_LIST_INCL (Type Code 5)
  2244.  
  2245.       The DIST_LIST_INCL is a well-known discretionary attribute that
  2246.       contains a list of the RDIs of routeing domains and confederations to
  2247.       which the Network Layer Reachability Information contained in that
  2248.       UPDATE PDU may be distributed.  Its usage is described in 7.12.5.
  2249.  
  2250.       Each RDI in the list is encoded as a <length, value> pair, using the
  2251.       following fields:
  2252.  
  2253.       +-------------------------------------------------------------------+
  2254.       | Count (1 octet)                                                   |
  2255.       +-------------------------------------------------------------------+
  2256.       | Length (1 octet)                                                  |
  2257.       +-------------------------------------------------------------------+
  2258.       | Value  (variable)                                                 |
  2259.       +-------------------------------------------------------------------+
  2260.       | ...                                                               |
  2261.       +-------------------------------------------------------------------+
  2262.       | Length (1 octet)                                                  |
  2263.       +-------------------------------------------------------------------+
  2264.       | Value  (variable)                                                 |
  2265.       +-------------------------------------------------------------------+
  2266.  
  2267.       The use and meaning of these fields are as follows:
  2268.  
  2269.       a)  Count:
  2270.  
  2271.           The count field is an integer that gives the number of RDIs in
  2272.           the list, where each RDI is represented by a <length, value> pair
  2273.           as described below.
  2274.  
  2275.       b)  Length:
  2276.  
  2277.           The length field indicates the length in octets of the following
  2278.           RDI.
  2279.  
  2280.       c)  Value:
  2281.  
  2282.           The value field contains the RDI, encoded according to the
  2283.           preferred binary encoding of ISO 8348/Add.2.
  2284.  
  2285.    Kunzinger                     ISO/IEC 10747                  [ Page 49 ]
  2286.  
  2287.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2288.  
  2289.       The DIST_LIST_INCL attribute shall not be present together with the
  2290.       DIST_LIST_EXCL attribute in the same UPDATE PDU.
  2291.  
  2292.    6.3.1.6  DIST_LIST_EXCL (Type Code 6)
  2293.  
  2294.       The DIST_LIST_EXCL is a well-known discretionary attribute that
  2295.       contains a list of the RDIs of routeing domains and confederations to
  2296.       which the Network Layer Reachability Information contained in that
  2297.       UPDATE PDU shall not be distributed.  Its usage is described in
  2298.       7.12.6.
  2299.  
  2300.       Each RDI in the list is encoded as a <length, value> pair, using the
  2301.       following fields:
  2302.  
  2303.       +-------------------------------------------------------------------+
  2304.       | Count (1 octet)                                                   |
  2305.       +-------------------------------------------------------------------+
  2306.       | Length (1 octet)                                                  |
  2307.       +-------------------------------------------------------------------+
  2308.       | Value  (variable)                                                 |
  2309.       +-------------------------------------------------------------------+
  2310.       | ...                                                               |
  2311.       +-------------------------------------------------------------------+
  2312.       | Length (1 octet)                                                  |
  2313.       +-------------------------------------------------------------------+
  2314.       | Value  (variable)                                                 |
  2315.       +-------------------------------------------------------------------+
  2316.  
  2317.       The use and meaning of these fields are as follows:
  2318.  
  2319.       a)  Count:
  2320.  
  2321.           The count field is an integer that gives the number of RDIs in
  2322.           the list, where each RDI is represented by a <length, value> pair
  2323.           as described below.
  2324.  
  2325.       b)  Length:
  2326.  
  2327.           The length field indicates the length in octets of the following
  2328.           RDI.
  2329.  
  2330.       c)  Value:
  2331.  
  2332.           The value field contains the RDI, encoded according to the
  2333.           preferred binary encoding of ISO 8348/Add.2.
  2334.  
  2335.    Kunzinger                     ISO/IEC 10747                  [ Page 50 ]
  2336.  
  2337.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2338.  
  2339.       The DIST_LIST_EXCL attribute shall not be present together with the
  2340.       DIST_LIST_INCL attribute in the same UPDATE PDU.
  2341.  
  2342.    6.3.1.7  MULTI-EXIT_DISC (Type Code 7)
  2343.  
  2344.       MULTI-EXIT_DISC (Multi-exit Discriminator) is an optional
  2345.       non-transitive attribute that is a 1 octet non-negative integer.  The
  2346.       value of this attribute may be used by a BIS's decision process to
  2347.       discriminate between multiple exit points to an adjacent routeing
  2348.       domain.  Its usage is defined in 7.12.7.
  2349.  
  2350.    6.3.1.8  TRANSIT DELAY (Type Code 8)
  2351.  
  2352.       The TRANSIT DELAY is a well-known discretionary attribute that has a
  2353.       length of 2 octets, and is used to notify a BIS that the path to
  2354.       destination has transit delay determined by the value of the
  2355.       attribute.  Its usage is defined in 7.12.8.
  2356.  
  2357.    6.3.1.9  RESIDUAL ERROR (Type Code 9)
  2358.  
  2359.       The RESIDUAL ERROR is a well-known discretionary attribute that has a
  2360.       length of 4 octets, and is used to notify a BIS that the path to
  2361.       destination has residual error probability determined by the value of
  2362.       the attribute.  Its usage is defined in 7.12.9.
  2363.  
  2364.    6.3.1.10  EXPENSE (Type Code 10)
  2365.  
  2366.       The EXPENSE is a well-known discretionary attribute that has a length
  2367.       of 2 octets, and is used to notify a BIS that the path to destination
  2368.       has expense determined by the value of the attribute.  Its usage is
  2369.       defined in 7.12.10.
  2370.  
  2371.    6.3.1.11  LOCALLY DEFINED QOS (Type Code 11)
  2372.  
  2373.       This is a well-known discretionary attribute whose variable length
  2374.       field contains the parameters associated with a QOS related path
  2375.       attribute defined by a QOS authority.
  2376.  
  2377.       The parameters of this attribute identify the QOS authority, the name
  2378.       of the QOS measurement, and, optionally, a metric associated with
  2379.       that measurement.  The syntax and semantics of the QOS measurement
  2380.  
  2381.    Kunzinger                     ISO/IEC 10747                  [ Page 51 ]
  2382.  
  2383.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2384.  
  2385.       and its metric are outside the scope of this International Standard,
  2386.       and are specified by the responsible QOS Authority.
  2387.  
  2388.       It is encoded as follows:
  2389.  
  2390.       +-------------------------------------------------------------------+
  2391.       | NSAP prefix length (1 octet)                                      |
  2392.       +-------------------------------------------------------------------+
  2393.       | NSAP prefix (variable)                                            |
  2394.       +-------------------------------------------------------------------+
  2395.       | QOS length (1 octet)                                              |
  2396.       +-------------------------------------------------------------------+
  2397.       | QOS value (variable)                                              |
  2398.       +-------------------------------------------------------------------+
  2399.       | Metric length (1 octet)                                           |
  2400.       +-------------------------------------------------------------------+
  2401.       | Metric value (variable)                                           |
  2402.       +-------------------------------------------------------------------+
  2403.  
  2404.       The use and meaning of the fields is as follows:
  2405.  
  2406.       a)  NSAP prefix length:
  2407.  
  2408.           The length field indicates the length in bits of the NSAP address
  2409.           prefix (see 7.1.2.1).  A length of zero indicates a prefix that
  2410.           matches all NSAPs.
  2411.  
  2412.       b)  NSAP prefix:
  2413.  
  2414.           If the Length field specifies an integral number of octets, then
  2415.           the Prefix field shall contain only the NSAP address prefix
  2416.           encoded according to 7.1.2.1.  If the Length field does not
  2417.           specify an integral number of octets, then the Prefix field shall
  2418.           contain the NSAP address prefix encoded according to 7.1.2.1,
  2419.           followed by enough trailing zeroes to make the end of the field
  2420.           fall on an octet boundary.
  2421.  
  2422.           This field identifies the QoS Authority and comprises an NSAP
  2423.           Address Prefix when the QoS Authority is also an NSAP Addressing
  2424.           Authority (see ISO 8473 clauses 7.5.6.1 and 7.5.6.2); the NSAP
  2425.           Address Prefix is that of the QoS Authority's Addressing
  2426.           Subdomain. When the QoS Authority is not also an NSAP Addressing
  2427.           Authority, then this field contains an NET that uniquely
  2428.           identifies the QoS Authority.
  2429.  
  2430.       c)  QOS length:
  2431.  
  2432.    Kunzinger                     ISO/IEC 10747                  [ Page 52 ]
  2433.  
  2434.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2435.  
  2436.           Gives the length in octets of the QOS value field.
  2437.  
  2438.       d)  QOS value:
  2439.  
  2440.           Contains the value of the QOS parameter.
  2441.  
  2442.       e)  Metric length:
  2443.  
  2444.           Gives the length in octets of the metric value field.  A length
  2445.           of zero is a permitted value.
  2446.  
  2447.       f)  Metric value:
  2448.  
  2449.           Contains a positive integer that is the value of the metric
  2450.           associated with the path being advertised (that is, its "cost")
  2451.  
  2452.       Its usage is defined in 7.12.11.
  2453.  
  2454.    6.3.1.12  HIERARCHICAL RECORDING (Type Code 12)
  2455.  
  2456.       This is a well-known discretionary attribute.  It contains a 1-octet
  2457.       field used by members of a routeing domain confederation to control
  2458.       the transitivity of NPDUs through the confederation.  It is encoded
  2459.       as follows:
  2460.  
  2461.       +-------------------------------------------------------------------+
  2462.       | Flag (1 octet)                                                    |
  2463.       +-------------------------------------------------------------------+
  2464.  
  2465.       Its usage is defined in 7.12.12.
  2466.  
  2467.    6.3.1.13  RD_HOP_COUNT (Type Code 13)
  2468.  
  2469.       The RD_HOP_COUNT is a well-known mandatory attribute that contains a
  2470.       1 octet long field.  It contains an unsigned integer that is the
  2471.       upper bound on the number of routeing domains through which this
  2472.       UPDATE PDU has travelled.  Its usage is defined in 7.12.13.
  2473.  
  2474.  
  2475.  
  2476.  
  2477.    Kunzinger                     ISO/IEC 10747                  [ Page 53 ]
  2478.  
  2479.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2480.  
  2481.    6.3.1.14  SECURITY (Type Code 14)
  2482.  
  2483.       This is a well-known discretionary attribute whose variable length
  2484.       field contains the parameters associated with a security related path
  2485.       attribute defined by a Security Authority.
  2486.  
  2487.       The parameters of this attribute identify the Security Authority, and
  2488.       can also contain additional security related information, which may
  2489.       identify the protection provided by the route, a set of Security
  2490.       Labels associated with the route, or both.  The syntax and semantics
  2491.       of the security related information are outside the scope of this
  2492.       International Standard, and are specified by the responsible Security
  2493.       Authority.
  2494.  
  2495.       The encoding of the attribute is as follows:
  2496.  
  2497.       +-------------------------------------------------------------------+
  2498.       | Security Registration ID Length (1 octet)                         |
  2499.       +-------------------------------------------------------------------+
  2500.       | Security Registration ID (variable)                               |
  2501.       +-------------------------------------------------------------------+
  2502.       | Security Information Length (1 octet)                             |
  2503.       +-------------------------------------------------------------------+
  2504.       | Security Information (variable)                                   |
  2505.       +-------------------------------------------------------------------+
  2506.  
  2507.       The use and meaning of the fields is as follows:
  2508.  
  2509.       a)  Security Registration ID Length:
  2510.  
  2511.           This field contains the length in octets of the Security
  2512.           Authority's Security Registration Identifier.
  2513.  
  2514.       b)  Security Registration ID:
  2515.  
  2516.           This variable length field contains the Security Registration
  2517.           Identifier of the Security Authority responsible for defining the
  2518.           following security information.
  2519.  
  2520.       c)  Security Information Length:
  2521.  
  2522.           This field contains the length in octets of the Security
  2523.           Information, as a non-zero unsigned integer. A value of zero is
  2524.           not permitted.
  2525.  
  2526.       d)  Security Information:
  2527.  
  2528.    Kunzinger                     ISO/IEC 10747                  [ Page 54 ]
  2529.  
  2530.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2531.  
  2532.           This variable length field contains an integral number of octets
  2533.           comprising security related information specified by the Security
  2534.           Authority identified above. The syntax and semantics of this
  2535.           information are outside of the scope of this International
  2536.           Standard.
  2537.  
  2538.    6.3.1.15  CAPACITY (Type code 15)
  2539.  
  2540.       CAPACITY is a well-known mandatory attribute that has a length of 1
  2541.       octet, and is used to denote the relative capacity of the RD_PATH for
  2542.       handling traffic. High values indicate a lower traffic handling
  2543.       capacity than do low values.  Its usage is defined in 7.12.15.
  2544.  
  2545.    6.3.1.16  PRIORITY (Type Code 16)
  2546.  
  2547.       PRIORITY is a well-known discretionary attribute that is 1 octet in
  2548.       length.  The content of the field is an integer in the range from 0
  2549.       to 14.  It enables paths to be distinguished on the basis of which
  2550.       values of the ISO  8473 priority parameter (see ISO 8473, clause
  2551.       7.5.7).  As in ISO 8473, the value 0 indicates the normal (default)
  2552.       priority, and the values 1 through 14 indicate higher priorities.  A
  2553.       particular value of this parameter, m, means that the BIS will not
  2554.       forward any ISO 8473 PDUs whose priority parameter has a value less
  2555.       than m.  Detailed usage rules are presented in 7.12.16.
  2556.  
  2557.    6.3.2  Network layer reachability information
  2558.  
  2559.       This variable length field contains a list of reachable destinations
  2560.       encoded as zero or more 5-tuples of the form <Proto_type,
  2561.       Proto_length, Protocol, Addr_length, Addr_info>, whose fields are
  2562.       described below:
  2563.  
  2564.       +-------------------------------------------------------------------+
  2565.       | Proto_type (1 octet)                                              |
  2566.       +-------------------------------------------------------------------+
  2567.       | Proto_length (1 octet)                                            |
  2568.       +-------------------------------------------------------------------+
  2569.       | Protocol (variable)                                               |
  2570.       +-------------------------------------------------------------------+
  2571.       | Addr_length (2 octets)                                            |
  2572.       +-------------------------------------------------------------------+
  2573.       | Addr_info (variable)                                              |
  2574.       +-------------------------------------------------------------------+
  2575.  
  2576.    Kunzinger                     ISO/IEC 10747                  [ Page 55 ]
  2577.  
  2578.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2579.  
  2580.       The use and meaning of these fields are as follows:
  2581.  
  2582.       Proto_type: This field indicates the type of protocol identifier that
  2583.         follows:
  2584.  
  2585.          1  ISO TR 9577 IPI/SPI
  2586.          2  ISO 8802 LSAP
  2587.  
  2588.         For use with ISO 8473, this field shall contain the value 1.
  2589.  
  2590.       Proto_length: This field indicates the length in octets of the
  2591.         protocol identifier that follows.  For use with ISO 8473, this
  2592.         field shall contain the value 1.
  2593.  
  2594.       Protocol: This field carries the identity of the protocol associated
  2595.         with the address information that follows.  For use with ISO 8473,
  2596.         this field shall contain the value X'81'.
  2597.  
  2598.       Addr_length: This field specifies the total length in octets of the
  2599.         address information that follows.
  2600.  
  2601.       Addr_info: This field contains a list of reachable address prefixes.
  2602.         The encoding of this field is specific to each protocol supported.
  2603.  
  2604.         For use with ISO 8473, this field shall be encoded as one or more
  2605.         2-tuples of the form <length, prefix>, whose fields are described
  2606.         below:
  2607.  
  2608.         a)  The Length field is one octet long, and it indicates the length
  2609.             in bits of the address prefix.  A length of zero indicates a
  2610.             prefix that matches all addresses.
  2611.  
  2612.         b)  The Prefix field has a variable length, and it contains an
  2613.             address prefix.  If the Length field does not specify an
  2614.             integral number of octets, then the Prefix field shall be
  2615.             padded with trailing zero bits to the next octet boundary.  For
  2616.             purposes of use with ISO 8473, this field shall contain an NSAP
  2617.             address prefix encoded according to 7.1.2.1.
  2618.  
  2619.         A conforming IDRP implementation may ignore NLRI for all protocols
  2620.         other than ISO 8473.  The Decision and Forwarding processes of IDRP
  2621.         for use with protocols other than ISO 8473 are outside the scope of
  2622.         this international standard.
  2623.  
  2624.       Note 6:  The ISO 8802 LSAP format is intended for use with protocols
  2625.                that are identified directly by the use of a particular LSAP
  2626.  
  2627.    Kunzinger                     ISO/IEC 10747                  [ Page 56 ]
  2628.  
  2629.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2630.  
  2631.                value;  in such cases, the value of the proto_length field
  2632.                should be 1.
  2633.  
  2634.                The ISO TR 9577 IPI/SPI format may include additional
  2635.                information beyond the IPI/SPI value in the Protocol field;
  2636.                for example, if the IPI/SPI value is X'80', an IEEE 802.1a
  2637.                SNAP header might be included.
  2638.  
  2639.    6.4  IDRP ERROR PDU
  2640.  
  2641.       IDRP ERROR PDUs report error conditions which have been detected by
  2642.       the local BIS.  In addition to its fixed header, the IDRP ERROR PDU
  2643.       contains the following fields:
  2644.  
  2645.       +-------------------------------------------------------------------+
  2646.       | Fixed Header                                                      |
  2647.       +-------------------------------------------------------------------+
  2648.       | Error Code (1 octet)                                              |
  2649.       +-------------------------------------------------------------------+
  2650.       | Error Subcode (1 octet)                                           |
  2651.       +-------------------------------------------------------------------+
  2652.       | Data (variable)                                                   |
  2653.       +-------------------------------------------------------------------+
  2654.  
  2655.       The use of these fields is as follows:
  2656.  
  2657.       Error code: The Error code field is 1 octet long, and shall be
  2658.         present in every IDRP ERROR PDU.  It describes the type of error.
  2659.         The following error codes are defined:
  2660.  
  2661.         +----------------------------------------------------+------------+
  2662.         | Error Code                                         | Value      |
  2663.         +----------------------------------------------------+------------+
  2664.         | OPEN_PDU_Error                                     | 1          |
  2665.         +----------------------------------------------------+------------+
  2666.         | UPDATE_PDU_Error                                   | 2          |
  2667.         +----------------------------------------------------+------------+
  2668.         | Hold_Timer_Expired                                 | 3          |
  2669.         +----------------------------------------------------+------------+
  2670.         | FSM_Error                                          | 4          |
  2671.         +----------------------------------------------------+------------+
  2672.         | RIB_REFRESH_PDU_Error                              | 5          |
  2673.         +----------------------------------------------------+------------+
  2674.  
  2675.         All errors are fatal to the BIS connection.
  2676.  
  2677.    Kunzinger                     ISO/IEC 10747                  [ Page 57 ]
  2678.  
  2679.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2680.  
  2681.       Error subcode: The Error subcode is one octet long, and shall be
  2682.         present in every IDRP ERROR PDU.  The error subcode provides more
  2683.         specific information about the nature of the reported error.  A
  2684.         given IDRP ERROR PDU may report only one error subcode for the
  2685.         indicated error code.  The supported error subcodes are as follows:
  2686.  
  2687.         a)  OPEN PDU Error subcodes:
  2688.  
  2689.             +-------------------------------------------------+-----------+
  2690.             | Subcode                                         | Value     |
  2691.             +-------------------------------------------------+-----------+
  2692.             | Unsupported_Version_Number                      | 1         |
  2693.             +-------------------------------------------------+-----------+
  2694.             | Bad_Max_PDU_Size                                | 2         |
  2695.             +-------------------------------------------------+-----------+
  2696.             +-------------------------------------------------+-----------+
  2697.             | Bad_Peer_RD                                     | 3         |
  2698.             +-------------------------------------------------+-----------+
  2699.             | Unsupported_Authentication_code                 | 4         |
  2700.             +-------------------------------------------------+-----------+
  2701.             | Authentication_Failure                          | 5         |
  2702.             +-------------------------------------------------+-----------+
  2703.             | Bad_RIB-AttsSet                                 | 6         |
  2704.             +-------------------------------------------------+-----------+
  2705.             | RDC_Mismatch                                    | 7         |
  2706.             +-------------------------------------------------+-----------+
  2707.  
  2708.         b)  UPDATE PDU Error subcodes:
  2709.  
  2710.             +-------------------------------------------------+-----------+
  2711.             | Subcode                                         | Value     |
  2712.             +-------------------------------------------------+-----------+
  2713.             | Malformed_Attribute_List                        | 1         |
  2714.             +-------------------------------------------------+-----------+
  2715.             | Unrecognized_Well-known_Attribute               | 2         |
  2716.             +-------------------------------------------------+-----------+
  2717.             | Missing_Well-known_Attribute                    | 3         |
  2718.             +-------------------------------------------------+-----------+
  2719.             | Attribute_Flags_Error                           | 4         |
  2720.             +-------------------------------------------------+-----------+
  2721.             | Attribute_Length_Error                          | 5         |
  2722.             +-------------------------------------------------+-----------+
  2723.             | RD_Routeing_Loop                                | 6         |
  2724.             +-------------------------------------------------+-----------+
  2725.             | Invalid_NEXT_HOP_Attribute                      | 7         |
  2726.             +-------------------------------------------------+-----------+
  2727.  
  2728.    Kunzinger                     ISO/IEC 10747                  [ Page 58 ]
  2729.  
  2730.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2731.  
  2732.             +-------------------------------------------------+-----------+
  2733.             | Subcode                                         | Value     |
  2734.             +-------------------------------------------------+-----------+
  2735.             | Optional_Attribute_error                        | 8         |
  2736.             +-------------------------------------------------+-----------+
  2737.             | Invalid_Reachability_Information                | 9         |
  2738.             +-------------------------------------------------+-----------+
  2739.             | Misconfigured_RDCs                              | 10        |
  2740.             +-------------------------------------------------+-----------+
  2741.             | Malformed_NLRI                                  | 11        |
  2742.             +-------------------------------------------------+-----------+
  2743.             | Duplicated_Attributes                           | 12        |
  2744.             +-------------------------------------------------+-----------+
  2745.             | Illegal_RD_Path_Segment                         | 13        |
  2746.             +-------------------------------------------------+-----------+
  2747.  
  2748.         c)  Hold_Timer_Expired Error Subcodes:
  2749.  
  2750.             +-------------------------------------------------+-----------+
  2751.             | Subcode                                         | Value     |
  2752.             +-------------------------------------------------+-----------+
  2753.             | NULL                                            | 0         |
  2754.             +-------------------------------------------------+-----------+
  2755.  
  2756.         d)  FSM_Error Error Subcodes:
  2757.  
  2758.             When an FSM Error (see 7.6.1) has occurred, the first
  2759.             semi-octet of the error subcode carries the type number of the
  2760.             BISPDU that should not have been received and the second
  2761.             semi-octet encodes the state that the FSM was in when the
  2762.             reception took place.  The BISPDU type numbers are defined in
  2763.             6.1; the FSM states are encoded as follows:
  2764.  
  2765.             +-------------------------------------------------+-----------+
  2766.             | FSM State                                       | Encoded   |
  2767.             |                                                 | Value     |
  2768.             +-------------------------------------------------+-----------+
  2769.             | CLOSED                                          | 1         |
  2770.             +-------------------------------------------------+-----------+
  2771.             | OPEN-RCVD                                       | 2         |
  2772.             +-------------------------------------------------+-----------+
  2773.             | OPEN-SENT                                       | 3         |
  2774.             +-------------------------------------------------+-----------+
  2775.             | CLOSE-WAIT                                      | 4         |
  2776.             +-------------------------------------------------+-----------+
  2777.             | ESTABLISHED                                     | 5         |
  2778.             +-------------------------------------------------+-----------+
  2779.  
  2780.    Kunzinger                     ISO/IEC 10747                  [ Page 59 ]
  2781.  
  2782.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2783.  
  2784.         e)  RIB_REFRESH_PDU_Error Subcodes:
  2785.  
  2786.             +-------------------------------------------------+-----------+
  2787.             | Subcode                                         | Value     |
  2788.             +-------------------------------------------------+-----------+
  2789.             | Invalid_OpCode                                  | 1         |
  2790.             +-------------------------------------------------+-----------+
  2791.             | Unsupported_RIB-Atts                            | 2         |
  2792.             +-------------------------------------------------+-----------+
  2793.  
  2794.       Data: This variable length field contains zero or more octets of data
  2795.         to be used in diagnosing the reason for the IDRP ERROR PDU.  The
  2796.         contents of the Data field depends upon the error code and error
  2797.         subcode.
  2798.  
  2799.         Note that the length of the Data field can be determined from the
  2800.         Length field of the BISPDU header.  The minimum length of the IDRP
  2801.         ERROR PDU is 32 octets, including BISPDU header.
  2802.  
  2803.    6.5  KEEPALIVE PDU
  2804.  
  2805.       A KEEPALIVE PDU consists of only a PDU header and has a length of 30
  2806.       octets.
  2807.  
  2808.       A BIS can use the periodic exchange of KEEPALIVE PDUs with an
  2809.       adjacent BIS to verify that the peer BIS is reachable and active.
  2810.       KEEPALIVE PDUs are exchanged often enough as not to cause the hold
  2811.       time advertised in the OPEN PDU to expire.  The maximum time between
  2812.       KEEPALIVE PDUs shall be one third of the Hold Time interval as
  2813.       advertised in the Hold Time field of the OPEN PDU.
  2814.  
  2815.       A KEEPALIVE PDU may be sent asynchronously to acknowledge the receipt
  2816.       of other BISPDUs.  Sending a KEEPALIVE PDU does not cause the
  2817.       sender's sequence number to be incremented.
  2818.  
  2819.    6.6  CEASE PDU
  2820.  
  2821.       A CEASE PDU consists of only a PDU header and has length of 30
  2822.       octets.
  2823.  
  2824.       A CEASE PDU is used by the originating BIS to instruct the peer BIS
  2825.       to close the BIS-BIS connection.
  2826.  
  2827.       Receipt of a CEASE PDU will cause the BIS to close down the
  2828.       connection with the BIS that issued it, as described in 7.6.2.
  2829.  
  2830.    Kunzinger                     ISO/IEC 10747                  [ Page 60 ]
  2831.  
  2832.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2833.  
  2834.    6.7  RIB REFRESH PDU
  2835.  
  2836.       The RIB REFRESH PDU is used to allow a BIS to send a refresh of the
  2837.       routeing information in an Adj-RIB-Out to a neighbor BIS, or to
  2838.       solicit a neighbor BIS to send a refresh of its Adj-RIB-Out to the
  2839.       local BIS.  The RIB REFRESH PDU contains a fixed header and also the
  2840.       additional fields shown below:
  2841.  
  2842.       +-------------------------------------------------------------------+
  2843.       | Fixed Header                                                      |
  2844.       +-------------------------------------------------------------------+
  2845.       | OpCode (1 octet)                                                  |
  2846.       +-------------------------------------------------------------------+
  2847.       | RIB-Atts (variable)                                               |
  2848.       +-------------------------------------------------------------------+
  2849.  
  2850.       The use and meaning of these fields is as follows:
  2851.  
  2852.       There are three OpCode values defined:
  2853.  
  2854.       +------------+------------------------------------------------------+
  2855.       | Code       | Operation                                            |
  2856.       +------------+------------------------------------------------------+
  2857.       | 1          | RIB Refresh Request                                  |
  2858.       +------------+------------------------------------------------------+
  2859.       | 2          | RIB Refresh Start                                    |
  2860.       +------------+------------------------------------------------------+
  2861.       | 3          | RIB Refresh End                                      |
  2862.       +------------+------------------------------------------------------+
  2863.  
  2864.       The RIB-Atts field contains the RIB-Atts of the Adj-RIB-In for which
  2865.       a refresh is being requested.  This field is encoded in the same way
  2866.       that the RIB-AttsSet field of the OPEN PDU is encoded.
  2867.  
  2868.       Its usage is defined in 7.10.3.
  2869.  
  2870.  
  2871.  
  2872.  
  2873.  
  2874.    Kunzinger                     ISO/IEC 10747                  [ Page 61 ]
  2875.  
  2876.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2877.  
  2878.    7.  Elements of procedure
  2879.  
  2880.  
  2881.       This clause explains the elements of procedure used by the protocol
  2882.       specified in this International Standard; it also describes the
  2883.       naming conventions and system deployment practices assumed by this
  2884.       protocol.
  2885.  
  2886.    7.1  Naming and addressing conventions
  2887.  
  2888.       Correct operation of this protocol requires that all NSAP-addresses,
  2889.       NETs, and RDIs shall be encoded according to the preferred binary
  2890.       encoding method of ISO 8348/Add.2.
  2891.  
  2892.    7.1.1  Interpretation of address information
  2893.  
  2894.       IDRP does not assume or require any particular internal structure for
  2895.       the address.  That is, as long as the routeing domain administrator
  2896.       assigns values within this field that are consistent with the
  2897.       deployment constraints of 7.2.2, the protocol specified in this
  2898.       International Standard will operate correctly.
  2899.  
  2900.    7.1.2  NSAP address prefixes
  2901.  
  2902.       NSAP address prefixes provide a compact method for identifying groups
  2903.       of systems that reside in a given routeing domain or confederation.
  2904.       A prefix may have a length that is either smaller than, or the same
  2905.       size as, the base NSAP address.
  2906.  
  2907.       Note 7:  At one extreme, for example, the largest NSAP address prefix
  2908.                will be identical with the full NSAP address──in this case,
  2909.                it would identify a single system rather than a group of
  2910.                systems.  At another extreme, the NSAP prefix may be based
  2911.                on only a portion of NSAP address's IDP──in this case, it
  2912.                will identify a large group of systems.
  2913.  
  2914.  
  2915.  
  2916.    Kunzinger                     ISO/IEC 10747                  [ Page 62 ]
  2917.  
  2918.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2919.  
  2920.    7.1.2.1  Encoding of prefixes
  2921.  
  2922.       The encoded form of an NSAP address prefix is obtained by encoding
  2923.       the prefix (expressed in its abstract syntax) according to the
  2924.       preferred binary encoding of ISO 8348/Add.2, unless the end of the
  2925.       prefix falls within the IDP.  In this case, each decimal digit in the
  2926.       prefix shall be encoded as the corresponding semi-octet in the range
  2927.       0000-1001 and no padding characters shall be inserted.
  2928.  
  2929.       The length of an encoded prefix is denominated in bits.  The prefix
  2930.       shall end on a boundary that is legal in the abstract syntax of the
  2931.       address family from which it is derived.  For example, the encoding
  2932.       of a prefix whose DSP is expressed in decimal syntax must end on a
  2933.       semi-octet boundary, while the encoding of a prefix whose DSP is
  2934.       expressed in binary syntax can end on an arbitrary bit boundary.
  2935.  
  2936.    7.1.2.2  Prefix matching
  2937.  
  2938.       As part of the forwarding process, a BIS must match the destination
  2939.       NSAP address from an ISO 8473 NPDU against the NSAP address prefixes
  2940.       that are used to identify the Forwarding Information Bases.  An NSAP
  2941.       address prefix that extends into the DSP shall be compared directly
  2942.       against the encoded NSAP address, including any padding characters
  2943.       that may be present.  An NSAP address prefix which does not extend
  2944.       into the DSP shall be compared against the derived quantity NSAP',
  2945.       which is obtained from the encoded NSAP address by removing all
  2946.       padding characters that were inserted by the binary encoding process
  2947.       of ISO 8348/Add.2
  2948.  
  2949.       The existence of a match shall be determined as follows:
  2950.  
  2951.       a)  If the encoded NSAP address (or NSAP') contains fewer bits than
  2952.           the NSAP address prefix, then there is no match.
  2953.  
  2954.       b)  If the encoded NSAP address (or NSAP') contains at least as many
  2955.           bits as the NSAP address prefix, and all bits of the NSAP address
  2956.           prefix are identical to the corresponding leading bits of the
  2957.           encoded NSAP address (or NSAP'), there is a match.  Otherwise,
  2958.           there is no match.
  2959.  
  2960.       In cases where a given NSAP address matches several address prefixes,
  2961.       the match with the longest prefix shall take precedence.  For
  2962.       purposes of prefix matching, the length of a prefix is defined to be
  2963.       the number of bits that it contains.
  2964.  
  2965.  
  2966.    Kunzinger                     ISO/IEC 10747                  [ Page 63 ]
  2967.  
  2968.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  2969.  
  2970.       Note 8:  Any implementation of a matching process that satisfies the
  2971.                requirements listed above may be used.  The key point is
  2972.                that matching process must be aware of whether or not the
  2973.                NSAP address prefix extends into the DSP, and must then
  2974.                either include or exclude padding characters from the
  2975.                encoded NSAP address, as defined above.
  2976.  
  2977.    7.2  Deployment guidelines
  2978.  
  2979.    7.2.1  Minimum  configuration of an RD
  2980.  
  2981.       To participate in this inter-domain routeing protocol, a routeing
  2982.       domain must, as a minimum:
  2983.  
  2984.       -   contain at least one Boundary Intermediate system
  2985.  
  2986.       -   contain at least one BIS capable of delivering NPDUs to the
  2987.           intra-domain routeing function, if the RD contains End systems.
  2988.  
  2989.    7.2.2  Deployment of ISs and ESs
  2990.  
  2991.       End systems and intermediate systems may use any NSAP address or NET
  2992.       that has been assigned under ISO 8348/AD2 guidelines.  However,
  2993.       correct and efficient operation of this protocol can only be
  2994.       guaranteed if the following additional guidelines are met:
  2995.  
  2996.       a)  An NSAP prefix carried in the NLRI field of route originated by a
  2997.           BIS in a given routeing domain should be associated with only
  2998.           that routeing domain: that is, no system identified by the prefix
  2999.           should reside in a different routeing domain.  Ambiguous routeing
  3000.           may result if several routeing domains originate routes whose
  3001.           NLRI fields contain identical NSAP address prefixes, since this
  3002.           would imply that the same system(s) are simultaneously located in
  3003.           several routeing domains.  (As noted in 7.1.2.2, prefixes may be
  3004.           discriminated by both content and length.)
  3005.  
  3006.       b)  Several different NSAP prefixes may be associated with a single
  3007.           routeing domain identifier (RDI).  Thus, it is possible to
  3008.           construct a single routeing domain which contains a mix of
  3009.           systems which use NSAP addresses assigned by several different
  3010.           naming authorities.
  3011.  
  3012.  
  3013.    Kunzinger                     ISO/IEC 10747                  [ Page 64 ]
  3014.  
  3015.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3016.  
  3017.       The protocol defined in this International Standard assumes that the
  3018.       guidelines listed above have been satisfied, but it contains no means
  3019.       to verify that this is so.  Therefore, such verification will be the
  3020.       responsibility of the administrators of routeing domains.
  3021.  
  3022.    7.3  Domain configuration information
  3023.  
  3024.       Correct operation of the protocol described in this international
  3025.       standard assumes that a minimum amount of information is available to
  3026.       both the inter-domain and the intra-domain routeing protocols.  The
  3027.       information is static in nature, and is not expected to change
  3028.       frequently.  This protocol specifies the content of the information
  3029.       in terms of managed objects.
  3030.  
  3031.       The information required by a BIS that implements the protocol
  3032.       described in this International Standard is:
  3033.  
  3034.       a)  Location and identity of adjacent intra-domain ISs:
  3035.  
  3036.           The managed object intraIS lists the NETs of systems to which the
  3037.           local BIS may deliver an inbound NPDU whose destination lies
  3038.           within the BIS's routeing domain.  The managed object contains
  3039.           the NETs of ISs that support the intra-domain routeing protocol
  3040.           and are located on the same common subnetwork as the local BIS.
  3041.           In particular, if the BIS participates in the intra-domain
  3042.           routeing protocol (that is, the protocol machines for both intra-
  3043.           and inter-domain routeing are located in the same real system),
  3044.           then the NET of the local BIS will be listed in the managed
  3045.           object intraIS.
  3046.  
  3047.       b)  Location and identity of BISs in the domain:
  3048.  
  3049.           This information permits a BIS to identify all other BISs located
  3050.           within its routeing domain.  This information is contained in the
  3051.           managed object internalBIS, which contains a set of NETs which
  3052.           identify the BISs in the domain.
  3053.  
  3054.       c)  Location and identity of BISs in adjacent domain:
  3055.  
  3056.           Each BIS needs information to identify the NETs of each BIS
  3057.           located in an adjacent RD and reachable via a single subnetwork
  3058.           hop.  This information is contained in managed object
  3059.           externalBISNeighbor, which consists of a list of NETs.
  3060.  
  3061.       d)  NETs and NSAP addresses of all systems in the routeing domain:
  3062.  
  3063.    Kunzinger                     ISO/IEC 10747                  [ Page 65 ]
  3064.  
  3065.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3066.  
  3067.           This information is used by the BIS to construct its network
  3068.           layer reachability information.  This information is contained
  3069.           within the managed object internalSystems, which lists the
  3070.           address prefixes of the systems contained within the routeing
  3071.           domain.
  3072.  
  3073.       e)  Local RDI:
  3074.  
  3075.           This information is contained in managed object localRDI; it is
  3076.           the RDI of the routeing domain in which the BIS is located.
  3077.  
  3078.       f)  RIBAttsSet:
  3079.  
  3080.           This managed object lists all of the RIB-Atts (RIB attributes)
  3081.           which are supported by BISs located in this routeing domain.  As
  3082.           noted in clause 7.10.1, a RIB-Att is a set of Distinguishing
  3083.           Attributes.
  3084.  
  3085.       g)  Routeing Domain Configuration:
  3086.  
  3087.           Managed object rdcConfig identifies all the routeing domain
  3088.           confederations (RDCs) to which the RD of the local BIS belongs,
  3089.           and it describes the nesting relationships that are in force
  3090.           between them.  It is contained in managed object rdcConfig.
  3091.  
  3092.       h)  Local SNPAs:
  3093.  
  3094.           Managed object localSNPA contains a list of the SNPAs of the BIS.
  3095.  
  3096.    7.4  Advertising NLRI
  3097.  
  3098.       The NLRI field in an UPDATE PDU contains information about the NSAP
  3099.       addresses of systems that reside within a given routeing domain or
  3100.       whose NSAP addresses are under control of the administrator of that
  3101.       routeing domain; it should not be used to convey information about
  3102.       the operational status of these systems.  The information in the NLRI
  3103.       field is intended to convey static administrative information rather
  3104.       than dynamic transient information: for example, it is not necessary
  3105.       to report that a given system has changed its status from online to
  3106.       offline.
  3107.  
  3108.       The following guidelines for inclusion of NSAP address prefixes in
  3109.       the NLRI field of UPDATE PDUs originated within a given routeing
  3110.       domain will provide efficient operation of this protocol:
  3111.  
  3112.  
  3113.    Kunzinger                     ISO/IEC 10747                  [ Page 66 ]
  3114.  
  3115.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3116.  
  3117.       a)  NSAP addresses that are within the control of the administrator
  3118.           of a given routeing domain may be reported in the NLRI field for
  3119.           that routeing domain.  The NSAP prefixes can provide information
  3120.           about systems that are online, systems that are offline, or
  3121.           unallocated NSAP addresses.  The ability to include unallocated
  3122.           NSAP addresses and NSAP addresses of offline systems in the NLRI
  3123.           allows a routeing domain administrator to advertise compact
  3124.           prefixes, thus minimizing the amount of data carried in the
  3125.           BISPDUs.
  3126.  
  3127.       b)  NSAP addresses that are known to correspond to systems that are
  3128.           not under control of the routeing domain administrator should not
  3129.           be included in the NLRI field for that routeing domain.  By not
  3130.           listing NSAP address prefixes that identify systems that are not
  3131.           under his control, a routeing domain administrator will comply
  3132.           with the deployment guidelines for ISs and ESs as described in
  3133.           7.2.2, thus assuring correct operation of this protocol.
  3134.  
  3135.       c)  For efficient operation of this protocol, the WITHDRAWN ROUTES
  3136.           field should not be used to report the NLRI of systems in the
  3137.           local routeing domain that are offline.  This field should be
  3138.           used only to advertise NSAP prefixes that are no longer under
  3139.           control of the administrator of the local routeing domain,
  3140.           regardless of whether such systems are online or offline.
  3141.  
  3142.       Note 9:  Although the protocol in this International Standard will
  3143.                operate correctly if each system is reported individually as
  3144.                a maximum-length NSAP address prefix, this will result in a
  3145.                large amount of routeing information, and hence can result
  3146.                in inefficient operation of this protocol.
  3147.  
  3148.                This protocol provides no means to verify that the preceding
  3149.                guidelines are followed.  However, it is within the
  3150.                prerogative of the administrator of any routeing domain to
  3151.                implement policies that ignore UPDATE PDUs that contain an
  3152.                excessive amount of NLRI information or that can cause
  3153.                inefficient operation of this protocol.
  3154.  
  3155.    7.5  Receive process
  3156.  
  3157.       Within the Network layer, the IDRP protocol is located above the
  3158.       ISO 8473 protocol.  Therefore, IDRP relies upon ISO 8473 to perform
  3159.       the initial processing of incoming PDUs.  After processing the input
  3160.       NPDU, the ISO 8473 protocol machine that resides within the receiving
  3161.       BIS will deliver:
  3162.  
  3163.    Kunzinger                     ISO/IEC 10747                  [ Page 67 ]
  3164.  
  3165.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3166.  
  3167.       a)  BISPDUs to the IDRP Receive Process, or
  3168.       b)  ISO 8473 NPDUs to the IDRP CLNS Forwarding Process.
  3169.  
  3170.       The ISO 8473 protocol machine shall process inbound NPDUs according
  3171.       to the appropriate ISO 8473 functions.
  3172.  
  3173.       If the NPDU contains an SPI that identifies IDRP, and the NPDU's
  3174.       source address identifies any system listed in managed objects
  3175.       internalBIS or externalBISNeighbor, then the data part of the NPDU
  3176.       contains a BISPDU.  This BISPDU shall be passed to the IDRP finite
  3177.       state machine defined in 7.6.1.
  3178.  
  3179.       However, if the source address of the NPDU is not an NET listed in
  3180.       the internalBIS or the externalBISNeighbor attributes of the
  3181.       idrpConfig Managed Object, then:
  3182.  
  3183.       a)  If the NPDU is an OPEN BISPDU without errors, then the BIS shall
  3184.           send a notification ("connectRequestBISUnknown") to Systems
  3185.           Management,
  3186.       b)  If the NPDU is any other BISPDU with or without errors, then the
  3187.           BIS shall send a notification ("PacketBomb") to Systems
  3188.           Management.
  3189.  
  3190.       The NPDU shall then be discarded.
  3191.  
  3192.       If the SPI identifies ISO 8473, decapsulate the inner PDU and pass it
  3193.       back to the ISO 8473 protocol machine.  (This step permits iterations
  3194.       on multiply encapsulated NPDUs, which may occur, for example, as
  3195.       described in 8.4, item b1.)
  3196.  
  3197.    7.6  BIS-BIS connection management
  3198.  
  3199.       The protocol described in this International Standard relies on the
  3200.       underlying Network layer service to establish a full-duplex
  3201.       communications channel between each pair of BISs.
  3202.  
  3203.    7.6.1  BIS finite state machines
  3204.  
  3205.       A BIS shall maintain one finite state machine (FSM) for each BIS-BIS
  3206.       connection that it supports, and each FSM in a given BIS shall run
  3207.       independently of one another.  A BIS-BIS connection will progress
  3208.       through a series of states during its lifetime, which are summarized
  3209.       in the state table shown in Table 2.
  3210.  
  3211.  
  3212.    Kunzinger                     ISO/IEC 10747                  [ Page 68 ]
  3213.  
  3214.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3215.  
  3216.       +--- Notation Warning ----------------------------------------------+
  3217.       |                                                                   |
  3218.       | To create a readable table within the bounds of a flat ASCII file |
  3219.       | using a monospaced font at 10 characters/inch, the following      |
  3220.       | abbreviated notation is used within the table:                    |
  3221.       |                                                                   |
  3222.       | start     activate                                                |
  3223.       |                                                                   |
  3224.       | stop      deactivate                                              |
  3225.       |                                                                   |
  3226.       | CLSD      CLOSED                                                  |
  3227.       |                                                                   |
  3228.       | OPRC      OPEN-RCVD                                               |
  3229.       |                                                                   |
  3230.       | OPSN      OPEN-SENT                                               |
  3231.       |                                                                   |
  3232.       | CLWT      CLOSED-WAIT                                             |
  3233.       |                                                                   |
  3234.       | ESTB      ESTABLISHED                                             |
  3235.       |                                                                   |
  3236.       | KPALV     KEEPALIVE                                               |
  3237.       |                                                                   |
  3238.       | ClWtD     CloseWaitDelay                                          |
  3239.       |                                                                   |
  3240.       | LFO       ListenForOPEN                                           |
  3241.       |                                                                   |
  3242.       +-------------------------------------------------------------------+
  3243.  
  3244.       BISPDUs passed to this finite state machine are subject the flow
  3245.       control procedures of 7.7.5 if the FSM is in the ESTABLISHED state.
  3246.       When the FSM is in the ESTABLISHED state, only BISPDUs that are not
  3247.       discarded by the flow control process are processed by the FSM.  In
  3248.       all other states, all BISPDUs are processed directly by the finite
  3249.       state machine without being subject to flow control procedures.
  3250.  
  3251.       In describing the FSM transitions in response to receipt of BISPDUs,
  3252.       the following shorthand notation is used:
  3253.  
  3254.       a)  Receive with no errors means that the none of the error
  3255.           conditions defined in the appropriate subclause of 7.20 have been
  3256.           detected.
  3257.  
  3258.       b)  Receive with errors means that an error condition defined in the
  3259.           appropriate subclause of 7.20 has been detected.
  3260.  
  3261.       It is possible to receive a BISPDU which is properly formed, but
  3262.       which normally should not be received while the FSM is in the given
  3263.  
  3264.    Kunzinger                     ISO/IEC 10747                  [ Page 69 ]
  3265.  
  3266.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3267.  
  3268.       state.  Such an event constitutes an FSM Error.  If an FSM Error can
  3269.       occur for a given state, it is shown in the description of that
  3270.       state.
  3271.  
  3272.    7.6.1.1  CLOSED State
  3273.  
  3274.       Initially the BIS Finite State Machine is in the CLOSED state.  The
  3275.       CLOSED state exists when no BIS-BIS connection exists and there is no
  3276.       connection record allocated.
  3277.  
  3278.       While in the CLOSED state, the BIS shall take the following actions:
  3279.  
  3280.       a)  If the BIS receives a deactivate, no action shall be taken and
  3281.           the FSM shall remain in the CLOSED state.
  3282.  
  3283.       b)  If the FSM receives an activate, the local BIS shall shall
  3284.           generate an initial sequence number (see 7.7.4), and shall send
  3285.           an OPEN PDU to the remote BIS.  The sequence field of the OPEN
  3286.           PDU shall contain the Initial Sequence Number (ISN); the
  3287.           Acknowledgement and Credit Available fields shall contain the
  3288.           value 0; and the Credit Offered field shall contain the initial
  3289.           flow control credit.  The FSM shall enter the OPEN-SENT state.
  3290.  
  3291.       c)  If the managed object ListenForOPEN is TRUE, and the BIS receives
  3292.           an OPEN PDU with no errors, then the local BIS shall generate an
  3293.           initial sequence number (see 7.7.4) and shall send an OPEN PDU to
  3294.           the remote BIS.  The sequence field of the OPEN PDU shall contain
  3295.           the Initial Sequence Number (ISN), the Acknowledgement field
  3296.           shall acknowledge the received OPEN PDU, the Credit Available
  3297.           field shall be set according to the procedures of 7.7.5b, and the
  3298.           Credit Offered field shall contain the initial flow control
  3299.           credit.  The FSM shall then change its state to OPEN_RCVD.
  3300.  
  3301.       d)  If the managed object ListenForOPEN is TRUE and the BIS receives
  3302.           any BISPDU other than an OPEN PDU with no errors, or if the
  3303.           managed object ListenForOPEN is FALSE and the BIS receives any
  3304.           BISPDU, with or without errors, the BIS shall ignore the BISPDU
  3305.           and the FSM shall remain in the CLOSED state.
  3306.  
  3307.  
  3308.  
  3309.  
  3310.    Kunzinger                     ISO/IEC 10747                  [ Page 70 ]
  3311.  
  3312.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3313.  
  3314.    7.6.1.2  OPEN-SENT State
  3315.  
  3316.       While in the OPEN-SENT state, the BIS shall take the following
  3317.       actions:
  3318.  
  3319.       a)  If the FSM receives an activate, the BIS shall ignore it, and the
  3320.           FSM shall remain in the OPEN-SENT state.
  3321.  
  3322.       b)  If the FSM receives a deactivate, the BIS shall send a CEASE PDU
  3323.           to its peer, and the FSM shall enter the CLOSE-WAIT state.
  3324.  
  3325.       c)  If the BIS receives a BISPDU with header errors (see 7.20.1), it
  3326.           shall log the error event, and the FSM shall remain in the
  3327.           OPEN-SENT state.
  3328.  
  3329.       d)  If the BIS receives an OPEN PDU with errors (see 7.20.2), it
  3330.           shall send an IDRP ERROR PDU to the adjacent BIS, acknowledging
  3331.           the remote BIS's OPEN PDU.  The FSM shall then enter the
  3332.           CLOSE-WAIT state.
  3333.  
  3334.       e)  If the BIS receives an OPEN PDU with no errors that does not
  3335.           acknowledge its own previously sent OPEN PDU, then the local BIS
  3336.           shall resend its own OPEN PDU with the same sequence number and
  3337.           with an acknowledgement of the remote BIS's OPEN PDU.  The value
  3338.           of the Credit Available field shall be set according to the
  3339.           procedures of 7.7.5b.  The FSM shall then change its state to
  3340.           OPEN-RCVD.
  3341.  
  3342.       f)  If the BIS receives an OPEN PDU with no errors that acknowledges
  3343.           its own previously sent OPEN PDU, the local BIS shall send a
  3344.           KEEPALIVE, RIB REFRESH, or UPDATE PDU that acknowledges the OPEN
  3345.           PDU received from the remote BIS.  The FSM shall then enter the
  3346.           ESTABLISHED state.
  3347.  
  3348.       g)  If the BIS receives an IDRP ERROR PDU, either with or without
  3349.           error, it shall send a CEASE PDU, and the FSM shall change its
  3350.           state to CLOSED.
  3351.  
  3352.       h)  If the BIS receives a RIB REFRESH PDU or UPDATE PDU, either with
  3353.           or without errors, it shall issue an IDRP ERROR PDU, indicating
  3354.           "FSM Error".  The FSM shall then enter the CLOSE-WAIT state.
  3355.  
  3356.       i)  If the BIS receives a KEEPALIVE PDU, it shall issue an IDRP ERROR
  3357.           PDU, indicating "FSM Error".  The FSM shall then enter the
  3358.           CLOSE-WAIT state.
  3359.  
  3360.  
  3361.    Kunzinger                     ISO/IEC 10747                  [ Page 71 ]
  3362.  
  3363.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3364.  
  3365.       j)  If the BIS receives a CEASE PDU, it shall issue a CEASE PDU in
  3366.           return, and then the FSM shall enter the CLOSED state.
  3367.  
  3368.       k)  If the BIS does not receive an OPEN PDU within a period t[ R]
  3369.           after sending an OPEN PDU, the BIS shall resend the OPEN PDU.  If
  3370.           the OPEN PDU is retransmitted n times, the local BIS shall issue
  3371.           a deactivate to close the BIS-BIS connection.
  3372.  
  3373.           Note 10:  The value t[R] should be chosen to be large enough so
  3374.                     that attempting to establish a connection to an
  3375.                     unresponsive peer BIS does not consume significant
  3376.                     network resources.  The values of t[R] and n must be
  3377.                     chosen so that <t[ R]> * n is greater than the
  3378.                     architectural constant CloseWaitDelay.
  3379.  
  3380.    7.6.1.3  OPEN-RCVD State
  3381.  
  3382.       While in the OPEN-RCVD state, the BIS shall take the following
  3383.       actions:
  3384.  
  3385.       a)  If the BIS receives an activate, it shall ignore it and the FSM
  3386.           shall remain in the OPEN-RCVD state.
  3387.  
  3388.       b)  If the BIS receives a deactivate, it shall send a CEASE PDU to
  3389.           the remote BIS, and the FSM shall enter the CLOSE-WAIT state.
  3390.  
  3391.       c)  If the BIS receives a BISPDU with a header error, it shall log
  3392.           the error event, and the FSM shall remain in the OPEN-RCVD state.
  3393.  
  3394.       d)  If the BIS receives a KEEPALIVE PDU that acknowledges its
  3395.           previously sent OPEN PDU, then the FSM shall enter the
  3396.           ESTABLISHED state.
  3397.  
  3398.       e)  If the BIS receives a KEEPALIVE PDU that does not acknowledge its
  3399.           previously sent OPEN PDU, the BIS shall issue an IDRP ERROR PDU
  3400.           indicating "FSM Error", and the FSM shall change its state to
  3401.           CLOSE-WAIT.
  3402.  
  3403.       f)  If the BIS receives a CEASE PDU, it shall issue a CEASE PDU in
  3404.           return, and then the FSM shall enter the CLOSED state.
  3405.  
  3406.       g)  If the BIS receives an OPEN PDU with no errors from the remote
  3407.           BIS that acknowledges the local BIS's previously sent OPEN PDU,
  3408.           the BIS shall send a KEEPALIVE, RIB REFRESH, or UPDATE PDU that
  3409.           acknowledges the OPEN PDU received from the remote BIS.  The FSM
  3410.           shall then enter the ESTABLISHED state.
  3411.  
  3412.    Kunzinger                     ISO/IEC 10747                  [ Page 72 ]
  3413.  
  3414.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3415.  
  3416.       h)  If the BIS receives an OPEN PDU with no errors that does not
  3417.           acknowledge the local BIS's previously sent OPEN PDU, then the
  3418.           local BIS shall resend its own OPEN PDU with the same sequence
  3419.           number, and shall also include an acknowledgement of the remote
  3420.           BIS's OPEN PDU.  The FSM shall remain in the OPEN-RCVD state.
  3421.  
  3422.       i)  If the BIS receives an UPDATE PDU or RIB REFRESH PDU with errors,
  3423.           theBIS shall send an IDRP ERROR PDU to the remote BIS, and the
  3424.           FSM shall enter the CLOSE-WAIT state.
  3425.  
  3426.       j)  If the BIS receives an UPDATE PDU or RIB REFRESH PDU with no
  3427.           errors that acknowledges the OPEN PDU previously sent by the
  3428.           local BIS, the FSM shall enter the ESTABLISHED state.
  3429.  
  3430.       k)  If the BIS receives an UPDATE PDU or RIB REFRESH PDU with no
  3431.           errors that does not acknowledge the OPEN PDU previously sent by
  3432.           the local BIS, the BIS shall issue an IDRP ERROR PDU indicating
  3433.           "FSM Error", and the FSM shall change its state to CLOSE-WAIT.
  3434.  
  3435.    +----------------------------------------------------------------------+
  3436.    | Table 2 (Page 1 of 7). BIS Finite State Machine.  This table         |
  3437.    |                        summarizes the effects that its inputs will   |
  3438.    |                        have on an IDRP FSM, giving both state        |
  3439.    |                        transitions and the actions to be taken.      |
  3440.    +--------+-----------+-------------+-------------+----------+----------+
  3441.    | STATE  | CLSD      | OPRC        | OPSN        | CLWT     | ESTB     |
  3442.    | >      |           |             |             |          |          |
  3443.    +--------+           |             |             |          |          |
  3444.    | INPUT  |           |             |             |          |          |
  3445.    | V      |           |             |             |          |          |
  3446.    +--------+-----------+-------------+-------------+----------+----------+
  3447.    | start  | S=OPSN    | S=OPRC      | S=OPSN      | S=CLWT   | S=ESTB   |
  3448.    |        | A=send    | A=none      | A=none      | A=none   | A=none   |
  3449.    |        | OPEN PDU  |             |             |          |          |
  3450.    +--------+-----------+-------------+-------------+----------+----------+
  3451.    | stop   | S=CLSD    | S=CLWT      | S=CLWT      | S=CLWT   | S=CLWT   |
  3452.    |        | A=none    | A=send      | A=send      | A=none   | A=send   |
  3453.    |        |           | CEASE PDU   | CEASE PDU   |          | CEASE    |
  3454.    |        |           |             |             |          | PDU      |
  3455.    +--------+-----------+-------------+-------------+----------+----------+
  3456.    | Expiry | S=CLSD    | S=OPRC      | S=OPSN      | S=CLSD   | S=ESTB   |
  3457.    | of     | A=none    | A=none      | A=none      | A=7.6.2  | A=none   |
  3458.    | ClWtD  |           |             |             |          |          |
  3459.    | Timer  |           |             |             |          |          |
  3460.    +--------+-----------+-------------+-------------+----------+----------+
  3461.  
  3462.  
  3463.    Kunzinger                     ISO/IEC 10747                  [ Page 73 ]
  3464.  
  3465.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3466.  
  3467.    +----------------------------------------------------------------------+
  3468.    | Table 2 (Page 2 of 7). BIS Finite State Machine.  This table         |
  3469.    |                        summarizes the effects that its inputs will   |
  3470.    |                        have on an IDRP FSM, giving both state        |
  3471.    |                        transitions and the actions to be taken.      |
  3472.    +--------+-----------+-------------+-------------+----------+----------+
  3473.    | STATE  | CLSD      | OPRC        | OPSN        | CLWT     | ESTB     |
  3474.    | >      |           |             |             |          |          |
  3475.    +--------+           |             |             |          |          |
  3476.    | INPUT  |           |             |             |          |          |
  3477.    | V      |           |             |             |          |          |
  3478.    +--------+-----------+-------------+-------------+----------+----------+
  3479.    | Expiry | S=CLSD    | S=OPRC      | S=OPSN      | S=CLWT   | S=CLWT   |
  3480.    | of     | A=none    | A=none      | A=none      | A=none   | A=Send   |
  3481.    | Hold   |           |             |             |          | IDRP     |
  3482.    | Timer  |           |             |             |          | ERROR    |
  3483.    |        |           |             |             |          | PDU to   |
  3484.    |        |           |             |             |          | report   |
  3485.    |        |           |             |             |          | error    |
  3486.    +--------+-----------+-------------+-------------+----------+----------+
  3487.    | Receive| S=CLSD    | S=OPRC      | S=OPSN      | S=CLWT   | S=ESTB   |
  3488.    | BISPDU | A=none    | A=log error | A=log error | A=none   | A=log    |
  3489.    | with   |           | event       | event       |          | error    |
  3490.    | Header |           |             |             |          | event    |
  3491.    | Error  |           |             |             |          |          |
  3492.    +--------+-----------+-------------+-------------+----------+----------+
  3493.    | Receive| S=CLSD    | If ACK is   | S=CLWT      | S=CLWT   | S=ESTB   |
  3494.    | KPALV  | A=none    | correct,    | A=Send IDRP | A=send   | A=Restart|
  3495.    | PDU    |           |             | ERROR PDU   | CEASE,   | Hold     |
  3496.    | with   |           |  S=ESTB     | to report   | restart  | Timer    |
  3497.    | no     |           |  A=Restart  | FSM Error   | ClWtD    |          |
  3498.    | errors |           |  Hold Timer |             | timer    |          |
  3499.    |        |           |             |             |          |          |
  3500.    |        |           | If ACK is   |             |          |          |
  3501.    |        |           | incorrect,  |             |          |          |
  3502.    |        |           |             |             |          |          |
  3503.    |        |           |  S=CLWT     |             |          |          |
  3504.    |        |           |  A=Send     |             |          |          |
  3505.    |        |           |  IDRP ERROR |             |          |          |
  3506.    |        |           |  PDU to     |             |          |          |
  3507.    |        |           |  peer BIS   |             |          |          |
  3508.    |        |           |  to report  |             |          |          |
  3509.    |        |           |  FSM Error  |             |          |          |
  3510.    +--------+-----------+-------------+-------------+----------+----------+
  3511.  
  3512.  
  3513.    Kunzinger                     ISO/IEC 10747                  [ Page 74 ]
  3514.  
  3515.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3516.  
  3517.    +----------------------------------------------------------------------+
  3518.    | Table 2 (Page 3 of 7). BIS Finite State Machine.  This table         |
  3519.    |                        summarizes the effects that its inputs will   |
  3520.    |                        have on an IDRP FSM, giving both state        |
  3521.    |                        transitions and the actions to be taken.      |
  3522.    +--------+-----------+-------------+-------------+----------+----------+
  3523.    | STATE  | CLSD      | OPRC        | OPSN        | CLWT     | ESTB     |
  3524.    | >      |           |             |             |          |          |
  3525.    +--------+           |             |             |          |          |
  3526.    | INPUT  |           |             |             |          |          |
  3527.    | V      |           |             |             |          |          |
  3528.    +--------+-----------+-------------+-------------+----------+----------+
  3529.    | Receive| S=CLSD    | S=CLSD      | S=CLSD      | S=CLSD   | S=CLSD   |
  3530.    | CEASE  | A=none    | A=send      | A=send      | A=7.6.2  | A=send   |
  3531.    | PDU    |           | CEASE,      | CEASE,      |          | CEASE,   |
  3532.    | with   |           | 7.6.2       | 7.6.2       |          | 7.6.2    |
  3533.    | no     |           |             |             |          |          |
  3534.    | errors |           |             |             |          |          |
  3535.    +--------+-----------+-------------+-------------+----------+----------+
  3536.    | Receive| S=CLOSE   | S=CLWT      | S=CLWT      | S=CLWT   | S=CLWT   |
  3537.    | OPEN   | A=none    | A=Send IDRP | A=Send IDRP | A=none   | A=Send   |
  3538.    | PDU    |           | ERROR PDU   | ERROR PDU   |          | IDRP     |
  3539.    | with   |           | to peer BIS | to peer BIS |          | ERROR    |
  3540.    | errors |           | to report   | to report   |          | PDU to   |
  3541.    |        |           | OPEN PDU    | OPEN PDU    |          | peer BIS |
  3542.    |        |           | error       | error       |          | to       |
  3543.    |        |           |             |             |          | report   |
  3544.    |        |           |             |             |          | OPEN PDU |
  3545.    |        |           |             |             |          | error    |
  3546.    +--------+-----------+-------------+-------------+----------+----------+
  3547.  
  3548.  
  3549.  
  3550.  
  3551.  
  3552.  
  3553.  
  3554.    Kunzinger                     ISO/IEC 10747                  [ Page 75 ]
  3555.  
  3556.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3557.  
  3558.    +----------------------------------------------------------------------+
  3559.    | Table 2 (Page 4 of 7). BIS Finite State Machine.  This table         |
  3560.    |                        summarizes the effects that its inputs will   |
  3561.    |                        have on an IDRP FSM, giving both state        |
  3562.    |                        transitions and the actions to be taken.      |
  3563.    +--------+-----------+-------------+-------------+----------+----------+
  3564.    | STATE  | CLSD      | OPRC        | OPSN        | CLWT     | ESTB     |
  3565.    | >      |           |             |             |          |          |
  3566.    +--------+           |             |             |          |          |
  3567.    | INPUT  |           |             |             |          |          |
  3568.    | V      |           |             |             |          |          |
  3569.    +--------+-----------+-------------+-------------+----------+----------+
  3570.    | Receive| If LFO is | If ACK is   | If ACK is   | S=CLWT   | S=CLWT   |
  3571.    | OPEN   | TRUE,     | correct,    | correct,    | A=send   | A=Send   |
  3572.    | PDU    |           |             |             | CEASE,   | IDRP     |
  3573.    | with   |  S=OPRC   |  S=ESTB     |  S=ESTB     | restart  | ERROR    |
  3574.    | no     |  A=send   |  A=send     |  A=send     | ClWtD    | PDU to   |
  3575.    | errors |  OPEN PDU |  KPALV,     |  KPALV,     | timer    | peer BIS |
  3576.    |        |           |  UPDATE, or |  UPDATE, or |          | to       |
  3577.    |        | If LFO is |  RIB        |  RIB        |          | report   |
  3578.    |        | FALSE,    |  REFRESH    |  REFRESH    |          | FSM      |
  3579.    |        |           |  PDU        |  PDU        |          | error    |
  3580.    |        |  S=CLSD   |             |             |          |          |
  3581.    |        |  A=none   | If ACK is   | If ACK is   |          |          |
  3582.    |        |           | incorrect,  | incorrect,  |          |          |
  3583.    |        |           |             |             |          |          |
  3584.    |        |           |  S=OPRC,    |  S=OPRC     |          |          |
  3585.    |        |           |  A=send     |  A=send     |          |          |
  3586.    |        |           |  OPEN PDU   |  OPEN PDU   |          |          |
  3587.    +--------+-----------+-------------+-------------+----------+----------+
  3588.    | Receive| S=CLSD    | S=CLWT      | S=CLWT      | S=CLWT   | S=CLWT   |
  3589.    | UPDATE | A=none    | A=Send IDRP | A=Send IDRP | A=none   | A=Send   |
  3590.    | PDU    |           | ERROR PDU   | ERROR PDU   |          | IDRP     |
  3591.    | with   |           | to peer BIS | to peer BIS |          | ERROR    |
  3592.    | errors |           | to report   | to report   |          | PDU to   |
  3593.    |        |           | UPDATE PDU  | FSM error   |          | peer BIS |
  3594.    |        |           | error       |             |          | to       |
  3595.    |        |           |             |             |          | report   |
  3596.    |        |           |             |             |          | UPDATE   |
  3597.    |        |           |             |             |          | PDU      |
  3598.    |        |           |             |             |          | error    |
  3599.    +--------+-----------+-------------+-------------+----------+----------+
  3600.  
  3601.  
  3602.  
  3603.    Kunzinger                     ISO/IEC 10747                  [ Page 76 ]
  3604.  
  3605.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3606.  
  3607.    +----------------------------------------------------------------------+
  3608.    | Table 2 (Page 5 of 7). BIS Finite State Machine.  This table         |
  3609.    |                        summarizes the effects that its inputs will   |
  3610.    |                        have on an IDRP FSM, giving both state        |
  3611.    |                        transitions and the actions to be taken.      |
  3612.    +--------+-----------+-------------+-------------+----------+----------+
  3613.    | STATE  | CLSD      | OPRC        | OPSN        | CLWT     | ESTB     |
  3614.    | >      |           |             |             |          |          |
  3615.    +--------+           |             |             |          |          |
  3616.    | INPUT  |           |             |             |          |          |
  3617.    | V      |           |             |             |          |          |
  3618.    +--------+-----------+-------------+-------------+----------+----------+
  3619.    | Receive| S=CLSD    | If ACK is   | S=CLWT      | S=CLWT   | S=ESTB   |
  3620.    | UPDATE | A=none    | correct,    | A=Send IDRP | A=send   | A=7.14,  |
  3621.    | PDU    |           |             | ERROR PDU   | CEASE,   | restart  |
  3622.    | with   |           |  S=ESTB     | to peer BIS | restart  | Hold     |
  3623.    | no     |           |  A=7.14,    | to report   | ClWtD    | Timer    |
  3624.    | errors |           |  restart    | FSM error   | timer    |          |
  3625.    |        |           |  Hold Timer |             |          |          |
  3626.    |        |           |             |             |          |          |
  3627.    |        |           | If ACK is   |             |          |          |
  3628.    |        |           | incorrect,  |             |          |          |
  3629.    |        |           |             |             |          |          |
  3630.    |        |           |  S=CLWT     |             |          |          |
  3631.    |        |           |  A=Send     |             |          |          |
  3632.    |        |           |  IDRP ERROR |             |          |          |
  3633.    |        |           |  PDU to     |             |          |          |
  3634.    |        |           |  peer BIS   |             |          |          |
  3635.    |        |           |  to report  |             |          |          |
  3636.    |        |           |  FSM Error  |             |          |          |
  3637.    +--------+-----------+-------------+-------------+----------+----------+
  3638.    | Receive| S=CLSD    | S=CLSD      | S=CLSD      | S=CLSD   | S=CLSD   |
  3639.    | IDRP   | A=none    | A=Send      | A=Send      | A=Send   | A=Send   |
  3640.    | ERROR  |           | CEASE PDU,  | CEASE PDU,  | CEASE    | CEASE    |
  3641.    | PDU    |           | 7.6.2       | 7.6.2       | PDU,     | PDU,     |
  3642.    | with   |           |             |             | 7.6.2    | 7.6.2    |
  3643.    | errors |           |             |             |          |          |
  3644.    +--------+-----------+-------------+-------------+----------+----------+
  3645.    | Receive| S=CLSD    | S=CLSD      | S=CLSD      | S=CLSD   | S=CLSD   |
  3646.    | IDRP   | A=none    | A=Send      | A=Send      | A=Send   | A=Send   |
  3647.    | ERROR  |           | CEASE PDU,  | CEASE PDU,  | CEASE    | CEASE    |
  3648.    | PDU    |           | 7.6.2       | 7.6.2       | PDU,     | PDU,     |
  3649.    | with   |           |             |             | 7.6.2    | 7.6.2    |
  3650.    | no     |           |             |             |          |          |
  3651.    | errors |           |             |             |          |          |
  3652.    +--------+-----------+-------------+-------------+----------+----------+
  3653.  
  3654.    Kunzinger                     ISO/IEC 10747                  [ Page 77 ]
  3655.  
  3656.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3657.  
  3658.    +----------------------------------------------------------------------+
  3659.    | Table 2 (Page 6 of 7). BIS Finite State Machine.  This table         |
  3660.    |                        summarizes the effects that its inputs will   |
  3661.    |                        have on an IDRP FSM, giving both state        |
  3662.    |                        transitions and the actions to be taken.      |
  3663.    +--------+-----------+-------------+-------------+----------+----------+
  3664.    | STATE  | CLSD      | OPRC        | OPSN        | CLWT     | ESTB     |
  3665.    | >      |           |             |             |          |          |
  3666.    +--------+           |             |             |          |          |
  3667.    | INPUT  |           |             |             |          |          |
  3668.    | V      |           |             |             |          |          |
  3669.    +--------+-----------+-------------+-------------+----------+----------+
  3670.    | Receive| S=CLSD    | S=CLWT      | S=CLWT      | S=CLWT   | S=CLWT   |
  3671.    | RIB    | A=none    | A=Send IDRP | A=Send IDRP | A=none   | A=Send   |
  3672.    | REFRESH|           | ERROR PDU   | ERROR PDU   |          | IDRP     |
  3673.    | PDU    |           | to peer BIS | to peer BIS |          | ERROR    |
  3674.    | with   |           | to report   | to report   |          | PDU to   |
  3675.    | errors |           | RIB REFRESH | FSM error   |          | peer BIS |
  3676.    |        |           | PDU error   |             |          | to       |
  3677.    |        |           |             |             |          | report   |
  3678.    |        |           |             |             |          | RIB      |
  3679.    |        |           |             |             |          | REFRESH  |
  3680.    |        |           |             |             |          | PDU      |
  3681.    |        |           |             |             |          | error    |
  3682.    +--------+-----------+-------------+-------------+----------+----------+
  3683.  
  3684.  
  3685.  
  3686.  
  3687.  
  3688.  
  3689.  
  3690.  
  3691.    Kunzinger                     ISO/IEC 10747                  [ Page 78 ]
  3692.  
  3693.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3694.  
  3695.    +----------------------------------------------------------------------+
  3696.    | Table 2 (Page 7 of 7). BIS Finite State Machine.  This table         |
  3697.    |                        summarizes the effects that its inputs will   |
  3698.    |                        have on an IDRP FSM, giving both state        |
  3699.    |                        transitions and the actions to be taken.      |
  3700.    +--------+-----------+-------------+-------------+----------+----------+
  3701.    | STATE  | CLSD      | OPRC        | OPSN        | CLWT     | ESTB     |
  3702.    | >      |           |             |             |          |          |
  3703.    +--------+           |             |             |          |          |
  3704.    | INPUT  |           |             |             |          |          |
  3705.    | V      |           |             |             |          |          |
  3706.    +--------+-----------+-------------+-------------+----------+----------+
  3707.    | Receive| S=CLSD    | If ACK is   | S=CLWT      | S=CLWT   | S=ESTB   |
  3708.    | RIB    | A=none    | correct,    | A=Send IDRP | A=send   | A=7.10.3,|
  3709.    | REFRESH|           |             | ERROR PDU   | CEASE,   | restart  |
  3710.    | PDU    |           |  S=ESTB     | to report   | restart  | Hold     |
  3711.    | with   |           |  A=7.10.3,  | FSM Error   | ClWtD    | Timer    |
  3712.    | no     |           |  restart    |             | timer    |          |
  3713.    | errors |           |  Hold Timer |             |          |          |
  3714.    |        |           |             |             |          |          |
  3715.    |        |           | If ACK is   |             |          |          |
  3716.    |        |           | incorrect,  |             |          |          |
  3717.    |        |           |             |             |          |          |
  3718.    |        |           |  S=CLWT     |             |          |          |
  3719.    |        |           |  A=Send     |             |          |          |
  3720.    |        |           |  IDRP ERROR |             |          |          |
  3721.    |        |           |  PDU to     |             |          |          |
  3722.    |        |           |  peer BIS   |             |          |          |
  3723.    |        |           |  to report  |             |          |          |
  3724.    |        |           |  FSM Error  |             |          |          |
  3725.    +--------+-----------+-------------+-------------+----------+----------+
  3726.  
  3727.  
  3728.  
  3729.  
  3730.  
  3731.  
  3732.    Kunzinger                     ISO/IEC 10747                  [ Page 79 ]
  3733.  
  3734.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3735.  
  3736.    +----------------------------------------------------------------------+
  3737.    | Notes:                                                               |
  3738.    |                                                                      |
  3739.    | a)  "S" indicates the state into which the FSM will make a           |
  3740.    |     transition after performing the indicated action.                |
  3741.    |                                                                      |
  3742.    | b)  "A" indicates the action to be taken.                            |
  3743.    |                                                                      |
  3744.    | c)  "X.Y.Z" is shorthand notation for "do as specified in clause     |
  3745.    |     X.Y.Z".                                                          |
  3746.    |                                                                      |
  3747.    | d)  The phrase "no errors" for a given BISPDU type means that no     |
  3748.    |     condition described in the appropriate subclause of 7.20 has     |
  3749.    |     been detected.                                                   |
  3750.    |                                                                      |
  3751.    | e)  The phrase "with errors" for a given BISPDU type means that a    |
  3752.    |     condition described in the appropriate subclause of 7.20 has     |
  3753.    |     been detected.                                                   |
  3754.    |                                                                      |
  3755.    | f)  Since the KPALV PDU and the CEASE PDU consist of only a fixed    |
  3756.    |     BISPDU header, errors in these BISPDUs are handled as Header     |
  3757.    |     Errors.  Hence, there are no explicit entries in the table for   |
  3758.    |     "KPALV with errors" or "CEASE with errors".                      |
  3759.    +----------------------------------------------------------------------+
  3760.  
  3761.       l)  If the BIS receives an IDRP ERROR PDU, either with or without
  3762.           errors, it shall send a CEASE PDU to the remote BIS, and the FSM
  3763.           shall enter the CLOSED state.
  3764.  
  3765.       m)  If the BIS does not exit the OPEN-RCVD state within a period t[R]
  3766.           after sending an OPEN PDU, the BIS shall resend the OPEN PDU.  If
  3767.           the OPEN PDU is transmitted n times, the local BIS shall issue a
  3768.           deactivate.
  3769.  
  3770.           Note 11:  The value t[R] should be chosen to be large enough so
  3771.                     that attempting to establish a connection to an
  3772.                     unresponsive peer BIS does not consume significant
  3773.                     network resources.  The values of t[R] and n must be
  3774.                     chosen so that <t[R]> * n is greater than the
  3775.                     architectural constant CloseWaitDelay.
  3776.  
  3777.  
  3778.  
  3779.    Kunzinger                     ISO/IEC 10747                  [ Page 80 ]
  3780.  
  3781.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3782.  
  3783.    7.6.1.4  ESTABLISHED State
  3784.  
  3785.       The ESTABLISHED state is entered from either the OPEN-SENT or the
  3786.       OPEN-RCVD states.  It is entered when a connection has been
  3787.       established by the successful exchange of state information between
  3788.       two sides of the connection. Each side has exchanged and received
  3789.       such data as initial sequence number, maximum PDU size, credit
  3790.       offered, protocol version number, hold time, and RDI of the other
  3791.       side. In addition, the remote BIS may also have been authenticated.
  3792.  
  3793.       In ESTABLISHED state, both BISs that are involved in the connection
  3794.       may exchange UPDATE PDUs, KEEPALIVE PDUs, IDRP ERROR PDUs, RIB
  3795.       REFRESH PDUs, and CEASE PDUs.
  3796.  
  3797.       While in the ESTABLISHED state, the local BIS shall take the
  3798.       following actions:
  3799.  
  3800.       a)  If the FSM receives an activate, the FSM shall ignore it, and the
  3801.           FSM shall remain in the ESTABLISHED state.
  3802.  
  3803.       b)  If the FSM receives a deactivate, the BIS  shall send a CEASE PDU
  3804.           to the peer BIS.  The FSM shall enter the CLOSE-WAIT state.
  3805.  
  3806.       c)  If the Hold Timer expires, the BIS shall issue an IDRP ERROR PDU
  3807.           to the remote BIS, reporting a Hold_Timer error.  The FSM shall
  3808.           enter the CLOSE-WAIT state.
  3809.  
  3810.       d)  If the BIS receives a BISPDU with a header error, it shall log
  3811.           the error event, and the FSM shall remain in the ESTABLISHED
  3812.           state.
  3813.  
  3814.       e)  If the BIS receives a KEEPALIVE PDU, it shall restart its Hold
  3815.           Timer, and the FSM shall remain in the ESTABLISHED state.
  3816.  
  3817.       f)  If the BIS receives a CEASE PDU, it shall issue a CEASE PDU in
  3818.           return, and then the FSM shall enter the CLOSED state.
  3819.  
  3820.       g)  If an OPEN PDU with no errors is received from the peer BIS, it
  3821.           shall issue an IDRP ERROR PDU, indicating FSM error.  The FSM
  3822.           shall enter the CLOSE-WAIT state.
  3823.  
  3824.       h)  If the BIS receives an UPDATE PDU with no errors, the BIS shall
  3825.           perform the actions provided in 7.14, and shall restart its Hold
  3826.           Timer.  The FSM shall remain in the ESTABLISHED state.
  3827.  
  3828.  
  3829.    Kunzinger                     ISO/IEC 10747                  [ Page 81 ]
  3830.  
  3831.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3832.  
  3833.       i)  If the BIS receives a RIB REFRESH PDU with no errors, the BIS
  3834.           shall perform the actions provided in 7.10.3, and shall restart
  3835.           its Hold Timer.  The FSM shall remain in the ESTABLISHED state.
  3836.  
  3837.       j)  If the BIS receives an UPDATE PDU with errors, an OPEN PDU with
  3838.           errors, or a RIB REFRESH PDU with errors, it shall send an IDRP
  3839.           ERROR PDU to the remote BIS to report the error, and the FSM
  3840.           shall enter the CLOSE-WAIT state.
  3841.  
  3842.       k)  If the BIS receives an IDRP ERROR PDU, either with or without
  3843.           errors, it shall send a CEASE PDU to the remote BIS.  The FSM
  3844.           shall enter the CLOSED state.
  3845.  
  3846.    7.6.1.5  CLOSE-WAIT State
  3847.  
  3848.       When an FSM enters the CLOSE-WAIT state, the local BIS is preparing
  3849.       to close the connection with the remote BIS.  Upon entering this
  3850.       state, the local BIS shall mark all entries in the Adj-RIB-In
  3851.       associated with the adjacent BIS as unreachable, and shall then
  3852.       re-run its Decision Process.  The CloseWaitDelay timer shall be
  3853.       started.
  3854.  
  3855.       While in the CLOSE-WAIT state, the BIS shall take the following
  3856.       actions:
  3857.  
  3858.       a)  If the CloseWaitDelay timer expires, the connection ceases to
  3859.           exist.  The FSM shall enter the CLOSED state.
  3860.  
  3861.       b)  If the BIS receives a CEASE PDU, the FSM shall enter the CLOSED
  3862.           state.
  3863.  
  3864.       c)  If the BIS receives an IDRP ERROR PDU, it shall send a CEASE PDU
  3865.           to the peer BIS.   The FSM shall then enter the CLOSED state.
  3866.  
  3867.       d)  If the BIS receives any other type of BISPDU, with or without
  3868.           errors, it shall issue a CEASE PDU.  The FSM shall remain in the
  3869.           CLOSE-WAIT state, and the CloseWaitDelay timer shall be
  3870.           restarted.
  3871.  
  3872.       e)  The BIS shall take no action for any of the following inputs, and
  3873.           the FSM shall remain in the CLOSE-WAIT state:
  3874.  
  3875.           -   activate
  3876.           -   deactivate
  3877.           -   Expiration of Hold Timer
  3878.  
  3879.    Kunzinger                     ISO/IEC 10747                  [ Page 82 ]
  3880.  
  3881.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3882.  
  3883.    7.6.2  Closing a connection
  3884.  
  3885.       The closing of a connection can be initiated by a deactivate
  3886.       generated by the local system, by receipt of an incorrect PDU, by
  3887.       receipt of a IDRP ERROR PDU, by expiration of the Hold Timer, or by
  3888.       receipt of a CEASE PDU.  The actions taken in response to each of
  3889.       these stimuli are shown in Table 2
  3890.  
  3891.       When the connection enters the CLOSED state, the sequence number last
  3892.       used by the local BIS is recorded in managed object lastPriorSeqNo,
  3893.       and all routes that had been exchanged between the pair of BISs are
  3894.       implicitly withdrawn from service; hence, the local BIS should rerun
  3895.       its Decision Process.
  3896.  
  3897.    7.7  Validation of BISPDUs
  3898.  
  3899.       The protocol described in this International Standard is a connection
  3900.       oriented protocol in which the underlying Network Layer service is
  3901.       used to establish full-duplex communication channels between pairs of
  3902.       BISs, as described in 7.6.  This International Standard supports the
  3903.       use of any of the following three mechanisms for validating BISPDUs.
  3904.       Types 1,2, and 3 provide data integrity for the contents of BISPDUs;
  3905.       in addition, types 2 and 3 provide peer BIS authentication.  Each
  3906.       mechanism is described below.  Figure 6 illustrates the data
  3907.       integrity mechanisms used for authentication types 1 and 3;
  3908.       informative Annex D describes an example approach that might be used
  3909.       to provide both data integrity and peer BIS authentication for
  3910.       authentication type 2.
  3911.  
  3912.    7.7.1  Authentication type 1
  3913.  
  3914.       For all BISPDUs that flow on a connection that was established in
  3915.       response to an OPEN PDU whose authentication code field was equal to
  3916.       1, the validation field shall contain a 16-octet unencrypted
  3917.       checksum:
  3918.  
  3919.       a)  Generating a Validation Pattern:
  3920.  
  3921.           The contents of the Validation Pattern field that is included in
  3922.           an outbound BISPDU shall be generated by applying the algorithm
  3923.           of Annex B to the input data stream that consists of the contents
  3924.           of the entire BISPDU with all bits of the Validation Pattern
  3925.           field initially set to 0.  The output of this step is an
  3926.           unencrypted 16-octet long checksum, which shall be placed in the
  3927.           Validation Pattern field of the BISPDU.
  3928.  
  3929.    Kunzinger                     ISO/IEC 10747                  [ Page 83 ]
  3930.  
  3931.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3932.  
  3933.    +----------------------------------------------------------------------+
  3934.    |                                                                      |
  3935.    |                                 auth13                               |
  3936.    |                                                                      |
  3937.    +----------------------------------------------------------------------+
  3938.    Figure 6. Illustration of Authentication Types 1 and 3
  3939.  
  3940.       b)  Checking the Validation Pattern of an Inbound BISPDU:
  3941.  
  3942.           The contents of the Validation Pattern field of an inbound BISPDU
  3943.           shall be checked by applying the algorithm of Annex B to the
  3944.           contents of the inbound BISPDU with its Validation Pattern set to
  3945.           all zeros.  Call this quantity the "reference pattern".
  3946.  
  3947.           If the "reference pattern" matches the contents of the Validation
  3948.           Pattern field of the inbound BISPDU, then the BISPDU's checksum
  3949.           is correct; otherwise, it is incorrect.
  3950.  
  3951.    7.7.2  Authentication type 2
  3952.  
  3953.       When the authentication type code of the OPEN PDU is 2, the pattern
  3954.       carried in the 16-octet Validation Pattern field of the fixed header
  3955.       shall provide both peer-BIS authentication and data integrity for the
  3956.       contents of the BISPDU.  The specific mechanisms used to provide
  3957.       these functions are not specified by this International Standard.
  3958.       However, they must be agreed to by the pair of communicating BISs as
  3959.       part of their security association.
  3960.  
  3961.       An example of type 2 authentication that uses an encrypted version of
  3962.       MD4 checksum is described in Annex D.
  3963.  
  3964.       Note 12:  This International Standard includes as an optional
  3965.                 function a mechanism that can be used for authentication of
  3966.                 the source of a BISPDU.  Other security-related facilities
  3967.                 (for example, protection against replay of BISPDUs or the
  3968.                 ability to re-key during a BIS_BIS connection) are not
  3969.                 intended to be provided by this protocol, and therefore are
  3970.                 not specified in this International Standard.
  3971.  
  3972.                 All of the relevant security services identified in ISO
  3973.                 7498-2, including authentication, could be achieved by the
  3974.                 use of CD 11577, a security protocol specified for the
  3975.                 provision of secure ISO 8473 communications (for example,
  3976.                 see 9.1).
  3977.  
  3978.  
  3979.    Kunzinger                     ISO/IEC 10747                  [ Page 84 ]
  3980.  
  3981.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  3982.  
  3983.    7.7.3  Authentication type 3
  3984.  
  3985.       When the authentication type code of the OPEN PDU is 3, the
  3986.       Validation Pattern field shall contain a 16-octet checksum covering
  3987.       both the contents of the BISPDU and some additional Password Text,
  3988.       which is not transmitted to the peer BIS.  The checksum provides data
  3989.       integrity and the untransmitted Password Text provides peer BIS
  3990.       authentication.
  3991.  
  3992.       The mechanisms are as follows:
  3993.  
  3994.       a)  Generating a Validation Pattern:
  3995.  
  3996.           The contents of the Validation Pattern field that is carried in
  3997.           the outbound BISPDU shall be generated by the following process,
  3998.           which is illustrated in Figure 6.
  3999.  
  4000.           1)  Password text shall be appended to the BISPDU immediately
  4001.               after the final octet of the BISPDU (as defined by the BISPDU
  4002.               length field of the BISPDU header).  Additional password text
  4003.               may also be prepended to the BISPDU immediately prior to the
  4004.               first octet of its header.
  4005.           2)  A checksum that covers the concatenated contents of the
  4006.               BISPDU and the password text shall be generated using the
  4007.               methods of Annex B with all bits of the Validation Pattern
  4008.               initially set to zero.  The resultant checksum shall then be
  4009.               placed in the Validation Pattern field of the BISPDU.
  4010.           3)  The password text shall not be transmitted along with the
  4011.               BISPDU.
  4012.  
  4013.       b)  Checking the Validation Pattern of an Inbound BISPDU:
  4014.  
  4015.           The contents of the Validation Pattern field of an inbound BISPDU
  4016.           shall be checked by the following procedure:
  4017.  
  4018.           1)  Append the Password Text to the BISPDU immediately after the
  4019.               final octet of the BISPDU (as defined by the BISPDU Length
  4020.               field of the BISPDU header.  If additional Password text was
  4021.               also prepended to the BISPDU by the sender, then prepend this
  4022.               text immediately prior to the first octet of the BISPDU.
  4023.           2)  Apply the IDRP Checksum Algorithm to the data stream that
  4024.               consists of the concatenated contents of the BISPDU and the
  4025.               password text, with all bits of the BISPDU Validation Pattern
  4026.               set to zero.  Call this value the "reference pattern".
  4027.           3)  If the "reference pattern" is identical to the data carried
  4028.               in the Validation Pattern of the incoming BISPDU, then the
  4029.               peer BIS has been authenticated.  If the "reference pattern"
  4030.  
  4031.    Kunzinger                     ISO/IEC 10747                  [ Page 85 ]
  4032.  
  4033.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4034.  
  4035.               does not match the Validation Pattern, the receiving BIS
  4036.               shall inform system management that an authentication failure
  4037.               has occurred.  The incoming BISPDU shall be ignored.  The
  4038.               receiving BIS shall not send an IDRP ERROR PDU to the peer
  4039.               BIS because the identity of the peer has not been
  4040.               authenticated.
  4041.  
  4042.    7.7.4  Sequence numbers
  4043.  
  4044.       A sequence number is a 4-octet unsigned value.  Sequence numbers
  4045.       shall increase linearly from 1 up to a maximum value of <2^32>-1.
  4046.       The value 0 is not a valid sequence number.
  4047.  
  4048.       The rules for manipulating sequence numbers are:
  4049.  
  4050.       a)  When a BIS initially establishes a connection with an adjacent
  4051.           BIS, the first sequence number shall be set to 1 and shall
  4052.           increase linearly to a value of <2^32>-1.  Before attempting to
  4053.           establish an initial BIS-BIS connection with an adjacent BIS, the
  4054.           local BIS must ensure that it has not sent a BISPDU to the
  4055.           adjacent BIS for at least CloseWaitDelay seconds.
  4056.  
  4057.       b)  The sequence number shall not be incremented for the KEEPALIVE
  4058.           PDU, CEASE PDU, and the IDRP ERROR PDU.
  4059.  
  4060.       c)  If the connection is subsequently closed under the conditions
  4061.           described in Table 2 and a subsequent connection is to be made to
  4062.           the same adjacent BIS, the local BIS shall, as a local matter,
  4063.           choose one of the following options:
  4064.  
  4065.           1)  Maintain status of the sequence number space, and use any
  4066.               value greater than the value last used in the prior BIS-BIS
  4067.               connection (lastPriorSeqNo), or
  4068.           2)  Ensure that at least CloseWaitDelay seconds have passed since
  4069.               the last BISPDU was sent to the adjacent BIS, and start with
  4070.               any sequence number.  The choice of the initial value of the
  4071.               sequence number is a local matter.
  4072.  
  4073.       d)  After a BIS sends a BISPDU with the maximum permissible sequence
  4074.           number (<2^32>-1) the BIS shall not send any further BISPDUs
  4075.           until the BISPDU with maximum sequence number and all outstanding
  4076.           BISPDUs have been acknowledged using the procedure of 7.7.5.  The
  4077.           BIS then shall set its lower window edge (see 7.7.5) to one.
  4078.           When a BIS receives a BISPDU with a sequence number of one, after
  4079.           having acknowledged a BISPDU with the maximum permissible
  4080.  
  4081.    Kunzinger                     ISO/IEC 10747                  [ Page 86 ]
  4082.  
  4083.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4084.  
  4085.           sequence number, it shall set the value of its next expected
  4086.           sequence number to one, prior to processing that BISPDU.
  4087.  
  4088.           Note 13:  The maximum lifetime of an 8473 NPDU is 128 seconds.
  4089.                     Since the architectural constant CloseWaitDelay is 150
  4090.                     seconds, it can be guaranteed that all outstanding
  4091.                     BISPDUs (which are carried as user data within an
  4092.                     encapsulating 8473 NPDU) will have expired before the
  4093.                     new BIS-BIS connection is established.
  4094.  
  4095.    7.7.5  Flow control
  4096.  
  4097.       After an IDRP connection is established, the BIS Finite State Machine
  4098.       is in state ESTABLISHED (see section 7.6.1), and flow control and
  4099.       packet sequencing is in effect.  The IDRP flow control process shall
  4100.       obey the following rules:
  4101.  
  4102.       a)  A separate series of sequence numbers shall be maintained for
  4103.           each direction of a BIS-BIS connection, with the initial sequence
  4104.           number value chosen by the sender of a BISPDU and declared in the
  4105.           Sequence field of its OPEN PDU.  The local BIS will maintain a
  4106.           window to manage transmission of BISPDUs to the remote BIS.  The
  4107.           sender's lower window edge shall be set to the initial sequence
  4108.           number plus one; the sender's upper window edge shall be set to
  4109.           the lower window edge plus the value of credit offered contained
  4110.           in the peer BIS's OPEN PDU.  Record is also kept of the next
  4111.           expected sequence number for an inbound UPDATE, RIB REFRESH,
  4112.           KEEPALIVE, or OPEN PDU to be received from the peer BIS; this is
  4113.           initially set to the value of one plus Sequence that is carried
  4114.           in the peer BIS's OPEN PDU.
  4115.  
  4116.       b)  An UPDATE PDU or RIB REFRESH PDU shall not be sent if the upper
  4117.           window edge is less than or equal to the lower window edge.  When
  4118.           a BISPDU is sent, the value of Sequence in the fixed header shall
  4119.           be set to the current value of the lower window edge.  When an
  4120.           UPDATE or RIB REFRESH PDU is to be sent, the local BIS shall
  4121.           generate the contents of the BISPDU based on the current value of
  4122.           the lower window edge.  The local BIS shall increment the local
  4123.           window edge by one before it transmits the BISPDU to the peer BIS
  4124.           and before it generates any other BISPDUs or processes any
  4125.           received BISPDUs; when a BISPDU other than an UPDATE or RIB
  4126.           REFRESH PDU is to be sent, the lower window edge shall not be
  4127.           incremented.  The value of Acknowledgement shall be set to the
  4128.           value of the next expected sequence number less one.  The value
  4129.           of credit offered shall be set to the number of additional
  4130.           BISPDUs that the local BIS is currently able to accept from the
  4131.  
  4132.    Kunzinger                     ISO/IEC 10747                  [ Page 87 ]
  4133.  
  4134.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4135.  
  4136.           peer BIS.  Credit, once offered, can not be revoked (that is, the
  4137.           remote BIS's upper window edge can not be reduced).  Therefore,
  4138.           the sum of Acknowledgement and credit offered must never decrease
  4139.           in successive BISPDUs.  The value of credit available shall be
  4140.           set to the upper window edge less the lower window edge (after
  4141.           incrementing the lower window edge, if appropriate).
  4142.  
  4143.           The local BIS shall retain a copy of transmitted UPDATE and RIB
  4144.           REFRESH BISPDUs for possible retransmission.
  4145.  
  4146.       c)  An incoming UPDATE PDU or RIB REFRESH PDU whose Sequence value
  4147.           corresponds to the next expected sequence number shall be
  4148.           accepted and passed to the Finite State Machine described in
  4149.           7.6.1; the next expected sequence number shall be incremented by
  4150.           one.
  4151.  
  4152.           An incoming UPDATE PDU or RIB REFRESH PDU whose Sequence is less
  4153.           than the next expected sequence number shall be discarded.  An
  4154.           incoming UPDATE PDU or RIB REFRESH PDU whose Sequence is greater
  4155.           than the next expected sequence number shall be discarded, unless
  4156.           re-ordering is supported as a local implementation option, and
  4157.           the sequence number is not greater than the peer's upper window
  4158.           edge.
  4159.  
  4160.           An incoming KEEPALIVE PDU or OPEN PDU whose Sequence value
  4161.           corresponds to the next expected sequence number shall be
  4162.           accepted and passed to the Finite State Machine described in
  4163.           7.6.1.  An incoming KEEPALIVE PDU or OPEN PDU whose Sequence does
  4164.           not correspond to the next expected sequence number shall be
  4165.           discarded.
  4166.  
  4167.           An Incoming CEASE PDU or IDRP ERROR PDU shall be accepted and
  4168.           passed to the Finite State Machine described in 7.6.1regardless
  4169.           of its Sequence value.
  4170.  
  4171.           Whenever a BIS receives an UPDATE PDU, RIB REFRESH PDU, or
  4172.           KEEPALIVE PDU, it shall inspect its Acknowledgement and credit
  4173.           offered fields.  Any BISPDUs retained for retransmission whose
  4174.           sequence number is less than or equal to the value of the
  4175.           Acknowledgement field shall be discarded.  If the sum of one plus
  4176.           the value of Acknowledgement plus the value of credit offered in
  4177.           the received BISPDU is greater than the local BIS's current upper
  4178.           window edge, then the BIS shall set its upper window edge to this
  4179.           sum.
  4180.  
  4181.       d)  A BIS shall acknowledge receipt of incoming UPDATE PDUs and RIB
  4182.           REFRESH PDUs within a period t[A] of their receipt.  The
  4183.  
  4184.    Kunzinger                     ISO/IEC 10747                  [ Page 88 ]
  4185.  
  4186.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4187.  
  4188.           acknowledgement may be accomplished by means of an UPDATE PDU or
  4189.           a RIB REFRESH PDU sent as outlined in item b above.  However, if
  4190.           no UPDATE PDU or RIB REFRESH PDU is available to be sent, then a
  4191.           KEEPALIVE PDU may be sent instead, with its Sequence set to the
  4192.           lower window edge and its Acknowledgement, credit offered, and
  4193.           credit available set as in step b above.
  4194.  
  4195.       e)  If a retained BISPDU remains unacknowledged after a period t[R],
  4196.           then it shall again be transmitted and again retained for
  4197.           possible retransmission.  If, for a retained BISPDU, t[R] expires
  4198.           after n retransmissions, the local BIS shall issue a deactivate
  4199.           to close the BIS-BIS connection.
  4200.  
  4201.           Note 14:  The value t[R] should be chosen to be greater than the
  4202.                     value <t[A]> + 2*L, where L is the transmission delay
  4203.                     over the subnetwork or virtual link between the pair of
  4204.                     communicating BISs.
  4205.  
  4206.       f)  The local BIS shall provide its peer BIS with sufficient credit
  4207.           to send further BISPDUs as long as the local BIS has resources to
  4208.           receive them.  Therefore, if the local BIS receives a BISPDU
  4209.           whose credit available is equal to zero (that is, the peer BIS
  4210.           believes itself unable to send additional BISPDUs), then as soon
  4211.           as resources are available locally, the local BIS shall send an
  4212.           UPDATE PDU or a RIB REFRESH PDU, if appropriate.  If not, then a
  4213.           KEEPALIVE PDU shall be sent.
  4214.  
  4215.           Note 15:  An UPDATE PDU of minimal size will contain the
  4216.                     Unfeasible Route Count field with a value of zero, but
  4217.                     will not contain any path attributes or NLRI.  Thus,
  4218.                     its size will be only 33 octets.
  4219.  
  4220.           A KEEPALIVE PDU that advertises a non-zero value of credit
  4221.           offered in response to a received BISPDU with a credit available
  4222.           of zero shall be retransmitted within a period t[R] until the
  4223.           local BIS receives any in-sequence BISPDU that reports a non-zero
  4224.           value of credit available.  If t[R] expires after n
  4225.           retransmissions, then the local BIS shall issue a deactivate to
  4226.           close the connection.
  4227.  
  4228.       g)  A BIS that has sent a BISPDU with zero credit available to its
  4229.           neighbor shall respond within a period t[A] to a BISPDU from that
  4230.           neighbor that causes its upper window edge to be increased.  The
  4231.           response shall consist of an UPDATE PDU or a RIB REFRESH PDU, if
  4232.           available, or a KEEPALIVE PDU, if not.
  4233.  
  4234.  
  4235.    Kunzinger                     ISO/IEC 10747                  [ Page 89 ]
  4236.  
  4237.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4238.  
  4239.       h)  A BIS that has not sent any BISPDU for a period t[I] shall send a
  4240.           KEEPALIVE PDU, with Sequence equal to the lower window edge, and
  4241.           Acknowledgement, credit offered, and credit available set as in
  4242.           step b above.
  4243.  
  4244.           Note 16:  The condition (t[I]) >> (t[R]) should be satisfied,
  4245.                     where t[I] is one third of the Hold Timer value.
  4246.  
  4247.       i)  A BIS that has sent a BISPDU containing a credit offered of zero
  4248.           shall, as soon as its local resources become available to process
  4249.           additional BISPDUs from its peer, send an UPDATE PDU or RIB
  4250.           REFRESH PDU, if appropriate, containing a non-zero value of
  4251.           credit offered.  If neither of these BISPDU types is appropriate,
  4252.           then a KEEPALIVE PDU shall be sent.
  4253.  
  4254.       j)  The BIS shall issue a deactivate to close the BIS-BIS connection
  4255.           if no BISPDUs are received for a period equal to the value of
  4256.           Hold Time that is carried in the OPEN PDU.
  4257.  
  4258.    7.8  Version negotiation
  4259.  
  4260.       BIS peers may negotiate the version number of IDRP by making
  4261.       successive attempts to open a BIS-BIS connection, starting with the
  4262.       highest supported version number (contained in managed object
  4263.       version) and decrementing the number each time a connection attempt
  4264.       fails.  The lack of support for a particular IDRP version is
  4265.       indicated by an IDRP ERROR PDU with error code "OPEN_PDU_Error" and
  4266.       an error subcode of "Unsupported_Version_Number".  One BIS may
  4267.       determine the highest version number supported by the other BIS (as
  4268.       advertised in its OPEN PDU) by examining the "Data" field of the
  4269.       received IDRP ERROR PDU.  No further retries should be attempted if
  4270.       the version number reaches zero.
  4271.  
  4272.    7.9  Checksum algorithm
  4273.  
  4274.       The checksums used in this International Standard for authentication
  4275.       types 1 and 3 shall be generated in accordance with the procedures
  4276.       described in normative Annex B.  For an input data stream of any
  4277.       length, this algorithm will generate a checksum that is 16 octets
  4278.       long.  This algorithm shall be used to generate the checksums for
  4279.       both the BISPDUs and the RIBs.
  4280.  
  4281.  
  4282.    Kunzinger                     ISO/IEC 10747                  [ Page 90 ]
  4283.  
  4284.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4285.  
  4286.    7.10  Routeing information bases
  4287.  
  4288.       The Routeing Information Base (RIB) within a BIS consists of three
  4289.       distinct parts, as shown in Figure 7:
  4290.  
  4291.       a)  Adj-RIBs-In: The Adj-RIBs-In store routeing information that has
  4292.           been learned from inbound UPDATE PDUs.  Their contents represent
  4293.           routes that are available as input to the Decision Process.  A
  4294.           BIS must support at least one Adj-RIB-In for each of its neighbor
  4295.           BISs; it may optionally support several Adj-RIBs-In for a given
  4296.           neighbor BIS.  Within the set of Adj-RIBs-In associated with a
  4297.           given neighbor BIS, no two shall have the same RIB-Att (see
  4298.           7.10.1).
  4299.  
  4300.       b)  Loc-RIBs: The Loc-RIBs contain the local routeing information
  4301.           that the BIS has selected by applying its local policies to the
  4302.           routeing information contained in its Adj-RIBs-In.  A BIS may
  4303.           support multiple Loc-RIBs.  No two Loc-RIBs within a given BIS
  4304.           shall have the same RIB-Att (see clause 7.10.1).  Information in
  4305.           the Loc-RIB is used to build the Adj-RIBs-Out.
  4306.  
  4307.       c)  Adj-RIBs-Out: The Adj-RIBs-Out store the information that the
  4308.           local BIS has selected for advertisement to its neighbors.  A BIS
  4309.           must support at least one Adj-RIB-Out for each of its neighbor
  4310.           BISs; it may optionally support several Adj-RIBs-Out for a given
  4311.           neighbor BIS.  Within the set of Adj-RIBs-Out associated with a
  4312.           given neighbor BIS, no two shall have the same RIB-Att (see
  4313.           7.10.1).  The routeing information stored in the Adj-RIBs-Out
  4314.           will be carried in the local BIS's UPDATE PDUs and advertised to
  4315.           its neighbor BISs.
  4316.  
  4317.       In summary, the Adj-RIBs-In contain unprocessed routeing information
  4318.       that has been advertised to the local BIS by its neighbors; the
  4319.       Loc-RIBs contain the routes that have been selected by the local
  4320.       BIS's Decision Process; and the Adj-RIBs-Out organize the selected
  4321.       routes for advertisement to specific neighbor BISs by means of the
  4322.       local BIS's UPDATE PDUs.
  4323.  
  4324.       Note 17:  Although the conceptual model distinguishes between
  4325.                 Adj-RIBs-In, Adj-RIBs-Out, and Loc-RIBs, this does neither
  4326.                 implies nor requires that an implementation must maintain
  4327.                 three separate copies of the routeing information.  The
  4328.                 choice of implementation (for example, 3 copies of the
  4329.                 information vs. 1 copy with pointers) is not constrained by
  4330.                 this standard.
  4331.  
  4332.  
  4333.    Kunzinger                     ISO/IEC 10747                  [ Page 91 ]
  4334.  
  4335.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4336.  
  4337.    +----------------------------------------------------------------------+
  4338.    |                                                                      |
  4339.    |                                  yr2                                 |
  4340.    |                                                                      |
  4341.    +----------------------------------------------------------------------+
  4342.    Figure 7. Routeing Information Base.  An RIB is comprised of
  4343.              Adj-RIBs-In, Adj-RIBs-Out, and Loc-RIBs
  4344.  
  4345.    7.10.1  Identifying an information base
  4346.  
  4347.       Each information base (a single Adj-RIB-In, a single Loc-RIB, or a
  4348.       single Adj-RIB-Out) has one and only one RIB-Att associated with it.
  4349.       A RIB-Att is composed of a set of Distinguishing Attributes that the
  4350.       local BIS supports: in particular, a RIB-Att may consist of one or
  4351.       more Distinguishing Attributes that form a permissible combination,
  4352.       as defined in 7.11.2.
  4353.  
  4354.       The managed object RIBAttsSet explicitly enumerates all the RIB-Atts
  4355.       that a BIS supports.  Managed object RIB-AttsSet shall not contain
  4356.       any pairs of RIB-Atts that are identical, thus assuring that each
  4357.       RIB-Att is unambiguous within the BIS.
  4358.  
  4359.       All BISs located within a given routeing domain shall support the
  4360.       same RIB-Atts: that is, the managed object RIB-AttsSet of every BIS
  4361.       within an RD shall list the same RIB-Atts.  When a BIS receives an
  4362.       OPEN PDU from another BIS located in its own routeing domain, it
  4363.       shall compare the information in the field RIB-AttsSet with the
  4364.       information in its local managed object RIBAttsSet. If they do not
  4365.       match, then the appropriate error handling procedure in 7.20.2 shall
  4366.       be followed.
  4367.  
  4368.       Each BIS shall support default information bases (Adj-RIBs-In,
  4369.       Adj-RIBs-Out, Loc-RIB, and FIB) that correspond to the RIB-Att that
  4370.       is composed of an empty set of Distinguishing Attributes.
  4371.  
  4372.       Note 18:  Because policy is a local matter, IDRP does not specify the
  4373.                 criterion used to select the information to be placed in
  4374.                 the default Loc-RIB.  However, since the following
  4375.                 mandatory path attributes are present in every route, it is
  4376.                 suggested that RD_PATH and RD_HOP_COUNT should be used for
  4377.                 this purpose.
  4378.  
  4379.  
  4380.  
  4381.    Kunzinger                     ISO/IEC 10747                  [ Page 92 ]
  4382.  
  4383.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4384.  
  4385.    7.10.2  Validation of RIBs
  4386.  
  4387.       A BIS shall not continue to operate for an extended period with
  4388.       corrupted routeing information.  Therefore, the BIS shall operate in
  4389.       a "fail-stop" manner: when corruption of a RIB is detected, the BIS
  4390.       shall immediately take action to cease using the routes contained in
  4391.       the corrupted information base.
  4392.  
  4393.       In the absence of an implementation-specific method for insuring
  4394.       this, the BIS shall perform the following checks at least every
  4395.       maxRIBIntegrityCheck seconds:
  4396.  
  4397.       a)  Upon expiration of its maxRIBIntegrityCheck timer, the BIS shall
  4398.           recheck the checksum of the routeing information contained in
  4399.           each of its Adj-RIBs-In in order to detect corruption of routeing
  4400.           information while in memory.
  4401.  
  4402.           If corruption is detected, the BIS shall purge the Adj-RIB-In,
  4403.           and shall notify System Management of a "Corrupted AdjRIBIn"
  4404.           event.
  4405.  
  4406.           Note 19:  This standard does not prescribe a specific checksum
  4407.                     algorithm but notes that the procedures described in
  4408.                     Annex F satisfy the requirements given above.  Other
  4409.                     approaches can also be used: for example, it may be
  4410.                     possible to use an incremental algorithm to compute the
  4411.                     checksum for a given Adj-RIB-In when new information is
  4412.                     received.
  4413.  
  4414.                     After detection of a corrupted Adj-RIB-In, a BIS may
  4415.                     choose to issue a RIB REFRESH PDU, asking for a
  4416.                     solicited refresh of the routeing information from its
  4417.                     peer BIS.
  4418.  
  4419.       b)  On completion of its check of the Adj-RIBs-In, the BIS shall
  4420.           rerun its Decision Process, regardless of whether or not
  4421.           corruption of the Adj-RIBs-In has been detected.  As a byproduct
  4422.           of running the Decision Process, the BIS will construct new
  4423.           information for its Loc-RIBs, and will then regenerate its
  4424.           Adj-RIBs-Out and its FIBs.  Thus, any corrupted information that
  4425.           may have been present in the Adj-RIBs-Out or the FIBs will be
  4426.           replaced as a result.
  4427.  
  4428.       c)  Upon completion of these checks, the BIS shall reset the timer to
  4429.           the value MaxRIBIntegrityCheck with jitter applied in accordance
  4430.           with 7.17.3.3.
  4431.  
  4432.    Kunzinger                     ISO/IEC 10747                  [ Page 93 ]
  4433.  
  4434.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4435.  
  4436.       Since a given Adj-RIB-In that had been corrupted will have been
  4437.       purged before the Decision Process is re-executed, the defective
  4438.       information will not be used in the recalculation.
  4439.  
  4440.       An explicit integrity check on the contents of the Loc-RIBs,
  4441.       Adj-RIBs-Out, and the FIBs is not required, since corrupted
  4442.       information will be replaced periodically when the Decision Process
  4443.       is re-run.
  4444.  
  4445.       As a local option, a BIS may also choose to perform an explicit
  4446.       integrity check on the routeing information in its Loc-RIBs,
  4447.       Adj-RIBs-Out, and FIBs.  If such an integrity check detects that the
  4448.       information base has become corrupted, then the BIS shall immediately
  4449.       rerun its Decision Process, and should notify System Management of
  4450.       "Corrupt Loc-RIB", "CorruptAdjRIBOut", or "CorruptFIB", as
  4451.       appropriate.
  4452.  
  4453.    7.10.3  Use of the RIB REFRESH PDU
  4454.  
  4455.       The RIB REFRESH PDU can be used by a BIS to solicit a refresh of its
  4456.       Adj-RIBs-In by a neighbor BIS, or to send an unsolicited refresh to a
  4457.       neighbor BIS:
  4458.  
  4459.       a)  Solicited Refresh
  4460.  
  4461.           A BIS may request a neighbor BIS to refresh one or more of the
  4462.           local BIS's Adj-RIBs-In by sending a RIB-REFRESH PDU that
  4463.           contains the OpCode for RIB-Refresh-Request and the RIB-Atts of
  4464.           the Adj-RIBs-In that it wants to be refreshed.
  4465.  
  4466.           When the neighbor BIS receives a RIB-REFRESH PDU with OpCode
  4467.           RIB-Refresh-Request, it shall send back a RIB-REFRESH PDU with
  4468.           OpCode RIB-Refresh-Start, followed by a sequence of UPDATE PDUs
  4469.           that contain the information in its Adj-RIBs-Out associated with
  4470.           the requesting BIS.  The neighbor BIS shall indicate the
  4471.           completion of the refresh by sending a RIB-REFRESH PDU with
  4472.           OpCode RIB-Refresh-End.
  4473.  
  4474.       b)  Unsolicited Refresh
  4475.  
  4476.           A BIS may initiate an unsolicited refresh by sending a
  4477.           RIB-REFRESH PDU with OpCode RIB-Request-Start, followed by a
  4478.           sequence of UPDATE PDUs that contain the information in its
  4479.           Adj-RIBs-Out that been advertised to a given BIS.  The completion
  4480.           of the refresh shall be indicated by sending the RIB-REFRESH PDU
  4481.           with OpCode RIB-Refresh-End.
  4482.  
  4483.    Kunzinger                     ISO/IEC 10747                  [ Page 94 ]
  4484.  
  4485.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4486.  
  4487.       When a BIS receives a RIB REFRESH PDU with OpCode 2 (RIB Refresh
  4488.       Start), it shall not change any of the routeing information currently
  4489.       stored in the Adj-RIB-In which is identified by the distinguishing
  4490.       attributes of the RIB REFRESH PDU until the refresh cycle has been
  4491.       completed or has been aborted.
  4492.  
  4493.       The BIS shall accumulate the routeing information contained in all
  4494.       the UPDATE PDUs that are received in a completed refresh cycle.
  4495.       Completion of a refresh cycle is indicated by receipt of a RIB
  4496.       REFRESH PDU with OpCode 3 (RIB Refresh End).  Then the BIS shall
  4497.       replace the previous routeing information in the associated
  4498.       Adj-RIB-In with the routeing information that was learned during the
  4499.       refresh cycle.
  4500.  
  4501.       Abortion of a refresh cycle is indicated by receipt of another RIB
  4502.       REFRESH PDU with OpCode 2 (RIB Refresh Start) before receipt of a RIB
  4503.       REFRESH PDU with OpCode 3 (RIB Refresh End).  In this case, any
  4504.       routeing information learned in the time between receipt of the two
  4505.       successive RIB Refresh Starts shall be discarded, and a new refresh
  4506.       cycle (triggered by receipt of the second RIB Refresh Start) shall
  4507.       begin.
  4508.  
  4509.       If the refreshing BIS receives a new RIB-Refresh-Request while it is
  4510.       in the middle of refresh (after sending RIB-REFRESH PDU with OpCode
  4511.       RIB-Refresh-Start, but before sending RIB-REFRESH PDU with OpCode
  4512.       RIB-Refresh-End), then the current refresh shall be aborted and the
  4513.       new refresh is initiated.
  4514.  
  4515.    7.11  Path attributes
  4516.  
  4517.       An UPDATE PDU that carries an NLRI field also carries a set of path
  4518.       attributes.  An UPDATE PDU that does not carry any NLRI field shall
  4519.       not carry any path attributes.  Path attributes are summarized in
  4520.       Table 3; their encoding is described in 6.3.
  4521.  
  4522.       +-------------------------------------------------------------------+
  4523.       | Table 3 (Page 1 of 3). Path Attribute Characteristics             |
  4524.       +----------------+--------------+------+----------+-----------------+
  4525.       | Attribute      | Category     | Type |  Length  |  Distinguishing |
  4526.       |                |              | Code | (octets) |                 |
  4527.       +----------------+--------------+------+----------+-----------------+
  4528.       |                |              |      |          |                 |
  4529.       +----------------+--------------+------+----------+-----------------+
  4530.       | ROUTE_SEPARATOR| well-known   |   1  |     5    |        No       |
  4531.       |                | discretionary|      |          |                 |
  4532.       +----------------+--------------+------+----------+-----------------+
  4533.  
  4534.    Kunzinger                     ISO/IEC 10747                  [ Page 95 ]
  4535.  
  4536.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4537.  
  4538.       +-------------------------------------------------------------------+
  4539.       | Table 3 (Page 2 of 3). Path Attribute Characteristics             |
  4540.       +----------------+--------------+------+----------+-----------------+
  4541.       | Attribute      | Category     | Type |  Length  |  Distinguishing |
  4542.       |                |              | Code | (octets) |                 |
  4543.       +----------------+--------------+------+----------+-----------------+
  4544.       | EXT_INFO       | well-known   |   2  |     0    |        No       |
  4545.       |                | discretionary|      |          |                 |
  4546.       +----------------+--------------+------+----------+-----------------+
  4547.       | RD_PATH        | well-known   |   3  | variable |        No       |
  4548.       |                | mandatory    |      |          |                 |
  4549.       +----------------+--------------+------+----------+-----------------+
  4550.       | NEXT_HOP       | well-known   |   4  | variable |        No       |
  4551.       |                | discretionary|      |          |                 |
  4552.       +----------------+--------------+------+----------+-----------------+
  4553.       | DIST_LIST_INCL | well-known   |   5  | variable |        No       |
  4554.       |                | discretionary|      |          |                 |
  4555.       +----------------+--------------+------+----------+-----------------+
  4556.       | DIST_LIST_EXCL | well-known   |   6  | variable |        No       |
  4557.       |                | discretionary|      |          |                 |
  4558.       +----------------+--------------+------+----------+-----------------+
  4559.       | MULTI-EXIT     | optional     |   7  |     1    |        No       |
  4560.       | DISC           | non-transitiv|      |          |                 |
  4561.       +----------------+--------------+------+----------+-----------------+
  4562.       | TRANSIT DELAY  | well-known   |   8  |     2    |       Yes       |
  4563.       |                | discretionary|      |          |                 |
  4564.       +----------------+--------------+------+----------+-----------------+
  4565.       | RESIDUAL ERROR | well-known   |   9  |     4    |       Yes       |
  4566.       |                | discretionary|      |          |                 |
  4567.       +----------------+--------------+------+----------+-----------------+
  4568.       | EXPENSE        | well-known   |  10  |     2    |       Yes       |
  4569.       |                | discretionary|      |          |                 |
  4570.       +----------------+--------------+------+----------+-----------------+
  4571.       | LOCALLY        | well-known   |  11  | variable |       Yes       |
  4572.       | DEFINED QOS    | discretionary|      |          |                 |
  4573.       +----------------+--------------+------+----------+-----------------+
  4574.       | HIERARCHICAL   | well-known   |  12  |     1    |        No       |
  4575.       | RECORDING      | discretionary|      |          |                 |
  4576.       +----------------+--------------+------+----------+-----------------+
  4577.       | RD_HOP_COUNT   | well-known   |  13  |     1    |        No       |
  4578.       |                | mandatory    |      |          |                 |
  4579.       +----------------+--------------+------+----------+-----------------+
  4580.       | SECURITY       | well-known   |  14  | variable |       Yes       |
  4581.       |                | discretionary|      |          |                 |
  4582.       +----------------+--------------+------+----------+-----------------+
  4583.  
  4584.  
  4585.    Kunzinger                     ISO/IEC 10747                  [ Page 96 ]
  4586.  
  4587.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4588.  
  4589.       +-------------------------------------------------------------------+
  4590.       | Table 3 (Page 3 of 3). Path Attribute Characteristics             |
  4591.       +----------------+--------------+------+----------+-----------------+
  4592.       | Attribute      | Category     | Type |  Length  |  Distinguishing |
  4593.       |                |              | Code | (octets) |                 |
  4594.       +----------------+--------------+------+----------+-----------------+
  4595.       | CAPACITY       | well-known   |  15  |     1    |        No       |
  4596.       |                | mandatory    |      |          |                 |
  4597.       +----------------+--------------+------+----------+-----------------+
  4598.       | PRIORITY       | well-known   |  16  |     1    |       Yes       |
  4599.       |                | discretionary|      |          |                 |
  4600.       +----------------+--------------+------+----------+-----------------+
  4601.  
  4602.    7.11.1  Categories of path attributes
  4603.  
  4604.       Path attributes fall into four categories:
  4605.  
  4606.       a)  Well-known mandatory: these attributes must be recognized upon
  4607.           receipt by all BISs, and must be present in every UPDATE PDU
  4608.       b)  Well-known discretionary: these attributes must be recognized
  4609.           upon receipt by all BISs, but are not necessarily present in an
  4610.           UPDATE PDU
  4611.       c)  Optional transitive: these attributes need not be recognized upon
  4612.           receipt by all BISs, and are not necessarily present in an UPDATE
  4613.           PDU.  If a given BIS does not recognize an optional transitive
  4614.           attribute, it must pass it on to other BISs
  4615.       d)  Optional non-transitive: these attributes need not be recognized
  4616.           upon receipt by all BISs, and are not necessarily present in an
  4617.           UPDATE PDU.  If it does not recognize an optional non-transitive
  4618.           attribute, a BIS shall ignore it and shall not include it in any
  4619.           of its own UPDATE PDUs.
  4620.  
  4621.       A BIS shall handle optional attributes in the following manner:
  4622.  
  4623.       a)  If a route with an unrecognized optional transitive attribute is
  4624.           received and the route is to be propagated to other BISs, the
  4625.           optional transitive attribute must be propagated with the route,
  4626.           and the Partial bit in the Flag field of the attribute shall be
  4627.           set to 1.
  4628.  
  4629.       b)  If a route with a recognized optional transitive attribute is
  4630.           received and the route is to be propagated to other BISs, the
  4631.           optional transitive attribute may or may not be propagated with
  4632.           the route, according to the definition of the attribute.  If the
  4633.           attribute is propagated, then the local BIS shall not modify the
  4634.           value of the PARTIAL bit in the Flag field of the attribute.
  4635.  
  4636.    Kunzinger                     ISO/IEC 10747                  [ Page 97 ]
  4637.  
  4638.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4639.  
  4640.       c)  If a route with an unrecognized optional non-transitive attribute
  4641.           is received, the receiving BIS shall ignore the attribute and
  4642.           shall not propagate that attribute to any other BIS.  However, it
  4643.           may propagate the remainder of the route: that is, the route
  4644.           without the unrecognized optional non-transitive attribute.
  4645.  
  4646.       d)  If a route with a recognized optional non-transitive attribute is
  4647.           received and the route is to be propagated to other BISs, the
  4648.           optional transitive attribute may or may not be propagated with
  4649.           the route, according to the definition of the attribute.  If the
  4650.           attribute is propagated, then the local BIS shall not modify the
  4651.           value of the PARTIAL bit in the Flag field of the attribute.
  4652.  
  4653.       BISs shall observe the following rules for attaching and updating the
  4654.       values of optional attributes:
  4655.  
  4656.       -   New optional transitive attributes may be attached to the path
  4657.           information by any BIS in the path, and that BIS shall then set
  4658.           the PARTIAL bit in the attributes flag of its UPDATE PDU to 1.
  4659.  
  4660.       -   The rules for attaching new non-transitive optional attributes
  4661.           depend on the nature of each specific attribute.  The definition
  4662.           of each non-transitive optional attribute specifies such rules.
  4663.  
  4664.       -   Any optional attribute may be updated by any BIS in its path.
  4665.  
  4666.    7.11.2  Handling of distinguishing attributes
  4667.  
  4668.       Certain well-known discretionary path attributes are classified as
  4669.       Distinguishing Attributes (see 5.7), which can be used to
  4670.       discriminate among multiple routes to a destination, based on
  4671.       differences in quality between the routes.
  4672.  
  4673.       Distinguishing path attributes shall only be created by the BIS that
  4674.       originates the routeing information; they can be updated by any BIS
  4675.       that receives an UPDATE PDU that contains them.  The rules for
  4676.       updating each of IDRP's distinguishing attributes are defined in the
  4677.       appropriate subclause of 7.12.
  4678.  
  4679.       A permissible set of distinguishing attributes is defined to be a set
  4680.       that can be derived from information that can be validly encoded in
  4681.       the header of an ISO 8473 NPDU, using the mappings described in 9.2.
  4682.       In turn, a valid RIB-Att (see 5.7) is also a permissible set of
  4683.       distinguishing attributes, which is used to identify the RIB that
  4684.       holds a route characterized by those distinguishing attributes.
  4685.  
  4686.    Kunzinger                     ISO/IEC 10747                  [ Page 98 ]
  4687.  
  4688.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4689.  
  4690.       Therefore, a permissible set of distinguishing attributes and a
  4691.       corresponding valid RIB-Att:
  4692.  
  4693.       a)  Can consist of an empty set (that is, the Empty Distinguishing
  4694.           Attribute)
  4695.  
  4696.       b)  Can contain the SECURITY path attribute
  4697.  
  4698.           Note 20:  This distinguishing attributes is derived from the ISO
  4699.                     8473 Security parameter, as described in 8.2.
  4700.  
  4701.       c)  Can contain at most one of the following attributes:  RESIDUAL
  4702.           ERROR, TRANSIT DELAY, EXPENSE, and LOCALLY DEFINED QOS.
  4703.  
  4704.           Note 21:  These distinguishing attributes are derived from the
  4705.                     ISO 8473 Quality of Service Maintenance parameter,
  4706.                     which can request only one of them (see 8.2).
  4707.  
  4708.       d)  Can include the Priority Distinguishing Attribute.
  4709.  
  4710.           Note 22:  This distinguished attribute is derived from the ISO
  4711.                     8473 Priority parameter, as described in 8.2.
  4712.  
  4713.       e)  Can not include any instance of equivalent distinguishing
  4714.           attributes, as defined in 7.11.3.
  4715.  
  4716.       Therefore, the number of distinguishing attributes that can comprise
  4717.       either a valid RIB-Att or a permissible set of distinguishing
  4718.       attributes is not unbounded: it is limited to at most three.
  4719.  
  4720.    7.11.3  Equivalent distinguishing attributes
  4721.  
  4722.       IDRP recognizes two categories of distinguishing attribute:  type
  4723.       specific, and type-value specific.  Certain Distinguishing Attributes
  4724.       are unambiguous by their type ──namely, Capacity, Priority, Transit
  4725.       Delay, Expense, and Residual Error. These are called type specific.
  4726.  
  4727.       Others can not be disambiguated based solely on their type, but
  4728.       require knowledge of both type and a subset of the fields that
  4729.       comprise their value──namely, SECURITY and LOCALLY DEFINED QOS.
  4730.       These are called type-value specific.
  4731.  
  4732.       Within IDRP, two instances of Distinguishing Attributes are
  4733.       equivalent each other if either:
  4734.  
  4735.       a)  they are both type specific and they both have the same type, or
  4736.  
  4737.    Kunzinger                     ISO/IEC 10747                  [ Page 99 ]
  4738.  
  4739.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4740.  
  4741.       b)  they are both type-value specific, and they both have the same
  4742.           type and the same value.
  4743.  
  4744.       In all other cases two instances of Distinguishing Attribute are not
  4745.       equivalent.
  4746.  
  4747.    7.12  Path attribute usage
  4748.  
  4749.       The usage of each of IDRP's path attributes is described in the
  4750.       following clauses.
  4751.  
  4752.    7.12.1  ROUTE_SEPARATOR
  4753.  
  4754.       ROUTE-SEPARATOR is a well-known mandatory attribute.  Multiple
  4755.       instances of this attribute may appear in a single UPDATE PDU.  The
  4756.       ROUTE_SEPARATOR serves as a delimiter between sets of distinguishing
  4757.       attributes.  Each set of distinguishing attributes determines the
  4758.       routeing information base associated with the route.  The ROUTE_ID
  4759.       and LOCAL_PREF values for a given route are contained in the
  4760.       ROUTE_SEPARATOR that immediately precedes the set of distinguishing
  4761.       attributes for that route.  A BIS shall include a ROUTE_SEPARATOR for
  4762.       each feasible route carried in the UPDATE PDU:
  4763.  
  4764.       -   The ROUTE-ID must be unambiguous within the context of the
  4765.           BIS-BIS connection over which the UPDATE PDU is transmitted.
  4766.       -   The LOCAL-PREF field is used to detect inconsistent routeing
  4767.           decisions among a set of BISs that are all located in the same
  4768.           routeing domain.  Its value shall be set as follows:
  4769.  
  4770.           a)  For UPDATE PDUs sent to adjacent routeing domains, LOCAL-PREF
  4771.               shall contain the value 0; the receiving BIS (in the adjacent
  4772.               RD) shall ignore this field upon receipt.
  4773.  
  4774.           b)  For UPDATE PDUS sent to BISs in the same routeing domain as
  4775.               the local BIS, its value shall be set in accordance with
  4776.               7.15.1; the receiving BIS (in the same RD) shall use this
  4777.               value to check for internal inconsistencies, in accordance
  4778.               with 7.15.1.
  4779.  
  4780.       All distinguishing attributes that appear after a given
  4781.       ROUTE_SEPARATOR and before the next ROUTE_SEPARATOR or the end of the
  4782.       BISPDU (whichever occurs first) form a set that determines the
  4783.       RIB-Att associated with the route.
  4784.  
  4785.    Kunzinger                     ISO/IEC 10747                 [ Page 100 ]
  4786.  
  4787.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4788.  
  4789.       All non-distinguishing path attributes and the NLRI field apply to
  4790.       every route advertised in the UPDATE PDU, regardless of where they
  4791.       appear with respect to the ROUTE_SEPARATOR(s).
  4792.  
  4793.       The ROUTE_ID associated with a route received from an adjacent BIS
  4794.       bear no functional relationship to the ROUTE_ID that the local BIS
  4795.       will generate if it decides to propagate that route.  Similarly, the
  4796.       ROUTE-ID for an aggregated route bears no functional relationship the
  4797.       individual ROUTE-IDs of the routes from which it was constructed.
  4798.  
  4799.       Note 23:  The requirements on unambiguity within the context of a
  4800.                 given BIS-BIS connection lead to the following
  4801.                 observations:
  4802.  
  4803.                 a)  Since the ROUTE-ID must be unambiguous within each
  4804.                     instance of BIS-BIS communication, a BIS can advertise
  4805.                     the same route to different neighbor BISs, using
  4806.                     different ROUTE-IDs in each instance of BIS-BIS
  4807.                     communications.
  4808.  
  4809.                 b)  The ROUTE-IDs associated with routes to be advertised
  4810.                     by a BIS (that is, the routes in its Adj-RIBs-Out)
  4811.                     bears no relationship to the ROUTE-IDs associated with
  4812.                     routes received from other BISs (that is, the routes in
  4813.                     the local BIS's Adj-RIBs-In).
  4814.  
  4815.    7.12.2  EXT_INFO
  4816.  
  4817.       EXT_INFO is a well-known discretionary attribute.  It shall be
  4818.       recognized upon receipt by all BISs.  It shall be included in each
  4819.       UPDATE PDU that reports either an RD_PATH attribute or Network Layer
  4820.       Reachability Information that has been learned by methods not
  4821.       described in this international standard.
  4822.  
  4823.       The EXT_INFO attribute shall be generated by the RD that originates
  4824.       the associated routeing information.  If the EXT_INFO attribute was
  4825.       present in a received UPDATE PDU, then it shall also be included in
  4826.       the UPDATE PDUs of all BISs that choose to propagate this information
  4827.       to other BISs.
  4828.  
  4829.       Note 24:  Information obtained from the managed object
  4830.                 internalSystems or obtained from UPDATE PDUs which do not
  4831.                 contain the EXT_INFO attribute has been learned by methods
  4832.                 within IDRP's scope; however, manually configured
  4833.                 reachability information for an RD which does not run IDRP
  4834.  
  4835.    Kunzinger                     ISO/IEC 10747                 [ Page 101 ]
  4836.  
  4837.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4838.  
  4839.                 is an example of information which is learned by means
  4840.                 outside IDRP's scope.
  4841.  
  4842.                 If a BIS selects a route which has been advertised with the
  4843.                 EXT_INFO attribute, it is possible that there may be
  4844.                 undetected looping of routeing information.  Therefore, it
  4845.                 is recommended that distribution of information not learned
  4846.                 by the methods of IDRP be tightly controlled.  The path
  4847.                 attributes DIST_LIST_INCL and DIST_LIST_EXCL afford a
  4848.                 convenient method for providing this control.  Furthermore,
  4849.                 a given RD may also enforce policies which prohibit any of
  4850.                 its BISs from selecting routes which have the EXT_INFO
  4851.                 attribute associated with them.
  4852.  
  4853.    7.12.3  RD_PATH
  4854.  
  4855.       RD_PATH is a well-known mandatory attribute.  It shall be present in
  4856.       every UPDATE PDU, and shall be recognized on receipt by all BISs.
  4857.       This attribute consists of a concatenation of path segments that
  4858.       identifies the routeing domains and routeing domain confederations
  4859.       through which this route has passed.  The path segments can be
  4860.       RD_SETs, RD_SEQs, ENTRY_SEQs, or ENTRY_SETs.
  4861.  
  4862.    7.12.3.1  Generating an RD_PATH attribute
  4863.  
  4864.       When a BIS originates a route to destinations contained within its
  4865.       own routeing domain or to destinations learned by means outside the
  4866.       protocol (see 7.12.2), it shall examine the information contained in
  4867.       its managed object rdcConfig to determine the ordering relationships
  4868.       among all the confederations of which the local routeing domain is a
  4869.       member.  The local BIS shall then construct an RD_PATH attribute as
  4870.       follows:
  4871.  
  4872.       a)  If the local routeing domain is a member of one or more
  4873.           confederations, the RD_PATH shall consist of an ENTRY_SEQ segment
  4874.           followed immediately by an RD_SEQ segment.  The ENTRY_SEQ shall
  4875.           list the confederations, ordered as follows:
  4876.  
  4877.           1)  If a confederation, RDC-B, is nested within another
  4878.               confederation, RDC-A, then the RDI of RDC-A shall precede
  4879.               that of RDC-B.
  4880.  
  4881.           2)  The RDIs of overlapping confederations shall be listed in
  4882.               increasing order of the RDIs, as long as the order implied by
  4883.               any nesting relationships is maintained.  For purposes of
  4884.  
  4885.    Kunzinger                     ISO/IEC 10747                 [ Page 102 ]
  4886.  
  4887.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4888.  
  4889.               ordering, two RDIs are compared octet-by-octet from the left
  4890.               until differing octet values are found.  The RDI with the
  4891.               lesser octet value (when treated as an unsigned integer) is
  4892.               considered to have the lesser RDI value.  If there are two
  4893.               RDIs of different lengths, and the leading octets of the
  4894.               longer RDI are exactly the same as the octets of the
  4895.               (complete) shorter RDI, then the shorter RDI is considered to
  4896.               have the lesser value.
  4897.  
  4898.           The RD_SEQ shall list the RDI of the BIS's routeing domain.
  4899.  
  4900.       b)  If the local routeing domain is not a member of any
  4901.           confederation, then the RD_PATH contains a single RD_SEQ segment
  4902.           that lists the RDI of the BIS's routeing domain.
  4903.  
  4904.    7.12.3.2  Updating a received RD_PATH attribute
  4905.  
  4906.       The local BIS shall update the RD_PATH attribute of a route received
  4907.       from another BIS according to the following rules:
  4908.  
  4909.       a)  If the route was received from a BIS located in the same routeing
  4910.           domain as the local BIS, then the RD_PATH attribute shall not be
  4911.           updated.
  4912.  
  4913.       b)  If the route was received from a BIS located in an adjacent
  4914.           routeing domain, the local BIS shall determine if the route has
  4915.           entered any confederations (see 7.13.3), and it shall examine the
  4916.           information contained in its managed object rdcConfig to
  4917.           determine the ordering relationships among all such
  4918.           confederations.  The local BIS shall then amend the RD_PATH
  4919.           attribute as follows:
  4920.  
  4921.           1)  If the route has entered any confederations, the BIS shall
  4922.               append a path segment of type ENTRY_SEQ that lists all the
  4923.               newly entered confederations, ordered as follows:
  4924.  
  4925.               i)  If a confederation, RDC-B, is nested within another
  4926.                   confederation, RDC-A, then the RDI of RDC-A shall precede
  4927.                   that of RDC-B.
  4928.  
  4929.               ii) The RDIs of overlapping confederations shall be listed in
  4930.                   increasing order of the RDIs, as long as the order
  4931.                   implied by any nesting relationships is maintained.  For
  4932.                   purposes of ordering, two RDIs are compared
  4933.                   octet-by-octet from the left until differing octet values
  4934.                   are found.  The RDI with the lesser octet value (when
  4935.  
  4936.    Kunzinger                     ISO/IEC 10747                 [ Page 103 ]
  4937.  
  4938.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4939.  
  4940.                   treated as an unsigned integer) is considered to have the
  4941.                   lesser RDI value.  If there are two RDIs of different
  4942.                   lengths, and the leading octets of the longer RDI are
  4943.                   exactly the same as the octets of the (complete) shorter
  4944.                   RDI, then the shorter RDI is considered to have the
  4945.                   lesser value.
  4946.  
  4947.               The ENTRY_SEQ segment shall be followed immediately by an
  4948.               RD_SEQ segment that lists the RDI of the BIS's routeing
  4949.               domain.
  4950.  
  4951.           2)  If the route has not entered any confederations, the local
  4952.               BIS shall append a path segment of type RD_SEQ that lists the
  4953.               RDI of the BIS's routeing domain.
  4954.  
  4955.    7.12.3.3  Advertising a route received from another BIS
  4956.  
  4957.       After receiving a route, a BIS will have modified its RD_PATH
  4958.       attribute in accordance with 7.12.3.2; and when a route is generated
  4959.       locally, the BIS will have created an RD_PATH attribute in accordance
  4960.       with 7.12.3.1.  If the local BIS selects a route for subsequent
  4961.       advertisement, the RD_PATH attribute of that route shall be amended
  4962.       as follows, based on the confederations which have been exited and on
  4963.       the nesting relationships among confederations of which the local BIS
  4964.       is a member (see managed object rdcConfig):
  4965.  
  4966.       a)  If the adjacent BIS to which the route will be advertised can be
  4967.           reached without exiting any confederations, then no modification
  4968.           to the RD_PATH attribute shall be made.
  4969.  
  4970.       b)  If the adjacent BIS to which the route will be advertised can
  4971.           only be reached by exiting one or more confederations, then the
  4972.           local BIS shall check the RD_PATH attribute for the presence of
  4973.           ENTRY_SEQ or ENTRY_SET path segments that contain the RDIs of the
  4974.           exited confederations.
  4975.  
  4976.           If there is any RDI of an exited confederation which is absent
  4977.           from all ENTRY_SEQ and ENTRY_SET segments, then the route is in
  4978.           error.  The local BIS shall send an IDRP ERROR PDU to the BIS
  4979.           that advertised the route, reporting a Misconfigured_RDCs error.
  4980.  
  4981.           If two confederation, RDC-A and RDC-B, are listed in the same
  4982.           ENTRY_SEQ, and managed object rdcConfig indicates that RDC-B is
  4983.           nested within RDC-A, then the RDI of RDC-A shall precede that of
  4984.           RDC-B in the ENTRY_SEQ.  If it does not, the local BIS shall send
  4985.  
  4986.    Kunzinger                     ISO/IEC 10747                 [ Page 104 ]
  4987.  
  4988.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  4989.  
  4990.           an IDRP ERROR to the BIS that advertised the route, reporting a
  4991.           Misconfigured_RDCs error.
  4992.  
  4993.           Otherwise, the local BIS shall scan the RD_PATH attribute from
  4994.           the back (right to left, starting at the highest numbered octet)
  4995.           looking for an ENTRY_SEQ or ENTRY_SET path segment that lists an
  4996.           exited confederation.  Within a given ENTRY_SET or ENTRY_SEQ
  4997.           segment, the RDI for a given confederation can not be processed
  4998.           until the RDIs for all confederations nested within it have been
  4999.           processed.
  5000.  
  5001.           For each exited confederation (for example, the confederation
  5002.           whose RDI is "X"), the advertising BIS shall then update the
  5003.           RD_PATH of the route as follows:
  5004.  
  5005.           1)  The entry for "X" shall be removed from the ENTRY_SEQ or
  5006.               ENTRY_SET segment
  5007.  
  5008.           2)  If "X" is the only RDI contained in an ENTRY_SEQ or ENTRY_SET
  5009.               segment of the RD_PATH, then create a path segment of type
  5010.               RD_SEQ that lists "X" and insert it in front of the previous
  5011.               entry for "X".
  5012.  
  5013.           3)  If the local BIS's routeing domain is a member of other
  5014.               confederations besides "X" that are listed in the ENTRY_SEQ
  5015.               or ENTRY_SET segments of the RD_PATH, then:
  5016.  
  5017.               i)  If "X" occurs in an ENTRY_SEQ or ENTRY_SET segment, and
  5018.                   "X" is nested within none of the other confederations,
  5019.                   then create an RD_SET that lists "X" and insert it in
  5020.                   front of the first ENTRY_SEQ or ENTRY_SET segment that
  5021.                   occurs in the RD_PATH.
  5022.  
  5023.               ii) If "X" occurs in an ENTRY_SEQ and "X" is nested within
  5024.                   all the other confederations, then create a path segment
  5025.                   of type RD_SEQ that lists "X" and insert it immediately
  5026.                   in front of the previous entry for "X"
  5027.  
  5028.               iii) If "X" occurs in an ENTRY_SEQ and "X" is nested within
  5029.                   some but not all of the other confederations, then create
  5030.                   a path segment of type RD_SET that lists "X", and insert
  5031.                   it immediately after the closest prior entry for any
  5032.                   confederation in which "X" is nested.
  5033.  
  5034.               iv) If "X" occurs in an ENTRY_SET and "X" is nested within
  5035.                   all the other confederations, then create a path segment
  5036.  
  5037.    Kunzinger                     ISO/IEC 10747                 [ Page 105 ]
  5038.  
  5039.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5040.  
  5041.                   of type RD_SET that lists "X" and insert it immediately
  5042.                   in front of the previous entry for "X"
  5043.  
  5044.               v)  If "X" occurs in an ENTRY_SET and "X" is nested within
  5045.                   some but not all of the other confederations, then create
  5046.                   a path segment of type RD_SET that lists "X", and insert
  5047.                   it immediately after the the closest prior entry for any
  5048.                   confederation in which "X" is nested.
  5049.  
  5050.               If the procedures call for the insertion of an RD_SET or an
  5051.               RD_SEQ between entries that are contained in a single
  5052.               ENTRY_SET or ENTRY_SEQ, then break the ENTRY_SET or ENTRY_SEQ
  5053.               into two segments of identical type and perform the
  5054.               insertion.  For example, if it is necessary to insert
  5055.               RD_SET(X) between entries for "A" and "B", where "A" and "B"
  5056.               are contained in ENTRY_SEQ(H,J,A,B,C), the result would be:
  5057.               ENTRY_SEQ(H,J,A) RD_SET(X) ENTRY_SEQ(B,C).
  5058.  
  5059.           If, after applying these procedures, the ENTRY_SEQ or ENTRY_SET
  5060.           segment in which "X" originally occurred is empty, then that path
  5061.           segment shall be deleted, together with any subsequent path
  5062.           segments between itself and the next occurring ENTRY_SEQ or
  5063.           ENTRY_SET segment, or between itself and the end of the RD_PATH
  5064.           attribute if there is no subsequent ENTRY_SEQ or ENTRY_SET
  5065.           segment.
  5066.  
  5067.    7.12.4  NEXT_HOP
  5068.  
  5069.       NEXT_HOP is a well-known discretionary attribute.  It shall be
  5070.       recognized upon receipt by all BISs.
  5071.  
  5072.       For purposes of defining the usage rules for this attribute, a
  5073.       subnetwork is transitive with respect to system reachability if all
  5074.       of the following conditions are true:
  5075.  
  5076.       a)  Systems A, B, and C are all attached to the same subnetwork,
  5077.  
  5078.       b)  When A can reach B directly,  and B can reach C directly, it
  5079.           follows that A can reach C directly.
  5080.  
  5081.       Verification of the above conditions should be accomplished by means
  5082.       outside of IDRP.  For example, systems located on a common subnetwork
  5083.       could use an ES-IS protocol (such as IS 9542) to ascertain if there
  5084.       is direct reachability between them.  Examples of such media are IEEE
  5085.       802.2 and SMDS.
  5086.  
  5087.    Kunzinger                     ISO/IEC 10747                 [ Page 106 ]
  5088.  
  5089.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5090.  
  5091.    +----------------------------------------------------------------------+
  5092.    |                                                                      |
  5093.    |                    +-----+                                           |
  5094.    |                    |  B  |                                           |
  5095.    |                    +-----+                                           |
  5096.    |                   =   |   =                                          |
  5097.    |      BIS-BIS     =    |    =  BIS-BIS                                |
  5098.    |      Connection =     |     = Connection                             |
  5099.    |                =      |      =                                       |
  5100.    |               =       |       =                                      |
  5101.    |              =        |        =                                     |
  5102.    |             =         |         =                                    |
  5103.    |          +---+        |        +---+                                 |
  5104.    |          | A |--------+--------| C |                                 |
  5105.    |          +---+                 +---+                                 |
  5106.    |                                                                      |
  5107.    |                                 nhop2                                |
  5108.    |                                                                      |
  5109.    +----------------------------------------------------------------------+
  5110.    Figure 8. A Transitive Fully Connected Subnetwork
  5111.  
  5112.       Consider three BISs attached to a fully connected transitive
  5113.       subnetwork, as shown in Figure 8: A and B share a BIS-BIS connection,
  5114.       B and C share a BIS-BIS connection, but A and C have no BIS-BIS
  5115.       connection between themselves.  If C propagates an UPDATE PDU to B,
  5116.       then with respect to the UPDATE PDU advertised by B:
  5117.  
  5118.       -   C is defined to be the source BIS
  5119.       -   B is defined to be the first recipient BIS
  5120.       -   A is defined to be the subsequent recipient BIS.
  5121.  
  5122.       In terms of these definitions, the following rules apply to the usage
  5123.       of the NEXT_HOP attribute:
  5124.  
  5125.       a)  Generating the Attribute
  5126.  
  5127.           When a given BIS generates an UPDATE PDU:
  5128.  
  5129.           1)  It may list its own NET and the SNPAs of subnetworks that
  5130.               connect itself to the remote BIS in the NEXT_HOP attribute of
  5131.               that UPDATE PDU.
  5132.  
  5133.           2)  It may choose not to include a NEXT_HOP attribute in its
  5134.               UPDATE PDU.  When the NEXT_HOP field is not present, it
  5135.               implies that the NET of the BIS that advertises the UPDATE
  5136.               PDU should be considered to be the NET of the next-hop BIS.
  5137.  
  5138.    Kunzinger                     ISO/IEC 10747                 [ Page 107 ]
  5139.  
  5140.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5141.  
  5142.           3)  It may set the value of the "IDRP_Server_Allowed" field in
  5143.               accordance with its local policies:
  5144.  
  5145.               -   If the source BIS wants to allow the first recipient BIS
  5146.                   to advertise the source BIS's NET and SNPA to a
  5147.                   subsequent recipient BIS, then it shall set this field to
  5148.                   X'FF'
  5149.  
  5150.               -   If the source BIS does not want the first recipient BIS
  5151.                   to advertise the source BIS's NET and SNPA, then it shall
  5152.                   set this field to any value other than X'FF'.
  5153.  
  5154.       b)  Advertising Routeing Information
  5155.  
  5156.           When a BIS chooses to advertise routeing information learned from
  5157.           an UPDATE PDU:
  5158.  
  5159.           1)  The BIS may choose to list its own NET and the SNPAs of
  5160.               subnetworks that connect itself to the remote BIS in the
  5161.               NEXT_HOP attribute of an UPDATE PDU that propagates the
  5162.               routeing information
  5163.  
  5164.           2)  The BIS may choose not to include a NEXT_HOP attribute in its
  5165.               UPDATE PDU.  When the NEXT_HOP field is not present, it
  5166.               implies that the BIS that advertises the UPDATE PDU is also
  5167.               the next-hop BIS.
  5168.  
  5169.           3)  If any condition listed below is not satisfied, then the
  5170.               recipient BIS shall not list the NET and SNPAs of the source
  5171.               BIS in its own UPDATE PDUs.  If they are all satisfied, then
  5172.               instead of listing its own NET and SNPAs, the BIS may
  5173.               optionally list the NET and SNPAs of the source BIS (as
  5174.               contained in the UPDATE PDU received from the source BIS)
  5175.               when it propagates the information to a subsequent recipient
  5176.               BIS.  The conditions are the following:
  5177.  
  5178.               i)  The "IDRP_Server_Allowed" field of the UPDATE PDU of the
  5179.                   source BIS was equal to X'FF'.
  5180.  
  5181.               ii) All three BISs (source, first recipient, and subsequent
  5182.                   recipient) are located on a common subnetwork which is
  5183.                   full-duplex and is transitive with respect to
  5184.                   reachability of all three BISs.
  5185.  
  5186.               iii) The managed object routeServer is "true".
  5187.  
  5188.  
  5189.    Kunzinger                     ISO/IEC 10747                 [ Page 108 ]
  5190.  
  5191.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5192.  
  5193.               iv) The first recipient and subsequent recipient are located
  5194.                   in different routeing domains.
  5195.  
  5196.               v)  Advertisement of this route to the subsequent recipient
  5197.                   BIS does not conflict with any of the path attributes
  5198.                   that were contained in the UPDATE PDU from the source
  5199.                   BIS.  (For example, it may not propagate the UPDATE PDU
  5200.                   to a recipient that is listed in the DIST_LIST_EXCL
  5201.                   attribute.)
  5202.  
  5203.       Note 25:  The following observations should be noted with regard to
  5204.                 the rules stated above:
  5205.  
  5206.                 a)  The rules do not remove the requirement that there must
  5207.                     be a BIS-BIS connections between each pair of BISs
  5208.                     located in the same routeing domain.
  5209.  
  5210.                 b)  The contents of the NEXT_HOP attribute have no effect
  5211.                     upon the contents of the RD_PATH attribute: that is,
  5212.                     the RD_PATH attribute will always be used in accordance
  5213.                     with 7.12.3.
  5214.  
  5215.                 c)  If the NET and SNPAs are not available in an UPDATE
  5216.                     PDU, then a BIS that receives it must learn them by
  5217.                     means outside of this international standard.  For
  5218.                     example, the value of the NET can be learned from the
  5219.                     NUNITDATA.INDICATION, and IS 9542 can be used to
  5220.                     associate an SNPA with that NET.
  5221.  
  5222.    7.12.5  DIST_LIST_INCL
  5223.  
  5224.       DIST_LIST_INCL is a well-known discretionary attribute.  It shall be
  5225.       recognized upon receipt by all BISs.  When present, this attribute
  5226.       lists the RDIs of the routeing domains and confederations to which
  5227.       the routeing information may be distributed.  Since NPDUs usually
  5228.       flow in a direction opposite to the flow of UPDATE PDUs,
  5229.       DIST_LIST_INCL provides a means for a given RD or confederation to
  5230.       control use of its resources by other RDs.
  5231.  
  5232.       When a BIS receives an UPDATE PDU that contains the DIST_LIST_INCL
  5233.       attribute, then the receiving BIS shall not redistribute the
  5234.       associated routeing information to any BIS which is not a member of
  5235.       at least one RD or RDC whose RDI is contained in this attribute.
  5236.  
  5237.       A BIS shall redistribute only that information which has been locally
  5238.       selected as a route, and shall redistribute it only to RDs or RDCs
  5239.  
  5240.    Kunzinger                     ISO/IEC 10747                 [ Page 109 ]
  5241.  
  5242.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5243.  
  5244.       which are both adjacent to it and are included in the distribution
  5245.       list.  A BIS may distribute the information to any adjacent BIS that
  5246.       is a member of any routeing domain or confederation whose RDI is
  5247.       contained in DIST_LIST_INCL.  A BIS is not required to distribute the
  5248.       routeing information to every RD or RDC whose RDI is listed: for
  5249.       example, it is possible for local policy considerations or the
  5250.       contents of the HIERARCHICAL_RECORDING path attribute to further
  5251.       restrict the set of RDIs to whom the routeing information will
  5252.       actually be redistributed.
  5253.  
  5254.       If a BIS receives an UPDATE PDU that contains neither the
  5255.       DIST_LIST_INCL nor DIST_LIST_EXCL attributes, then it may distribute
  5256.       the routeing information to all adjacent BISs.  Alternatively, the
  5257.       local BIS may also add a DIST_LIST_INCL or DIST_LIST_EXCL attribute,
  5258.       but not both, to the route information.
  5259.  
  5260.       If the DIST_LIST_INCL attribute is present and has a length of zero
  5261.       octets, then the routeing information may be used locally, but shall
  5262.       not be advertised to any other BIS.
  5263.  
  5264.       When it originates an UPDATE PDU which describes a route to
  5265.       destinations located in its own routeing domain, a BIS may append the
  5266.       DIST_LIST_INCL attribute, in accordance with its local policies.
  5267.  
  5268.       If a BIS chooses to advertise a route which was learned from an
  5269.       UPDATE PDU which already contained the DIST_LIST_INCL attribute, the
  5270.       advertising BIS may modify this attribute by pruning the set of RDIs
  5271.       included in the list.  If a BIS chooses to prune the set, it shall
  5272.       not delete the RDI of its own RD, nor shall it delete the RDI of any
  5273.       RDC to which it belongs.  However, if the reduced list is empty (that
  5274.       is, has a length of zero), then the BIS shall not advertise the
  5275.       routeing information to any BIS located in a different routeing
  5276.       domain.
  5277.  
  5278.    7.12.5.1  Interaction with HIERARCHICAL_RECORDING
  5279.  
  5280.       When a given UPDATE PDU contains both the HIERARCHICAL_RECORDING
  5281.       attribute and the DIST_LIST_INCL attribute, the constraints imposed
  5282.       by the HIERARCHICAL_RECORDING, as specified in 7.12.12, shall take
  5283.       precedence over those imposed by DIST_LIST_INCL.
  5284.  
  5285.  
  5286.  
  5287.    Kunzinger                     ISO/IEC 10747                 [ Page 110 ]
  5288.  
  5289.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5290.  
  5291.    7.12.6  DIST_LIST_EXCL
  5292.  
  5293.       DIST_LIST_EXCL is a well-known discretionary attribute.  It shall be
  5294.       recognized upon receipt by all BISs.  When present, this attribute
  5295.       lists the RDIs of routeing domains and confederations to which the
  5296.       routeing information may not be distributed.  Since NPDUs usually
  5297.       flow in a direction opposite to the flow of UPDATE PDUs,
  5298.       DIST_LIST_EXCL provides a means for a given RD or confederation to
  5299.       control use of its resources by other RDs and RDCs.
  5300.  
  5301.       When a BIS receives an UPDATE PDU that contains the DIST_LIST_EXCL
  5302.       attribute, then the receiving BIS shall not redistribute the
  5303.       associated routeing information to any BIS located in an RD or RDC
  5304.       whose RDI is included in the list.  A BIS shall not distribute the
  5305.       information to any adjacent BIS that is a member of any routeing
  5306.       domain or confederation whose RDI is contained in DIST_LIST_EXCL.
  5307.       Local policy considerations shall not override redistribution of the
  5308.       routeing information as dictated by the DIST_LIST_EXCL attribute.
  5309.  
  5310.       If a BIS receives an UPDATE PDU that contains neither the
  5311.       DIST_LIST_INCL nor the DIST_LIST_EXCL attributes associated with it,
  5312.       then it may distribute the routeing information to all adjacent BISs.
  5313.       Alternatively, the local BIS may also add a DIST_LIST_INCL or
  5314.       DIST_LIST_EXCL attribute, but not both, to the route information.
  5315.  
  5316.       If the DIST_LIST_EXCL attribute is absent and the DIST_LIST_INCL
  5317.       attribute is present, then the distribution of the routeing
  5318.       information is controlled by the DIST_LIST_INCL attribute.  If the
  5319.       DIST_LIST_EXCL attribute is present and has a length of zero octets,
  5320.       then the routeing information may, in accordance with local policy,
  5321.       be advertised to any other BIS.
  5322.  
  5323.       When it originates an UPDATE PDU which describes a route to
  5324.       destinations located in its own routeing domain, a BIS may append the
  5325.       DIST_LIST_EXCL attribute, in accordance with its local policies.
  5326.  
  5327.       If a BIS chooses to advertise a route which was learned from an
  5328.       UPDATE PDU which already contained the DIST_LIST_EXCL attribute, the
  5329.       advertising BIS may modify this attribute by augmenting the set of
  5330.       RDIs included in the list.  If a BIS chooses to augment the set, it
  5331.       shall not add the RDI of its own RD, nor shall it add the RDI of any
  5332.       RDC to which it belongs.
  5333.  
  5334.  
  5335.  
  5336.    Kunzinger                     ISO/IEC 10747                 [ Page 111 ]
  5337.  
  5338.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5339.  
  5340.    7.12.6.1  Interaction with HIERARCHICAL RECORDING
  5341.  
  5342.       When a given UPDATE PDU contains both the HIERARCHICAL_RECORDING
  5343.       attribute and the DIST_LIST_EXCL attribute, the constraints imposed
  5344.       by DIST_LIST_EXCL, as specified in 7.12.6, shall take precedence over
  5345.       those imposed by the HIERARCHICAL_RECORDING attribute.
  5346.  
  5347.    7.12.7  MULTI-EXIT_DISC
  5348.  
  5349.       MULTI-EXIT_DISC is an optional non-transitive attribute.  If the
  5350.       local BIS's managed object multiExit is "true", the BIS may use the
  5351.       attribute in its path selection algorithm.  For example, a routeing
  5352.       domain may choose to implement a policy which mandates that if all
  5353.       other path attributes are equal, the exit point with the lowest value
  5354.       of MULTI-EXIT_DISC should be preferred.
  5355.  
  5356.       Each BIS that is connected to an adjacent RD by one or more common
  5357.       subnetworks may generate a MULTI-EXIT_DISC attribute for each link
  5358.       connecting itself to an adjacent RD.  The value of this attribute is
  5359.       a local matter, which will be determined by the policies of the RD in
  5360.       which the originating BIS is located.
  5361.  
  5362.       A BIS that generates a value for this attribute may distribute it to
  5363.       all neighboring BISs which are located in adjacent RDs.
  5364.  
  5365.       If a MULTI-EXIT_DISC attribute is received from a BIS located in an
  5366.       adjacent RD, then the receiving BIS may distribute this attribute to
  5367.       all other BISs located in its own RD.  However, the receiving BIS
  5368.       shall not re-distribute the attribute to any BISs which are not
  5369.       located within its own RD.
  5370.  
  5371.    7.12.8  TRANSIT DELAY
  5372.  
  5373.       TRANSIT DELAY is a well-known discretionary attribute.  A BIS shall
  5374.       include this attribute in its UPDATE PDU to indicate that it supports
  5375.       routeing based on the Transit Delay attribute, and that it maintains
  5376.       Adj-RIBs and a Loc-RIB distinguished by this attribute.
  5377.  
  5378.       The average transit delay associated with the local RD is obtained
  5379.       from the managed object rdTransitDelay and represents an average
  5380.       transit delay that would be experienced by SNSDU size of 512 octets
  5381.       while traversing the RD. rdTransitDelay is specified in units of 2
  5382.       ms.
  5383.  
  5384.  
  5385.    Kunzinger                     ISO/IEC 10747                 [ Page 112 ]
  5386.  
  5387.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5388.  
  5389.       If A BIS advertises a route whose destinations are located in its own
  5390.       RD, then the originating BIS may append the Transit Delay attribute
  5391.       to the route, using the value contained in managed object
  5392.       rdTransitDelay.
  5393.  
  5394.       When a BIS re-distributes a route which has been learned in an UPDATE
  5395.       PDU that contains the Transit Delay attribute, it shall update the
  5396.       value of this attribute before advertising the route to a BIS located
  5397.       in another routeing domain.  The updated value shall be computed by
  5398.       adding the value in rdTransitDelay to the value of the parameter that
  5399.       was received in the UPDATE PDU's Transit Delay attribute.
  5400.  
  5401.       If the route is re-distributed to another BIS located in the same RD
  5402.       as the advertising BIS, then the Transit Delay attribute shall not be
  5403.       modified, but shall be distributed with the same value that was
  5404.       present in the received UPDATE PDU.
  5405.  
  5406.    7.12.9  RESIDUAL ERROR
  5407.  
  5408.       RESIDUAL ERROR is a well-known discretionary attribute.  A BIS shall
  5409.       include this attribute in its UPDATE PDU to indicate that it supports
  5410.       routeing based on the Residual Error attribute, and that it maintains
  5411.       Adj-RIBs and a Loc-RIB distinguished by this attribute.
  5412.  
  5413.       The value contained in the RESIDUAL ERROR attribute, in RRE, and in
  5414.       managed object rdLRE is a positive integer in the range from 0 to
  5415.       <2^32> -1; the actual probability of error can be obtained by
  5416.       dividing the value by <2^32> -1.
  5417.  
  5418.       If A BIS advertises a route whose destinations are located in its own
  5419.       RD, then the originating BIS may append the RESIDUAL ERROR attribute
  5420.       to the route, using the value contained in managed object rdLRE.  The
  5421.       value of the rdLRE is an integer value derived from the average ratio
  5422.       of lost, duplicated, or incorrectly delivered SNSDU's to total SNSDUs
  5423.       transmitted by the SNDCF during a measurement period: this ratio is
  5424.       multiplied by <2^32> -1, and then rounded up to the next higher
  5425.       integer.
  5426.  
  5427.       When a BIS re-distributes a route which has been learned in an UPDATE
  5428.       PDU that contains the RESIDUAL ERROR attribute, it shall update the
  5429.       value of this attribute before advertising the route to a BIS located
  5430.       in another routeing domain.  The updated value is computed by the
  5431.       following formula:
  5432.  
  5433.                         K * (1 - ((1-(RRE/K))*(1-(RDLRE/K))))
  5434.  
  5435.    Kunzinger                     ISO/IEC 10747                 [ Page 113 ]
  5436.  
  5437.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5438.  
  5439.       where RRE is the value of the RESIDUAL ERROR attribute of the
  5440.       received route, RDLRE is the value of the average residual error
  5441.       probability associated with the local RD, K is the constant <2^32>
  5442.       -1, and the whole expression is rounded up to the nearest integer.
  5443.  
  5444.       If the route is re-distributed to another BIS located in the same RD
  5445.       as the advertising BIS, then the RESIDUAL ERROR attribute shall not
  5446.       be modified, but shall be distributed with the same value that was
  5447.       present in the received UPDATE PDU.
  5448.  
  5449.    7.12.10  EXPENSE
  5450.  
  5451.       EXPENSE is a well-known discretionary attribute.  A BIS shall include
  5452.       this attribute in its UPDATE PDU to indicate that it supports
  5453.       routeing based on the Expense attribute, and that it maintains
  5454.       Adj-RIBs and a Loc-RIB distinguished by this attribute.  The value of
  5455.       Expense associated with a given routeing domain is contained in
  5456.       managed object locExpense.  It is related to monetary cost.
  5457.       Different routeing domains may use different values for this
  5458.       attribute:  thus, the attribute must deal in relative monetary costs.
  5459.  
  5460.       If A BIS advertises a route whose destinations are located in its own
  5461.       RD, then the originating BIS may append the Expense attribute to the
  5462.       route, using the value contained in managed object locExpense.
  5463.  
  5464.       When a BIS re-distributes a route which has been learned in an UPDATE
  5465.       PDU that contains the Expense attribute, it shall update the value of
  5466.       this attribute before advertising the route to a BIS located in
  5467.       another routeing domain.  The updated value is computed by adding the
  5468.       value of the expense contained in managed object locExpense to the
  5469.       value of the EXPENSE attribute of the received route.
  5470.  
  5471.       If the route is re-distributed to another BIS located in the same RD
  5472.       as the advertising BIS, then the Expense attribute shall not be
  5473.       modified, but shall be distributed with the same value that was
  5474.       present in the received UPDATE PDU.
  5475.  
  5476.    7.12.11  LOCALLY DEFINED QOS
  5477.  
  5478.       LOCALLY DEFINED QOS is a well known discretionary attribute that
  5479.       enables a QoS Authority to specify a QoS measurement that is not
  5480.       included in the set of QoS measurements specified in this
  5481.       international standard. The QoS Measurement is identified within the
  5482.       context of the QoS Authority, which is also responsible for
  5483.       specifying its name (QoS Value) and its semantics. A QoS Authority
  5484.  
  5485.    Kunzinger                     ISO/IEC 10747                 [ Page 114 ]
  5486.  
  5487.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5488.  
  5489.       may specify as many QoS measurements as necessary, each distinguished
  5490.       by the QoS Value field.
  5491.  
  5492.       When a BIS supports a LOCALLY DEFINED QOS measurement, this may be
  5493.       signalled to adjacent BISs in a RIB-Att as specified in clause 6.2.
  5494.       When support of a LOCALLY DEFINED QOS measurement is indicated in a
  5495.       RIB-Att, then the BIS shall support the Adj-RIBs-In, Adj-RIBs-Out,
  5496.       and a Loc-RIB and a FIB corresponding to this RIB-Att. A BIS may only
  5497.       include a LOCALLY DEFINED QOS measurement in a RIB-Att when its PIB
  5498.       contains the rules necessary to support this measurement.
  5499.  
  5500.       When a BIS re-distributes a route which has been learned in an UPDATE
  5501.       PDU that contains a LOCALLY DEFINED QOS path attributes, then the new
  5502.       UPDATE PDU shall contain the same QoS Value and NSAP Address Prefix
  5503.       fields in the LOCALLY DEFINED QOS path attribute, and the metric
  5504.       fields (if present) shall be modified in the following way:
  5505.  
  5506.       a)  when the route is advertised to a BIS located in the same RD as
  5507.           the advertising BIS, the metric value shall not be modified
  5508.  
  5509.       b)  when the route is advertised to a BIS located in a different RD
  5510.           from the advertising BIS, the metric value shall be modified
  5511.           according to the rules for that metric.  Rules for modifying a
  5512.           given metric value field are defined by the authority responsible
  5513.           for assigning the addresses contained in the "address" field of
  5514.           this attribute; such rules shall be specified in the PIB.
  5515.  
  5516.    7.12.12  HIERARCHICAL RECORDING
  5517.  
  5518.       The HIERARCHICAL_RECORDING attribute provides an optional means for
  5519.       members of a routeing domain confederation to control transitivity.
  5520.       The transitivity constraints are based upon two factors:
  5521.  
  5522.       a)  the value of the HIERARCHICAL ATTRIBUTE that was contained in a
  5523.           received UPDATE PDU
  5524.  
  5525.       b)  knowledge of whether it is necessary to enter or exit a
  5526.           confederation in order to reach an adjacent RD.
  5527.  
  5528.       If an RD wishes to support this attribute, then it shall obey the
  5529.       following usage rules:
  5530.  
  5531.       a)  Destination BIS in a Disjoint RDC:
  5532.  
  5533.           The HIERARCHICAL_RECORDING attribute shall not be included in an
  5534.           UPDATE PDU that is transmitted to a BIS that can be reached only
  5535.  
  5536.    Kunzinger                     ISO/IEC 10747                 [ Page 115 ]
  5537.  
  5538.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5539.  
  5540.           by exiting all of the confederations in which the advertising BIS
  5541.           resides.
  5542.  
  5543.       b)  Destination BIS in Same, Nested, or Overlapping RDC:
  5544.  
  5545.           1)  If a given BIS chooses to advertise routeing information that
  5546.               it learned from an inbound UPDATE PDU whose
  5547.               HIERARCHICAL_RECORDING attribute was equal to 1, or if it is
  5548.               the originator of the routeing information, it may advertise
  5549.               this information to BISs located in any adjacent routeing
  5550.               domain, as follows:
  5551.  
  5552.               i)  If it is necessary to enter a confederation in order to
  5553.                   reach the destination BIS, then the advertising BIS shall
  5554.                   include the HIERARCHICAL RECORDING attribute in its
  5555.                   outbound UPDATE PDU, and shall set its value to 0.
  5556.  
  5557.               ii) If the destination BIS can be reached without entering
  5558.                   any confederation, then the advertising BIS shall include
  5559.                   the HIERARCHICAL RECORDING attribute in its outbound
  5560.                   UPDATE PDU, and shall set its value to 1.
  5561.  
  5562.           2)  If a given BIS chooses to advertise routeing information that
  5563.               it learned from an inbound UPDATE PDU whose
  5564.               HIERARCHICAL_RECORDING attribute was equal to 0, it may
  5565.               advertise that information only to BISs that can be reached
  5566.               without exiting any confederation to which the advertising
  5567.               BIS belongs.  The HIERARCHICAL_RECORDING attribute shall be
  5568.               included in the outbound UPDATE PDU, and its value shall be
  5569.               set to 0.
  5570.  
  5571.    7.12.12.1  Interaction with DIST_LIST_INCL and DIST_LIST_EXCL
  5572.  
  5573.       When a given UPDATE PDU contains both the HIERARCHICAL_RECORDING
  5574.       attribute and the DIST_LIST_EXCL attribute, the constraints imposed
  5575.       by DIST_LIST_EXCL, as specified in 7.12.6, shall take precedence over
  5576.       those imposed by the HIERARCHICAL_RECORDING attribute.
  5577.  
  5578.       When a given UPDATE PDU contains both the HIERARCHICAL_RECORDING
  5579.       attribute and the DIST_LIST_INCL attribute, the constraints imposed
  5580.       by the HIERARCHICAL_RECORDING, as specified in 7.12.12, shall take
  5581.       precedence over those imposed by DIST_LIST_INCL.
  5582.  
  5583.  
  5584.    Kunzinger                     ISO/IEC 10747                 [ Page 116 ]
  5585.  
  5586.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5587.  
  5588.    7.12.13  RD_HOP_COUNT
  5589.  
  5590.       This is a well-known mandatory attribute whose usage is as follows:
  5591.  
  5592.       a)  The initial value of this attribute is 0.
  5593.  
  5594.       b)  Before sending an UPDATE PDU to a BIS located in an adjacent
  5595.           routeing domain, a BIS shall increment the value of this
  5596.           attribute by 1, and shall place the result in the RD_HOP_COUNT
  5597.           field of the outbound UPDATE PDU.
  5598.  
  5599.       c)  A BIS shall not increment the value of this attribute when it
  5600.           sends an UPDATE PDU to another BIS located in its own routeing
  5601.           domain.
  5602.  
  5603.       Note 26:  ISO 8473 limits the maximum lifetime of an NPDU to 256
  5604.                 counts, and requires each Network entity processing a given
  5605.                 NPDU to decrement that NPDU's lifetime by at least 1 count.
  5606.                 In the limiting case of one BIS per routeing domain, this
  5607.                 implies that a NPDU's lifetime will expire before it can
  5608.                 reach the 257th RD.  Hence, there is no need to provide an
  5609.                 RD_HOP_COUNT greater than 256.
  5610.  
  5611.    7.12.14  SECURITY
  5612.  
  5613.       SECURITY is a well known discretionary attribute that enables a
  5614.       Security Authority to specify security related information concerning
  5615.       a route.  The security related information is identified within the
  5616.       context of the Security Authority, which is also responsible for
  5617.       specifying its semantics. Only one security attribute may be included
  5618.       in each route.
  5619.  
  5620.       When a BIS is able to interpret and act on security related
  5621.       information specified by a given Security Authority, this may be
  5622.       signalled to adjacent BISs in a RIB-Att as specified in 6.2.  When
  5623.       support of the SECURITY attribute is indicated in a RIB-Att, then the
  5624.       BIS shall support the Adj-RIBs-In, Adj-RIBs-out, a Loc-RIB and a FIB
  5625.       corresponding to this RIB-Att.  A BIS may only include a SECURITY
  5626.       distinguishing attribute in a RIB-Att when its PIB contains the rules
  5627.       necessary to interpret and act on the security related information
  5628.       for the identified Security Authority.
  5629.  
  5630.       When a BIS re-distributes a route which has been learned in an UPDATE
  5631.       PDU that contains a SECURITY distinguishing attribute, then the new
  5632.       UPDATE PDU shall contain the same Security Authority identification
  5633.       fields, and the security related information shall be modified
  5634.  
  5635.    Kunzinger                     ISO/IEC 10747                 [ Page 117 ]
  5636.  
  5637.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5638.  
  5639.       according to the rules specified in the PIB. Any such modification
  5640.       may only reduce the protection level indicated, or add additional
  5641.       restrictions on access to the route.
  5642.  
  5643.    7.12.15  CAPACITY
  5644.  
  5645.       This is a well-known mandatory attribute that is used to denote the
  5646.       traffic handling capacity of the RD_PATH listed in the same UPDATE
  5647.       PDU.  Different routeing domains may use different values for this
  5648.       attribute: thus, the attribute shall deal in relative capacities.
  5649.  
  5650.       Note 27:  The semantics of this attribute must be agreed on a
  5651.                 bilateral basis using mechnaisms outsdide the scope of this
  5652.                 international standard before a BIS-BIS connection is
  5653.                 established.
  5654.  
  5655.       The value of capacity that is associated with a given routeing domain
  5656.       is contained in managed object capacity.
  5657.  
  5658.       If a BIS advertises a route whose destinations are located in its own
  5659.       routeing domain, then the originating BIS shall include this
  5660.       attribute in its outbound UPDATE PDUs, and its value shall be equal
  5661.       to that of managed object capacity.
  5662.  
  5663.       If a BIS redistributes a route, it shall include the CAPACITY
  5664.       attribute in its outbound UPDATE PDU, and shall reflect the higher of
  5665.       the following two quantities: the value of the CAPACITY attribute
  5666.       contained in the UPDATE PDU that advertised the route, or the value
  5667.       of local managed object capacity.
  5668.  
  5669.    7.12.16  PRIORITY
  5670.  
  5671.       This well-known discretionary attribute is a distinguishing
  5672.       attribute, used to indicate the minimum priority value that the BIS
  5673.       will support.  It is an unsigned integer in the range from 0 to 14,
  5674.       with higher priority indicated by higher values.
  5675.  
  5676.       The value of this parameter is the same for all BISs in a given
  5677.       routeing domain, and is equal to the value contained in managed
  5678.       object priority.
  5679.  
  5680.       If a BIS originates a route to destinations located in its own
  5681.       routeing domain, then the originating BIS may include this attribute
  5682.       in its outbound UPDATE PDUs; if present, its value shall be equal to
  5683.       that of managed object priority.
  5684.  
  5685.    Kunzinger                     ISO/IEC 10747                 [ Page 118 ]
  5686.  
  5687.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5688.  
  5689.       If a BIS redistributes a route that was advertised with the PRIORITY
  5690.       attribute present, it shall include the PRIORITY attribute in its
  5691.       outbound UPDATE PDU, and shall set its value equal to the higher of
  5692.       the following two quantities: the value of the PRIORITY attribute
  5693.       contained in the UPDATE PDU that advertised the route, or the value
  5694.       of local managed object priority.
  5695.  
  5696.    7.13  Routeing domain confederations
  5697.  
  5698.       Formation of an RDC is done via a private arrangement between its
  5699.       members without any need for global coordination; the methods for
  5700.       doing so are not within the scope of this international standard.
  5701.  
  5702.       From the outside, an RDC looks similar to a single routeing domain:
  5703.       for example, it has an identifier which is an RDI.  Other RDs can
  5704.       develop policies with respect to the confederation as a whole, as
  5705.       opposed to the individual RDs that are members of the confederation.
  5706.       Confederations can be disjoint, nested, or overlapping (see 3.6).
  5707.  
  5708.    7.13.1  RDC policies
  5709.  
  5710.       Each RD within a confederation may have its own set of policies; that
  5711.       is, different RDs in the same confederation can have different
  5712.       policies.  For BISs located within the same RD, the methods of
  5713.       clauses 7.15.1 will detect both internal and external routeing
  5714.       inconsistencies.
  5715.  
  5716.       Since a confederation appears to the external world as if it were an
  5717.       individual RD, IDRP's loop detection methods will detect routeing
  5718.       information loops through a given confederation.  In particular, a
  5719.       route which leaves the confederation and then later re-enters it will
  5720.       be detected as a loop: thus, a route between two RDs that are members
  5721.       of the same confederation will be constrained to remain within that
  5722.       confederation.
  5723.  
  5724.    7.13.2  RDC configuration information
  5725.  
  5726.       Each BIS that participates in one or more RDCs must be aware of the
  5727.       RDIs of all confederations of which it is a member, and it must know
  5728.       the partial order which prevails between these confederations: that
  5729.       is, it must know the nesting and overlap relationships between all
  5730.       confederations to which it belongs.  This information shall be
  5731.       contained in managed object rdcConfig, which consists of a list of
  5732.  
  5733.    Kunzinger                     ISO/IEC 10747                 [ Page 119 ]
  5734.  
  5735.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5736.  
  5737.       confederation RDIs and the partial order that prevails among those
  5738.       confederations.
  5739.  
  5740.       Since RDCs are formed via private arrangement between their members,
  5741.       the partial order of a given confederation is a local matter for that
  5742.       confederation, and bears no relationship to the partial orders that
  5743.       may prevail in different confederations.  The RDI of its own routeing
  5744.       domain is contained in managed object localRDI, as defined in 7.3.
  5745.  
  5746.    7.13.3  Detecting confederation boundaries
  5747.  
  5748.       A given BIS can tell which confederations are common to itself and an
  5749.       adjacent BIS by comparing information obtained from the Confed-IDs
  5750.       field of the adjacent BIS's OPEN PDU with the local BIS's rdcConfig
  5751.       managed object.  This knowledge determines when an outbound UPDATE
  5752.       PDU exits a given confederation and when an inbound UPDATE PDU enters
  5753.       a given confederation:
  5754.  
  5755.       Exiting a Confederation: An UPDATE PDU sent by a given BIS to an
  5756.         adjacent BIS is defined to have exited all those confederations
  5757.         whose RDIs are present in the advertising BIS's rdcConfig managed
  5758.         object but were not reported in the Confed-IDs field of the
  5759.         adjacent BIS's OPEN PDU.
  5760.  
  5761.       Entering a Confederation: An UPDATE PDU received from an adjacent BIS
  5762.         is defined to have entered all those confederations whose RDIs are
  5763.         present in the receiving BIS's rdcConfig managed object but were
  5764.         not reported in the Confed-IDs field of the sending BIS's OPEN PDU.
  5765.  
  5766.    7.14  Update-Receive process
  5767.  
  5768.       The Update-Receive process is initiated when an UPDATE PDU with no
  5769.       errors is received while the FSM is in the ESTABLISHED state.  When
  5770.       this occurs, the BIS shall update the appropriate Adj-RIB-In.
  5771.  
  5772.       For each feasible route, the Adj-RIB-In is identified by the set of
  5773.       distinguishing path attributes contained between consecutive
  5774.       instances of ROUTE_SEPARATORs or between the last ROUTE_SEPARATOR and
  5775.       the end of the UPDATE PDU.  For an unfeasible route, the Adj-RIB-In
  5776.       is identified by the ROUTE-ID carried in the WITHDRAWN ROUTES field
  5777.       of the UPDATE PDU.  The actions to be taken for each route are:
  5778.  
  5779.       a)  If the UPDATE PDU contains a non-empty WITHDRAWN ROUTES field,
  5780.           the previously advertised feasible routes associated with the
  5781.           ROUTE-IDs contained in this field shall be removed from the
  5782.  
  5783.    Kunzinger                     ISO/IEC 10747                 [ Page 120 ]
  5784.  
  5785.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5786.  
  5787.           Adj-RIB-In.  The BIS shall run its Decision Process since the
  5788.           previously advertised route is no longer available for use.
  5789.  
  5790.       b)   If the UPDATE PDU contains feasible routes, they shall each be
  5791.           placed in the appropriate Adj-RIB-In, and the following
  5792.           additional actions shall be taken for each route:
  5793.  
  5794.           1)  If its NLRI and distinguishing attributes are identical to
  5795.               those of a route currently stored in the Adj-RIB-In, then the
  5796.               new route shall replace the older route in the Adj-RIB-In,
  5797.               thus implicitly withdrawing the older route from service.
  5798.               The BIS shall run its Decision Process since the older route
  5799.               is no longer available for use.
  5800.  
  5801.           2)  If the new route is an overlapping route that is more
  5802.               specific (see 7.16.3.1) than an earlier route contained in
  5803.               the Adj-RIB-In, and the non-distinguishing path attributes of
  5804.               the new route differ from those of the earlier route, the BIS
  5805.               shall run its Decision Process since the more specific route
  5806.               has implicitly made a portion of the less specific route
  5807.               unavailable for use.
  5808.  
  5809.           3)  If the new route has identical path attributes (both
  5810.               distinguishing and non-distinguishing) to an earlier route
  5811.               contained in the Adj-RIB-In, and is more specific (see
  5812.               7.16.3.1) than the earlier route, no further actions are
  5813.               necessary.
  5814.  
  5815.           4)  If a new route has different NLRI from any of the routes
  5816.               currently in the Adj-RIB-In, it shall be placed in the
  5817.               Adj-RIB-In.
  5818.  
  5819.           5)  If a new route is an overlapping route that is less specific
  5820.               (see 7.16.3.1) than an earlier route in an Adj-RIB-In, the
  5821.               BIS shall place the new route in the appropriate Adj-RIB-In.
  5822.               The earlier, more specific route remains unaffected.
  5823.  
  5824.    7.15  Information consistency
  5825.  
  5826.       Correct operation of this protocol requires that all BISs within a
  5827.       routeing domain apply a consistent set of policies for calculating
  5828.       the degree of preference for an RD-path.  An internal inconsistency
  5829.       can occur when there is more than a single path to a particular
  5830.       destination.  The hop-by-hop routeing methodology then requires a BIS
  5831.       to select only one of these paths for each distinguishable QOS
  5832.       category.  Internal inconsistency arises if different BISs within the
  5833.  
  5834.    Kunzinger                     ISO/IEC 10747                 [ Page 121 ]
  5835.  
  5836.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5837.  
  5838.       same routeing domain make different selections when presented with
  5839.       exactly the same set of routeing information.
  5840.  
  5841.    7.15.1  Detecting inconsistencies
  5842.  
  5843.       The Update-Receive and Update-Send processes of each BIS shall
  5844.       support the LOCAL_PREF field of the ROUTE_SEPARATOR attribute, which
  5845.       is a well-known discretionary attribute.  Its value shall be set to
  5846.       zero in UPDATE PDUs transmitted to BISs that are located in adjacent
  5847.       routeing domains.  In UPDATE PDUs transmitted to BISs that are
  5848.       located in the same routeing domain as the local BIS, its value shall
  5849.       be set to the degree of preference for the route as computed by the
  5850.       advertising (local) BIS.
  5851.  
  5852.       A BIS shall detect inconsistent routeing decisions (and, therefore,
  5853.       internal inconsistencies) by calculating a degree of preference for
  5854.       each route carried in an UPDATE PDU that it receives as part of the
  5855.       internal update process (see 7.17.1).  If the degree of preference
  5856.       calculated by the local BIS is different from the value carried in
  5857.       the LOCAL_PREF field of the UPDATE PDU's ROUTE_SEPARATOR attribute,
  5858.       the routeing policies of the two BISs have internal inconsistencies.
  5859.       The BIS that detects the inconsistency shall report it to system
  5860.       management.
  5861.  
  5862.    7.16  Decision process
  5863.  
  5864.       The Decision Process selects routes for subsequent advertisement by
  5865.       applying the policies in its Policy Information Base to the routes
  5866.       stored in its Adj-RIBs-In.  The output of the Decision Process is the
  5867.       set of routes that will be advertised to adjacent BISs; the selected
  5868.       routes will be stored in the local BIS's Loc-RIBs and Adj-RIBs-Out.
  5869.  
  5870.       The selection process is formalized by defining a function that takes
  5871.       the attributes of a given route as an argument and returns a
  5872.       non-negative integer denoting the degree of preference for the route.
  5873.       The function that calculates the degree of preference for a given
  5874.       route shall not use as its inputs any of the following: the existence
  5875.       of other routes, the non-existence of other routes, or the path
  5876.       attributes of other routes.  Route selection then consists of
  5877.       individual application of the degree of preference function to each
  5878.       feasible route, followed by the choice of the one with the highest
  5879.       degree of preference.
  5880.  
  5881.       Routes that could form routeing loops must be ignored by the Decision
  5882.       Process. Therefore, any route that was a) received from a BIS located
  5883.  
  5884.    Kunzinger                     ISO/IEC 10747                 [ Page 122 ]
  5885.  
  5886.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5887.  
  5888.       in an adjacent routeing domain and b) contains in its RD_PATH
  5889.       attribute a path segment of type RD_SEQ or RD_SET that contains the
  5890.       RDI of the local routeing domain or any RDC of which the local RD is
  5891.       a member is unfeasible, and shall be discarded by the Decision
  5892.       Process.
  5893.  
  5894.       IDRP does not require a universally agreed-upon metric to exist
  5895.       between multiple RDs.  Instead, IDRP allows each RD to apply its own
  5896.       set of criteria for route selection, as determined by its local PIB.
  5897.       An example of the syntax and semantics of a routeing policy that
  5898.       could be used to calculate a degree of preference is described in
  5899.       informative Annex L.
  5900.  
  5901.       The Decision process operates on routes contained in each Adj-RIB-In,
  5902.       and is responsible for:
  5903.  
  5904.       -   selection of routes to be advertised to BISs located in local
  5905.           BIS's routeing domain
  5906.       -   selection of routes to be advertised to BISs located in adjacent
  5907.           routeing domains
  5908.       -   route aggregation and route information reduction
  5909.  
  5910.       The Decision process takes place in three distinct phases, each
  5911.       triggered by a different event:
  5912.  
  5913.       a)  Phase 1 is responsible for calculating the degree of preference
  5914.           for each route received from a BIS located in an adjacent
  5915.           routeing domain, and for advertising to the other BISs in the
  5916.           local Routing Domain the routes that have the highest degree of
  5917.           preference for each distinct destination.
  5918.  
  5919.       b)  Phase 2 is invoked on completion of Phase 1. It is responsible
  5920.           for choosing the best route out of all those available for each
  5921.           distinct destination, and for installing each chosen route into
  5922.           the appropriate Loc-RIB.
  5923.  
  5924.       c)  Phase 3 is invoked after the Loc-RIB has been modified.  It is
  5925.           responsible for disseminating routes in the Loc-RIB to each
  5926.           adjacent BIS located in an adjacent routeing domain, according to
  5927.           the policies contained in the PIB. Route aggregation, information
  5928.           reduction and the modification of QOS path attributes can
  5929.           optionally be performed within this phase.
  5930.  
  5931.  
  5932.  
  5933.    Kunzinger                     ISO/IEC 10747                 [ Page 123 ]
  5934.  
  5935.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5936.  
  5937.    7.16.1  Phase 1: calculation of degree of preference
  5938.  
  5939.       The Phase 1 decision function shall be invoked whenever the local BIS
  5940.       receives an UPDATE PDU from a neighbor BIS that advertises a new
  5941.       route, a replacement route, or a withdrawn route.
  5942.  
  5943.       The Phase 1 decision function is a separate process which completes
  5944.       when it has no further work to do.
  5945.  
  5946.       The Phase 1 decision function shall be blocked from running while the
  5947.       Phase 2 decision function for the same RIB-Att is in process.
  5948.  
  5949.       The Phase 1 decision function shall lock an Adj-RIB-In prior to
  5950.       operating on any route contained within it, and shall unlock it after
  5951.       operating on all new or unfeasible routes contained within it.
  5952.  
  5953.       For each newly received or replacement feasible route, the local BIS
  5954.       shall compute a degree of preference.  Then, the local BIS shall run
  5955.       the internal update process of 7.17.1 to select and advertise the
  5956.       most preferable routes.
  5957.  
  5958.       A route received from another BIS in the local routeing domain always
  5959.       carries the degree of preference calculated by that BIS in the
  5960.       LOCAL_PREF field of the ROUTE_SEPARATOR attribute.  If the value in
  5961.       the LOCAL_PREF field differs from the degree of preference computed
  5962.       above, then an internal inconsistency has occurred, and the local BIS
  5963.       shall report it to system management.
  5964.  
  5965.    7.16.2  Phase 2: route selection
  5966.  
  5967.       The Phase 2 decision function shall be invoked on completion of Phase
  5968.       1.  The Phase 2 function is a separate process which completes when
  5969.       it has no further work to do.  The Phase 2 process shall consider all
  5970.       routes that are present in the Adj-RIBs-In, including those received
  5971.       from BISs located in its own routeing domain and those received from
  5972.       BISs located in adjacent routeing domains.
  5973.  
  5974.       The Phase 2 decision function shall be blocked from running while the
  5975.       Phase 3 decision function is in process.  The Phase 2 function shall
  5976.       lock all Adj-RIBs-In with the RIB- Att associated with this instance
  5977.       of the process prior to commencing its function, and shall unlock
  5978.       them on completion.
  5979.  
  5980.       For each set of destinations for which a feasible route exists in the
  5981.       Adj-RIBs-In identified by the RIB-Att on which this instance of the
  5982.       function operates, the local BIS shall identify the route that has:
  5983.  
  5984.    Kunzinger                     ISO/IEC 10747                 [ Page 124 ]
  5985.  
  5986.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  5987.  
  5988.       a)  the highest degree of preference of any route to the same set of
  5989.           destinations, or
  5990.  
  5991.       b)  is the only route to that destination, or
  5992.  
  5993.       c)  is selected as a result of the Phase 2 tie breaking rules
  5994.           specified in 7.16.2.1.
  5995.  
  5996.       The local BIS shall then install that route in the Loc-RIB, replacing
  5997.       any route to the same destination that is currently held in the
  5998.       Loc-RIB.
  5999.  
  6000.       When the RIB-Att includes the priority attribute then all routes with
  6001.       the same NLRI shall be copied to the Loc-RIB unless their computed
  6002.       preference is less than another such route with the same or lower
  6003.       priority.
  6004.  
  6005.       When the RIB-Att includes the SECURITY attribute then all routes with
  6006.       the same NLRI shall be copied to the Loc-RIB unless their computed
  6007.       preference is less than another such route which the applicable PIB
  6008.       Security Policy rules identify as providing equivalent or poorer
  6009.       protection and are usable by the same or more NPDUs.
  6010.  
  6011.       If a route copied to a Loc-RIB does not have a NEXT_HOP path
  6012.       attribute, then the local BIS shall add that attribute to the entry
  6013.       in the Loc-RIB. The value of the attribute shall be the NET of the
  6014.       adjacent BIS from which the route was received.
  6015.  
  6016.       Unfeasible routes shall be removed from the Loc-RIB, and
  6017.       corresponding unfeasible routes shall then be removed from the
  6018.       Adj-RIBs-In.
  6019.  
  6020.       Note 28:  The decision process should not select a route to
  6021.                 destinations located within the local routeing domain if
  6022.                 that route would exit the local routeing domain and later
  6023.                 re-enter it.  Such routes would be rejected by other RDs
  6024.                 due to the existence of an RD-loop.  Furthermore, the IDRP
  6025.                 CLNS Forwarding Process will not forward NPDUs (destined to
  6026.                 internal destinations) outside of the local RD, but will
  6027.                 instead hand them over to the intra-domain routeing
  6028.                 protocol.
  6029.  
  6030.  
  6031.  
  6032.    Kunzinger                     ISO/IEC 10747                 [ Page 125 ]
  6033.  
  6034.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6035.  
  6036.    7.16.2.1  Breaking ties (phase 2)
  6037.  
  6038.       In its Adj-RIBs-In, a BIS may have several routes to the same
  6039.       destination that have the same degree of preference and also have an
  6040.       equivalent set of distinguishing attributes.  The local BIS can
  6041.       select only one of these routes for inclusion in the associated
  6042.       Loc-RIB.  The local BIS considers all equally preferable routes, both
  6043.       those received from BISs located in adjacent RDs and those received
  6044.       from other BISs located in the local BIS's own RD.
  6045.  
  6046.       Ties shall be broken according to the following rules:
  6047.  
  6048.       a)  If the candidate routes have identical path attributes or differ
  6049.           only in the NEXT_HOP attribute, select the route that was
  6050.           advertised by the BIS in an adjacent routeing domain whose NET
  6051.           has the lowest value.  If none of the candidate routes were
  6052.           received from a BIS located in an adjacent routeing domain,
  6053.           select the route that was advertised by the BIS in the local
  6054.           routeing domain whose NET has the lowest value.
  6055.  
  6056.       b)  If all candidate routes contain the MULTI-EXIT_DISC attribute,
  6057.           the candidate routes differ only in their NEXT_HOP and
  6058.           MULTI-EXIT_DISC attributes, and the local BIS's managed object
  6059.           multiExit is TRUE, select the route that has the lowest value of
  6060.           the MULTI-EXIT_DISC attribute.  If multiple candidate routes
  6061.           remain, select the route that was advertised by the BIS whose NET
  6062.           has the lowest value.
  6063.  
  6064.           If the managed object multiExit is false, select the route
  6065.           advertised by the BIS in an adjacent RD whose NET has the lowest
  6066.           value.  If none of the candidate routes were received from a BIS
  6067.           located in an adjacent routeing domain, select the route that was
  6068.           advertised by the BIS in the local routeing domain whose NET has
  6069.           the lowest value.
  6070.  
  6071.       c)  If the candidate routes differ in any path attributes other than
  6072.           NEXT_HOP and MULTI-EXIT_DISC, select the route that was
  6073.           advertised by the BIS whose NET has the lowest value.  When
  6074.           comparing NETs, if one of the candidate routes was received from
  6075.           a BIS in an adjacent routeing domain, use the NET of the local
  6076.           BIS for the comparison.
  6077.  
  6078.       For purposes of determining the lowest-valued NET, each
  6079.       binary-encoded NET shall be padded with trailing 0's in order to
  6080.       bring its length up to 20 octets.  The encoded (and possibly padded)
  6081.       NETs shall then be treated as unsigned binary integers.
  6082.  
  6083.    Kunzinger                     ISO/IEC 10747                 [ Page 126 ]
  6084.  
  6085.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6086.  
  6087.    7.16.3  Phase 3: route dissemination
  6088.  
  6089.       The Phase 3 decision function shall be invoked on completion of Phase
  6090.       2, or when any of the following events occur:
  6091.  
  6092.       a)  when routes in a Loc-RIB to local destinations have changed
  6093.  
  6094.       b)  when locally generated routes with the EXT_INFO attribute (that
  6095.           is, routes learned by means outside of IDRP) have changed
  6096.  
  6097.       c)  when a new BIS-BIS connection has been established
  6098.  
  6099.       d)  when directed to do so by system management.
  6100.  
  6101.       The Phase 3 function is a separate process which completes when it
  6102.       has no further work to do.
  6103.  
  6104.       The Phase 3 Routing Decision function shall be blocked from running
  6105.       while the Phase 2 decision function is in process.
  6106.  
  6107.       All routes in the Loc-RIB shall be processed into a corresponding
  6108.       entry in the associated Adj-RIBs-Out and FIBs (which are identified
  6109.       by the same RIB-Att), replacing the current entries., The path
  6110.       attributes are updated in accordance with the appropriate subclause
  6111.       of 7.12.  Route aggregation and information reduction techniques (see
  6112.       7.18──7.18.2.3) may optionally be applied.  Routes with identical
  6113.       NLRI extracted from the same Loc-RIB shall always be aggregated
  6114.       before being copied to an Adj-RIB-Out, and may be aggregated with
  6115.       other routes according to the local Routing Policy.  Every FIB shall
  6116.       have an entry for every destination for which a route exists in a
  6117.       Loc-RIB.
  6118.  
  6119.       A locking scheme should be implemented to prevent simultaneous access
  6120.       to an FIB by both the phase 3 function and forwarding engine.  The
  6121.       phase 3 function should first lock an FIB before entering, replacing
  6122.       or deleting an entry, and then unlock that FIB once the operation is
  6123.       complete.
  6124.  
  6125.       When the updating of the Adj-RIBs-Out and the FIBs is complete, the
  6126.       local BIS shall run the external update process of 7.17.2.
  6127.  
  6128.  
  6129.  
  6130.    Kunzinger                     ISO/IEC 10747                 [ Page 127 ]
  6131.  
  6132.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6133.  
  6134.    7.16.3.1  Overlapping routes
  6135.  
  6136.       A BIS may transmit routes with overlapping NLRI to another BIS.  NLRI
  6137.       overlap occurs when a set of destinations are identified in
  6138.       non-matching multiple routes, all of which have the same set of
  6139.       distinguishing attributes.  Since IDRP encodes NLRI using prefixes,
  6140.       overlaps will always exhibit subset relationships.  A route
  6141.       describing a smaller set of destinations (a longer prefix) is said to
  6142.       be more specific than a route describing a larger set of destinations
  6143.       (a shorter prefix); similarly, a route describing a larger set of
  6144.       destinations (a shorter prefix) is said to be less specific than a
  6145.       route describing a smaller set of destinations (a longer prefix).
  6146.  
  6147.       When overlapping routes are present in the same Adj-RIB-In, the more
  6148.       specific routes shall take precedence, in order from most specific to
  6149.       least specific.
  6150.  
  6151.       This precedence relationship effectively decomposes less specific
  6152.       routes into two parts:
  6153.  
  6154.       -   a set of destinations described only by the less specific route,
  6155.           and
  6156.       -   a set of destinations described by the overlap of the less
  6157.           specific and the more specific routes
  6158.  
  6159.       The set of destinations described by the overlap represent a portion
  6160.       of the less specific route that is feasible, but is not currently in
  6161.       use.  If a more specific route is later withdrawn, the set of
  6162.       destinations described by the overlap will still be reachable using
  6163.       the less specific route.
  6164.  
  6165.       If a BIS receives overlapping routes from a given neighbor, the
  6166.       Decision Process shall not simultaneously reject the more specific
  6167.       route from neighbor BIS (A) and install A's less specific route
  6168.       unless the contents of the local BIS's Adj-RIBs-Out and FIBs insure
  6169.       that NPDUs with destinations listed in the NLRI of A's more specific
  6170.       route can not be forwarded to the neighbor BIS (A).
  6171.  
  6172.       Therefore, when presented with overlapping routes from a given
  6173.       neighbor BIS (A), the local BIS could select any of the following
  6174.       options, all of which satisfy the criterion stated above:
  6175.  
  6176.       a)  Install both the less specific and more specific routes received
  6177.           from the given neighbor (A)
  6178.       b)  Install the more specific route received from the given neighbor
  6179.           (A) and reject A's less specific route
  6180.  
  6181.    Kunzinger                     ISO/IEC 10747                 [ Page 128 ]
  6182.  
  6183.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6184.  
  6185.       c)  Install the non-overlapping part of the less specific and more
  6186.           specific routes received from the given neighbor (A)
  6187.       d)  Install a route formed by the aggregation of the less specific
  6188.           and the more specific route received from the given neighbor (A)
  6189.       e)  Install the less specific route received from the given neighbor
  6190.           (A), and also install another route received from a different
  6191.           neighbor (B) that is simultaneously:
  6192.           1)  more specific than A's less specific route, and
  6193.           2)  less specific than A's more specific route.
  6194.       f)  Install neither of the routes received from A.
  6195.  
  6196.    7.16.4  Interaction with update process
  6197.  
  6198.       Since the Adj-RIBs-In are used both to receive inbound UPDATE PDUs
  6199.       and to provide input to the Decision Process, care must be taken that
  6200.       their contents are not modified while the Decision Process is
  6201.       running.  That is, the input to the Decision Process shall remain
  6202.       stable while a computation is in progress.
  6203.  
  6204.       Two examples of approaches that could be taken to accomplish this:
  6205.  
  6206.       a)  The Decision Process can signal when it is running.  During this
  6207.           time, any incoming UPDATE PDUs will be queued and will not be
  6208.           written into the Adj-RIBs-In.  If more UPDATE PDUs arrive than
  6209.           can be fit into the allotted queue, they will be dropped and will
  6210.           not be acknowledged.
  6211.  
  6212.       b)  A BIS can maintain two copies of the Adj-RIBs-In──one used by the
  6213.           Decision Process for its computation (call this the Comp-Adj-RIB)
  6214.           and the other to receive inbound UPDATE PDUs (call this the
  6215.           Holding-Adj-RIB).  Each time the Decision begins a new
  6216.           computation, the contents of the Holding-Adj-RIB will be copied
  6217.           to the Comp-Adj-RIB: that is, the a snapshot of the Comp-Adj-RIB
  6218.           is used as the input for the Decision Process.  The contents of
  6219.           the Comp-Adj-RIB remain stable until a new computation is begun.
  6220.  
  6221.       The advantage of the first approach is that it takes less memory; the
  6222.       advantage of the second  is that inbound UPDATE PDUs will not be
  6223.       dropped.  This international standard does not mandate the use of
  6224.       either of these methods.  Any method that guarantees that the input
  6225.       data to the Decision Process will remain stable while a computation
  6226.       is in progress and that is consistent with the conformance
  6227.       requirements of this international standard may be used.
  6228.  
  6229.  
  6230.    Kunzinger                     ISO/IEC 10747                 [ Page 129 ]
  6231.  
  6232.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6233.  
  6234.    7.17  Update-Send process
  6235.  
  6236.       The Update-Send process is responsible for advertising BISPDUs to
  6237.       adjacent BISs.  For example, it distributes the routes chosen by the
  6238.       Decision Process to other BISs which may be located in either the
  6239.       same RD or an adjacent RD.  Rules for information exchange between
  6240.       BIS located in different routeing domains are given in 7.17.2; rules
  6241.       for information exchange between BIS located in the same domain are
  6242.       given in 7.17.1.
  6243.  
  6244.       Distribution of reachability information between a set of BISs, all
  6245.       of which are located in the same routeing domain, is referred to as
  6246.       internal distribution.  All BISs located in a single RD must present
  6247.       consistent reachability information to adjacent RDs, thus requiring
  6248.       that they have consistent routeing and policy information among them.
  6249.  
  6250.       Note 29:  This requirement on consistency does not preclude an RD
  6251.                 from distributing different reachability information to
  6252.                 each of its adjacent routeing domains.  It does mean that
  6253.                 all of a domain's BISs which are attached to a given
  6254.                 adjacent domain must provide identical reachability to that
  6255.                 domain.
  6256.  
  6257.       When this protocol is run between BISs located in different routeing
  6258.       domains, the communicating BISs must be located in adjacent routeing
  6259.       domains──that is, they must be attached to a common subnetwork.
  6260.  
  6261.    7.17.1  Internal updates
  6262.  
  6263.       The internal update process is concerned with the distribution of
  6264.       routeing information to BISs located in the local BIS's own routeing
  6265.       domain.  Each BIS selects the most preferable route, if any, that it
  6266.       has received from a BIS in an adjacent routeing domain, and
  6267.       distributes that route to every other BIS in its own routeing domain.
  6268.       This process ensures that all BISs in a routeing domain will select
  6269.       the same set of routes.
  6270.  
  6271.       The following procedures shall be applied separately for each set of
  6272.       Distinguishing Attributes supported by the BIS:
  6273.  
  6274.       a)  When a BIS receives an UPDATE PDU from another BIS located in its
  6275.           own routeing domain, the receiving BIS shall not re-distribute
  6276.           the routeing information contained in that UPDATE PDU to other
  6277.           BISs located in its own routeing domain.
  6278.  
  6279.  
  6280.    Kunzinger                     ISO/IEC 10747                 [ Page 130 ]
  6281.  
  6282.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6283.  
  6284.       b)  When a BIS receives a new feasible route from a BIS in an
  6285.           adjacent routeing domain, it shall advertise that route to all
  6286.           other BISs in its routeing domain by means of an UPDATE PDU if
  6287.           any of the following conditions occur:
  6288.  
  6289.           1)  the degree of preference assigned to the newly received route
  6290.               by the  local BIS is higher than the degrees of preference
  6291.               that the local BIS has assigned to other routes──with the
  6292.               same destinations and the same Distinguishing
  6293.               Attributes──that have been received from BISs in adjacent
  6294.               routeing domains.
  6295.  
  6296.           2)  there are no other routes──with the same destinations and the
  6297.               same Distinguishing Attributes──that have been received from
  6298.               BISs in adjacent routeing domains.
  6299.  
  6300.           3)  the newly received route is selected as a result of breaking
  6301.               a tie between several routes that were received from BISs in
  6302.               adjacent routeing domains and that have the highest degree of
  6303.               preference, the same destinations, and the same
  6304.               distinguishing attributes (see 7.17.1.1).
  6305.  
  6306.       c)  When a BIS receives an UPDATE PDU with a non-empty WITHDRAWN
  6307.           ROUTES field, it shall remove from its Adj-RIBs-In all routes
  6308.           whose ROUTE-ID was carried in this field.  The BIS shall take the
  6309.           following additional steps:
  6310.  
  6311.           1)  if the corresponding feasible route had not been previously
  6312.               advertised, then no further action is necessary
  6313.  
  6314.           2)  if the corresponding feasible route had been previously
  6315.               advertised, then:
  6316.  
  6317.               i)  if a new route is selected for advertisement that has the
  6318.                   same distinguishing attributes and NLRI as the unfeasible
  6319.                   route, then the local BIS shall advertise the replacement
  6320.                   route
  6321.  
  6322.               ii) if a replacement route is not available for
  6323.                   advertisement, then the BIS shall include the ROUTE-ID of
  6324.                   the unfeasible route in the WITHDRAWN ROUTES field of an
  6325.                   UPDATE PDU, and shall send this PDU to each neighbor BIS
  6326.                   to whom it had previously advertised the corresponding
  6327.                   feasible route.
  6328.  
  6329.  
  6330.    Kunzinger                     ISO/IEC 10747                 [ Page 131 ]
  6331.  
  6332.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6333.  
  6334.       All feasible routes which are advertised shall be placed in the
  6335.       appropriate Adj-RIB-Out, and all unfeasible routes which are
  6336.       advertised shall be removed from the Adj-RIBs-Out.
  6337.  
  6338.    7.17.1.1  Breaking ties (internal updates)
  6339.  
  6340.       If a local BIS has connections to several BISs in adjacent domains,
  6341.       there will be multiple Adj-RIBs-In associated with these neighbors.
  6342.       These Adj-RIBs-In might contain several equally preferable routes to
  6343.       the same destination, all of which have the same set of
  6344.       distinguishing attributes and all of which were advertised by BISs
  6345.       located in adjacent routeing domains.  The local BIS shall select one
  6346.       of these routes, according to the following rules:
  6347.  
  6348.       a)  If all candidate routes contain the MULTI-EXIT_DISC attribute,
  6349.           the candidate routes differ only in their NEXT_HOP and
  6350.           MULTI-EXIT_DISC attributes, and the local BIS's managed object
  6351.           Multiexit is TRUE, select the route that has the lowest value of
  6352.           the MULTI-EXIT_DISC attribute.  If multiple candidate routes
  6353.           remain, select the route that was advertised by the BIS whose NET
  6354.           has the lowest value.
  6355.       b)  In all other cases, select the route that was advertised by the
  6356.           BIS whose NET has the lowest value.
  6357.  
  6358.       For purposes of determining the lowest-valued NET, each
  6359.       binary-encoded NET shall be padded with trailing 0's in order to
  6360.       bring its length up to 20 octets.  The encoded (and possibly padded)
  6361.       NETs shall then be treated as unsigned binary integers.
  6362.  
  6363.    7.17.2  External updates
  6364.  
  6365.       The external update process is concerned with the distribution of
  6366.       routeing information to BISs located in adjacent routeing domains.
  6367.       As part of the Phase 3 route selection process, the BIS has updated
  6368.       its Adj-RIBs-Out and its FIBs.  All newly installed routes and all
  6369.       newly unfeasible routes for which there is no replacement route shall
  6370.       be advertised to BISs located in adjacent routeing domains by means
  6371.       of UPDATE PDUs.
  6372.  
  6373.       Any routes in the Loc-RIB marked as infeasible shall be removed.
  6374.       Changes to the reachable destinations within its own RD shall also be
  6375.       advertised in an UPDATE PDU.
  6376.  
  6377.       However, advertisement of a given UPDATE PDU shall not violate any
  6378.       distribution constraint imposed by the path attributes of the route
  6379.  
  6380.    Kunzinger                     ISO/IEC 10747                 [ Page 132 ]
  6381.  
  6382.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6383.  
  6384.       contained therein.  (For example, DIST_LIST_INCL, DIST_LIST_EXCL, and
  6385.       HIERARCHICAL _RECORDING are attributes that impose distribution
  6386.       constraints on the UPDATE PDU that contains them.)
  6387.  
  6388.       A BIS shall not propagate an UPDATE PDU that contains a set of
  6389.       distinguishing path attributes that were not listed in the
  6390.       RIB-AttsSet field of the neighbor BIS's OPEN PDU.  If such
  6391.       distinguishing attributes are advertised, it will cause the BIS-BIS
  6392.       connection to be closed, as described in 7.20.3.
  6393.  
  6394.    7.17.3  Controlling routeing traffic overhead
  6395.  
  6396.       The inter-domain routeing protocol constrains the amount of routeing
  6397.       traffic (that is, BISPDUs) in order to limit both the link bandwidth
  6398.       needed to advertise BISPDUs and the processing power needed by the
  6399.       Decision Process to digest the information contained in the BISPDUs.
  6400.  
  6401.    7.17.3.1  Frequency of route advertisement
  6402.  
  6403.       The managed object minRouteAdvertisementInterval determines the
  6404.       minimum amount of time that must elapse between advertisements of
  6405.       routes to a particular destination from a single BIS.  This rate
  6406.       limiting procedure applies on a per-destination basis, although the
  6407.       value of minRouteAdvertisementInterval is set on a per-BIS basis.
  6408.  
  6409.       Two UPDATE PDUs sent from a single BIS that advertise feasible routes
  6410.       to some common set of destinations received from BISs in other
  6411.       routeing domains must be separated in time by at least
  6412.       minRouteAdvertisementInterval.  For example, any technique that
  6413.       ensures that the separation will be between one and two times the
  6414.       value minRouteAdvertisementInterval is acceptable.
  6415.  
  6416.       Since fast convergence is needed within an RD, this procedure does
  6417.       not apply for routes received from other BISs in the same routeing
  6418.       domain.  To avoid long-lived black holes, the procedure does not
  6419.       apply to the explicit withdrawal of unfeasible routes (that is,
  6420.       routes whose ROUTE_ID is listed in the Withdrawn Routes field of an
  6421.       UPDATE PDU).
  6422.  
  6423.       This procedure does not limit the rate of route selection, but only
  6424.       the rate of route advertisement.  If new routes are selected multiple
  6425.       times while awaiting the expiration of minRouteAdvertisementInterval,
  6426.       the last route selected shall be advertised at the end of
  6427.       minRouteAdvertisementInterval.
  6428.  
  6429.    Kunzinger                     ISO/IEC 10747                 [ Page 133 ]
  6430.  
  6431.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6432.  
  6433.    7.17.3.2  Frequency of route origination
  6434.  
  6435.       The architectural constant MinRDOriginationInterval determines the
  6436.       minimum amount of time that must elapse between successive
  6437.       advertisements of UPDATE PDUs that report changes within the
  6438.       advertising BIS's own routeing domain.
  6439.  
  6440.    7.17.3.3  Jitter
  6441.  
  6442.       To minimize the likelihood that the distribution of BISPDUs by a
  6443.       given BIS will contain peaks, jitter should be applied to the timers
  6444.       associated with minRouteAdvertisementInterval and
  6445.       MinRDOriginationInterval.  A given BIS shall apply the same jitter to
  6446.       each of these quantities regardless of the destinations to which the
  6447.       updates are being sent: that is, jitter will not be applied on a "per
  6448.       peer" basis.
  6449.  
  6450.       The amount of jitter to be introduced shall be determined by
  6451.       multiplying the base value in the appropriate managed object by a
  6452.       random factor which is uniformly distributed in the range from 1-J to
  6453.       1, where J is the value of the architectural constant Jitter.  The
  6454.       result shall be rounded up to the nearest 100 millisecond increment.
  6455.  
  6456.       An example of a suitable algorithm is shown in informative Annex E,
  6457.       using the architectural constant jitter.
  6458.  
  6459.    7.18  Efficient organization of routeing information
  6460.  
  6461.       Having selected the routeing information which it will advertise, a
  6462.       BIS may avail itself of several methods to organize this information
  6463.       in an efficient manner.
  6464.  
  6465.    7.18.1  Information reduction
  6466.  
  6467.       Information reduction may imply a reduction in granularity of policy
  6468.       control──after information is collapsed, the same policies will apply
  6469.       to all destinations and paths in the equivalence class.
  6470.  
  6471.       The Decision Process may optionally reduce the amount of information
  6472.       that it will place in the Adj-RIBs-Out by any of the following
  6473.       methods:
  6474.  
  6475.       a)  Network Layer Reachability Information:
  6476.  
  6477.    Kunzinger                     ISO/IEC 10747                 [ Page 134 ]
  6478.  
  6479.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6480.  
  6481.           Destination NSAP addresses can be represented as NSAP address
  6482.           prefixes.  In cases where there is a correspondence between the
  6483.           address structure and the systems under control of a routeing
  6484.           domain administrator, it will be possible to reduce the size of
  6485.           the network layer reachability information that is carried in the
  6486.           UPDATE PDUs.
  6487.  
  6488.       b)  RD_PATHS:
  6489.  
  6490.           RD path information can be represented as ordered RD-SEQUENCES or
  6491.           unordered RD_SETs.  RD_SETs are used in the route aggregation
  6492.           algorithm described in 7.18.2.  They reduce the size of the
  6493.           RD_PATH information by listing each RDI only once, regardless of
  6494.           how many times it may have appeared in the multiple RD_PATHS that
  6495.           were aggregated.
  6496.  
  6497.           An RD_SET implies that the destinations listed in the NLRI can be
  6498.           reached through paths that traverse at least some of its
  6499.           constituent RDs.  RD_SETs provide sufficient information to avoid
  6500.           routeing loops; however, their use may prune potentially useful
  6501.           paths, since such paths are no longer listed individually as in
  6502.           the form of RD_SEQUENCES.  In practice this is not likely to be a
  6503.           problem, since once an NPDU arrives at the edge of a group of
  6504.           RDs, the BIS at that point is likely to have more detailed path
  6505.           information and can distinguish individual paths to destinations.
  6506.  
  6507.    7.18.2  Aggregating routeing information
  6508.  
  6509.       Aggregation is the process of combining the characteristics of
  6510.       several different routes (or components of a route such as an
  6511.       individual path attribute) in such a way that a single route can be
  6512.       advertised.  Aggregation can occur as part of the decision process to
  6513.       reduce the amount of information that will be placed in the
  6514.       Adj-RIBs-Out.  For example, at the boundary of a routeing domain
  6515.       confederation an exit BIS can aggregate several intra-confederation
  6516.       routes into a single route that will be advertised externally.
  6517.  
  6518.       Aggregation reduces the amount of information that BISs must store
  6519.       and exchange with each other. Routes can be aggregated by applying
  6520.       the following procedures separately to path attributes of like type
  6521.       and to the NLRI information.
  6522.  
  6523.  
  6524.  
  6525.    Kunzinger                     ISO/IEC 10747                 [ Page 135 ]
  6526.  
  6527.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6528.  
  6529.    7.18.2.1  Route aggregation
  6530.  
  6531.       Several routes shall not be aggregated into a single route unless the
  6532.       Distinguishing Attributes of each of these route are equivalent, as
  6533.       defined in 7.11.3.
  6534.  
  6535.       Routes that contain the DIST_LIST_INCL attribute may not be
  6536.       aggregated with routes that contain the DIST_LIST_EXCL attribute.
  6537.  
  6538.       Routes that have the following attributes shall not be aggregated
  6539.       unless the corresponding attributes of each route are identical:
  6540.       MULTI-EXIT_DISC and NEXT_HOP.
  6541.  
  6542.       An aggregated route is constructed from one or more component routes.
  6543.       If a component of an aggregated route that has been advertised in an
  6544.       UPDATE PDU becomes unfeasible, then all component routes that
  6545.       comprise the aggregated route, except for the unfeasible component,
  6546.       shall be advertised again, either as separate routes or as a new
  6547.       aggregated route.  If the new aggregated route has the same NLRI as
  6548.       the previous aggregated route, then no further actions are necessary,
  6549.       since advertisement of the new aggregated route implicitly marks the
  6550.       old aggregated route as having been withdrawn from use.  In all other
  6551.       cases, the original aggregated route must be withdrawn explicitly by
  6552.       means of the Withdrawn Routes field of an UPDATE PDU.
  6553.  
  6554.    7.18.2.2  NLRI aggregation
  6555.  
  6556.       The aggregation of the NLRI fields from several routes is
  6557.       straightforward:
  6558.  
  6559.       -   If a shorter NSAP address prefix can be used to represent the
  6560.           NSAPs (and only those NSAPs) listed in several individual NSAP
  6561.           address prefixes, this may be done.  However, a shorter NSAP
  6562.           prefix which would be associated with more NSAPs than were
  6563.           associated with the individual prefixes being aggregated shall
  6564.           not be used.
  6565.  
  6566.       -   Individual NSAP address prefixes from the routes whose NLRI is to
  6567.           be aggregated can be listed individually in a single NLRI field.
  6568.  
  6569.  
  6570.  
  6571.    Kunzinger                     ISO/IEC 10747                 [ Page 136 ]
  6572.  
  6573.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6574.  
  6575.    7.18.2.3  Path attribute aggregation
  6576.  
  6577.       Path attributes that have different type codes can not be aggregated
  6578.       together.  Path attributes of the same type code may be aggregated,
  6579.       according to the following rules:
  6580.  
  6581.       ROUTE_SEPARATOR attributes: When several routes are aggregated, the
  6582.          ROUTE_SEPARATOR attribute of the aggregated route shall contain an
  6583.          unambiguous ROUTE-ID for the aggregated route, in accordance with
  6584.          7.12.1; the advertising BIS shall also compute a degree of
  6585.          preference for the aggregated route, and shall carry this value in
  6586.          the LOCAL_PREF field, in accordance with 7.12.1.
  6587.  
  6588.       EXT_INFO attributes: If at least one route among routes that are
  6589.          aggregated has the EXT_INFO attribute, then the aggregated route
  6590.          must have the EXT_INFO attribute as well.
  6591.  
  6592.       RD_PATH attributes: The individual RD_PATH attributes from which the
  6593.          aggregated RD_PATH attribute will be constructed are called the
  6594.          component attributes, and the ENTRY_SEQ and ENTRY_SET path
  6595.          segments contain the RDIs of confederations that have been entered
  6596.          but not yet exited.  If the RDIs of all such confederations appear
  6597.          in the same relative order of entry in every component route, then
  6598.          aggregation may be performed without pre-processing the component
  6599.          routes.  If they appear in different orders of entry in the
  6600.          component routes, then the pre-processing step outlined below must
  6601.          be performed in order to create the same order of entry in every
  6602.          component route before applying the aggregation procedures.
  6603.  
  6604.          If routes to be aggregated have identical RD_PATH attributes, then
  6605.          the aggregated route has the same RD_PATH attribute as each
  6606.          individual route, and no further processing is necessary.
  6607.  
  6608.          Pre-processing to Attain Identical Order of Entry: Apply the
  6609.          following procedure to each component route individually.  Replace
  6610.          all path segments, from the first ENTRY_SET or ENTRY_SEQ segment
  6611.          to the last path segment, inclusive, with a path segment of type
  6612.          ENTRY_SET followed by a path segment of type RD_SET:
  6613.  
  6614.          -   The path segment of type ENTRY_SET shall contain the union of
  6615.              the all the RDIs listed in the individual ENTRY_SET and
  6616.              ENTRY_SEQ segments. The RDIs must be listed in the same order
  6617.              in each component route.  The specific ordering algorithm is
  6618.              left as a local matter, but it shall guarantee that the RDI of
  6619.              a given confederation does not precede the RDI of any
  6620.              confederation within which it it is nested.
  6621.  
  6622.    Kunzinger                     ISO/IEC 10747                 [ Page 137 ]
  6623.  
  6624.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6625.  
  6626.          -   The path segment of type RD_SET shall contain the union of the
  6627.              RDIs contained in all RD_SETs and RD_SEQs that appear after
  6628.              the first ENTRY_SET or ENTRY_SEQ of the component route.
  6629.  
  6630.          Aggregation Procedures:  For purposes of this procedure, a path
  6631.          segment that lists multiple RDIs shall be treated as if it were
  6632.          multiple consecutive path segments, where each path segment lists
  6633.          a single RDI and the order of appearance of RDIs is maintained.
  6634.          For example, a path segment that listed RDIs X, Y, and Z (in that
  6635.          order) is treated as if it were a path segment listing X, followed
  6636.          by a path segment listing Y, followed by a path segment listing Z.
  6637.          If all the RD_PATH attributes of all component routes are
  6638.          identical, the aggregated path attribute is equal to the original
  6639.          RD_PATH attribute.
  6640.  
  6641.          The main procedure of 7.18.2.3.1 calls the subroutine of
  6642.          7.18.2.3.2 for aggregating RD_PATH attributes that contain no
  6643.          ENTRY_SEQs or ENTRY_SETs (generically called an "Entry Marker").
  6644.          In effect, the main procedure applies the subroutine to all
  6645.          segments that are located between Entry Markers, between an Entry
  6646.          Marker and the end of a component attribute, or between the start
  6647.          of a component attribute and its first Entry Marker.
  6648.  
  6649.          The main procedure is described in 7.18.2.3.1, and the subroutine
  6650.          is described in 7.18.2.3.2.
  6651.  
  6652.       DIST_LIST_INCL attributes: The DIST_LIST_INCL attribute of the
  6653.          aggregated route is formed by the set intersection of the RDIs
  6654.          listed in the DIST_LIST_INCL attributes of the individual routes.
  6655.          If the set intersection consists of an empty set, then the routes
  6656.          shall not be aggregated.
  6657.  
  6658.       DIST_LIST_EXCL attributes: The DIST_LIST_EXCL attribute of the
  6659.          aggregated route is formed by the set union of the RDIs listed in
  6660.          the DIST_LIST_EXCL attribute of the individual routes.  A route
  6661.          that contains no DIST_LIST_EXCL attribute is treated as if it
  6662.          contained a DIST_LIST_EXCL attribute that lists no RDIs.
  6663.  
  6664.       TRANSIT DELAY attributes: The value of the Transit Delay attribute of
  6665.          the aggregated route is set to the maximum value of the Transit
  6666.          Delay attribute of the individual routes that are aggregated.
  6667.  
  6668.       RESIDUAL ERROR attributes: The value of the Residual Error attribute
  6669.          of the aggregated route is set to the maximum value of the
  6670.          Residual Error attribute of the individual routes that are
  6671.          aggregated.
  6672.  
  6673.    Kunzinger                     ISO/IEC 10747                 [ Page 138 ]
  6674.  
  6675.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6676.  
  6677.       EXPENSE  attributes: The value of the Expense attribute of the
  6678.          aggregated route is set to the maximum value of the Expense
  6679.          attribute of the individual routes that are aggregated.
  6680.  
  6681.       LOCALLY DEFINED QOS attributes: Routes that contain the LOCALLY
  6682.          SPECIFIED QOS attribute shall only be aggregated if their LOCALLY
  6683.          SPECIFIED QOS attributes have an identical NSAP Address Prefix
  6684.          field and an identical QoS Value field.
  6685.  
  6686.          The rules for determining the value of the metric field of each
  6687.          such LOCALLY SPECIFIED QOS attribute of the aggregated route are
  6688.          specific for each QoS Value and are specified by the responsible
  6689.          QoS Authority. They shall be held in the PIB. If no suitable rule
  6690.          exists in the PIB then the routes shall not be aggregated.
  6691.  
  6692.       HIERARCHICAL RECORDING attributes: If any of the routes to be
  6693.          aggregated contains the HIERARCHICAL_RECORDING attribute, the
  6694.          aggregated route shall also contain a HIERARCHICAL_RECORDING
  6695.          attribute:
  6696.  
  6697.          -   If the routes to be aggregated contain different values for
  6698.              this attribute, then it shall be set to a value of 0 in the
  6699.              aggregated route
  6700.  
  6701.          -   If all routes to be aggregated contain the same value for this
  6702.              attribute, then it shall be set to that value in the
  6703.              aggregated route.
  6704.  
  6705.       RD_HOP COUNT attribute: The value of the RD_HOP_COUNT of the
  6706.          aggregated route shall be set equal to the largest RD_HOP_COUNT
  6707.          that was contained in the routes being aggregated.
  6708.  
  6709.       SECURITY attribute: Routes that contain the SECURITY attribute shall
  6710.          only be aggregated if their SECURITY attributes identify the same
  6711.          Security Authority.
  6712.  
  6713.          The rules for determining the value of the SECURITY attribute of
  6714.          the aggregated route are specified by the responsible Security
  6715.          Authority. They shall be held in the PIB. If no suitable rule
  6716.          exists in the PIB then the routes shall not be aggregated.
  6717.  
  6718.       PRIORITY attributes: The value of the PRIORITY attribute of the
  6719.          aggregated route shall be equal to the maximum value of the values
  6720.          of the PRIORITY attributes of the routes being aggregated, unless
  6721.          the NLRI of component routes are identical.  In this case, the
  6722.          value of the PRIORITY attribute of the aggregated route shall be
  6723.  
  6724.    Kunzinger                     ISO/IEC 10747                 [ Page 139 ]
  6725.  
  6726.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6727.  
  6728.          the minimum value of the values of the PRIORITY attributes of the
  6729.          routes being aggregated.
  6730.  
  6731.       CAPACITY Attributes: The value of the CAPACITY attribute of the
  6732.          aggregated route shall be equal to the smallest integer value
  6733.          contained in the CAPACITY fields of the routes being aggregated.
  6734.  
  6735.       7.18.2.3.1  Main procedure for RD_PATH aggregation:  This procedure
  6736.       is used to aggregate the RD_PATH attributes of component routes:
  6737.  
  6738.       a)  Set the aggregated RD_PATH to "empty".
  6739.  
  6740.       b)  Scanning from the back of each non-empty component attribute,
  6741.           locate the first Entry Marker.  If the type of marker in any
  6742.           component route is ENTRY_SET, then change the type of the
  6743.           corresponding Entry Marker in all component attributes to
  6744.           ENTRY_SET.
  6745.  
  6746.       c)  If no Entry Marker is found, apply the subroutine for aggregating
  6747.           RD_PATHs with no Entry Markers (see 7.18.2.3.2), and prepend the
  6748.           result to the aggregated RD_PATH attribute.
  6749.  
  6750.       d)  If a Entry Marker is found, prepend the following to the
  6751.           aggregated RD_PATH attribute, in the order indicated: the located
  6752.           Entry Marker, followed immediately by the path segments obtained
  6753.           by applying the subroutine for aggregation of RD_PATHs with no
  6754.           Entry Markers (see 7.18.2.3.2) to the path segments that follow
  6755.           the located Entry Marker in each component attribute.  If a
  6756.           component attribute has no path segments following the located
  6757.           Entry Marker, pass it to the subroutine as an empty set.
  6758.  
  6759.       e)  Delete from each component attribute all the path segments that
  6760.           were appended to the aggregated attribute in steps c or d.
  6761.  
  6762.       f)  Repeat steps b through e until every component attribute is
  6763.           empty.
  6764.  
  6765.       If there are consecutive path segments of the same type, they shall
  6766.       be combined into a single path segment of the same type.
  6767.  
  6768.       7.18.2.3.2  Aggregating routes with no entry markers:  The subroutine
  6769.       for aggregating RD_PATH attributes with no entry markers is as
  6770.       follows:
  6771.  
  6772.       a)  Set the aggregated RD_PATH to "empty".
  6773.  
  6774.  
  6775.    Kunzinger                     ISO/IEC 10747                 [ Page 140 ]
  6776.  
  6777.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6778.  
  6779.       b)  Scanning from the back of each component attribute, locate the
  6780.           first identical longest sequence of path segments that occurs in
  6781.           every component attribute, including any that are empty.
  6782.  
  6783.           Note 30:  It will not be possible to find an identical sequence
  6784.                     in every component attribute if one or more of them are
  6785.                     empty.
  6786.  
  6787.       c)  If there is no identical sequence, form a path segment of type
  6788.           RD_SET that contains every RDI in every non-empty component
  6789.           attribute.  Prepend this list to the aggregated RD_PATH
  6790.           attribute.
  6791.  
  6792.       d)  If the identical sequence is the final sequence of every
  6793.           component attribute,  prepend it to the aggregated route.
  6794.  
  6795.       e)  If the identical sequence is not the final sequence of every
  6796.           component attribute, form a path segment of type RD_SET that
  6797.           lists every RDI that occurs between the end of the identical
  6798.           sequence and the end of each non-empty component attribute.
  6799.           Prepend this list to the aggregated RD_PATH attribute.
  6800.  
  6801.       f)  Delete from each component attribute all path segments that were
  6802.           added to the aggregated RD_PATH attribute in step c, d, or e.
  6803.  
  6804.       g)  If, after the deletions in step f have been made, an RDI is
  6805.           present in both the aggregated RD_PATH attribute and in any of
  6806.           the component attributes, then the accumulated RD_PATH attribute
  6807.           shall be replaced by a single path segment of type RD_SET that
  6808.           lists every RDI that was present in the component routes that
  6809.           were the input to this subroutine  (before any deletions were
  6810.           made), and the subroutine terminates.  Otherwise, repeat steps b
  6811.           through f until every component attribute is empty.
  6812.  
  6813.    7.19  Maintenance of the forwarding information bases
  6814.  
  6815.       As summarized in Table 1, the Forwarding Information Bases contain
  6816.       the following information for a given RIB-Att (set of distinguishing
  6817.       attributes) and set of destinations (NLRI):
  6818.  
  6819.       a)  the NET of the next-hop BIS,
  6820.  
  6821.       b)  the local SNPA used by the local BIS to forward traffic to the
  6822.           next-hop BIS,
  6823.  
  6824.  
  6825.    Kunzinger                     ISO/IEC 10747                 [ Page 141 ]
  6826.  
  6827.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6828.  
  6829.       c)  the minimum priority supported by this subnetwork hop, if the
  6830.           FIB's RIB-Att contains the PRIORITY attribute
  6831.  
  6832.       d)  security related information associated with this subnetwork hop,
  6833.           if the FIB's RIB-Att contains the SECURITY attribute
  6834.  
  6835.       e)  if available, the SNPA in the next-hop BIS to which NPDUs will be
  6836.           forwarded.
  6837.  
  6838.       f)  the QoS metric value if the FIB's RIB-Att contains the RESIDUAL
  6839.           ERROR, TRANSIT DELAY, EXPENSE, or LOCALLY DEFINED QOS attribute.
  6840.  
  6841.       The RIB-Att of the Loc-RIB which contains a route is also the RIB-Att
  6842.       of the corresponding FIB; the NLRI for the associated FIB is the same
  6843.       as the NLRI of the corresponding route that is stored in the Loc-RIB.
  6844.       Therefore, the destination address of an incoming NPDU and its
  6845.       NPDU-derived distinguishing attributes (see 8.3) allow a BIS to
  6846.       determine the FIB which contains the forwarding information to be
  6847.       used for this NPDU.
  6848.  
  6849.       The forwarding information consists of three parts.
  6850.  
  6851.       a)  Net of Next-hop BIS: For each route in the Loc-RIB, the next-hop
  6852.           BIS has been determined, and is carried as a tag, as described in
  6853.           7.16.2.  The same tag is then carried over into the corresponding
  6854.           entry in the FIB.  This information is always present.
  6855.  
  6856.       b)  Output SNPA: The SNPA that will be used by the local BIS for
  6857.           forwarding traffic to the destinations identified in the NLRI
  6858.           field of the FIB is established locally, and is one of the SNPAs
  6859.           identified in managed object localSNPA.
  6860.  
  6861.       c)  Input SNPA: The SNPA that will be used by the remote BIS to
  6862.           receive traffic that is the NEXT_HOP attribute of the
  6863.           corresponding route stored in the Loc-RIB.  If the NEXT-HOP
  6864.           attribute contains an empty SNPA list, or if the NEXT_HOP
  6865.           attribute itself is not included in the route, then the Input
  6866.           SNPA field in the FIB will be empty.
  6867.  
  6868.       d)  priority: The minimum priority that an NPDU shall have for it to
  6869.           be forwarded over this subnetwork hop. If omitted, then the NPDU
  6870.           may have any priority.
  6871.  
  6872.       e)  security related information:  identifies the protection
  6873.           available over the subnetwork hop and the NPDUs that may use it
  6874.           with reference to a known Security Policy.
  6875.  
  6876.    Kunzinger                     ISO/IEC 10747                 [ Page 142 ]
  6877.  
  6878.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6879.  
  6880.       f)  QoS Metric:  provides the value of the route's QoS metric for the
  6881.           corresponding QoS distinguishing path attribute, for use in
  6882.           additional matching rules during the NPDU forwarding process.
  6883.  
  6884.    7.20  Error handling for BISPDUs
  6885.  
  6886.       This section describes actions to be taken when errors are detected
  6887.       while processing BISPDUs.  Error handling procedures apply
  6888.       individually to each FSM in the BIS.
  6889.  
  6890.    7.20.1  BISPDU header error handling
  6891.  
  6892.       If BIS-BIS connection was established using authentication code 2
  6893.       (checksum plus authentication) and the validation pattern in the
  6894.       BISPDU header does not match the locally computed pattern, then the
  6895.       BISPDU shall be discarded without any further actions.
  6896.  
  6897.       If any of the following error conditions are detected, the BISPDU
  6898.       shall be discarded, and the appropriate error event shall be logged
  6899.       by the receiving BIS:
  6900.  
  6901.       a)  Length field of a PDU header less than 30 octets or greater than
  6902.           the Segment Size specified by the remote system's OPEN PDU,
  6903.  
  6904.       b)  Length field of an OPEN PDU less than minimum length of an OPEN_
  6905.           PDU
  6906.  
  6907.       c)  Length field of an UPDATE PDU less than minimum length of an
  6908.           UPDATE PDU
  6909.  
  6910.       d)  Length field of KEEPALIVE PDU not equal to 30
  6911.  
  6912.       e)  Length of an IDRP ERROR PDU less than the minimum length of 32
  6913.  
  6914.       f)  Length of a CEASE PDU less than the minimum length of 30
  6915.  
  6916.       g)  The BIS-BIS connection was established using authentication code
  6917.           1 (checksum without authentication) and the validation pattern in
  6918.           the BISPDU header does not match the locally computed pattern
  6919.  
  6920.       h)  Type field in the BISPDU is not recognized
  6921.  
  6922.  
  6923.    Kunzinger                     ISO/IEC 10747                 [ Page 143 ]
  6924.  
  6925.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6926.  
  6927.    7.20.2  OPEN PDU error handling
  6928.  
  6929.       The following errors detected while processing the OPEN PDU shall be
  6930.       indicated by sending an IDRP ERROR PDU with error code
  6931.       OPEN_PDU_Error.  The error subcode of the IDRP ERROR PDU shall
  6932.       elaborate on the specific nature of the error.
  6933.  
  6934.       a)  If the version number of the received OPEN PDU is not supported,
  6935.           then the error subcode of the IDRP ERROR PDU shall be set to
  6936.           Unsupported_Version_Number.  The Data field of the IDRP ERROR PDU
  6937.           is a 2-octet unsigned integer, which indicates the highest
  6938.           supported version number less than the version of the remote BIS
  6939.           peer's bid (as indicated in the received OPEN PDU).
  6940.  
  6941.       b)  If the Maximum PDU Size field of the OPEN PDU is less than
  6942.           MinBISPDULength octets, the error subcode of the IDRP ERROR PDU
  6943.           is set to Bad_Maximum PDU_Size.  The Data field of the IDRP ERROR
  6944.           PDU is a 2 octet unsigned integer which contains the erroneous
  6945.           Maximum PDU Size field.
  6946.  
  6947.       c)  If the Routeing Domain Identifier field of the OPEN PDU is not
  6948.           the expected one, the error subcode of the IDRP ERROR PDU is set
  6949.           to Bad_Peer_RD.  The expected values of the Routeing Domain
  6950.           Identifier may be obtained by means outside the scope of this
  6951.           protocol (usually it is a configuration parameter).  The value of
  6952.           the erroneous RDI is returned in the Data field of the IDRP ERROR
  6953.           PDU, encoded as a <length, RDI> pair.  "Length" is a one octet
  6954.           field containing a positive integer that gives the number of
  6955.           octets used for the following "RDI" field.
  6956.  
  6957.       d)  If a BIS receives an OPEN PDU from a BIS located in the same RD,
  6958.           and the RIB-AttsSet field contained in that PDU is different from
  6959.           the receiving BIS's managed object RIBAttsSet, then the error
  6960.           subcode of the IDRP ERROR PDU shall be set to Bad-RIB-AttsSet.
  6961.  
  6962.       e)  If the value of the Authentication Code field of the OPEN PDU is
  6963.           any value other than 1 or 2, the error subcode of the IDRP ERROR
  6964.           PDU is set to Unsupported_Authentication_Code.
  6965.  
  6966.       f)  If a given BIS receives an OPEN PDU from another BIS located in
  6967.           the same routeing domain, then the RDIs reported in the
  6968.           Confed-IDs field of the OPEN PDU (received from the remote BIS)
  6969.           should match the Confed-IDs of the local BIS.  If they do not
  6970.           match exactly, then an IDRP ERROR PDU shall be issued, indicating
  6971.           an OPEN PDU error with an error subcode of RDC_Mismatch.  The
  6972.           data field of the IDRP ERROR PDU shall report the offending
  6973.           Confed-IDs field from the rejected OPEN PDU.
  6974.  
  6975.    Kunzinger                     ISO/IEC 10747                 [ Page 144 ]
  6976.  
  6977.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  6978.  
  6979.    7.20.3  UPDATE PDU error handling
  6980.  
  6981.       All errors detected while processing the UPDATE PDU are indicated by
  6982.       sending an IDRP ERROR PDU with error code UPDATE_PDU_Error.  The
  6983.       error subcode of the IDRP ERROR PDU elaborates on the specific nature
  6984.       of the error.
  6985.  
  6986.       a)  If the Total Attribute Length is inconsistent with the Length
  6987.           field of the PDU header, then the error subcode of the IDRP ERROR
  6988.           PDU shall be set to Malformed_Attribute_List.  No further
  6989.           processing shall be done and all information in the UPDATE PDU
  6990.           shall be discarded.
  6991.  
  6992.       b)  If any recognized attribute has attribute flags that conflict
  6993.           with the attribute type code, then the error subcode of the IDRP
  6994.           ERROR PDU shall be set to Attribute_Flags_Error.  The Data field
  6995.           of the IDRP ERROR PDU shall contain the incorrect attribute
  6996.           (type, length and value).  No further processing shall be done,
  6997.           and all information in the UPDATE PDU shall be discarded.
  6998.  
  6999.       c)  If any recognized attribute has a length that conflicts with the
  7000.           expected length (based on the attribute type code), then the
  7001.           error subcode of the IDRP ERROR PDU shall be set to
  7002.           Attribute_Length_Error.  The Data field of the IDRP ERROR PDU
  7003.           contains the incorrect attribute (type, length and value).  No
  7004.           further processing shall be done, and all information in the
  7005.           UPDATE PDU shall be discarded.
  7006.  
  7007.       d)  If any of the mandatory well-known attributes are not present,
  7008.           then the error subcode of the IDRP ERROR PDU shall be set to
  7009.           Missing_Well-known_Attribute.  The Data field of the IDRP ERROR
  7010.           PDU contains the attribute type code of the missing well-known
  7011.           attribute.
  7012.  
  7013.       e)  If any well-known attribute (so designated by the attribute
  7014.           flags) is not recognized, then the error subcode of the IDRP
  7015.           ERROR PDU shall be set to Unrecognized_Well-known_Attribute.  The
  7016.           Data field of the IDRP ERROR PDU shall report the unrecognized
  7017.           attribute (type, length and value).  In both cases no further
  7018.           processing shall be done, and all information in the UPDATE PDU
  7019.           shall be discarded.
  7020.  
  7021.       f)  If the NEXT_HOP attribute field is invalid, then the error
  7022.           subcode of the IDRP ERROR PDU shall be set to
  7023.           Invalid_NEXT_HOP_Attribute.  The Data field of the IDRP ERROR PDU
  7024.           contains the incorrect attribute (type, length and value).  No
  7025.  
  7026.    Kunzinger                     ISO/IEC 10747                 [ Page 145 ]
  7027.  
  7028.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7029.  
  7030.           further processing shall be done and all information in the
  7031.           UPDATE PDU shall be discarded.
  7032.  
  7033.       g)  The sequence of RD path segments shall be checked for RD loops.
  7034.           RD loop detection shall be done by scanning the complete list of
  7035.           RD path segments (as specified in the RD_PATH attribute) and
  7036.           checking that each RDI in this list occurs only once.  If an RD
  7037.           loop is detected, then the error subcode of the IDRP ERROR PDU
  7038.           shall be set to RD_Routeing_Loop.
  7039.  
  7040.           The data field of the IDRP ERROR PDU shall report the first RDI
  7041.           that indicated a loop.  This RDI shall be followed immediately by
  7042.           the complete RD_PATH attribute.  The encoding shall be:  length,
  7043.           RDI, Offending RD_PATH attribute>, where:
  7044.  
  7045.           -   "length" is a one octet field that gives the length of the in
  7046.               octets of the immediately following RDI field
  7047.           -   "RDI" is the RDI that was detected as creating the loop
  7048.           -   RD_PATH is the octet string that encoded the value field of
  7049.               the offending RD_PATH attribute in the received UPDATE PDU
  7050.               (see 6.3.
  7051.  
  7052.           No further processing shall be done, and all information in the
  7053.           UPDATE PDU shall be discarded.
  7054.  
  7055.       h)   If any non-empty set of distinguishing attributes for any route
  7056.           advertised in an UPDATE PDU received from a BIS located in a
  7057.           different routeing domain does not match any of the RIB-Atts that
  7058.           the local (receiving) BIS had advertised to that neighbor in the
  7059.           RIB-AttsSet field of its OPEN PDU, then the receiving BIS shall
  7060.           send an IDRP Error PDU that reports an error subcode of
  7061.           Malformed_Attribute_List.  All information in the UPDATE PDU
  7062.           shall be discarded, and no further processing shall be done.
  7063.  
  7064.       i)  If the UPDATE PDU contains both the DIST_LIST_INCL and the
  7065.           DIST_LIST_EXCL attributes, then the error subcode of the IDRP
  7066.           ERROR PDU shall be set to Malformed_Attribute_List.  No further
  7067.           processing shall be done, and all information in the UPDATE PDU
  7068.           shall be discarded.
  7069.  
  7070.       j)  If a BIS receives an UPDATE PDU that has a DIST_LIST_EXCL
  7071.           attribute with the RDI of the receiving BIS or the RDI of any RDC
  7072.           to which the BIS belongs, the subcode of the IDRP ERROR PDU shall
  7073.           be set to Malformed_Attribute_List.  The Data field of the IDRP
  7074.           ERROR PDU shall report the incorrect attribute (type, length and
  7075.           value).  No further processing shall be done, and all information
  7076.           in the UPDATE PDU shall be discarded.
  7077.  
  7078.    Kunzinger                     ISO/IEC 10747                 [ Page 146 ]
  7079.  
  7080.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7081.  
  7082.       k)  If a BIS receives an UPDATE PDU that has a DIST_LIST_INCL
  7083.           attribute without the RDI of the receiving BIS or the RDI of any
  7084.           RDC to which the BIS belongs, the subcode of the IDRP ERROR PDU
  7085.           shall be set to Malformed_Attribute_List.  The Data field of the
  7086.           IDRP ERROR PDU shall report the incorrect attribute (type, length
  7087.           and value).  No further processing shall be done, and all
  7088.           information in the UPDATE PDU shall be discarded.
  7089.  
  7090.           Note 31:  It is permissible for an UPDATE PDU to contain neither
  7091.                     the DIST_LIST_INCL nor the DIST_LIST_EXCL attributes.
  7092.                     According to 7.12.5, the absence of both the
  7093.                     DIST_LIST_INCL and DIST_LIST_EXCL attributes implies
  7094.                     that all RDs and all RDCs may receive the routeing
  7095.                     information.
  7096.  
  7097.       l)  If the length of the NLRI is inconsistent with the Length field
  7098.           of the PDU header, then the error subcode of the IDRP ERROR PDU
  7099.           shall be set to Malformed_NLRI.  No further processing shall be
  7100.           done, and all information in the UPDATE PDU shall be discarded.
  7101.  
  7102.       m)  If an optional attribute is recognized, then the value of this
  7103.           attribute shall be checked.  If an error is detected, the
  7104.           attribute shall be discarded, and the error subcode of the IDRP
  7105.           ERROR PDU shall be set to Optional_Attribute_Error.  The Data
  7106.           field of the IDRP ERROR PDU shall report the attribute (type,
  7107.           length and value).  No further processing shall be done, and all
  7108.           information in the UPDATE PDU shall be discarded.
  7109.  
  7110.       n)  If RDCs are supported and any of the error conditions noted in
  7111.           7.12.3.3 occur, no further processing of the UPDATE PDU shall be
  7112.           done, all information in the UPDATE PDU shall be discarded, and
  7113.           the error code of the NOTIFICATION PDU shall be set to
  7114.           Misconfigured_RDCs.
  7115.  
  7116.       o)  If a route carried in an UPDATE PDU contains more than a single
  7117.           instance of a distinguishing path attribute, then the error
  7118.           subcode shall be set to Malformed_Attribute_List.  No further
  7119.           processing shall be done, and all information in the UPDATE PDU
  7120.           shall be discarded.
  7121.  
  7122.           Note 32:  This error condition refers to duplicated attributes
  7123.                     within a single route.  It is not an error if a
  7124.                     distinguishing attribute of the same type appears in
  7125.                     several of the routes carried in an UPDATE PDU that
  7126.                     advertises multiple routes.
  7127.  
  7128.  
  7129.    Kunzinger                     ISO/IEC 10747                 [ Page 147 ]
  7130.  
  7131.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7132.  
  7133.       p)  If an UPDATE PDU contains more than one instance of a
  7134.           non-distinguishing path attribute of the same type, except for
  7135.           ROUTE_SEPARATOR, the BIS shall send an IDRP ERROR PDU with error
  7136.           subcode Duplicated_Attributes.  The data field of the IDRP ERROR
  7137.           PDU shall list the type codes of all such duplicated attributes.
  7138.  
  7139.       q)  If the RD_PATH attribute contains an illegal segment type, the
  7140.           BIS shall send an IDRP ERROR PDU, with error subcode
  7141.           Illegal_RD_Path_Segment.  The data field of the IDRP ERROR PDU
  7142.           shall reproduce the encoding of the offending segment of the
  7143.           RD_PATH attribute, as it appeared in the received UPDATE PDU.
  7144.  
  7145.    7.20.4  IDRP ERROR PDU error handling
  7146.  
  7147.       If a BIS receives an IDRP ERROR PDU with a correct validation pattern
  7148.       but which contains an unrecognized error code or error subcode, the
  7149.       local BIS shall close the connection as described in clause 7.6.2.
  7150.  
  7151.       Note 33:  Any error (such as unrecognized Error Code or Error
  7152.                 Subcode, or an incorrect Length field in the PDU header)
  7153.                 should be logged locally and brought to the attention of
  7154.                 the administration of the peer.  The means to do this are,
  7155.                 however, outside the scope of this protocol.
  7156.  
  7157.    7.20.5  Hold timer expired error handling
  7158.  
  7159.       If the FSM for a given BIS-BIS connection is in the ESTABLISHED state
  7160.       and the local BIS does not receive successive PDUs of types
  7161.       KEEPALIVE, UPDATE, or RIB REFRESH, within the period specified in the
  7162.       Hold Time field of the OPEN PDU previously sent to the remote BIS,
  7163.       then an IDRP ERROR PDU with error code Hold_Timer_Expired shall be
  7164.       sent to the remote BIS and the FSM for the associated BIS-BIS
  7165.       connection shall enter the CLOSE-WAIT state.
  7166.  
  7167.    7.20.6  KEEPALIVE PDU error handling
  7168.  
  7169.       The KEEPALIVE PDU consists of only the BISPDU Header. Error
  7170.       conditions are handled according to 7.20.1.
  7171.  
  7172.  
  7173.  
  7174.    Kunzinger                     ISO/IEC 10747                 [ Page 148 ]
  7175.  
  7176.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7177.  
  7178.    7.20.7  CEASE PDU error handling
  7179.  
  7180.       The CEASE PDU consists of only the BISPDU Header. Error conditions
  7181.       are handled according to 7.20.1
  7182.  
  7183.    7.20.8  RIB REFRESH PDU error handling
  7184.  
  7185.       If any of the following error conditions are detected, the BIS shall
  7186.       issue an IDRP ERROR PDU with the following error indications:
  7187.  
  7188.       a)  Invalid OpCode not in Range 1 to 3: indicate RIB REFRESH error
  7189.           with error subcode "Invalid OpCode"
  7190.  
  7191.       b)  Receipt of an OpCode 3 (RIB Refresh End) without prior receipt of
  7192.           OpCode 2 (Rib Refresh Start): indicate FSM Error
  7193.  
  7194.       c)  Receipt of an unsupported RIB-Att in the Rib-Atts variable length
  7195.           field in the RIB REFRESH PDU for a RIB Refresh Start OpCode:
  7196.           indicate RIB REFRESH error with error subcode "Unsupported
  7197.           RIB-Atts"
  7198.  
  7199.    8.  Forwarding process for CLNS
  7200.  
  7201.  
  7202.       The forwarding process for CLNS operation is driven by the header
  7203.       information carried in an ISO 8473 NPDU:
  7204.  
  7205.       a)  If the NPDU contains an ISO 8473 complete source route parameter,
  7206.           then further forwarding of this NPDU shall be handled by the
  7207.           ISO 8473 protocol, not by the mechanisms defined in this
  7208.           international standard.
  7209.  
  7210.       b)  If the NPDU contains an ISO 8473 partial source route parameter,
  7211.           the NPDU shall be forwarded on a path to the next system listed
  7212.           in the partial source route parameter.
  7213.  
  7214.       c)  If the NPDU does not contain an ISO 8473 source route parameter,
  7215.           the NPDU shall be forwarded on a path to the system listed in the
  7216.           destination address field of the NPDU.
  7217.  
  7218.  
  7219.    Kunzinger                     ISO/IEC 10747                 [ Page 149 ]
  7220.  
  7221.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7222.  
  7223.       Having determined the system to which a path is needed, the BIS shall
  7224.       proceed as follows:
  7225.  
  7226.       a)  If the destination system is located in its own RD, the local BIS
  7227.           shall proceed as defined in 8.1.
  7228.  
  7229.       b)  If the destination system is located in a different RD, the local
  7230.           BIS shall perform the following actions:
  7231.  
  7232.           1)  It shall determine the NPDU-Derived Distinguishing Attributes
  7233.               of the NPDU, according to 8.2.
  7234.  
  7235.           2)  It shall next apply the procedures of 8.3 to determine if the
  7236.               NPDU-derived Distinguishing Attributes match any of the
  7237.               FIB-Atts of the Forwarding Information Bases of the local
  7238.               BIS:
  7239.  
  7240.               i)  If the NPDU-derived Distinguishing Attributes match the
  7241.                   FIB-Att of a local FIB, then the NPDU shall select that
  7242.                   FIB and shall forward the NPDU using the methods of 8.4.
  7243.  
  7244.               ii) Otherwise, perform the ISO 8473 "Discard PDU Function"
  7245.                   and generate an ER PDU with the parameter value set to
  7246.                   "Unsupported Option not Specified".
  7247.  
  7248.           If the underlying data protocol permits the modification or
  7249.           removal of the QOS or Priority parameters of the data PDU, then
  7250.           the BIS may modify such information appropriately and forward the
  7251.           data PDU.
  7252.  
  7253.    8.1  Forwarding to internal destinations
  7254.  
  7255.       If the destination address of an incoming NPDU depicts a system
  7256.       located within the routeing domain of the receiving BIS, then it
  7257.       shall forward that NPDU to any of the ISs listed in managed object
  7258.       INTRA-IS.  That is, any further forwarding of the NPDU is the
  7259.       responsibility of the intra-domain routeing protocol.
  7260.  
  7261.    8.2  Determining the NPDU-derived distinguishing attributes
  7262.  
  7263.       As the first step in forwarding an NPDU to a destination located in
  7264.       another routeing domain, the receiving BIS shall determine the
  7265.       NPDU-derived Distinguishing Attributes of the incoming ISO 8473 NPDU.
  7266.       This determination shall be based on an examination of the priority
  7267.  
  7268.    Kunzinger                     ISO/IEC 10747                 [ Page 150 ]
  7269.  
  7270.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7271.  
  7272.    +----------------------------------------------------------------------+
  7273.    |                                                                      |
  7274.    | +------------------------------------------------------------------+ |
  7275.    | | Table 4. NPDU-Derived Attribute Set.  Some NPDU-derived          | |
  7276.    | |          Distinguishing attributes are derived by examining the  | |
  7277.    | |          QOS Maintenance Parameter octet for 1 or 0 in the bit   | |
  7278.    | |          positions shown below.  The symbol "-" indicates that   | |
  7279.    | |          the corresponding bit does not enter into the           | |
  7280.    | |          determination.                                          | |
  7281.    | +------------------------------------------------+-----------------+ |
  7282.    | |            QOS Maintenance Parameter           | NPDU-Derived    | |
  7283.    | +-----+-----+-----+-----+-----+------+-----+-----+ Attributes      | |
  7284.    | | b[8]| b[7]| b[6]| b[5]| b[4]| b[3] | b[2]| b[1]|                 | |
  7285.    | +-----+-----+-----+-----+-----+------+-----+-----+-----------------+ |
  7286.    | |  1  |  1  |  -  |  -  |  -  |   1  |  0  |  0  | Transit Delay   | |
  7287.    | +-----+-----+-----+-----+-----+------+-----+-----+-----------------+ |
  7288.    | |  1  |  1  |  -  |  -  |  -  |   1  |  0  |  1  | Transit Delay   | |
  7289.    | +-----+-----+-----+-----+-----+------+-----+-----+-----------------+ |
  7290.    | |  1  |  1  |  -  |  -  |  -  |   0  |  0  |  0  | Expense         | |
  7291.    | +-----+-----+-----+-----+-----+------+-----+-----+-----------------+ |
  7292.    | |  1  |  1  |  -  |  -  |  -  |   0  |  1  |  0  | Expense         | |
  7293.    | +-----+-----+-----+-----+-----+------+-----+-----+-----------------+ |
  7294.    | |  1  |  1  |  -  |  -  |  -  |   0  |  1  |  1  | Residual Error  | |
  7295.    | +-----+-----+-----+-----+-----+------+-----+-----+-----------------+ |
  7296.    | |  1  |  1  |  -  |  -  |  -  |   1  |  1  |  1  | Residual Error  | |
  7297.    | +-----+-----+-----+-----+-----+------+-----+-----+-----------------+ |
  7298.    |                                                                      |
  7299.    +----------------------------------------------------------------------+
  7300.  
  7301.       parameter, security parameter, and QOS maintenance parameter in the
  7302.       NPDU's header:
  7303.  
  7304.       -   The 8473 priority parameter corresponds to the PRIORITY path
  7305.           attribute.
  7306.  
  7307.       -   The first two bits of the ISO 8473 security parameter are
  7308.           decoded:
  7309.  
  7310.           ∙   if they equal '11', then the parameter identifies a globally
  7311.               unique and unambiguous security level (see ISO 8473, clause
  7312.               7.5.3.3)
  7313.           ∙   if they equal '01' then the responsible Security Authority is
  7314.               identified by the NPDU's source NSAP Address
  7315.           ∙   if they equal '10' then the responsible Security Authority is
  7316.               identified by the NPDU's destination NSAP Address.
  7317.  
  7318.  
  7319.    Kunzinger                     ISO/IEC 10747                 [ Page 151 ]
  7320.  
  7321.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7322.  
  7323.           The corresponding NPDU-Derived Distinguishing attribute is then a
  7324.           SECURITY attribute identifying the same Security Authority.
  7325.  
  7326.       -   The first two bits of the ISO 8473 QoS Maintenance parameter are
  7327.           decoded:
  7328.  
  7329.           a)  If they equal '01' then the responsible QoS Authority is
  7330.               indicated by the source NSAP Address, and the NPDU-Derived
  7331.               Distinguishing attribute is determined using the remaining
  7332.               octets of the QoS Maintenance parameter and by applying the
  7333.               rules specified by the QoS Authority and contained in the PIB
  7334.               for selection of the NPDU-Derived Distinguishing attribute.
  7335.               If no such rules exist then no NPDU-Derived Distinguishing
  7336.               attribute shall be associated with this QoS Maintenance
  7337.               parameter.
  7338.  
  7339.           b)  If they equal '10' then the responsible QoS Authority is
  7340.               indicated by the destination NSAP Address, and the
  7341.               NPDU-Derived Distinguishing attribute is determined using the
  7342.               remaining octets of the QoS Maintenance parameter and by
  7343.               applying the rules specified by the QoS Authority and
  7344.               contained in the PIB for selection of the NPDU-Derived
  7345.               Distinguishing attribute. If no such rules exist then no
  7346.               NPDU-Derived Distinguishing attribute shall be associated
  7347.               with this QoS Maintenance parameter.
  7348.  
  7349.           c)  If they equal '11' then the NPDU-Derived Distinguishing
  7350.               attribute is as shown in Table 4.
  7351.  
  7352.       If examination of the 8473 header shows that no NPDU-Derived
  7353.       Distinguished Attributes are present, then the NPDU shall be
  7354.       associated with the Empty Distinguishing Attribute.
  7355.  
  7356.    8.3  Matching RIB-Att to NPDU-derived distinguishing attributes
  7357.  
  7358.       Within the BIS, each of its FIB(s) has an unambiguous RIB-Att (see
  7359.       7.10.1) which is constructed from the set of Distinguishing
  7360.       Attributes that the local BIS supports.  The set of NPDU-derived
  7361.       Distinguishing Attributes matches a given RIB-Att (which is itself a
  7362.       set of Distinguishing Attributes) when all of the following
  7363.       conditions are satisfied:
  7364.  
  7365.       a)  Both sets contain the same number of attributes.
  7366.  
  7367.       b)  Each instance of a type-specific attribute in the NPDU-derived
  7368.           Distinguishing Attributes must have an equivalent instance in the
  7369.  
  7370.    Kunzinger                     ISO/IEC 10747                 [ Page 152 ]
  7371.  
  7372.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7373.  
  7374.           FIB-Att.  The type-specific path attributes supported by IDRP
  7375.           are:
  7376.  
  7377.           -   Transit delay
  7378.           -   Residual error
  7379.           -   Expense
  7380.           -   Priority
  7381.  
  7382.       c)  Each instance of a type-value specific attribute in the
  7383.           NPDU-Derived Distinguishing Attributes has a corresponding
  7384.           instance in an FIB's RIB-Att, and, depending on the type of the
  7385.           NPDU-Derived Distinguishing Attribute:
  7386.  
  7387.           LOCALLY DEFINED QOS: The NSAP Address prefixes and QoS Values are
  7388.             identical.
  7389.  
  7390.           SECURITY: The same Security Authority is identified in each case.
  7391.  
  7392.       Provided that such a RIB-Att can be found then the contents is
  7393.       inspected to find an entry such that:
  7394.  
  7395.       a)  the NLRI contains the NPDU's destination NSAP Address, or an NSAP
  7396.           Address prefix which is a prefix of the NPDU's destination NSAP
  7397.           Address;
  7398.  
  7399.       b)  the subnetwork hop's priority, if present, is less than or equal
  7400.           to the NPDU's priority
  7401.  
  7402.       c)  with reference to the applicable Security Policy rules contained
  7403.           in the PIB, the subnetwork hop provides sufficient protection for
  7404.           the NPDU, and the NPDU is permitted to use the subnetwork hop.
  7405.  
  7406.       d)  when a type specific NPDU-Derived Distinguishing Attribute has
  7407.           been selected by a rule specified by a QoS Authority from a
  7408.           source or destination specific QoS Maintenance parameter, then an
  7409.           additional matching rule may also be specified that determines
  7410.           whether the value of the QoS metric is acceptable.
  7411.  
  7412.       If such a RIB-Att or entry cannot be found, then perform the
  7413.       following procedure in the order indicated, terminating when either a
  7414.       match is found or all three steps have been executed:
  7415.  
  7416.       a)  if the NPDU's security parameter does not express a requirement
  7417.           for protection, the SECURITY attribute may be removed from the
  7418.           NPDU- Derived Distinguishing attributes, and the above procedures
  7419.           repeated in order to find a match.
  7420.  
  7421.    Kunzinger                     ISO/IEC 10747                 [ Page 153 ]
  7422.  
  7423.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7424.  
  7425.       b)  the PRIORITY attribute may be removed from the NPDU-Derived
  7426.           Distinguishing attributes, and the above procedures repeated in
  7427.           order to find a match.
  7428.  
  7429.       c)  LOCALLY DEFINED QOS, EXPENSE, TRANSIT DELAY, or RESIDUAL ERROR
  7430.           (only one of which can be present in a valid set of
  7431.           distinguishing attributes) may be removed from the NPDU-Derived
  7432.           Distinguishing attributes, and the above procedures repeated to
  7433.           find a match.
  7434.  
  7435.           Note 34:  If no match was found in the first two steps, the third
  7436.                     step will reduce the NPDU-Derived distinguishing
  7437.                     attributes to either an empty set or a single security
  7438.                     attribute.   In the first case, the empty set will
  7439.                     match the Empty RIB-Att; in the second case, there can
  7440.                     be either a match or a mismatch with the security
  7441.                     parameter.
  7442.  
  7443.    8.4  Forwarding to external destinations
  7444.  
  7445.       If the destination address of the incoming NPDU depicts a system
  7446.       located in a different routeing domain from the receiving BIS, then
  7447.       the receiving BIS shall use the FIB identified by the FIB-Att that
  7448.       matches the NDPU-derived Distinguishing Attributes of the incoming
  7449.       NPDU.  The incoming NPDU shall be forwarded based on the longest
  7450.       address prefix that matches (as in 7.1.2.2) the destination NSAP
  7451.       address of the incoming NPDU, as follows:
  7452.  
  7453.       a)  If the entry in the inter-domain FIB that corresponds to the
  7454.           destination address of the incoming NPDU contains a NEXT_HOP
  7455.           entry that identifies a BIS which is located on at least one
  7456.           common subnetwork with the local BIS, then the NPDU shall be
  7457.           forwarded directly to the BIS indicated in the NEXT_HOP entry.
  7458.  
  7459.       b)  If the entry in the inter-domain FIB that corresponds to the
  7460.           destination address of the incoming NPDU contains a NEXT_HOP
  7461.           entry that identifies a BIS which is not located on at least one
  7462.           common subnetwork with the local BIS, then the local BIS has the
  7463.           following options:
  7464.  
  7465.           1)  Encapsulate the NPDU:  The local BIS may encapsulate the
  7466.               NPDU, using its own NET as the source address and the NET of
  7467.               the next-hop BIS as the destination address.  Copy the
  7468.               following, when present in the header of the encapsulated
  7469.               (inner) NPDU, to the header of the encapsulating (outer)
  7470.               NPDU:  QOS Maintenance parameter, Segmentation Permitted
  7471.  
  7472.    Kunzinger                     ISO/IEC 10747                 [ Page 154 ]
  7473.  
  7474.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7475.  
  7476.               Flag, Error Report Flag, and PDU Lifetime field. When the
  7477.               inner NPDU is decapsulated, replace its PDU Lifetime field
  7478.               with PDU Lifetime field of the outer NPDU.  The encapsulated
  7479.               NPDU shall then be handed over to the intra-domain routeing
  7480.               protocol.
  7481.  
  7482.               Note 35:  It is a local responsibility to insure that the
  7483.                         NPDU is encapsulated appropriately for the RD's
  7484.                         intra-domain protocol.  Since this international
  7485.                         standard does not mandate the use of a specific
  7486.                         intra-domain protocol, encapsulation details for
  7487.                         specific intra-domain protocols are outside its
  7488.                         scope.
  7489.  
  7490.           2)  Use Paths Provided by the Intra-domain Routeing Protocol:
  7491.               The local BIS may query the intra-domain FIB to ascertain if
  7492.               the intra-domain protocol is aware of a route to the
  7493.               destination system.
  7494.  
  7495.               Note 36:  For example, if ISO 10589 were used as the
  7496.                         intra-domain routeing protocol, it would be able to
  7497.                         calculate path segments through the RD for systems
  7498.                         contained in its "reachable address prefixes".
  7499.  
  7500.               If there is an intra-domain route that supports the QOS
  7501.               Maintenance parameter of the NPDU and will deliver the NPDU
  7502.               to the appropriate next-hop BIS, then the NPDU may be
  7503.               forwarded along this route.
  7504.  
  7505.               Note 37:  This case makes use of the intra-domain protocol's
  7506.                         knowledge of suitable paths through the local RD
  7507.                         which support the specified QOS parameter.  It does
  7508.                         not require encapsulation of the NPDU.
  7509.  
  7510.                         Details of the mapping between the QOS parameters
  7511.                         of used by a given intra-domain protocol and the
  7512.                         QOS Maintenance parameter of the NPDU must be
  7513.                         determined by the intra-domain routeing protocol;
  7514.                         this mapping is not within the scope of IDRP.
  7515.  
  7516.  
  7517.  
  7518.  
  7519.    Kunzinger                     ISO/IEC 10747                 [ Page 155 ]
  7520.  
  7521.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7522.  
  7523.    9.  Interface to ISO 8473
  7524.  
  7525.  
  7526.       For the purposes of its interface to ISO 8473, a BIS shall be
  7527.       regarded as being comprised of a co-resident ES and IS.  The protocol
  7528.       described in this international standard, although still within the
  7529.       Network layer, shall access the service provided by ISO 8473 through
  7530.       an NSAP in the ES part of the BIS.  Hence, a BIS's NET shall, for the
  7531.       purposes of communication using ISO 8473, be regarded as NSAP
  7532.       address.
  7533.  
  7534.       The protocol described in this international standard interfaces at
  7535.       its lower boundary to ISO 8473 using the ISO 8473 primitives shown in
  7536.       Table 5.
  7537.  
  7538.       The parameters associated with the N-UNITDATA request primitive are:
  7539.  
  7540.       -   Destination NSAP Address is the NET of the BIS to which this
  7541.           BISPDU is being sent (that is, the remote BIS)
  7542.  
  7543.       -   Source NSAP Address is the NET the BIS that is sending this
  7544.           BISPDU (that is, the local BIS)
  7545.  
  7546.       -   QOS is the quality of service parameter for this BIS-BIS
  7547.           connection
  7548.  
  7549.       -   Userdata is an ordered sequence of octets which comprise the
  7550.           BISPDU to be sent to the remote BIS
  7551.  
  7552.       The parameters associated with the N-UNITDATA indication primitive
  7553.       are:
  7554.  
  7555.       -   Destination NSAP Address is the NET of the BIS to which this
  7556.           BISPDU is being sent
  7557.  
  7558.       -   Source NSAP Address is the NET the BIS that is sending this
  7559.           BISPDU (that  is, the remote BIS)
  7560.  
  7561.       -   QOS is the quality of service parameter for this BIS-BIS
  7562.           connection
  7563.  
  7564.       -   Userdata is an ordered sequence of octets which comprise the
  7565.           BISPDU being delivered to the local BIS
  7566.  
  7567.    Kunzinger                     ISO/IEC 10747                 [ Page 156 ]
  7568.  
  7569.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7570.  
  7571.       +-------------------------------------------------------------------+
  7572.       | Table 5. IDRP-CL Primitives                                       |
  7573.       +-------------------------+-----------------------------------------+
  7574.       | Primitive               | Parameters                              |
  7575.       +-------------------------+-----------------------------------------+
  7576.       |                         |                                         |
  7577.       +-------------------------+-----------------------------------------+
  7578.       | N-UNITDATA Request      | Destination NSAP Address                |
  7579.       |                         | Source NSAP Address                     |
  7580.       |                         | QOS                                     |
  7581.       |                         | Userdata                                |
  7582.       +-------------------------+-----------------------------------------+
  7583.       |                         |                                         |
  7584.       +-------------------------+-----------------------------------------+
  7585.       | N-UNITDATA Indication   | Destination NSAP Address                |
  7586.       |                         | Source NSAP Address                     |
  7587.       |                         | QOS                                     |
  7588.       |                         | Userdata                                |
  7589.       +-------------------------+-----------------------------------------+
  7590.       |                         |                                         |
  7591.       +-------------------------+-----------------------------------------+
  7592.  
  7593.    9.1  Use of network layer security protocol over ISO 8473.
  7594.  
  7595.       The network layer security protocol described in DIS 11577 may be
  7596.       used over the ISO 8473 protocol to provide security protection of
  7597.       IDRP exchanges.  In this case, the NLSP-UNITDATA request and
  7598.       indication service primitives are used instead of the N-UNITDATA
  7599.       service primitives as described in clause 9.  The use of BN-UNITDATA
  7600.       notional service primitives by CD 11577 is then mapped onto the use
  7601.       by ISO 8473 of the equivalent N-UNITDATA primitives.
  7602.  
  7603.       IDRP may control the protection requirements through the use of the
  7604.       NLSP-UNITDATA request and indication primitives or the NLSP QOS
  7605.       Protection parameter; or protection may be imposed by NLSP through
  7606.       the use of security association management.
  7607.  
  7608.  
  7609.  
  7610.  
  7611.    Kunzinger                     ISO/IEC 10747                 [ Page 157 ]
  7612.  
  7613.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7614.  
  7615.    10.  Constants
  7616.  
  7617.  
  7618.       This constants used by the protocol defined in this international
  7619.       standard are enumerated in Table 6.
  7620.  
  7621.    11.  System management and GDMO definitions
  7622.  
  7623.  
  7624.       The operation of the inter-domain routeing functions in a BIS may be
  7625.       monitored and controlled using System Management.  This clause
  7626.       contains management specification for IDRP, expressed in the GDMO
  7627.       notation defined in ISO 10165-4.The naming and containment hierarchy
  7628.       is shown in Figure 9.
  7629.  
  7630.    11.1  Name binding
  7631.  
  7632.       idrpConfig-networkEntity NAME BINDING
  7633.  
  7634.        SUBORDINATE OBJECT CLASS idrpConfig AND SUBCLASSES;
  7635.        NAMED BY SUPERIOR OBJECT CLASS "ISO/IEC 10733 : 19xx":
  7636.        networkEntity;
  7637.        WITH ATTRIBUTE idrpConfigId;
  7638.        CREATE WITH-AUTOMATIC-INSTANCE-NAMING;
  7639.        DELETE ONLY-IF-NO-CONTAINED-OBJECTS;
  7640.        REGISTERED AS { IDRP.nboi idrpConfig-networkEntity(1) };
  7641.  
  7642.       adjacentBIS-idrpConfig NAME BINDING
  7643.  
  7644.        SUBORDINATE OBJECT CLASS adjacentBIS AND SUBCLASSES;
  7645.        NAMED BY SUPERIOR OBJECT CLASS idrpConfig AND SUBCLASSES;
  7646.        WITH ATTRIBUTE bisNet;
  7647.        BEHAVIOUR adjacentBIS-idrpConfig-B BEHAVIOUR
  7648.  
  7649.         DEFINED AS This name binding attribute identifies a BIS to BIS
  7650.         connection information block.  One of these blocks of data should
  7651.         exist per remote BIS that this local BIS exchanges BISPDUs with.;;
  7652.  
  7653.    Kunzinger                     ISO/IEC 10747                 [ Page 158 ]
  7654.  
  7655.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7656.  
  7657.    +----------------------------------------------------------------------+
  7658.    | Table 6. Architectural Constants of IDRP                             |
  7659.    +---------------------------+--------------+---------------------------+
  7660.    | Name of Constant          | Value        | Description               |
  7661.    +---------------------------+--------------+---------------------------+
  7662.    | Inter-domain Routeing     | X'85'        | The SPI for the protocol  |
  7663.    | Protocol Identifier       |              | described in this         |
  7664.    |                           |              | international standard    |
  7665.    +---------------------------+--------------+---------------------------+
  7666.    | MinBISPDULength           | 30           | The size in octets of the |
  7667.    |                           |              | smallest allowable        |
  7668.    |                           |              | BISPDU.                   |
  7669.    +---------------------------+--------------+---------------------------+
  7670.    | MinRDOriginationInterval  | 15 min       | The minimum time between  |
  7671.    |                           |              | successive UPDATE PDUs    |
  7672.    |                           |              | advertising routeing      |
  7673.    |                           |              | information about the     |
  7674.    |                           |              | local RD                  |
  7675.    +---------------------------+--------------+---------------------------+
  7676.    | Jitter                    | 0,25         | The factor used to        |
  7677.    |                           |              | compute jitter according  |
  7678.    |                           |              | to clause 7.17.3.3.       |
  7679.    +---------------------------+--------------+---------------------------+
  7680.    | MaxCPUOverloadPeriod      | 1 hr         | Maximum time in which a   |
  7681.    |                           |              | BIS can remain            |
  7682.    |                           |              | CPU-overloaded before     |
  7683.    |                           |              | terminating its BIS-BIS   |
  7684.    |                           |              | connections.              |
  7685.    +---------------------------+--------------+---------------------------+
  7686.    | CloseWaitDelay            | 150 s        | The time that a FSM       |
  7687.    |                           |              | remains in CLOSE-WAIT     |
  7688.    |                           |              | state before entering the |
  7689.    |                           |              | CLOSED state.             |
  7690.    +---------------------------+--------------+---------------------------+
  7691.  
  7692.        REGISTERED AS { IDRP.nboi adjacentBIS-idrpConfig(2) };
  7693.  
  7694.    11.2  Managed objects for IDRP
  7695.  
  7696.       idrpConfig MANAGED OBJECT CLASS
  7697.  
  7698.        DERIVED FROM "Rec. X.721 | ISO/IEC 10165-2 : 1992": top;
  7699.        CHARACTERIZED BY idrpConfigPkg-P PACKAGE;
  7700.        REGISTERED AS { IDRP.moi idrpConfig (1)};
  7701.  
  7702.    Kunzinger                     ISO/IEC 10747                 [ Page 159 ]
  7703.  
  7704.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7705.  
  7706.    +----------------------------------------------------------------------+
  7707.    |                                                                      |
  7708.    |                                contain                               |
  7709.    |                                                                      |
  7710.    +----------------------------------------------------------------------+
  7711.    Figure 9. IDRP Naming and Containment Hierarchy
  7712.  
  7713.       adjacentBIS MANAGED OBJECT CLASS
  7714.  
  7715.        DERIVED FROM "Rec. X.721 | ISO/IEC 10165-2: 1992": top;
  7716.        CHARACTERIZED BY adjacentBISPkg-P PACKAGE;
  7717.        REGISTERED AS { IDRP.moi adjacentBIS(2) };
  7718.  
  7719.    11.3  Packages for IDRP
  7720.  
  7721.       idrpConfigPkg-P PACKAGE
  7722.  
  7723.        BEHAVIOUR iDRPBasicImportedAlarmNotifications-B
  7724.  
  7725.         BEHAVIOUR DEFINED AS %Imports the communicationsAlarm notification
  7726.         from ISO/IEC 10165-2.  It is used to report the following protocol
  7727.         events:
  7728.  
  7729.          errorBISPDUsent:  Generated when a BISPDU is received with an
  7730.          error in its format.  The significance sub-parameter of each item
  7731.          of additionalInformation shall be set to the value `False' (i.e.,
  7732.          not significant) so that a managing system receiving the event
  7733.          report will be less likely to reject  it.  The probableCause shall
  7734.          be set to NLM.communicationsProtocolError.   The perceivedSeverity
  7735.          shall be set to 'Minor'.  A subsequent communicationsAlarm with a
  7736.          perceivedSeverity value of 'Cleared' shall not be generated.  No
  7737.          other fields or parameters shall be used, with the exception of
  7738.          further parameters in the AdditionalInformation field, as follows:
  7739.  
  7740.          a)  RemoteBISNET for BIS-BIS connection--using the
  7741.              notificationRemoteBISNET parameter
  7742.          b)  BISPDU error code (see 6.4 and 7.20)--this reports the error
  7743.              code that will be sent in the ERROR PDU using the parameter
  7744.              "notificationBISPDUerrorcode".
  7745.          c)  BIS error subcode (see 6.4 and 7.20)--this reports the subcode
  7746.              that will be sent using the parameter
  7747.              "notificationBISerrorsubcode".
  7748.          d)  BISPDU error information (see 6.4 and 7.20)--this reports the
  7749.              data from the received BISPDU that will be used to diagnose
  7750.              the problem for the Notification.  The parameter
  7751.  
  7752.    Kunzinger                     ISO/IEC 10747                 [ Page 160 ]
  7753.  
  7754.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7755.  
  7756.              "notificationBISPDUerrorinfo" will be used to report this
  7757.              information.
  7758.  
  7759.          OpenBISpduRDCError:  generated when an OPEN BISPDU is received
  7760.          from another BIS in the same routeing domain, and the remote BIS
  7761.          is not a member of identically the same confederations as the
  7762.          local BIS.  The significance sub-parameter of each item of
  7763.          additionalInformation shall be set to the value 'False' (i.e., not
  7764.          significant) so that a managing system receiving the event report
  7765.          will be less likely to reject  it.  The probableCause shall be set
  7766.          to NLM.communicationsProtocolError.   The perceivedSeverity shall
  7767.          be set to 'Minor'.  A subsequent communicationsAlarm with a
  7768.          perceivedSeverity value of 'Cleared' shall not be generated.  No
  7769.          other fields or parameters shall be used, with the exception of
  7770.          further parameters in the AdditionalInformation field, as follows:
  7771.  
  7772.          a)  Remote BIS NET for this BIS-BIS connection--using the
  7773.              "notificationRemoteBISNET" parameter.
  7774.          b)  Remote BIS Routeing Domain Confederation (RDC) information
  7775.              using the "notificationRemoteRDCConfig" parameter.
  7776.          c)  Local BIS Routeing Domain Confederation (RDC) information
  7777.              using the "notificationLocalRDCConfig" parameter.
  7778.  
  7779.          errorBISPDUconnectionclose:  generated when an ERROR PDU has been
  7780.          received from a remote BIS.  The significance sub-parameter of
  7781.          each item of additionalInformation shall be set to the value
  7782.          'False' (i.e., not significant) so that a managing system
  7783.          receiving the event report will be less likely to reject  it.  The
  7784.          probableCause shall be set to NLM.communicationsProtocolError.
  7785.          The perceivedSeverity shall be set to 'Minor'.  A subsequent
  7786.          communicationsAlarm with a perceivedSeverity value of 'Cleared'
  7787.          shall not be generated.  No other fields or parameters shall be
  7788.          used, with the exception of further parameters in the
  7789.          AdditionalInformation field, as follows:
  7790.  
  7791.          a)  RemoteBISNET for BIS-BIS connection--using the
  7792.              "notificationRemoteBISNET" parameter
  7793.          b)  BISPDU error code (see 6.4 and 7.20)--this reports the error
  7794.              code that will be sent in the ERROR PDU using the parameter
  7795.              "notificationBISPDUerrorcode".
  7796.          c)  BIS error subcode (see 6.4 and 7.20)--this reports the subcode
  7797.              that will be sent using the parameter
  7798.              "notificationBISerrorsubcode".
  7799.          d)  BISPDU error information (see 6.4 and 7.20)--this reports the
  7800.              data from the received BISPDU that will be used to diagnose
  7801.              the problem for the Notification.  The parameter
  7802.  
  7803.    Kunzinger                     ISO/IEC 10747                 [ Page 161 ]
  7804.  
  7805.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7806.  
  7807.              "notificationBISPDUerrorinfo" will be used to report this
  7808.              information.
  7809.  
  7810.          CorruptAdjRIBIn:  generated when the local method of checking the
  7811.          Adj-RIB-In has found an error.  All Adj-RIBs-In are being purged.
  7812.          The significance sub-parameter of each item of
  7813.          additionalInformation shall be set to the value 'False' (i.e., not
  7814.          significant) so that a managing system receiving the event report
  7815.          will be less likely to reject  it.  The probableCause shall be set
  7816.          to NLM.communicationsProtocolError.   The perceivedSeverity shall
  7817.          be set to 'Minor'.  A subsequent communicationsAlarm with a
  7818.          perceivedSeverity value of 'Cleared' shall not be generated.  No
  7819.          other fields or parameters shall be used, with the exception of
  7820.          further parameters in the AdditionalInformation field, as follows:
  7821.  
  7822.          a)  The number of integrity check failures detected in the
  7823.              parameter "notificationtRIBIntegrityFailure"
  7824.          b)  The remote BIS associated with this Adjacent RIB in the
  7825.              parameter "notificationRemoteBISNET".
  7826.  
  7827.          PacketBomb:  generated when the local BIS received a BISPDU other
  7828.          than an OPEN PDU, from an unknown BIS.  The Source-BIS-NET is
  7829.          reported in the AdditionalInformation field using the
  7830.          "notificationSourceBIS-NET parameter.  The significance
  7831.          sub-parameter of each item of additionalInformation shall be set
  7832.          to the value 'False' (i.e., not significant) so that a managing
  7833.          system receiving the event report will be less likely to reject
  7834.          it.  The probableCause shall be set to
  7835.          NLM.communicationsProtocolError.   The perceivedSeverity shall be
  7836.          set to 'Minor'.  A subsequent communicationsAlarm with a
  7837.          perceivedSeverity value of 'Cleared' shall not be generated.  No
  7838.          other fields or parameters shall be used, with the exception of
  7839.          further parameters in the AdditionalInformation field, as follows.
  7840.          These parameters are created from the OPEN PDU values:
  7841.  
  7842.          a)  notificationSourceBISNET--NET of remote BIS sending packet
  7843.              bomb
  7844.          b)  notificationSourceBISrdi--RDI of remote BIS sending packet
  7845.              bomb
  7846.          c)  notificationSourceBISrdc--RDC information for remote BIS
  7847.              sending packet bomb
  7848.  
  7849.          connectRequestBISUnknown:  generated when the local BIS has
  7850.          received an OPEN BISPDU from an unknown BIS.  The significance
  7851.          sub-parameter of each item of additionalInformation shall be set
  7852.          to the value 'False' (i.e., not significant) so that a managing
  7853.          system receiving the event report will be less likely to reject
  7854.  
  7855.    Kunzinger                     ISO/IEC 10747                 [ Page 162 ]
  7856.  
  7857.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7858.  
  7859.          it.  The probableCause shall be set to
  7860.          NLM.communicationsProtocolError.   The perceivedSeverity shall be
  7861.          set to 'Minor'.  A subsequent communicationsAlarm with a
  7862.          perceivedSeverity value of 'Cleared' shall not be generated.  No
  7863.          other fields or parameters shall be used, with the exception of
  7864.          further parameters in the AdditionalInformation field, as follows.
  7865.          These parameters are created from the OPEN PDU values:
  7866.  
  7867.          a)  notificationSourceBISNET--NET of remote BIS sending OPEN PDU
  7868.          b)  notificationSourceBISrdi--RDI of remote BIS sending OPEN PDU
  7869.          c)  notificationSourceBISrdc--RDC information for remote BIS
  7870.              sending OPEN PDU
  7871.  
  7872.          connectionRequested:  generated when the local BIS has received an
  7873.          OPEN BISPDU from an adjacent BIS, the FSM for the for the BIS-BIS
  7874.          connection is in the CLOSED state, and the managed object
  7875.          ListenForOpen has the value TRUE.  The significance sub-parameter
  7876.          of each item of additionalInformation shall be set to the value
  7877.          'False' (i.e., not significant) so that a managing system
  7878.          receiving the event report will be less likely to reject  it.  The
  7879.          probableCause shall be set to NLM.communicationsProtocolError.
  7880.          The perceivedSeverity shall be set to 'Minor'.  A subsequent
  7881.          communicationsAlarm with a perceivedSeverity value of 'Cleared'
  7882.          shall not be generated.  No other fields or parameters shall be
  7883.          used, with the exception of further parameters in the
  7884.          AdditionalInformation field, as follows.  These parameters are
  7885.          created from the OPEN PDU values:
  7886.  
  7887.          a)  notificationSourceBISNET--NET of remote BIS sending OPEN PDU
  7888.          b)  notificationSourceBISNET--NET of remote BIS sending OPEN PDU
  7889.          c)  notificationSourceBISrdi--RDI of remote BIS sending OPEN PDU
  7890.          d)  notificationSourceBISrdc--RDC information for remote BIS
  7891.              sending OPEN PDU
  7892.  
  7893.          EnterFSMStateMachine:  generated when the IDRP FSM state machine
  7894.          used to communicate with another BIS is started.  The
  7895.          RemoteBis-NET is reported in the additionalInformation field using
  7896.          the "notificationRemoteBISNET" parameter.  The significance
  7897.          sub-parameter of each item of additionalInformation shall be set
  7898.          to the value 'False' (i.e., not significant) so that a managing
  7899.          system receiving the event report will be less likely to reject
  7900.          it.  The probableCause shall be set to
  7901.          NLM.communicationsProtocolError.   The perceivedSeverity shall be
  7902.          set to 'Minor'.  A subsequent communicationsAlarm with a
  7903.          perceivedSeverity value of 'Cleared' shall not be generated.  No
  7904.          other fields or parameters shall be used.%;,
  7905.  
  7906.    Kunzinger                     ISO/IEC 10747                 [ Page 163 ]
  7907.  
  7908.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7909.  
  7910.        iDRPBasicImportedInfoNotifications-B
  7911.         BEHAVIOUR DEFINED AS %Imports the communicationsInformation
  7912.         notification from ISO/IEC 10165-5.  It is used to report the
  7913.         following protocol events:
  7914.  
  7915.          EnterFSMState:  generated when a BIS starts the IDRP FSM state
  7916.          machine to establish a connection with a remote BIS.  The
  7917.          RemoteBis-NET is reported in the AdditionalInformation field using
  7918.          the "notificationRemoteBISNET" parameter.  The significant
  7919.          subparameter of each item of AdditionalInformation shall be set to
  7920.          "false" (that is, not significant) so that a managing system
  7921.          receiving the event report will be less likely to reject it.
  7922.  
  7923.          FSMStateChange:  generated when the IDRP FSM used to communicate
  7924.          with another BIS transitions from one state to another.  The
  7925.          RemoteBis-NET is reported in the AdditionalInformation field using
  7926.          the "notificationRemoteBISNET" parameter.  The significant
  7927.          sub-parameter of each item ofAdditionalInformation shall be set to
  7928.          "false" (that is, not significant) so that a managing system
  7929.          receiving the event report will be less likely to reject it.%;;
  7930.  
  7931.        ATTRIBUTES
  7932.         authenticationTypeCode
  7933.          INITIAL VALUE DERIVATION RULE
  7934.          supplyOnCreate-B
  7935.          GET,
  7936.         capacity GET,
  7937.         externalBISNeighbor GET-REPLACE,
  7938.         holdTime GET,
  7939.         idrpConfigID
  7940.          INITIAL VALUE DERIVATION RULE
  7941.          supplyOnCreate-B
  7942.          GET,
  7943.         internalBIS GET-REPLACE,
  7944.         internalSystems GET-REPLACE,
  7945.         intraIS GET-REPLACE,
  7946.         localRDI GET-REPLACE,
  7947.         localSNPA GET-REPLACE,
  7948.         locExpense GET,
  7949.         maxCPUOverloadTimer GET,
  7950.         maxPDULocal GET,
  7951.         maxRIBIntegrityCheck GET,
  7952.         maxRIBIntegrityTimer GET,
  7953.         minRDOriginationTimer GET,
  7954.         multiExit GET-REPLACE,
  7955.         priority GET,
  7956.         rdcConfig GET-REPLACE,
  7957.  
  7958.    Kunzinger                     ISO/IEC 10747                 [ Page 164 ]
  7959.  
  7960.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  7961.  
  7962.         rdLRE GET,
  7963.         rdTransitDelay GET,
  7964.         retransmissionTime GET,
  7965.         ribAttsSet GET,
  7966.         routeServer GET-REPLACE,
  7967.         version GET;
  7968.        ACTIONS
  7969.         "GMI":activate,
  7970.         "GMI":deactivate;
  7971.        NOTIFICATIONS "REC X.721 | ISO/IEC 10165-2:1992":
  7972.        communicationsAlarm
  7973.         notificationBISerrorssubcode
  7974.         notificationBISPDUerrorcode
  7975.         notificationBISPDUerrorinfo
  7976.         notificationLocalRDCconfig
  7977.         notificationRIBIntegrityFailure
  7978.         notificationRemoteBISNET
  7979.         notificationRemoteRDCconfig
  7980.         notificationSourceBISNET
  7981.         notificationSourceBISrdc
  7982.         notificationSourceBISrdi,
  7983.        "REC X.723 | ISO/IEC 10165-5: 1992": communicationsInformation
  7984.         notificationRemoteBISNET;
  7985.        REGISTERED AS {IDRP.poi idrpConfigPkg-P (1)};
  7986.  
  7987.       adjacentBISPkg-P PACKAGE
  7988.  
  7989.        ATTRIBUTES
  7990.         bisNegotiatedVersion GET,
  7991.         bisNet GET,
  7992.         bisPeerSNPAs GET,
  7993.         bisRDC GET
  7994.           REPLACE-WITH-DEFAULT
  7995.           DEFAULT VALUE IDRP.nullRDC
  7996.           GET-REPLACE,
  7997.         bisRDI GET
  7998.           REPLACE-WITH-DEFAULT
  7999.           DEFAULT VALUE IDRP.nullRDI
  8000.           GET-REPLACE,
  8001.         closeWaitDelayTimer GET,
  8002.         holdTimer GET,
  8003.         keepAlivesSinceLastUpdate GET,
  8004.         keepAliveTimer GET,
  8005.         lastAckRecv GET
  8006.          INITIAL VALUE IDRP.zero,
  8007.         lastAckSent GET
  8008.          INITIAL VALUE IDRP.zero,
  8009.  
  8010.    Kunzinger                     ISO/IEC 10747                 [ Page 165 ]
  8011.  
  8012.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8013.  
  8014.         lastSeqNoRecv GET
  8015.          INITIAL VALUE IDRP.zero,
  8016.         lastPriorSeqNo GET-REPLACE,
  8017.         lastSeqNoSent GET
  8018.          INITIAL VALUE IDRP.zero,
  8019.         listenForOPEN GET,
  8020.         maxPDUPeer GET,
  8021.         minRouteAdvertisementInterval GET,
  8022.         minRouteAdvertisementTimer GET,
  8023.         outstandingPDUs GET,
  8024.         state GET,
  8025.         totalBISPDUsIn GET,
  8026.         totalBISPDUsOut GET,
  8027.         updatesIn GET,
  8028.         updatesOut GET;
  8029.        ATTRIBUTE GROUPS
  8030.         "GMI":counters
  8031.          updatesIn
  8032.          updatesOut
  8033.          totalBISPDUsIn
  8034.          totalBISPDUsOut
  8035.          keepAlivesSinceLastUpdate,
  8036.         "DMI":state
  8037.          state;
  8038.        ACTIONS
  8039.         "GMI":activate,
  8040.         "GMI":deactivate;
  8041.        REGISTERED AS { IDRP.poi adjacentBISPkg-P (2) }
  8042.  
  8043.    11.4  Attribute definitions
  8044.  
  8045.       authenticationTypeCode ATTRIBUTE
  8046.  
  8047.        WITH ATTRIBUTE SYNTAX IDRP.AuthenticationCode;
  8048.        MATCHES FOR EQUALITY, ORDERING;
  8049.        BEHAVIOUR authenticationTypeCode-B
  8050.         BEHAVIOUR DEFINED AS Indication of which authentication mechanism
  8051.         will be used;;
  8052.        REGISTERED AS { IDRP.atoi authenticationTypeCode(1) };
  8053.  
  8054.       bisNegotiatedVersion ATTRIBUTE
  8055.  
  8056.        WITH ATTRIBUTE SYNTAX IDRP.BisNegotiatedVersion;
  8057.        MATCHES FOR EQUALITY, ORDERING;
  8058.        BEHAVIOUR bisNegotiatedVersion-B
  8059.  
  8060.    Kunzinger                     ISO/IEC 10747                 [ Page 166 ]
  8061.  
  8062.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8063.  
  8064.         BEHAVIOUR DEFINED AS The negotiated version of IDRP protocol  this
  8065.         BIS to BIS connection is using.;;
  8066.        REGISTERED AS { IDRP.atoi bisNegotiatedVersion(2) };
  8067.  
  8068.       bisNet ATTRIBUTE
  8069.  
  8070.        WITH ATTRIBUTE SYNTAX IDRP.BisNet;
  8071.        MATCHES FOR EQUALITY;
  8072.        BEHAVIOUR bisNet-B
  8073.         BEHAVIOUR DEFINED AS The NET of the remote BIS of this BIS to BIS
  8074.         connection.;;
  8075.        REGISTERED AS { IDRP.atoi bisNet(3) };
  8076.  
  8077.       bisPeerSNPAs ATTRIBUTE
  8078.  
  8079.        WITH ATTRIBUTE SYNTAX IDRP.BisPeersSNPAs;
  8080.        MATCHES FOR EQUALITY;
  8081.        BEHAVIOUR bisPeerSNPAs-B
  8082.         BEHAVIOUR DEFINED AS The SNPAs announced by the remote BIS of this
  8083.         BIS to BIS connection.;;
  8084.        REGISTERED AS { IDRP.atoi bisPeerSNPAs(4) };
  8085.  
  8086.       bisRDC ATTRIBUTE
  8087.  
  8088.        WITH ATTRIBUTE SYNTAX IDRP.Rdcgroup;
  8089.        MATCHES FOR EQUALITY;
  8090.        BEHAVIOUR bisRDC-B
  8091.         BEHAVIOUR DEFINED AS The RDCs the remote BIS belong to, as reported
  8092.         in the OPEN PDU received from the remote BIS;;
  8093.        REGISTERED AS { IDRP.atoi bisRDC(5) };
  8094.  
  8095.       bisRDI ATTRIBUTE
  8096.  
  8097.        WITH ATTRIBUTE SYNTAX IDRP.Rdi;
  8098.        MATCHES FOR EQUALITY;
  8099.        BEHAVIOUR bisRDI-B
  8100.         BEHAVIOUR DEFINED AS The RDI of the remote BIS participating in
  8101.         this BIS-BIS connection.;;
  8102.        REGISTERED AS { IDRP.atoi bisRDI(6) };
  8103.  
  8104.       capacity ATTRIBUTE
  8105.  
  8106.        WITH ATTRIBUTE SYNTAX IDRP.Capacity;
  8107.        MATCHES FOR EQUALITY, ORDERING;
  8108.        BEHAVIOUR capacity-B
  8109.         BEHAVIOUR DEFINED AS The traffic carrying capacity of this Routeing
  8110.         Domain.;;
  8111.  
  8112.    Kunzinger                     ISO/IEC 10747                 [ Page 167 ]
  8113.  
  8114.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8115.  
  8116.        REGISTERED AS { IDRP.atoi capacity(7) };
  8117.  
  8118.       closeWaitDelayTimer ATTRIBUTE
  8119.  
  8120.        DERIVED FROM "GMI":timer;
  8121.        BEHAVIOUR closeWaitDelayTimer-B
  8122.         BEHAVIOUR DEFINED AS The timer that measures in seconds the time
  8123.         that has elapsed since the BIS FSM entered the CLOSE-WAIT state.
  8124.         Upon timer expiration, the BIS FSM will enter the CLOSED state;;
  8125.        REGISTERED AS { IDRP.atoi closeWaitDelayTimer(8) };
  8126.  
  8127.       externalBISNeighbor ATTRIBUTE
  8128.  
  8129.        WITH ATTRIBUTE SYNTAX IDRP.BISGroup;
  8130.        MATCHES FOR EQUALITY;
  8131.        BEHAVIOUR externalBISNeighbor-B
  8132.         BEHAVIOUR DEFINED AS The set of NETs which identify the BISs in
  8133.         adjacent routeing domain that are reachable via a single subnetwork
  8134.         hop.;;
  8135.        REGISTERED AS { IDRP.atoi externalBISNeighbor(9) };
  8136.  
  8137.       holdTime ATTRIBUTE
  8138.  
  8139.        WITH ATTRIBUTE SYNTAX IDRP.Holdtime;
  8140.        MATCHES FOR EQUALITY, ORDERING;
  8141.        BEHAVIOUR holdTime-B
  8142.  
  8143.         BEHAVIOUR DEFINED AS The maximum number of seconds that may elapse
  8144.         between the receipt of two successive BISPDUs from the adjacent BIS
  8145.         of any of the following types:  KEEPALIVE, UPDATE, RIB CHECKSUM
  8146.         PDUs or RIB REFRESH PDUs;;
  8147.  
  8148.        REGISTERED AS { IDRP.atoi holdTime(10) };
  8149.  
  8150.       holdTimer ATTRIBUTE
  8151.  
  8152.        DERIVED FROM "GMI":timer;
  8153.        BEHAVIOUR holdTimer-B
  8154.         BEHAVIOUR DEFINED AS The timer that measures in seconds the time
  8155.         that has elapsed since the local BIS's most recent reception from
  8156.         the peer BIS of any of the following types of BISPDUs:  KEEPALIVE,
  8157.         UPDATE, RIB REFRESH;;
  8158.        REGISTERED AS { IDRP.atoi holdTimer(11) };
  8159.  
  8160.       idrpConfigID ATTRIBUTE
  8161.  
  8162.        WITH ATTRIBUTE SYNTAX IDRP.NetworkEntityTitle;
  8163.  
  8164.    Kunzinger                     ISO/IEC 10747                 [ Page 168 ]
  8165.  
  8166.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8167.  
  8168.        MATCHES FOR EQUALITY;
  8169.        BEHAVIOUR idrpConfigID-B
  8170.         BEHAVIOUR DEFINED AS The NET of the local BIS.;;
  8171.        REGISTERED AS { IDRP.atoi idrpConfigID(50) };
  8172.  
  8173.       internalBIS ATTRIBUTE
  8174.  
  8175.        WITH ATTRIBUTE SYNTAX IDRP.BISGroup;
  8176.        MATCHES FOR EQUALITY;
  8177.        BEHAVIOUR internalBIS-B
  8178.         BEHAVIOUR DEFINED AS The set of NETs which identify the BISs in
  8179.         this routeing domain;;
  8180.        REGISTERED AS { IDRP.atoi internalBIS(12) };
  8181.  
  8182.       internalSystems ATTRIBUTE
  8183.  
  8184.        WITH ATTRIBUTE SYNTAX IDRP.SystemIdGroup;
  8185.        MATCHES FOR EQUALITY;
  8186.        BEHAVIOUR internalSystems-B
  8187.         BEHAVIOUR DEFINED AS The set of NET and NSAP prefixes that identify
  8188.         the systems in this routeing domain for which the BIS constructs
  8189.         this routeing domain from which the BIS constructs network layer
  8190.         reachability information;;
  8191.        REGISTERED AS { IDRP.atoi internalSystems(13) };
  8192.  
  8193.       intraIS ATTRIBUTE
  8194.  
  8195.        WITH ATTRIBUTE SYNTAX IDRP.BISGroup;
  8196.        MATCHES FOR EQUALITY;
  8197.        BEHAVIOUR intraIS-B
  8198.         BEHAVIOUR DEFINED AS The set of NETs of the ISs to which the local
  8199.         BIS may deliver an inbound NPDU whose destination lies within the
  8200.         BIS's routeing domain.  These ISs must be located on the same
  8201.         common subnetwork as this local BIS, and must be capable of
  8202.         delivering NPDUs to destinations that are located within the local
  8203.         BIS's routeing domain.;;
  8204.        REGISTERED AS { IDRP.atoi intraIS(14) };
  8205.  
  8206.       keepAlivesSinceLastUpdate ATTRIBUTE
  8207.  
  8208.        DERIVED FROM "GMI":nonWrapping64BitCounter;
  8209.        BEHAVIOUR keepAlivesSinceLastUpdate-B
  8210.         BEHAVIOUR DEFINED AS The number of KEEPALIVE BISPDUS received by
  8211.         this BIS from the remote BIS since this last UPDATE BISPDU.;;
  8212.        REGISTERED AS { IDRP.atoi keepAlivesSinceLastUpdate(15) };
  8213.  
  8214.       keepAliveTimer ATTRIBUTE
  8215.  
  8216.    Kunzinger                     ISO/IEC 10747                 [ Page 169 ]
  8217.  
  8218.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8219.  
  8220.        DERIVED FROM "GMI":timer;
  8221.        BEHAVIOUR keepAliveTimer-B
  8222.         BEHAVIOUR DEFINED AS The timer that measures in seconds the time
  8223.         that has elapsed since the previous KEEPALIVE PDU from the adjacent
  8224.         BIS was received by the local BIS.  Upon its expiration, the BIS
  8225.         will send a BISPDU to its peer BIS;;
  8226.        REGISTERED AS { IDRP.atoi keepAliveTimer(16) };
  8227.  
  8228.       lastAckRecv ATTRIBUTE
  8229.  
  8230.        WITH ATTRIBUTE SYNTAX IDRP.Integer;
  8231.        MATCHES FOR EQUALITY, ORDERING;
  8232.        BEHAVIOUR lastAckRecv-B
  8233.         BEHAVIOUR DEFINED AS The number of the last ack received from the
  8234.         remote BIS by this local BIS on this BIS to BIS connection.;;
  8235.        REGISTERED AS { IDRP.atoi lastAckRecv(17) };
  8236.  
  8237.       lastAckSent ATTRIBUTE
  8238.  
  8239.        WITH ATTRIBUTE SYNTAX IDRP.Integer;
  8240.        MATCHES FOR EQUALITY, ORDERING;
  8241.        BEHAVIOUR lastAckSent-B
  8242.         BEHAVIOUR DEFINED AS The number of the last ack sent to the remote
  8243.         BIS from this local BIS on this BIS to BIS connection.;;
  8244.        REGISTERED AS { IDRP.atoi lastAckSent(18) };
  8245.  
  8246.       lastSeqNoRecv ATTRIBUTE
  8247.  
  8248.        WITH ATTRIBUTE SYNTAX IDRP.Integer;
  8249.        MATCHES FOR EQUALITY, ORDERING;
  8250.        BEHAVIOUR lastSeqNoRecv-B
  8251.         BEHAVIOUR DEFINED AS The last sequence number received from the
  8252.         remote BIS by this local BIS on this BIS to BIS connection.;;
  8253.        REGISTERED AS { IDRP.atoi lastSeqNoRecv(19) };
  8254.  
  8255.       lastPriorSeqNo ATTRIBUTE
  8256.  
  8257.        WITH ATTRIBUTE SYNTAX IDRP.Integer;
  8258.        MATCHES FOR EQUALITY, ORDERING;
  8259.        BEHAVIOUR lastPriorSeqNo-B
  8260.         BEHAVIOUR DEFINED AS The last sequence number sent to the remote
  8261.         BIS immediately before the local BIS enters the CLOSED state;;
  8262.        REGISTERED AS { IDRP.atoi lastPriorSeqNo(49) };
  8263.  
  8264.       lastSeqNoSent ATTRIBUTE
  8265.  
  8266.        WITH ATTRIBUTE SYNTAX IDRP.Integer;
  8267.  
  8268.    Kunzinger                     ISO/IEC 10747                 [ Page 170 ]
  8269.  
  8270.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8271.  
  8272.        MATCHES FOR EQUALITY, ORDERING;
  8273.        BEHAVIOUR lastSeqNoSent-B
  8274.         BEHAVIOUR DEFINED AS The last sequence number sent to the remote
  8275.         BIS from this local BIS on this BIS to BIS connection.;;
  8276.        REGISTERED AS { IDRP.atoi lastSeqNoSent(20) };
  8277.  
  8278.       listenForOPEN ATTRIBUTE
  8279.  
  8280.        WITH ATTRIBUTE SYNTAX IDRP.Boolean;
  8281.        MATCHES FOR EQUALITY;
  8282.        BEHAVIOUR listenForOPEN-B
  8283.         BEHAVIOUR DEFINED AS The boolean value determines how the Finite
  8284.         State machnine will react to reception of an OPEN PDU while it is
  8285.         in the CLOSED state;;
  8286.        REGISTERED AS { IDRP.atoi listenForOPEN(21) };
  8287.  
  8288.       localRDI ATTRIBUTE
  8289.  
  8290.        WITH ATTRIBUTE SYNTAX IDRP.Rdi;
  8291.        MATCHES FOR EQUALITY;
  8292.        BEHAVIOUR localRDI-B
  8293.         BEHAVIOUR DEFINED AS The Routing Domain Identifier for the routeing
  8294.         domain where this BIS is located;;
  8295.        REGISTERED AS { IDRP.atoi localRDI(22) };
  8296.  
  8297.       localSNPA ATTRIBUTE
  8298.  
  8299.        WITH ATTRIBUTE SYNTAX IDRP.LocalSNPAs;
  8300.        MATCHES FOR EQUALITY;
  8301.        BEHAVIOUR localSNPA-B
  8302.         BEHAVIOUR DEFINED AS The list of SNPAs of this BIS;;
  8303.        REGISTERED AS { IDRP.atoi localSNPA(23) };
  8304.  
  8305.       locExpense ATTRIBUTE
  8306.  
  8307.        WITH ATTRIBUTE SYNTAX IDRP.LocExpense;
  8308.        MATCHES FOR EQUALITY, ORDERING;
  8309.        BEHAVIOUR locExpense-B
  8310.         BEHAVIOUR DEFINED AS The monetary expense of transiting this
  8311.         Routeing Domain.  The attribute contains an indication of cost and
  8312.         the units in which it is calculated;;
  8313.        REGISTERED AS { IDRP.atoi locExpense(24) };
  8314.  
  8315.       maxCPUOverloadTimer ATTRIBUTE
  8316.  
  8317.        DERIVED FROM "GMI":timer;
  8318.        BEHAVIOUR maxCPUOverloadTimer-B
  8319.  
  8320.    Kunzinger                     ISO/IEC 10747                 [ Page 171 ]
  8321.  
  8322.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8323.  
  8324.         BEHAVIOUR DEFINED AS The timer that measures in seconds the time
  8325.         that has elapsed since the local BIS has detected that its CPU has
  8326.         become overloaded.  See Annex H;;
  8327.        REGISTERED AS { IDRP.atoi maxCPUOverloadTimer(25) };
  8328.  
  8329.       maxPDULocal ATTRIBUTE
  8330.  
  8331.        WITH ATTRIBUTE SYNTAX IDRP.MaxPDUSize;
  8332.        MATCHES FOR EQUALITY, ORDERING;
  8333.        BEHAVIOUR maxPDULocal-B
  8334.  
  8335.         BEHAVIOUR DEFINED AS The maximum number of octets that a peer BIS
  8336.         can include in a BISPDU that it sends to this BIS.  The local BIS
  8337.         informs its peer of this value via the OPEN PDU sent to the peer;;
  8338.  
  8339.        REGISTERED AS { IDRP.atoi maxPDULocal(26) };
  8340.  
  8341.       maxPDUPeer ATTRIBUTE
  8342.  
  8343.        WITH ATTRIBUTE SYNTAX IDRP.MaxPDUSize;
  8344.        MATCHES FOR EQUALITY, ORDERING;
  8345.        BEHAVIOUR maxPDUPeer-B
  8346.  
  8347.         BEHAVIOUR DEFINED AS The maximum number of octets that this BIS
  8348.         will include in a BISPDU that it sends to its peer BIS.  This value
  8349.         is obtained from information in the header of the peer BIS's OPEN
  8350.         PDU;;
  8351.  
  8352.        REGISTERED AS { IDRP.atoi maxPDUPeer(27) };
  8353.  
  8354.       maxRIBIntegrityCheck ATTRIBUTE
  8355.  
  8356.        WITH ATTRIBUTE SYNTAX IDRP.MaxRIBIntegrityCheck;
  8357.        MATCHES FOR EQUALITY, ORDERING;
  8358.        BEHAVIOUR maxRIBIntegrityCheck-B
  8359.         BEHAVIOUR DEFINED AS The maximum time in seconds between checking
  8360.         of the Adj-RIBs-In by a local mechanism.  If corrupt Adj-RIB-In is
  8361.         detected, the BIS shall purge the offending Adj-RIB-In;;
  8362.        REGISTERED AS { IDRP.atoi maxRIBIntegrityCheck(28) };
  8363.  
  8364.       maxRIBIntegrityTimer ATTRIBUTE
  8365.  
  8366.        DERIVED FROM "GMI":timer;
  8367.        BEHAVIOUR maxRIBIntegrityTimer-B
  8368.         BEHAVIOUR DEFINED AS The timer that measures in seconds the time
  8369.         remaining until the Adj-RIBs-In must be checked by a local
  8370.  
  8371.    Kunzinger                     ISO/IEC 10747                 [ Page 172 ]
  8372.  
  8373.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8374.  
  8375.         mechanism.  If a corrupt Adj-RIB-In is detected, the BIS shall
  8376.         purge the offending Adj-RIB-In;;
  8377.        REGISTERED AS { IDRP.atoi maxRIBIntegrityTimer(29) };
  8378.  
  8379.       minRDOriginationTimer ATTRIBUTE
  8380.  
  8381.        DERIVED FROM "GMI":timer;
  8382.        BEHAVIOUR minRDOriginationTimer-B
  8383.         BEHAVIOUR DEFINED AS The timer that measures in seconds the time
  8384.         that has elapsed since the advertisement by the local BIS of an
  8385.         UPDATE PDU that reported changes within the local BIS's routeing
  8386.         domain.  See 7.17.3.2;;
  8387.        REGISTERED AS { IDRP.atoi minRDOriginationTimer(30) };
  8388.  
  8389.       minRouteAdvertisementInterval ATTRIBUTE
  8390.  
  8391.        WITH ATTRIBUTE SYNTAX IDRP.MinRouteAdvertisementInterval;
  8392.        MATCHES FOR EQUALITY, ORDERING;
  8393.        BEHAVIOUR minRouteAdvertisementInterval-B
  8394.         BEHAVIOUR DEFINED AS The minimum time in seconds that must elapse
  8395.         between successive advertisements by a single BIS to the adjacent
  8396.         BIS of routes to a particular destination;;
  8397.        REGISTERED AS { IDRP.atoi minRouteAdvertisementInterval(48) };
  8398.  
  8399.       minRouteAdvertisementTimer ATTRIBUTE
  8400.  
  8401.        DERIVED FROM "GMI":timer;
  8402.        BEHAVIOUR minRouteAdvertisementTimer-B
  8403.         BEHAVIOUR DEFINED AS The timer that measures in seconds the time
  8404.         that has elapsed since the advertisement by the local BIS to the
  8405.         adjacent BIS of a better route that was received from a BIS located
  8406.         in another routeing domain.  See 7.17.3.2.  The minimum value is 5
  8407.         seconds, and the maximum value is 1800 seconds;;
  8408.        REGISTERED AS { IDRP.atoi minRouteAdvertisementTimer(31) };
  8409.  
  8410.       multiExit ATTRIBUTE
  8411.  
  8412.        WITH ATTRIBUTE SYNTAX IDRP.Boolean;
  8413.        MATCHES FOR EQUALITY;
  8414.        BEHAVIOUR multiExit-B
  8415.         BEHAVIOUR DEFINED AS The indication whether this BIS will use the
  8416.         MULTI_EXIT_DISC attribute to decide between otherwise identical
  8417.         routes.  The multiExit parameter is used as the default value for
  8418.         the "multi_exit_disc" function in policy decisions.;;
  8419.        REGISTERED AS { IDRP.atoi multiExit(32) };
  8420.  
  8421.       outstandingPDUs ATTRIBUTE
  8422.  
  8423.    Kunzinger                     ISO/IEC 10747                 [ Page 173 ]
  8424.  
  8425.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8426.  
  8427.        WITH ATTRIBUTE SYNTAX IDRP.OutstandingPdus;
  8428.        MATCHES FOR EQUALITY, ORDERING;
  8429.        BEHAVIOUR outstandingPDUs-B
  8430.         BEHAVIOUR DEFINED AS The maximum number of BISPDUs that may be sent
  8431.         to this BIS without receiving an acknowledgement;;
  8432.        REGISTERED AS { IDRP.atoi outstandingPDUs(33) };
  8433.  
  8434.       priority ATTRIBUTE
  8435.  
  8436.        WITH ATTRIBUTE SYNTAX IDRP.Priority;
  8437.        MATCHES FOR EQUALITY, ORDERING;
  8438.        BEHAVIOUR priority-B
  8439.         BEHAVIOUR DEFINED AS The lowest value of ISO 8473 priority
  8440.         parameter that this RD will provide forwarding services for;;
  8441.        REGISTERED AS { IDRP.atoi priority(34) };
  8442.  
  8443.       rdcConfig ATTRIBUTE
  8444.  
  8445.        WITH ATTRIBUTE SYNTAX IDRP.RdcNest;
  8446.        MATCHES FOR EQUALITY;
  8447.        BEHAVIOUR rdcConfig-B
  8448.         BEHAVIOUR DEFINED AS A depiction of the nesting relationships that
  8449.         exist between the confederations to which the local BIS belongs.
  8450.         Each nesting relationship identifies a top level confederation to
  8451.         which the local routeing domain belongs; it also lists in order,
  8452.         from outermost to innernmost, a set of nested RDCs on a path
  8453.         between the local RDI and the top level confederation.  Since
  8454.         confederations can overlap one another, there may several paths
  8455.         between a given bottom level confederation and a given top level
  8456.         confederation.  Hence, same top level confederation and bottom
  8457.         level confederation could be contained in several of the elements
  8458.         that comprise this attribute.;;
  8459.        REGISTERED AS { IDRP.atoi rdcConfig(35) };
  8460.  
  8461.       rdLRE ATTRIBUTE
  8462.  
  8463.        WITH ATTRIBUTE SYNTAX IDRP.Rdlre;
  8464.        MATCHES FOR EQUALITY, ORDERING;
  8465.        BEHAVIOUR rdLRE-B
  8466.         BEHAVIOUR DEFINED AS A quantity that is proportional to the average
  8467.         error rate of a Routeing Domain and is expressed as an an integer
  8468.         in the range from 0 to <2^32> - 1.  The actual error rate is equal
  8469.         to the integer value divided by <2^32> -1.;;
  8470.        REGISTERED AS { IDRP.atoi rdLRE(36) };
  8471.  
  8472.       rdTransitDelay ATTRIBUTE
  8473.  
  8474.    Kunzinger                     ISO/IEC 10747                 [ Page 174 ]
  8475.  
  8476.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8477.  
  8478.        WITH ATTRIBUTE SYNTAX IDRP.RDTransitDelay;
  8479.        MATCHES FOR EQUALITY, ORDERING;
  8480.        BEHAVIOUR rdTransitDelay-B
  8481.         BEHAVIOUR DEFINED AS The estimated average delay across a Routeing
  8482.         Domain in units of 2 ms.;;
  8483.        REGISTERED AS { IDRP.atoi rdTransitDelay(37) };
  8484.  
  8485.       retransmissionTime ATTRIBUTE
  8486.  
  8487.        WITH ATTRIBUTE SYNTAX IDRP.RetransmissionTime;
  8488.        MATCHES FOR EQUALITY, ORDERING;
  8489.        BEHAVIOUR retransmissionTime-B
  8490.         BEHAVIOUR DEFINED AS The Number of seconds of between KEEPALIVE
  8491.         messages if no other traffic is sent;;
  8492.        REGISTERED AS { IDRP.atoi retransmissionTime(38) };
  8493.  
  8494.       ribAttsSet ATTRIBUTE
  8495.  
  8496.        WITH ATTRIBUTE SYNTAX IDRP.RibAttsSet;
  8497.        MATCHES FOR EQUALITY;
  8498.        BEHAVIOUR ribAttsSet-B
  8499.         BEHAVIOUR DEFINED AS The set of Rib Attributes supported by this
  8500.         BIS.;;
  8501.        REGISTERED AS { IDRP.atoi ribAttsSet(39) };
  8502.  
  8503.       routeServer ATTRIBUTE
  8504.  
  8505.        WITH ATTRIBUTE SYNTAX IDRP.Boolean;
  8506.        MATCHES FOR EQUALITY;
  8507.        BEHAVIOUR routeServer-B
  8508.         BEHAVIOUR DEFINED AS The indication whether this BIS may set the
  8509.         "IDRP_Server_Allowed" field in the NEXT_HOP attribute to X"FF" for
  8510.         BIS to BIS UPDATE BISPDUs.  If this variable is true then in
  8511.         accordance with local policy, the IDRP_Server_Allowed field may be
  8512.         set on some UPDATE BISPDUs that this BIS sends.  If this attribute
  8513.         is set to false, then no UPDATE BISPDUs will be sent by this BIS
  8514.         with NEXT_HOP attributes containing an "IDRP_Server flag" equal to
  8515.         X"FF".;;
  8516.        REGISTERED AS { IDRP.atoi routeServer(40) };
  8517.  
  8518.       state ATTRIBUTE
  8519.  
  8520.        WITH ATTRIBUTE SYNTAX IDRP.State;
  8521.        MATCHES FOR EQUALITY, ORDERING;
  8522.        BEHAVIOUR state-B
  8523.         BEHAVIOUR DEFINED AS The current state of BIS to BIS communication
  8524.         in the local BIS.;;
  8525.  
  8526.    Kunzinger                     ISO/IEC 10747                 [ Page 175 ]
  8527.  
  8528.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8529.  
  8530.        REGISTERED AS { IDRP.atoi state(41) };
  8531.  
  8532.       totalBISPDUsIn ATTRIBUTE
  8533.  
  8534.        DERIVED FROM "GMI":nonWrapping64BitCounter;
  8535.        BEHAVIOUR totalBISPDUsIn-B
  8536.         BEHAVIOUR DEFINED AS The number of BISPDUS received by this BIS
  8537.         from the remote BIS on this BIS to BIS connection.;;
  8538.        REGISTERED AS { IDRP.atoi totalBISPDUsIn(42) };
  8539.  
  8540.       totalBISPDUsOut ATTRIBUTE
  8541.  
  8542.        DERIVED FROM "GMI":nonWrapping64BitCounter;
  8543.        BEHAVIOUR totalBISPDUsOut-B
  8544.         BEHAVIOUR DEFINED AS The number of BISPDUS received by this BIS
  8545.         from the remote BIS on this BIS to BIS connection.;;
  8546.        REGISTERED AS { IDRP.atoi totalBISPDUsOut(43) };
  8547.  
  8548.       updatesIn ATTRIBUTE
  8549.  
  8550.        DERIVED FROM "GMI":nonWrapping64BitCounter;
  8551.        MATCHES FOR EQUALITY, ORDERING;
  8552.        BEHAVIOUR updatesIn-B
  8553.         BEHAVIOUR DEFINED AS The number of UPDATE BISPDUs received by this
  8554.         BIS on this BIS to BIS connection.;;
  8555.        REGISTERED AS { IDRP.atoi updatesIn(44) };
  8556.  
  8557.       updatesOut ATTRIBUTE
  8558.  
  8559.        DERIVED FROM "GMI":nonWrapping64BitCounter;
  8560.        BEHAVIOUR updatesOut-B
  8561.         BEHAVIOUR DEFINED AS The number of UPDATE BISPDUs sent by this BIS
  8562.         on this BIS to BIS connection.;;
  8563.        REGISTERED AS { IDRP.atoi updatesOut(45) };
  8564.  
  8565.       version ATTRIBUTE
  8566.  
  8567.        WITH ATTRIBUTE SYNTAX IDRP.Version;
  8568.        MATCHES FOR EQUALITY, ORDERING;
  8569.        BEHAVIOUR version-B
  8570.         BEHAVIOUR DEFINED AS The version of IDRP protocol this machine
  8571.         defaults to using.;;
  8572.        REGISTERED AS { IDRP.atoi version(46) };
  8573.  
  8574.  
  8575.    Kunzinger                     ISO/IEC 10747                 [ Page 176 ]
  8576.  
  8577.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8578.  
  8579.    11.5  Parameter definitions
  8580.  
  8581.       notificationRemoteBISNET PARAMETER
  8582.  
  8583.        CONTEXT EVENT-INFO;
  8584.        WITH SYNTAX IDRP.RemoteBISNetActionReply;
  8585.        BEHAVIOUR notificationRemoteBISNET-B
  8586.         BEHAVIOUR DEFINED AS The NET of the Remote BIS that this local BIS
  8587.         is starting IDRP protocol communication with.;;
  8588.        REGISTERED AS { IDRP.proi notificationRemoteBISNET(1) };
  8589.  
  8590.       notificationBISPDUerrorcode PARAMETER
  8591.  
  8592.        CONTEXT EVENT-INFO;
  8593.        WITH SYNTAX  IDRP.BispduErrorCode;
  8594.        BEHAVIOUR notificationBISPDUerrorcode-B
  8595.         BEHAVIOUR DEFINED AS The error code indicating what type of error
  8596.         occurred in the BIS PDU.;;
  8597.        REGISTERED AS { IDRP.proi notificationBISPDUerrorcode(2) };
  8598.  
  8599.       notificationBISerrorsubcode PARAMETER
  8600.  
  8601.        CONTEXT EVENT-INFO;
  8602.        WITH SYNTAX  IDRP.BispduErrorSubcode;
  8603.        BEHAVIOUR notificationBISerrorsubcode-B
  8604.         BEHAVIOUR DEFINED AS The error code indicating what type of error
  8605.         within the major error type occurred in the BIS PDU.;;
  8606.        REGISTERED AS { IDRP.proi notificationBISerrorsubcode(3) };
  8607.  
  8608.       notificationBISPDUerrorinfo PARAMETER
  8609.  
  8610.        CONTEXT EVENT-INFO;
  8611.        WITH SYNTAX  IDRP.BispduErrorInfo;
  8612.        BEHAVIOUR notificationBISPDUerrorinfo-B
  8613.         BEHAVIOUR DEFINED AS The additional information from original PDU
  8614.         that indicated an error in the BIS PDU.;;
  8615.        REGISTERED AS { IDRP.proi notificationBISPDUerrorinfo(4) };
  8616.  
  8617.       notificationRemoteRDCConfig PARAMETER
  8618.  
  8619.        CONTEXT EVENT-INFO;
  8620.        WITH SYNTAX  IDRP.RemoteRDCConfig;
  8621.        BEHAVIOUR notificationRemoteRDCConfig-B
  8622.         BEHAVIOUR DEFINED AS The Routing Domain Confederation (RDC)
  8623.         information from the remote BIS on this BIS to BIS communication.;;
  8624.        REGISTERED AS { IDRP.proi notificationRemoteRDCConfig(5) };
  8625.  
  8626.    Kunzinger                     ISO/IEC 10747                 [ Page 177 ]
  8627.  
  8628.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8629.  
  8630.       notificationLocalRDCConfig PARAMETER
  8631.  
  8632.        CONTEXT EVENT-INFO;
  8633.        WITH SYNTAX  IDRP.LocalRDCConfig;
  8634.        BEHAVIOUR notificationLocalRDCConfig-B
  8635.         BEHAVIOUR DEFINED AS The Routing Domain Confederation (RDC)
  8636.         information from this local BIS on this BIS to BIS communcation.;;
  8637.        REGISTERED AS { IDRP.proi notificationLocalRDCConfig(6) };
  8638.  
  8639.       notificationRIBIntegrityFailure PARAMETER
  8640.  
  8641.        CONTEXT EVENT-INFO;
  8642.        WITH SYNTAX  IDRP.RIBIntegrityFailure;
  8643.        BEHAVIOUR notificationRIBIntegrityFailure-B
  8644.         BEHAVIOUR DEFINED AS The maximum number of integrity checks
  8645.         detected before reporting the event to systems management;;
  8646.        REGISTERED AS { IDRP.proi notificationRIBIntegrityFailure(7) };
  8647.  
  8648.       notificationSourceBISNET PARAMETER
  8649.  
  8650.        CONTEXT EVENT-INFO;
  8651.        WITH SYNTAX  IDRP.NetworkEntityTitle;
  8652.        BEHAVIOUR notificationSourceBISNET-B
  8653.         BEHAVIOUR DEFINED AS NET of the remote BIS that sent a packet bomb
  8654.         to the local BIS;;
  8655.        REGISTERED AS { IDRP.proi notificationSourceBISNET(8) };
  8656.  
  8657.       notificationSourceBISrdi PARAMETER
  8658.  
  8659.        CONTEXT EVENT-INFO;
  8660.        WITH SYNTAX  IDRP.Rdi;
  8661.        BEHAVIOUR notificationSourceBISRdi-B
  8662.         BEHAVIOUR DEFINED AS RDI of the remote BIS that sent a packet bomb
  8663.         to the local BIS;;
  8664.        REGISTERED AS { IDRP.proi notificationSourceBISrdi(9) };
  8665.  
  8666.       notificationSourceBISrdc PARAMETER
  8667.  
  8668.        CONTEXT EVENT-INFO;
  8669.        WITH SYNTAX  IDRP.Rdi;
  8670.        BEHAVIOUR notificationSourceBISrdc-B
  8671.         BEHAVIOUR DEFINED AS RDC of the remote BIS that sent a packet bomb
  8672.         to the local BIS;;
  8673.        REGISTERED AS { IDRP.proi notificationSourceBISrdc(10) };
  8674.  
  8675.  
  8676.    Kunzinger                     ISO/IEC 10747                 [ Page 178 ]
  8677.  
  8678.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8679.  
  8680.    11.6  Behaviour
  8681.  
  8682.       supplyOnCreate-B BEHAVIOUR
  8683.  
  8684.        DEFINED AS Value is supplied by the protocol machine when the MO is
  8685.        created, or supplied via CREATE operation.  The value can not be
  8686.        changed thereafter;
  8687.  
  8688.    11.7  ASN.1 modules
  8689.  
  8690.       IDRP{joint-iso-ccitt network-layer(13)
  8691.         management(0) iDRP(3) asn1Module(2) 0}
  8692.  
  8693.       DEFINITIONS::=BEGIN
  8694.         -- object identifier definitions
  8695.  
  8696.        idrpoi OBJECT IDENTIFIER ::= {NLM.nl iDRP(3)}
  8697.        sseoi OBJECT IDENTIFIER ::=
  8698.         {idrpoi standSpecificExtensions(0)}
  8699.        moi OBJECT IDENTIFIER ::=
  8700.         {idrpoi objectClass (3)}
  8701.        poi OBJECT IDENTIFIER ::=
  8702.         {idrpoi package (4)}
  8703.        proi OBJECT IDENTIFIER ::=
  8704.         {idrpoi parameter(5)}
  8705.        nboi OBJECT IDENTIFIER ::=
  8706.         {idrpoi nameBinding (6)}
  8707.        atoi OBJECT IDENTIFIER ::=
  8708.         {idrpoi attribute (7)}
  8709.        agoi OBJECT IDENTIFIER ::=
  8710.         {idrpoi attributeGroup (8)}
  8711.        acoi OBJECT IDENTIFIER ::=
  8712.         {idrpoi action (9)}
  8713.        noi OBJECT IDENTIFIER ::=
  8714.         {idrpoi notification (10)}
  8715.  
  8716.           --
  8717.           --object identifiers for notification parameters
  8718.           --
  8719.  
  8720.        se OBJECT IDENTIFIER ::=
  8721.         {sseoi specificProblems(3)}
  8722.        errorBISPDUsent OBJECT IDENTIFIER ::=
  8723.         {se errorBISPDU0(0)}
  8724.        openBISpduRDCerror OBJECT IDENTIFIER ::=
  8725.         {se errorBISPDU1(1)}
  8726.  
  8727.    Kunzinger                     ISO/IEC 10747                 [ Page 179 ]
  8728.  
  8729.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8730.  
  8731.        errorBISPDUconnectionclose OBJECT IDENTIFIER ::= {se
  8732.        errorBISPDU2(2)}
  8733.        corruptAdjRIBIn OBJECT IDENTIFIER ::=
  8734.         {se errorBISPDU3(3)}
  8735.        packetBomb OBJECT IDENTIFIER ::=
  8736.         {se errorBISPDU4(4)}
  8737.        enterFSMstate OBJECT IDENTIFIER ::=
  8738.         {se errorBISPDU5(5)}
  8739.        fSMStateChange OBJECT IDENTIFIER ::=
  8740.         {se errorBISPDU6(6)}
  8741.  
  8742.           --
  8743.           --ASN1 Types and Values
  8744.           --
  8745.  
  8746.        AuthenticationCode ::=ENUMERATED{
  8747.         integrityOnly(0),
  8748.         integrityPlusAuthentication(1)
  8749.         integrityPlusSecretText(2)}
  8750.        Authtype ::=AuthenticationCode
  8751.        BISGroup ::= SET OF NetworkEntityTitle
  8752.        BisNet ::= NetworkEntityTitle
  8753.        BisNegotiatedVersion ::=Version
  8754.        BispduErrorCode::= ENUMERATED {
  8755.         oPENPDUerror (1),
  8756.         uPDATEPDUError (2),
  8757.         holdtimerExpired (3)}
  8758.        BispduErrorSubcode ::= CHOICE {
  8759.         operr [] IMPLICIT Openerrorsubcode,
  8760.         uperr [1] IMPLICIT Updateerrorsubcode}
  8761.        BispduErrorInfo ::=OCTET STRING(SIZE(1..50))
  8762.             --50 bytes of original message are saved
  8763.        BisPeersSNPAs ::= SNPAaddresses
  8764.        Boolean ::= BOOLEAN
  8765.        Capacity ::=INTEGER(1..255)
  8766.        EndSystemNSAP ::= OCTET STRING(SIZE(1..20))
  8767.        ESPrefix ::= NSAPprefix
  8768.        Expensevalue ::=Locexpense
  8769.        GLOBAL ::= ENUMERATED {
  8770.         delay(0),
  8771.         expense(1),
  8772.         capacity(3),
  8773.         error(4) }
  8774.        Holdtime ::=INTEGER(1..65535)
  8775.        Integer ::=INTEGER
  8776.        KeepaliveSincelastupdupdate ::=
  8777.         INTEGER(1..4294967295)
  8778.  
  8779.    Kunzinger                     ISO/IEC 10747                 [ Page 180 ]
  8780.  
  8781.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8782.  
  8783.        Lastseqnosent ::=INTEGER(1..4294967295)
  8784.        Lastseqnorecv ::=INTEGER(1..4294967295)
  8785.        Lastacksent ::=INTEGER(1..4294967295)
  8786.        Lastackrecv ::=INTEGER(1..4294967295)
  8787.        LocExpense ::= INTEGER(1..65535)
  8788.        LocalRDCConfig ::=Rdcgroup
  8789.        LocalSNPAs ::= SNPAaddresses
  8790.        MaxPDUSize ::=INTEGER(1..65535)
  8791.        MaxRIBIntegrityCheck ::=INTEGER(1..65535)
  8792.        Metriclength ::=INTEGER(1..255)
  8793.        Metricvalue ::=OCTET STRING(SIZE(1..255))
  8794.        MinRouteAdvertisementInterval ::=INTEGER(1..65535)
  8795.        NSAPprefixLength ::=INTEGER(1..160)
  8796.        NSAPprefix ::= BIT STRING(SIZE(1..160))
  8797.        NetworkEntityTitle ::=OCTET STRING(SIZE(1..20))
  8798.        NETPrefix ::= NSAPprefix
  8799.        NotificationInfo ::=SET OF Parameter
  8800.        nullRDC Rdcgroup ::= {}--empty set
  8801.        nullRDI Rdi ::= OCTET STRING(SIZE(0))
  8802.        Openerrorsubcode ::=ENUMERATED {
  8803.         unsupportedVersionnumber (1),
  8804.         badMaxPDUsize (2),
  8805.         badOutstandingPDUs (3),
  8806.         badPeerRD (4),
  8807.         unsupportedAuthenticationcode (5),
  8808.         authenticationFailure (6),
  8809.         badRIB-AttrsSet (7),
  8810.         rDCmismatch (8)}
  8811.        OutstandingPdus ::=INTEGER(0..255)
  8812.        Parameter ::= SEQUENCE {
  8813.         paramID OBJECT IDENTIFIER,
  8814.         paramInfo ANY DEFINED BY paramID}
  8815.        Priority ::= INTEGER(0..14)
  8816.        QOS ::= CHOICE { global[0] EXPLICIT GLOBAL,
  8817.         ssQOS[1] EXPLICIT QOSTV,
  8818.         dsQOS[2] EXPLICIT QOSTV }
  8819.        QOSlength ::= INTEGER(1..255)
  8820.        QOSTV ::= SEQUENCE { preflgth NSAPrefixLength,
  8821.         prefix NSAPpreifx,
  8822.         qOSlgth QOSlength,
  8823.         qOSval QOSvalue }
  8824.        QOSvalue ::= OCTET STRING(SIZE(1..255))
  8825.        Rdi ::=OCTET STRING(SIZE(0..20))
  8826.         --assigned from the NSAP address space
  8827.        Rdcgroup::= SET OF Rdi
  8828.        RdcNest ::=SET OF RdcHierarchy
  8829.         --each nested path from top to bottom is
  8830.  
  8831.    Kunzinger                     ISO/IEC 10747                 [ Page 181 ]
  8832.  
  8833.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8834.  
  8835.         --identified by the confederation at the top.
  8836.         --Because of overlapping confederations, a
  8837.         --given top level confederation may appear
  8838.         --in several 'RdcHierarchy' elements
  8839.        RdcHierarchy ::= SEQUENCE {
  8840.         confed Rdcsetid,
  8841.         ConfedID Rdi, --RDI of top level RDC
  8842.         SubordinateRDCs SEQUENCE OF Rdi}
  8843.         --order of RDIs specifies a single
  8844.         --nesting relationships between the top
  8845.         --level RDC and a bottom level RDC
  8846.         --RDC in which the local routeing
  8847.         --domain is situated.
  8848.        Rdcsetid ::=INTEGER(1..255)
  8849.        RDTransitDelay ::=INTEGER(0..65535)
  8850.        Rdlre ::=INTEGER(0..4294967295)
  8851.        RetransmissionTime ::= INTEGER(0..65535)
  8852.        RemoteBISNET ::=NetworkEntityTitle
  8853.        RemoteRDCConfig ::=Rdcgroup
  8854.        RemoteBISNetActionReply ::=SEQUENCE{
  8855.         responseCode OBJECT IDENTIFIER,
  8856.         responseArgs SET OF Parameter OPTIONAL}
  8857.        RibAttsSet ::= SEQUENCE  { confed Ribsetid,
  8858.         count Ribsetcount,
  8859.         attribs SET OF Ribattributes}
  8860.        RIBIntegrityFailure ::=INTEGER(1..65535)
  8861.        Ribsetid ::=INTEGER(1..255)
  8862.        Ribsetcount ::=INTEGER(0..255)
  8863.        Ribattributes ::= SEQUENCE {
  8864.         priority [0] EXPLICIT Priority OPTIONAL,
  8865.         security [1] EXPLICIT SEC OPTIONAL,
  8866.         qosmaint [2] EXPLICIT QOS OPTIONAL }
  8867.        Ribattribute ::= ENUMERATED {
  8868.         tRANSITDELAY (9),
  8869.         rESIDUALERROR (10),
  8870.         eXPENSE (11),
  8871.         locDefQOS (12),
  8872.         Security (17),
  8873.         priority (20)}
  8874.        Ribvalue ::= SEQUENCE {length Ribattlength,
  8875.         attr Ribattributes}
  8876.        Ribattlength ::= INTEGER
  8877.        Ribattvalue ::= CHOICE {
  8878.         transitdelayvalue [0] IMPLICIT INTEGER,
  8879.         residualerrorvalue [1] IMPLICIT INTEGER,
  8880.         expensevalue [2] IMPLICIT INTEGER,
  8881.         locDefQOS [3]IMPLICIT INTEGER,
  8882.  
  8883.    Kunzinger                     ISO/IEC 10747                 [ Page 182 ]
  8884.  
  8885.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8886.  
  8887.         security [6] IMPLICIT INTEGER,
  8888.         priorityvalue [8] IMPLICIT INTEGER}
  8889.        Ribattqos ::= SEQUENCE {
  8890.         preflgth NSAPprefixLength,
  8891.         prefix NSAPprefix,
  8892.         qOSlgth QOSlength,
  8893.         qOSval QOSvalue,
  8894.         metriclgth Metriclength,
  8895.         metricval Metricvalue}
  8896.        Ribattsec ::= SEQUENCE {
  8897.         preflgth NSAPprefixLength,
  8898.         prefix NSAPprefix,
  8899.         seclgth Securitylength,
  8900.         secval Securitylevel}
  8901.        RouteAdvertisementInterval ::=INTEGER(30..900)
  8902.         --IS 10589 imposes minimum value of 30 seconds
  8903.         --and maximum value of 900 seconds in clause
  8904.         --12.2.3.4, part c)
  8905.        SEC ::= SEQUENCE { secIDLgth SecurityLength,
  8906.         secID Securitylevel,
  8907.         secInfoLgth SecurityLength,
  8908.         secInfo SecurityInfo }
  8909.        SecurityInfo ::= OCTET STRING(SIZE(1..255))
  8910.        Securitylength ::= INTEGER(0..255)
  8911.        Securitylevel ::= OCTET STRING(SIZE(1..255))
  8912.        SNPAaddress ::= OCTET STRING (FROM
  8913.         ('1'H|'2'H|'3'H|'4'H|'5'H|'6'H|'7'H|'8'H|'9'H|
  8914.         'A'H|'B'H|'C'H|'D'H|'E'H|'F'H))
  8915.              --integral number of hexadecimal digits
  8916.        SNPAaddresses ::= SET OF SNPAaddress
  8917.        State ::= ENUMERATED {
  8918.         closed (0),
  8919.         open-recv(1),
  8920.         established(2),
  8921.         open-sent(3),
  8922.         close-wait(4)}
  8923.        StopEventreply ::= Parameter
  8924.        StartEventreply::=Parameter
  8925.        SystemIdGroup ::= SEQUENCE  { nETS SET OF NETprefix, nSAPs SET OF
  8926.        ESprefix }
  8927.        Updateerrorsubcode ::=ENUMERATED {
  8928.         malformedAttributelist (1),
  8929.         unrecognizedWell-knownAttribute (2),
  8930.         missingWell-knownAttribute (3),
  8931.         attributeFlagsError (4),
  8932.         attributeLengthError (5),
  8933.         rDRouteingLoop (6),
  8934.  
  8935.    Kunzinger                     ISO/IEC 10747                 [ Page 183 ]
  8936.  
  8937.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8938.  
  8939.         invalidNEXTHOPAttribute (7),
  8940.         optionalAttributeerror (8),
  8941.         invalidReachabilityInformation (9),
  8942.         misconfiguredRDCs (10)}
  8943.        Version ::=INTEGER (1..255)
  8944.        zero INTEGER ::= 0
  8945.  
  8946.       END
  8947.  
  8948.    12.  Conformance
  8949.  
  8950.  
  8951.       A Protocol Implementation Conformance Statement (PICS) shall be
  8952.       completed with respect to any claim for conformance of an
  8953.       implementation to this International Standard.  The PICS shall be
  8954.       produced in accordance with the relevant PICS-proforma in Annex A.
  8955.  
  8956.       Note 38:  Since it is only Boundary ISs that implement the elements
  8957.                 of procedure of this international standard, this clause
  8958.                 does not address deployment guidelines or addressing
  8959.                 guidelines for systems in general.  Since distribution of
  8960.                 policies is outside the scope of this standard, this topic
  8961.                 also is not addressed in the following conformance clauses.
  8962.  
  8963.    12.1  Static conformance for all BISs
  8964.  
  8965.       Each IS claiming conformance to this international standard shall be
  8966.       capable of each of the following:
  8967.  
  8968.       a)  generating and parsing BISPDUs with the following structure and
  8969.           formats described in: 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, and 6.7
  8970.  
  8971.       b)  transmitting  and receiving NSAP prefixes that have been encoded
  8972.           as single values according to 7.1.2.1
  8973.  
  8974.       c)  generating, recognizing upon receipt, and updating each of the
  8975.           following path attributes as described in the indicated clauses:
  8976.  
  8977.           -   ROUTE_SEPARATOR in 6.3.1.1, 7.12.1
  8978.           -   RD_PATH in 6.3.1.3, 7.12.3
  8979.           -   RD_HOP_COUNT in 6.3.1.13, 7.12.4
  8980.  
  8981.    Kunzinger                     ISO/IEC 10747                 [ Page 184 ]
  8982.  
  8983.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  8984.  
  8985.           -   CAPACITY in 6.3.1.15, 7.12.15
  8986.  
  8987.       d)  recognizing upon receipt each of the following well-known
  8988.           discretionary path attributes that are contained in any incoming
  8989.           UPDATE PDU, as described in the indicated clauses:
  8990.  
  8991.           -   EXT_INFO in 6.3.1.2, 7.12.2
  8992.           -   NEXT_HOP in 6.3.1.4, 7.12.4
  8993.           -   DIST_LIST_INCL in 6.3.1.5, 7.12.5
  8994.           -   DIST_LIST_EXCL in 6.3.1.6, 7.12.6
  8995.           -   TRANSIT DELAY in 6.3.1.8, 7.12.8
  8996.           -   RESIDUAL ERROR in 6.3.1.9, 7.12.9
  8997.           -   EXPENSE in 6.3.1.10, 7.12.10
  8998.           -   LOCALLY DEFINED QOS in 6.3.1.11, 7.12.11
  8999.           -   HIERARCHICAL RECORDING in 6.3.1.12, 7.12.12
  9000.           -   SECURITY in 6.3.1.14, 7.12.14
  9001.           -   CAPACITY in 6.3.1.15, 7.12.15
  9002.           -   PRIORITY in 6.3.1.16, 7.12.16
  9003.  
  9004.       e)  utilizing domain configuration information in the format
  9005.           described in 7.3
  9006.  
  9007.       f)  providing reliable delivery of BISPDUs using sequence numbering
  9008.           and flow control as described in 7.7.4 and 7.7.5.
  9009.  
  9010.       g)  establishing, closing, and maintaining BIS-BIS connections in
  9011.           accordance with the procedures of 7.6
  9012.  
  9013.       h)  responding to error conditions in BISPDUs according to 7.20
  9014.  
  9015.       i)  negotiating the protocol version number according to 7.8
  9016.  
  9017.       j)  operating in a "fail-stop" manner in regard to corrupted routeing
  9018.           information, according to 7.10.2
  9019.  
  9020.       k)  maintaining RIBs as described in 7.10.
  9021.  
  9022.       l)  handling incoming BISPDUs as described in 7.14.
  9023.  
  9024.       m)  detecting inconsistent routeing information in accordance with
  9025.           7.15.1.
  9026.  
  9027.       n)  receiving and recognizing information which has been reduced in
  9028.           size according to the methods of 7.18.1.
  9029.  
  9030.       o)  distributing network reachability information within a routeing
  9031.           domain according to 7.17.1.
  9032.  
  9033.    Kunzinger                     ISO/IEC 10747                 [ Page 185 ]
  9034.  
  9035.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9036.  
  9037.       p)  distributing network reachability information outside a routeing
  9038.           domain according to 7.17.2.
  9039.  
  9040.       q)  selecting routes according to 7.16
  9041.  
  9042.       r)  forwarding ISO 8473 NPDUs according to 8.
  9043.  
  9044.       s)  supporting the interface to ISO 8473 using the service primitives
  9045.           according to 9.
  9046.  
  9047.       t)  providing the managed objects described in 11.
  9048.  
  9049.    12.2  Conformance to optional functions
  9050.  
  9051.    12.2.1  Generation of information in reduced form
  9052.  
  9053.       A BIS that claims to support generation of information in a reduced
  9054.       form shall be capable of producing information in accordance with the
  9055.       reduction techniques of clauses 7.18.1 and 7.18.2.
  9056.  
  9057.    12.2.2  Generation of well-known discretionary attributes
  9058.  
  9059.       A BIS that claims to support generation of any of the following
  9060.       well-known discretionary attributes shall do so in accordance with
  9061.       the indicated clauses:
  9062.  
  9063.       -   ROUTE_SEPARATOR in 6.3.1.1, 7.12.1
  9064.       -   EXT_INFO in 6.3.1.2, 7.12.2
  9065.       -   NEXT_HOP in 6.3.1.4, 7.12.4
  9066.       -   DIST_LIST_INCL in 6.3.1.5, 7.12.5
  9067.       -   DIST_LIST_EXCL in 6.3.1.6, 7.12.6
  9068.       -   TRANSIT DELAY in 6.3.1.8, 7.12.8
  9069.       -   RESIDUAL ERROR in 6.3.1.9, 7.12.9
  9070.       -   EXPENSE in 6.3.1.10, 7.12.10
  9071.       -   LOCALLY DEFINED QOS in 6.3.1.11, 7.12.11
  9072.       -   HIERARCHICAL RECORDING in 6.3.1.12, 7.12.12
  9073.       -   SECURITY in 6.3.1.14, 7.12.14
  9074.       -   CAPACITY in 6.3.1.15, 7.12.15
  9075.       -   PRIORITY in 6.3.1.16, 7.12.16
  9076.  
  9077.  
  9078.    Kunzinger                     ISO/IEC 10747                 [ Page 186 ]
  9079.  
  9080.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9081.  
  9082.    12.2.3  Propagation of well-known discretionary attributes
  9083.  
  9084.       A BIS that claims to support updating and propagation of any of the
  9085.       following well-known discretionary attributes after having received
  9086.       them in an UPDATE PDU shall do so in accordance with the indicated
  9087.       clauses:
  9088.  
  9089.       -   ROUTE_SEPARATOR in 6.3.1.1, 7.12.1
  9090.       -   EXT_INFO in 6.3.1.2, 7.12.2
  9091.       -   NEXT_HOP in 6.3.1.4, 7.12.4
  9092.       -   DIST_LIST_INCL in 6.3.1.5, 7.12.5
  9093.       -   DIST_LIST_EXCL in 6.3.1.6, 7.12.6
  9094.       -   TRANSIT DELAY in 6.3.1.8, 7.12.8
  9095.       -   RESIDUAL ERROR in 6.3.1.9, 7.12.9
  9096.       -   EXPENSE in 6.3.1.10, 7.12.10
  9097.       -   LOCALLY DEFINED QOS in 6.3.1.11, 7.12.11
  9098.       -   HIERARCHICAL RECORDING in 6.3.1.12, 7.12.12
  9099.       -   SECURITY in 6.3.1.14, 7.12.14
  9100.       -   CAPACITY in 6.3.1.15, 7.12.15
  9101.       -   PRIORITY in 6.3.1.16, 7.12.16
  9102.  
  9103.    12.2.4  Peer entity authentication
  9104.  
  9105.       A BIS that claims to support peer entity authentication shall do so
  9106.       in accordance with 7.7.2.
  9107.  
  9108.  
  9109.  
  9110.  
  9111.  
  9112.  
  9113.  
  9114.  
  9115.    Kunzinger                     ISO/IEC 10747                 [ Page 187 ]
  9116.  
  9117.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9118.  
  9119.    Annex A.  PICS proforma
  9120.  
  9121.  
  9122.                                    (Normative)
  9123.  
  9124.    A.1  Introduction
  9125.  
  9126.       The supplier of a protocol implementation which is claimed to conform
  9127.       to International Standard XXX shall complete the applicable Protocol
  9128.       Implementation Conformance Statement (PICS) proforma.
  9129.  
  9130.       A completed PICS proforma is the PICS for the implementation in
  9131.       question.  The PICS is a statement of which capabilities and options
  9132.       of the protocol have been implemented.  The PICS can have a number of
  9133.       uses, including use:
  9134.  
  9135.       -   by the protocol implementer, as a check list to reduce the risk
  9136.           of failure to conform to the standard through oversight;
  9137.  
  9138.       -   by the supplier and acquirer──or potential acquirer── of the
  9139.           implementation, as a detailed indication of the capabilities of
  9140.           the implementation, stated relative to the common basis of
  9141.           understanding provided by the standard PICS proforma;
  9142.  
  9143.       -   by the user──or potential user── the implementation, as a basis
  9144.           for initially checking the possibility of interworking unit
  9145.           another implementation (note that, while interworking can never
  9146.           be guaranteed, failure to interwork can often be predicted from
  9147.           incompatible PICSs);
  9148.  
  9149.       -   by a protocol tester, as the basis for selecting appropriate
  9150.           tests against which to assess the claim for conformance of the
  9151.           implementation.
  9152.  
  9153.    A.2  Abbreviations and special symbols
  9154.  
  9155.  
  9156.  
  9157.    Kunzinger                     ISO/IEC 10747                 [ Page 188 ]
  9158.  
  9159.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9160.  
  9161.    A.2.1  Status symbols
  9162.  
  9163.       The following status symbols are used in the PICS:
  9164.  
  9165.       Symbol    Meaning
  9166.  
  9167.       M         mandatory
  9168.  
  9169.       O         optional
  9170.  
  9171.       O.<n>     optional, but support of at least one of the group of
  9172.                 options labelled by the same numeral <n> is required
  9173.  
  9174.       X         prohibited
  9175.  
  9176.       c.<cid>   conditional requirement, according to the condition
  9177.                 identified by <cid>
  9178.  
  9179.       <item>    simple-predicate condition, dependent on the support marked
  9180.                 for       <item
  9181.  
  9182.       ──        not applicable (N/A)
  9183.  
  9184.    A.3  Instructions for completing the PICS proforma
  9185.  
  9186.    A.3.1  General structure of the PICS proforma
  9187.  
  9188.       The first part of the PICS proforma──Implementation Identification
  9189.       and Protocol Summary──is to be completed as indicated with the
  9190.       information necessary to identify fully both the supplier and the
  9191.       implementation.
  9192.  
  9193.       The main part of the PICS proforma is a fixed-format questionnaire
  9194.       divided into subclauses, each containing a group of individual items.
  9195.       Answers to the questionnaire items are to be provided in the
  9196.       rightmost column, either by simply marking an answer to indicate a
  9197.       restricted choice (usually Yes or No), or by entering a value or a
  9198.       set or range of values.  (Note that there are some items where two or
  9199.       more choices from a set of possible answers can apply: all relevant
  9200.       choices are to be marked.)
  9201.  
  9202.       Each item is identified by an item reference in the first column; the
  9203.       second column contains the question to be answered; the third column
  9204.       contains the reference or references to the material that specifies
  9205.  
  9206.    Kunzinger                     ISO/IEC 10747                 [ Page 189 ]
  9207.  
  9208.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9209.  
  9210.       the item in the main body of the standard; the remaining columns
  9211.       record the status of the item──whether support is mandatory,
  9212.       optional, or conditional──and provide space for the answers: see also
  9213.       A.3.4 below.
  9214.  
  9215.       A supplier may also provide──or be required to provide──further
  9216.       information, categorized as either Additional Information or
  9217.       Exception Information.  When present, each kind of further
  9218.       information is to be provided in a further subclause of items
  9219.       labelled A<i> or X<i>, respectively, for cross-referencing purposes,
  9220.       where <i> is any unambiguous identification for the item (e.g.,
  9221.       simply a numeral): there are no other restrictions on its format and
  9222.       presentation.
  9223.  
  9224.       A completed PICS proforma, including any Additional Information and
  9225.       Exception Information, is the Protocol Implementation Conformance
  9226.       Statement for the implementation in question.
  9227.  
  9228.       Note 39:  Where an implementation is capable of being configured in
  9229.                 more than one way, a single PICS may be able to describe
  9230.                 all such configurations.  However, the supplier has the
  9231.                 choice of providing more than one PICS, each covering some
  9232.                 subset of the implementation's configuration capabilities,
  9233.                 in case that makes for easier and clearer presentation of
  9234.                 the information.
  9235.  
  9236.    A.3.2  Additional information
  9237.  
  9238.       Items of Additional Information allow a supplier to provide further
  9239.       information intended to assist the interpretation of the PICS.  It is
  9240.       not intended or expected that a large quantity will be supplied, and
  9241.       a PICS can be considered complete without any such information.
  9242.       Examples might be an outline of the ways in which a (single)
  9243.       implementation can be set up to operate in a variety of environments
  9244.       and configurations, or a brief rationale──based perhaps upon specific
  9245.       application needs──for the exclusion of features which, although
  9246.       optional, are nonetheless commonly present in implementations of the
  9247.       protocol.
  9248.  
  9249.       References to items of Additional Information may be entered next to
  9250.       any answer in the questionnaire, and may be included in items of
  9251.       Exception Information.
  9252.  
  9253.  
  9254.    Kunzinger                     ISO/IEC 10747                 [ Page 190 ]
  9255.  
  9256.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9257.  
  9258.    A.3.3  Exception information
  9259.  
  9260.       It may occasionally happen that a supplier will wish to answer an
  9261.       item with mandatory or prohibited status (after any conditions have
  9262.       been applied) in a way that conflicts with the indicated requirement.
  9263.       No pre-printed answer will be found in the Support column for this:
  9264.       instead, the supplier is required to write into the Support column an
  9265.       X<i> reference to an item of Exception Information, and to provide
  9266.       the appropriate rationale in the Exception item itself.
  9267.  
  9268.       An implementation for which an Exception item is required in this way
  9269.       does not conform to ISO/IEC XXX.
  9270.  
  9271.       Note 40:  A possible reason for the situation described above is that
  9272.                 a defect in the standard has been reported, a correction
  9273.                 for which is expected to change the requirement not met by
  9274.                 the implementation.
  9275.  
  9276.    A.3.4  Conditional status
  9277.  
  9278.    A.3.4.1  Conditional items
  9279.  
  9280.       The PICS proforma contains a number of conditional items.  These are
  9281.       items for which the status that applies──mandatory, optional, or
  9282.       prohibited──is dependent upon whether or not certain other items are
  9283.       supported, or upon the values supported for other items.
  9284.  
  9285.       In many cases, whether or not the item applies at all is conditional
  9286.       in this way, as well as the status when the item does apply.
  9287.  
  9288.       Individual conditional items are indicated by a conditional symbol in
  9289.       the Status column as described in A.3.4.2 and A.3.4.3 below.  Where a
  9290.       group of items is subject to the same condition for applicability, a
  9291.       separate preliminary question about the condition appears at the head
  9292.       of the group, with an instruction to skip to a later point in the
  9293.       questionnaire if the "Not Applicable" answer is selected.
  9294.  
  9295.  
  9296.  
  9297.  
  9298.    Kunzinger                     ISO/IEC 10747                 [ Page 191 ]
  9299.  
  9300.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9301.  
  9302.    A.3.4.2  Conditional symbols and conditions
  9303.  
  9304.       A conditional symbol is either of the form C.<n> or C.G<n>, where <n>
  9305.       is a numeral or is an abbreviated condition of the form described in
  9306.       A.3.4.3 below.  For the C.<n> form, the numeral identifies a
  9307.       condition appearing in a list as the end of the subclause containing
  9308.       the item.  For the C.G<n> form, the numeral identifies a condition
  9309.       appearing in a list of global conditions.
  9310.  
  9311.       A simple condition is of the form
  9312.  
  9313.         if <p1> then <s1> else <s2>
  9314.  
  9315.       where <p1> is a predicate (see A.3.4.4 below) and <s1> and <s2> are
  9316.       either basic status symbols (M, O, O.<n>, or X) or the symbol "──".
  9317.  
  9318.       An extended condition is of the form
  9319.  
  9320.         if <p1> then <s1>
  9321.         else if <p2> then <s2>
  9322.         [else if ...]
  9323.         else <sn>
  9324.  
  9325.       where the quantities <px> are predicates, and the quantities <sx> are
  9326.       either basic status symbols or "──".
  9327.  
  9328.       The symbol (either a basic status symbol or "──") applicable to an
  9329.       item governed by a simple condition is <s1> if the predicate of the
  9330.       condition is true, and is <s2> otherwise.  The symbol applicable to
  9331.       an item governed by an extended condition is <si> where <pi> is the
  9332.       first true predicate, if any, in the sequence <p1>, <p2>,...; and it
  9333.       is <sn> if no predicate is true.
  9334.  
  9335.    A.3.4.3  Abbreviated conditions
  9336.  
  9337.       The abbreviated condition <item>:<s> in the status column is
  9338.       equivalent to a conditional symbol with corresponding condition if
  9339.       <item> then <s> else "──".
  9340.  
  9341.  
  9342.  
  9343.  
  9344.    Kunzinger                     ISO/IEC 10747                 [ Page 192 ]
  9345.  
  9346.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9347.  
  9348.    A.3.4.4  Predicates
  9349.  
  9350.       A simple predicate in a condition is either:
  9351.  
  9352.       a)  a single item reference; or
  9353.  
  9354.       b)  a relation containing a comparison operator (=,<,etc.) with one
  9355.           (or both) of its operands being an item reference for an item
  9356.           taking numerical values as its answer.  In case (a), the
  9357.           predicate is true if the item referred to is marked as supported,
  9358.           and false otherwise.  In case (b), the predicate is true if the
  9359.           relation holds when each item reference is replaced by the value
  9360.           entered in the Support column as the answer to the item referred
  9361.           to.
  9362.  
  9363.       Compound predicates are boolean expressions constructed by combining
  9364.       simple predicates using the boolean operators AND, OR, and NOT, and
  9365.       parentheses, in the usual way.  A compound predicate is true if and
  9366.       only if the boolean expression evaluates to "true" when the simple
  9367.       predicates are interpreted as described above.
  9368.  
  9369.       Items whose references are used in predicates are indicated by an
  9370.       asterisk in the Item column.
  9371.  
  9372.    A.3.4.5  Answering conditional items
  9373.  
  9374.       To answer a conditional item, the predicate(s) of the condition is
  9375.       (are) evaluated as described in A.3.4.4 above, and the applicable
  9376.       symbol is determined as described in A.3.4.2.  If the result is
  9377.       "N/A", the Not Applicable answer column is to be marked; otherwise,
  9378.       the Support column is to be completed in the usual way.
  9379.  
  9380.       When two or more status symbols appear in the condition for an item,
  9381.       the Support column for the item contains one line for each such
  9382.       symbol, labelled by the relevant method.  The answer for the item is
  9383.       to be marked in the line labelled by the symbol selected according to
  9384.       the condition (unselected lines may be crossed out for added
  9385.       clarity).
  9386.  
  9387.       For example, in the illustration below, the N/A column would be
  9388.       marked if neither predicate of C.2 was true; the answer line labelled
  9389.       "M:" would be marked if item A4 was marked as supported; and the
  9390.       answer line labelled "O:" would be marked if item A4 was not marked
  9391.       as supported but item D1 was supported.
  9392.  
  9393.  
  9394.    Kunzinger                     ISO/IEC 10747                 [ Page 193 ]
  9395.  
  9396.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9397.  
  9398.    +----------------------------------------------------------------------+
  9399.    |                                                                      |
  9400.    | +---------+---------------+---------+----------+----+--------------+ |
  9401.    | | Item    | Questions/Feat|rReferenc|sStatus   | N/A| Support      | |
  9402.    | +---------+---------------+---------+----------+----+--------------+ |
  9403.    | | H3      | Is ...        | 42.3(d) | C.2      | __ | M: Yes__     | |
  9404.    | |         | supported?    |         |          |    | O: Yes__     | |
  9405.    | |         |               |         |          |    | No__         | |
  9406.    | +---------+---------------+---------+----------+----+--------------+ |
  9407.    |                                                                      |
  9408.    |                                                                      |
  9409.    |   C.2: If A4 then M else if D1 or (B52>2) then O else N/A            |
  9410.    |                                                                      |
  9411.    +----------------------------------------------------------------------+
  9412.  
  9413.    A.4  Identification
  9414.  
  9415.    A.4.1  PICS proforma: IDRP implementation identification
  9416.  
  9417.    +-----------------------------------------------+----------------------+
  9418.    | Supplier                                      |                      |
  9419.    +-----------------------------------------------+----------------------+
  9420.    | Contact point for queries about this PICS     |                      |
  9421.    +-----------------------------------------------+----------------------+
  9422.    | Implementation Name(s) and Version(s)         |                      |
  9423.    +-----------------------------------------------+----------------------+
  9424.    | Other information necessary for full          |                      |
  9425.    | identification  (e.g., Name's and Version(s)  |                      |
  9426.    | for machines and operating systems, System    |                      |
  9427.    | Name(s))                                      |                      |
  9428.    +-----------------------------------------------+----------------------+
  9429.  
  9430.    Note 41:  Only the first three items are required for all
  9431.              implementations; other information may be completed as
  9432.              appropriate in meeting the requirement for full
  9433.              identification.  The terms Name and Version should be
  9434.              interpreted appropriately to correspond with a supplier's
  9435.              terminology (using, e.g., Type,Series, MODEL).
  9436.  
  9437.  
  9438.  
  9439.    Kunzinger                     ISO/IEC 10747                 [ Page 194 ]
  9440.  
  9441.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9442.  
  9443.    A.4.2  PICS proforma: IDRP protocol summary
  9444.  
  9445.    +-----------------------------------------------+----------------------+
  9446.    | Protocol Version                              |                      |
  9447.    +-----------------------------------------------+----------------------+
  9448.    | Addenda Implemented (if applicable)           |                      |
  9449.    +-----------------------------------------------+----------------------+
  9450.    | Amendments Implemented                        |                      |
  9451.    +-----------------------------------------------+----------------------+
  9452.    | Have any Exception items been required? (See  | Yes__ No__           |
  9453.    | A.3.3.)                                       |                      |
  9454.    |                                               | Note:  The answer    |
  9455.    |                                               |        Yes means     |
  9456.    |                                               |        that the      |
  9457.    |                                               |        implementation|
  9458.    |                                               |        does not      |
  9459.    |                                               |        conform to    |
  9460.    |                                               |        this          |
  9461.    |                                               |        international |
  9462.    |                                               |        standard.)    |
  9463.    +-----------------------------------------------+----------------------+
  9464.  
  9465.    A.4.3  PICS proforma: IDRP general
  9466.  
  9467.    +---------+-----------------------+-------------+---------+------------+
  9468.    | Item    | Questions/Features    | References  | Status  | Support    |
  9469.    +---------+-----------------------+-------------+---------+------------+
  9470.    | BASIC   | Are all basic BIS     | 12.1        | M       | Yes__      |
  9471.    |         | functions             |             |         |            |
  9472.    |         | implemented?          |             |         |            |
  9473.    +---------+-----------------------+-------------+---------+------------+
  9474.    | MGT     | Is this system        | 11          | M       | Yes__      |
  9475.    |         | capable of being      |             |         |            |
  9476.    |         | managed by the        |             |         |            |
  9477.    |         | specified management  |             |         |            |
  9478.    |         | information?          |             |         |            |
  9479.    +---------+-----------------------+-------------+---------+------------+
  9480.    | VER     | Does this BIS support | 7.8         | M       | Yes__      |
  9481.    |         | version negotiation?  |             |         |            |
  9482.    +---------+-----------------------+-------------+---------+------------+
  9483.    | RTSEP   | Does this BIS support | 6.3.1.1,    | M       | Yes__      |
  9484.    |         | the ROUTE_SEPARATOR   | 7.12.1      |         |            |
  9485.    |         | attribute?            |             |         |            |
  9486.    +---------+-----------------------+-------------+---------+------------+
  9487.  
  9488.    Kunzinger                     ISO/IEC 10747                 [ Page 195 ]
  9489.  
  9490.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9491.  
  9492.    +---------+-----------------------+-------------+---------+------------+
  9493.    | Item    | Questions/Features    | References  | Status  | Support    |
  9494.    +---------+-----------------------+-------------+---------+------------+
  9495.    | HOPS    | Does this BIS support | 6.3.1.13,   | M       | Yes__      |
  9496.    |         | the RD_HOP_COUNT      | 7.12.13     |         |            |
  9497.    |         | attribute?            |             |         |            |
  9498.    +---------+-----------------------+-------------+---------+------------+
  9499.    | PATH    | Does this BIS support | 6.3.1.3,    | M       | Yes__      |
  9500.    |         | the RD_PATH           | 7.12.3      |         |            |
  9501.    |         | attribute?            |             |         |            |
  9502.    +---------+-----------------------+-------------+---------+------------+
  9503.    | CAPY    | Does this BIS support | 6.3.1.15,   | M       | Yes__      |
  9504.    |         | the CAPACITY          | 7.12.15     |         |            |
  9505.    |         | attribute?            |             |         |            |
  9506.    +---------+-----------------------+-------------+---------+------------+
  9507.    | FSM     | Does this BIS manage  | 7.6.1       | M       | Yes__      |
  9508.    |         | BIS-BIS connections   |             |         |            |
  9509.    |         | according to the BIS  |             |         |            |
  9510.    |         | FSM description?      |             |         |            |
  9511.    +---------+-----------------------+-------------+---------+------------+
  9512.    | FCTL    | Does this BIS provide | 7.7.5       | M       | Yes__      |
  9513.    |         | flow control?         |             |         |            |
  9514.    +---------+-----------------------+-------------+---------+------------+
  9515.    | SEQNO   | Does this BIS provide | 7.7.4       | M       | Yes__      |
  9516.    |         | sequence number       |             |         |            |
  9517.    |         | support?              |             |         |            |
  9518.    +---------+-----------------------+-------------+---------+------------+
  9519.    | INTG1   | Does this BIS provide | 7.7.1       | O.1     | Yes__ No__ |
  9520.    |         | data integrity using  |             |         |            |
  9521.    |         | authentication type   |             |         |            |
  9522.    |         | 1?                    |             |         |            |
  9523.    +---------+-----------------------+-------------+---------+------------+
  9524.    | INTG2   | Does this BIS provide | 7.7.2       | O.1     | Yes__ No__ |
  9525.    |         | data integrity using  |             |         |            |
  9526.    |         | authentication type   |             |         |            |
  9527.    |         | 2?                    |             |         |            |
  9528.    +---------+-----------------------+-------------+---------+------------+
  9529.    | INTG3   | Does this BIS provide | 7.7.3       | O.1     | Yes__ No__ |
  9530.    |         | data integrity using  |             |         |            |
  9531.    |         | authentication type   |             |         |            |
  9532.    |         | 3?                    |             |         |            |
  9533.    +---------+-----------------------+-------------+---------+------------+
  9534.    | ERROR   | Does this BIS handle  | 7.20        | M       | Yes__      |
  9535.    |         | error handling for    |             |         |            |
  9536.    |         | IDRP?                 |             |         |            |
  9537.    +---------+-----------------------+-------------+---------+------------+
  9538.  
  9539.    Kunzinger                     ISO/IEC 10747                 [ Page 196 ]
  9540.  
  9541.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9542.  
  9543.    +---------+-----------------------+-------------+---------+------------+
  9544.    | Item    | Questions/Features    | References  | Status  | Support    |
  9545.    +---------+-----------------------+-------------+---------+------------+
  9546.    | RIBCHK  | Does this BIS operate | 7.10.2      | M       | Yes__      |
  9547.    |         | in a "fail-stop"      |             |         |            |
  9548.    |         | manner with respect   |             |         |            |
  9549.    |         | to corrupted routeing |             |         |            |
  9550.    |         | information?          |             |         |            |
  9551.    +---------+-----------------------+-------------+---------+------------+
  9552.  
  9553.  
  9554.  
  9555.  
  9556.  
  9557.  
  9558.  
  9559.  
  9560.  
  9561.  
  9562.  
  9563.  
  9564.  
  9565.  
  9566.    Kunzinger                     ISO/IEC 10747                 [ Page 197 ]
  9567.  
  9568.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9569.  
  9570.    A.4.4  PICS proforma: IDRP update send process
  9571.  
  9572.    +---------+-----------------------+-------------+---------+------------+
  9573.    | Item    | Questions/Features    | References  | Status  | Support    |
  9574.    +---------+-----------------------+-------------+---------+------------+
  9575.    | INT     | Does this BIS provide | 7.17.1      | M       | Yes__      |
  9576.    |         | the internal update   |             |         |            |
  9577.    |         | procedures?           |             |         |            |
  9578.    +---------+-----------------------+-------------+---------+------------+
  9579.    | RTSEL   | Does this BIS support | 7.17.3.1    | M       | Yes__      |
  9580.    |         | the                   |             |         |            |
  9581.    |         | MinRouteSelectionInter|al           |         |            |
  9582.    |         | timer?                |             |         |            |
  9583.    +---------+-----------------------+-------------+---------+------------+
  9584.    | RTORG   | Does this BIS support | 7.17.3.2    | M       | Yes__      |
  9585.    |         | the                   |             |         |            |
  9586.    |         | MinRDOriginationInterv|l            |         |            |
  9587.    |         | timer?                |             |         |            |
  9588.    +---------+-----------------------+-------------+---------+------------+
  9589.    | JITTER  | Does this BIS provide | 7.17.3.3    | M       | Yes__      |
  9590.    |         | jitter on its timers? |             |         |            |
  9591.    +---------+-----------------------+-------------+---------+------------+
  9592.  
  9593.    A.4.5  PICS proforma: IDRP update receive process
  9594.  
  9595.    +---------+-----------------------+-------------+---------+------------+
  9596.    | Item    | Questions/Features    | References  | Status  | Support    |
  9597.    +---------+-----------------------+-------------+---------+------------+
  9598.    | INPDU   | Does the BIS handle   | 7.14        | M       | Yes__      |
  9599.    |         | inbound BISPDUs       |             |         |            |
  9600.    |         | correctly?            |             |         |            |
  9601.    +---------+-----------------------+-------------+---------+------------+
  9602.    | INCONS  | Does this BIS detect  | 7.15.1      | M       | Yes__      |
  9603.    |         | inconsistent routeing |             |         |            |
  9604.    |         | information?          |             |         |            |
  9605.    +---------+-----------------------+-------------+---------+------------+
  9606.  
  9607.    A.4.6  PICS proforma: IDRP decision process
  9608.  
  9609.  
  9610.  
  9611.    Kunzinger                     ISO/IEC 10747                 [ Page 198 ]
  9612.  
  9613.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9614.  
  9615.    +---------+-----------------------+-------------+---------+------------+
  9616.    | Item    | Questions/Features    | References  | Status  | Support    |
  9617.    +---------+-----------------------+-------------+---------+------------+
  9618.    | TIES    | Does the BIS break    | 7.16.2.1    | M       | Yes__      |
  9619.    |         | ties between          |             |         |            |
  9620.    |         | candidate routes      |             |         |            |
  9621.    |         | correctly?            |             |         |            |
  9622.    +---------+-----------------------+-------------+---------+------------+
  9623.    | RIBUPD  | Does this BIS update  | 7.16.2      | M       | Yes__      |
  9624.    |         | the correct Loc-RIBs? |             |         |            |
  9625.    +---------+-----------------------+-------------+---------+------------+
  9626.    | AGGRT   | Does this BIS support | 7.18.2.1,   | O       | Yes__ No__ |
  9627.    |         | route aggregation?    | 7.18.2.2,   |         |            |
  9628.    |         |                       | 7.18.2.3    |         |            |
  9629.    +---------+-----------------------+-------------+---------+------------+
  9630.    | LOCK    | Does this BIS provide | 7.16.4      | M       | Yes__      |
  9631.    |         | interlocks between    |             |         |            |
  9632.    |         | its decision process  |             |         |            |
  9633.    |         | and the updating of   |             |         |            |
  9634.    |         | the information in    |             |         |            |
  9635.    |         | its Adj-RIBs-In?      |             |         |            |
  9636.    +---------+-----------------------+-------------+---------+------------+
  9637.  
  9638.    A.4.7  PICS proforma: IDRP receive process
  9639.  
  9640.    +---------+-----------------------+-------------+---------+------------+
  9641.    | Item    | Questions/Features    | References  | Status  | Support    |
  9642.    +---------+-----------------------+-------------+---------+------------+
  9643.    | RCV     | Does the BIS process  | 7.14, 7.20  | M       | Yes__      |
  9644.    |         | incoming BISPDUs and  |             |         |            |
  9645.    |         | respond correctly to  |             |         |            |
  9646.    |         | error conditions?     |             |         |            |
  9647.    +---------+-----------------------+-------------+---------+------------+
  9648.    | OSIZE   | Does the BIS accept   | 6.2, 7.20   | M       | Yes__      |
  9649.    |         | incoming OPEN PDUs    |             |         |            |
  9650.    |         | whose size in octets  |             |         |            |
  9651.    |         | is between            |             |         |            |
  9652.    |         | minBISPDULength and   |             |         |            |
  9653.    |         | 3000?                 |             |         |            |
  9654.    +---------+-----------------------+-------------+---------+------------+
  9655.  
  9656.  
  9657.  
  9658.    Kunzinger                     ISO/IEC 10747                 [ Page 199 ]
  9659.  
  9660.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9661.  
  9662.    +---------+-----------------------+-------------+---------+------------+
  9663.    | Item    | Questions/Features    | References  | Status  | Support    |
  9664.    +---------+-----------------------+-------------+---------+------------+
  9665.    | MXPDU   | Does the BIS accept   | 6.2, 7.20   | M       | Yes__      |
  9666.    |         | incoming UPDATE, IDRP |             |         |            |
  9667.    |         | ERROR and RIB REFRESH |             |         |            |
  9668.    |         | PDUs whose size in    |             |         |            |
  9669.    |         | octets is between     |             |         |            |
  9670.    |         | minBISPDULength and   |             |         |            |
  9671.    |         | maxBISPDULength?      |             |         |            |
  9672.    +---------+-----------------------+-------------+---------+------------+
  9673.  
  9674.  
  9675.  
  9676.  
  9677.  
  9678.  
  9679.  
  9680.  
  9681.  
  9682.  
  9683.  
  9684.  
  9685.  
  9686.    Kunzinger                     ISO/IEC 10747                 [ Page 200 ]
  9687.  
  9688.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9689.  
  9690.    A.4.8  PICS proforma: IDRP CLNS forwarding
  9691.  
  9692.    +---------+-----------------------+-------------+---------+------------+
  9693.    | Item    | Questions/Features    | References  | Status  | Support    |
  9694.    +---------+-----------------------+-------------+---------+------------+
  9695.    | PSRCRT  | Does the BIS          | 8           | M       | Yes__      |
  9696.    |         | correctly handle 8473 |             |         |            |
  9697.    |         | NPDUs that contain a  |             |         |            |
  9698.    |         | partial source route? |             |         |            |
  9699.    +---------+-----------------------+-------------+---------+------------+
  9700.    | DATTS   | Does the BIS          | 8.2         | M       | Yes__      |
  9701.    |         | correctly extract the |             |         |            |
  9702.    |         | NPDU-derived          |             |         |            |
  9703.    |         | Distinguishing        |             |         |            |
  9704.    |         | Attributes from an    |             |         |            |
  9705.    |         | 8473 NPDU?            |             |         |            |
  9706.    +---------+-----------------------+-------------+---------+------------+
  9707.    | MATCH   | Does the BIS          | 8.3         | M       | Yes__      |
  9708.    |         | correctly match the   |             |         |            |
  9709.    |         | NPDU-derived          |             |         |            |
  9710.    |         | Distinguishing        |             |         |            |
  9711.    |         | Attributes with the   |             |         |            |
  9712.    |         | corresponding         |             |         |            |
  9713.    |         | FIB-Atts?             |             |         |            |
  9714.    +---------+-----------------------+-------------+---------+------------+
  9715.    | EXTF    | Does the BIS          | 8.4         | M       | Yes__      |
  9716.    |         | correctly forward     |             |         |            |
  9717.    |         | NPDUs with            |             |         |            |
  9718.    |         | destinations outside  |             |         |            |
  9719.    |         | its own routeing      |             |         |            |
  9720.    |         | domain?               |             |         |            |
  9721.    +---------+-----------------------+-------------+---------+------------+
  9722.    | INTF    | Does the BIS          | 8.1         | M       | Yes__      |
  9723.    |         | correctly forward     |             |         |            |
  9724.    |         | NPDUs with            |             |         |            |
  9725.    |         | destinations inside   |             |         |            |
  9726.    |         | its own routeing      |             |         |            |
  9727.    |         | domain?               |             |         |            |
  9728.    +---------+-----------------------+-------------+---------+------------+
  9729.  
  9730.    A.4.9  PICS proforma: IDRP authentication
  9731.  
  9732.  
  9733.  
  9734.    Kunzinger                     ISO/IEC 10747                 [ Page 201 ]
  9735.  
  9736.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9737.  
  9738.    +---------+-----------------------+-------------+---------+------------+
  9739.    | Item    | Questions/Features    | References  | Status  | Support    |
  9740.    +---------+-----------------------+-------------+---------+------------+
  9741.    | AUTH    | Does the BIS          | 7.7.2       | O       | Yes__ No__ |
  9742.    |         | correctly             |             |         |            |
  9743.    |         | authenticate the      |             |         |            |
  9744.    |         | source of a BISPDU?   |             |         |            |
  9745.    +---------+-----------------------+-------------+---------+------------+
  9746.  
  9747.    A.4.10  PICS proforma: IDRP optional transitive attributes
  9748.  
  9749.    +---------+-----------------------+-------------+---------+------------+
  9750.    | Item    | Questions/Features    | References  | Status  | Support    |
  9751.    +---------+-----------------------+-------------+---------+------------+
  9752.    | MEXIT   | Does the BIS support  | 6.3.1.7,    | O       | Yes__ No__ |
  9753.    |         | use of the MULTI-EXIT | 7.12.7      |         |            |
  9754.    |         | DISC attribute?       |             |         |            |
  9755.    +---------+-----------------------+-------------+---------+------------+
  9756.  
  9757.  
  9758.  
  9759.  
  9760.  
  9761.  
  9762.  
  9763.  
  9764.  
  9765.  
  9766.    Kunzinger                     ISO/IEC 10747                 [ Page 202 ]
  9767.  
  9768.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9769.  
  9770.    A.4.11  PICS proforma: Generating IDRP well-known discretionary
  9771.    attributes
  9772.  
  9773.    +---------+-----------------------+-------------+---------+------------+
  9774.    | Item    | Questions/Features    | References  | Status  | Support    |
  9775.    +---------+-----------------------+-------------+---------+------------+
  9776.    | EXTG    | Does the BIS support  | 6.3.1.2,    | O       | Yes__ No__ |
  9777.    |         | generation of the     | 7.12.2      |         |            |
  9778.    |         | EXT_INFO attribute?   |             |         |            |
  9779.    +---------+-----------------------+-------------+---------+------------+
  9780.    | NHRS    | Does the BIS support  | 6.3.1.4,    | O       | Yes__ No__ |
  9781.    |         | generation of the     | 7.12.4      |         |            |
  9782.    |         | NEXT_HOP attribute in |             |         |            |
  9783.    |         | support of route      |             |         |            |
  9784.    |         | servers?              |             |         |            |
  9785.    +---------+-----------------------+-------------+---------+------------+
  9786.    | NHSN    | Does the BIS support  | 6.3.1.4,    | O       | Yes__ No__ |
  9787.    |         | generation of the     | 7.12.4      |         |            |
  9788.    |         | NEXT_HOP attribute to |             |         |            |
  9789.    |         | advertise SNPAs?      |             |         |            |
  9790.    +---------+-----------------------+-------------+---------+------------+
  9791.    | DLI     | Does the BIS support  | 6.3.1.5,    | O       | Yes__ No__ |
  9792.    |         | generation of the     | 7.12.5      |         |            |
  9793.    |         | DIST_LIST_INCL        |             |         |            |
  9794.    |         | attribute?            |             |         |            |
  9795.    +---------+-----------------------+-------------+---------+------------+
  9796.    | DLE     | Does the BIS support  | 6.3.1.6,    | O       | Yes__ No__ |
  9797.    |         | generation of the     | 7.12.6      |         |            |
  9798.    |         | DIST_LIST_EXCL        |             |         |            |
  9799.    |         | attribute?            |             |         |            |
  9800.    +---------+-----------------------+-------------+---------+------------+
  9801.    | TDLY    | Does the BIS support  | 6.3.1.8,    | O       | Yes__ No__ |
  9802.    |         | generation of the     | 7.12.8      |         |            |
  9803.    |         | TRANSIT DELAY         |             |         |            |
  9804.    |         | attribute?            |             |         |            |
  9805.    +---------+-----------------------+-------------+---------+------------+
  9806.    | RERR    | Does the BIS support  | 6.3.1.9,    | O       | Yes__ No__ |
  9807.    |         | generation of the     | 7.12.9      |         |            |
  9808.    |         | RESIDUAL ERROR        |             |         |            |
  9809.    |         | attribute?            |             |         |            |
  9810.    +---------+-----------------------+-------------+---------+------------+
  9811.    | EXP     | Does the BIS support  | 6.3.1.10,   | O       | Yes__ No__ |
  9812.    |         | generation of the     | 7.12.10     |         |            |
  9813.    |         | EXPENSE attribute?    |             |         |            |
  9814.    +---------+-----------------------+-------------+---------+------------+
  9815.  
  9816.    Kunzinger                     ISO/IEC 10747                 [ Page 203 ]
  9817.  
  9818.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9819.  
  9820.    +---------+-----------------------+-------------+---------+------------+
  9821.    | Item    | Questions/Features    | References  | Status  | Support    |
  9822.    +---------+-----------------------+-------------+---------+------------+
  9823.    | LQOSG   | Does the BIS support  | 6.3.1.11,   | O       | Yes__ No__ |
  9824.    |         | generation of the     | 7.12.11     |         |            |
  9825.    |         | LOCALLY DEFINED QOS   |             |         |            |
  9826.    |         | attribute?            |             |         |            |
  9827.    +---------+-----------------------+-------------+---------+------------+
  9828.    | HREC    | Does the BIS support  | 6.3.1.12,   | O       | Yes__ No__ |
  9829.    |         | generation of the     | 7.12.12     |         |            |
  9830.    |         | HIERARCHICAL          |             |         |            |
  9831.    |         | RECORDING attribute?  |             |         |            |
  9832.    +---------+-----------------------+-------------+---------+------------+
  9833.    | SECG    | Does the BIS support  | 6.3.1.14,   | O       | Yes__ No__ |
  9834.    |         | generation of the     | 7.12.14     |         |            |
  9835.    |         | SECURITY attribute?   |             |         |            |
  9836.    +---------+-----------------------+-------------+---------+------------+
  9837.    | PRTY    | Does the BIS support  | 6.3.1.16,   | O       | Yes__ No__ |
  9838.    |         | generation of the     | 7.12.16     |         |            |
  9839.    |         | PRIORITY attribute?   |             |         |            |
  9840.    +---------+-----------------------+-------------+---------+------------+
  9841.  
  9842.  
  9843.  
  9844.  
  9845.  
  9846.  
  9847.  
  9848.  
  9849.  
  9850.  
  9851.    Kunzinger                     ISO/IEC 10747                 [ Page 204 ]
  9852.  
  9853.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9854.  
  9855.    A.4.12  PICS proforma: Propagating IDRP well-known discretionary
  9856.    attributes
  9857.  
  9858.    +---------+-----------------------+-------------+---------+------------+
  9859.    | Item    | Questions/Features    | References  | Status  | Support    |
  9860.    +---------+-----------------------+-------------+---------+------------+
  9861.    | EXTGP   | Does the BIS support  | 6.3.1.2,    | M       | Yes__ No__ |
  9862.    |         | propagation of the    | 7.12.2      |         |            |
  9863.    |         | EXT_INFO attribute?   |             |         |            |
  9864.    +---------+-----------------------+-------------+---------+------------+
  9865.    | NHRSP   | Does the BIS support  | 6.3.1.4,    | O       | Yes__ No__ |
  9866.    |         | propagation of the    | 7.12.4      |         |            |
  9867.    |         | NEXT_HOP attribute in |             |         |            |
  9868.    |         | support of route      |             |         |            |
  9869.    |         | servers?              |             |         |            |
  9870.    +---------+-----------------------+-------------+---------+------------+
  9871.    | NHSNP   | Does the BIS support  | 6.3.1.4,    | O       | Yes__ No__ |
  9872.    |         | propagation of the    | 7.12.4      |         |            |
  9873.    |         | NEXT_HOP attribute to |             |         |            |
  9874.    |         | advertise SNPAs?      |             |         |            |
  9875.    +---------+-----------------------+-------------+---------+------------+
  9876.    | DLIP    | Does the BIS support  | 6.3.1.5,    | O       | Yes__ No__ |
  9877.    |         | propagation of the    | 7.12.5      |         |            |
  9878.    |         | DIST_LIST_INCL        |             |         |            |
  9879.    |         | attribute?            |             |         |            |
  9880.    +---------+-----------------------+-------------+---------+------------+
  9881.    | DLEP    | Does the BIS support  | 6.3.1.6,    | O       | Yes__ No__ |
  9882.    |         | propagation of the    | 7.12.6      |         |            |
  9883.    |         | DIST_LIST_EXCL        |             |         |            |
  9884.    |         | attribute?            |             |         |            |
  9885.    +---------+-----------------------+-------------+---------+------------+
  9886.    | TDLYP   | Does the BIS support  | 6.3.1.8,    | O       | Yes__ No__ |
  9887.    |         | propagation of the    | 7.12.8      |         |            |
  9888.    |         | TRANSIT DELAY         |             |         |            |
  9889.    |         | attribute?            |             |         |            |
  9890.    +---------+-----------------------+-------------+---------+------------+
  9891.    | RERRP   | Does the BIS support  | 6.3.1.9,    | O       | Yes__ No__ |
  9892.    |         | propagation of the    | 7.12.9      |         |            |
  9893.    |         | RESIDUAL ERROR        |             |         |            |
  9894.    |         | attribute?            |             |         |            |
  9895.    +---------+-----------------------+-------------+---------+------------+
  9896.    | EXPP    | Does the BIS support  | 6.3.1.10,   | O       | Yes__ No__ |
  9897.    |         | propagation of the    | 7.12.10     |         |            |
  9898.    |         | EXPENSE attribute?    |             |         |            |
  9899.    +---------+-----------------------+-------------+---------+------------+
  9900.  
  9901.    Kunzinger                     ISO/IEC 10747                 [ Page 205 ]
  9902.  
  9903.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9904.  
  9905.    +---------+-----------------------+-------------+---------+------------+
  9906.    | Item    | Questions/Features    | References  | Status  | Support    |
  9907.    +---------+-----------------------+-------------+---------+------------+
  9908.    | LQOSP   | Does the BIS support  | 6.3.1.11,   | O       | Yes__ No__ |
  9909.    |         | propagation of the    | 7.12.11     |         |            |
  9910.    |         | LOCALLY DEFINED QOS   |             |         |            |
  9911.    |         | attribute?            |             |         |            |
  9912.    +---------+-----------------------+-------------+---------+------------+
  9913.    | HRECP   | Does the BIS support  | 6.3.1.12,   | O       | Yes__ No__ |
  9914.    |         | propagation of the    | 7.12.12     |         |            |
  9915.    |         | HIERARCHICAL          |             |         |            |
  9916.    |         | RECORDING attribute?  |             |         |            |
  9917.    +---------+-----------------------+-------------+---------+------------+
  9918.    | SECP    | Does the BIS support  | 6.3.1.14,   | O       | Yes__ No__ |
  9919.    |         | propagation of the    | 7.12.14     |         |            |
  9920.    |         | SECURITY attribute?   |             |         |            |
  9921.    +---------+-----------------------+-------------+---------+------------+
  9922.    | PRTYP   | Does the BIS support  | 6.3.1.16,   | O       | Yes__ No__ |
  9923.    |         | propagation of the    | 7.12.16     |         |            |
  9924.    |         | PRIORITY attribute?   |             |         |            |
  9925.    +---------+-----------------------+-------------+---------+------------+
  9926.  
  9927.  
  9928.  
  9929.  
  9930.  
  9931.  
  9932.  
  9933.  
  9934.  
  9935.  
  9936.    Kunzinger                     ISO/IEC 10747                 [ Page 206 ]
  9937.  
  9938.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9939.  
  9940.    A.4.13  PICS proforma: Receiving IDRP well-known discretionary
  9941.    attributes
  9942.  
  9943.    +---------+-----------------------+-------------+---------+------------+
  9944.    | Item    | Questions/Features    | References  | Status  | Support    |
  9945.    +---------+-----------------------+-------------+---------+------------+
  9946.    | EXTR    | Does the BIS          | 6.3.1.2,    | M       | Yes__ No__ |
  9947.    |         | recognize upon        | 7.12.2      |         | X:         |
  9948.    |         | receipt the EXT_INFO  |             |         |            |
  9949.    |         | attribute?            |             |         |            |
  9950.    +---------+-----------------------+-------------+---------+------------+
  9951.    | NHRSR   | Does the BIS          | 6.3.1.4,    | M       | Yes__ No__ |
  9952.    |         | recognize upon        | 7.12.4      |         | X:         |
  9953.    |         | receipt the NEXT_HOP  |             |         |            |
  9954.    |         | attribute?            |             |         |            |
  9955.    +---------+-----------------------+-------------+---------+------------+
  9956.    | DLIR    | Does the BIS          | 6.3.1.5,    | M       | Yes__ No__ |
  9957.    |         | recognize upon        | 7.12.5      |         | X:         |
  9958.    |         | receipt the           |             |         |            |
  9959.    |         | DIST_LIST_INCL        |             |         |            |
  9960.    |         | attribute?            |             |         |            |
  9961.    +---------+-----------------------+-------------+---------+------------+
  9962.    | DLER    | Does the BIS          | 6.3.1.6,    | M       | Yes__ No__ |
  9963.    |         | recognize upon        | 7.12.6      |         | X:         |
  9964.    |         | receipt the           |             |         |            |
  9965.    |         | DIST_LIST_EXCL        |             |         |            |
  9966.    |         | attribute?            |             |         |            |
  9967.    +---------+-----------------------+-------------+---------+------------+
  9968.    | TDLYR   | Does the BIS          | 6.3.1.8,    | M       | Yes__ No__ |
  9969.    |         | recognize upon        | 7.12.8      |         | X:         |
  9970.    |         | receipt the TRANSIT   |             |         |            |
  9971.    |         | DELAY attribute?      |             |         |            |
  9972.    +---------+-----------------------+-------------+---------+------------+
  9973.    | RERRR   | Does the BIS          | 6.3.1.9,    | M       | Yes__ No__ |
  9974.    |         | recognize upon        | 7.12.9      |         | X:         |
  9975.    |         | receipt the RESIDUAL  |             |         |            |
  9976.    |         | ERROR attribute?      |             |         |            |
  9977.    +---------+-----------------------+-------------+---------+------------+
  9978.    | EXPR    | Does the BIS          | 6.3.1.10,   | M       | Yes__ No__ |
  9979.    |         | recognize upon        | 7.12.10     |         | X:         |
  9980.    |         | receipt the EXPENSE   |             |         |            |
  9981.    |         | attribute?            |             |         |            |
  9982.    +---------+-----------------------+-------------+---------+------------+
  9983.  
  9984.  
  9985.    Kunzinger                     ISO/IEC 10747                 [ Page 207 ]
  9986.  
  9987.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  9988.  
  9989.    +---------+-----------------------+-------------+---------+------------+
  9990.    | Item    | Questions/Features    | References  | Status  | Support    |
  9991.    +---------+-----------------------+-------------+---------+------------+
  9992.    | LQOSR   | Does the BIS          | 6.3.1.11,   | M       | Yes__ No__ |
  9993.    |         | recognize upon        | 7.12.11     |         | X:         |
  9994.    |         | receipt the LOCALLY   |             |         |            |
  9995.    |         | DEFINED QOS           |             |         |            |
  9996.    |         | attribute?            |             |         |            |
  9997.    +---------+-----------------------+-------------+---------+------------+
  9998.    | HRECR   | Does the BIS          | 6.3.1.12,   | M       | Yes__ No__ |
  9999.    |         | recognize upon        | 7.12.12     |         | X:         |
  10000.    |         | receipt the           |             |         |            |
  10001.    |         | HIERARCHICAL          |             |         |            |
  10002.    |         | RECORDING attribute?  |             |         |            |
  10003.    +---------+-----------------------+-------------+---------+------------+
  10004.    | SECR    | Does the BIS          | 6.3.1.14,   | M       | Yes__ No__ |
  10005.    |         | recognize upon        | 7.12.14     |         | X:         |
  10006.    |         | receipt the SECURITY  |             |         |            |
  10007.    |         | attribute?            |             |         |            |
  10008.    +---------+-----------------------+-------------+---------+------------+
  10009.    | PRTYR   | Does the BIS          | 6.3.1.16,   | M       | Yes__ No__ |
  10010.    |         | recognize upon        | 7.12.16     |         | X:         |
  10011.    |         | receipt the PRIORITY  |             |         |            |
  10012.    |         | attribute?            |             |         |            |
  10013.    +---------+-----------------------+-------------+---------+------------+
  10014.  
  10015.  
  10016.  
  10017.  
  10018.  
  10019.  
  10020.  
  10021.  
  10022.    Kunzinger                     ISO/IEC 10747                 [ Page 208 ]
  10023.  
  10024.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10025.  
  10026.    Annex B.  IDRP checksum generation algorithm
  10027.  
  10028.  
  10029.                                    (Normative)
  10030.  
  10031.       This annex describes the IDRP checksum algorithm, which accepts an a
  10032.       message of arbitrary length as its input and produces a 128-bit
  10033.       digital signature as its output.  It is based upon the message digest
  10034.       algorithm described in RFC 1186.
  10035.  
  10036.    B.1  Mathematical notation
  10037.  
  10038.       In this annex, the following notation is used:
  10039.  
  10040.       Symbol  Meaning
  10041.  
  10042.       X+Y     Addition of two quantities, modulo 2^32
  10043.  
  10044.       X<<s    Left rotation (circular shifting) of the binary pattern X by
  10045.               "s" bit positions.
  10046.  
  10047.       ^X      Bitwise complement of the binary pattern X
  10048.  
  10049.       X xor Y Bitwise EXCLUSIVE-OR function of X and Y
  10050.  
  10051.       X & Y   Bitwise AND-function of X and Y
  10052.  
  10053.       X | Y   Bitwise OR-function of X and Y
  10054.  
  10055.    B.2  Algorithm description
  10056.  
  10057.       The input data stream, M, operated upon by this algorithm is assumed
  10058.       to be b binary digits in length.  The first (leftmost) bit of M is
  10059.       labelled m[1], the second is labelled m[2], ..., and the last
  10060.       (rightmost) bit is labelled m[b].
  10061.  
  10062.       The following steps shall be performed to compute the message digest
  10063.       of the message:
  10064.  
  10065.       a)  Append padding bits
  10066.  
  10067.  
  10068.    Kunzinger                     ISO/IEC 10747                 [ Page 209 ]
  10069.  
  10070.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10071.  
  10072.           From 1 to 512 padding bits shall be appended to the back of the
  10073.           original message M so that its length in bits is congruent to
  10074.           448, modulo 512.  If the original message length, b is already
  10075.           congruent to 448 modulo 512, then 512 bits of padding shall be
  10076.           added.  The first padding bit shall be 1, and all others shall be
  10077.           0.
  10078.  
  10079.       b)  Append the length field
  10080.  
  10081.           When the value of b is less than or equal to 2^64 it shall be
  10082.           expressed as a 64-bit binary integer.  If the quantity b is
  10083.           greater than 2^64, then only the low-order 64 bits of its binary
  10084.           representation shall be used.  The 64-bit long binary encoded
  10085.           quantity shall then be appended to the back of the result
  10086.           obtained in the first step.  Call this quantity Q.
  10087.  
  10088.       After completing these two steps, the quantity Q will have a length
  10089.       which is an exact multiple of 512 bits.  That is, Q consists of N
  10090.       32-bit words, where N is a multiple of 16.  Let Q[1] represent the
  10091.       first (leftmost) 32-bit word of Q,..., and Q [N] represent the last
  10092.       (rightmost) 32-bit word of Q.
  10093.  
  10094.       c)  Initialize the Checksum Buffer
  10095.  
  10096.           The checksum is accumulated in 4 32-bit buffers (A, B, C, and D).
  10097.           Each shall be initialized to the following values, expressed in
  10098.           hexadecimal notation:
  10099.  
  10100.            Word A initial value:    01 23 45 67
  10101.  
  10102.            Word B initial value:    89 AB CD EF
  10103.  
  10104.            Word C initial value:    FE DC BA 98
  10105.  
  10106.            Word D initial value:    76 54 32 10
  10107.  
  10108.       d)  Process Q in Blocks of 16 32-bit words
  10109.  
  10110.           Three auxiliary functions are defined that each take three 32-bit
  10111.           words as input and produce one 32-bit word as output;
  10112.  
  10113.            f(X,Y,Z)  =  (X & Y) | ((~X) & Z)
  10114.  
  10115.            g(X,Y,Z)  =  (X & Y) | (X & Z) | (Y & Z)
  10116.  
  10117.    Kunzinger                     ISO/IEC 10747                 [ Page 210 ]
  10118.  
  10119.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10120.  
  10121.            h(X,Y,Z)  =  X xor Y xor Z
  10122.  
  10123.           Do the following:
  10124.  
  10125.            For i = 0 to N/16 do  /* process each 16-word block */
  10126.              For j = 1 to 16 do: /* copy block i into X */
  10127.                  set X[j] to M[i*16+j].
  10128.              end /* of loop on j */
  10129.              Save A as AA, B as BB, C as CC, and D as DD.
  10130.  
  10131.           [Round 1]:
  10132.  
  10133.           Let [K L M P t s] denote the operation
  10134.                  K =  (K+ f(L,M,P) + X[t]) << s  .
  10135.  
  10136.           Do the following 16 operations in the order indicated:
  10137.                    [A B C D 0 3]
  10138.                    [D A B C 1 7]
  10139.                    [C D A B 2 11]
  10140.                    [B C D A 3 19]
  10141.                    [A B C D 4 3]
  10142.                    [D A B C 5 7]
  10143.                    [C D A B 6 11]
  10144.                    [B C D A 7 19]
  10145.                    [A B C D 8 3]
  10146.                    [D A B C 9 7]
  10147.                    [C D A B 10 11]
  10148.                    [B C D A 11 19]
  10149.                    [A B C D 12 3]
  10150.                    [D A B C 13 7]
  10151.                    [C D A B 14 11]
  10152.                    [B C D A 15 19]
  10153.  
  10154.           [Round 2]:
  10155.  
  10156.           Now let [K L M P t s] denote the operation
  10157.                 K = (K + g(L,M,P) + X[t] + 5A827999) <<s .
  10158.  
  10159.           (The value 5A827999 is a hexadecimal 32-bit constant.)
  10160.  
  10161.           Do the following 16 operations in the order indicated:
  10162.  
  10163.  
  10164.    Kunzinger                     ISO/IEC 10747                 [ Page 211 ]
  10165.  
  10166.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10167.  
  10168.                           [A B C D 0  3]
  10169.                           [D A B C 4  5]
  10170.                           [C D A B 8  9]
  10171.                           [B C D A 12 13]
  10172.                           [A B C D 1  3]
  10173.                           [D A B C 5  5]
  10174.                           [C D A B 9  9]
  10175.                           [B C D A 13 13]
  10176.                           [A B C D 2  3]
  10177.                           [D A B C 6  5]
  10178.                           [C D A B 10 9]
  10179.                           [B C D A 14 13]
  10180.                           [A B C D 3  3]
  10181.                           [D A B C 7  5]
  10182.                           [C D A B 11 9]
  10183.                           [B C D A 15 13]
  10184.  
  10185.           [Round 3]:
  10186.  
  10187.           Now let [K L M P t s] denote the operation
  10188.                 K = (K + h(L,M,P) + X[t] + 6ED9EBA1)<<s.
  10189.  
  10190.           (The value 6ED9EBA1 is a hexadecimal 32-bit constant.)
  10191.  
  10192.           Do the following 16 operations in the order indicated:
  10193.  
  10194.                    [A B C D 0  3]
  10195.                    [D A B C 8  9]
  10196.                    [C D A B 4  11]
  10197.                    [B C D A 12 15]
  10198.                    [A B C D 2  3]
  10199.                    [D A B C 10 9]
  10200.                    [C D A B 6  11]
  10201.                    [B C D A 14 15]
  10202.                    [A B C D 1  3]
  10203.                    [D A B C 9  9]
  10204.                    [C D A B 5  11]
  10205.                    [B C D A 13 15]
  10206.                    [A B C D 3  3]
  10207.                    [D A B C 11 9]
  10208.                    [C D A B 7  11]
  10209.                    [B C D A 15 15]
  10210.  
  10211.           Then perform the following additions:
  10212.  
  10213.    Kunzinger                     ISO/IEC 10747                 [ Page 212 ]
  10214.  
  10215.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10216.  
  10217.                           A = A + AA
  10218.                           B = B + BB
  10219.                           C = C + CC
  10220.                           D = D + DD
  10221.  
  10222.           (That is, each register is incremented by the value it had when
  10223.           processing on this block was started.)
  10224.  
  10225.                     end /* of loop on i */
  10226.  
  10227.       e)  Output
  10228.  
  10229.           After completing the last loop on i, the checksum is the
  10230.           concatenation of the final values of A, B, C, and D.
  10231.  
  10232.  
  10233.  
  10234.  
  10235.  
  10236.  
  10237.  
  10238.  
  10239.  
  10240.  
  10241.  
  10242.  
  10243.    Kunzinger                     ISO/IEC 10747                 [ Page 213 ]
  10244.  
  10245.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10246.  
  10247.    Annex C.  Bibliography
  10248.  
  10249.  
  10250.                                   (Informative)
  10251.  
  10252.       The following references contain information which is helpful in
  10253.       understanding the protocol described in this international standard,
  10254.       and for setting the context in which it might be deployed.
  10255.  
  10256.       ISO 9542:1988,  Information Processing Systems - Telecommunications
  10257.         and Information Exchange between Systems - End system to
  10258.         Intermediate system routeing exchange protocol for use in
  10259.         conjunction with the Protocol for providing the connectionless-mode
  10260.         network service (ISO 8473)
  10261.  
  10262.       ISO TR 9575: 1989,  Information Processing Systems -
  10263.         Telecommunications and Information Exchange between Systems - OSI
  10264.         Routeing Framework
  10265.  
  10266.       ISO/IEC 10589,  Information Processing Systems - Telecommunications
  10267.         and Information Exchange between Systems - Intermediate System to
  10268.         Intermediate System Intra-Domain Routing Exchange Protocol for use
  10269.         in Conjunction with the protocol for providing the
  10270.         Connectionless-mode Network Service (ISO 8473)
  10271.  
  10272.       ISO/IEC DIS 11577, Information Technology - Telecommunications and
  10273.         Information Exchange between Systems - Network Layer Security
  10274.         Protocol
  10275.  
  10276.       RFC 1186,  The MD4 Message Digest Algorithm, R. Rivest, October 1990
  10277.  
  10278.  
  10279.  
  10280.  
  10281.  
  10282.  
  10283.    Kunzinger                     ISO/IEC 10747                 [ Page 214 ]
  10284.  
  10285.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10286.  
  10287.    Annex D.  Example of authentication type 2
  10288.  
  10289.  
  10290.                                   (Informative)
  10291.  
  10292.    D.1  Authentication mechanism
  10293.  
  10294.       The procedure outlined below provides data integrity and peer BIS
  10295.       authentication in a way that satisfies the requirements of
  10296.       authentication type 2.  This is an illustrative example only.  Any
  10297.       other method that is consistent with type 2 authentication could also
  10298.       be used.
  10299.  
  10300.       For an OPEN PDU with an authentication code field of 2, and for all
  10301.       BISPDUs that flow on a BIS-BIS connection established by this OPEN
  10302.       PDU, the validation field will contain a 16-octet encrypted checksum:
  10303.  
  10304.       a)  Generating a Validation Pattern:
  10305.  
  10306.           The contents of the Validation Pattern field that is included in
  10307.           an outbound BISPDU can be generated by the following two step
  10308.           process, which is illustrated in Figure 10:
  10309.  
  10310.           1)  An unencrypted checksum that covers the contents of the
  10311.               BISPDU can be generated by applying the procedures of Annex B
  10312.               to the input data stream that consists of the contents of the
  10313.               entire BISPDU with all bits of the Validation Pattern field
  10314.               initially set to 0.  The output of this step is an
  10315.               unencrypted 16-octet long checksum, which is called chksum.
  10316.  
  10317.           2)  The 16-octet quantity chksum is then encrypted, and the
  10318.               encrypted pattern is placed in the Validation Pattern field
  10319.               of the BISPDU.
  10320.  
  10321.           Note 42:  The following observations can be made:
  10322.  
  10323.                     1)  The encryption algorithm must be agreed upon in the
  10324.                         cryptographic association set up by the two BISs
  10325.                         involved in the authentication process.  This
  10326.                         international standard does not mandate use of a
  10327.                         specific encryption algorithm.  Explicit indication
  10328.                         of the specific algorithm to be used is outside the
  10329.                         scope of IDRP.   However, the "Authentication Data"
  10330.  
  10331.    Kunzinger                     ISO/IEC 10747                 [ Page 215 ]
  10332.  
  10333.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10334.  
  10335.                         field of IDRP's OPEN PDU can be used to specify an
  10336.                         algorithm indirectly in accordance with the local
  10337.                         agreements of the two communicating BISs.
  10338.  
  10339.                     2)  There is no requirement that a given BIS must use
  10340.                         the same encryption algorithm on every BIS-BIS
  10341.                         connection which it has established.  The IDRP
  10342.                         authentication code carried in the OPEN PDU applies
  10343.                         only to a particular BIS-BIS connection; Thus,
  10344.                         different BIS-BIS connections may choose to use
  10345.                         different encryption algorithms.
  10346.  
  10347.                     3)  The presence or absence of the authentication
  10348.                         function is specified on a "per BIS-BIS connection"
  10349.                         basis.  Thus, a given BIS may support some BIS-BIS
  10350.                         connections that use authentication, and others
  10351.                         that do not.
  10352.  
  10353.       b)  Checking the Validation Pattern of an Inbound BISPDU:
  10354.  
  10355.           The contents of the Validation Pattern field of an inbound BISPDU
  10356.           will be checked by the following procedures:
  10357.  
  10358.           1)  Apply the IDRP checksum algorithm to the data stream that
  10359.               consists of the contents of the inbound BISPDU with its
  10360.               Validation Pattern set to all zeros.  Call this quantity the
  10361.               "reference pattern".
  10362.  
  10363.           2)  Decrypt the Validation Pattern field of the inbound BISPDU,
  10364.               calling the result the "received pattern".
  10365.  
  10366.           If the "reference pattern" and the "received pattern" are
  10367.           identical, then the peer BIS has been authenticated, and the
  10368.           inbound BISPDU will be accepted.  If the "reference pattern" and
  10369.           the "received pattern" are not identical, the receiving BIS will
  10370.           inform system management that an authentication failure has
  10371.           occurred.  The incoming BISPDU will be ignored.  The receiving
  10372.           BIS will not send an IDRP ERROR PDU to the peer-BIS because the
  10373.           identity of the peer has not been authenticated.
  10374.  
  10375.       Note 43:  If a BISPDU has a malformed header, it will be discarded.
  10376.                 As a result, the Validation Pattern of such BISPDUs will
  10377.                 not be checked.
  10378.  
  10379.  
  10380.    Kunzinger                     ISO/IEC 10747                 [ Page 216 ]
  10381.  
  10382.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10383.  
  10384.    +----------------------------------------------------------------------+
  10385.    |                                                                      |
  10386.    |                                  md41                                |
  10387.    |                                                                      |
  10388.    +----------------------------------------------------------------------+
  10389.    Figure 10. An Example of the Authentication Type 2
  10390.  
  10391.  
  10392.  
  10393.  
  10394.  
  10395.  
  10396.  
  10397.  
  10398.  
  10399.  
  10400.  
  10401.  
  10402.  
  10403.  
  10404.  
  10405.    Kunzinger                     ISO/IEC 10747                 [ Page 217 ]
  10406.  
  10407.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10408.  
  10409.    Annex E.  Jitter algorithm
  10410.  
  10411.  
  10412.                                   (Informative)
  10413.  
  10414.       When BISPDUs are transmitted as a result of timer expiration, there
  10415.       is danger that the timers of individual systems could become
  10416.       synchronized.  To minimize the likelihood of this occurring, all
  10417.       periodic timers whose expiration can cause the transmission of a
  10418.       BISPDU shall have jitter introduced.  An example algorithm that
  10419.       satisfies the requirements of 7.17.3.3 is shown below.
  10420.  
  10421.  
  10422.  
  10423.  
  10424.  
  10425.  
  10426.  
  10427.  
  10428.  
  10429.  
  10430.  
  10431.  
  10432.    Kunzinger                     ISO/IEC 10747                 [ Page 218 ]
  10433.  
  10434.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10435.  
  10436.    +----------------------------------------------------------------------+
  10437.    |                                                                      |
  10438.    | CONSTANT                                                             |
  10439.    |   Jitter=0.25 (* defined by architectural constant Jitter *)         |
  10440.    |   Resolution=100                                                     |
  10441.    |                                                                      |
  10442.    | PROCEDURE Random (max: Integer): Integer                             |
  10443.    |   (* This procedure delivers a uniformly distributed random integer R|
  10444.    |    such that 0 < R < max *)                                          |
  10445.    |                                                                      |
  10446.    | PROCEDURE                                                            |
  10447.    |   DefineJitteredTimer (baseTimeValueinSeconds: Integer;              |
  10448.    |   expirationAction: Procedure);                                      |
  10449.    |                                                                      |
  10450.    | VAR                                                                  |
  10451.    |   baseTimeValue, maximumTimeModifier, waitTime: Integer;             |
  10452.    |   nextexpirtation: Time;                                             |
  10453.    |                                                                      |
  10454.    | BEGIN                                                                |
  10455.    |   baseTimeValue:=baseTimeValueInSeconds*1000/Resolution;             |
  10456.    |   maximumTimeModifier:=baseTimeValue*Jitter;                         |
  10457.    |   WHILE running DO                                                   |
  10458.    |     BEGIN                                                            |
  10459.    |     (* First compute next expiration timer *)                        |
  10460.    |     randomTimeModifier:=Random(maximumTimeModifier);                 |
  10461.    |     waitTime:=baseTimeValue - randomTimeModifier;                    |
  10462.    |     waitTime:=waitTime*Resolution/1000;                              |
  10463.    |     nextexpiration:=CurrentTime + waitTime;                          |
  10464.    |     (* Then perform expiration action *)                             |
  10465.    |     expirationAction: WaitUntil(nextexpiration)                      |
  10466.    |     END (* of loop *)                                                |
  10467.    |  END (* of DefinedJitterTimer *)                                     |
  10468.    |                                                                      |
  10469.    |                                                                      |
  10470.    +----------------------------------------------------------------------+
  10471.  
  10472.  
  10473.  
  10474.  
  10475.  
  10476.    Kunzinger                     ISO/IEC 10747                 [ Page 219 ]
  10477.  
  10478.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10479.  
  10480.    Annex F.  Computing a checksum for an Adj-RIB
  10481.  
  10482.  
  10483.                                   (Informative)
  10484.  
  10485.       To compute the checksum for a given Adj-RIB-Out or Adj-RIB-In, the
  10486.       following procedure can be used:
  10487.  
  10488.       a)  Unfeasible routes will not enter into the computation.
  10489.  
  10490.       b)  A sequence number will be associated with each feasible route in
  10491.           the information base.  For an Adj-RIB-Out, it will be the locally
  10492.           generated sequence number of the UPDATE PDU that was used to
  10493.           advertise the route; for an Adj-RIB-In, it will be the sequence
  10494.           number of the neighbor BIS's UPDATE PDU that advertised the
  10495.           route.
  10496.  
  10497.       c)  The feasible routes within the information base will be sorted in
  10498.           a non-decreasing order of their sequence numbers.
  10499.  
  10500.       d)  Within each route, path attributes will be sorted in a
  10501.           non-decreasing order based on their type codes, followed by the
  10502.           Network Layer Reachability Information sorted in lexicographical
  10503.           order, based on the binary value of its NSAP address prefixes.
  10504.  
  10505.       e)  The checksum will be generated by applying the procedures of
  10506.           Annex B to the octet stream which is composed from the
  10507.           concatenation of the sorted feasible routes.
  10508.  
  10509.  
  10510.  
  10511.  
  10512.  
  10513.  
  10514.    Kunzinger                     ISO/IEC 10747                 [ Page 220 ]
  10515.  
  10516.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10517.  
  10518.    Annex G.  RIB overload
  10519.  
  10520.  
  10521.                                   (Informative)
  10522.  
  10523.       A BIS is said to experience a RIB-overload condition when it does not
  10524.       have enough memory available to store the routeing information needed
  10525.       for its Adj-RIBs-In, Loc-RIBs, and Adj-RIBs-Out.  Since the routeing
  10526.       information that a BIS chooses to maintain is in fact a local policy,
  10527.       this international standard does not prescribe methods for handling
  10528.       overload conditions.
  10529.  
  10530.       Methods for handling RIB overload can be considered as specific
  10531.       instances of local policies, and therefore are not specified by this
  10532.       international standard.  However, some examples of approaches that
  10533.       may be used to control RIB overload are suggested below.
  10534.  
  10535.       Since the Loc-RIBs contain only a subset of the routeing information
  10536.       held in the Adj-RIBs-In, the size of a BIS's Adj-RIBs-In will be
  10537.       greater than or equal to the size of its Loc-RIBs.  Therefore, the
  10538.       first step to alleviate the memory overload condition would be to
  10539.       reduce the amount of information that is stored in Adj-RIBs-In.  To
  10540.       insure routeing consistency within a routeing domain, the following
  10541.       steps can be applied to an Adj-RIB-In that is associated with a peer
  10542.       BIS located in an adjacent routeing domain:
  10543.  
  10544.       a)  Remove routes that are not currently in any of the Loc-RIBs (that
  10545.           is, those routes that have not been selected by the Decision
  10546.           Process):
  10547.  
  10548.           -   Any routes to destinations that are not contained in the
  10549.               routes stored in the Loc-RIB may be removed with no negative
  10550.               impact.
  10551.  
  10552.           -   Any routes to destinations that are contained in the routes
  10553.               stored in the Loc-RIBs can also be removed.  However, since
  10554.               they could later have been used as fallback routes (if the
  10555.               current route that is in the Loc-RIB becomes unfeasible),
  10556.               removing them may cause suboptimal connectivity in the
  10557.               future.
  10558.  
  10559.       b)  If several Adj-RIBs-In (that have the same RIB attribute but are
  10560.           associated with different neighbor BISs) have routes to the same
  10561.           destination, then routes with higher degree of preference (as
  10562.  
  10563.    Kunzinger                     ISO/IEC 10747                 [ Page 221 ]
  10564.  
  10565.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10566.  
  10567.           computed by the local BIS) should be retained, while routes with
  10568.           lower degree of preference may be deleted.
  10569.  
  10570.       c)  If a BIS unilaterally deletes a route, then any solicited
  10571.           RIB-refresh will reinstate the deleted route.  Hence, if the
  10572.           condition persists, the memory-overloaded BIS should close the
  10573.           IDRP connection, and then take corrective action, such as
  10574.           re-opening it with an OPEN PDU that indicates support for a
  10575.           smaller RIB-ATTsSet, for example.
  10576.  
  10577.       d)  Terminate one or more of the IDRP sessions with other BISs. That
  10578.           would result in releasing the memory that was previously used to
  10579.           store the Adj-RIB-Ins and the Adj-RIBs-Out associated with that
  10580.           BIS. To ensure routeing consistency within an RD this measure may
  10581.           be applied only to the IDRP sessions with BISs in adjacent RDs.
  10582.  
  10583.       e)  If all else fails to alleviate  the memory overload condition,
  10584.           the local BIS can terminate all of its IDRP sessions.
  10585.  
  10586.  
  10587.  
  10588.  
  10589.  
  10590.  
  10591.  
  10592.  
  10593.  
  10594.  
  10595.  
  10596.    Kunzinger                     ISO/IEC 10747                 [ Page 222 ]
  10597.  
  10598.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10599.  
  10600.    Annex H.  Processor overload
  10601.  
  10602.  
  10603.                                   (Informative)
  10604.  
  10605.       A BIS is said to be CPU overloaded when there is not enough
  10606.       processing power to process incoming BISPDUs received from other
  10607.       BISs. In this situation BIS must continue to update the Adj-RIBs-In
  10608.       with information contained in BISPDUs received from other BISs, but
  10609.       may not run the Decision Process using this information except for
  10610.       routes identified in the WITHDRAWN ROUTES field of an UPDATE PDU.
  10611.  
  10612.       For a route identified in the WITHDRAWN ROUTES field of the UPDATE
  10613.       PDU, the local BIS checks whether this route is currently installed
  10614.       in one of its Loc-RIBs; if so, it removes it from the appropriate
  10615.       Loc-RIB, updates the appropriate Adj-RIBs-Out and FIB, and generates
  10616.       (if necessary) an UPDATE-PDU to inform other BIS's of the change in
  10617.       its Loc-RIBs and its Adj-RIBs-Out.  The Decision Process on the local
  10618.       BIS does not select another to replace the one that becomes
  10619.       unfeasible.
  10620.  
  10621.       Since this procedure decreases the size of the Loc-RIB, a
  10622.       long-lasting CPU overload condition can eventually deplete the entire
  10623.       Loc-RIB, thus making the BIS unavailable as an intermediate system.
  10624.       If the CPU overload condition disappears, then the Decision Process
  10625.       and Update Process should be run over all the new routes that were
  10626.       installed into the Adj-RIBs but have not yet been processed by the
  10627.       Decision Process. If the CPU overload condition persists for more
  10628.       than the predefined architectural constant MaxCPUOverloadPeriod, the
  10629.       local BIS terminates its IDRP sessions.
  10630.  
  10631.       The order of termination of the IDRP sessions is significant. First
  10632.       the BIS should terminate one or more of the IDRP sessions with BISs
  10633.       in adjacent RDs. If after terminating IDRP sessions with all of the
  10634.       BISs in adjacent RDs the CPU overload still persists, the BIS
  10635.       terminates the rest of its IDRP sessions (with all the BISs within
  10636.       its own RD).
  10637.  
  10638.  
  10639.  
  10640.    Kunzinger                     ISO/IEC 10747                 [ Page 223 ]
  10641.  
  10642.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10643.  
  10644.    Annex J.  Formation of RDCs
  10645.  
  10646.  
  10647.                                   (Informative)
  10648.  
  10649.       Confederations exist in the knowledge configured into a given BIS.
  10650.       Since this knowledge must be added one BIS at a time, it is necessary
  10651.       to examine how a confederation can grow, and what happens in the
  10652.       interim when only some of the BISs are aware of the information
  10653.       regarding the confederation.
  10654.  
  10655.       There are some potential problems that one should be aware of:
  10656.  
  10657.       -   Routes through a confederation might not work properly if BISs in
  10658.           the middle of the confederation do not know about the
  10659.           confederation.
  10660.  
  10661.       -   Routes may not work properly while a planned very large
  10662.           confederation with confederations nested inside is growing, but
  10663.           is not yet large enough to include all the confederations that
  10664.           eventually will be nested inside.
  10665.  
  10666.       -   Policies in distant BIS's must change when confederations are
  10667.           formed or dissolve.
  10668.  
  10669.       If confederations are formed and dissolved carefully, then these
  10670.       problems can be avoided.  The next sections describe the steps that
  10671.       should be taken for several common scenarios.
  10672.  
  10673.    J.1  Forming a new lower level confederation
  10674.  
  10675.       Let's start with the simplest case──a newly formed confederation
  10676.       consisting of several RDs.  The steps involved are:
  10677.  
  10678.       a)  First warn all managers of all BISs whose RDs are contained in
  10679.           the new RDC that a new confederation will be formed consisting of
  10680.           the RDs in a particular set.  If the new confederation is to be
  10681.           nested within an existing confederation, the existence of the new
  10682.           confederation will not be noticeable to any BISs outside the
  10683.           nesting confederation.  Thus the affected BISs are those within
  10684.           the lowest level confederation in which this new confederation
  10685.           will be nested.  If there are multiple overlapping confederations
  10686.           in which the confederation will be nested, with no smaller
  10687.  
  10688.    Kunzinger                     ISO/IEC 10747                 [ Page 224 ]
  10689.  
  10690.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10691.  
  10692.           confederation nested within one of the overlapping confederations
  10693.           and in which the new confederation will be nested, BISs in all
  10694.           those confederations will be affected.
  10695.  
  10696.       b)  A manager of a BIS that has policies regarding any of the RDs to
  10697.           be included in the new confederation must modify those policies
  10698.           since the RDs in the new RDC can no longer be differentiated. For
  10699.           example, if the previous policy was that some of those were all
  10700.           right to route through and others not, a new single policy for
  10701.           the new confederation would need to be formulated.
  10702.  
  10703.       c)  The policy regarding the new confederation must be added to the
  10704.           existing set of policies (the confederation will not appear
  10705.           immediately).
  10706.  
  10707.       d)  When ample time has elapsed so that managers will can modify the
  10708.           policies at their BISs, the managers of the BISs in the new
  10709.           confederation can start informing them about the new
  10710.           confederation.
  10711.  
  10712.       e)  One by one, each BIS is informed that it is in the confederation.
  10713.           The order in which the BISs are modified is critical.  At all
  10714.           times the set of BISs that have been informed about the
  10715.           confederation must be a connected set.  Thus the confederation
  10716.           must be built gradually outwards until all the BISs have been
  10717.           modified.
  10718.  
  10719.       f)  When all the BISs in the confederation have been modified, the
  10720.           managers of remote BISs can be informed that the confederation
  10721.           has been fully formed, and any old policies regarding the RDs in
  10722.           the confederation can now be safely deleted.
  10723.  
  10724.       Note that the above rules apply as well if the new confederation is
  10725.       one that is nested within another confederation.  The only difference
  10726.       that occurs when the new confederation to be formed is nested within
  10727.       a confederation X is that managers of BISs that are not contained
  10728.       within X do not need to be informed about the formation of X.
  10729.  
  10730.       Also note that the BISs internal to X still need to retain their
  10731.       policies regarding the RDs and confederations within X.
  10732.  
  10733.  
  10734.  
  10735.    Kunzinger                     ISO/IEC 10747                 [ Page 225 ]
  10736.  
  10737.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10738.  
  10739.    J.2  Forming a higher level confederation
  10740.  
  10741.       Now assume it is desired to form a new confederation X that will have
  10742.       some number of already formed confederations nested within it, say Y
  10743.       and Z.  The steps are:
  10744.  
  10745.       a)  As above, warn all managers of all affected BISs (i.e.  in the
  10746.           lowest level confederation(s) that X will be nested within (or
  10747.           all BISs, if X is a top level confederation)) that a new
  10748.           confederation X will be formed, and list all the RDs and
  10749.           confederations to be included (the ones that are currently
  10750.           visible externally, i.e., don't list the RDs in confederations to
  10751.           be included in X -- just list the top level confederations to be
  10752.           included)..
  10753.  
  10754.       b)  As above, managers of BISs must figure out a reasonable policy
  10755.           for the new confederation.
  10756.  
  10757.       c)  As above, the policy regarding the new confederation must be
  10758.           ADDED to the existing set of policies (the confederation will not
  10759.           appear immediately).
  10760.  
  10761.       d)  As above, when ample time has elapsed so that managers will have
  10762.           been given an appropriate opportunity to modify the policies at
  10763.           their BISs, the managers of the BISs in the new confederation can
  10764.           start informing the BISs in the confederation about the
  10765.           confederation.
  10766.  
  10767.       e)  As above, one by one, each BIS is informed that it is in the
  10768.           confederation, where the order in which the BISs are configured
  10769.           with the confederation information is critical──at all times the
  10770.           confederation must be connected.
  10771.  
  10772.           The difference, though is in how the BISs are configured.
  10773.           Initially, the BISs are informed, one by one, that they are in X,
  10774.           but they are NOT informed that Y and Z are nested within X.
  10775.           Instead, they will be configured as though X is a lowest level
  10776.           confederation.
  10777.  
  10778.       f)  After all BISs in the confederation have been configured to know
  10779.           they belong to X, they can one by one be modified to believe Y
  10780.           and Z are nested within X.  In contrast to the knowledge that
  10781.           they belong to X, which must be configured in a careful order,
  10782.           the knowledge that Y and Z are nested within X can be configured
  10783.           within the BISs in X in any order.
  10784.  
  10785.  
  10786.    Kunzinger                     ISO/IEC 10747                 [ Page 226 ]
  10787.  
  10788.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10789.  
  10790.       g)  When all the BISs in the confederation have been twice modified
  10791.           (once to know about X, and once to know about the nesting rules),
  10792.           managers of remote BISs can be informed that the confederation
  10793.           has been fully formed, and the policies regarding RDs and
  10794.           confederations in the new confederation can now be safely
  10795.           deleted.
  10796.  
  10797.    J.3  Deleting a lowest level confederation
  10798.  
  10799.       Now suppose there is a confederation X, with no confederations nested
  10800.       within it, that is being dissolved.  The steps involved are:
  10801.  
  10802.       a)  First warn all managers of all affected BISs (see point 1 in the
  10803.           previous 2 sections for a rigorous description of which BISs are
  10804.           affected), that X will be dissolved, and list all the RDs in X.
  10805.  
  10806.       b)  A manager of a BIS that has policies regarding X needs to add the
  10807.           same policy many times, one for each RD in X.  It is also
  10808.           possible at this time to make policies that are different for the
  10809.           RDs in X.
  10810.  
  10811.       c)  When ample time has elapsed so that managers will have been given
  10812.           an appropriate opportunity to modify the policies at their BISs,
  10813.           the managers of the BISs in X can start informing the BISs in X
  10814.           to forget about X.
  10815.  
  10816.       d)  One by one, each BIS in X is informed that it is not in X.  The
  10817.           order in which the BISs are modified is critical.  At all times
  10818.           the set of BISs that believe they are in X must be a connected
  10819.           set.  Thus X must be shrunk gradually towards one point.
  10820.  
  10821.       e)  When all the BISs in X have been modified, the managers of remote
  10822.           BISs (those in the confederation within which X had been nested,
  10823.           or all BISs if X was a top level confederation) can be informed
  10824.           that X no longer exists, and the policies regarding X can now be
  10825.           safely deleted.
  10826.  
  10827.    J.4  Deleting a higher level confederation
  10828.  
  10829.        The steps involved are:
  10830.  
  10831.       a)  As above, warn all managers of all affected BISs (see point 1 in
  10832.           the previous 3 sections) that confederation X will be dissolved,
  10833.           and list all the RDs and confederations included in X (i.e., the
  10834.           ones that will become visible when X is deleted.)
  10835.  
  10836.    Kunzinger                     ISO/IEC 10747                 [ Page 227 ]
  10837.  
  10838.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10839.  
  10840.       b)  As above, policies need to be ADDED regarding all the RDs and
  10841.           confederations that were included in X.
  10842.  
  10843.       c)  As above, when ample time has elapsed so that managers will have
  10844.           been given an appropriate opportunity to modify the policies at
  10845.           their BISs, the managers of the BISs in the new confederation can
  10846.           start informing the BISs in X about X's impending dissolution.
  10847.  
  10848.       d)  Now different from above, one by one (in any order) the BISs in X
  10849.           are informed that nothing is nested within X any more, though
  10850.           they retain knowledge of X.
  10851.  
  10852.       e)  After all BISs in X have been configured to believe X is a bottom
  10853.           level confederation, knowledge of X can be carefully deleted from
  10854.           the BISs (careful because the order is critical, as above, i.e. X
  10855.           must at all times be connected.)
  10856.  
  10857.       f)  After all BISs previously in X have been twice modified (once to
  10858.           delete the nesting rules for X, and one to delete X), managers of
  10859.           remote BISs can be informed that X has been fully dissolved, and
  10860.           policies regarding the confederation can now be safely deleted.
  10861.  
  10862.  
  10863.  
  10864.  
  10865.  
  10866.  
  10867.  
  10868.  
  10869.  
  10870.  
  10871.    Kunzinger                     ISO/IEC 10747                 [ Page 228 ]
  10872.  
  10873.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10874.  
  10875.    Annex K.  Example usage of MULTI-EXIT_DISC attribute
  10876.  
  10877.  
  10878.                                   (Informative)
  10879.  
  10880.       The MULTI-EXIT DISC attribute can be used to provide a limited form
  10881.       of multi-path (load-splitting), as is shown in the following
  10882.       examples.
  10883.  
  10884.       -   Example 1 (see Figure 11):
  10885.  
  10886.       Consider the case when a BIS A located in routeing domain RD-A has
  10887.           two adjacent BISs (B1 and B2) that belong to the routeing domain
  10888.           RD-B.  Assume that RD-B has Network Layer Reachability
  10889.           information about NSAPs N1, N2, ... Nk, and it wants to advertise
  10890.           this information to RD-A.  By using the MULTI-EXIT_DISC attribute
  10891.           RD-B may do selective load splitting (based on NSAP addresses)
  10892.           between B1 and B2.
  10893.  
  10894.           For example, BIS B1 advertises to BIS A Network Layer
  10895.           Reachability information N1, N2, ... Nm with the MULTI_EXIT_DISC
  10896.           set to X, and advertises N(m+1), ... Nk with the MULTI_EXIT_DISC
  10897.           set to X + 1.
  10898.  
  10899.           Similarly, BIS B2 advertises to BIS A Network Layer Reachability
  10900.           information N1, N2, ... Nm with the MULTI_EXIT_DISC set to X + 1,
  10901.           and advertises N(m+1), ... Nk with the MULTI_EXIT_DISC set to X.
  10902.  
  10903.           As a result, traffic from BIS A that is destined to N1, N2, ...
  10904.           Nm will flow through BIS B1, while traffic from BIS A that is
  10905.           destined to N(m+1), ... Nk will flow through BIS B2.  This
  10906.           scenario illustrates the simplest way of doing limited multipath
  10907.           with IDRP.
  10908.  
  10909.       -   Example 2 (see Figure 12):
  10910.  
  10911.           Next consider more complex case where there is a multihomed
  10912.           routeing domain RD-A that has only slow speed links. RD-A is
  10913.           connected at several points to a transit routeing domain RD-B
  10914.           that has only high speed links; BIS A1 is adjacent to BIS B1, and
  10915.           BIS A2 is adjacent to BIS B2. RD-A wants to minimize the distance
  10916.           that incoming NPDUs addressed to certain ESs──say ES(1) through
  10917.           ES(k)──will have to travel within RD-A.
  10918.  
  10919.    Kunzinger                     ISO/IEC 10747                 [ Page 229 ]
  10920.  
  10921.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10922.  
  10923.    +----------------------------------------------------------------------+
  10924.    |                                                                      |
  10925.    |                                 multi1                               |
  10926.    |                                                                      |
  10927.    |                                 RD-A                                 |
  10928.    |                                                                      |
  10929.    |                       +-----------------------+                      |
  10930.    |                       |                       |                      |
  10931.    |                       |                       |                      |
  10932.    |                       |       +-------+       |                      |
  10933.    |                       |       |  A1   |       |                      |
  10934.    |                       +-----------------------+                      |
  10935.    |                                /     \                               |
  10936.    |   Update PDU 1:               /       \      Update PDU 1:           |
  10937.    |    MULTI_EXIT_DISC = x,      /         \      MULTI_EXIT_DISC = x+1  |
  10938.    |    NLRI = N(1)...N(M)       /           \     NLRI=N(1)...N(M)       |
  10939.    |   Update PDU 2:            /             \   Update PDU 2:           |
  10940.    |    MULTI_EXIT_DISC = x+1, /               \   MULTI_EXIT_DISC = x    |
  10941.    |    NLRI = N(1)...N(K)    /                 \  NLRI=N(1)...N(K)       |
  10942.    |                         /                   \                        |
  10943.    |                +-------------------------------------+               |
  10944.    |                |    | B1 |                   | B2 |  |               |
  10945.    |                |    +----+                   +----+  |               |
  10946.    |                |                                     |               |
  10947.    |                |                                     |               |
  10948.    |                |                                     |               |
  10949.    |                +-------------------------------------+               |
  10950.    |                                                                      |
  10951.    |                                 RD-B                                 |
  10952.    |                                                                      |
  10953.    +----------------------------------------------------------------------+
  10954.    Figure 11. Example 1 Configuration
  10955.  
  10956.           One way of doing this is by making BIS A1 to announce to BIS B1
  10957.           destinations ES(1)─ES(k) with a lower MULTI_EXIT_DISC, as
  10958.           compared to the MULTI_EXIT_DISC that BIS A2 will use when
  10959.           announcing the same destinations to the BIS B2.  Similarly, BIS
  10960.           A2 would announce to BIS B2 destinations ES(k+1)─ES(n) within the
  10961.           RD-A that are closer to the BIS A2 (than to the BIS A1) with the
  10962.           lower MULTI_EXIT_DISC, as compared to the MULTI_EXIT_DISC that
  10963.           the BIS A1 will use when announcing the same destinations to the
  10964.           BIS B1.
  10965.  
  10966.           When traffic that is destined to some ES within RD-A enters  RD-B
  10967.           on its way to RD-A via BIS X, X picks up the exit BIS that has
  10968.           the lowest MULTI_EXIT_DISC value for that destination.  For
  10969.  
  10970.    Kunzinger                     ISO/IEC 10747                 [ Page 230 ]
  10971.  
  10972.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  10973.  
  10974.    +----------------------------------------------------------------------+
  10975.    |                                                                      |
  10976.    |                                 multi2                               |
  10977.    |                            RD-B                                      |
  10978.    |                                                                      |
  10979.    |                                                                      |
  10980.    |            +---------------------------------------+                 |
  10981.    |            |               | X |                   |                 |
  10982.    |            |               +---+                   |                 |
  10983.    |            |                                       |                 |
  10984.    |            |          +----+     +----+            |                 |
  10985.    |            |          | B1 |     | B2 |            |                 |
  10986.    |            +---------------------------------------+                 |
  10987.    |                         |          |                                 |
  10988.    |  Update PDU:            |          |  Update PDU:                    |
  10989.    |   MULTI_EXIT_DISC=x     |          |   MULTI_EXIT_DISC=x+1           |
  10990.    |   NLRI=ES(1) to ES(k)   |          |   NLRI=ES(1) to ES(k)           |
  10991.    |                         |          |                                 |
  10992.    |                         |          |                                 |
  10993.    |  Update PDU:            |          |  Update PDU:                    |
  10994.    |   MULTI_EXIT_DISC=x+1   |          |   MULTI_EXIT_DISC=x             |
  10995.    |   NLRI=ES(k+1) to ES(n) |          |   NLRI=ES(k+1) to ES(n)         |
  10996.    |                         |          |                                 |
  10997.    |            +---------------------------------------+                 |
  10998.    |            |          | A1 |     | A2 |            |                 |
  10999.    |            |          +----+     +----+            |                 |
  11000.    |            |            |  \      /  |             |                 |
  11001.    |            |            |   \    /   |             |                 |
  11002.    |            |            |    \  /    |             |                 |
  11003.    |            |            |     \/     |             |                 |
  11004.    |            |            |     /\     |             |                 |
  11005.    |            |            |    /  \    |             |                 |
  11006.    |            |            |   /    \   |             |                 |
  11007.    |            |            |  /      \  |             |                 |
  11008.    |            |         +-------+   +---------+       |                 |
  11009.    |            |         | ES(1) |   | ES(k+1) |       |                 |
  11010.    |            |         |  to   |   |   to    |       |                 |
  11011.    |            |         | ES(k) |   | ES(n)   |       |                 |
  11012.    |            |         +-------+   +---------+       |                 |
  11013.    |            |                                       |                 |
  11014.    |            +---------------------------------------+                 |
  11015.    |                                                                      |
  11016.    |                                                                      |
  11017.    |                           RD-A                                       |
  11018.    |                                                                      |
  11019.    +----------------------------------------------------------------------+
  11020.    Figure 12. Example 2 Configuration
  11021.  
  11022.    Kunzinger                     ISO/IEC 10747                 [ Page 231 ]
  11023.  
  11024.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11025.  
  11026.           example, X may pick up BIS A2 as an exit, even if the distance
  11027.           between A2 and X is greater than the distance between A1 and X.
  11028.  
  11029.  
  11030.  
  11031.  
  11032.  
  11033.  
  11034.  
  11035.  
  11036.  
  11037.  
  11038.  
  11039.  
  11040.  
  11041.  
  11042.  
  11043.  
  11044.    Kunzinger                     ISO/IEC 10747                 [ Page 232 ]
  11045.  
  11046.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11047.  
  11048.  
  11049.  
  11050.  
  11051.  
  11052.  
  11053.  
  11054.  
  11055.  
  11056.  
  11057.  
  11058.  
  11059.  
  11060.  
  11061.  
  11062.  
  11063.  
  11064.    Kunzinger                     ISO/IEC 10747                 [ Page 233 ]
  11065.  
  11066.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11067.  
  11068.    Annex L.  Syntax and semantics for policy
  11069.  
  11070.  
  11071.                                   (Informative)
  11072.  
  11073.       This annex describes an example of a policy syntax and its associated
  11074.       semantics for the protocol defined in this international standard.
  11075.       The example is intended to be informative: that is, alternative
  11076.       syntaxes with equivalent richness of functionality are not precluded,
  11077.       and other mechanisms may be needed to provide a fully functional
  11078.       configuration language.
  11079.  
  11080.    L.1  Overview
  11081.  
  11082.       The policy information base allows routing domain administrators to
  11083.       control routing information usage and flow according to the policies
  11084.       of the domain.  The policy information base is made up of three
  11085.       component sections, corresponding to three primary types of policy
  11086.       concerns that have been identified:
  11087.  
  11088.       a)  Route preference assigns a preference value to incoming routes;
  11089.           this is the "local selection policy" regarding routes.  These
  11090.           policies determine which routes in the Adj-RIBs-In are selected
  11091.           for the LOC-RIB.
  11092.  
  11093.       b)  Route aggregation chooses routes for aggregation and expresses
  11094.           some control over how aggregation is performed.  These policies
  11095.           select routes in the LOC-RIB that are to be advertised as an
  11096.           aggregate.  These policies can affect routes sent to BISs
  11097.           internal and external to the domain.
  11098.  
  11099.       c)  Route distribution modifies and selects routes for
  11100.           redistribution; this expresses the domain's "transit policy".
  11101.           These policies control traffic through the domain by restricting
  11102.           which routes from the Loc-RIB are placed in the Adj-RIBs-Out.
  11103.           Modifications may affect routes sent to internal or external
  11104.           BISs, however, selection policy only affects the distribution of
  11105.           routes to BISs external to the domain; internal BIS neighbors
  11106.           receive route information from the local BIS regardless of
  11107.           policy.
  11108.  
  11109.       Each policy subsection is comprised of a list of policy statements
  11110.       that express the domain's policy.  Although the policy statements of
  11111.  
  11112.    Kunzinger                     ISO/IEC 10747                 [ Page 234 ]
  11113.  
  11114.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11115.  
  11116.       each section are different, all include a route pattern (which is a
  11117.       template for matching route attributes) and the associated actions.
  11118.       A domain administrator can use these "match + action" pairs to
  11119.       express the administrative policy of the routing domain.
  11120.  
  11121.    L.1.1  Preference statement
  11122.  
  11123.       The preference statement is identified by the "PREF" keyword, and has
  11124.       the following format:
  11125.  
  11126.        PREF <route pattern template> [<local_cond>] [<bis>]
  11127.          = <preference value expression>
  11128.  
  11129.       A PREF statement assigns a value to any route (from a BIS neighbor in
  11130.       an external domain) that matches the specified pattern.  The assigned
  11131.       value determines the degree of preference that will be used in the
  11132.       Decision Process.  This value is also used to generate the LOC_PREF
  11133.       attribute.  Note that it is possible for the assigned value to be
  11134.       less than zero or greater than 255.  Conversion from the assigned
  11135.       value to an eight-bit LOC_PREF field is a local matter.  Routes
  11136.       received from internal BIS neighbors will already have a LOC_PREF
  11137.       field.  The use of the LOC_PREF field as a basis for selecting the
  11138.       most preferred route is described in clause 17.12.8.
  11139.  
  11140.       The components of a <route pattern template> are:
  11141.  
  11142.       -   <nlri>
  11143.       -   [<info_src>]
  11144.       -   [<path>]
  11145.       -   [<dist_att>]
  11146.       -   [<att_cond>], where:.
  11147.  
  11148.       <nlri> : Reachable destinations; matches if the actual route's NLRI
  11149.             is a subset of the destinations specified by this template.
  11150.             The <nlri> must be present in the route pattern of every policy
  11151.             statement.
  11152.  
  11153.       <info_src> : Can be "idrp"|"ext"|"info_any", which is matched base d
  11154.             on the presence/absence of the EXT_INFO attribute in a route.
  11155.             These tokens are optional; if not present, the default match is
  11156.             "idrp".
  11157.  
  11158.        <path> : Regular expression over RDIs to match against the content
  11159.             of the RD_PATH attribute.  A <path> is optional; if not
  11160.             present, the default matches any RD_PATH attribute.
  11161.  
  11162.    Kunzinger                     ISO/IEC 10747                 [ Page 235 ]
  11163.  
  11164.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11165.  
  11166.       <dist_att> : Specifies a set of distinguished attributes for a route
  11167.             match.  The <dist_att> is optional; if not present, the pattern
  11168.             matches routes with any set of distinguished attributes.
  11169.  
  11170.       <att_cond> : Provides matching/control for all other attributes, i.e.
  11171.             other than what is carried in RD_PATH, EXT_INFO path attribute,
  11172.             and the presence of distinguished attributes.  This specifies
  11173.             conditions of route attributes that must be met for a route to
  11174.             match, e.g. (EXPENSE() < 10) && (! present(DIST_INCL)) might be
  11175.             the condition if the intent is to match a low-cost route which
  11176.             does not have certain re-distribution restrictions.  No
  11177.             <att_cond> need be specified; if not present, the route pattern
  11178.             matches routes with any attributes.
  11179.  
  11180.       Note that the route pattern template is found in all three types of
  11181.       policy statement (preference, aggregation, and distribution).  A
  11182.       slightly different form is used in the aggregation policy statement,
  11183.       which is discussed below.
  11184.  
  11185.       The PREF statement (actually, all policy statements) may also include
  11186.       "local condition tests", which allow policy to be sensitive to
  11187.       criteria not related to a route's attributes (e.g. time of day).  A
  11188.       <local_cond> is optional; if not present, routes are matched under
  11189.       any local conditions.
  11190.  
  11191.       The specification of <bis> allows routes from different BIS neighbors
  11192.       to be assigned preferences differently.  Any number of external BIS
  11193.       neighbors may be specified, and only routes received from these
  11194.       neighbors will be assigned a preference value by the statement.
  11195.  
  11196.       The <preference value expression> is an integer arithmetic expression
  11197.       with operators '+', '-', '*', '/', and (similar to the C language) a
  11198.       conditional operator '?'.  The basic operands are constants, or
  11199.       pre-defined functions which return values based on the attributes of
  11200.       a route, e.g. hopcount(), capacity(), weighted_list(EXCL,<table>).
  11201.       The condition expression for the condition operator includes the
  11202.       logic operators "&&" and "||", and may include (1) tests for the
  11203.       presence of an attribute, (2) comparisons of integer expressions
  11204.       including attribute values, and (3) local condition tests.  A <pref
  11205.       value> is required in all preference statements.
  11206.  
  11207.       The order of PREF statements in a configuration file is significant;
  11208.       the first <route pattern> that matches an incoming route will assign
  11209.       the preference value.  The list of PREF statements can be thought of
  11210.       as filters, each acting on particular routes; a routing domain
  11211.       administrator can make effective use of this first-match
  11212.       functionality by listing more specific route patterns early and more
  11213.  
  11214.    Kunzinger                     ISO/IEC 10747                 [ Page 236 ]
  11215.  
  11216.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11217.  
  11218.       general patterns later.  Hence, the "filters" start at a fine degree
  11219.       of granularity to assign preference to routes of particular
  11220.       importance, while other routes are handled by increasingly general
  11221.       "filters".
  11222.  
  11223.       If a route does not match any <route pattern>, it is dropped and not
  11224.       considered by the IDRP Decision Process.  Note that there may be
  11225.       over-riding operational criteria that dictate that the non-matched
  11226.       routes can not be handled in this manner.
  11227.  
  11228.       The concept of decreasingly specific filters is useful for all of the
  11229.       policy sections: preference, aggregation, and distribution.  As
  11230.       described below, more flexible control of the processing sequence for
  11231.       aggregation and distribution statements is possible, and necessary to
  11232.       concisely express policy.
  11233.  
  11234.    L.1.2  Aggregation statement
  11235.  
  11236.       The aggregation statement is identified by the "AGGR" keyword, and
  11237.       has the following format:
  11238.  
  11239.        AGGR <route pattern> <local_cond> =
  11240.         [<recipient BIS>] <aggr_nlri> ["DONE"|"CONT"]
  11241.  
  11242.       The <route pattern> specification of the aggregation statement is
  11243.       slightly different than the PREF statement <route pattern>.  The only
  11244.       difference is that the <nlri> template will consist of two NLRI
  11245.       specifications separated by the "MUST" token, i.e.  <nlri> "MUST"
  11246.       <nlri>.  The first <nlri> is used to match routes that can be
  11247.       aggregated, while the second <nlri> specifies NLRI which must be
  11248.       present for the aggregate route to be instantiated.  Either of the
  11249.       <nlri> specifications may omitted, but not both.  If the second
  11250.       <nlri> is omitted, the "MUST" token is not required.
  11251.  
  11252.       The AGGR statement's <local conditions> template has the same syntax
  11253.       and semantics as the PREF statement.
  11254.  
  11255.       The <recipient BIS> of the aggregation statement indicates which
  11256.       external BIS's Adj-RIBs-Out are to receive the results of the
  11257.       statement's route aggregation.  One, several, or all external BISs
  11258.       may be specified to receive the aggregate route "manufactured" by an
  11259.       AGGR statement.  In addition, an administrator can specify
  11260.       "internal_bis" to affect aggregation to all other BISs internal to
  11261.       the routing domain.
  11262.  
  11263.  
  11264.    Kunzinger                     ISO/IEC 10747                 [ Page 237 ]
  11265.  
  11266.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11267.  
  11268.       If a BIS is included in the recipient list, it will receive the
  11269.       aggregated route but not the component routes; if an aggregate is not
  11270.       instantiated to a particular BIS, it will receive all of the
  11271.       component routes.  Note that by using additional AGGR statements
  11272.       (with more specific route matching templates), particular component
  11273.       routes may be advertised separately from the aggregate route.  If the
  11274.       <recipient BIS> list is not specified, the default action is to
  11275.       announce the aggregate route to all external neighbor BISs; the
  11276.       default action will announce component routes to internal BISs.
  11277.  
  11278.       The <aggr_nlri> specifies how the BIS determines which NLRI to
  11279.       advertise for the aggregate route.  The two primary specifications
  11280.       are manual ("man") or automatic ("auto"), with two additional tokens
  11281.       ("auto_short" and "auto_subset") to specify variations of "auto";
  11282.       "auto" includes both of these variations.  Automatically aggregated
  11283.       NLRI will only reduce routes if there is no loss of reachability
  11284.       information, i.e. it will only advertise a more general NLRI if it
  11285.       can algorithmically determine that the aggregate is not advertising
  11286.       NLRI other than those of the component routes.  Domain administrators
  11287.       can also "manually" override the automatic aggregation and specify
  11288.       that aggregated route NLRI may include destinations not included in
  11289.       any component of the aggregate route.  The "manual" option is
  11290.       primarily intended for use when additional (complete) information is
  11291.       known about the NLRI (e.g. when it is part of the address space under
  11292.       control of the routing domain).  It is assumed such information is
  11293.       obtained by means outside of IDRP.  For instance, using "manual" NLRI
  11294.       configuration, a domain that acts as an address assignment authority
  11295.       may announce a single prefix for all routes containing longer
  11296.       extensions of this prefix, even though portions of the address space
  11297.       may be unassigned, with no route available to some destinations
  11298.       advertised by the NLRI.  Manually aggregated NLRI is determined by
  11299.       taking the longest common prefix of the set of NLRI specified by the
  11300.       route pattern <nlri>.  Using automatic aggregation, the aggregate
  11301.       NLRI is computed to be the shortest NLRI prefix necessary to announce
  11302.       the component route's NLRI (the aggregate NLRI is also the longest
  11303.       common prefix of the component routes).  The two variations of "auto"
  11304.       are as follows: (1) "auto_short" will collapse several longer NLRI
  11305.       prefixes into a single common prefix based on the binary
  11306.       representation, e.g.  XX:YY:0xF601:* - XX:YY:0xF60F:* will be
  11307.       advertised as XX:YY:0xF60:*, and (2) "auto_subset" will permit longer
  11308.       prefixes to be aggregated with shorter ones, e.g. XX:YY:ZZ:* would be
  11309.       aggregated with XX:YY:* into XX:YY:*.
  11310.  
  11311.       Like PREF statements, the AGGR statements are applied in sequence
  11312.       (they are applied to the set of routes in the LOC-RIB).  "DONE" and
  11313.       "CONT" provide control over additional processing of routes by
  11314.       subsequent AGGR statements.  "CONT" is used to indicate that the
  11315.  
  11316.    Kunzinger                     ISO/IEC 10747                 [ Page 238 ]
  11317.  
  11318.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11319.  
  11320.       aggregate route may be treated as a component route by later AGGR
  11321.       statements, and thus may be matched and further aggregated.  "DONE"
  11322.       indicates that the aggregate is to be advertised as-is, and will not
  11323.       be considered as a component route for further aggregation.
  11324.       Specification of "DONE" or "CONT" is optional; the default case is
  11325.       "DONE".
  11326.  
  11327.       [Note: Aggregated routes will have a preference value assigned by the
  11328.       policy PREF statements; just as incoming routes from other BISs,
  11329.       aggregated routes are processed by the route preference statements.
  11330.       If an aggregate route does not match a PREF statement template, no
  11331.       value is assigned and the aggregate is not instantiated.]
  11332.  
  11333.    L.1.3  Distribution statement
  11334.  
  11335.       The distribution statement is identified by the "DIST" keyword, and
  11336.       has the following format:
  11337.  
  11338.         DIST <route pattern> [<local_cond>] = [<recipient BIS>]
  11339.           <select_action> [<modifications>] ["DONE"|"CONT]"]
  11340.  
  11341.       The <route pattern> for the DIST statement is the same as the PREF
  11342.       statement <route pattern>, and <local_cond> serves the same function
  11343.       for the DIST statement as it does for the AGGR and PREF statements.
  11344.  
  11345.       Similar to the AGGR statement, the <recipient BIS> specifies which
  11346.       Adj-RIBs-Out are effected by the statement.  The Adj-RIBs-Out
  11347.       associated with the neighbors specified in <recipient BIS> may be
  11348.       affected in three ways by a DIST statement: (1) the route may be
  11349.       modified in these Adj-RIBs-Out, (2) the route may be placed in, or
  11350.       removed from, the Adj-RIBs-Out, and (3) the route may be marked as
  11351.       "DONE", so that it remains unaffected by further DIST statements.
  11352.  
  11353.       The <select_action> can be "select_on", "select_off", "select_only",
  11354.       or "modify"; these control whether a route is distributed to an
  11355.       adjacent BIS.  If a route is selected for advertisement to a
  11356.       particular BIS neighbor, it will be placed in the associated RIB-OUT.
  11357.       By default, routes are not selected for advertisement until selected
  11358.       by a DIST statement.  The semantics of the <select_action> effect
  11359.       this distribution as follows:
  11360.  
  11361.       "select_on" The route should be placed in Adj-RIBs-Out associated
  11362.                 with all specified neighbors, unless "selected off" by
  11363.                 later DIST statement.
  11364.  
  11365.  
  11366.    Kunzinger                     ISO/IEC 10747                 [ Page 239 ]
  11367.  
  11368.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11369.  
  11370.       "select_off" The route should not be placed in Adj-RIBs-Out
  11371.                 associated with the specified neighbors, unless "selected
  11372.                 on" by a later DIST statement.
  11373.  
  11374.        "select_only" The route should be placed in Adj-RIBs-Out associated
  11375.                 with all specified neighbors, unless "selected off" by
  11376.                 later DIST stmt; in addition, the route should not be
  11377.                 placed in Adj-RIBs-Out associated with BISs not in
  11378.                 <recipient BIS>, unless "selected on" by a later DIST
  11379.                 statement.
  11380.  
  11381.       "modify"  Modify only; the selection status of routes are not
  11382.                 effected by this DIST statement.  Presumably, some routes
  11383.                 matching this statement will also match, and be selected
  11384.                 for distribution by, other DIST statements.
  11385.  
  11386.       The effects of a <select_action> is applied only when <recipient BIS>
  11387.       indicates a BIS in an adjacent domain.  It has no effect on
  11388.       distribution to BISs within the same domain as the local system.
  11389.  
  11390.       Note that in most cases, only the routes in Adj-RIBs-Out specified by
  11391.       <recipient BIS> will be affected by a DIST statement, however, there
  11392.       is one exception.  The "select_only" action also indicates routes are
  11393.       not to appear in the Adj-RIBs-Out associated with BISs not in
  11394.       <recipient BIS> list, and that these routes may or may not be
  11395.       considered for further DIST statement processing (in the excluded
  11396.       BISs) based on the DIST statement's DONE/CONT token.  Using
  11397.       "select_only" along with "DONE" allows one to concisely specify that
  11398.       only certain BISs are to receive particular routes, and as an
  11399.       additional effect, make certain these routes are not inadvertently
  11400.       selected for other BISs by a subsequent DIST statement that matches a
  11401.       more general route pattern.
  11402.  
  11403.       A list of <modifications> statements indicates policy-driven changes
  11404.       to route attributes (e.g. DIST_LISTs, HIERARCHICAL RECORDING changes,
  11405.       etc).  No <modifications> need be present; the default leaves routes
  11406.       unchanged.
  11407.  
  11408.       "CONT" and "DONE" have similar function as in the aggregation
  11409.       statement; they control whether routes matching a particular DIST
  11410.       statement may be affected by later DIST statements.  "CONT" indicates
  11411.       that a matched route in a specified RIB-OUT is eligible for further
  11412.       modifications, "DONE" indicates no further DIST statement processing.
  11413.       Specification of "DONE" or "CONT" is optional; the default case is
  11414.       "DONE".
  11415.  
  11416.  
  11417.    Kunzinger                     ISO/IEC 10747                 [ Page 240 ]
  11418.  
  11419.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11420.  
  11421.    L.2  Policy configuration language BNF
  11422.  
  11423.       This section specifies the basic syntax for this example IDRP
  11424.       configuration language.  This BNF tree does not include all
  11425.       terminal-symbol leaves; it is sufficient as an illustration of some
  11426.       minimal useful functionality, however, it is not complete.
  11427.  
  11428.       The policy configuration language uses a '#' to denote a comment to
  11429.       the end of line.  This convention is also used to provide comments
  11430.       throughout the BNF specification.  This BNF uses square brackets, '['
  11431.       and ']', as a notational convenience to indicate optional (zero or
  11432.       one occurrence) syntactic symbols.  This BNF also uses curly braces,
  11433.       '{' and '}' and a '|' to indicate a choice of symbols.
  11434.  
  11435.       A discussion of the semantics of this language can be found in L.1.1
  11436.       above..
  11437.  
  11438.    L.2.1  PREF statement BNF
  11439.  
  11440.        <preference_section> ::= <p_stmt_list>
  11441.         <p_stmt_list> ::= <p_stmt> ';' <p_stmt_list> | <empty>
  11442.         <p_stmt> ::= "PREF" <nlri> <route_pattern> <local_cond> [<bis>]
  11443.                  '=' <preference_value_expression>
  11444.  
  11445.       All of the symbols used by the <p_stmt> are also used in other
  11446.       places, and are defined in L.2.4.
  11447.  
  11448.    L.2.2  AGGR statement BNF
  11449.  
  11450.        <aggregation_section> ::= <a_stmt_list>
  11451.         <a_stmt_list> ::= <a_stmt> ';' <a_stmt_list> | <empty>
  11452.         <a_stmt> ::= "AGGR" <nlri_2> <route_pattern> <local_cond>
  11453.        '=' [<bis>] <aggr_nlri> <done_cont>
  11454.  
  11455.        <nlri_2>::= '{' <dest_list> [ "MUST" <dest_list> '}']
  11456.        <aggr_nlri>::= "auto" | "auto_subset" | "auto_short" | "man"
  11457.  
  11458.    L.2.3  DIST statement BNF
  11459.  
  11460.        <distribution_section> ::= <d_stmt_list>
  11461.         <d_stmt_list> ::= <d_stmt> ';' <d_stmt_list> | <empty>
  11462.         <d_stmt> ::= "DIST" <nlri> <route_pattern> <local_cond>
  11463.                   '=' [<bis>] <select_action> <mods> <done_cont>
  11464.        <select_action> ::= "select_on" | "select_off"  |
  11465.  
  11466.    Kunzinger                     ISO/IEC 10747                 [ Page 241 ]
  11467.  
  11468.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11469.  
  11470.         "select_only" | "modify"
  11471.  
  11472.       Policy- defined changes to route attributes are distinct from
  11473.       attribute updates that occur due to basic "operational" processing
  11474.       (e.g. HOP_COUNT is updated without regard to policy).
  11475.  
  11476.        <mods> ::= '{' <mod_list> '}' | <empty>
  11477.         <mod_list> ::= <mod_statement> ';' <mod_list> | <empty>
  11478.         <mod_statement> ::= <multi_exit_statement> |
  11479.              <dist_list_statement>  |
  11480.              <hrecord_statement>    |
  11481.              <next_hop_statement>
  11482.  
  11483.        <multi_exit_statement> ::= "set_multi_exit" '(' <value> ')'
  11484.  
  11485.       init_hr() - If HIERARCHICAL_RECORDING attribute is not already
  11486.       present in route, add attribute to route and initialize to one (1) to
  11487.       limit distribution within RDC.
  11488.  
  11489.        <hrecord_statement>  ::=  "init_hr" '(' ')'
  11490.  
  11491.       Add RDIs to INCL or EXCL list.
  11492.  
  11493.        <dist_list_statement> ::=
  11494.         "allow_dist" '(' <rdis> ')' |
  11495.         "prohibit_dist" '(' <rdis> ')'
  11496.  
  11497.        <next_hop_statement> ::=
  11498.         "set_next_hop" '(' <net> <snpa> ')'
  11499.  
  11500.    L.2.4  Common BNF symbols
  11501.  
  11502.       This section describes common syntax components used by all three
  11503.       types of policy statements.
  11504.  
  11505.    L.2.4.1  Route attribute matching template
  11506.  
  11507.       Reachability:
  11508.  
  11509.        <nlri> ::= '{' <dest_list> '}'
  11510.         <dest_list> ::= <dest> ',' <dest_list> | <dest>
  11511.         <dest> ::=      "nlri_any"              |
  11512.           ["not"] <nsap> ':' '*'  |      ## prefix match
  11513.           ["not"] <nsap>          |      ## exact <nsap> match
  11514.           <empty>
  11515.  
  11516.    Kunzinger                     ISO/IEC 10747                 [ Page 242 ]
  11517.  
  11518.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11519.  
  11520.       Route matching template
  11521.  
  11522.        <route_pattern> ::= <info_src> <path> <dist_att> <attrib_cond>
  11523.        <info_src> ::= "idrp" | "ext" | "info_any"
  11524.        <path> ::= '/' <<regular-expression over RDIs>> '/'
  11525.  
  11526.       Distinguished attributes
  11527.  
  11528.        <dist_att> ::=  <empty> |
  11529.         "dist_att_none" |
  11530.         "dist_att_any" |
  11531.         '(' <qos> <security> <priority> ')'
  11532.        (If <empty>, default is "dist_att_any".)
  11533.  
  11534.        <qos> ::= "qos_any" | <qos_list>
  11535.        <qos_list> ::= <one_qos> <qos_list> | <empty>
  11536.        (If <empty>, default is "qos_any".)
  11537.  
  11538.        <one_qos> ::= "qos_none" | "error" | "expense" | "delay" |
  11539.         "capacity" | <src_qos> | <dst_qos>
  11540.        <src_qos>     ::= "srcqos"  <nsap>  <qos_value>
  11541.        <dst_qos>     ::= "dstqos"  <nsap>  <qos_value>
  11542.        <qos_value> ::=  ## TO BE DEFINED ##
  11543.  
  11544.       <security> ::= "security_any" | <sec_list> <sec_list> ::= <sec_list>
  11545.       <one_sec> | <empty>
  11546.        (If <empty>, default is "security_any".)
  11547.  
  11548.        <one_sec> :: = "security_none" | <srcsec> | <dstsec>
  11549.        <srcsec> ::= "srcsec" <nsap>
  11550.        <dstsec> ::= "dstsec" <nsap>
  11551.  
  11552.       Security-related BNF is subject to change as the protocol continues
  11553.       to develop.
  11554.  
  11555.        <priority> ::= "priority_any" | "priority" | "priority_none"|
  11556.       <empty>
  11557.  
  11558.       The "priority_any" token matches routes in either case, whether; thef
  11559.       priority attribute is present, or if it is not.  If <empty>, default
  11560.       is "priority_any".
  11561.  
  11562.  
  11563.  
  11564.    Kunzinger                     ISO/IEC 10747                 [ Page 243 ]
  11565.  
  11566.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11567.  
  11568.    L.2.4.2  BNF: numerical expressions
  11569.  
  11570.        <value> ::=
  11571.         <integer>       |
  11572.         <att_value>     |
  11573.         '('<value> ')' |
  11574.         <value> <integer_op> <value> |
  11575.         <case_statement>
  11576.        <case_statement> ::=   '(' <case_cond> '?' <value> ':'<value> ')'
  11577.        <att_value> ::=
  11578.         "hopcount"    "()"                 |  ## rd_hopcount
  11579.         "pathweight"  '(' <table> ')'      |  ## weighted path
  11580.         "listlen"    '(' {"INCL"|"EXCL"} ')'                 |
  11581.         "listweight" '(' {"INCL|"EXCL"} ',' <table> ')'      |
  11582.         <att_value_name> "()"
  11583.  
  11584.       Returns the value carried by the attribute specified by the
  11585.       <att_value_name>.
  11586.  
  11587.        <att_value_name> ::= "multi_exit" | "loc_pref" | "priority"
  11588.         | "delay" | "expense"  | "error" | "capacity"
  11589.         | "hier_rec"
  11590.  
  11591.       This example of the PIB BNF does not deal with the following
  11592.       attributes: SRC_QOS, DST_QOS, SRC_SECURITY, and DST_SECURITY.
  11593.  
  11594.    L.2.4.3  BNF: conditional specification
  11595.  
  11596.       There are three related types of conditions:
  11597.  
  11598.       a)  <attrib_cond> used when doing a route match; only tests/examines
  11599.           attributes of a route
  11600.       b)  <local_cond> used in policy actions; tests "other" (TBD) criteria
  11601.           (e.g. time of day)
  11602.       c)  <case_cond> used in case statement; may test attribute or local
  11603.           criteria
  11604.  
  11605.        <local_cond> ::=
  11606.         <A_cond_LOCAL>                   |
  11607.         '!' <local_cond>                     |
  11608.         '(' <local_cond> ')'                 |
  11609.         <local_cond> "&&" <local_cond>   |
  11610.         <local_cond> "||" <local_cond>
  11611.  
  11612.         <A_cond_LOCAL>  ::=   ## TO BE DEFINED
  11613.  
  11614.    Kunzinger                     ISO/IEC 10747                 [ Page 244 ]
  11615.  
  11616.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11617.  
  11618.       This is currently a place holder reserved for future use; one
  11619.       potential example is time of day.
  11620.  
  11621.        <attrib_cond> ::=
  11622.         <A_cond_ATTRIB>                  |
  11623.         '!' <attrib_cond>                    |
  11624.         '(' <attrib_cond> ')'                |
  11625.         <attrib_cond> "&&" <attrib_cond> |
  11626.         <attrib_cond> "||" <attrib_cond>
  11627.  
  11628.        <A_cond_ATTRIB> ::= <att_value> <compare_op> <value>     |
  11629.         "present" '(' <attribute_name> ')'   |
  11630.         <other_att_test>
  11631.  
  11632.        <case_cond> ::=    <A_cond_CASE>                  |
  11633.         '!' <case_cond>                    |
  11634.         '(' <case_cond> ')'                |
  11635.         <case_cond> "&&" <case_cond>   |
  11636.         <case_cond> "||" <case_cond>
  11637.  
  11638.        <A_cond_CASE>   ::= <A_cond_ATTRIB> | <A_cond_LOCAL>
  11639.  
  11640.        <attribute_name> ::= "src_qos" | "dst_qos" |
  11641.         "dst_sec" | "src_sec" |
  11642.         "dist_incl" | "dist_excl" |
  11643.         "ext_info"  | "next_hop"  |
  11644.         <att_value_name>
  11645.  
  11646.        <other_att_test> ::=  <next_hop_test>
  11647.  
  11648.       This PIB BNF only defines the next_hop_test; others may be defined.
  11649.  
  11650.        <next_hop_test> ::= "next_hop" '(' <next_hop_list> ')'
  11651.        <next_hop_list> ::= <next_hop_match> ',' <next_hop_list>    |
  11652.         <next_hop_match>
  11653.        <next_hop_match> ::= "next_hop_any"             |
  11654.         ["not"] <net> ':' '*'      |
  11655.         ["not"] <net> [<snpa>]     |
  11656.         ["not"] <net> <one_snpa>   |
  11657.  
  11658.       One can attempt to match NEXT_HOP attribute against "any", a set of
  11659.       BISs (NET prefix), a particular BIS and optionally specific
  11660.       interfaces.  Also one can match routes against local interface over
  11661.       which route was received.
  11662.  
  11663.  
  11664.    Kunzinger                     ISO/IEC 10747                 [ Page 245 ]
  11665.  
  11666.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11667.  
  11668.    L.2.4.4  Other common BNF symbols
  11669.  
  11670.       <bis> ::= "bis_all" | '{' <bis_list> '}' <bis_list> ::= <bis_item>
  11671.       ',' <bis_list> | <bis_item> <bis_item> ::= "rdi" <one_rdi> | "bis"
  11672.       <net> |
  11673.        "internal_bis"  | "external_bis"
  11674.  
  11675.       One can specify all BIS neighbors in an adjacent RDIrdi, single out a
  11676.       particular bis by NET, specify all internal BIS neighbors, or all
  11677.       external BIS neighbors.
  11678.  
  11679.        <done_cont> ::= "DONE" | "CONT" | <empty>
  11680.        (Default <empty> is DONE)
  11681.  
  11682.        <table> ::= '{' <table_list> <table_default> '}'
  11683.        <table_list> ::= <table_pair> <table_list> | <empty>
  11684.        <table_pair> ::= '(' <one_rdi> ',' <integer> ')'
  11685.        <table_default> ::= '(' "default" ',' <integer> ')' | <empty> p.List
  11686.       of interfaces of this BIS;
  11687.  
  11688.        <snpa> ::= '{' <snpa_list> '}'
  11689.        <snpa_list> ::= <one_snpa> ',' <snpa_list> | <one_snpa>
  11690.  
  11691.       Routing Domain Identifiers;
  11692.  
  11693.        <rdis> ::= '{' <rdi_list> '}'
  11694.        <rdi_list> ::= <rdi_list> ',' <one_rdi> | <one_rdi>
  11695.  
  11696.    L.3  Simple example
  11697.  
  11698.       This example is provided to make the intended use of the policy
  11699.       configuration language more clear.  Note that this example is
  11700.       incomplete, and at best only marginally realistic; it is intended to
  11701.       illustrate the basics of the policy configuration statements for
  11702.       purposes of this overview.
  11703.  
  11704.       Throughout this text we refer to the set of distinguished attributes
  11705.       which has no QOS attribute, no priority attribute, and no security
  11706.       attribute as the default set of distinguished attributes.  This is
  11707.       the distinguished attribute set specified by "dist_att_none".
  11708.  
  11709.       Consider the portion of an internet shown in Figure 13.  Assume that
  11710.       each routing domain has exactly one BIS that communicates with all
  11711.       adjacent domains' BISs.
  11712.  
  11713.  
  11714.    Kunzinger                     ISO/IEC 10747                 [ Page 246 ]
  11715.  
  11716.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11717.  
  11718.    +----------------------------------------------------------------------+
  11719.    |                                                                      |
  11720.    |                                 synxmp                               |
  11721.    |                                                                      |
  11722.    |                            \   /                                     |
  11723.    |   Transit Domains:          \ /                                      |
  11724.    |      1, 2, 3, 5, 6, 7      +---+      +---+     +---+                |
  11725.    |                            | 1 |------| 2 |-----| 4 |                |
  11726.    |                            +---+      +---+     +---+                |
  11727.    |   Stub Domains:              |          |                            |
  11728.    |      4, 8                    |          |                            |
  11729.    |                              |          |                            |
  11730.    |                            +---+      +---+     +---+                |
  11731.    |                            | 3 |------| 5 |-----| 8 |                |
  11732.    |                            +---+      +---+     +---+                |
  11733.    |                             / |                                      |
  11734.    |                            /  |                                      |
  11735.    |                           /   |                                      |
  11736.    |                          /    |                                      |
  11737.    |                         /     |                                      |
  11738.    |                      +---+  +---+                                    |
  11739.    |                      | 6 |  | 7 |                                    |
  11740.    |                      +---+  +---+                                    |
  11741.    |                       /        \                                     |
  11742.    |                      /          \                                    |
  11743.    |                     /            \                                   |
  11744.    |                                                                      |
  11745.    |                                                                      |
  11746.    +----------------------------------------------------------------------+
  11747.    Figure 13. A Portion of an Internet
  11748.  
  11749.    L.3.1  Transit domain 3
  11750.  
  11751.       Example policies of transit domain RD #3 might be as follows:
  11752.  
  11753.       a)  RD #3 only accepts IDRP originated routes.  It supports two sets
  11754.           of distinguished RIB_ATTs: the default set (no distinguished
  11755.           attributes) and the set having only the CAPACITY QOS attribute.
  11756.  
  11757.       b)  Routes with CAPACITY QOS must travel via RD#6; CAPACITY must be
  11758.           greater than 15.
  11759.  
  11760.       c)  For routes with no distinguished attributes, prefer routes
  11761.           through transit domain 1, however preference should be given to
  11762.           routes with short paths; large hop counts on a route via RD#1 may
  11763.           cause a shift to another transit domain.
  11764.  
  11765.    Kunzinger                     ISO/IEC 10747                 [ Page 247 ]
  11766.  
  11767.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11768.  
  11769.       d)  CAPACITY QOS routes are only offered to some domains (RDs #5,
  11770.           #8), and are restricted from being propagated further (i.e. via
  11771.           the DIST_LIST_INCL attribute).
  11772.  
  11773.       e)  All routes with no distinguished attributes are re-distributed to
  11774.           every neighbor RD; hierarchical recording is desired to limit
  11775.           distribution of all of these routes (the specific RDC membership
  11776.           information is irrelevant for this example).
  11777.  
  11778.       f)  Any route (default or CAPACITY) which pass through transit RD#9
  11779.           (not pictured) can only be redistributed to some domains (RD#2,
  11780.           RD#5, RD#8).
  11781.  
  11782.       g)  All routes carrying NLRI of the address space controlled by
  11783.           domain #3 (XX:YY:3:*) will be aggregated (regardles    s whether
  11784.           or not aggregated routes include NLRI for all of this space).  In
  11785.           addition, routes carrying NLRI for RD#5 NSAPs (XX:YY:3    :5:*)
  11786.           will be announced separately.  All routes for default dist_atts
  11787.           will be aggregated algorithmically.  A "default route" (zero
  11788.           length NSAP) will be advertised for CAPACITY QOS routes (although
  11789.           distribution of this route will be limited to particular domains,
  11790.           i.e. RD#5, by the select/modify policy section).
  11791.  
  11792.    L.3.2  Policy configuration example
  11793.  
  11794.       The following is one example of an expression of the above policies
  11795.       using this configuration language.  The next subsection, examines and
  11796.       discusses each line of this configuration example in detail.
  11797.  
  11798.       This example assumes that the policy language is case insensitive.
  11799.  
  11800.        PREF {nlri_any} / .* 6 / (CAPACITY security_none priority_none)
  11801.  
  11802.        (CAPACITY() > 15) = 50;
  11803.  
  11804.        PREF {nlri_any} / .* 1 / dist_att_none = 255 - hopcount();
  11805.  
  11806.        PREF {nlri_any} /.*/     dist_att_none = 245 - hopcount();
  11807.  
  11808.        AGGR {XX:YY:3:5:*} /.*/ dist_att_none  = man;
  11809.  
  11810.        AGGR {XX:YY:3:*}   /.*/ dist_att_none  = man;
  11811.  
  11812.        AGGR {nlri_any}    /.*/ dist_att_none  = auto;
  11813.  
  11814.        AGGR {nlri_any}  /.*/ (CAPACITY security_none priority_none) = man;
  11815.  
  11816.    Kunzinger                     ISO/IEC 10747                 [ Page 248 ]
  11817.  
  11818.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11819.  
  11820.        DIST {nlri_any}   /.* 9 .*/ =
  11821.  
  11822.        modify {allow_dist({RD#2, RD#5, RD#8});} CONT;
  11823.  
  11824.        DIST {nlri_any}  /.* 6/ (CAPACITY security_none priority_none)
  11825.  
  11826.        CAPACITY() > 15) = {BIS#5} select_only {allow_dist(RD#5, RD#8);};
  11827.  
  11828.        DIST {nlri_any} /.*/  = select_on {init_hr();};
  11829.  
  11830.    L.3.3  Discussion
  11831.  
  11832.       Each policy statement given in section 4.2 is discussed.  In most
  11833.       cases, the optional parts of the BNF have been omitted if the default
  11834.       action is appropriate to represent the example policy.  For brevity,
  11835.       these defaults will be mentioned in the discussion only once, at the
  11836.       statement where they are first encountered.
  11837.  
  11838.    L.3.3.1  Preference statement discussion
  11839.  
  11840.       Recall that the sequence of statements is significant for determining
  11841.       the application and processing of all types of policy statements.
  11842.       Preference statements are the least complex of the three; routes are
  11843.       simply assigned the preference associated with the first <route
  11844.       pattern> that is matched (the other statements' processing and
  11845.       application sequence are discussed later in this text).
  11846.  
  11847.       The first PREF statement matches routes to any destination, indicated
  11848.       by {nlri_any}.  No token for information source is present, so by
  11849.       default only routes where the information source was IDRP are matched
  11850.       (i.e. routes where no EXT_INFO attribute is present).  The third
  11851.       expression "/ .* 6 /" matches any RD_PATH attribute where the last
  11852.       "hop" was from RD#6.
  11853.  
  11854.         PREF {nlri_any} / .* 6 / (CAPACITY security_none priority_none)
  11855.          (CAPACITY() > 15) = 50;
  11856.  
  11857.       The 3-tuple (CAPACITY security_none priority_none) indicates a route
  11858.       is to match if it corresponds to the RIB_ATT which has CAPACITY QOS,
  11859.       no security, and no priority.  Finally, the attribute conditions only
  11860.       allow routes with CAPACITY attribute greater than 15 to be matched.
  11861.       There are no local conditions to be considered, so nothing is
  11862.       specified and by default routes are matched under any local
  11863.       conditions.  Note that none of the actions in this example are
  11864.       dependent on local conditions, so this will be ignored for the rest
  11865.  
  11866.    Kunzinger                     ISO/IEC 10747                 [ Page 249 ]
  11867.  
  11868.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11869.  
  11870.       of the example.  Routes matched by this pattern are simply assigned a
  11871.       preference of 50.
  11872.  
  11873.       The second PREF statement also matches routes to any destination, if
  11874.       the routing information source was IDRP.  The statement matches
  11875.       routes received directly from RD#1, by examining the route's RD_PATH
  11876.       attribute.  The "dist_att_none" is specified, so only routes which
  11877.       have no QOS attribute, no priority attribute, and no security
  11878.       attribute will be matched.  There are no other attribute or local
  11879.       conditions to meet, which is the default if nothing is specified.
  11880.  
  11881.        PREF {nlri_any} / .* 1 / dist_att_none = 255 - hopcount();
  11882.  
  11883.       This statement assigns a route preference based on the HOP_COUNT
  11884.       value plus a constant.  The constant (255) is relatively "good"
  11885.       (relative to 245 in the next statement) so that routes through RD#1
  11886.       are preferred (per policy C above).  Since routes will be assigned
  11887.       preference by the the first <route pattern> matched, a path through
  11888.       RD#1 matching this pattern will not have a value assigned by the next
  11889.       statement, even though it has a more general <route pattern> and also
  11890.       would be a correct match.
  11891.  
  11892.       The next PREF statement matches any route with no distinguished
  11893.       attributes, again, only if the information source was IDRP.
  11894.  
  11895.         PREF {nlri_any} /.*/     dist_att_none = 245 - hopcount();
  11896.  
  11897.       Routes matching this pattern are assigned a preference based on the
  11898.       hop count and a relatively "bad" constant (245), so that these routes
  11899.       are preferred less than routes through RD#1 (which match a previous
  11900.       PREF statement).
  11901.  
  11902.       Examining the last two preference statements, per policy C routes
  11903.       through RD#1 are preferred unless the path length (hop count) is
  11904.       worse (by ten hops or more).
  11905.  
  11906.    L.3.3.2  Aggregation statement discussion
  11907.  
  11908.       Aggregation statements are also processed in the order that they
  11909.       appear, however, their processing and application is not simply based
  11910.       on first match.  An AGGR statement may be marked with "CONT" to
  11911.       indicate that the aggregate route may act as a component for
  11912.       subsequent AGGR statements.  Alternatively, "DONE" indicates that an
  11913.       aggregate should be installed/advertised, and not considered in
  11914.       further aggregation processing.
  11915.  
  11916.    Kunzinger                     ISO/IEC 10747                 [ Page 250 ]
  11917.  
  11918.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11919.  
  11920.       The first aggregation statement matches routes with a specific set of
  11921.       destinations, {XX:YY:3:5:*}, and announces the aggregate route with
  11922.       manually configured NLRI.  The longest common NLRI prefix specified
  11923.       is XX:YY:3:5, so this will serve as the NLRI for the aggregate route.
  11924.       Using "manual" aggregation, this aggregate is instantiated whether or
  11925.       not the NLRI of the matched component routes include all destinations
  11926.       implied by the prefix XX:YY:3:5.
  11927.  
  11928.         AGGR {XX:YY:3:5:*} /.*/ dist_att_none = man;
  11929.  
  11930.       Any number of routes may match this pattern, and are replaced by a
  11931.       single aggregate route.  No recipient <bis> are specified, so by
  11932.       default the aggregate route (rather than the components) is announced
  11933.       to all external BIS neighbors.  The default action, "DONE", requires
  11934.       that the aggregate route be distributed without undergoing further
  11935.       aggregation.  Hence, routes to these destination NSAPs are announced
  11936.       separately from the rest of the XX:YY:3:* NSAPs (which are aggregated
  11937.       below).
  11938.  
  11939.       The second AGGR statement is almost identical to the first.
  11940.  
  11941.         AGGR {XX:YY:3:*} /.*/ dist_att_none  = man;
  11942.  
  11943.       Routes to a specific set of NSAPs are matched and aggregated; these
  11944.       destinations are a superset of those matched by the previous AGGR
  11945.       statement.  This construct (two AGGR statements with overlapping
  11946.       NLRI) can be used to make certain that particular longer prefixes are
  11947.       announced separately from a more general aggregate prefix.
  11948.  
  11949.       The third aggregation statement matches routes to any destination,
  11950.       with any RD_PATH, with no distinguished attributes, and no additional
  11951.       attribute or local conditions.
  11952.  
  11953.         AGGR {nlri_any} /.*/ dist_att_none = auto;
  11954.  
  11955.       These routes are to be aggregated automatically; that is safely and
  11956.       algorithmically such that the aggregated NLRI does not include more
  11957.       NSAPs than the component routes did.  By default, this statement
  11958.       affects the routes that are announced to all external BIS neighbors.
  11959.  
  11960.       The fourth AGGR statement matches routes to any destination, with any
  11961.       RD_PATH, if they have distinguished attributes that include only
  11962.       CAPACITY QOS.
  11963.  
  11964.         AGGR {nlri_any}  /.*/ (CAPACITY security_none priority_none) = man;
  11965.  
  11966.  
  11967.    Kunzinger                     ISO/IEC 10747                 [ Page 251 ]
  11968.  
  11969.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  11970.  
  11971.       Manual aggregation will use the longest common prefix of the
  11972.       specified NLRI as the aggregate route's NLRI.  This statement matches
  11973.       routes to any destination, so the aggregate NLRI is a "default" route
  11974.       (route with zero length NLRI).
  11975.  
  11976.    L.3.3.3  Distribution statement discussion
  11977.  
  11978.       Distribution statements are the most complex of the policy
  11979.       statements; they control both the selection and modification of
  11980.       routes for re-distribution.  DIST statement processing is sequential,
  11981.       and like the AGGR statement, "CONT" and "DONE" affect the processing
  11982.       of a route by policy statements.  If a DIST statement specifies
  11983.       "DONE", routes will not be affected by any subsequent DIST
  11984.       statements.  A "CONT" token indicates that routes should be affected
  11985.       by the next DIST statement that is matched.  Using the idea of
  11986.       increasingly or decreasingly specific <route pattern> templates in
  11987.       combination with "DONE" and "CONT" to selectively prohibit further
  11988.       processing of some routes, a wide range of policy requirements can be
  11989.       concisely expressed.
  11990.  
  11991.       The first DIST statement from the example matches routes to any
  11992.       destination, originated by IDRP (the default match), where RD#9 is in
  11993.       the RD_PATH.  These routes can have any distinguished attribute set
  11994.       (any distinguished attribute is the default match), and no additional
  11995.       attribute or local conditions need to be satisfied.
  11996.  
  11997.         DIST {nlri_any}   /.* 9 .*/ =
  11998.          modify {allow_dist({RD#2, RD#5, RD#8});} CONT;
  11999.  
  12000.       This statement does not indicate a <bis> list, so by default all
  12001.       external BIS neighbors' Adj-RIBs-Out are affected by this statement.
  12002.       The "modify" indicates that route attributes are to be modified, but
  12003.       the route's "selected status" will remain unchanged by this DIST
  12004.       statement.  One modification is performed which restricts the
  12005.       distribution of these routes (per policy F above) by altering the
  12006.       DIST_LISTs to only allow certain domains to receive this route.  The
  12007.       statement indicates "CONT", so these routes may be further modified,
  12008.       and/or selected for distribution to adjacent BIS, by subsequent DIST
  12009.       statements.
  12010.  
  12011.       The second DIST statement matches routes to any destination with
  12012.       distinguished attributes (CAPACITY security_none priority_none).
  12013.  
  12014.         DIST {nlri_any}  /.* 6/ (CAPACITY security_none priority_none)
  12015.          (CAPACITY() > 15) = {BIS#5} select_only {allow_dist(RD#5, RD#8);};
  12016.  
  12017.    Kunzinger                     ISO/IEC 10747                 [ Page 252 ]
  12018.  
  12019.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  12020.  
  12021.       The {BIS#5} indication along with "select_only" specifies that the
  12022.       matched routes are to be selected for distribution only to BIS#5; an
  12023.       additional effect of "select_only" is to explicitly mark these routes
  12024.       as NOT distributable to  all other BISs (all but BIS#5).  The default
  12025.       action, "DONE", will keep these routes from being affected by other
  12026.       DIST statements.  The "DONE" combined with the "select_only" will
  12027.       also prevent these routes from being matched and possibly placed in
  12028.       the RIB-OUT for distribution to other BISs (i.e. other than BIS#5).
  12029.       Using the "allow_dist()" function, this statement modifies the
  12030.       DIST_LISTs of matched routes to restrict further redistribution to
  12031.       domains RD#5 and RD#8.
  12032.  
  12033.       The third DIST statement matches routes to any destination, with any
  12034.       RD_PATH; these routes can have any distinguished attributes, and no
  12035.       additional attribute or local conditions need to be satisfied.
  12036.  
  12037.         DIST {nlri_any} /.*/  = select_on {init_hr();};
  12038.  
  12039.       The Adj-RIBs-Out for all neighboring BISs are affected by this
  12040.       statement, which selects the matched routes for distribution
  12041.       ("select_on") and modifies the hierarchical recording attribute so it
  12042.       is initialized to "1" (only if the attribute is not already present
  12043.       and thus can be initialized according to operational procedures).
  12044.  
  12045.    L.3.3.4  Operational example
  12046.  
  12047.       Consider a route with the following attributes that arrives at our
  12048.       BIS configured with the above Policy Information Base (PIB):
  12049.  
  12050.         nlri(10:66:*) rd_path(6 22 10) hopcount(15)
  12051.  
  12052.       It is a route with no distinguished attributes, which matches only
  12053.       one of the PREF statement route patterns:
  12054.  
  12055.         PREF {nlri_any} /.*/  dist_att_none
  12056.  
  12057.       and is assigned a preference of 230 (245-hopcount()) by the this PREF
  12058.       statement.  Consider a second route to the same destination NLRI with
  12059.       attributes:
  12060.  
  12061.         nlri(10:66:*) rd_path(1 44 9 16 10) hopcount(20)
  12062.  
  12063.       It also has no distinguished attributes.  It matches two PREF route
  12064.       patterns, however, only the first match is considered (first match).
  12065.  
  12066.         PREF {nlri_any} idrp /.* 1/  dist_att_none
  12067.  
  12068.    Kunzinger                     ISO/IEC 10747                 [ Page 253 ]
  12069.  
  12070.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  12071.  
  12072.       Because the route is through RD#1 it is a preferred route, and is
  12073.       assigned a preference of 235 (255-hopcount()).  Both of these two
  12074.       routes are for the same set of destination NLRI; the second route,
  12075.       with preference value of 235 would be chosen over the route with
  12076.       preference value 230.  If these were the only two routes to these
  12077.       destinations, the preferred route would be installed in our LOC_RIB
  12078.       and FIB.
  12079.  
  12080.       Now aggregation policy must be considered to see how the route is to
  12081.       be announced.  The preferred route that was placed in the LOC_RIB:
  12082.  
  12083.         nlri(10:66:*) rd_path(1 44 9 16 10) hopcount(20)
  12084.  
  12085.       matches one AGGR statement route pattern, which specifies automatic
  12086.       aggregation for those routes where it is possible:
  12087.  
  12088.         AGGR {nlri_any} /.*/ dist_att_none = auto;
  12089.  
  12090.       Depending on what other routes and aggregates are installed, this
  12091.       route may be announced individually, may result in a new aggregation,
  12092.       or it may be part of an already instantiated aggregate.  For
  12093.       instance, if there is already an (aggregate) route to nlri(10:*), the
  12094.       example route could be included in the nlri(10:*) aggregate; the
  12095.       example route would be installed in the LOC-RIB and FIB (so packets
  12096.       are forwarded correctly), and then a new aggregate (made up of this
  12097.       route and the old aggregate) would be composed.  If a new aggregate
  12098.       were to be generated, a new preference value would be assigned by the
  12099.       PREF policy statement processing.  Whether this route is aggregated
  12100.       with other routes, or maintained individually, it must be selected by
  12101.       a DIST statement before it will be announced.
  12102.  
  12103.       Assuming that there is no aggregate for this route, it is installed
  12104.       in the LOC-RIB and FIB as-is, and must be considered for
  12105.       redistribution.  Again, the route:
  12106.  
  12107.         nlri(10:66:*) rd_path(1 44 9 16 10) hopcount(20)
  12108.  
  12109.       is matched against route patterns.  It matches the first DIST
  12110.       statement:
  12111.  
  12112.         DIST {nlri_any} /.* 9 .*/ =
  12113.          modify {allow_dist({RD#2, RD#5, RD#8});} CONT;
  12114.  
  12115.       which requires the route be modified before it is re-distributed.
  12116.       Applying the modifications the route becomes:
  12117.  
  12118.        nlri(10:*) rd_path(1 44 9 16 10) dist_list_incl(2,5,8) hopcount(20)
  12119.  
  12120.    Kunzinger                     ISO/IEC 10747                 [ Page 254 ]
  12121.  
  12122.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  12123.  
  12124.       Since this DIST statement does not terminate distribution processing,
  12125.       ("CONT"), other DIST statements may be matched.  At this point the
  12126.       route has been modified, but has not been selected for distribution
  12127.       ("modify" rather than "select_on" or "select_only" was specified).
  12128.       The route also matches the following DIST statement:
  12129.  
  12130.         DIST {nlri_any} /.*/ = select_on {init_hr();};
  12131.  
  12132.       which modifies the route (initializing the HIERARCHICAL_RECORDING
  12133.       attribute since it's not already set), and selects the route for
  12134.       distribution (to all external BIS neighbors).  This DIST statement
  12135.       (by default) specifies "DONE", so no further distribution processing
  12136.       is applied to this route.  Note that other changes to the route
  12137.       attributes (i.e. update of RD_PATH) will be performed as part of
  12138.       "operational processing".  h4 id=defxmp.Simple Default Policy
  12139.  
  12140.       Among the concerns about configuring administrative policy is ease of
  12141.       configuration for the majority of domains which may have very simple
  12142.       policy.  A simple policy configuration must include a preference
  12143.       statement:
  12144.  
  12145.       (Assign a preference to all routes based on the number of hops.)
  12146.  
  12147.         PREF {nlri_any} / .*/ = 255 - hopcount();
  12148.  
  12149.       If the routing domain will carry transit traffic, then the following
  12150.       minimal aggregation and distribution statements are also needed:
  12151.  
  12152.       (Automatic aggregation to reduce the amount of information.)
  12153.  
  12154.         AGGR {nlri_any} / .*/ = auto;
  12155.  
  12156.       (Select all routes for distribution; no modifications.)
  12157.  
  12158.         DIST {nlri_any} / .*/ = select_on;
  12159.  
  12160.       This illustrates that the configuration of the policy information
  12161.       base does not necessarily have to be extensive or complex.  A complex
  12162.       configuration will be the case only to the extent that the domain's
  12163.       administrative policy has extensive requirements and specifications.
  12164.  
  12165.  
  12166.  
  12167.    Kunzinger                     ISO/IEC 10747                 [ Page 255 ]
  12168.  
  12169.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  12170.  
  12171.       Index
  12172.  
  12173.  
  12174.          +---+                            authenticationTypeCode  166
  12175.          | A |
  12176.          +---+
  12177.                                              +---+
  12178.       Adj-RIB-In  22, 25, 26, 37, 61,        | B |
  12179.        91, 92, 95                            +---+
  12180.          and withdrawn routes  131
  12181.          as used by Decision              bisNegotiatedVersion  166
  12182.           Process  122──129               bisNet  167
  12183.          default identified by Empty      BISPDU  34──60
  12184.           RIB-Att  92                     BISPDU fixed header  34
  12185.          solicited refresh of  94         bisPeerSNPAs  167
  12186.          unsolicited refresh of  94       bisRDC  167
  12187.          updating by Update-Receive       bisRDI  167
  12188.           process  120                    boundary IS
  12189.          validation of  93                   definition  17
  12190.       Adj-RIB-Out  22, 25, 26, 37, 61,    breaking ties  132
  12191.        91, 92, 95, 132
  12192.          and information reduction  134
  12193.          and route aggregation  135          +---+
  12194.          and withdrawn routes  131           | C |
  12195.          as used by Decision                 +---+
  12196.           Process  122──129
  12197.          default identified by Empty      CAPACITY  55, 118, 140, 167
  12198.           RIB-Att  92                     CEASE PDU  60, 71, 80, 81, 83,
  12199.          validation of  93                 143, 149
  12200.       adjacentBIS  160                    checksum
  12201.       adjacentBISPkg  165                    algorithm for generation  209
  12202.       administrative domain  12              encrypted, in BISPDU
  12203.       advertisement intervals for             header  84, 215
  12204.        routes  133, 134                      field in BISPDU header  36
  12205.       aggregating routes                     for RIB validation  93
  12206.          See route aggregation               in BISPDU header  143
  12207.       architectural constants  158           unencrypted, in BISPDU
  12208.       authentication  36, 41, 83, 84,         header  83
  12209.        85, 143, 144, 215                  CLOSE-WAIT State  82
  12210.  
  12211.  
  12212.  
  12213.    Kunzinger                     ISO/IEC 10747                 [ Page 256 ]
  12214.  
  12215.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  12216.  
  12217.       CLOSED State  70                    distinguishing attributes
  12218.       CloseWaitDelay  72, 80, 82, 86,      (continued)
  12219.        87                                    distinguishing path attributes
  12220.       closeWaitDelayTimer  168                in UPDATE PDU (continued)
  12221.       closing a BIS-BIS connection  83          type-value specific  99
  12222.       confederations                         equivalence of  99
  12223.          See RDC (Routeing Domain            origination and update  98
  12224.           Confederation)                     permissible sets of  98
  12225.       configuration information  65
  12226.       conformance
  12227.        requirements  184──187                +---+
  12228.       connection management between          | E |
  12229.        BISs  68──83                          +---+
  12230.       connectionRequested  163
  12231.       connectRequestBISUnknown  162       empty RIB-Att  37
  12232.       CorruptAdjRIBIn  162                encryption  215
  12233.                                           EnterFSMState  164
  12234.                                           EnterFSMStateMachine  163
  12235.          +---+                            ENTRY_SEQ  46, 102, 103, 104, 137
  12236.          | D |                            ENTRY_SET  46, 102, 103, 104,
  12237.          +---+                             137, 140
  12238.                                           error codes and subcodes  57
  12239.       decision process                    error handling  143
  12240.          overview of three phases  123    errorBISPDUconnectionclose  161
  12241.          phase 1  124                     errorBISPDUsent  160
  12242.          phase 2  124                     ESTABLISHED State  81──82
  12243.          phase 3  127                     EXPENSE  51, 114, 139, 152
  12244.       degree of preference  23, 122,      EXT_INFO  45, 101, 137
  12245.        124, 126                           external updates  132
  12246.       deployment guidelines               externalBISNeighbor  65, 68, 168
  12247.          for ESs and ISs  64
  12248.          for RDs  64
  12249.       DIST_LIST_EXCL  50, 110, 111,          +---+
  12250.        136, 138                              | F |
  12251.       DIST_LIST_INCL  49, 109, 111,          +---+
  12252.        136, 138
  12253.       distinguishing attributes           finite state machines  68──83
  12254.          derived from NPDU  150           flow control of BISPDUs  87
  12255.             matching with RIB-Att  152    Forwarding Information Base
  12256.          distinguishing path attributes    (FIB)  22, 25, 26, 132
  12257.           in UPDATE PDU  26                  default identified by Empty
  12258.             as identifier of RIBs and         RIB-Att  92
  12259.              FIBs  92                        maintenance of  141
  12260.             type specific  99
  12261.  
  12262.  
  12263.    Kunzinger                     ISO/IEC 10747                 [ Page 257 ]
  12264.  
  12265.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  12266.  
  12267.       Forwarding Information Base (FIB)   inter-domain link (continued)
  12268.        (continued)                           virtual links and inter-domain
  12269.          validation of  93                    traffic  16
  12270.       forwarding of NPDUs                    virtual links and intra-domain
  12271.          and NPDU-derived                     traffic  16
  12272.           Distinguishing                  internal updates  130
  12273.           Attributes  150                 internalBIS  65, 68, 169
  12274.          to external destinations  154    internalSystems  65, 101, 169
  12275.          to internal destinations  150    intra-domain routeing
  12276.       FSM error  69                        protocol  10, 16, 32, 65
  12277.       FSMStateChange  164                 intraIS  65, 169
  12278.                                           ISO/IEC 10589  24
  12279.                                           ISO/IEC TR 9577  56
  12280.          +---+
  12281.          | G |
  12282.          +---+                               +---+
  12283.                                              | J |
  12284.       GDMO descriptions  158──184            +---+
  12285.  
  12286.                                           jitter  134, 218
  12287.          +---+
  12288.          | H |
  12289.          +---+                               +---+
  12290.                                              | K |
  12291.       header of BISPDU  34                   +---+
  12292.       HIERARCHICAL_RECORDING  53, 115
  12293.       hold time                           KEEPALIVE PDU  60, 148
  12294.          of OPEN PDU  37                  keepAlivesSinceLastUpdate  169
  12295.       holdTime  168                       keepAliveTimer  169
  12296.       holdTimer  168
  12297.  
  12298.                                              +---+
  12299.          +---+                               | L |
  12300.          | I |                               +---+
  12301.          +---+
  12302.                                           lastAckRecv  170
  12303.       IDRP ERROR PDU  57                  lastAckSent  170
  12304.       idrpConfig  159                     lastPriorSeqNo  170
  12305.       idrpConfigID  168                   lastSeqNoRecv  170
  12306.       idrpConfigPkg-P  160                lastSeqNoSent  170
  12307.       inter-domain link                   less specific routes  128
  12308.          definition  16                   ListenForOPEN  70, 171
  12309.          real links and inter-domain
  12310.           traffic  16
  12311.  
  12312.  
  12313.    Kunzinger                     ISO/IEC 10747                 [ Page 258 ]
  12314.  
  12315.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  12316.  
  12317.       Loc-RIB  22, 25, 26, 91, 92, 95,    multiple routes in an UPDATE PDU
  12318.        141                                 (continued)
  12319.          as used by Decision                 ROUTE_ID of individual
  12320.           Process  122──129                   route  100
  12321.          default identified by Empty         ROUTE_SEPARATOR as
  12322.           RIB-Att  92                         delimiter  26, 45, 100
  12323.          validation of  93                   selecting information base for
  12324.       LOCAL_PREF  45, 122, 137                individual route  26
  12325.       LOCALLY DEFINED QOS  51, 114,
  12326.        139, 152
  12327.       localRDI  66, 119, 171                 +---+
  12328.       localSNPA  142, 171                    | N |
  12329.       locExpense  114, 171                   +---+
  12330.       LSAP  48, 56
  12331.                                           naming and containment
  12332.                                            hierarchy  158
  12333.          +---+                            neighbor BIS  30, 67
  12334.          | M |                             NET (Network entity title)
  12335.          +---+                               syntax and encoding  31
  12336.                                           network layer reachability
  12337.       maxCPUOverloadTimer  171             information
  12338.       maxPDULocal  172                       as encoded in UPDATE PDU  55
  12339.       maxPDUPeer  172                        as related to configuration
  12340.       maxRIBIntegrityCheck  93, 172           information  65
  12341.       maxRIBntegrityTimer  172               information reduction of  134
  12342.       MinBISPDULength  35, 37, 144        NEXT_HOP  46, 106, 136
  12343.       MinRDOriginationInterval  134       NLRI
  12344.       minRDOriginationTimer  173             See network layer reachability
  12345.       minRouteAdvertisementInterval  133,     information
  12346.        134, 173                           Non-transitive attribute  44
  12347.       minRouteAdvertisementTimer  173     notificationBISerrorsubcode  160,
  12348.       more specific routes  128            161, 177
  12349.       MULTI-EXIT_DISC  51, 112, 136,      notificationBISPDUerrorcode  160,
  12350.        229                                 161, 177
  12351.       multi-homed end routeing            notificationBISPDUerrorinfo  160,
  12352.        domain  17                          161, 177
  12353.       multiExit  112, 126, 173            notificationLocalRDCConfig  161,
  12354.       multiple routes in an UPDATE PDU     178
  12355.          distinguishing attributes of     notificationRemoteBISNET  160,
  12356.           individual route  100            161, 162, 164, 177
  12357.          LOCAL_PREF of individual         notificationRemoteRDCConfif  161
  12358.           route  100                      notificationRemoteRDCConfig  177
  12359.          non-distinguishing attributes
  12360.           of individual route  100
  12361.  
  12362.  
  12363.    Kunzinger                     ISO/IEC 10747                 [ Page 259 ]
  12364.  
  12365.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  12366.  
  12367.       notificationRIBIntegrityFailure  162path attributes (continued)
  12368.        178                                   as identifier for a FIB  26
  12369.       notificationSourceBISNET  162,         as identifier for a RIB  26
  12370.        163                                   as part of a route  25
  12371.       notificationSourceBISrdc  162,         categories of  97
  12372.        163, 178                              encoding in UPDATE PDU  43──55
  12373.       notificationSourceBISrdi  162,         usage rules  100──119
  12374.        163, 178                           policy, routeing
  12375.       NSAP Addresses                         detecting inconsistencies  23,
  12376.          syntax and encoding  31              122
  12377.                                                 external
  12378.                                                  inconsistencies  122
  12379.          +---+                                  internal
  12380.          | O |                                   inconsistencies  122
  12381.          +---+                               indirect expression in UPDATE
  12382.                                               PDUs  23
  12383.       OPEN PDU  36, 144                      local setting of  23
  12384.       OPEN-RCVD State  72──80                policy information base
  12385.       OPEN-SENT State  71──72                 (PIB)  18, 24, 122, 139
  12386.       OpenBISpduRDCError  161                syntax and semantics
  12387.       origination intervals for               of  234──255
  12388.        routes  134                        positioning of IDRP
  12389.       outstandingPDUs  173                   with respect to ISO 8473  10
  12390.       overlapping routes  128                within the Network layer  10,
  12391.       overload conditions                     21
  12392.          processor overload  223          PRIORITY  55, 118, 139, 174
  12393.          RIB overload  221
  12394.  
  12395.                                              +---+
  12396.          +---+                               | Q |
  12397.          | P |                               +---+
  12398.          +---+
  12399.                                           quality of service (QOS)
  12400.       packet bomb  68                        See LOCALLY DEFINED QOS
  12401.       PacketBomb  162
  12402.       partial bit  44
  12403.       passive opening of BIS-BIS
  12404.        connection
  12405.          See ListenForOPEN
  12406.       password text, untransmitted  85
  12407.       path attributes
  12408.          See also individual attributes
  12409.          aggregation rules  137──140
  12410.  
  12411.  
  12412.    Kunzinger                     ISO/IEC 10747                 [ Page 260 ]
  12413.  
  12414.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  12415.  
  12416.          +---+                            RDI (routeing domain identifier)
  12417.          | R |                             (continued)
  12418.          +---+                               syntax and encoding  31
  12419.                                           rdLRE  113, 174
  12420.       RD_HOP_COUNT  53, 117               rdTransitDelay  112, 174
  12421.       RD_PATH  46, 102, 137, 140          real link
  12422.          as encoded in UPDATE PDU  46        See inter-domain link
  12423.       RD_SEQ  46, 102, 103, 104, 137      RESIDUAL ERROR  51, 113, 138, 152
  12424.       RD_SET  46, 102, 103, 104, 137,     retransmissionTime  175
  12425.        140                                RIB REFRESH PDU  61, 94, 149
  12426.       RDC (Routeing Domain                RIB-Attributes (RIB-Att)  25, 26,
  12427.        Confederation)  18, 24, 119         92, 95, 141, 144, 146
  12428.          and HIERARCHICAL RECORDING          as coded in OPEN PDU  37
  12429.           attribute  115                     as identifier for information
  12430.          associated managed object  66        bases  26
  12431.          boundary of  120                    empty RIB-Att  37, 92
  12432.          configuration information           in RIB REFRESH PDU  61
  12433.           for  119                           matching to NPDU-derived
  12434.          definition  18                       distinguishing attribute  152
  12435.          disjoint  18, 115                   type specific  40
  12436.          entering a confederation  115,      type-value specific  40
  12437.           120                                validity  99
  12438.          exiting a confederation  115,    RibAttsSet  38, 66, 92, 144, 175
  12439.           120                             route aggregation
  12440.          formation and deletion              of NLRI  136
  12441.           of  224, 232                       of path attributes  136──137
  12442.          in OPEN PDU  40                     of the RD_PATH
  12443.          nested  18, 102, 103, 104, 115       attribute  137──140
  12444.          overlapping  18, 102, 103, 104   ROUTE-ID  45, 100, 137
  12445.          permissible policies of  119     ROUTE_SEPARATOR  45, 122, 137
  12446.          recursive nature of  25          routeing domains
  12447.          updating the RD_PATH attribute      adjacent (definition)  17
  12448.           on entry or exit  102, 103,        as part of global OSIE  23
  12449.           104                                end routeing domain  17, 24
  12450.          use of RDI to identify  25, 30      transit routeing domain  17,
  12451.       rdcConfig  102, 103, 104, 119,          24
  12452.        120, 174                           routeing information bases
  12453.       RDI (routeing domain identifier)       See Adj-RIB-In
  12454.          as encoded in RD_PATH               See Adj-RIB-Out
  12455.           attribute  46                      See Loc-RIB
  12456.          conformance to ISO 8348/Add.        See RIB-Attributes (RIB-Att)
  12457.           2  30                           routeing policy
  12458.          in updated RD_PATH                  See policy, routeing
  12459.           attributes  102, 103, 104
  12460.  
  12461.  
  12462.    Kunzinger                     ISO/IEC 10747                 [ Page 261 ]
  12463.  
  12464.    October 1993      Inter-Domain Routing Protocol (IDRP)          RFC 14xx
  12465.  
  12466.       routes                                 +---+
  12467.          as expressed in UPDATE PDU  42      | V |
  12468.          definition of  25                   +---+
  12469.          destinations  25
  12470.          path attributes  25              validation of BISPDUs  83
  12471.       routeServer  108, 175               version  176
  12472.                                           version negotiation  90
  12473.                                           virtual link
  12474.          +---+                               See inter-domain link
  12475.          | S |
  12476.          +---+
  12477.                                              +---+
  12478.       SECURITY  54, 117, 139, 152            | W |
  12479.       sequence numbers of BISPDUs  86        +---+
  12480.       size of BISPDUs
  12481.          maximum, of OPEN PDU  35, 37     withdrawing routes from
  12482.          of the entire BISPDU  35          service  42, 43, 120
  12483.       state  175
  12484.       stub end routeing domain  17
  12485.       supplyOnCreate-B  179
  12486.  
  12487.          +---+
  12488.          | T |
  12489.          +---+
  12490.  
  12491.       tie breaking  126
  12492.       totalBISPDUsIn  176
  12493.       totalBISPDUsOut  176
  12494.       TR 9575 (Routeing Framework)  10,
  12495.        21
  12496.       TRANSIT DELAY  51, 112, 138, 152
  12497.       transitive attribute  44
  12498.  
  12499.          +---+
  12500.          | U |
  12501.          +---+
  12502.  
  12503.       UPDATE PDU  42, 145
  12504.       updatesIn  176
  12505.       updatesOut  176
  12506.  
  12507.  
  12508.  
  12509.    Kunzinger                     ISO/IEC 10747                 [ Page 262 ]
  12510.