_______________________________________________________________________________

              An Introduction to Packet Switched Networks Part I
                      Written by Blade Runner on 08/20/88

                   A Telecom Computer Security Bulletin File
_______________________________________________________________________________


   1. GENERALITIES

      The  growth of data transmission  services present  more problems due to
   several  types of  protocols, either in asyncronous or syncronous ways, and
   it needs higher speeds that can allow a faster service.

      To guarantee a service with  these characteristics it is helpful to work
   on lines, making them less afflicted from line noise, and on data, with the
   adding of redundancy codes for data correction procedures;  we also have to
   find a solution that can allow the use of all protocols, either asyncronous
   or syncronous, on the same physical media in order to use the same line for
   both means.

      At  that, we  must allow  the capability  to optimize  data transmission
   systems,  by arise  the connections wires between two points, so the safety
   of the system,  in it's  globality from  computer  to  terminals,  will  be
   augmented and made as best is possible.

      The  International Standard  Organization (ISO)  has studied  a way that
   works  with all  connection needs between  computers and terminals, building
   a model to refer that can be used as common mind to develop branch reagles.

      The  ISO's model  is OSI  Architecture  (Open  System  Interconnection),
   where  "Open"  means  that system is  open to other systems  that have well
   fixed standards.

      In that architecture a data transmission system, meant as globality from
   computer  to transmission line, is sub-divided into seven levels,  each one
   is doing a colloquial  protocol  with  an  analogous  level  that look  for
   interconnection  between the  two, following  a logical  wire equal to this
   which is shown in the following scheme:

            A                                     B

       +----------+                          +----------+
       |    7     |< ---------------------- >|    7     |
       |----------|                          |----------|
       |    6     |< ---------------------- >|    6     |
       |----------|                          |----------|
       |    5     |< ---------------------- >|    5     |
       |----------|                          |----------|
       |    4     |< ----------------------->|    4     |
       |----------|       +----------+       |----------|
       |    3     |< --- >|          |< --- >|    3     |
       |----------|       |----------|       |----------|
       |    2     |< --- >|          |< --- >|    2     |
       |----------|       |----------|       |----------|
       |    1     |< --- >|          |< --- >|    1     |
       +----------+       +----------+       +----------+
                               |
                               V

                Physical device of interconnection

      The seven levels are called:

          Application Level    -   7
          Greeting Level       -   6
          Session Level        -   5
          Carrying Level       -   4
          Network Level        -   3
          Line Level           -   2
          Physical Level       -   1

      The higher levels are strictly wired to the computer world and intellig- 
   ent terminals  (levels 5,6 and 7)  while lower levels are wired  to network
   interconnection problems, about transmitting devices and error correction.

      The  physical device  of interconnection  between two  OSI systems  will
   provide a three-level structure,  making able the structurization of a net,
   e.g., that of following figure:

             users                             users
    +-----+  | | |                             | | |
    | OP1 |  | | |                             | | |
    +-----+ +------+                         +------+
       |____| city |<----------------------->| city |
        ____|  A   |                         |  B   |____
       /    +------+                         +------+    \
       |        |    \                       /   |       |
       |        |      \                   /     |       |
       |        |        \               /       |       |
       |        |          \           /         |       |
       |        |            \       /           |       |
       |        |              \   /             |       |
       |        |                X               |       |
       |        |              /   \             |       |
       |        |            /       \           |       |
       |        |          /           \         |       |
       |        |        /               \       |       |
       |        |      /                   \     |       |
       |        |    /                       \   |       |
       |    +------+                         +------+    |
       |    | city |<----------------------->| city |    |
       |    |  C   |                         |  D   |    |
       |    +------+                         +------+    |
       |             \                     /             |
       |                \               /                |
       |                    \         /                  |
       |                      +------+                   |
       \--------------------->| city |<-----------------/
                              |  E   |----\
                              +------+  +------+
                               | | |    | OP2  |
                               | | |    +------+
                               users


      We can make the following assumptions about the above structure:

      a)  The net  is composed by a certain number of devices (in table: A, B,
   C,  D, E), called nodes, connected between themselves at high speed so that
   operator "1" can connect to operator "2" by  several ways,  following  more
   than  1  directive  (e.g. "A, C, E"  or "A, C, D, E"  or "A, B, D, E")  and
   following traditional system he can use only one way, the "A,E" connection;

      b) The user doesn't need more than one physical line in his "possession"
   when connecting (e.g. OP1 with OP2), but only of links to network (in table
   1 links to the "A and E" nodes) with short wiring, that are possible with a
   modem at base band then at low prices.

      The  structure that is nearest to the OSI model is called "PSS"  (Packet
   Switching  Network) and was analyzed from CCITT (International Consultative
   Commitee for Telephonist and Telegraphy) with the X25 recommendation.  This
   recommendation defines the interface  between DTE (Data Terminal Equipment)
   and DCE  (Data Circuit Terminating Equipment) for  terminals that work with
   the PSS net.

      The  DTE is strictly known as the source (or the receiver) of data pack-
   ets to (or from) the network and physically can be a Host computer, a Front
   End Processor or an Intelligent terminal.

      The  DCE, strictly talking, as common consent, is the device that  maybe
   converts these packet-signals received from  DTE in  a way  that  might  be
   transmitted  on lines  (e.g. the modem, the TDM, the line couplers), but in
   the sense used  by X25, it can be assumed the means of node access or swit-
   ching node to which DTE is connected.

      The  X25 recomendation  is therefore  the local  interface between a DTE
   and a DCE (see next table).

      +----------------+    +------------------+    +-----------------+
      | Computer       |<-->| network          |<-->| Intelligent     |
      |                |    |                  |    |  terminal       |
              |                  |         |               |
              |                  |         |               |
              |                  |         |               |
              |     X.25         |  X.75   |   X.25        |

      The above table is composed by several blocks, which we can observe as:

      |   Host      |  FEP       |
      |<----------->|<---------->|    .
      |             |            |    .
      +-------------+------------+    . +---------------------------------+
      |             |            |    . |            modem        --------|
      | characters  |  X.25      |====.======|----> -----z----<---|       |
      |  generator  |  generator |    . |                         | node  |
      |             |            |    . |                         |_______|
      |-------------+------------+    . +---------------------------------|
                    |                 .                                   |
                    |     DTE         .                                   |
                    |<--------------->.<--------------------------------->|
                    |                                                     |
                    |<--------------------------------------------------->|
                    |                                                     |

      We can see in "table 2" wires in the network domain are marked as  X.75.
   The CCITT has  issued  this  X.75  recomendation  (control  procedures  for
   transit  calls or  terminals and  data transfer  systems  on  international
   calls  between PSS  networks) that  usually is used  only for international
   calls but can be used in country calls for interconnection between nodes.

      The  X.25 recomendation  is not  valid to  simple terminals (start-stop)
   and  ACPs (Packet  Adapter-Concentrator or  PAD) that  can be  connected to
   public data networks.  Standards for  these  devices are  regulated by  X.3
   recommendation (Protocol converters/adapters),  X.28 (DTE/DCE Interface for
   start-stop  terminals who logon to  ACP on a structured network in national
   places) and X.29  (exchange procedure  for  information  control  and  data
   between ACP and X.25 terminal or other ACP).

   2. X.25 STRUCTURE

      In the "X.25 Interface", three levels are defined.  Each level procedure
   uses functions offered by the other level as soon under, but they dont care
   how the  lowest level is to be  implemented.  This is so  that a particular
   can be implemented in any of several levels,  so long as it will obtain the
   final results.

      In addition,  the X.25 recommendation  will specify protocols  and rules
   that will decide the information exchange between  simiar levels in DTE and
   DCE, which can be understood from the next table:

              |           DTE            |
              |<------------------------>|
              |                          |
      --------+-------+-------+-------+  |        +-------+-------+-------+
      .       | level | level | level |  |        | level | level | level |
      .       |   3   |   2   |   1   |--|->==<---|   1   |   2   |   3   |
      --------+-------+-------+-------+  |        +-------+-------+-------+
          |       |       |       | X.21 |                    |       |
          |       |       |       | bis  |                    |       |
          |       |       |       |<---->|                    |       |
          |       |       |<--------------------------------->|       |
          |       |                 HLDC Connection                   |
          |       |<------------------------------------------------->|
          |                    Packet level X.25
          |<------------------------------------------------------------...
                             Talking protocol

      Every level will accumulate information from the lower level and it will
   add a header with eventual redundancy codes before to  make the information
   transmitted  through present  the  interface from the  lowest level using a
   step by step structure as shown in the next table (block 1 is inserted into
   block 1 and so on).


   LEVEL 1

      Physical   Interface:   this   defines   the   electric   and   physical
   characteristics of  the interface going on  the used  line or switched line
   into  network.  Voltage tensions, connectors used, and transmission methods
   are defined in level 1.  The most important characteristic of this level is
   that it supplies a point-to-point  transmission,  full-duplex,  for digital
   transmission.

   LEVEL 2

      Access  to connection  procedure: (LAP = Link Access Procedure or LAPB =
   Line  Access  Procedure  Balanced).  This  level  will  specify  a  control
   procedure on data to correct mistakes  due to  physical level.  It includes
   control methods of Network Congestions during the DTE and DCE exchange.

      This uses the media known as HDLC protocol (High Level Data Link Control
   defined  from ISO as the header building as an  activation procedure of the
   connection.

                                 +---------------+
                                 | message with  |
                                 | destination   |
                                 +---------------+
                                         |
                                         |  packet level
                                         |
                                         V
                        +-------+----------------+
                        | packet|                |
                        | header|                |
                        | start |                |
                        +-------+----------------+
                                         |
                                         |  connection level
                                         |
                                         V
               +--------+------------------------+---------+
               | HLDC   |                        .  CRC    |
               | header |    information         .         |
               | start  |                        .         |
               +--------+------------------------+---------+
                                         |
                                         |
                                         |
                                         V
      +--------+-------------------------------------------+------+........
      |        |                                           |      | next
      |  flag  |                                           | flag | header
      |        |                                           |      |
      +--------+-------------------------------------------+------+........
                                                 |
                                                 |
                                                 |
                                                 V
      +-------------------------------------------------------------------+
      |                                                                   |
      |         bit string                                                |
      |                                                                   |
      +-------------------------------------------------------------------+

   LEVEL 3

      Packet  Level:  this  level is  the  higest  and  specifies the way that
   information  are packet  structured and the  procedure in  which to proceed
   with connections.  It has the function to Concentrator because it can mult-
   iplex a number of logical channels  into a unique physical channel,  mixing
   packets  coming from  differents channels.  Each  logical  channel  has  an
   independent control regarding packets and has a CRC for each channel.

   Virtual circuits

      The Third level has virtual channels, that are bi-directional associat-
   ions between two DTE; via these associations packets are exchanged.

      It is like, via the several nodes in the network, a dedicated link betw-
   ween the two DTE.  These virtual circuits maybe temporary, and in this case
   they  are  called  "switched  Virtual  Circuits"  (SVC)  or  fixed,  called
   "Permanent Switched Circuits" (PVC).

   3. LEVEL 1 - Physical interfacing

      This  level is  specified from  physical characteristics  of CCITT  X.21
   recommendation  (physical interface  between  DTE and  DCE; for asychronous
   operations  on data) and X.21bis (data network usage for designed terminals
   to  interface with  syncronous modems  of series V) used in a provisory way
   to afford to use modems  actually on market.  Upon mentioned recomandations
   are  not depending on the  transmission device  as they  provide  that  DCE
   (modem  or line  coupler) will  be the  part  that takes  care  of the line
   technology.

      The X.21 CCITT recomandation declares:

      -  Physical characteristics  about the interface, the type of connectors
   and the wire assignment (X.24, 8 ways, 15 pin);

      -   electrical  characteristics   of  signals   (X.26  and   X.27  CCITT
   characteristics as EIA RS 423 and RS 422 respectively);

      - the serial asyncronous transmission;

      -  wires that  must be point-to-point, working in full-duplex (from that
   we can understand we cannot work in a multi-point structure);

      - the necessary procedures to afford a switched connection;

      - the necessary procedures to afford a dedicated connection.

      The  level 1  will consider  only first  4 points  suggested from  X.21,
   all others are of level 3.

      Table 6 shows the circuitry,  for functions exchange,  provided from the
   X.24 recommendation of CCITT.

      This  interface is  absolutely transparent  to data  transfers thanks to
   special  C and  I lines  that are used to  determine if the data on T and R
   lines are controls signals or data signals.

      The  X.21 recommendation  is supplied  for interfacing devices at digital
   level,  so it is difficult  to use  for moment,  the temporarly  is used the
   X.21bis  recommendation that is compatible with actual series V modems.

      Electrical  characteristics about iterfacing circuitery  for speeds less
   than  20 kbit/s  are conform  to V.28  recomandation of CCITT that use a 25
   pins  connector with  pins as  standard from ISO with scheme # 2110 or with
   X.26  recomandation that  provide a  37 pins  connector with  ISO  standard
   scheme  at # 4902.  It is up to the local administrators to choose the con-
   nector types and the interfacing type to offer as part of their service.

                        user                                Network
             |<--------------------------------------->|<--------------->
      +-------------+                 +--------------+ |  +---------------+
      |             |<-(T) xmit data->|              | |  |               |
      |             |<-(C) control--->|              |-|->|               |
      |   DTE       |<-(R) rec'd data>|   DCE        | |  |    node       |
      |             |<-(I) info------>|              | |  |               |
      |             |<-(S) time base->|              |<|--|               |
      |             |                 |              | |  |               |
      +-------------+       |         +--------------+ |  +---------------+
                            |
                   ---------------------
                     Interfacing point

      To obtain speeds in exceess of 20 kbit/s the electrical characteristics
   are following what is provided by the V.35 recommendation that uses 34 pin
   connectors as ISO standard draw #2593.  The table's indicating interfacing
   circuits considered by X.21bis recommendation.


      Interface Circuit              Description

            102                           Signal ground
            103                           Send data
            104                           Received data
            105                           Transmission request
            106                           Ready to transmit
            107                           DCE Ready
            108/2                         DTE Ready
            109                           Carrier detector
            114                           Time base for transmission
            115                           Time base for receiving
            140                           Loop remote probe
            141                           Local loop probe
            142                           Running test

   4. LEVEL 2 - Link procedures

      This level is a "point-to-point" link, and is normally known as the
   "frame level" or "header level".

      It follows terminologies and is under options specified from ISO HLDC
   protocol.

   4.1 Level 2 functions

      Level 2 transforms to a  physical circuit than can be affected by errors
   in a logical connection between  DTE and the network, a link  that  can  be
   understood as released from an error happening: this  defines a  correction
   level  based on  automatic request  about echoing as data is not considered
   as  transmitted since  an error  is  received  or  a  receive  confirm  has
   been received.  Only fully completed data are accepted from receiver.

      In addition, this level will provide the  ways for the  recognizing of a
   start  and end  header,  the error  recognizes  about  a  bit  (via  a  CRC
   computation) and the loss of header (by count headers).

      Basic directives of the system will provide:

      -  the "bit oriented" and  no "char oriented" structure: this means that
   information may be contained also in only one bit, and we are released from
   a  certain bit  multiple as  in the  "character oriented  way" in which the
   information (character is linked to a table (e.g. ASCII 7 bit).

      -  the existence  of CRC  ad each end of header and sequential numbering
   of headers.

      - the correction of error by the re-transmition of data.

      -  the primary  and secondary  station definition without any particular
   priority of the start of transmission.

      - complete full duplex.

      The wire specific at level 2 are the point-longs :

      1)  the structure  of header: meant as format of header, then as length,
   as CRC computation point, as sincronicity character;

      2)  procedure elements:  allowed commands, answers and actions that must
   be taken following the cases: these operations follow the HDLC;

      3)  class of  long procedure:  the HDLC will provide a certain number of
   cases about the classes and procedures of link following the  configuration
   type  and operating  way; the  X.25 recomandation uses two classes  of link
   procedures (see table 7):

         - simmetric, usually called LAP (link access procedure),

         - balanced, usually called LAPB (link access procedure balanced).

      +----------------+                          +-------------------+
      | primary source |                          | receiver          |
      |        A       |-->OO                OO-->|         A       |
      +----------------+< >OO----------------OO   +-------------------+
                         X                     \ /
                        / \                     X
      +----------------+   OO----------------OO< >+-------------------+
      | receiver       |   OO                OO<_ | primary source    |
      |         B      |<_/                      \|        B          |
      +----------------+                          +-------------------+

                            Simmetric LAP configuration


                  DTE                                 DCE
      +----------------------------+     +-----------------------------+
      |    source   |              |     |             |  receiver     |
      |             |  primary or  |     |  primary or |               |
      |             |   secondary  |====>|   secondary |               |
      |-------------|   combinator |     |   combinator|---------------|
      |  receiver   |              |     |             |  source       |
      |             |              |<====|             |               |
      +----------------------------+     +-----------------------------+

                            Balanced LAPB configuration

      In  the first case the running can be compared with half-duplex running,
   in  the mean  that initialization  is done  before in a way and then in the
   other,  before an  error the  channel can  be re-initialized  without other
   aid. This can cause, in some operating conditions, malfunctioning phenomena
   (see table 8).

      The  LAPB procedure will  have  none of these  malfunctions because only
   with a command will these do the re-initialization to both sides.

      The B station will re-initialize, but primary station A can not perceive
   therefore  it  has  not requested  no one  correct recognizing of secondary
   station.  In this way we obtain a reset of counters only in one way.

   Instant 1,2                                         Normal Running
   /----------                                         ---------------\
   |                                                                  |
   |  +-----------+             Information           +------------+  |
   |  | Primary A |---------------------------------->| Secondary  |  |
   |--|           |<----------------------------------|        A   |--|
   |  +-----------+         Correct receiving         +------------+  |
   |                                                                  |
   |                                                                  |
   |                                                                  |
   |                                                                  |
   |  +-----------+             Information           +------------+  |
   |  | Secondary |---------------------------------->| Primary B  |  |
   \--|        B  |<----------------------------------|            |--/
      +-----------+         Correct receiving         +------------+



   Instant 3,4                                       Abnormal Running
   /----------                                       -----------------\
   |                                                                  |
   |  +-----------+         Don't transmit            +------------+  |
   |  | Primary A |---------------------------------->| Secondary  |  |
   |--|           |<----------------------------------|        A   |--|
   |  +-----------+                                   +------------+  |
   |                                                                  |
   |                                                                  |
   |                                                                  |
   |                                                                  |
   |  +-----------+    Reset (due to line error)      +------------+  |
   |  | Secondary |---------------------------------->| Primary B  |  |
   \--|        B  |<----------------------------------|            |--/
      +-----------+           Confirm                 +------------+


   4.2 Header Structure

      In the next table his supplies the Header structure.


        8 bit      8 bit     8 bit     variable => 0    16 bit      8 bit
   +----------+----------+----------+-------......---+-----------+----------+
   |  Flag    | Address  | Control  | Information    | CRC Code  | Flag     |
   | 01111110 |          |          | (data or ctrl) |           | 01111110 |
   +----------+----------+----------+-------......---+-----------+----------+
              |   Header start      |                            |
              |<------------------->|                            |
              |                                                  |
              |            Stored bits                           |
              |<------------------------------------------------>|
              |                                                  |

      The above table  shows that the  information field  provides  a variable
   length but that length can't be a 8 multiple.

      The  Flag sequence  (01111110)  defines header boundaries and it  can be
   used to close a header and open another.

      The  same is also used as a syncro  character and  can be put a  on line
   when no one information header is yet present.

      A header is not recognized it  it does not have at its  start and at its
   end flag sequence, and if within there are not at least 32 bits present  (8
   for address, 8 for control and 16 as CRC).

      The  address was originally used from HLDC  as an addressing function in
   case  of "multiple-point" wiring.  The X.25 recomandation will provide that
   the  address function  is used only to  be able to distinguish commands and
   replies in both  ways.  Its function  is rendondancy,  because there exists
   some control bits to that specific function,  but it can be used for addit-
   ional  researching  of errors.  Therefore it can  distinguish data  flow in
   both ways and it can then recognize immediately some line loops.

      Two are recognized addresses

                                   A = 00000011

      will  determine commands  header from DCE to DTE and answer headers from
   DTE to DCE.

                                   B = 00000001

      will  determine commands  header from DTE to DCE and answer headers from
   DCE to DTE.

      The CONTROL field will identify headers and contain the count of them.
      Three header types can be sended in line:

      1) Information headers (I): are there who contains usefull data;

      2)  Supervision headers  (S): are  there only  for control, used e.g. to
   confirm a right receive, or for temporary hold of transmission;

      3)  Numbered headers  (N): used  e.g. as initialization of connection or
   as  closer ot  connection:  they  have  not  CRC  sequences,  because  they
   transfer a know information, and did not provide neither an header count.

      The  format about  control field  will identify  these three  headers as
   shown in next table:


     Thus concludes the Part 1 of the TCSB Introduction to Packet Switched
          Networks.  Now go grab a hold of Part 2 and learn something.

_______________________________________________________________________________
$