home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Standards 1993 July / Disc.iso / misc / merit / noop / tutorial / esisint.doc / text0000.txt < prev   
Encoding:
Text File  |  1991-04-01  |  16.4 KB  |  370 lines

  1. Sue:
  2.   I've formatted esis.intro.doc to have more uniform margins.
  3.   Cheers,
  4.     -- Guy
  5.  
  6.  
  7.  
  8.  
  9.     A tutorial on the ES-IS protocol
  10.  
  11.  
  12.  
  13. by: Robert Hagens
  14.     University of Wisconsin 
  15.     hagens@cs.wisc.edu
  16.  
  17.  
  18.  
  19. Introduction
  20.  
  21.  
  22.  
  23.     On a typical OSI subnetwork, computers (systems) generally fall 
  24.     into two classes: End Systems (ES) and Intermediate Systems (IS). 
  25.     This classification is made from a layer point of view: both
  26.     systems contain the OSI layers 1 (physical) through 3 (network).
  27.     However, an ES also contains OSI layers 4 - 7. An IS does not. ****
  28.  
  29.     [**** Footnote: The distinction between ESs and ISs is gray when
  30.     real systems are considered. For example, although an IS may 
  31.     primarily route packets, it may also have layers 4 - 7 present in
  32.     order to operate network management protocols.] 
  33.  
  34.     The basic idea is that ESs are systems that run applications that
  35.     send and receive packets of information and ISs are systems that
  36.     route the packets from source to destination. This general concept
  37.     can be readily subdivided into two cases. The first case occurs
  38.     when the source and destination ES are connected to the same
  39.     subnetwork (see Figure 1, host A communicating with host B). Since
  40.     A and B are on the same subnetwork, packets may flow directly
  41.     between them without the intervention of an IS.  The second case
  42.     occurs when the source and destination ES are not connected to the
  43.     same subnetwork (Figure 1, host A communicating with host C). It is 
  44.     important to note that in the second case, packets flowing from
  45.     A to C must be fowarded from one subnetwork to the other by IS D.
  46.  
  47.     The End System to Intermediate System routing exchange protocol
  48.     (ISO 9542) is designed to aid the two types of communication 
  49.     between ESs and ISs described above. The protocol provides a means
  50.     for ESs and ISs on a subnetwork to learn of each other's existence.
  51.     This process, known as *configuration*, allows ESs and ISs to
  52.     dynamically determine the existence of each other. The dynamic
  53.     quality of the protocol eliminates the need for manual
  54.     configuration of the different types of systems on a subnetwork.
  55.     In addition to promoting the exchange of configuration information,
  56.     the protocol provides a means for route *redirection* information
  57.     to be sent from an IS to an ES. This allows an IS to inform an ES
  58.     of a potentially better route towards a destination.
  59.  
  60.     As explained below, the ES-IS protocol distinguishes different
  61.     types of subnetworks.  The operation of the protocol is quite
  62.     different on each type of subnetwork.  The difference between the
  63.     broadcast subnetwork (i.e., 802.3) version and the general topology
  64.     subnetwork (i.e., X.25) version is so large that there are two
  65.     distinct versions of the protocol defined.  This article will not
  66.     describe the operation of ES-IS over X.25. Rather, it will concern
  67.     itself with the operation of the ES-IS protocol when it is used in
  68.     conjunction with the OSI connectionless-mode network protocol
  69.     (ISO 8473).
  70.  
  71. Configuration Information
  72.  
  73.     Configuration information is transmitted by exchanging two types of
  74.     packets: the End System Hello (ESH) packet is generated by ESs and 
  75.     transmitted to every IS on the subnetwork.  The Intermediate System
  76.     Hello (ISH) packet is generated by ISs and transmitted to every ES
  77.     on the subnetwork. The primary purpose of the hello packets is to
  78.     convey the subnetwork and network layer address of the system that
  79.     transmitted the packet. The ESH and the ISH packets are generated
  80.     by a system when the system's configuration timer expires.  When
  81.     the timer expires, a hello packet is transmitted and the timer
  82.     reset to its initial value. The initial value of the timer is
  83.     maintained locally by the system.  The interval between
  84.     transmission of hello packets may be modified by adjusting this
  85.     timer.
  86.  
  87.     The configuration interval must be coordinated with the value of
  88.     the holding timer that is transmitted with the hello packet.  The
  89.     holding timer indicates to the receiving system the number of
  90.     seconds that the configuration information should be kept.  When
  91.     the holding timer expires, the associated configuration information 
  92.     must be deleted. If the holding timer is smaller than the
  93.     configuration timer, systems may "disappear" from the subnetwork
  94.     for periods of time. 
  95.  
  96.  
  97. Redirection Information
  98.  
  99.     Redirection information is transmitted via a RD PDU. These PDUs are
  100.     only generated by ISs. The purpose of an RD PDU is to inform an ES
  101.     of a potentially better route towards its destination. 
  102.  
  103.     During the forwarding process, an IS will determine the next system
  104.     to which the packet should be sent. If an IS can determine that
  105.     this "next hop" system can be reached directly, without the IS's
  106.     intervention, then a RD PDU will be sent from the IS to the
  107.     originator of the packet.
  108.  
  109.     The RD PDU may redirect an ES to either the destination ES or to a
  110.     different IS. The lifetime of the information conveyed by the RD
  111.     PDU is limited by a holding timer, just like the hello PDUs.
  112.  
  113.     Normally, the redirection information delivered in an RD PDU is
  114.     specific to a single destination address.  However, as an option,
  115.     it is possible for an RD PDU to indicate that the redirection
  116.     information should be applied to a larger number of destination
  117.     addresses.  This is accomplished by including an address mask which
  118.     indicates the larger population of destination addresses.
  119.  
  120. Subnetwork Topology Considerations
  121.  
  122.     The ES-IS protocol identifies 3 common subnetwork topologies: a
  123.     point-to-point subnetwork, a broadcast subnetwork, and a general
  124.     topology subnetwork. The point-to-point subnetwork supports
  125.     exactly two systems. The broadcast and general topology subnetworks
  126.     support an arbitrary number of systems. The crucial difference
  127.     between the latter two types is the cost of sending a packet to a
  128.     large subset of the subnetwork population. If the cost of such an
  129.     *n-way* transmission scales directly with the subset size, then the
  130.     subnetwork topology is considered general (a common example is an
  131.     X.25 subnetwork).  If the cost of an *n-way* transmission is close
  132.     to the cost of a transmission to a single system, then the topology
  133.     is broadcast (a common example is 802.3).  This difference affects
  134.     the transmission of configuration information.
  135.  
  136.     Ideally, configuration information is sent to many systems on the 
  137.     subnetwork simultaneously.  When operating on a broadcast
  138.     subnetwork, ESHs are sent to a special multicast address "all
  139.     intermediate systems".  ISHs are sent to a special multicast
  140.     address "all end systems".  This multicast address may be realized
  141.     physically as a true multicast or as a broadcast to every system.
  142.     When operating on a general topology subnetwork, configuration
  143.     information is generally not transmitted due to the high cost of a
  144.     multicast transmission.
  145.  
  146. Network and Subnetwork Addresses
  147.  
  148.     The addresses described so far have been network layer addresses.
  149.     There are actually two different kinds of addresses that the ES-IS
  150.     protocol conveys: network layer addresses and subnetwork addresses. 
  151.  
  152.     Network layer addresses identify either the interface between layer
  153.     3 and layer 4 in an OSI ES (called a Network Service Access Point,
  154.     NSAP), or the network layer entity itself in an OSI IS (called a
  155.     Network Entity Title, NET).  NSAP addresses and NETs are part of a
  156.     name space which spans all OSI networks.
  157.  
  158.     These network layer addresses can be contrasted with a subnetwork
  159.     point of attachment address (SNPA address).  The SNPA is the point
  160.     where an ES or IS is physically attached to a subnetwork.  The SNPA
  161.     address is used by the subnetwork to uniquely identify each system
  162.     attached to the subnetwork.  For example, in an 802.3 subnetwork,
  163.     the SNPA address corresponds to the 48 bit MAC address.
  164.  
  165.     When an ES or IS transmits a packet, it is necessary to determine
  166.     the destination SNPA address.  This is generally accomplished by
  167.     associating a NSAP address or NET with a specific SNPA address. 
  168.     Part of the configuration information transmitted by the ES-IS 
  169.     protocol is this NSAP address (or NET) to SNPA address mapping.
  170.  
  171. Operational Scenarios
  172.  
  173.     It is often useful to consider real-life scenarios in order to get
  174.     an intuitive idea of how a protocol operates. In the following
  175.     examples, please refer to Figure 1. Furthermore, assume that the
  176.     subnetworks in Figure 1 are broadcast subnetworks and that capital
  177.     letters are NSAP & NET addresses, whereas lower letters are
  178.     corresponding SNPA addresses.
  179.  
  180.     Example 1:
  181.     ES A wishes to send a packet to ES C.  ES A knows about IS D
  182.     because it receives periodic ISH packets from IS D. Since D is an
  183.     IS, and ISs should know how to route packets toward any
  184.     destination, ES A will send its packet directly to IS D.  In
  185.     addition to knowing that IS D is an intermediate system, ES A also
  186.     knows the SNPA for IS D.  This information was taken from the ISH
  187.     received from IS D.  Result: ES A sends the packet to IS D at SNPA
  188.     d and IS D forwards the packet to ES C.
  189.  
  190.     Example 2a:
  191.     ES A wishes to send a packet to ES B.  As in example 1, ES A knows
  192.     about IS D due to receipt of ISH packets from D. Therefore, ES A
  193.     will send its packet to IS D at SNPA d. IS D has knowledge about
  194.     both ES A and ES B because it receives ESH packets from both.  When
  195.     IS D receives the data packet from ES A, it computes that ES B is
  196.     reachable via the same subnetwork as ES A, and forwards the data
  197.     packet to ES B.  In addition, IS D computes that ES A could have
  198.     sent the packet directly to ES B.  IS D notifies ES A of this fact
  199.     by sending a RD PDU to ES A.  This RD PDU indicates that ES B may
  200.     be reached by sending packets directly to SNPA b.  Further packets
  201.     sent by ES A to ES B are directed toward ES B.
  202.  
  203.     Example 2b:
  204.     This is the same scenario as 2a, but with a twist.  Assume that ES
  205.     A's routing information states that ES B is on the *same
  206.     subnetwork* as ES A. The only problem is that ES A does not know
  207.     the SNPA for ES B.  ES A has two choices.  As in 2a, it could send
  208.     the packet to IS D and receive a redirect.  Or, as an optimization,
  209.     ES A could listen to ESH PDUs sent on the subnetwork.  If ES A
  210.     eavesdropped, it would know the SNPA of B. ES A could then transmit
  211.     the packet directly to ES B at SNPA b.
  212.  
  213.     Example 3:
  214.     Similar to scenario 2b, assume that ES A wishes to send to ES B.
  215.     In addition, ES A knows that ES B is on the same subnetwork.
  216.     Furthermore, assume that ES A does not eavesdrop and IS D does not
  217.     exist.  How can ES A determine the SNPA of ES B? In this situation,
  218.     ES A will invoke a function of the ES-IS protocol called query
  219.     configuration.  To do this, ES A will *broadcast* its *data* packet
  220.     to all ESs on the subnetwork.  When ES B receives this broadcasted
  221.     packet, it will note: 1) that the packet is a data packet sent to a
  222.     broadcast SNPA address; 2) that the destination NSAP address of the
  223.     broadcasted packet is ES B.  In this case, ES B will generate an
  224.     ESH packet and send it directly to ES A.  This packet will inform
  225.     ES A of the SNPA of ES B.
  226.  
  227.     A commonly asked question, when considering example 3, is "If ES A
  228.     does not eavesdrop ESH packets, how can it receive the ESH sent
  229.     directly by ES B ?" The key to the answer is SNPA addresses.  When
  230.     an ES eavesdrops, it *enables* the reception of packets addressed
  231.     to the multicast address "all intermediate systems" (because end
  232.     systems send their ESH packets to the multicast address "all
  233.     intermediate systems").   When ES B sends an ESH to ES A, it sends
  234.     it directly to SNPA a. ES A will receive this packet even if the
  235.     "all intermediate systems" multicast address is not enabled.
  236.  
  237. PDU formats
  238.  
  239.     Figure 2 and 3 show the format of the ESH and ISH packets.  The
  240.     format of these packets is very similar: they both have a fixed
  241.     header which is almost identical to the fixed part of an ISO 8473
  242.     (CLNP) packet.  Following the fixed part, each hello packet has
  243.     space to store a network address.  Note that an ESH has space for
  244.     more than 1 NSAP address, (since an ES may support several NSAPs)
  245.     whereas an ISH has space for only 1 NET.
  246.  
  247.     The discerning reader will note that there is no place in either
  248.     the ESH or ISH packet to store an SNPA address.  How can this
  249.     information be transmitted from system to system?  The answer lies
  250.     in the subnetwork service definition. By fiat, when a packet is
  251.     delivered by a subnetwork service, the delivery will include not
  252.     only the data packet but also the subnetwork source and destination
  253.     address.  Thus, when processing an ESH, the SNPA associated with
  254.     the ES is taken from the *source SNPA address* which accompanies
  255.     the delivery of the ESH.
  256.  
  257. Comparison to DoD Protocols
  258.  
  259.     The ES-IS routing exchange protocol does not have an exact
  260.     counterpart in the DoD protocol suite.  The configuration
  261.     information exchange function is similar to the function of the
  262.     Address Resolution Protocol (ARP, RFC 826).  However, ARP was
  263.     designed around an "on demand" approach, that is, query when the
  264.     information is needed.  This is in contrast to ES-IS where the
  265.     design is based around continual update messages (hello packets).
  266.     It should be noted that the query configuration function (shown in
  267.     example 3) is somewhat analogous to the ARP "on demand" approach.
  268.     However, unlike ARP, query configuration requires that the entire
  269.     data packet, rather than an ARP request, be broadcast on the
  270.     subnetwork.
  271.  
  272.     The counterpart to the ES-IS redirection information function in
  273.     the DoD protocol suite is the redirect message defined by the ICMP
  274.     protocol (RFC 792). These two approaches to redirect differ in that 
  275.     ES-IS allows the target of a redirect to be either an ES or IS
  276.     whereas an ICMP redirect can only refer to a gateway.
  277.  
  278.  
  279. =============================================================================
  280.  
  281. Figure 1
  282.  
  283.           +-------+
  284.           |       |
  285.           | ES A  |------|
  286.           |       |      |               
  287.           +-------+      |               
  288.                          |               
  289.                          |   +-------+   |
  290.                          |   |       |   |
  291.                          |---| IS D  |---|
  292.                          |   |       |   |
  293.                          |   +-------+   |     +-------+
  294.                          |               |     |       |
  295.           +-------+      |               |-----| ES C  |
  296.           |       |      |                     |       |
  297.           | ES B  |------|                     +-------+
  298.           |       |
  299.           +-------+
  300.  
  301. =============================================================================
  302.  
  303. Figure 2
  304.  
  305.     The ESH Packet Format
  306.  
  307. +-------------------------------------------------------------+
  308. |               Network Layer Protocol Identifier
  309. +-------------------------------------------------------------+
  310. |                Length Indicator
  311. +-------------------------------------------------------------+
  312. |                Version/Protocol Id extension
  313. +-------------------------------------------------------------+
  314. |                Reserved
  315. +-------------------------------------------------------------+
  316. |  0  | 0 | 0 |   Type of Packet
  317. +-------------------------------------------------------------+
  318. |               Holding 
  319. |               Time
  320. +-------------------------------------------------------------+
  321. |               Checksum
  322. |
  323. +-------------------------------------------------------------+
  324. |               Number of Source Addresses
  325. +-------------------------------------------------------------+
  326. |               Source Address Length
  327. +-------------------------------------------------------------+
  328. /
  329.                 Source Address
  330. /
  331. |
  332. +-------------------------------------------------------------+
  333. .
  334. .
  335. +-------------------------------------------------------------+
  336.  
  337.  
  338. =============================================================================
  339.  
  340. Figure 3
  341.  
  342.     The ISH Packet Format
  343.  
  344. +-------------------------------------------------------------+
  345. |               Network Layer Protocol Identifier
  346. +-------------------------------------------------------------+
  347. |                Length Indicator
  348. +-------------------------------------------------------------+
  349. |                Version/Protocol Id extension
  350. +-------------------------------------------------------------+
  351. |                Reserved
  352. +-------------------------------------------------------------+
  353. |  0  | 0 | 0 |   Type of Packet
  354. +-------------------------------------------------------------+
  355. |               Holding 
  356. |               Time
  357. +-------------------------------------------------------------+
  358. |               Checksum
  359. |
  360. +-------------------------------------------------------------+
  361. |               Network Entity Title Length
  362. +-------------------------------------------------------------+
  363. /
  364.                 Network Entity Title
  365. /
  366. |
  367. +-------------------------------------------------------------+
  368.  
  369.  
  370.