591 lines
30 KiB
Plaintext
591 lines
30 KiB
Plaintext
|
||
_______________________________________________________________________________
|
||
|
||
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.
|
||
|
||
_______________________________________________________________________________
|
||
$ |